From cc0a9bad8b647954be43bd8184d04e790a257227 Mon Sep 17 00:00:00 2001 From: wothke Date: Sat, 8 Jun 2019 18:24:35 +0200 Subject: [PATCH] update to 0.40.9 --- emscripten/built/chips.bc | Bin 863716 -> 913124 bytes emscripten/built/main.bc | Bin 153696 -> 156440 bytes emscripten/htdocs/backend_vgm.js | 20 +- emscripten/makeEmscripten.bat | 5 +- emscripten/makeEmscriptenStripped.bat | 2 +- src/.gitignore | 4 + src/ChipMapper.c | 26 +- src/Makefile | 300 ++ src/Stream.c | 8 +- src/VGMPlay.c | 305 +- src/VGMPlay.dsp | 1120 +++++++ src/VGMPlay.dsw | 29 + src/VGMPlay.h | 2 +- src/VGMPlay.ini | 351 +++ src/VGMPlay.sln | 26 + src/VGMPlay.txt | 11 +- src/VGMPlay.vcxproj | 345 +++ src/VGMPlay.vcxproj.filters | 545 ++++ src/VGMPlayUI.c | 251 +- src/VGMPlay_AddFmts.c | 12 +- src/VGMPlay_Intf.h | 1 + src/VGMPlay_Updates.txt | 46 + src/XMasFiles/SWJ-SQRC01_1C.h | 403 +++ .../SWJ-SQRC01_1C_trimmed_optimized.vgz | Bin 0 -> 6408 bytes src/XMasFiles/WEWISH.CMF | Bin 0 -> 8773 bytes src/XMasFiles/XMasBonus.h | 2255 ++++++++++++++ src/XMasFiles/clyde1_1.dro | Bin 0 -> 7667 bytes src/XMasFiles/lem_xmas_001_jb.dro | Bin 0 -> 12544 bytes src/XMasFiles/lemmings_012_tim7.vgm | Bin 0 -> 13638 bytes src/XMasFiles/rudolph.dro | Bin 0 -> 5201 bytes src/chips/2151intf.c | 3 +- src/chips/2203intf.c | 23 +- src/chips/2203intf.h | 1 + src/chips/2413intf.c | 3 +- src/chips/2608intf.c | 4 +- src/chips/2610intf.c | 8 +- src/chips/2612intf.c | 42 +- src/chips/3526intf.c | 2 - src/chips/3812intf.c | 7 +- src/chips/8950intf.c | 7 +- src/chips/ChipIncl.h | 2 +- src/chips/Ootake_PSG.c | 7 +- src/chips/Ootake_PSG.h | 4 +- src/chips/ay8910.c | 23 +- src/chips/ay8910.h | 1 + src/chips/ay8910_opl.c | 3 +- src/chips/ay_intf.c | 22 +- src/chips/ay_intf.h | 1 + src/chips/c140.c | 11 +- src/chips/c352.c | 1026 +++--- src/chips/c352.h | 9 +- src/chips/c6280.c | 8 +- src/chips/c6280intf.c | 5 +- src/chips/dac_control.c | 35 +- src/chips/emu2149.c | 12 + src/chips/emu2149.h | 1 + src/chips/emu2413.c | 71 +- src/chips/es5503.c | 5 +- src/chips/es5506.c | 16 +- src/chips/fm.c | 10 +- src/chips/fm2612.c | 21 +- src/chips/fmopl.c | 20 +- src/chips/fmopl.c.bak | 2742 ----------------- src/chips/gb.c | 1469 +++++---- src/chips/gb.h | 1 + src/chips/iremga20.c | 11 +- src/chips/k051649.c | 12 +- src/chips/k053260.c | 13 +- src/chips/k054539.c | 31 +- src/chips/mamedef.h | 8 +- src/chips/multipcm.c | 63 +- src/chips/nes_apu.c | 10 +- src/chips/nes_defs.h | 2 +- src/chips/nes_intf.c | 10 +- src/chips/np_nes_apu.c | 8 +- src/chips/np_nes_dmc.c | 6 +- src/chips/np_nes_fds.c | 7 +- src/chips/okim6258.c | 34 +- src/chips/okim6295.c | 20 +- src/chips/opl.c | 4 +- src/chips/qsound_ctr.c | 870 ++++++ src/chips/qsound_ctr.h | 16 + src/chips/qsound_intf.c | 200 ++ src/chips/{qsound.h => qsound_intf.h} | 17 +- src/chips/{qsound.c => qsound_mame.c} | 57 +- src/chips/qsound_mame.h | 29 + src/chips/rf5c68.c | 11 +- src/chips/saa1099.c | 25 +- src/chips/scd_pcm.c | 10 +- src/chips/scsp.c | 184 +- src/chips/scspdsp.c | 2 +- src/chips/segapcm.c | 11 +- src/chips/sn76489.c | 13 +- src/chips/sn76496.c | 20 +- src/chips/sn76496_opl.c | 7 +- src/chips/sn764intf.c | 9 +- src/chips/upd7759.c | 15 +- src/chips/vrc7tone.h | 37 +- src/chips/vsu.c | 2 +- src/chips/ws_audio.c | 4 +- src/chips/x1_010.c | 21 +- src/chips/ym2151.c | 19 +- src/chips/ym2413.c | 11 +- src/chips/ym2413_opl.c | 3 +- src/chips/ym2612.c | 9 +- src/chips/ym3438.c | 1587 ++++++++++ src/chips/ym3438.h | 227 ++ src/chips/ymf262.c | 10 +- src/chips/ymf271.c | 26 +- src/chips/ymf278b.c | 111 +- src/chips/ymf278b.h | 1 + src/chips/ymz280b.c | 20 +- src/licenses/List.txt | 3 +- src/vgm-player | 353 +++ src/vgm2pcm.c | 151 + src/vgm2wav.c | 272 ++ src/vgm2wav.dsp | 1104 +++++++ src/vgmplay.1 | 148 + src/vgmspec171.txt | 882 ++++++ 119 files changed, 13652 insertions(+), 4776 deletions(-) create mode 100644 src/.gitignore create mode 100644 src/Makefile create mode 100644 src/VGMPlay.dsp create mode 100644 src/VGMPlay.dsw create mode 100644 src/VGMPlay.ini create mode 100644 src/VGMPlay.sln create mode 100644 src/VGMPlay.vcxproj create mode 100644 src/VGMPlay.vcxproj.filters create mode 100644 src/XMasFiles/SWJ-SQRC01_1C.h create mode 100644 src/XMasFiles/SWJ-SQRC01_1C_trimmed_optimized.vgz create mode 100644 src/XMasFiles/WEWISH.CMF create mode 100644 src/XMasFiles/XMasBonus.h create mode 100644 src/XMasFiles/clyde1_1.dro create mode 100644 src/XMasFiles/lem_xmas_001_jb.dro create mode 100644 src/XMasFiles/lemmings_012_tim7.vgm create mode 100644 src/XMasFiles/rudolph.dro delete mode 100644 src/chips/fmopl.c.bak create mode 100644 src/chips/qsound_ctr.c create mode 100644 src/chips/qsound_ctr.h create mode 100644 src/chips/qsound_intf.c rename src/chips/{qsound.h => qsound_intf.h} (58%) rename src/chips/{qsound.c => qsound_mame.c} (92%) create mode 100644 src/chips/qsound_mame.h create mode 100644 src/chips/ym3438.c create mode 100644 src/chips/ym3438.h create mode 100644 src/vgm-player create mode 100644 src/vgm2pcm.c create mode 100644 src/vgm2wav.c create mode 100644 src/vgm2wav.dsp create mode 100644 src/vgmplay.1 create mode 100644 src/vgmspec171.txt diff --git a/emscripten/built/chips.bc b/emscripten/built/chips.bc index 37e87b4c775d7505ab49742058888d6ea5b435d8..4cf9d4ebc6c4a276bee595eca390f620c2726cd5 100644 GIT binary patch literal 913124 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%0DF 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 z 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 z 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

iKc`LVVhZ;pD%3A9MAfP0QLVS{-dY1%S%$C=xS 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%0D=J#?tBmOWC-0prPs6BV^w)4Hbs)*jf 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 literal 863716 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

#Su#vK!HvMp7{zzqQe#9Y*76V!L^p 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�i&Q{a2B+= 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≦k9OW@0s7NwIJ15{a$BtsLt+gojs}E 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 diff --git a/emscripten/built/main.bc b/emscripten/built/main.bc index a15e1db6c69db7e6b06d5636a26c340f5141bcfd..0c23a78c9f29c53e242d44ef2018a12823073aa9 100644 GIT binary patch literal 156440 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 M#+8#nVfi-hf7br1g8%>k literal 153696 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 z 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 LlRUgDtsVPc2krGD diff --git a/emscripten/htdocs/backend_vgm.js b/emscripten/htdocs/backend_vgm.js index 9e6bbc7..82dc040 100644 --- a/emscripten/htdocs/backend_vgm.js +++ b/emscripten/htdocs/backend_vgm.js @@ -24,7 +24,7 @@ function pa(a,b,c,d){if(!(0>2]|0;e=c[e+4>>2]|0;U=1460560+(V*263360|0)+48|0;if((a[U>>0]|0)!=0?(a[1460560+(V*263360|0)+56>>0]|0)==0:0)b=c[1460560+(V*263360|0)+32>>2]|0;else b=0;T=1460560+(V*263360|0)+49|0;if((a[T>>0]|0)!=0?(a[1460560+(V*263360|0)+57>>0]|0)==0:0)b=(c[1460560+(V*263360|0)+36>>2]|0)+b|0;S=1460560+(V*263360|0)+50|0;if((a[S>>0]|0)!=0?(a[1460560+(V*263360|0)+58>>0]|0)==0:0)b=(c[1460560+(V*263360|0)+40>>2]|0)+b|0;R=1460560+(V*263360|0)+51|0;if((a[R>>0]|0)!=0?(a[1460560+(V*263360|0)+59>>0]|0)==0:0)b=(c[1460560+(V*263360|0)+44>>2]|0)+b|0;if((f|0)<=0)return;m=1460560+(V*263360|0)|0;n=1460560+(V*263360|0)+68|0;o=1460560+(V*263360|0)+4|0;p=1460560+(V*263360|0)+8|0;q=1460560+(V*263360|0)+12|0;r=1460560+(V*263360|0)+72|0;s=1460560+(V*263360|0)+55|0;t=1460560+(V*263360|0)+54|0;u=1460560+(V*263360|0)+53|0;v=1460560+(V*263360|0)+52|0;w=1460560+(V*263360|0)+76|0;x=1460560+(V*263360|0)+80|0;y=1460560+(V*263360|0)+84|0;z=1460560+(V*263360|0)+88|0;A=1460560+(V*263360|0)+111|0;B=1460560+(V*263360|0)+28|0;C=1460560+(V*263360|0)+110|0;D=1460560+(V*263360|0)+24|0;E=1460560+(V*263360|0)+109|0;F=1460560+(V*263360|0)+20|0;G=1460560+(V*263360|0)+108|0;H=1460560+(V*263360|0)+16|0;I=1460560+(V*263360|0)+120|0;J=1460560+(V*263360|0)+59|0;K=1460560+(V*263360|0)+58|0;L=1460560+(V*263360|0)+57|0;M=1460560+(V*263360|0)+56|0;N=1460560+(V*263360|0)+44|0;O=1460560+(V*263360|0)+40|0;P=1460560+(V*263360|0)+36|0;Q=1460560+(V*263360|0)+32|0;l=f;k=e;while(1){h=c[m>>2]|0;i=c[n>>2]|0;j=c[o>>2]|0;a:do if(h>>>0>>0){f=c[p>>2]|0;if((h|0)>(j|0)){e=c[q>>2]|0;if((j|0)<=(f|0)){if((j|0)<=(e|0)){c[m>>2]=h-j;c[o>>2]=0;c[p>>2]=f-j;c[q>>2]=e-j;c[n>>2]=i-j;f=(c[r>>2]|0)+j|0;c[r>>2]=f;j=(a[u>>0]|0)==0;if(j)e=2147483647;else e=c[F>>2]|0;c[o>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[E>>0]|0;if(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[T>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[T>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[L>>0]|0)==0:0){e=c[P>>2]|0;if(!(a[T>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[T>>0]=a[T>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=66;b:do if((W|0)==66){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break b;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break b;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break b}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=23;c:do if((W|0)==23){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break c;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break c;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break c}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=44;d:do if((W|0)==44){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break d;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break d;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break d}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}else{e=c[q>>2]|0;if((h|0)<=(f|0)){if((h|0)<=(e|0)){c[m>>2]=0;c[o>>2]=j-h;c[p>>2]=f-h;c[q>>2]=e-h;c[n>>2]=i-h;f=(c[r>>2]|0)+h|0;c[r>>2]=f;j=(a[v>>0]|0)==0;if(j)e=2147483647;else e=c[H>>2]|0;c[m>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[G>>0]|0;if(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[U>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[U>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[M>>0]|0)==0:0){e=c[Q>>2]|0;if(!(a[U>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[U>>0]=a[U>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=148;e:do if((W|0)==148){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break e;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break e;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break e}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=105;f:do if((W|0)==105){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break f;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break f;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break f}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=126;g:do if((W|0)==126){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break g;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break g;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break g}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}}else{f=c[p>>2]|0;if(i>>>0<=j>>>0){e=c[q>>2]|0;if(i>>>0<=f>>>0){if(i>>>0<=e>>>0){c[m>>2]=h-i;c[o>>2]=j-i;c[p>>2]=f-i;c[q>>2]=e-i;c[r>>2]=(c[r>>2]|0)+i;c[n>>2]=1;c[k>>2]=b;c[g>>2]=b;e=l+-1|0;g=g+4|0;f=k+4|0;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=313;h:do if((W|0)==313){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break h;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break h;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break h}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=270;i:do if((W|0)==270){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break i;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break i;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break i}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=291;j:do if((W|0)==291){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break j;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break j;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break j}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}e=c[q>>2]|0;if((j|0)<=(f|0)){if((j|0)<=(e|0)){c[m>>2]=h-j;c[o>>2]=0;c[p>>2]=f-j;c[q>>2]=e-j;c[n>>2]=i-j;f=(c[r>>2]|0)+j|0;c[r>>2]=f;j=(a[u>>0]|0)==0;if(j)e=2147483647;else e=c[F>>2]|0;c[o>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[E>>0]|0;if(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[T>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[T>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[L>>0]|0)==0:0){e=c[P>>2]|0;if(!(a[T>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[T>>0]=a[T>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=231;k:do if((W|0)==231){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break k;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break k;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break k}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=188;l:do if((W|0)==188){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break l;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break l;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break l}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1460560+(V*263360|0)+159+X>>0]|0)==0:0))W=209;m:do if((W|0)==209){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1460560+(V*263360|0)+144+h>>0]|0)==0|0))break;else break m;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1460560+(V*263360|0)+190+i>>0]|0)==0|0))break;else break m;else if((e|0)==((a[1460560+(V*263360|0)+701+f>>0]|0)==0|0))break;else break m}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}while(0);if((e|0)>0){l=e;k=f}else break}return}function Yr(b,d){b=b|0;d=d|0;if((b&255)>1){d=0;return d|0}b=b&255;h[1460560+(b*263360|0)+136>>3]=1.0/+(d|0);Zr(1460560+(b*263360|0)+144|0,4,3,1,4);Zr(1460560+(b*263360|0)+159|0,5,3,2,8);Zr(1460560+(b*263360|0)+190|0,9,8,1,384);Zr(1460560+(b*263360|0)+701|0,17,16,1,114688);_r(1460560+(b*263360|0)+131772|0,9,8,384);_r(1460560+(b*263360|0)+132283|0,17,16,114688);c[1460560+(b*263360|0)+60>>2]=(d<<8|0)/(d|0)|0;c[1460560+(b*263360|0)+16>>2]=4;c[1460560+(b*263360|0)+20>>2]=4;c[1460560+(b*263360|0)+24>>2]=4;c[1460560+(b*263360|0)+28>>2]=4;c[1460560+(b*263360|0)+100>>2]=28;a[1460560+(b*263360|0)+122>>0]=9;a[1460560+(b*263360|0)+129>>0]=3;return d|0}function Zr(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=1<>0]=b&1;g=g+1|0;if((g|0)==(h|0))break;else{c=c+1|0;b=(b>>e)+f+(b<>0]=g?b>>>6:b;f=f+1|0;if((f|0)==(h|0))break;else{c=c+1|0;b=(b>>1)+e+(b<>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[1460560+(d*263360|0)+16>>2]=4;c[1460560+(d*263360|0)+32>>2]=0;a[1460560+(d*263360|0)+48>>0]=0;a[1460560+(d*263360|0)+52>>0]=0;c[1460560+(d*263360|0)+20>>2]=4;c[1460560+(d*263360|0)+36>>2]=0;a[1460560+(d*263360|0)+49>>0]=0;a[1460560+(d*263360|0)+53>>0]=0;c[1460560+(d*263360|0)+24>>2]=4;c[1460560+(d*263360|0)+40>>2]=0;a[1460560+(d*263360|0)+50>>0]=0;a[1460560+(d*263360|0)+54>>0]=0;c[1460560+(d*263360|0)+28>>2]=4;c[1460560+(d*263360|0)+44>>2]=0;a[1460560+(d*263360|0)+51>>0]=0;a[1460560+(d*263360|0)+55>>0]=0;b=1460560+(d*263360|0)+100|0;d=1460560+(d*263360|0)+64|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=28;return}function as(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=b&255;g=1460560+(k*263360|0)+129|0;a:while(1){switch(e&15){case 0:{g=3;break a}case 1:{g=5;break a}case 2:{g=7;break a}case 3:{g=8;break a}case 4:{g=9;break a}case 5:{g=11;break a}case 6:{g=13;break a}case 7:{g=14;break a}case 8:{g=15;break a}case 10:{g=17;break a}case 14:{g=18;break a}case 15:break;default:{g=78;break a}}if((a[g>>0]|0)==f<<24>>24){g=78;break}a[g>>0]=f;if(f&3){g=78;break}as(b,14,0);e=10;f=0}switch(g|0){case 3:{e=1460560+(k*263360|0)+104|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;f=a[1460560+(k*263360|0)+120>>0]|0;e=(f&255)>>>3&2;b=1;g=24;break}}case 5:{e=1460560+(k*263360|0)+108|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;e=1;f=a[1460560+(k*263360|0)+120>>0]|0;g=25;break}}case 7:{e=1460560+(k*263360|0)+105|0;if((a[e>>0]|0)==f<<24>>24)return;else g=37;break}case 8:{e=1460560+(k*263360|0)+109|0;if((a[e>>0]|0)==f<<24>>24)return;else g=37;break}case 9:{e=1460560+(k*263360|0)+106|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;f=a[1460560+(k*263360|0)+120>>0]|0;e=f&8;b=4;g=24;break}}case 11:{e=1460560+(k*263360|0)+110|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;e=4;j=a[1460560+(k*263360|0)+120>>0]|0;g=52;break}}case 13:{e=1460560+(k*263360|0)+107|0;if((a[e>>0]|0)==f<<24>>24)return;else g=64;break}case 14:{e=1460560+(k*263360|0)+111|0;if((a[e>>0]|0)==f<<24>>24)return;else g=64;break}case 15:{e=1460560+(k*263360|0)+120|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;c[1460560+(k*263360|0)+100>>2]=(f&1)==0?28:114;e=15;g=25;break}}case 17:{k=1460560+(k*263360|0)+128|0;a[k>>0]=a[k>>0]&31;return}case 18:{e=1460560+(k*263360|0)+126|0;b=a[e>>0]|0;if(b&255&~(f&255)|0)a[e>>0]=b&f;a[1460560+(k*263360|0)+127>>0]=f;return}case 78:return}if((g|0)==24){e=(e|b)&255;if(!(e&1))g=36;else g=25}else if((g|0)==37){a[e>>0]=f;e=2;f=a[1460560+(k*263360|0)+120>>0]|0;g=38}else if((g|0)==64){a[e>>0]=f;i=a[1460560+(k*263360|0)+120>>0]|0}b:do if((g|0)==25){b=d[1460560+(k*263360|0)+104>>0]|0;if(!(f&64))g=M(c[1460560+(k*263360|0)+100>>2]|0,b+1|0)|0;else g=b+4|0;b=a[1460560+(k*263360|0)+108>>0]|0;h=(b&15)*744|0;i=1460560+(k*263360|0)+32|0;c[i>>2]=h;c[1460560+(k*263360|0)+16>>2]=g;j=1460560+(k*263360|0)|0;if((g|0)<(c[j>>2]|0))c[j>>2]=g;b=b&255;do if(!((b&16|0)!=0|(b&15|0)==0))if(b&32){g=g>>>0<(c[1460560+(k*263360|0)+60>>2]|0)>>>8>>>0;a[1460560+(k*263360|0)+52>>0]=(g^1)&1;if(g)break;else{g=36;break b}}else{a[1460560+(k*263360|0)+52>>0]=1;g=36;break b}else a[1460560+(k*263360|0)+52>>0]=0;while(0);a[1460560+(k*263360|0)+48>>0]=1;c[j>>2]=2147483647;c[i>>2]=h>>>1;g=36}while(0);if((g|0)==36)if(!(e&2))g=51;else g=38;c:do if((g|0)==38){b=f&255;do if(b&16){g=d[1460560+(k*263360|0)+105>>0]<<8|d[1460560+(k*263360|0)+104>>0];if(!(b&64)){g=M(c[1460560+(k*263360|0)+100>>2]|0,g+1|0)|0;break}else{g=g+7|0;break}}else g=M((d[1460560+(k*263360|0)+105>>0]|0)+1|0,c[1460560+(k*263360|0)+100>>2]|0)|0;while(0);b=a[1460560+(k*263360|0)+109>>0]|0;h=(b&15)*744|0;i=1460560+(k*263360|0)+36|0;c[i>>2]=h;c[1460560+(k*263360|0)+20>>2]=g;j=1460560+(k*263360|0)+4|0;if((g|0)<(c[j>>2]|0))c[j>>2]=g;b=b&255;do if(!((b&16|0)!=0|(b&15|0)==0))if(b&32){g=g>>>0<(c[1460560+(k*263360|0)+60>>2]|0)>>>8>>>0;a[1460560+(k*263360|0)+53>>0]=(g^1)&1;if(g)break;else{g=51;break c}}else{a[1460560+(k*263360|0)+53>>0]=1;g=51;break c}else a[1460560+(k*263360|0)+53>>0]=0;while(0);a[1460560+(k*263360|0)+49>>0]=1;c[j>>2]=2147483647;c[i>>2]=h>>>1;g=51}while(0);if((g|0)==51)if(!(e&4))g=63;else{j=f;g=52}d:do if((g|0)==52){f=d[1460560+(k*263360|0)+106>>0]|0;if(!(j&32))b=M(c[1460560+(k*263360|0)+100>>2]|0,f+1|0)|0;else b=f+4|0;f=a[1460560+(k*263360|0)+110>>0]|0;g=(f&15)*744|0;h=1460560+(k*263360|0)+40|0;c[h>>2]=g;c[1460560+(k*263360|0)+24>>2]=b;i=1460560+(k*263360|0)+8|0;if((b|0)<(c[i>>2]|0))c[i>>2]=b;f=f&255;do if(!((f&16|0)!=0|(f&15|0)==0)){if(f&32|0?b>>>0<(c[1460560+(k*263360|0)+60>>2]|0)>>>8>>>0:0)break;a[1460560+(k*263360|0)+54>>0]=1;f=j;g=63;break d}while(0);b=(j&255)>>>2&1;a[1460560+(k*263360|0)+54>>0]=b;if(!(b<<24>>24)){a[1460560+(k*263360|0)+50>>0]=1;c[i>>2]=2147483647;c[h>>2]=g>>>1;f=j;g=63}else{f=j;g=63}}while(0);if((g|0)==63)if(!(e&8))return;else i=f;e=i&255;do if(e&8){f=d[1460560+(k*263360|0)+107>>0]<<8|d[1460560+(k*263360|0)+106>>0];if(!(e&32)){f=M(c[1460560+(k*263360|0)+100>>2]|0,f+1|0)|0;break}else{f=f+7|0;break}}else f=M((d[1460560+(k*263360|0)+107>>0]|0)+1|0,c[1460560+(k*263360|0)+100>>2]|0)|0;while(0);e=a[1460560+(k*263360|0)+111>>0]|0;b=(e&15)*744|0;g=1460560+(k*263360|0)+44|0;c[g>>2]=b;c[1460560+(k*263360|0)+28>>2]=f;h=1460560+(k*263360|0)+12|0;if((f|0)<(c[h>>2]|0))c[h>>2]=f;e=e&255;do if(!((e&16|0)!=0|(e&15|0)==0)){if(e&32|0?f>>>0<(c[1460560+(k*263360|0)+60>>2]|0)>>>8>>>0:0)break;a[1460560+(k*263360|0)+55>>0]=1;return}while(0);j=(i&255)>>>1&1;a[1460560+(k*263360|0)+55>>0]=j;if(j<<24>>24)return;a[1460560+(k*263360|0)+51>>0]=1;c[h>>2]=2147483647;c[g>>2]=b>>>1;return}function bs(b,c){b=b|0;c=c|0;b=b&255;a[1460560+(b*263360|0)+56>>0]=c&1;a[1460560+(b*263360|0)+57>>0]=c>>>1&1;a[1460560+(b*263360|0)+58>>0]=c>>>2&1;a[1460560+(b*263360|0)+59>>0]=c>>>3&1;return}function cs(a){a=a|0;var b=0,d=0,e=0;b=a+68|0;c[a+88>>2]=0;c[a+92>>2]=0;c[a+96>>2]=0;d=a;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;ds(a,0);es(a,0);return}function ds(a,b){a=a|0;b=b|0;c[a+52>>2]=b+4095&4095;c[a+56>>2]=c[a+48>>2];fs(a);return}function es(a,b){a=a|0;b=b|0;b=b&15;b=(b|0)==0?16:b;c[a+64>>2]=b;c[a+60>>2]=b;return}function fs(a){a=a|0;var b=0;b=((c[a+52>>2]|0)>>>1)+1|0;c[a+100>>2]=b;c[a+104>>2]=8388352/(b|0)|0;return}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+76>>2]|0;f=c[a+72>>2]|0;if(!(e|f)){d=d<<2;nz(c[b>>2]|0,0,d|0)|0;nz(c[b+4>>2]|0,0,d|0)|0;return}g=hs(a,e)|0;a=hs(a,f)|0;if((d|0)<=0)return;f=b+4|0;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=g;c[(c[f>>2]|0)+(e<<2)>>2]=a;e=e+1|0}while((e|0)!=(d|0));return}function hs(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(M(((b&2048|0)==0?b&4095:b|-4096)-(c[a+100>>2]|0)|0,c[a+104>>2]|0)|0)>>8;return b|0}function is(a,b,c){a=a|0;b=b|0;c=c|0;gs(1987280+((a&255)*112|0)|0,b,c);return}function js(b){b=b|0;var d=0,e=0;e=a[3432185]|0;d=c[857788]|0;c[496847]=b;cs(1987280);return (e<<24>>24==2|(e&1)!=0&(d|0)>22020?d:22020)|0}function ks(a){a=a|0;cs(1987280+((a&255)*112|0)|0);return}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;a=1987280+(e*112|0)|0;if((c[1987280+(e*112|0)+108>>2]|0)==1)switch(b<<24>>24){case 0:{c[1987280+(e*112|0)+76>>2]=d&65535;return}case 1:{c[1987280+(e*112|0)+72>>2]=d&65535;return}case 2:{ds(a,d&65535);return}case 3:{d=d&65535;c[1987280+(e*112|0)+76>>2]=d;c[1987280+(e*112|0)+72>>2]=d;return}default:return}switch(b<<24>>24){case 0:{es(a,(d&65535)>>>8);return}case 1:{ds(a,d&65535);return}case 2:{c[1987280+(e*112|0)+76>>2]=d&65535;return}case 3:{a=d&65535;c[1987280+(e*112|0)+72>>2]=a;b=1987280+(e*112|0)+68|0;if(c[b>>2]|0)return;if((c[1987280+(e*112|0)+76>>2]|0)!=(a|0))return;c[1987280+(e*112|0)+100>>2]=a;c[b>>2]=1;return}case 4:{a=d&65535;c[1987280+(e*112|0)+76>>2]=a;c[1987280+(e*112|0)+72>>2]=a;b=1987280+(e*112|0)+68|0;if(c[b>>2]|0)return;c[1987280+(e*112|0)+100>>2]=a;c[b>>2]=1;return}default:return}}function ms(a,b){a=a|0;b=b|0;var d=0;if((a&255)>1){b=0;return b|0}d=a&255;c[1987504+(d*720|0)+580>>2]=0;c[1987504+(d*720|0)+584>>2]=0;a=0;do{c[1987504+(d*720|0)+588+(a<<2)>>2]=~~(+A(+(+(a|0)))*45.25483399593904);a=a+1|0}while((a|0)!=33);nz(1987504+(d*720|0)|0,0,576)|0;b=(b|0)/166|0;return b|0}function ns(a){a=a|0;a=1987504+((a&255)*720|0)+580|0;fx(c[a>>2]|0);c[a>>2]=0;return}function os(a){a=a|0;var b=0;b=1987504+((a&255)*720|0)|0;nz(b|0,0,576)|0;a=127;while(1){ps(b,a&255,0);if(!a)break;else a=a+-1|0}ps(b,-128,288);ps(b,-127,288);ps(b,-126,288);ps(b,-125,288);ps(b,-124,288);ps(b,-123,288);ps(b,-122,288);ps(b,-121,288);ps(b,-120,288);ps(b,-119,288);ps(b,-118,288);ps(b,-117,288);ps(b,-116,288);ps(b,-115,288);ps(b,-114,288);ps(b,-113,288);return}function ps(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e&255;do if(e<<24>>24<=-1)if((e&255)<144){e=g&15;break}else{h=(e+70&255)<16;e=h?g+-186|0:99;g=h?9:99;h=6;break}else{e=g>>>3;g=g&7;h=6}while(0);a:do if((h|0)==6)switch(g&127){case 8:break a;case 0:{c[d+((e+1&15)*36|0)>>2]=(f&127)<<16;return}case 1:{c[d+(e*36|0)+4>>2]=f&65535;return}case 2:{c[d+(e*36|0)+12>>2]=f&65535;return}case 3:{a[d+(e*36|0)+18>>0]=(f&65535)>>>15;c[d+(e*36|0)+28>>2]=0;return}case 4:{b[d+(e*36|0)+8>>1]=f;return}case 5:{b[d+(e*36|0)+10>>1]=f;return}case 6:{b[d+(e*36|0)+16>>1]=f;return}default:return}while(0);h=(f&63)+-16|0;h=(h|0)<32?h:32;h=(h|0)>0?h:0;c[d+(e*36|0)+24>>2]=c[d+588+(h<<2)>>2];c[d+(e*36|0)+20>>2]=c[d+588+(32-h<<2)>>2];return}function qs(a,c,d){a=a|0;c=c|0;d=d|0;a=a&255;switch(c|0){case 0:{c=1987504+(a*720|0)+576|0;b[c>>1]=(d&255)<<8|b[c>>1]&255;return}case 1:{c=1987504+(a*720|0)+576|0;b[c>>1]=b[c>>1]&-256&65535|d&255;return}case 2:{ps(1987504+(a*720|0)|0,d,b[1987504+(a*720|0)+576>>1]|0);return}default:return}}function rs(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=d&255;B=g<<2;nz(c[f>>2]|0,0,B|0)|0;A=f+4|0;nz(c[A>>2]|0,0,B|0)|0;B=1987504+(d*720|0)+584|0;if(!(c[B>>2]|0))return;y=(g|0)<1;z=1987504+(d*720|0)+580|0;l=1987504+(d*720|0)|0;m=0;while(1){a:do if(a[l+18>>0]|0?!((a[l+32>>0]|0)!=0|y):0){q=l+28|0;r=l+12|0;s=l+4|0;t=l+20|0;u=l+16|0;v=l+24|0;w=l+10|0;x=l+8|0;k=c[f>>2]|0;n=g;p=c[A>>2]|0;while(1){o=n;n=n+-1|0;j=c[q>>2]|0;h=j>>>12;i=c[r>>2]|0;j=i+(j&4095)|0;c[q>>2]=j;d=c[s>>2]|0;if(h){d=d+h|0;c[s>>2]=d;if((i|0)!=0?(C=e[w>>1]|0,d>>>0>=C>>>0):0){h=b[x>>1]|0;if(!(h<<16>>16))break;j=h&65535;d=d-j|0;d=(d>>>0>>0?d:C-j|0)&65535;c[s>>2]=d}}j=a[(c[z>>2]|0)+(((d|c[l>>2])>>>0)%((c[B>>2]|0)>>>0)|0)>>0]|0;i=M(c[t>>2]|0,j)|0;i=(M(i,e[u>>1]|0)|0)>>14;c[k>>2]=i+(c[k>>2]|0);j=M(c[v>>2]|0,j)|0;j=(M(j,e[u>>1]|0)|0)>>14;c[p>>2]=j+(c[p>>2]|0);if((o|0)<=1)break a;else{k=k+4|0;p=p+4|0}}c[s>>2]=d+-1;c[q>>2]=j+4096}while(0);m=m+1|0;if((m|0)==16)break;else l=l+36|0}return}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1987504+(a*720|0)+584|0;if((c[g>>2]|0)!=(b|0)){i=1987504+(a*720|0)+580|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[1987504+(a*720|0)+580>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function ts(b,c){b=b|0;c=c|0;b=b&255;a[1987504+(b*720|0)+32>>0]=c&1;a[1987504+(b*720|0)+68>>0]=c>>>1&1;a[1987504+(b*720|0)+104>>0]=c>>>2&1;a[1987504+(b*720|0)+140>>0]=c>>>3&1;a[1987504+(b*720|0)+176>>0]=c>>>4&1;a[1987504+(b*720|0)+212>>0]=c>>>5&1;a[1987504+(b*720|0)+248>>0]=c>>>6&1;a[1987504+(b*720|0)+284>>0]=c>>>7&1;a[1987504+(b*720|0)+320>>0]=c>>>8&1;a[1987504+(b*720|0)+356>>0]=c>>>9&1;a[1987504+(b*720|0)+392>>0]=c>>>10&1;a[1987504+(b*720|0)+428>>0]=c>>>11&1;a[1987504+(b*720|0)+464>>0]=c>>>12&1;a[1987504+(b*720|0)+500>>0]=c>>>13&1;a[1987504+(b*720|0)+536>>0]=c>>>14&1;a[1987504+(b*720|0)+572>>0]=c>>>15&1;return}function us(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=f&255;q=1988944+(w*160|0)|0;r=c[g>>2]|0;p=c[g+4>>2]|0;v=h<<2;nz(r|0,0,v|0)|0;nz(p|0,0,v|0)|0;if(!(a[1988944+(w*160|0)+130>>0]|0))return;m=(h|0)>0;v=1988944+(w*160|0)+136|0;k=0;do{a:do if((a[1988944+(w*160|0)+(k<<4)>>0]|0?(a[1988944+(w*160|0)+(k<<4)+12>>0]|0)==0:0)?(u=d[1988944+(w*160|0)+(k<<4)+2>>0]|0,t=d[1988944+(w*160|0)+(k<<4)+1>>0]|0,s=M(u&15,t)|0,t=M(u>>>4,t)|0,u=1988944+(w*160|0)+(k<<4)+10|0,m):0){n=1988944+(w*160|0)+(k<<4)+4|0;o=1988944+(w*160|0)+(k<<4)+8|0;l=0;do{vs(q,(c[n>>2]|0)>>>11&65535,b[o>>1]|0);i=c[v>>2]|0;f=c[n>>2]|0;j=a[i+(f>>>11&65535)>>0]|0;g=j&255;if(j<<24>>24==-1){f=e[u>>1]|0;j=f<<11;c[n>>2]=j;f=a[i+f>>0]|0;if(f<<24>>24==-1)break a;else{g=f&255;f=j}}c[n>>2]=f+(e[o>>1]|0);if(!(g&128)){j=(M(g,s)|0)>>>5;i=r+(l<<2)|0;c[i>>2]=(c[i>>2]|0)-j;i=(M(g,t)|0)>>>5;j=p+(l<<2)|0;c[j>>2]=(c[j>>2]|0)-i}else{i=g&127;g=(M(i,s)|0)>>>5;j=r+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+g;i=(M(i,t)|0)>>>5;j=p+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+i}l=l+1|0}while((l|0)<(h|0))}while(0);k=k+1|0}while((k|0)!=8);if(!h)return;i=1988944+(w*160|0)+148|0;j=c[i>>2]|0;k=c[1988944+(w*160|0)+144>>2]|0;if(k>>>0<=j>>>0)return;l=1988944+(w*160|0)+152|0;f=(h<<11)+(e[l>>1]|0)|0;b[l>>1]=f;g=f&65535;if(g>>>0<=2047)return;h=g>>>11;b[l>>1]=f&2047;h=(h+j|0)>>>0>k>>>0?k-j|0:h;mz((c[v>>2]|0)+j|0,(c[1988944+(w*160|0)+156>>2]|0)+(j-(c[1988944+(w*160|0)+140>>2]|0))|0,h|0)|0;c[i>>2]=(c[i>>2]|0)+h;return}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+140|0;d=(d&65535)>2047?(d&65535)>>>11:1;e=a+148|0;f=c[e>>2]|0;if(f>>>0<=b>>>0)if((b-f|0)>>>0>(d*5|0)>>>0)return;else{a=f-(d<<2)|0;g=c[g>>2]|0;c[e>>2]=a>>>0>>0?g:a;return}if((f-b|0)>>>0>(d*5|0)>>>0)return;d=d<<2;if((f+d|0)>>>0<(c[a+144>>2]|0)>>>0){mz((c[a+136>>2]|0)+f|0,(c[a+156>>2]|0)+(f-(c[g>>2]|0))|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;return}else{ws(a);return}}function ws(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+148|0;d=c[b>>2]|0;e=a+144|0;f=c[e>>2]|0;if(f>>>0<=d>>>0)return;mz((c[a+136>>2]|0)+d|0,(c[a+156>>2]|0)+(d-(c[a+140>>2]|0))|0,f-d|0)|0;c[b>>2]=c[e>>2];return}function xs(b){b=b|0;c[497269]=65536;c[497270]=ex(65536)|0;a[1988956]=0;a[1988972]=0;a[1988988]=0;a[1989004]=0;a[1989020]=0;a[1989036]=0;a[1989052]=0;a[1989068]=0;return ((b&2147483647)>>>0)/384|0|0}function ys(a){a=a|0;a=1988944+((a&255)*160|0)+136|0;fx(c[a>>2]|0);c[a>>2]=0;return}function zs(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d&255;nz(c[1988944+(m*160|0)+136>>2]|0,0,c[1988944+(m*160|0)+132>>2]|0)|0;a[1988944+(m*160|0)+130>>0]=0;a[1988944+(m*160|0)+128>>0]=0;a[1988944+(m*160|0)+129>>0]=0;l=1988944+(m*160|0)|0;k=1988944+(m*160|0)+16|0;j=1988944+(m*160|0)+32|0;i=1988944+(m*160|0)+48|0;h=1988944+(m*160|0)+64|0;g=1988944+(m*160|0)+80|0;f=1988944+(m*160|0)+96|0;e=1988944+(m*160|0)+112|0;d=1988944+(m*160|0)+140|0;c[1988944+(m*160|0)+156>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b[d+12>>1]=0;return}function As(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;i=e&255;h=1988944+(i*160|0)+128|0;e=d[h>>0]|0;do switch(f|0){case 0:{a[1988944+(i*160|0)+(e<<4)+1>>0]=g;return}case 1:{a[1988944+(i*160|0)+(e<<4)+2>>0]=g;return}case 2:{i=1988944+(i*160|0)+(e<<4)+8|0;b[i>>1]=b[i>>1]&-256&65535|g&255;return}case 3:{i=1988944+(i*160|0)+(e<<4)+8|0;b[i>>1]=(g&255)<<8|b[i>>1]&255;return}case 4:{i=1988944+(i*160|0)+(e<<4)+10|0;b[i>>1]=b[i>>1]&-256&65535|g&255;return}case 5:{i=1988944+(i*160|0)+(e<<4)+10|0;b[i>>1]=(g&255)<<8|b[i>>1]&255;return}case 6:{a[1988944+(i*160|0)+(e<<4)+3>>0]=g;if(a[1988944+(i*160|0)+(e<<4)>>0]|0)return;c[1988944+(i*160|0)+(e<<4)+4>>2]=(g&255)<<19;return}case 7:{e=g&255;a[1988944+(i*160|0)+130>>0]=(g&255)>>>7;if(!(e&64)){a[1988944+(i*160|0)+129>>0]=e&15;return}else{a[h>>0]=e&7;return}}case 8:{e=~(g&255);g=g&1^1;a[1988944+(i*160|0)>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+4>>2]=d[1988944+(i*160|0)+3>>0]<<19;g=e>>>1&1;a[1988944+(i*160|0)+16>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+20>>2]=d[1988944+(i*160|0)+19>>0]<<19;g=e>>>2&1;a[1988944+(i*160|0)+32>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+36>>2]=d[1988944+(i*160|0)+35>>0]<<19;g=e>>>3&1;a[1988944+(i*160|0)+48>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+52>>2]=d[1988944+(i*160|0)+51>>0]<<19;g=e>>>4&1;a[1988944+(i*160|0)+64>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+68>>2]=d[1988944+(i*160|0)+67>>0]<<19;g=e>>>5&1;a[1988944+(i*160|0)+80>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+84>>2]=d[1988944+(i*160|0)+83>>0]<<19;g=e>>>6&1;a[1988944+(i*160|0)+96>>0]=g;if(!(g<<24>>24))c[1988944+(i*160|0)+100>>2]=d[1988944+(i*160|0)+99>>0]<<19;g=e>>>7&1;a[1988944+(i*160|0)+112>>0]=g;if(g<<24>>24)return;c[1988944+(i*160|0)+116>>2]=d[1988944+(i*160|0)+115>>0]<<19;return}default:return}while(0)}function Bs(b,e,f){b=b|0;e=e|0;f=f|0;b=b&255;ws(1988944+(b*160|0)|0);a[(c[1988944+(b*160|0)+136>>2]|0)+((d[1988944+(b*160|0)+129>>0]|0)<<12|e)>>0]=f;return}function Cs(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=a&255;e=(d[1988944+(h*160|0)+129>>0]|0)<<12|e;a=c[1988944+(h*160|0)+132>>2]|0;if(a>>>0<=e>>>0)return;a=(e+f|0)>>>0>a>>>0?a-e|0:f;ws(1988944+(h*160|0)|0);c[1988944+(h*160|0)+140>>2]=e;f=1988944+(h*160|0)+148|0;c[f>>2]=e;i=a+e|0;c[1988944+(h*160|0)+144>>2]=i;b[1988944+(h*160|0)+152>>1]=0;c[1988944+(h*160|0)+156>>2]=g;a=(e+64|0)>>>0>i>>>0?a&65535:64;mz((c[1988944+(h*160|0)+136>>2]|0)+e|0,g|0,a|0)|0;c[f>>2]=(c[f>>2]|0)+a;return}function Ds(b,c){b=b|0;c=c|0;b=b&255;a[1988944+(b*160|0)+12>>0]=c&1;a[1988944+(b*160|0)+28>>0]=c>>>1&1;a[1988944+(b*160|0)+44>>0]=c>>>2&1;a[1988944+(b*160|0)+60>>0]=c>>>3&1;a[1988944+(b*160|0)+76>>0]=c>>>4&1;a[1988944+(b*160|0)+92>>0]=c>>>5&1;a[1988944+(b*160|0)+108>>0]=c>>>6&1;a[1988944+(b*160|0)+124>>0]=c>>>7&1;return}function Es(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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;y=b&255;z=c[1989264+(y*60|0)+36>>2]|0;u=f<<2;nz(c[e>>2]|0,0,u|0)|0;A=e+4|0;nz(c[A>>2]|0,0,u|0)|0;u=1989264+(y*60|0)+24|0;v=1989264+(y*60|0)+32|0;w=1989264+(y*60|0)+28|0;x=(f|0)>0;t=c[1989264+(y*60|0)>>2]|0;s=0;do{i=t+(s<<3)|0;o=i+134|0;h=a[o>>0]|0;b=h&255;if((b&1|0)==0?(a[1989264+(y*60|0)+44+s>>0]|0)==0:0){m=(c[u>>2]|0)+((c[v>>2]&b)<>2])|0;p=i+133|0;q=i+132|0;r=1989264+(y*60|0)+4+s|0;g=d[q>>0]<<8|d[p>>0]<<16|d[r>>0];n=d[i+4>>0]<<8|d[i+5>>0]<<16;do if(x){j=(a[i+6>>0]|0)+1&255;k=i+2|0;l=i+3|0;i=i+7|0;h=0;while(1){if((g>>>16|0)==(j|0)){b=a[o>>0]|0;if(!(b&2))g=n;else{h=8;break}}B=(d[m+(g>>>8&z)>>0]<<24^-2147483648)>>24;C=M(B,a[k>>0]&127)|0;b=(c[e>>2]|0)+(h<<2)|0;c[b>>2]=C+(c[b>>2]|0);B=M(B,a[l>>0]&127)|0;b=(c[A>>2]|0)+(h<<2)|0;c[b>>2]=B+(c[b>>2]|0);g=g+(d[i>>0]|0)&16777215;h=h+1|0;if((h|0)>=(f|0)){h=10;break}}if((h|0)==8){b=b|1;a[o>>0]=b;break}else if((h|0)==10){b=a[o>>0]|0;break}}else b=h;while(0);a[q>>0]=g>>>8;a[p>>0]=g>>>16;a[r>>0]=(b&1)==0?g&255:0}s=s+1|0}while((s|0)!=16);return}function Fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((a&255)>1){d=0;return d|0}a=a&255;c[1989264+(a*60|0)+40>>2]=d;c[1989264+(a*60|0)+20>>2]=524288;e=ex(524288)|0;c[1989264+(a*60|0)+24>>2]=e;c[1989264+(a*60|0)>>2]=ex(2048)|0;nz(e|0,-128,524288)|0;e=d&255;c[1989264+(a*60|0)+28>>2]=e;d=d>>16;c[1989264+(a*60|0)+36>>2]=524287;c[1989264+(a*60|0)+32>>2]=524287>>>e&((d|0)==0?112:d);d=1989264+(a*60|0)+44|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=(b|0)/128|0;return d|0}function Gs(a){a=a|0;var b=0;a=a&255;b=1989264+(a*60|0)+24|0;fx(c[b>>2]|0);c[b>>2]=0;fx(c[1989264+(a*60|0)>>2]|0);return}function Hs(a){a=a|0;nz(c[1989264+((a&255)*60|0)>>2]|0,-1,2048)|0;return}function Is(b,d,e){b=b|0;d=d|0;e=e|0;a[(c[1989264+((b&255)*60|0)>>2]|0)+(d&2047)>>0]=e;return}function Js(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=a&255;a=1989264+(h*60|0)+20|0;if((c[a>>2]|0)!=(b|0)){i=1989264+(h*60|0)+24|0;g=hx(c[i>>2]|0,b)|0;c[i>>2]=g;c[a>>2]=b;nz(g|0,-128,b|0)|0;g=c[1989264+(h*60|0)+40>>2]>>16;a=1;while(1)if(a>>>0>>0)a=a<<1;else break;i=a+-1|0;c[1989264+(h*60|0)+36>>2]=i;c[1989264+(h*60|0)+32>>2]=i>>>(c[1989264+(h*60|0)+28>>2]|0)&((g|0)==0?112:g)}if(b>>>0>>0)return;mz((c[1989264+(h*60|0)+24>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Ks(b,c){b=b|0;c=c|0;b=b&255;a[1989264+(b*60|0)+44>>0]=c&1;a[1989264+(b*60|0)+45>>0]=c>>>1&1;a[1989264+(b*60|0)+46>>0]=c>>>2&1;a[1989264+(b*60|0)+47>>0]=c>>>3&1;a[1989264+(b*60|0)+48>>0]=c>>>4&1;a[1989264+(b*60|0)+49>>0]=c>>>5&1;a[1989264+(b*60|0)+50>>0]=c>>>6&1;a[1989264+(b*60|0)+51>>0]=c>>>7&1;a[1989264+(b*60|0)+52>>0]=c>>>8&1;a[1989264+(b*60|0)+53>>0]=c>>>9&1;a[1989264+(b*60|0)+54>>0]=c>>>10&1;a[1989264+(b*60|0)+55>>0]=c>>>11&1;a[1989264+(b*60|0)+56>>0]=c>>>12&1;a[1989264+(b*60|0)+57>>0]=c>>>13&1;a[1989264+(b*60|0)+58>>0]=c>>>14&1;a[1989264+(b*60|0)+59>>0]=c>>>15&1;return}function Ls(a){a=a|0;c[497349]=0;c[497364]=0;c[497376]=0;c[497388]=0;c[497400]=0;c[497412]=0;c[497424]=0;c[497436]=0;c[497448]=0;c[497449]=65536;c[497450]=ex(65536)|0;Ms(0);Ns(a);return}function Ms(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=a&255;nz(c[1989392+(a*412|0)+408>>2]|0,0,c[1989392+(a*412|0)+404>>2]|0)|0;j=1989392+(a*412|0)+8|0;i=1989392+(a*412|0)+36|0;c[1989392+(a*412|0)+68>>2]=0;c[1989392+(a*412|0)+72>>2]=0;h=1989392+(a*412|0)+84|0;c[1989392+(a*412|0)+116>>2]=0;c[1989392+(a*412|0)+120>>2]=0;g=1989392+(a*412|0)+132|0;c[1989392+(a*412|0)+164>>2]=0;c[1989392+(a*412|0)+168>>2]=0;f=1989392+(a*412|0)+180|0;c[1989392+(a*412|0)+212>>2]=0;c[1989392+(a*412|0)+216>>2]=0;e=1989392+(a*412|0)+228|0;c[1989392+(a*412|0)+260>>2]=0;c[1989392+(a*412|0)+264>>2]=0;d=1989392+(a*412|0)+276|0;c[1989392+(a*412|0)+308>>2]=0;c[1989392+(a*412|0)+312>>2]=0;b=1989392+(a*412|0)+324|0;c[1989392+(a*412|0)+356>>2]=0;c[1989392+(a*412|0)+360>>2]=0;a=1989392+(a*412|0)+372|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Ns(a){a=a|0;var b=0.0;if(!a)return;b=32563.19921875/+(a|0);g[497348]=b;c[497360]=~~(b*+((c[497361]|0)>>>0));c[497372]=~~(b*+((c[497373]|0)>>>0));c[497384]=~~(b*+((c[497385]|0)>>>0));c[497396]=~~(b*+((c[497397]|0)>>>0));c[497408]=~~(b*+((c[497409]|0)>>>0));c[497420]=~~(b*+((c[497421]|0)>>>0));c[497432]=~~(b*+((c[497433]|0)>>>0));c[497444]=~~(b*+((c[497445]|0)>>>0));return}function Os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;k=a&255;a=1989392+(k*412|0)|0;e=1989392+(k*412|0)+12|0;f=c[e>>2]|0;h=1989392+(k*412|0)+20+(f*48|0)|0;l=d&255;do switch(b|0){case 0:{c[h>>2]=l;j=c[1989392+(k*412|0)+20+(f*48|0)+4>>2]|0;c[1989392+(k*412|0)+20+(f*48|0)+8>>2]=(M(j&15,l)|0)>>>5;c[1989392+(k*412|0)+20+(f*48|0)+12>>2]=(M(j>>>4,l)|0)>>>5;return}case 1:{c[1989392+(k*412|0)+20+(f*48|0)+4>>2]=l;j=c[h>>2]|0;c[1989392+(k*412|0)+20+(f*48|0)+8>>2]=(M(j,d&15)|0)>>>5;c[1989392+(k*412|0)+20+(f*48|0)+12>>2]=(M(j,l>>>4)|0)>>>5;return}case 2:{j=1989392+(k*412|0)+20+(f*48|0)+32|0;l=c[j>>2]&65280|l;c[j>>2]=l;c[1989392+(k*412|0)+20+(f*48|0)+28>>2]=~~(+g[a>>2]*+(l>>>0));return}case 3:{j=1989392+(k*412|0)+20+(f*48|0)+32|0;l=c[j>>2]&255|l<<8;c[j>>2]=l;c[1989392+(k*412|0)+20+(f*48|0)+28>>2]=~~(+g[a>>2]*+(l>>>0));return}case 4:{k=1989392+(k*412|0)+20+(f*48|0)+20|0;c[k>>2]=c[k>>2]&65280|l;return}case 5:{k=1989392+(k*412|0)+20+(f*48|0)+20|0;c[k>>2]=c[k>>2]&255|l<<8;return}case 6:{c[1989392+(k*412|0)+20+(f*48|0)+16>>2]=l<<19;return}case 7:{if(!(d&64))c[1989392+(k*412|0)+16>>2]=d<<12&61440;else c[e>>2]=d&7;a=1989392+(k*412|0)+8|0;if(!(d&128)){c[a>>2]=0;return}else{c[a>>2]=255;return}}case 8:{f=1989392+(k*412|0)+56|0;if(!(c[f>>2]|0))c[1989392+(k*412|0)+44>>2]=c[1989392+(k*412|0)+36>>2];h=1989392+(k*412|0)+104|0;if(!(c[h>>2]|0))c[1989392+(k*412|0)+92>>2]=c[1989392+(k*412|0)+84>>2];b=1989392+(k*412|0)+152|0;if(!(c[b>>2]|0))c[1989392+(k*412|0)+140>>2]=c[1989392+(k*412|0)+132>>2];d=1989392+(k*412|0)+200|0;if(!(c[d>>2]|0))c[1989392+(k*412|0)+188>>2]=c[1989392+(k*412|0)+180>>2];i=1989392+(k*412|0)+248|0;if(!(c[i>>2]|0))c[1989392+(k*412|0)+236>>2]=c[1989392+(k*412|0)+228>>2];j=1989392+(k*412|0)+296|0;if(!(c[j>>2]|0))c[1989392+(k*412|0)+284>>2]=c[1989392+(k*412|0)+276>>2];a=1989392+(k*412|0)+344|0;if(!(c[a>>2]|0))c[1989392+(k*412|0)+332>>2]=c[1989392+(k*412|0)+324>>2];e=1989392+(k*412|0)+392|0;if(!(c[e>>2]|0))c[1989392+(k*412|0)+380>>2]=c[1989392+(k*412|0)+372>>2];l=l^255;c[f>>2]=l&1;c[h>>2]=l&2;c[b>>2]=l&4;c[d>>2]=l&8;c[i>>2]=l&16;c[j>>2]=l&32;c[a>>2]=l&64;c[e>>2]=l&128;return}default:return}while(0)}function Ps(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b&255;v=f<<2;nz(d|0,0,v|0)|0;nz(e|0,0,v|0)|0;if(!(c[1989392+(r*412|0)+8>>2]|0))return;t=(f|0)>0;u=1989392+(r*412|0)+408|0;v=1989392+(r*412|0)+4|0;o=0;do{if(c[1989392+(r*412|0)+20+(o*48|0)+36>>2]|0?(c[1989392+(r*412|0)+20+(o*48|0)+44>>2]|0)==0:0){p=1989392+(r*412|0)+20+(o*48|0)+24|0;g=c[p>>2]|0;b=g>>>11;q=1989392+(r*412|0)+20+(o*48|0)+20|0;s=c[u>>2]|0;a:do if(t){k=1989392+(r*412|0)+20+(o*48|0)+40|0;l=1989392+(r*412|0)+20+(o*48|0)+28|0;m=1989392+(r*412|0)+20+(o*48|0)+8|0;n=1989392+(r*412|0)+20+(o*48|0)+12|0;j=0;do{i=a[s+b>>0]|0;h=i&255;b:do if(i<<24>>24!=-1){if(!(h&128)){c[k>>2]=h;if(!(i<<24>>24))if(!(c[v>>2]|0))h=0;else{c[k>>2]=-127;h=-127}w=M(c[m>>2]|0,h)|0;i=d+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+w;h=M(c[n>>2]|0,h)|0;i=e+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+h}else{i=h&127;c[k>>2]=i;h=M(c[m>>2]|0,i)|0;w=d+(j<<2)|0;c[w>>2]=(c[w>>2]|0)-h;i=M(c[n>>2]|0,i)|0;w=e+(j<<2)|0;c[w>>2]=(c[w>>2]|0)-i}g=(c[l>>2]|0)+g&134217727;c[p>>2]=g;h=g>>>11;b=b+1|0;if(b>>>0>>0){while(1){if((a[s+b>>0]|0)==-1)break;b=b+1|0;if(b>>>0>=h>>>0){b=h;h=j;break b}}b=c[q>>2]|0;g=b<<11;c[p>>2]=g;h=j}else{b=h;h=j}}else{b=c[q>>2]|0;g=b<<11;c[p>>2]=g;if((a[s+b>>0]|0)==-1)break a;h=j+-1|0}while(0);j=h+1|0}while((j|0)<(f|0))}while(0);if((a[s+b>>0]|0)==-1)c[p>>2]=c[q>>2]<<11}o=o+1|0}while((o|0)!=8);return}function Qs(a,b,d){a=a|0;b=b|0;d=d|0;Ps(a,c[b>>2]|0,c[b+4>>2]|0,d);return}function Rs(b){b=b|0;var d=0,e=0,f=0;d=((b&2147483647)>>>0)/384|0;f=a[3432185]|0;e=c[857788]|0;d=f<<24>>24==2|(f&1)!=0&(d|0)<(e|0)?e:d;Ls(d);c[497349]=b>>>31;return d|0}function Ss(a){a=a|0;a=1989392+((a&255)*412|0)+408|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Ts(a){a=a|0;Ms(a);return}function Us(a,b,c){a=a|0;b=b|0;c=c|0;Os(a,b,c&255);return}function Vs(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;a[(c[1989392+(b*412|0)+408>>2]|0)+(c[1989392+(b*412|0)+16>>2]|d)>>0]=e;return}function Ws(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a&255;a=c[1989392+(f*412|0)+16>>2]|b;b=c[1989392+(f*412|0)+404>>2]|0;if(b>>>0<=a>>>0)return;mz((c[1989392+(f*412|0)+408>>2]|0)+a|0,e|0,((a+d|0)>>>0>b>>>0?b-a|0:d)|0)|0;return}function Xs(a,b){a=a|0;b=b|0;a=a&255;c[1989392+(a*412|0)+64>>2]=b&1;c[1989392+(a*412|0)+112>>2]=b>>>1&1;c[1989392+(a*412|0)+160>>2]=b>>>2&1;c[1989392+(a*412|0)+208>>2]=b>>>3&1;c[1989392+(a*412|0)+256>>2]=b>>>4&1;c[1989392+(a*412|0)+304>>2]=b>>>5&1;c[1989392+(a*412|0)+352>>2]=b>>>6&1;c[1989392+(a*412|0)+400>>2]=b>>>7&1;return}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;Zs(1990224+((a&255)*531284|0)|0,b,c);return}function Zs(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((h|0)<=0)return;p=f+4400|0;q=f+529300|0;o=c[g+4>>2]|0;m=c[g>>2]|0;n=0;while(1){l=0;i=0;g=0;do{if((a[f+48+(l<<7)+33>>0]|0)!=0?(a[f+48+(l<<7)+34>>0]|0)==0:0){c[857773]=f+4144+(d[p>>0]<<1);j=_s(f,f+48+(l<<7)|0)|0;k=f+48+(l<<7)+12|0;if(!(a[45671]|0)){r=e[f+48+(l<<7)+20>>1]|0;$s(q,(M(c[f+4456+((r<<13&57344|b[k>>1]&255)<<2)>>2]|0,j)|0)>>10,r>>>3&15)}r=e[f+48+(l<<7)+22>>1]|0;r=r&7936|b[k>>1]&255|r&57344;g=((M(c[f+4456+(r<<2)>>2]|0,j)|0)>>12)+g|0;i=((M(c[f+266600+(r<<2)>>2]|0,j)|0)>>12)+i|0}a[p>>0]=(a[p>>0]|0)+1&63;l=l+1|0}while((l|0)!=32);if(!(a[45671]|0)){at(q);k=0;do{j=e[f+48+(k<<7)+22>>1]|0;if(j&224){r=b[f+531244+(k<<1)>>1]|0;l=j<<8&65280;g=((M(c[f+4456+(l<<2)>>2]|0,r)|0)>>12)+g|0;i=((M(c[f+266600+(l<<2)>>2]|0,r)|0)>>12)+i|0}k=k+1|0}while((k|0)!=16)}c[m>>2]=g;c[o>>2]=i;n=n+1|0;if((n|0)==(h|0))break;else{o=o+4|0;m=m+4|0}}return}function _s(f,g){f=f|0;g=g|0;var h=0,i=0,j=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=k;k=k+32|0;r=A+20|0;s=A+16|0;w=A+8|0;x=A;h=c[g+48>>2]|0;c[w>>2]=r;c[w+4>>2]=s;t=g+40|0;c[x>>2]=t;p=g+44|0;c[x+4>>2]=p;i=b[g>>1]|0;if(i&384){f=0;k=A;return f|0}z=g+18|0;if(!(b[z>>1]&224))v=i;else{h=(M(dt(g+88|0)|0,h)|0)>>12;v=b[g>>1]|0}i=v&16;o=c[t>>2]|0;if(!(i<<16>>16)){l=o>>>11&524286;c[r>>2]=l;n=(c[p>>2]|0)>>>11&524286}else{l=o>>>12;c[r>>2]=l;n=(c[p>>2]|0)>>>12}c[s>>2]=n;q=b[g+14>>1]|0;j=q&65535;if(q<<16>>16){q=d[f+4400>>0]|0;q=(((b[f+4144+((q+j&63)<<1)>>1]|0)+(b[f+4144+(((j>>>6)+q&63)<<1)>>1]|0)|0)/2|0)<<10>>26-(j>>>12)<<(((i&65535)>>>4^1)&65535);l=q+l|0;c[r>>2]=l;n=q+n|0;c[s>>2]=n}q=v&65535;j=c[f+4404>>2]|0;m=q<<16&983040|e[g+2>>1];i=m+l|0;if(!(q&16)){q=j+(i&524286)|0;n=j+(n+m&524286)|0;i=o&4095;i=(M((d[n>>0]<<8|d[n+1>>0])<<16>>16,i)|0)+(M((d[q>>0]<<8|d[q+1>>0])<<16>>16,4096-i|0)|0)|0}else{q=o&4095;i=(M(q,a[j+(n+m&524287)>>0]|0)|0)+(M(4096-q|0,a[j+(i&524287)>>0]|0)|0)<<8}i=i>>12;i=(v&512)==0?i:i^32767;i=(v&1024)==0?i:(i<<16^-2147483648)>>16;q=g+32|0;n=(a[q>>0]|0)==0;m=(n?h:0-h|0)+o|0;c[t>>2]=m;o=m+4096|0;c[p>>2]=o;t=m>>>12;c[r>>2]=t;c[s>>2]=o>>>12;o=g+4|0;if((!(t>>>0<(e[o>>1]|0)>>>0|n^1)?b[g+10>>1]&16384:0)?(u=g+56|0,(c[u>>2]|0)==0):0)c[u>>2]=1;n=g+6|0;h=0;j=(v&65535)>>>5&255;a:while(1){b:do switch(j&3){case 0:{v=c[c[w+(h<<2)>>2]>>2]|0;if(v>>>0>=(e[o>>1]|0)>>>0?v>>>0>=(e[n>>1]|0)>>>0:0)et(g,0);break}case 1:{j=e[n>>1]|0;if((c[c[w+(h<<2)>>2]>>2]|0)>>>0>=j>>>0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(c[v>>2]|0)-(j<<12)+(e[o>>1]<<12)}break}case 2:{j=e[o>>1]|0;do if((c[c[w+(h<<2)>>2]>>2]|0)>>>0>=j>>>0){l=c[x+(h<<2)>>2]|0;m=c[l>>2]|0;if(a[q>>0]|0)if((m|0)<0)break;else break b;else{c[l>>2]=(j<<12)-m+(e[n>>1]<<12);a[q>>0]=1;break b}}while(0);if(a[q>>0]|0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(c[v>>2]|0)-(j<<12)+(e[n>>1]<<12)}break}case 3:{l=c[c[w+(h<<2)>>2]>>2]|0;j=e[n>>1]|0;if(l>>>0>=j>>>0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(j<<13)-(c[v>>2]|0);a[q>>0]=1;break b}j=e[o>>1]|0;if(l>>>0>=j>>>0?(c[c[x+(h<<2)>>2]>>2]|0)>=0:0)break b;if(a[q>>0]|0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(j<<13)-(c[v>>2]|0);a[q>>0]=0}break}default:{y=35;break a}}while(0);h=h+1|0;if(h>>>0>=2)break;j=(e[g>>1]|0)>>>5&255}j=g+12|0;do if(!(b[j>>1]&256)){if(b[z>>1]&7)i=(M(ft(g+104|0)|0,i)|0)>>12;z=(c[g+56>>2]|0)==0;h=gt(g)|0;if(z){i=(M(h,i)|0)>>12;break}else{i=(M(c[3052800+(h>>2<<2)>>2]|0,i)|0)>>12;break}}while(0);h=e[j>>1]|0;if(h&512|0){f=i;k=A;return f|0}if(!(h&256)){f=(M(c[f+4456+((h&255|57344)<<2)>>2]|0,i)|0)>>>13&65535;b[c[857773]>>1]=f;f=i;k=A;return f|0}else{f=(M(c[f+233832>>2]|0,i)|0)>>>13&65535;b[c[857773]>>1]=f;f=i;k=A;return f|0}return 0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;d=a+1876+(d<<2)|0;c[d>>2]=(c[d>>2]|0)+b;return}function at(a){a=a|0;var d=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if(c[a+1976>>2]|0)return;O=a+1944|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[O+24>>2]=0;c[O+28>>2]=0;O=a+1980|0;Q=a+1872|0;a:do if((c[O>>2]|0)>0){P=a+8|0;L=a+12|0;f=0;k=0;I=0;d=0;J=0;K=0;b:while(1){D=a+208+(J<<2<<1)|0;u=e[D>>1]|0;o=u>>>8;v=u&128;q=b[D+2>>1]|0;p=q&65535;h=p>>>6&63;i=p&32;j=p&31;B=e[D+4>>1]|0;z=B&16384;y=B&8192;M=B&4096;N=B>>>8&15;G=B&128;w=B&64;s=B>>>4;H=s&3;t=B&8;n=B&4;l=B&2;m=B&1;D=e[D+6>>1]|0;F=D>>>15;r=D>>>9&63;A=D>>>2&31;C=D&2;D=D&1;do if(h>>>0>=32)if(h>>>0>=48)if(h>>>0<50){g=0;break}else{d=54;break b}else{g=c[a+1876+(h+-32<<2)>>2]<<4;break}else g=c[a+1744+(h<<2)>>2]|0;while(0);g=g<<8>>8;if(!i)E=g;else{c[a+1744+(j<<2)>>2]=f;E=(h|0)==(j|0)?f:g}if(!l){if(!m)g=c[a+1232+(((c[Q>>2]|0)+o&127)<<2)>>2]<<8>>8;else g=K;i=(n|0)==0?g:0-g|0}else i=0;if(!(p&32768))h=c[a+1232+(((c[Q>>2]|0)+o&127)<<2)>>2]<<8>>8;else h=E;switch((q&65535)>>>13&3){case 0:{g=k;break}case 1:{g=b[a+16+(r<<1)>>1]>>3;break}case 2:{g=I>>>11&8191;break}case 3:{g=I>>>4&4095;break}default:{d=21;break b}}I=(t|0)==0?I:E;switch(s&3){case 0:{l=(K|0)<8388607?K:8388607;l=(l|0)>-8388608?l:-8388608;break}case 1:{l=K<<1;l=(l|0)<8388607?l:8388607;l=(l|0)>-8388608?l:-8388608;break}case 2:{l=K<<9>>8;break}case 3:{l=K<<8>>8;break}default:{d=27;break b}}K=g<<19>>19;K=gz(K|0,((K|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;K=jz(K|0,x|0,12)|0;K=i+K|0;if(v|0)c[a+1232+(((c[Q>>2]|0)+u&127)<<2)>>2]=l;do if(w)if((H|0)==3){k=l&4095;break}else{k=l>>>11&8191;break}while(0);i=(y|0)==0;j=(z|0)==0;do if(B&24576){g=e[a+144+(A<<1)>>1]|0;if(!(B&32768)){h=((C|0)==0?0:d&4095)+D+((c[Q>>2]|0)+g)|0;g=(c[L>>2]|0)+-1|0}else{h=65535;g=((C|0)==0?0:d&4095)+D+g|0}h=(c[P>>2]<<12)+(g&h)|0;h=h>>>0>524287?0:h;g=(J&1|0)==0;do if(!(g|i)){f=b[(c[a>>2]|0)+(h<<1)>>1]|0;if(!F){f=bt(f)|0;break}else{f=(f&65535)<<8;break}}while(0);if(!(g|j))if(!F){F=ct(l)|0;b[(c[a>>2]|0)+(h<<1)>>1]=F;break}else{b[(c[a>>2]|0)+(h<<1)>>1]=l>>>8;break}}while(0);do if(G)if((H|0)==3){d=l>>>12&4095;break}else{d=E>>16;break}while(0);if(M|0){N=a+1944+(N<<1)|0;b[N>>1]=(l>>>8)+(e[N>>1]|0)}J=J+1|0;if((J|0)>=(c[O>>2]|0))break a}if((d|0)!=21)if((d|0)!=27)if((d|0)==54)return}while(0);c[Q>>2]=(c[Q>>2]|0)+-1;d=a+1876|0;f=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));return}function bt(a){a=a|0;var b=0,c=0,d=0;d=a&65535;c=d>>>15;a=d>>>11&15;b=a>>>0>11;d=d<<11&4192256|c<<22;return ((b?d:d^4194304)|c<<23)<<8>>8>>(b?11:a)|0}function ct(a){a=a|0;var b=0,c=0,d=0,e=0;b=a<<1^a;if(!(b&8388608)){b=b&16777215;d=0;while(1){d=d+1|0;c=d>>>0<12;if(!((b&4194304|0)==0&c))break;else b=b<<1}if(c){c=d;b=a<>>8&32768|b>>>11&2047)&65535|0}function dt(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+((c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]|0)+128<<2)>>2]<<4|0}function et(d,e){d=d|0;e=e|0;if(!e)a[d+33>>0]=0;else c[d+56>>2]=3;b[d>>1]=b[d>>1]&-2049;return}function ft(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+(c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]<<2)>>2]<<4|0}function gt(d){d=d|0;var f=0,g=0,h=0;h=d+52|0;g=d+56|0;a:do switch(c[g>>2]|0){case 0:{f=(c[h>>2]|0)+(c[d+64>>2]|0)|0;c[h>>2]=f;if((f|0)>67043327){if(!(b[d+10>>1]&16384))c[g>>2]=(c[d+68>>2]|0)>67108863?2:1;c[h>>2]=67043328;f=67043328}if(a[d+84>>0]|0){d=4092;return d|0}break}case 1:{f=(c[h>>2]|0)-(c[d+68>>2]|0)|0;f=(f|0)>0?f:0;c[h>>2]=f;if((f>>>21|0)<=(c[d+80>>2]|0))c[g>>2]=2;break}case 2:{if((e[d+8>>1]|0)>=2048){f=(c[h>>2]|0)-(c[d+72>>2]|0)|0;f=(f|0)>0?f:0;c[h>>2]=f;break a}d=c[h>>2]>>16<<2;return d|0}case 3:{f=(c[h>>2]|0)-(c[d+76>>2]|0)|0;c[h>>2]=f;if((f|0)<1){c[h>>2]=0;et(d,0);f=c[h>>2]|0}break}default:{d=4096;return d|0}}while(0);d=f>>16<<2;return d|0}function ht(a,b){a=a|0;b=b|0;var d=0;d=a&255;if((a&255)>1){d=0;return d|0}it(1990224+(d*531284|0)|0,(b|0)<1e6?b<<9:b);d=c[1990224+(d*531284|0)+4416>>2]|0;return d|0}function it(d,e){d=d|0;e=e|0;var f=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;nz(d|0,0,531284)|0;l=d+529300|0;jt(l);c[d+4412>>2]=e;c[d+4416>>2]=(e|0)/512|0;a[d+4454>>0]=0;a[d+4455>>0]=0;a[d+4420>>0]=0;a[d+4421>>0]=0;c[d+4408>>2]=524288;e=ex(524288)|0;c[d+4404>>2]=e;c[d+529304>>2]=262144;c[l>>2]=e;e=0;do{c[3052800+(e<<2)>>2]=~~(+B(10.0,+(+((e*3|0)+-3069|0)*.03125/20.0))*4096.0);e=e+1|0}while((e|0)!=1024);f=0;do{e=f>>>13&7;j=(f&1|0)==0?0.0:-.4000000059604645;j=(f&2|0)==0?j:j+-.800000011920929;j=(f&4|0)==0?j:j+-1.5;j=(f&8|0)==0?j:j+-3.0;j=(f&16|0)==0?j:j+-6.0;j=(f&32|0)==0?j:j+-12.0;j=(f&64|0)==0?j:j+-24.0;j=+B(10.0,+(((f&128|0)==0?j:j+-48.0)/20.0));k=(f&256|0)==0?0.0:-3.0;k=(f&512|0)==0?k:k+-6.0;k=(f&1024|0)==0?k:k+-12.0;k=+B(10.0,+(((f&2048|0)==0?k:k+-24.0)/20.0));l=(f&4096|0)==0;if(!e)i=0.0;else i=+B(10.0,+(+g[33184+(e<<2)>>2]/20.0));m=(f&3840|0)==3840?0.0:k*4.0;k=i;c[d+4456+(f<<2)>>2]=~~((l?m:4.0)*j*k*4096.0)>>>0;c[d+266600+(f<<2)>>2]=~~((l?4.0:m)*j*k*4096.0)>>>0;f=f+1|0}while((f|0)!=65536);c[d+529044>>2]=0;c[d+528788>>2]=0;c[d+529048>>2]=0;c[d+528792>>2]=0;e=2;do{if((e|1|0)==63)f=67108864;else f=~~(1023.0e3/(+h[33216+(e<<3)>>3]*44100.0)*65536.0);c[d+528788+(e<<2)>>2]=f;c[d+529044+(e<<2)>>2]=~~(1023.0e3/(+h[33728+(e<<3)>>3]*44100.0)*65536.0);e=e+1|0}while((e|0)!=64);e=0;do{c[d+48+(e<<7)+120>>2]=e;a[d+48+(e<<7)+33>>0]=0;c[d+48+(e<<7)+36>>2]=0;c[d+48+(e<<7)+56>>2]=3;e=e+1|0}while((e|0)!=32);kt();b[d+32>>1]=0;c[d+528756>>2]=65535;c[d+528760>>2]=65535;c[d+528764>>2]=65535;return}function jt(a){a=a|0;nz(a|0,0,1984)|0;c[a+12>>2]=32768;c[a+1976>>2]=1;return}function kt(){var b=0,d=0.0,e=0,f=0,h=0,i=0;if(a[3432178]|0)return;f=0;do{i=f>>>0<128;c[3056896+(f<<2)>>2]=255-f;c[3057920+(f<<2)>>2]=i?f:f+-256|0;c[3058944+(f<<2)>>2]=i?255:0;c[3059968+(f<<2)>>2]=i?127:-128;e=f<<1;b=255-e|0;h=i?b:e+-256|0;do if(!i)if(f>>>0<192){b=256-e|0;break}else{b=e+-511|0;break}else b=f>>>0<64?e:b;while(0);c[3060992+(f<<2)>>2]=h;c[3062016+(f<<2)>>2]=b;i=(Qy()|0)&255;c[3063040+(f<<2)>>2]=i;c[3064064+(f<<2)>>2]=128-i;f=f+1|0}while((f|0)!=256);e=0;do{d=+g[34240+(e<<2)>>2];b=-128;do{c[3065088+(e<<10)+(b+128<<2)>>2]=~~(+ma(+(d*+(b|0)*.0078125/1200.0))*256.0)>>>0;b=b+1|0}while((b|0)!=128);d=+g[34272+(e<<2)>>2];b=0;do{c[3073280+(e<<10)+(b<<2)>>2]=~~(+B(10.0,+(-(d*+(b|0))*.00390625/20.0))*256.0)>>>0;b=b+1|0}while((b|0)!=256);e=e+1|0}while((e|0)!=8);a[3432178]=1;return}function lt(a){a=a|0;a=1990224+((a&255)*531284|0)+4404|0;fx(c[a>>2]|0);c[a>>2]=0;return}function mt(b){b=b|0;var d=0;d=b&255;b=0;do{c[1990224+(d*531284|0)+48+(b<<7)+120>>2]=b;a[1990224+(d*531284|0)+48+(b<<7)+33>>0]=0;c[1990224+(d*531284|0)+48+(b<<7)+36>>2]=0;c[1990224+(d*531284|0)+48+(b<<7)+56>>2]=3;b=b+1|0}while((b|0)!=32);b=1990224+(d*531284|0)+529300|0;jt(b);c[1990224+(d*531284|0)+529304>>2]=(c[1990224+(d*531284|0)+4408>>2]|0)>>>1;c[b>>2]=c[1990224+(d*531284|0)+4404>>2];return}function nt(a,d){a=a|0;d=d|0;var e=0,f=0;f=d&65535;if(f>>>0<1024){d=b[a+48+(f>>>5<<7)+(d&31)>>1]|0;return d|0}if((f+-1042|0)>>>0<5){d=b[a+528778+(((d+6|0)>>>1&3)<<1)>>1]|0;return d|0}if(f>>>0<1536){e=d&63;if(f>>>0>=1072){d=0;return d|0}ot(a,e);d=b[a+e>>1]|0;return d|0}if(f>>>0<1792){d=b[a+4144+((f+-1536|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<1920){d=b[a+529316+((f+-1792|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<1984){d=b[a+529444+((f+-1920|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<2048){d=b[a+529444+((f+-1984|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<3072){d=b[a+529508+((f+-2048|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<3584){e=c[a+530532+((d>>>2&127)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}}if(f>>>0<3712){e=c[a+531044+((d>>>2&31)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}}if(f>>>0<3776){e=c[a+531176+((d>>>2&15)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}}if(f>>>0<3808){d=b[a+531244+((f+-3776|0)>>>1<<1)>>1]|0;return d|0}switch((d&65535)<<16>>16){case 3808:{d=(c[a+530532>>2]|0)>>>16&65535;return d|0}case 3810:{d=c[a+530532>>2]&65535;return d|0}default:{d=0;return d|0}}return 0}function ot(f,g){f=f|0;g=g|0;var h=0,i=0,j=0;switch(g&63){case 5:case 4:{h=f+4|0;i=f+4455|0;j=a[i>>0]|0;g=(d[(j&255)+(f+4422)>>0]|b[h>>1]&-256&65535)&65535;if(j<<24>>24!=(a[f+4454>>0]|0))a[i>>0]=j+1&31;b[h>>1]=g;return}case 9:case 8:{j=f+8|0;i=(e[j>>1]|0)>>>11&65535;b[j>>1]=(c[f+48+(i<<7)+40>>2]|0)>>>17&1920|c[f+48+(i<<7)+56>>2]<<5&96|31-((c[f+48+(i<<7)+52>>2]|0)>>>21)&31;return}case 44:case 45:{b[f+44>>1]=b[f+528786>>1]|0;return}case 42:case 43:{b[f+42>>1]=b[f+528784>>1]|0;return}default:return}}function pt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=1990224+((a&255)*531284|0)|0;d=b&65534;e=(nt(a,d)|0)&65535;if(!(b&1)){c=e&255|(c&255)<<8;c=c&65535;qt(a,d,c);return}else{c=e&65280|c&255;c=c&65535;qt(a,d,c);return}}function qt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=c&65535;if(e>>>0<1024){f=e>>>5;e=c&31;b[a+48+(f<<7)+e>>1]=d;rt(a,f,e);return}if(e>>>0<1536){c=c&63;if(e>>>0>=1072)return;b[a+c>>1]=d;st(a,c);return}if(e>>>0<1792){b[a+4144+((e+-1536|0)>>>1<<1)>>1]=d;return}if(e>>>0<1920){b[a+529316+((e+-1792|0)>>>1<<1)>>1]=d;return}if(e>>>0<1984){b[a+529444+((e+-1920|0)>>>1<<1)>>1]=d;return}if(e>>>0<2048){b[a+529444+((e+-1984|0)>>>1<<1)>>1]=d;return}if(e>>>0>=3072)return;b[a+529508+((e+-2048|0)>>>1<<1)>>1]=d;if((e|0)!=3056)return;tt(a+529300|0);return}function rt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;g=a+48+(d<<7)|0;switch(e&63){case 1:case 0:{if(!(b[g>>1]&4096))return;e=0;do{f=a+48+(e<<7)|0;d=b[f>>1]|0;if((d&2048)!=0?(c[a+48+(e<<7)+56>>2]|0)==3:0){ut(a,f);d=b[f>>1]|0}if(!(d&2048))et(f,1);e=e+1|0}while((e|0)!=32);b[g>>1]=b[g>>1]&-4097;return}case 17:case 16:{c[a+48+(d<<7)+48>>2]=vt(b[a+48+(d<<7)+16>>1]|0)|0;return}case 11:case 10:{g=b[a+48+(d<<7)+10>>1]|0;c[a+48+(d<<7)+76>>2]=wt(a,0,g&31)|0;c[a+48+(d<<7)+80>>2]=(g&65535)>>>5&31^31;return}case 19:case 18:{xt(g);return}default:return}}function st(a,d){a=a|0;d=d|0;switch(d&63){case 46:case 47:{d=a+528786|0;b[d>>1]=b[d>>1]&~b[a+46>>1];return}case 3:case 2:{d=b[a+2>>1]|0;c[a+529308>>2]=d&63;switch((d&65535)>>>7&3){case 0:{c[a+529312>>2]=8192;return}case 1:{c[a+529312>>2]=16384;return}case 2:{c[a+529312>>2]=32768;return}case 3:{c[a+529312>>2]=65536;return}default:{}}break}case 42:case 43:{b[a+528784>>1]=b[a+42>>1]|0;return}case 9:case 8:{d=a+8|0;b[d>>1]=b[d>>1]&30720;return}default:return}}function tt(a){a=a|0;var d=0,e=0;c[a+1976>>2]=0;d=127;while(1){e=a+208+(d<<2<<1)|0;if(b[e>>1]|0)break;if(b[e+2>>1]|0)break;if(b[e+4>>1]|0)break;if(b[e+6>>1]|0)break;if(!d){d=-1;break}else d=d+-1|0}c[a+1980>>2]=d+1;return}function ut(d,f){d=d|0;f=f|0;var g=0,h=0;a[f+33>>0]=1;h=e[f>>1]|0;g=h<<16&983040|(e[f+2>>1]|0);c[f+36>>2]=(c[d+4404>>2]|0)+((h&16|0)==0?g&524286:g);c[f+40>>2]=0;c[f+44>>2]=4096;c[f+48>>2]=vt(b[f+16>>1]|0)|0;zt(d,f);c[f+56>>2]=0;c[f+52>>2]=25100288;b[f+124>>1]=0;a[f+32>>0]=0;xt(f);return}function vt(a){a=a|0;var b=0,c=0;b=a&65535;c=b>>>11<<28;a=c>>28;b=b&1023|1024;return ((c|0)>-805306368?b<>>(-2-a|0))|0}function wt(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+529044+(((d|0)>0?d:0)<<2)>>2]|0}function xt(a){a=a|0;var b=0,c=0,d=0;c=a+18|0;b=e[c>>1]|0;d=b>>>5&7;if(d){yt(a+88|0,b>>>10&31,b>>>8&3,d,0);b=e[c>>1]|0}c=b&7;if(!c)return;yt(a+104|0,b>>>10&31,b>>>3&3,c,1);return}function yt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+4>>2]=~~(+g[34304+(b<<2)>>2]*256.0/44100.0*256.0)>>>0;a:do if(!f){switch(d|0){case 0:{b=3057920;break}case 1:{b=3059968;break}case 2:{b=3062016;break}case 3:{b=3064064;break}default:{b=3065088;break a}}c[a+8>>2]=b;b=3065088}else{switch(d|0){case 0:{b=3056896;break}case 1:{b=3058944;break}case 2:{b=3060992;break}case 3:{b=3063040;break}default:{b=3073280;break a}}c[a+8>>2]=b;b=3073280}while(0);c[a+12>>2]=b+(e<<10);return}function zt(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=e[f+16>>1]|0;i=b[f+10>>1]|0;j=i&65535;h=j>>>10&15;if((h|0)==15)g=0;else g=(g>>>11<<28>>28)+(g>>>9&1)+(h<<1)|0;c[f+52>>2]=25100288;h=b[f+8>>1]|0;c[f+64>>2]=At(d,g,h&31)|0;k=h&65535;c[f+68>>2]=Bt(d,g,k>>>6&31)|0;c[f+72>>2]=Bt(d,g,k>>>11)|0;c[f+76>>2]=wt(d,g,i&31)|0;c[f+80>>2]=j>>>5&31^31;a[f+84>>0]=h&32;return}function At(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+528788+(((d|0)>0?d:0)<<2)>>2]|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+529044+(((d|0)>0?d:0)<<2)>>2]|0}function Ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=a&255;f=c[1990224+(a*531284|0)+4408>>2]|0;if(f>>>0<=b>>>0)return;mz((c[1990224+(a*531284|0)+4404>>2]|0)+b|0,e|0,((d+b|0)>>>0>f>>>0?f-b|0:d)|0)|0;return}function Dt(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[1990224+(b*531284|0)+48+(d<<7)+34>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Et(b){b=b|0;a[45671]=b&1;return}function Ft(a,b){a=a|0;b=b|0;var d=0;d=ex(180)|0;if(!d)return d|0;g[d+12>>2]=+(a&134217727|0)*.0625/+(b|0);Gt(d,15);Ht(d,9,16);Mh(d+140|0);Mh(d+148|0);Mh(d+156|0);Mh(d+164|0);b=c[857774]|0;if((a|0)<0&(b|0)!=0){c[b+172>>2]=128;c[d+172>>2]=129;c[d+176>>2]=b;c[b+176>>2]=d;c[857774]=0;return d|0}else{c[d+172>>2]=0;c[d+176>>2]=0;c[857774]=d;return d|0}return 0}function Gt(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Ht(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24>>2]=b;c[a+28>>2]=d;return}function It(a){a=a|0;c[a+16>>2]=255;c[a+32>>2]=1;c[a+36>>2]=15;c[a+76>>2]=0;c[a+92>>2]=1;g[a+124>>2]=1.1754943508222875e-38;c[a+40>>2]=1;c[a+44>>2]=15;c[a+80>>2]=0;c[a+96>>2]=1;g[a+128>>2]=1.1754943508222875e-38;c[a+48>>2]=1;c[a+52>>2]=15;c[a+84>>2]=0;c[a+100>>2]=1;g[a+132>>2]=1.1754943508222875e-38;c[a+56>>2]=1;c[a+60>>2]=15;c[a+72>>2]=16;c[a+88>>2]=0;c[a+104>>2]=1;g[a+136>>2]=1.1754943508222875e-38;c[a+64>>2]=0;c[a+68>>2]=32768;g[a+8>>2]=0.0;return}function Jt(a){a=a|0;fx(a);return}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0;do if(!(b&128)){d=a+64|0;e=c[d>>2]|0;if((e|0)<5&(e&1|0)==0){e=a+32+(e<<2)|0;c[e>>2]=c[e>>2]&15|b<<4&1008;break}else{c[a+32+(e<<2)>>2]=b&15;break}}else{e=b>>>4&7;d=a+64|0;c[d>>2]=e;e=a+32+(e<<2)|0;c[e>>2]=c[e>>2]&1008|b&15}while(0);d=c[d>>2]|0;switch(d|0){case 4:case 2:case 0:{d=a+32+(d<<2)|0;if(c[d>>2]|0)return;c[d>>2]=1;return}case 6:{c[a+68>>2]=32768;c[a+72>>2]=16<<(c[a+56>>2]&3);return}default:return}}function Lt(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function Mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=a+172|0;e=c[ja>>2]|0;if(!(e&128)){e=a;ga=a;f=0}else{f=c[a+176>>2]|0;ga=(e&1|0)==0;e=ga?f:a;ga=ga?a:f}if((d|0)<=0)return;ha=b+4|0;ia=a+60|0;C=e+68|0;D=a+120|0;E=a+56|0;F=a+16|0;G=a+12|0;H=a+8|0;I=a+20|0;J=f+120|0;K=a+72|0;L=a+84|0;N=a+88|0;O=a+104|0;P=a+68|0;Q=a+28|0;R=a+24|0;S=a+108|0;T=ga+124|0;U=a+36|0;V=a+112|0;W=ga+128|0;X=a+44|0;Y=ga+92|0;Z=a+116|0;_=ga+132|0;$=a+52|0;aa=ga+96|0;ba=ga+100|0;ca=a+76|0;da=a+80|0;ea=f+108|0;fa=f+112|0;s=f+116|0;t=a+32|0;u=a+124|0;v=a+92|0;w=a+40|0;x=a+128|0;y=a+96|0;z=a+48|0;A=a+132|0;B=a+100|0;r=0;do{do if(c[ga>>2]&1){h=+g[T>>2];e=c[34432+(c[U>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[S>>2]=~~(h*+(e|0))<<16>>16;break}else{c[S>>2]=M(c[Y>>2]|0,e)|0;break}}else c[S>>2]=0;while(0);do if(c[ga>>2]&2){h=+g[W>>2];e=c[34432+(c[X>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[V>>2]=~~(h*+(e|0))<<16>>16;break}else{c[V>>2]=M(c[aa>>2]|0,e)|0;break}}else c[V>>2]=0;while(0);do if(c[ga>>2]&4){h=+g[_>>2];e=c[34432+(c[$>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[Z>>2]=~~(h*+(e|0))<<16>>16;break}else{c[Z>>2]=M(c[ba>>2]|0,e)|0;break}}else c[Z>>2]=0;while(0);if(c[ga>>2]&8){e=M((c[C>>2]<<1&2)+-1|0,c[34432+(c[ia>>2]<<2)>>2]|0)|0;c[D>>2]=e;if(c[E>>2]&4|0){e=e>>1;ka=13}}else{e=0;ka=13}if((ka|0)==13){ka=0;c[D>>2]=e}c[(c[b>>2]|0)+(r<<2)>>2]=0;c[(c[ha>>2]|0)+(r<<2)>>2]=0;e=c[ja>>2]|0;if(!e){i=0;do{e=c[F>>2]|0;do if((e>>i&17|0)==17){h=+g[a+140+(i<<3)>>2];e=a+108+(i<<2)|0;f=c[e>>2]|0;if(h==1.0){q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+f;e=c[e>>2]|0;break}else{q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+~~(h*+(f|0));e=~~(+g[a+140+(i<<3)+4>>2]*+(c[e>>2]|0));break}}else{q=a+108+(i<<2)|0;p=(c[b>>2]|0)+(r<<2)|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]&0-(e>>>(i+4|0)&1));e=c[q>>2]&0-((c[F>>2]|0)>>>i&1)}while(0);q=(c[ha>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+e;i=i+1|0}while((i|0)!=4)}else{k=c[F>>2]|0;if(!(e&1)){f=(c[b>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[S>>2]&0-(k>>>4&1));f=(c[ha>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ea>>2]&0-(c[F>>2]&1));f=(c[b>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[V>>2]&0-((c[F>>2]|0)>>>5&1));f=(c[ha>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[fa>>2]&0-((c[F>>2]|0)>>>1&1));f=s;i=2;j=Z;e=(c[F>>2]|0)>>>6}else{f=D;i=3;j=J;e=k>>>7}q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+(c[j>>2]&0-(e&1));q=(c[ha>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+(c[f>>2]&0-((c[F>>2]|0)>>>i&1))}l=+g[G>>2]+ +g[H>>2];n=~~l;c[I>>2]=n;h=+(n|0);l=l-h;g[H>>2]=l;i=(c[ca>>2]|0)-n|0;c[ca>>2]=i;j=(c[da>>2]|0)-n|0;c[da>>2]=j;k=(c[L>>2]|0)-n|0;c[L>>2]=k;o=c[K>>2]|0;p=(o|0)==128;if(p)q=k;else q=(c[N>>2]|0)-n|0;c[N>>2]=q;m=h-l;l=l+h;if((i|0)<1){e=c[t>>2]|0;if((e|0)>5){f=c[v>>2]|0;h=(m+ +(i<<1|0))*+(f|0)/l;f=0-f|0}else{h=1.1754943508222875e-38;f=1}c[v>>2]=f;g[u>>2]=h;c[ca>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+i}else g[u>>2]=1.1754943508222875e-38;if((j|0)<1){e=c[w>>2]|0;if((e|0)>5){i=c[y>>2]|0;g[x>>2]=(m+ +(j<<1|0))*+(i|0)/l;c[y>>2]=0-i}else{c[y>>2]=1;g[x>>2]=1.1754943508222875e-38}c[da>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+j}else g[x>>2]=1.1754943508222875e-38;if((k|0)<1){e=c[z>>2]|0;if((e|0)>5){j=c[B>>2]|0;g[A>>2]=(m+ +(k<<1|0))*+(j|0)/l;c[B>>2]=0-j}else{c[B>>2]=1;g[A>>2]=1.1754943508222875e-38}c[L>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+k}else g[A>>2]=1.1754943508222875e-38;if((q|0)<1){e=0-(c[O>>2]|0)|0;c[O>>2]=e;if(!p)c[N>>2]=(M(((n|0)/(o|0)|0)+1|0,o)|0)+q;if((e|0)==1){a:do if(!(c[E>>2]&4)){f=c[P>>2]|0;e=f&1}else{e=c[R>>2]|0;switch(e|0){case 9:case 3:{f=c[P>>2]|0;q=f&e;e=(q|0)!=(e|0)&(q|0)!=0&1;break a}default:{f=c[P>>2]|0;e=f&e;e=e>>8^e;e=e>>4^e;e=e>>2^e;e=(e>>>1^e)&1;break a}}}while(0);c[P>>2]=e<<(c[Q>>2]|0)+-1|f>>1}}r=r+1|0}while((r|0)!=(d|0));return}function Nt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;lj(a+140|0,b);lj(a+148|0,c);lj(a+156|0,d);lj(a+164|0,e);return}function Ot(a,b){a=a|0;b=b|0;if(!(c[a+144>>2]|0))return;c[a+148>>2]=b&255;return}function Pt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a+200>>2]=2;d=b&255;g=(d&128|0)==0;if(g)e=c[a+96>>2]|0;else{e=d>>>4&7;c[a+96>>2]=e;f=a+64+(e<<2)|0;c[f>>2]=c[f>>2]&1008|d&15}f=(e|0)/2|0;switch(e|0){case 4:case 2:case 0:{b=a+64+(e<<2)|0;if(g){g=c[b>>2]&15|d<<4&1008;c[b>>2]=g;b=g}else b=c[b>>2]|0;if(!b)b=(c[a+204>>2]|0)==0?0:1024;c[a+152+(f<<2)>>2]=b;if((e|0)!=4)return;if((c[a+88>>2]&3|0)!=3)return;c[a+164>>2]=c[a+160>>2]<<1;return}case 7:case 5:case 3:case 1:{d=d&15;c[a+100+(f<<2)>>2]=c[a+(d<<2)>>2];b=a+64+(e<<2)|0;if(!g)return;c[b>>2]=c[b>>2]&1008|d;return}case 6:{b=a+88|0;if(g){g=c[b>>2]&1008|d&15;c[b>>2]=g;b=g}else b=c[b>>2]|0;b=b&3;if((b|0)==3)b=c[a+160>>2]<<1;else b=32<>2]=b;c[a+116>>2]=c[a+128>>2];return}default:return}}function Qt(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,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;Z=b+224|0;if((a[Z>>0]|0)>=0){if(((((c[b+152>>2]|0)==0?(c[b+100>>2]|0)==0:0)?(c[b+156>>2]|0)==0:0)?(c[b+104>>2]|0)==0:0)?(c[b+160>>2]|0)==0:0)h=(c[b+108>>2]|0)!=0&1;else h=1;if(!(c[b+112>>2]|h)){Z=g<<2;nz(d|0,0,Z|0)|0;nz(f|0,0,Z|0)|0;return}else h=0}else h=c[b+228>>2]|0;if((g|0)<=0)return;r=b+200|0;s=b+168|0;t=b+184|0;u=b+152|0;v=b+180|0;w=b+116|0;x=b+132|0;y=b+136|0;z=b+88|0;A=b+196|0;B=b+164|0;C=b+128|0;D=b+208|0;E=b+144|0;F=e[1716076]|0;G=b+100|0;H=b+148|0;I=b+140|0;J=h+112|0;K=b+112|0;L=b+172|0;N=b+188|0;O=b+156|0;P=b+176|0;Q=b+192|0;R=b+160|0;S=h+220|0;T=b+212|0;U=h+100|0;V=b+104|0;W=h+104|0;X=b+216|0;Y=b+108|0;q=h+108|0;p=b+220|0;b=1;k=1;while(1){h=c[r>>2]|0;if((h|0)>0)c[r>>2]=h+-1;o=c[s>>2]|0;c[s>>2]=o+-1;if((o|0)<2){c[t>>2]=c[t>>2]^1;c[s>>2]=c[u>>2]}o=c[L>>2]|0;c[L>>2]=o+-1;if((o|0)<2){c[N>>2]=c[N>>2]^1;c[L>>2]=c[O>>2]}o=c[P>>2]|0;c[P>>2]=o+-1;if((o|0)<2){c[Q>>2]=c[Q>>2]^1;c[P>>2]=c[R>>2]}o=c[v>>2]|0;c[v>>2]=o+-1;if((o|0)<2){h=c[w>>2]|0;o=((c[z>>2]|0)>>>2&(c[y>>2]&h|0)!=0|0)==((c[x>>2]&h|0)!=0|0);h=h>>>1;c[w>>2]=h;if(!o){h=c[C>>2]|h;c[w>>2]=h}c[A>>2]=h&1;c[v>>2]=c[B>>2]}h=a[Z>>0]|0;do if(!(h<<24>>24)){m=(c[E>>2]|0)==0;i=c[u>>2]|0;j=(i|0)>1;if(m)h=k;else{h=c[H>>2]|0;b=h>>>4&1;h=h&1}l=M(j?(j&(i|0)<=(F|0)?0:(c[t>>2]|0)==0?-1:1)&c[D>>2]:1,c[G>>2]|0)|0;i=M(l,h)|0;l=M(l,b)|0;j=c[O>>2]|0;k=(j|0)>1;if(!m){h=c[H>>2]|0;b=h>>>5&1;h=h>>>1&1}j=M(k?(k&(j|0)<=(F|0)?0:(c[N>>2]|0)==0?-1:1)&c[T>>2]:1,c[V>>2]|0)|0;k=(M(j,h)|0)+i|0;l=(M(j,b)|0)+l|0;i=c[R>>2]|0;j=(i|0)>1;if(!m){h=c[H>>2]|0;b=h>>>6&1;h=h>>>2&1}j=M(j?(j&(i|0)<=(F|0)?0:(c[Q>>2]|0)==0?-1:1)&c[X>>2]:1,c[Y>>2]|0)|0;i=(M(j,h)|0)+k|0;j=(M(j,b)|0)+l|0;if(!m){h=c[H>>2]|0;b=h>>>7&1;h=h>>>3&1}o=M(((c[A>>2]|0)==0?-1:1)&c[p>>2],c[K>>2]|0)|0;k=(M(o,h)|0)+i|0;j=(M(o,b)|0)+j|0}else{if(h&1){h=((c[A>>2]|0)==0?-1:1)&c[S>>2];if(!(c[E>>2]|0)){b=1;i=1}else{i=c[H>>2]|0;b=i>>>7&1;i=i>>>3&1}j=(M(c[J>>2]|0,h)|0)&0-b;k=(M(c[K>>2]|0,h)|0)&0-i;h=i;break}if(!(c[E>>2]|0))o=k;else{o=c[H>>2]|0;b=o>>>7&1;o=o>>>3&1}i=c[u>>2]|0;n=(i|0)==0;i=(n|(i|0)>(F|0)?((c[t>>2]|0)==0?-1:1):0)&c[D>>2];h=c[G>>2]|0;if(n)n=c[U>>2]|0;else{h=M(h,i)|0;n=M(c[U>>2]|0,i)|0}j=c[O>>2]|0;m=(j|0)==0;j=(m|(j|0)>(F|0)?((c[N>>2]|0)==0?-1:1):0)&c[T>>2];i=c[V>>2]|0;if(m)m=c[W>>2]|0;else{i=M(i,j)|0;m=M(c[W>>2]|0,j)|0}k=c[R>>2]|0;l=(k|0)==0;k=(l|(k|0)>(F|0)?((c[Q>>2]|0)==0?-1:1):0)&c[X>>2];j=c[Y>>2]|0;if(l){l=j;j=c[q>>2]|0}else{l=M(j,k)|0;j=M(c[q>>2]|0,k)|0}k=M(j+(m+n)|0,o)|0;j=M(l+(i+h)|0,b)|0;h=o}while(0);o=(c[I>>2]|0)==0;c[d>>2]=(o?j:0-j|0)>>1;c[f>>2]=(o?k:0-k|0)>>1;if((g|0)>1){f=f+4|0;d=d+4|0;g=g+-1|0;k=h}else break}return}function Rt(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;m=o;n=ex(232)|0;if(!n){n=0;k=o;return n|0}nz(n|0,0,232)|0;c[a>>2]=n;l=0;a=0;do{j=1<>2]=j;j=a+1|0;if((a|0)>0){a=j;break}else a=j}l=l+1|0}while(l>>>0<16);if((a|0)<2)while(1){c[m+(a<<2)>>2]=c[m>>2];if((a|0)<1)a=a+1|0;else break}n=St(n,b,1<>2]|0,c[m+4>>2]|0,f,(g|0)==0&1,(h|0)==0?8:1,i)|0;k=o;return n|0}function St(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=Tt(d&2147483647,b,i)|0;l=c[857775]|0;if((d|0)<0&(l|0)!=0){a[l+224>>0]=-128;a[b+224>>0]=-127;c[b+228>>2]=l;c[l+228>>2]=b;d=0}else d=b;c[857775]=d;Ut(b);c[b+128>>2]=e;c[b+132>>2]=f;c[b+136>>2]=g;c[b+140>>2]=h;c[b+144>>2]=i;d=b+120|0;if(!j){i=c[d>>2]|0;h=j+-1|0;j=b+124|0;c[j>>2]=h;j=b+204|0;c[j>>2]=k;k=(m|0)/(i|0)|0;return k|0}else{c[d>>2]=j;i=j;h=j+-1|0;j=b+124|0;c[j>>2]=h;j=b+204|0;c[j>>2]=k;k=(m|0)/(i|0)|0;return k|0}return 0}function Tt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d+96|0;c[d+64>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d+68>>2]=15;c[d+72>>2]=0;c[d+76>>2]=15;c[d+80>>2]=0;c[d+84>>2]=15;c[d+88>>2]=0;c[d+92>>2]=15;f=d+152|0;c[d+184>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d+208>>2]=-1;c[d+172>>2]=0;c[d+188>>2]=0;c[d+212>>2]=-1;c[d+176>>2]=0;c[d+192>>2]=0;c[d+216>>2]=-1;c[d+180>>2]=0;c[d+220>>2]=-1;c[d+120>>2]=8;c[d+128>>2]=65536;c[d+132>>2]=4;c[d+136>>2]=8;c[d+140>>2]=0;c[d+144>>2]=e;c[d+200>>2]=1;c[d+148>>2]=255;c[d+204>>2]=1;c[d+116>>2]=65536;c[d+196>>2]=0;a[d+224>>0]=0;c[d+228>>2]=0;return (b|0)/2|0|0}function Ut(a){a=a|0;var b=0,d=0.0;b=0;d=8192.0;while(1){c[a+(b<<2)>>2]=d>8192.0?8192:~~(d+.5);b=b+1|0;if((b|0)==15)break;else d=d/1.258925412}c[a+60>>2]=0;return}function Vt(a){a=a|0;fx(a);return}function Wt(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;c[a+64>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+68>>2]=15;c[a+72>>2]=0;c[a+76>>2]=15;c[a+80>>2]=0;c[a+84>>2]=15;c[a+88>>2]=0;c[a+92>>2]=15;b=a+200|0;d=a+152|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=1;c[a+148>>2]=255;e=c[a+128>>2]|0;c[a+116>>2]=e;c[a+196>>2]=e&1;return}function Xt(a,c,d){a=a|0;c=c|0;d=d|0;b[1716076]=~~(+(a|0)/((c|0)==0?16.0:2.0)/+(d|0));return}function Yt(a,b){a=a|0;b=b|0;c[a+208>>2]=(b&1)+-1;c[a+212>>2]=(b>>>1&1)+-1;c[a+216>>2]=(b>>>2&1)+-1;c[a+220>>2]=(b>>>3&1)+-1;return}function Zt(b,d,e){b=b|0;d=d|0;e=e|0;b=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:{Qt(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 1:{Mt(c[b>>2]|0,d,e);return}default:return}}function _t(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((b&255)>1){f=0;return f|0}k=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:{f=Rt(k,d,e,f,g,h,i,j)|0;Xt(d&1073741823,i,c[857782]|0);return f|0}case 1:{g=c[857782]|0;b=Ft(d,g)|0;c[k>>2]=b;if(!b){f=0;return f|0}Ht(b,f,e);f=g;return f|0}default:{f=0;return f|0}}return 0}function $t(b){b=b|0;b=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:{Vt(c[b>>2]|0);return}case 1:{Jt(c[b>>2]|0);return}default:return}}function au(b){b=b|0;b=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:{Wt(c[b>>2]|0);return}case 1:{It(c[b>>2]|0);return}default:return}}function bu(b,d,e){b=b|0;d=d|0;e=e|0;b=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:switch(d|0){case 0:{Pt(c[b>>2]|0,e);return}case 1:{Ot(c[b>>2]|0,e);return}default:return}case 1:switch(d|0){case 0:{Kt(c[b>>2]|0,e&255);return}case 1:{Lt(c[b>>2]|0,e&255);return}default:return}default:return}}function cu(b){b=b|0;a[3432179]=(b&255)<2?b:0;return}function du(b,d){b=b|0;d=d|0;b=3431104+((b&255)<<2)|0;switch(a[3432179]|0){case 0:{Yt(c[b>>2]|0,d);return}case 1:{Gt(c[b>>2]|0,d&15^15);return}default:return}}function eu(d,e){d=d|0;e=e|0;if((a[3432179]|0)!=1)return;Nt(c[3431104+((d&255)<<2)>>2]|0,b[e>>1]|0,b[e+2>>1]|0,b[e+4>>1]|0,b[e+6>>1]|0);return}function fu(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d&255;p=3081472+(i*132|0)|0;q=3081472+(i*132|0)+16|0;d=c[q>>2]|0;n=3081472+(i*132|0)+46|0;o=c[3081472+(i*132|0)+4>>2]|0;g=c[p>>2]|0;k=c[e>>2]|0;j=c[e+4>>2]|0;m=3081472+(i*132|0)+12|0;h=(f|0)==0;if(!(a[m>>0]|0)){e=f<<2;if(h){o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}nz(k|0,0,e|0)|0;nz(j|0,0,e|0)|0;o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}if(h){o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}l=3081472+(i*132|0)+64|0;i=3081472+(i*132|0)+52|0;e=b[n>>1]|0;do{h=e<<16>>16<<7;c[k>>2]=h;k=k+4|0;c[j>>2]=h;j=j+4|0;f=f+-1|0;g=g+o|0;a:do if(!(a[l>>0]|0)){h=c[i>>2]|0;if(g>>>0>1048575&(h|0)!=0)do{r=g>>>20;r=(r|0)>(d|0)?d:r;g=g-(r<<20)|0;d=d-r|0;if(!d){gu(p);if(!(a[m>>0]|0)){d=0;break a}e=b[n>>1]|0;d=c[q>>2]|0;h=c[i>>2]|0}}while(g>>>0>1048575&(h|0)!=0)}else{if(!d){gu(p);d=c[q>>2]|0}d=d+-1|0;if(!d){gu(p);d=c[q>>2]|0}d=d+-1|0;if(!d){gu(p);d=c[q>>2]|0}d=d+-1|0;if(!d){gu(p);d=c[q>>2]|0}d=d+-1|0;if(!d){gu(p);d=c[q>>2]|0}}while(0)}while((f|0)!=0);c[q>>2]=d;c[p>>2]=g;return}function gu(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+12|0;g=a[j>>0]|0;a:do switch(g<<24>>24|0){case 0:{c[e+16>>2]=4;f=g;break}case 1:{a[e+11>>0]=0;if(a[e+64>>0]|0)hu(e);c[e+16>>2]=c[e+24>>2];f=a[e+23>>0]|0;a[j>>0]=f;break}case 2:{if(!(c[e+52>>2]|0))f=16;else f=a[e+8>>0]|0;a[e+28>>0]=f;c[e+16>>2]=70;a[j>>0]=3;f=3;break}case 3:{a[e+11>>0]=1;c[e+16>>2]=44;a[j>>0]=4;f=4;break}case 4:{f=c[e+52>>2]|0;f=a[((f|0)==0?e+8|0:f)>>0]|0;a[e+29>>0]=f;a[e+11>>0]=1;c[e+16>>2]=28;f=(d[e+28>>0]|0)>(f&255)?0:5;a[j>>0]=f;break}case 5:{a[e+11>>0]=1;c[e+16>>2]=32;a[j>>0]=6;f=6;break}case 6:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else f=f+((d[e+28>>0]<<1)+5)|0;c[e+36>>2]=d[f>>0]<<9;a[e+11>>0]=1;c[e+16>>2]=44;a[j>>0]=7;f=7;break}case 7:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else f=f+((d[e+28>>0]<<1)+6)|0;i=e+36|0;c[i>>2]=c[i>>2]|d[f>>0]<<1;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=8;f=8;break}case 8:{f=e+36|0;c[f>>2]=(c[f>>2]|0)+1;a[e+32>>0]=0;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=9;f=9;break}case 9:{i=e+22|0;g=a[i>>0]|0;if(g<<24>>24){a[i>>0]=g+-1<<24>>24;c[e+36>>2]=c[e+40>>2]}g=c[e+52>>2]|0;if(!g)g=e+8|0;else{k=e+36|0;h=c[k>>2]|0;c[k>>2]=h+1;g=g+(h&131071)|0}h=a[g>>0]|0;g=h&255;a[e+30>>0]=h;a[e+11>>0]=1;switch((h&255)>>>6&3){case 0:{c[e+16>>2]=(g<<10&64512)+1024;if(!(h<<24>>24))f=(a[e+32>>0]|0)==0?9:0;else f=9;a[j>>0]=f;b[e+46>>1]=0;a[e+44>>0]=0;break}case 1:{a[e+31>>0]=(g&63)+1;b[e+20>>1]=256;c[e+16>>2]=36;a[j>>0]=11;f=11;break}case 2:{a[e+31>>0]=(g&63)+1;c[e+16>>2]=36;a[j>>0]=10;f=10;break}case 3:{a[i>>0]=(g&7)+1;c[e+40>>2]=c[e+36>>2];c[e+16>>2]=36;a[j>>0]=9;f=9;break}default:{}}if(h<<24>>24)a[e+32>>0]=1;break}case 10:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else{i=e+36|0;k=c[i>>2]|0;c[i>>2]=k+1;f=f+(k&131071)|0}b[e+20>>1]=(d[f>>0]|0)+1;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=11;f=11;break}case 11:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else{i=e+36|0;k=c[i>>2]|0;c[i>>2]=k+1;f=f+(k&131071)|0}i=a[f>>0]|0;a[e+45>>0]=i;iu(e,(i&255)>>>4);a[e+11>>0]=1;c[e+16>>2]=d[e+31>>0]<<2;i=e+20|0;k=(b[i>>1]|0)+-1<<16>>16;b[i>>1]=k;if(!(k<<16>>16)){a[j>>0]=9;f=9;break a}else{a[j>>0]=12;f=12;break a}}case 12:{iu(e,a[e+45>>0]&15);c[e+16>>2]=d[e+31>>0]<<2;i=e+20|0;k=(b[i>>1]|0)+-1<<16>>16;b[i>>1]=k;if(!(k<<16>>16)){a[j>>0]=9;f=9;break a}else{a[j>>0]=11;f=11;break a}}default:f=g}while(0);if(!(a[e+11>>0]|0))return;a[e+23>>0]=f;k=e+16|0;c[e+24>>2]=(c[k>>2]|0)+-21;a[j>>0]=1;c[k>>2]=21;return}function hu(b){b=b|0;var c=0,d=0;c=b+129|0;d=a[c>>0]|0;if(d<<24>>24==(a[b+130>>0]|0))return;a[b+8>>0]=a[(d&255)+(b+65)>>0]|0;a[c>>0]=d+1&63;return}function iu(d,f){d=d|0;f=f|0;var g=0,h=0;g=d+44|0;h=a[g>>0]|0;d=d+46|0;b[d>>1]=(c[34496+(h<<24>>24<<6)+(f<<2)>>2]|0)+(e[d>>1]|0);d=(c[35520+(f<<2)>>2]|0)+(h&255)|0;a[g>>0]=d;d=d<<24;if((d|0)>=0)if((d|0)>251658240)d=15;else return;else d=0;a[g>>0]=d;return}function ju(a){a=a|0;ku(3081472+((a&255)*132|0)|0);return}function ku(b){b=b|0;var d=0,e=0;c[b>>2]=0;a[b+8>>0]=0;a[b+11>>0]=0;a[b+12>>0]=0;d=b+16|0;e=b+36|0;a[b+66>>0]=0;a[b+65>>0]=0;a[b+129>>0]=0;a[b+130>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;if(!(a[b+64>>0]|0))return;c[d>>2]=-1;return}function lu(b,d){b=b|0;d=d|0;var e=0;if((b&255)>1){d=0;return d|0}b=b&255;a[3081472+(b*132|0)+64>>0]=d>>>31;c[3081472+(b*132|0)+4>>2]=4194304;a[3081472+(b*132|0)+12>>0]=0;e=3081472+(b*132|0)+48|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[3081472+(b*132|0)+9>>0]=1;a[3081472+(b*132|0)+10>>0]=1;ku(3081472+(b*132|0)|0);d=d>>>2&536870911;return d|0}function mu(a){a=a|0;a=3081472+((a&255)*132|0)+56|0;fx(c[a>>2]|0);c[a>>2]=0;return}function nu(b,c){b=b|0;c=c|0;var d=0,e=0;b=b&255;e=3081472+(b*132|0)+9|0;d=a[e>>0]|0;c=c<<24>>24!=0;a[e>>0]=c&1;if(c|d<<24>>24==0)return;ku(3081472+(b*132|0)|0);return}function ou(b,d){b=b|0;d=d|0;var e=0,f=0;e=b&255;b=3081472+(e*132|0)+10|0;f=a[b>>0]|0;d=d<<24>>24!=0;a[b>>0]=d&1;b=3081472+(e*132|0)+12|0;if((a[b>>0]|f)<<24>>24!=0|d^1)return;if(!(a[3081472+(e*132|0)+9>>0]|0))return;a[b>>0]=2;c[3081472+(e*132|0)+16>>2]=0;return}function pu(b,c){b=b|0;c=c|0;var e=0;b=b&255;if(!(a[3081472+(b*132|0)+64>>0]|0)){a[3081472+(b*132|0)+8>>0]=c;return}else{e=3081472+(b*132|0)+130|0;a[(d[e>>0]|0)+(3081472+(b*132|0)+65)>>0]=c;a[e>>0]=(a[e>>0]|0)+1&63;return}}function qu(a,b){a=a|0;b=b|0;a=a&255;c[3081472+(a*132|0)+52>>2]=(c[3081472+(a*132|0)+56>>2]|0)+b;c[3081472+(a*132|0)+60>>2]=b;return}function ru(a,b,c){a=a|0;b=b|0;c=c|0;switch(b<<24>>24){case 0:{nu(a,c);break}case 1:{ou(a,c);break}case 2:{pu(a,c);break}case 3:{qu(a,(c&255)<<17);break}default:{}}return}function su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3081472+(a*132|0)+48|0;if((c[g>>2]|0)!=(b|0)){i=3081472+(a*132|0)+56|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0;c[3081472+(a*132|0)+52>>2]=h+(c[3081472+(a*132|0)+60>>2]|0)}if(b>>>0>>0)return;mz((c[3081472+(a*132|0)+56>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function tu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;G=b&255;H=3081744+(G*11480|0)|0;I=3081744+(G*11480|0)+11472|0;nz(c[I>>2]|0,0,f<<3|0)|0;J=(f|0)>0;F=(f|0)<1;E=J^1;D=0;b=c[I>>2]|0;a:while(1){b:do if(!(a[3081744+(G*11480|0)+11376+(D*3|0)+2>>0]|0))switch(a[3081744+(G*11480|0)+11376+(D*3|0)>>0]|0){case 0:{q=D+12|0;r=D+24|0;s=D+36|0;if((a[3081744+(G*11480|0)+4848+(D*136|0)+64>>0]|0)==0|F)break b;t=3081744+(G*11480|0)+4848+(D*136|0)+27|0;u=3081744+(G*11480|0)+4848+(D*136|0)+28|0;v=3081744+(G*11480|0)+4848+(q*136|0)+28|0;w=3081744+(G*11480|0)+4848+(r*136|0)+28|0;y=3081744+(G*11480|0)+4848+(s*136|0)+28|0;z=3081744+(G*11480|0)+4848+(D*136|0)+29|0;A=3081744+(G*11480|0)+4848+(q*136|0)+29|0;B=3081744+(G*11480|0)+4848+(r*136|0)+29|0;C=3081744+(G*11480|0)+4848+(s*136|0)+29|0;p=0;while(1){do switch(a[t>>0]|0){case 0:{h=uu(H,D,-1,-1)|0;g=x;vu(H,D,h,g);g=uu(H,q,uu(H,r,h,g)|0,x)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 1:{h=uu(H,r,uu(H,D,-1,-1)|0,x)|0;g=x;vu(H,D,h,g);g=uu(H,q,h,g)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 2:{h=uu(H,D,-1,-1)|0;g=x;vu(H,D,h,g);g=uu(H,q,az(uu(H,r,-2,-1)|0,x|0,h|0,g|0)|0,x)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 3:{h=uu(H,D,-1,-1)|0;g=x;vu(H,D,h,g);g=az(uu(H,q,uu(H,r,-2,-1)|0,x)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 4:{g=uu(H,D,-1,-1)|0;h=x;vu(H,D,g,h);h=uu(H,r,g,h)|0;g=x;g=az(uu(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 5:{h=uu(H,r,uu(H,D,-1,-1)|0,x)|0;g=x;vu(H,D,h,g);g=az(uu(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 6:{o=uu(H,D,-1,-1)|0;j=x;vu(H,D,o,j);j=uu(H,r,o,j)|0;o=x;g=uu(H,q,-2,-1)|0;h=x;i=0;k=0;m=0;l=0;K=23;break}case 7:{j=uu(H,r,uu(H,D,-1,-1)|0,x)|0;o=x;vu(H,D,j,o);g=uu(H,q,-2,-1)|0;h=x;i=0;k=0;m=0;l=0;K=23;break}case 8:{i=uu(H,D,-1,-1)|0;k=x;vu(H,D,i,k);g=uu(H,q,uu(H,r,-2,-1)|0,x)|0;h=x;m=0;l=0;j=0;o=0;K=23;break}case 9:{i=uu(H,D,-1,-1)|0;k=x;vu(H,D,i,k);h=uu(H,r,-2,-1)|0;g=x;g=az(uu(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;m=0;l=0;j=0;o=0;K=23;break}case 10:{o=uu(H,D,-1,-1)|0;j=x;vu(H,D,o,j);j=uu(H,r,o,j)|0;o=x;g=-2;h=-1;i=0;k=0;m=uu(H,q,-2,-1)|0;l=x;K=23;break}case 11:{j=uu(H,r,uu(H,D,-1,-1)|0,x)|0;o=x;vu(H,D,j,o);g=-2;h=-1;i=0;k=0;m=uu(H,q,-2,-1)|0;l=x;K=23;break}case 12:{l=uu(H,D,-1,-1)|0;m=x;vu(H,D,l,m);j=uu(H,r,l,m)|0;o=x;g=l;h=m;i=0;k=0;m=uu(H,q,l,m)|0;l=x;K=23;break}case 13:{i=uu(H,D,-1,-1)|0;k=x;vu(H,D,i,k);g=-2;h=-1;m=uu(H,q,uu(H,r,-2,-1)|0,x)|0;l=x;j=0;o=0;K=23;break}case 14:{i=uu(H,D,-1,-1)|0;k=x;vu(H,D,i,k);j=uu(H,r,i,k)|0;o=x;g=uu(H,q,-2,-1)|0;h=x;m=0;l=0;K=23;break}case 15:{i=uu(H,D,-1,-1)|0;k=x;vu(H,D,i,k);j=uu(H,r,-2,-1)|0;o=x;g=-2;h=-1;m=uu(H,q,-2,-1)|0;l=x;K=23;break}default:{n=0;k=0;m=0;l=0;j=0;g=0;h=0;i=0}}while(0);if((K|0)==23){K=0;h=uu(H,s,g,h)|0;n=i;g=o;i=x}o=c[3081744+(G*11480|0)+3248+(d[u>>0]<<2)>>2]|0;o=gz(n|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;L=x;M=c[3081744+(G*11480|0)+3248+(d[v>>0]<<2)>>2]|0;M=gz(m|0,l|0,M|0,((M|0)<0)<<31>>31|0)|0;L=az(M|0,x|0,o|0,L|0)|0;o=x;M=c[3081744+(G*11480|0)+3248+(d[w>>0]<<2)>>2]|0;M=gz(j|0,g|0,M|0,((M|0)<0)<<31>>31|0)|0;M=az(L|0,o|0,M|0,x|0)|0;o=x;L=c[3081744+(G*11480|0)+3248+(d[y>>0]<<2)>>2]|0;L=gz(h|0,i|0,L|0,((L|0)<0)<<31>>31|0)|0;L=az(M|0,o|0,L|0,x|0)|0;L=jz(L|0,x|0,16)|0;o=b+4|0;c[b>>2]=(c[b>>2]|0)+L;L=c[3081744+(G*11480|0)+3248+(d[z>>0]<<2)>>2]|0;k=gz(n|0,k|0,L|0,((L|0)<0)<<31>>31|0)|0;n=x;L=c[3081744+(G*11480|0)+3248+(d[A>>0]<<2)>>2]|0;m=gz(m|0,l|0,L|0,((L|0)<0)<<31>>31|0)|0;n=az(m|0,x|0,k|0,n|0)|0;m=x;l=c[3081744+(G*11480|0)+3248+(d[B>>0]<<2)>>2]|0;l=gz(j|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;l=az(n|0,m|0,l|0,x|0)|0;m=x;n=c[3081744+(G*11480|0)+3248+(d[C>>0]<<2)>>2]|0;n=gz(h|0,i|0,n|0,((n|0)<0)<<31>>31|0)|0;n=az(l|0,m|0,n|0,x|0)|0;n=jz(n|0,x|0,16)|0;c[o>>2]=(c[o>>2]|0)+n;p=p+1|0;if((p|0)==(f|0))break b;else b=b+8|0}}case 1:{i=D+24|0;b=0;do{k=b*12|0;j=k+D|0;k=i+k|0;c:do if(!((a[3081744+(G*11480|0)+4848+(j*136|0)+64>>0]|0)==0|E)){l=3081744+(G*11480|0)+4848+(j*136|0)+27|0;m=3081744+(G*11480|0)+4848+(j*136|0)+28|0;n=3081744+(G*11480|0)+4848+(k*136|0)+28|0;o=3081744+(G*11480|0)+4848+(j*136|0)+29|0;p=3081744+(G*11480|0)+4848+(k*136|0)+29|0;g=c[I>>2]|0;h=0;while(1){switch(a[l>>0]&3){case 0:{t=uu(H,j,-1,-1)|0;s=x;vu(H,j,t,s);q=0;r=0;s=uu(H,k,t,s)|0;t=x;break}case 1:{s=uu(H,k,uu(H,j,-1,-1)|0,x)|0;t=x;vu(H,j,s,t);q=0;r=0;break}case 2:{q=uu(H,j,-1,-1)|0;r=x;vu(H,j,q,r);s=uu(H,k,-2,-1)|0;t=x;break}case 3:{t=uu(H,j,-1,-1)|0;s=x;vu(H,j,t,s);q=t;r=s;s=uu(H,k,t,s)|0;t=x;break}default:{K=33;break a}}M=c[3081744+(G*11480|0)+3248+(d[m>>0]<<2)>>2]|0;M=gz(q|0,r|0,M|0,((M|0)<0)<<31>>31|0)|0;C=x;L=c[3081744+(G*11480|0)+3248+(d[n>>0]<<2)>>2]|0;L=gz(s|0,t|0,L|0,((L|0)<0)<<31>>31|0)|0;C=az(L|0,x|0,M|0,C|0)|0;C=jz(C|0,x|0,16)|0;M=g+4|0;c[g>>2]=(c[g>>2]|0)+C;C=c[3081744+(G*11480|0)+3248+(d[o>>0]<<2)>>2]|0;C=gz(q|0,r|0,C|0,((C|0)<0)<<31>>31|0)|0;L=x;B=c[3081744+(G*11480|0)+3248+(d[p>>0]<<2)>>2]|0;B=gz(s|0,t|0,B|0,((B|0)<0)<<31>>31|0)|0;L=az(B|0,x|0,C|0,L|0)|0;L=jz(L|0,x|0,16)|0;c[M>>2]=(c[M>>2]|0)+L;h=h+1|0;if((h|0)>=(f|0))break c;else g=g+8|0}}while(0);b=b+1|0}while(b>>>0<2);break}case 2:{n=D+12|0;o=D+24|0;if(!((a[3081744+(G*11480|0)+4848+(D*136|0)+64>>0]|0)==0|F)){p=3081744+(G*11480|0)+4848+(D*136|0)+27|0;q=3081744+(G*11480|0)+4848+(D*136|0)+28|0;r=3081744+(G*11480|0)+4848+(n*136|0)+28|0;s=3081744+(G*11480|0)+4848+(o*136|0)+28|0;t=3081744+(G*11480|0)+4848+(D*136|0)+29|0;u=3081744+(G*11480|0)+4848+(n*136|0)+29|0;v=3081744+(G*11480|0)+4848+(o*136|0)+29|0;g=0;while(1){switch(a[p>>0]&7){case 0:{i=uu(H,D,-1,-1)|0;h=x;vu(H,D,i,h);h=uu(H,o,i,h)|0;i=x;j=0;k=0;l=0;m=0;break}case 1:{h=uu(H,o,uu(H,D,-1,-1)|0,x)|0;i=x;vu(H,D,h,i);j=0;k=0;l=0;m=0;break}case 2:{i=uu(H,D,-1,-1)|0;h=x;vu(H,D,i,h);h=az(uu(H,o,-2,-1)|0,x|0,i|0,h|0)|0;i=x;j=0;k=0;l=0;m=0;break}case 3:{j=uu(H,D,-1,-1)|0;k=x;vu(H,D,j,k);h=uu(H,o,-2,-1)|0;i=x;l=0;m=0;break}case 4:{m=uu(H,D,-1,-1)|0;l=x;vu(H,D,m,l);h=-2;i=-1;j=0;k=0;l=uu(H,o,m,l)|0;m=x;break}case 5:{l=uu(H,o,uu(H,D,-1,-1)|0,x)|0;m=x;vu(H,D,l,m);h=-2;i=-1;j=0;k=0;break}case 6:{j=uu(H,D,-1,-1)|0;k=x;vu(H,D,j,k);h=-2;i=-1;l=uu(H,o,-2,-1)|0;m=x;break}case 7:{m=uu(H,D,-1,-1)|0;l=x;vu(H,D,m,l);h=-2;i=-1;j=m;k=l;l=uu(H,o,m,l)|0;m=x;break}default:{K=47;break a}}z=uu(H,n,h,i)|0;A=x;M=c[3081744+(G*11480|0)+3248+(d[q>>0]<<2)>>2]|0;M=gz(j|0,k|0,M|0,((M|0)<0)<<31>>31|0)|0;B=x;C=c[3081744+(G*11480|0)+3248+(d[r>>0]<<2)>>2]|0;C=gz(z|0,A|0,C|0,((C|0)<0)<<31>>31|0)|0;B=az(C|0,x|0,M|0,B|0)|0;M=x;C=c[3081744+(G*11480|0)+3248+(d[s>>0]<<2)>>2]|0;C=gz(l|0,m|0,C|0,((C|0)<0)<<31>>31|0)|0;C=az(B|0,M|0,C|0,x|0)|0;C=jz(C|0,x|0,16)|0;M=b+4|0;c[b>>2]=(c[b>>2]|0)+C;C=c[3081744+(G*11480|0)+3248+(d[t>>0]<<2)>>2]|0;C=gz(j|0,k|0,C|0,((C|0)<0)<<31>>31|0)|0;B=x;L=c[3081744+(G*11480|0)+3248+(d[u>>0]<<2)>>2]|0;L=gz(z|0,A|0,L|0,((L|0)<0)<<31>>31|0)|0;B=az(L|0,x|0,C|0,B|0)|0;C=x;L=c[3081744+(G*11480|0)+3248+(d[v>>0]<<2)>>2]|0;L=gz(l|0,m|0,L|0,((L|0)<0)<<31>>31|0)|0;L=az(B|0,C|0,L|0,x|0)|0;L=jz(L|0,x|0,16)|0;c[M>>2]=(c[M>>2]|0)+L;g=g+1|0;if((g|0)>=(f|0))break;else b=b+8|0}b=c[I>>2]|0}wu(H,D+36|0,b,f);break b}case 3:{wu(H,D,b,f);wu(H,D+12|0,b,f);wu(H,D+24|0,b,f);wu(H,D+36|0,b,f);break b}default:break b}while(0);D=D+1|0;b=c[I>>2]|0;if(D>>>0>=12){K=53;break}}if((K|0)!=33)if((K|0)!=47)if((K|0)==53){if(!J)return;h=e+4|0;g=0;while(1){c[(c[e>>2]|0)+(g<<2)>>2]=c[b>>2]>>2;c[(c[h>>2]|0)+(g<<2)>>2]=c[b+4>>2]>>2;g=g+1|0;if((g|0)==(f|0))break;else b=b+8|0}return}}function uu(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+4848+(e*136|0)|0;yu(h);zu(a,h);h=Au(a,h)|0;i=((h|0)<0)<<31>>31;switch(f|0){case -2:{if((g|0)==-1){f=0;g=0}else j=5;break}case -1:{if((g|0)==-1){g=a+4848+(e*136|0)+96|0;f=g;k=a+4848+(e*136|0)+104|0;l=c[k>>2]|0;k=c[k+4>>2]|0;f=az(l|0,k|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=ez(f|0,x|0,2,0)|0;c[g>>2]=l;c[g+4>>2]=k;g=x}else j=5;break}default:j=5}if((j|0)==5){g=kz(f|0,g|0,8)|0;f=c[35904+(d[a+4848+(e*136|0)+24>>0]<<2)>>2]|0;f=gz(g|0,x|0,f|0,((f|0)<0)<<31>>31|0)|0;g=x}k=c[a+(d[a+4848+(e*136|0)+25>>0]<<2)>>2]|0;j=a+4848+(e*136|0)+56|0;m=j;n=c[m>>2]|0;m=c[m+4>>2]|0;l=az(n|0,m|0,f|0,g|0)|0;l=jz(l|0,x|0,16)|0;l=b[k+((l&1023)<<1)>>1]|0;l=gz(l|0,((l|0)<0)<<31>>31|0,h|0,i|0)|0;l=iz(l|0,x|0,16)|0;k=x;i=az(n|0,m|0,c[a+4848+(e*136|0)+48>>2]|0,0)|0;c[j>>2]=i;c[j+4>>2]=x;x=k;return l|0}function vu(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;f=kz(e|0,f|0,8)|0;e=c[35872+((d[a+4848+(b*136|0)+24>>0]|0)<<2)>>2]|0;e=gz(f|0,x|0,e|0,((e|0)<0)<<31>>31|0)|0;e=ez(e|0,x|0,16,0)|0;f=a+4848+(b*136|0)+104|0;c[f>>2]=e;c[f+4>>2]=x;return}function wu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;w=b+4848+(e*136|0)|0;if(!((g|0)>0?(a[b+4848+(e*136|0)+64>>0]|0)!=0:0))return;y=b+4848+(e*136|0)+56|0;q=b+4848+(e*136|0)+40|0;r=b+4848+(e*136|0)+36|0;s=b+4848+(e*136|0)+65|0;t=b+4848+(e*136|0)+32|0;u=b+4848+(e*136|0)+28|0;v=b+4848+(e*136|0)+29|0;p=b+4848+(e*136|0)+48|0;e=y;o=0;h=c[e>>2]|0;e=c[e+4>>2]|0;while(1){n=jz(h|0,e|0,16)|0;m=x;l=c[q>>2]|0;if(m>>>0>0|(m|0)==0&n>>>0>l>>>0){m=kz(l|0,0,16)|0;n=x;i=bz(h|0,e|0,m|0,n|0)|0;h=x;k=c[r>>2]|0;j=kz(k|0,0,16)|0;e=x;h=az(j|0,e|0,i|0,h|0)|0;i=x;z=y;c[z>>2]=h;c[z+4>>2]=i;z=jz(h|0,i|0,16)|0;A=x;if(A>>>0>0|(A|0)==0&z>>>0>l>>>0){i=h&65535;h=i|j;A=y;c[A>>2]=h;c[A+4>>2]=e;if(k>>>0>l>>>0){j=i|m;e=y;c[e>>2]=j;c[e+4>>2]=n;e=n}else j=h}else{j=h;e=i}}else j=h;do if((a[s>>0]|0)!=8){i=c[t>>2]|0;e=jz(j|0,e|0,17)|0;e=e*3|0;h=e+i|0;if((j&65536|0)==0&0==0){A=((xu(b,h)|0)&255)<<8;e=A|(xu(b,i+1+e|0)|0)&-16&255;break}else{A=((xu(b,h+2|0)|0)&255)<<8;e=((xu(b,i+1+e|0)|0)&255)<<4&240|A;break}}else{A=c[t>>2]|0;e=jz(j|0,e|0,16)|0;e=((xu(b,A+e|0)|0)&255)<<8}while(0);yu(w);zu(b,w);z=Au(b,w)|0;m=((z|0)<0)<<31>>31;h=c[b+3248+(d[u>>0]<<2)>>2]|0;h=gz(h|0,((h|0)<0)<<31>>31|0,z|0,m|0)|0;A=x;k=iz(h|0,A|0,16)|0;l=x;n=c[b+3248+(d[v>>0]<<2)>>2]|0;m=gz(n|0,((n|0)<0)<<31>>31|0,z|0,m|0)|0;z=x;n=iz(m|0,z|0,16)|0;h=(A|0)>1|(A|0)==1&h>>>0>65535;m=(z|0)>1|(z|0)==1&m>>>0>65535;z=m?0:x;A=(e&65535)<<16>>16;e=((A|0)<0)<<31>>31;l=gz((h?65536:k)|0,(h?0:l)|0,A|0,e|0)|0;l=jz(l|0,x|0,16)|0;h=f+4|0;c[f>>2]=(c[f>>2]|0)+l;e=gz((m?65536:n)|0,z|0,A|0,e|0)|0;e=jz(e|0,x|0,16)|0;c[h>>2]=(c[h>>2]|0)+e;h=y;h=az(c[h>>2]|0,c[h+4>>2]|0,c[p>>2]|0,0)|0;e=x;A=y;c[A>>2]=h;c[A+4>>2]=e;o=o+1|0;if((o|0)==(g|0))break;else f=f+8|0}return}function xu(b,d){b=b|0;d=d|0;d=d&8388607;if(d>>>0>=(c[b+11464>>2]|0)>>>0){b=0;return b|0}b=a[(c[b+11460>>2]|0)+d>>0]|0;return b|0}function yu(b){b=b|0;var d=0,e=0,f=0;f=b+72|0;switch(c[f>>2]|0){case 0:{d=b+68|0;b=(c[d>>2]|0)+(c[b+76>>2]|0)|0;c[d>>2]=b;if((b|0)<=16711679)return;c[d>>2]=16711680;c[f>>2]=1;return}case 1:{d=a[b+13>>0]|0;e=b+68|0;c[e>>2]=(c[e>>2]|0)-(c[b+80>>2]|0);if((Cu(b)|0)<<24>>24)return;if((c[e>>2]>>16|0)>(255-((d&255)<<4)|0))return;c[f>>2]=2;return}case 2:{f=b+68|0;c[f>>2]=(c[f>>2]|0)-(c[b+84>>2]|0);Cu(b)|0;return}case 3:{f=b+68|0;c[f>>2]=(c[f>>2]|0)-(c[b+88>>2]|0);Cu(b)|0;return}default:return}}function zu(a,b){a=a|0;b=b|0;var e=0,f=0;f=b+112|0;e=(c[f>>2]|0)+(c[b+116>>2]|0)|0;c[f>>2]=e;f=d[b+3>>0]|0;e=e>>>8&255;c[b+120>>2]=c[(c[a+160+(f<<2)>>2]|0)+(e<<2)>>2];h[b+128>>3]=+h[(c[a+32+(f<<5)+((d[b+4>>0]|0)<<2)>>2]|0)+(e<<3)>>3];Bu(b);return}function Au(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;switch(a[e+5>>0]|0){case 3:{f=4277;h=4;break}case 1:{f=33124;h=4;break}case 2:{f=16742;h=4;break}default:{f=65536;g=0}}if((h|0)==4){g=65536-((M(c[e+120>>2]|0,f)|0)>>16)|0;f=g;g=((g|0)<0)<<31>>31}h=c[b+3824+(255-(c[e+68>>2]>>16)<<2)>>2]|0;g=gz(f|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=iz(g|0,x|0,16)|0;h=c[b+3312+(d[e+8>>0]<<2)>>2]|0;h=gz(g|0,x|0,h|0,((h|0)<0)<<31>>31|0)|0;h=jz(h|0,x|0,16)|0;return h|0}function Bu(b){b=b|0;var e=0,f=0,g=0.0,i=0.0,j=0.0;e=c[b+20>>2]<<1;if((a[b+25>>0]|0)==7){g=.125;j=+h[35584+(d[b+15>>0]<<3)>>3]*+((e|4096)>>>0)*+h[35712+(d[b+45>>0]<<3)>>3]*+h[35744+(d[b+7>>0]<<3)>>3];i=+h[b+128>>3];i=j*i;g=i*g;f=~~g>>>0;e=b+48|0;c[e>>2]=f;return}else{j=.0001220703125;g=+h[b+128>>3];i=+h[35584+(d[b+15>>0]<<3)>>3]*+(e>>>0)*+h[35744+(d[b+7>>0]<<3)>>3]*1024.0;i=g*i;j=i*j;e=~~j>>>0;f=b+48|0;c[f>>2]=e;return}}function Cu(b){b=b|0;var d=0;d=b+68|0;if((c[d>>2]|0)>=1){d=0;return d|0}a[b+64>>0]=0;c[d>>2]=0;d=1;return d|0}function Du(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;b=b&255;e=3081744+(b*11480|0)|0;a[(c&15)+(3081744+(b*11480|0)+11412)>>0]=d;switch(c&15){case 13:{Gu(e,a[3081744+(b*11480|0)+11424>>0]|0,d);return}case 9:{Fu(e,a[3081744+(b*11480|0)+11420>>0]|0,d);return}case 7:{Eu(e,3,a[3081744+(b*11480|0)+11418>>0]|0,d);return}case 5:{Eu(e,2,a[3081744+(b*11480|0)+11416>>0]|0,d);return}case 3:{Eu(e,1,a[3081744+(b*11480|0)+11414>>0]|0,d);return}case 1:{Eu(e,0,a[3081744+(b*11480|0)+11412>>0]|0,d);return}default:return}}function Eu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=e&255;g=i&15;h=c[35936+(g<<2)>>2]|0;i=i>>>4;if(34952>>>g&1|0)return;switch(i&15){case 14:case 13:case 12:case 10:case 9:case 0:{e=1;break}default:e=0}g=a[b+11376+(h*3|0)>>0]|0;switch(g<<24>>24){case 0:{j=(d|0)==0;k=8;break}case 1:{j=d>>>0<2;k=8;break}case 2:{j=(d|0)==0;k=8;break}default:{}}if((k|0)==8?(e|0)!=0&j:0)switch(g<<24>>24){case 0:{Hu(b,h,i,f);Hu(b,h+12|0,i,f);Hu(b,h+24|0,i,f);Hu(b,h+36|0,i,f);return}case 1:if(!d){Hu(b,h,i,f);Hu(b,h+24|0,i,f);return}else{Hu(b,h+12|0,i,f);Hu(b,h+36|0,i,f);return}case 2:{Hu(b,h,i,f);Hu(b,h+12|0,i,f);Hu(b,h+24|0,i,f);return}default:return}Hu(b,h+(d*12|0)|0,i,f);return}function Fu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&15;if(34952>>>f&1|0)return;f=c[36e3+(f<<2)>>2]|0;do switch((d&255)>>>4&15){case 0:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 1:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 2:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-16711681|(e&255)<<16&8323072;a[b+4848+(f*136|0)+44>>0]=(e&255)>>>7;return}case 3:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 4:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 5:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-16711681|(e&127)<<16;return}case 6:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 7:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 8:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-16711681|(e&127)<<16;return}case 9:{d=e&255;a[b+4848+(f*136|0)+45>>0]=d&3;a[b+4848+(f*136|0)+65>>0]=d&4|8;a[b+4848+(f*136|0)+46>>0]=d>>>3&3;a[b+4848+(f*136|0)+47>>0]=(e&255)>>>5;return}default:return}while(0)}function Gu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&255;if(!(f&240)){d=f&15;if(34952>>>d&1|0)return;f=c[35936+(d<<2)>>2]|0;a[b+11376+(f*3|0)>>0]=e&3;a[b+11376+(f*3|0)+1>>0]=(e&255)>>>7;return}switch(d<<24>>24){case 16:{c[b+11428>>2]=e&255;return}case 23:{e=b+11452|0;c[e>>2]=(c[e>>2]|0)+1&8388607;return}case 18:{c[b+11432>>2]=e&255;return}case 19:{d=e&255;if(d&16|0){f=b+11444|0;c[f>>2]=c[f>>2]&-2;f=b+11448|0;a[f>>0]=a[f>>0]&-2}if(d&32|0){f=b+11444|0;c[f>>2]=c[f>>2]&-3;f=b+11448|0;a[f>>0]=a[f>>0]&-3}a[b+11449>>0]=e;return}case 20:{b=b+11452|0;c[b>>2]=c[b>>2]&-256|e&255;return}case 21:{b=b+11452|0;c[b>>2]=c[b>>2]&-65281|(e&255)<<8;return}case 22:{f=b+11452|0;c[f>>2]=c[f>>2]&-16711681|(e&255)<<16&8323072;a[b+11456>>0]=(e&255)>>>7;return}default:return}}function Hu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=b+4848+(d*136|0)|0;do switch(e|0){case 0:{e=f&255;a[g>>0]=(f&255)>>>7;a[b+4848+(d*136|0)+1>>0]=e>>>3&15;if(e&1|0){c[b+4848+(d*136|0)+48>>2]=0;f=b+4848+(d*136|0)+56|0;c[f>>2]=0;c[f+4>>2]=0;a[b+4848+(d*136|0)+64>>0]=1;Bu(g);Iu(b,g);Ju(b,g);g=b+4848+(d*136|0)+96|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;return}if(!(a[b+4848+(d*136|0)+64>>0]|0))return;c[b+4848+(d*136|0)+72>>2]=3;return}case 1:{a[b+4848+(d*136|0)+2>>0]=f;return}case 2:{g=f&255;a[b+4848+(d*136|0)+3>>0]=g&3;a[b+4848+(d*136|0)+4>>0]=g>>>3&7;a[b+4848+(d*136|0)+5>>0]=(f&255)>>>6;return}case 3:{g=f&255;a[b+4848+(d*136|0)+7>>0]=g&15;a[b+4848+(d*136|0)+6>>0]=g>>>4&7;return}case 4:{a[b+4848+(d*136|0)+8>>0]=f&127;return}case 5:{a[b+4848+(d*136|0)+10>>0]=f&31;a[b+4848+(d*136|0)+9>>0]=(f&255)>>>5;return}case 6:{a[b+4848+(d*136|0)+11>>0]=f&31;return}case 7:{a[b+4848+(d*136|0)+12>>0]=f&31;return}case 8:{a[b+4848+(d*136|0)+14>>0]=f&15;a[b+4848+(d*136|0)+13>>0]=(f&255)>>>4;return}case 9:{g=a[b+4848+(d*136|0)+16>>0]|0;c[b+4848+(d*136|0)+20>>2]=(g&255)<<8&3840|f&255;a[b+4848+(d*136|0)+15>>0]=(g&255)>>>4;return}case 10:{a[b+4848+(d*136|0)+16>>0]=f;return}case 11:{g=f&255;a[b+4848+(d*136|0)+25>>0]=g&7;a[b+4848+(d*136|0)+24>>0]=g>>>4&7;a[b+4848+(d*136|0)+26>>0]=(f&255)>>>7;return}case 12:{a[b+4848+(d*136|0)+27>>0]=f&15;return}case 13:{a[b+4848+(d*136|0)+28>>0]=(f&255)>>>4;a[b+4848+(d*136|0)+29>>0]=f&15;return}case 14:{a[b+4848+(d*136|0)+30>>0]=(f&255)>>>4;a[b+4848+(d*136|0)+31>>0]=f&15;return}default:return}while(0)}function Iu(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0;i=d[e+13>>0]<<4;f=d[e+15>>0]|0;g=c[e+20>>2]|0;if((a[e+25>>0]|0)==7)g=Lu(f,g&2047)|0;else g=Ku(f,g)|0;j=d[e+9>>0]|0;f=Mu(d[e+10>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(255.0/+h[b+176+(f<<3)>>3]*65536.0);c[e+76>>2]=f;f=Mu(d[e+11>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(+(i|0)/+h[b+688+(f<<3)>>3]*65536.0);c[e+80>>2]=f;f=Mu(d[e+12>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(255.0/+h[b+688+(f<<3)>>3]*65536.0);c[e+84>>2]=f;f=Mu(d[e+14>>0]<<2,g,j)|0;if((f|0)<4){j=0;b=e+88|0;c[b>>2]=j;b=e+68|0;c[b>>2]=6225920;e=e+72|0;c[e>>2]=0;return}j=~~(255.0/+h[b+176+(f<<3)>>3]*65536.0);b=e+88|0;c[b>>2]=j;b=e+68|0;c[b>>2]=6225920;e=e+72|0;c[e>>2]=0;return}function Ju(a,b){a=a|0;b=b|0;c[b+112>>2]=0;c[b+120>>2]=0;h[b+128>>3]=0.0;c[b+116>>2]=~~(+h[a+1200+((d[b+2>>0]|0)<<3)>>3]*256.0/44100.0*256.0);return}function Ku(a,b){a=a|0;b=b|0;if((b|0)<1920)b=0;else b=(b|0)<2304?1:(b|0)<2688?2:3;return b|a<<2&28|0}function Lu(a,b){a=a|0;b=b|0;if((b|0)<256)b=0;else b=(b|0)<768?1:(b|0)<1280?2:3;return b|a<<2&28|0}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;d=(c[36064+(b<<5)+(d<<2)>>2]|0)+a|0;d=(d|0)<63?d:63;return ((d|0)>0?d:0)|0}function Nu(b,d){b=b|0;d=d|0;if((b&255)>15){d=0;return d|0}b=b&255;c[3081744+(b*11480|0)+11468>>2]=d;c[3081744+(b*11480|0)+11464>>2]=0;c[3081744+(b*11480|0)+11460>>2]=0;Ou(3081744+(b*11480|0)|0);c[3081744+(b*11480|0)+11472>>2]=ex(352800)|0;a[3081744+(b*11480|0)+11378>>0]=0;a[3081744+(b*11480|0)+11381>>0]=0;a[3081744+(b*11480|0)+11384>>0]=0;a[3081744+(b*11480|0)+11387>>0]=0;a[3081744+(b*11480|0)+11390>>0]=0;a[3081744+(b*11480|0)+11393>>0]=0;a[3081744+(b*11480|0)+11396>>0]=0;a[3081744+(b*11480|0)+11399>>0]=0;a[3081744+(b*11480|0)+11402>>0]=0;a[3081744+(b*11480|0)+11405>>0]=0;a[3081744+(b*11480|0)+11408>>0]=0;a[3081744+(b*11480|0)+11411>>0]=0;d=(d|0)/384|0;return d|0}function Ou(a){a=a|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=k;k=k+32|0;x=y;f=ex(2048)|0;c[a>>2]=f;q=a+4|0;c[q>>2]=ex(2048)|0;r=a+8|0;c[r>>2]=ex(2048)|0;s=a+12|0;c[s>>2]=ex(2048)|0;j=a+16|0;c[j>>2]=ex(2048)|0;l=a+20|0;c[l>>2]=ex(2048)|0;m=a+24|0;c[m>>2]=ex(2048)|0;n=a+28|0;c[n>>2]=ex(2048)|0;d=0;do{c[a+32+(d>>>3<<5)+((d&7)<<2)>>2]=ex(2048)|0;d=d+1|0}while((d|0)!=32);t=a+160|0;c[t>>2]=ex(1024)|0;u=a+164|0;c[u>>2]=ex(1024)|0;v=a+168|0;c[v>>2]=ex(1024)|0;w=a+172|0;c[w>>2]=ex(1024)|0;d=0;while(1){o=+D(+(+(d<<1|1|0)*3.141592653589793*.0009765625));p=+D(+(+(d<<2|1|0)*3.141592653589793*.0009765625));i=~~(o*32767.0);b[f+(d<<1)>>1]=i;g=d>>>0<512;e=o*o;if(g){b[(c[q>>2]|0)+(d<<1)>>1]=~~(e*32767.0);f=i}else{b[(c[q>>2]|0)+(d<<1)>>1]=~~(e*-32768.0);f=~~(o*-32767.0)}b[(c[r>>2]|0)+(d<<1)>>1]=f;b[(c[s>>2]|0)+(d<<1)>>1]=g?i:0;if(g){b[(c[j>>2]|0)+(d<<1)>>1]=~~(p*32767.0);f=~~(+z(+p)*32767.0)<<16>>16}else{b[(c[j>>2]|0)+(d<<1)>>1]=0;f=0}b[(c[l>>2]|0)+(d<<1)>>1]=f;b[(c[m>>2]|0)+(d<<1)>>1]=32767;b[(c[n>>2]|0)+(d<<1)>>1]=0;d=d+1|0;if((d|0)==1024)break;f=c[a>>2]|0}i=x+8|0;j=x+16|0;l=x+24|0;g=0;do{h[x>>3]=0.0;m=g&127;e=+(m|0)/127.0;n=g>>>0<128;h[i>>3]=n?e:e+-1.0;h[j>>3]=n?1.0:-1.0;e=+(g&63|0)*.015625;switch(g>>>6&33554431|0){case 0:break;case 1:{e=1.0-e;break}case 2:{e=0.0-e;break}case 3:{e=0.0-(1.0-e);break}default:e=0.0}h[l>>3]=e;f=0;e=0.0;while(1){h[(c[a+32+(f<<5)>>2]|0)+(g<<3)>>3]=1.0;p=+ma(+(e*3.378/1200.0));h[(c[a+32+(f<<5)+4>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*5.0646/1200.0));h[(c[a+32+(f<<5)+8>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*6.7495/1200.0));h[(c[a+32+(f<<5)+12>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*10.1143/1200.0));h[(c[a+32+(f<<5)+16>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*20.1699/1200.0));h[(c[a+32+(f<<5)+20>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*40.1076/1200.0));h[(c[a+32+(f<<5)+24>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*79.307/1200.0));h[(c[a+32+(f<<5)+28>>2]|0)+(g<<3)>>3]=p;d=f+1|0;if((d|0)==4)break;f=d;e=+h[x+(d<<3)>>3]}c[(c[t>>2]|0)+(g<<2)>>2]=0;c[(c[u>>2]|0)+(g<<2)>>2]=65536-(g<<8);c[(c[v>>2]|0)+(g<<2)>>2]=n?65536:0;s=m<<9;c[(c[w>>2]|0)+(g<<2)>>2]=n?65536-s|0:s;g=g+1|0}while((g|0)!=256);d=0;do{c[a+3824+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+(d|0)/2.6666666666666665/20.0)));d=d+1|0}while((d|0)!=256);d=0;do{c[a+3248+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+h[37088+(d<<3)>>3]/20.0)));d=d+1|0}while((d|0)!=16);d=0;do{c[a+3312+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+(d|0)*.75/20.0)));d=d+1|0}while((d|0)!=128);e=16934400.0/+((c[a+11468>>2]|0)>>>0);d=0;do{h[a+1200+(d<<3)>>3]=e*+h[37216+(d<<3)>>3];d=d+1|0}while((d|0)!=256);d=0;do{h[a+176+(d<<3)>>3]=e*+h[39264+(d<<3)>>3]*44100.0/1.0e3;d=d+1|0}while((d|0)!=64);d=0;do{h[a+688+(d<<3)>>3]=e*+h[39776+(d<<3)>>3]*44100.0/1.0e3;d=d+1|0}while((d|0)!=64);k=y;return}function Pu(a){a=a|0;var b=0,d=0;b=a&255;a=3081744+(b*11480|0)+11460|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+4|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+8|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+12|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+16|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+20|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+24|0;fx(c[a>>2]|0);c[a>>2]=0;a=3081744+(b*11480|0)+28|0;fx(c[a>>2]|0);c[a>>2]=0;a=0;do{d=3081744+(b*11480|0)+32+(a>>>3<<5)+((a&7)<<2)|0;fx(c[d>>2]|0);c[d>>2]=0;a=a+1|0}while((a|0)!=32);d=3081744+(b*11480|0)+160|0;fx(c[d>>2]|0);c[d>>2]=0;d=3081744+(b*11480|0)+164|0;fx(c[d>>2]|0);c[d>>2]=0;d=3081744+(b*11480|0)+168|0;fx(c[d>>2]|0);c[d>>2]=0;d=3081744+(b*11480|0)+172|0;fx(c[d>>2]|0);c[d>>2]=0;d=3081744+(b*11480|0)+11472|0;fx(c[d>>2]|0);c[d>>2]=0;return}function Qu(b){b=b|0;var d=0;d=b&255;b=0;do{a[3081744+(d*11480|0)+4848+(b*136|0)+64>>0]=0;c[3081744+(d*11480|0)+4848+(b*136|0)+68>>2]=0;b=b+1|0}while((b|0)!=48);c[3081744+(d*11480|0)+11444>>2]=0;a[3081744+(d*11480|0)+11448>>0]=0;a[3081744+(d*11480|0)+11449>>0]=0;return}function Ru(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3081744+(a*11480|0)+11464|0;if((c[g>>2]|0)!=(b|0)){i=3081744+(a*11480|0)+11460|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[3081744+(a*11480|0)+11460>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Su(b,c){b=b|0;c=c|0;b=b&255;a[3081744+(b*11480|0)+11378>>0]=c&1;a[3081744+(b*11480|0)+11381>>0]=c>>>1&1;a[3081744+(b*11480|0)+11384>>0]=c>>>2&1;a[3081744+(b*11480|0)+11387>>0]=c>>>3&1;a[3081744+(b*11480|0)+11390>>0]=c>>>4&1;a[3081744+(b*11480|0)+11393>>0]=c>>>5&1;a[3081744+(b*11480|0)+11396>>0]=c>>>6&1;a[3081744+(b*11480|0)+11399>>0]=c>>>7&1;a[3081744+(b*11480|0)+11402>>0]=c>>>8&1;a[3081744+(b*11480|0)+11405>>0]=c>>>9&1;a[3081744+(b*11480|0)+11408>>0]=c>>>10&1;a[3081744+(b*11480|0)+11411>>0]=c>>>11&1;return}function Tu(d){d=d|0;var e=0;e=d+44|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b[e+12>>1]=0;e=d+60|0;c[e>>2]=0;c[e+4>>2]=0;c[d+28>>2]=511;a[d+70>>0]=0;c[d+36>>2]=0;c[d+32>>2]=0;c[d+40>>2]=65015;a[d+69>>0]=0;a[d+68>>0]=0;d=d+20|0;c[d>>2]=0;c[d+4>>2]=0;return}function Uu(b){b=b|0;if(a[b+68>>0]|0)return 1;if(a[b+140>>0]|0)return 1;if(a[b+212>>0]|0)return 1;if(a[b+284>>0]|0)return 1;if(a[b+356>>0]|0)return 1;if(a[b+428>>0]|0)return 1;if(a[b+500>>0]|0)return 1;if(a[b+572>>0]|0)return 1;if(a[b+644>>0]|0)return 1;if(a[b+716>>0]|0)return 1;if(a[b+788>>0]|0)return 1;if(a[b+860>>0]|0)return 1;if(a[b+932>>0]|0)return 1;if(a[b+1004>>0]|0)return 1;if(a[b+1076>>0]|0)return 1;if(a[b+1148>>0]|0)return 1;if(a[b+1220>>0]|0)return 1;if(a[b+1292>>0]|0)return 1;if(a[b+1364>>0]|0)return 1;if(a[b+1436>>0]|0)return 1;if(a[b+1508>>0]|0)return 1;if(a[b+1580>>0]|0)return 1;if(!(a[b+1652>>0]|0))return (a[b+1724>>0]|0)!=0|0;else return 1;return 0}function Vu(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=d&255;u=3265424+(r*6144|0)|0;if(!(a[3265424+(r*6144|0)+6140>>0]|0)){v=f<<2;nz(c[e>>2]|0,0,v|0)|0;nz(c[e+4>>2]|0,0,v|0)|0}else Xd(c[3265424+(r*6144|0)+6136>>2]|0,c[e>>2]|0,c[e+4>>2]|0,f);if(!(Uu(u)|0))return;n=c[14784+(c[3265424+(r*6144|0)+1748>>2]<<2)>>2]|0;o=c[14784+(c[3265424+(r*6144|0)+1752>>2]<<2)>>2]|0;if(!f)return;p=e+4|0;l=0;do{m=0;do{q=3265424+(r*6144|0)+(m*72|0)|0;if(a[3265424+(r*6144|0)+(m*72|0)+68>>0]|0?(a[3265424+(r*6144|0)+(m*72|0)+71>>0]|0)==0:0){s=3265424+(r*6144|0)+(m*72|0)+24|0;t=3265424+(r*6144|0)+(m*72|0)+16|0;h=c[t>>2]|0;j=M(65536-h|0,b[s>>1]|0)|0;v=3265424+(r*6144|0)+(m*72|0)+26|0;j=(M(h,b[v>>1]|0)|0)+j|0;h=(c[3265424+(r*6144|0)+(m*72|0)+28>>2]>>2)+(a[3265424+(r*6144|0)+(m*72|0)+51>>0]|0)|0;h=h+(Wu(q)|0)|0;i=a[3265424+(r*6144|0)+(m*72|0)+52>>0]|0;k=h+o+(c[14720+(i<<2)>>2]|0)&1023;j=j>>16;h=(M(c[3265424+(r*6144|0)+1784+(((c[14656+(i<<2)>>2]|0)+n+h&1023)<<2)>>2]|0,j)|0)>>17;i=(c[e>>2]|0)+(l<<2)|0;c[i>>2]=(c[i>>2]|0)+h;j=(M(c[3265424+(r*6144|0)+1784+(k<<2)>>2]|0,j)|0)>>17;k=(c[p>>2]|0)+(l<<2)|0;c[k>>2]=(c[k>>2]|0)+j;if((a[3265424+(r*6144|0)+(m*72|0)+70>>0]|0)!=0?(w=a[3265424+(r*6144|0)+(m*72|0)+54>>0]|0,w<<24>>24!=0):0){d=a[3265424+(r*6144|0)+(m*72|0)+48>>0]|0;d=(d&8|0)==0?d:d|-8;g=(b[3265424+(r*6144|0)+(m*72|0)+46>>1]|1024)<<16>>16;g=(Xu(c[3265424+(r*6144|0)+(m*72|0)+36>>2]|0,c[3265424+(r*6144|0)+(m*72|0)+40>>2]|0,w)|0)+g|0;d=(d|0)>-6?g<>>(-5-d|0);g=t}else{d=c[t>>2]|0;g=3265424+(r*6144|0)+(m*72|0)+12|0}d=d+(c[g>>2]|0)|0;c[t>>2]=d;if(d>>>0>65535){j=3265424+(r*6144|0)+(m*72|0)+20|0;k=3265424+(r*6144|0)+(m*72|0)+4|0;i=c[3265424+(r*6144|0)+(m*72|0)+8>>2]|0;h=b[v>>1]|0;g=c[j>>2]|0;do{d=d+-65536|0;c[t>>2]=d;b[s>>1]=h;g=g+1|0;c[j>>2]=g;if(g>>>0>=i>>>0){g=c[k>>2]|0;c[j>>2]=g}h=Yu(u,q)|0;b[v>>1]=h}while(d>>>0>65535)}}m=m+1|0}while((m|0)!=24);Zu(u);l=l+1|0}while((l|0)!=(f|0));return}function Wu(b){b=b|0;var d=0;if(!(a[b+70>>0]|0)){d=0;return d|0}d=a[b+55>>0]|0;if(!(d<<24>>24)){d=0;return d|0}d=(M(c[15008+(d<<24>>24<<2)>>2]|0,(c[b+36>>2]<<8|0)/(c[b+40>>2]|0)|0)|0)>>12;return d|0}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;return (M(c[14976+(d<<24>>24<<2)>>2]|0,(a<<8|0)/(b|0)|0)|0)>>24|0}function Yu(b,e){b=b|0;e=e|0;var f=0;switch(a[e+67>>0]|0){case 0:{e=(($u(b,(c[e+20>>2]|0)+(c[e>>2]|0)|0)|0)&255)<<8&65535;return e|0}case 1:{f=c[e+20>>2]|0;b=av(b,((f>>>1)*3|0)+(c[e>>2]|0)|0)|0;if(!(f&1)){f=(d[b>>0]<<8|a[b+1>>0]&-16&255)&65535;return f|0}else{f=(d[b+1>>0]<<4&240|d[b+2>>0]<<8)&65535;return f|0}}case 2:{f=av(b,(c[e+20>>2]<<1)+(c[e>>2]|0)|0)|0;f=(d[f>>0]<<8|d[f+1>>0])&65535;return f|0}default:{f=0;return f|0}}return 0}function Zu(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=b+1728|0;c[l>>2]=(c[l>>2]|0)+1;k=0;do{j=b+(k*72|0)|0;do if(a[b+(k*72|0)+70>>0]|0){i=b+(k*72|0)+32|0;e=(c[i>>2]|0)+1|0;c[i>>2]=e;f=c[b+(k*72|0)+40>>2]|0;if((e|0)<(f|0)){i=b+(k*72|0)+36|0;c[i>>2]=(c[i>>2]|0)+1;break}g=b+(k*72|0)+36|0;h=c[g>>2]|0;if((e|0)<(f*3|0)){c[g>>2]=h+-1;break}c[g>>2]=h+1;if((e|0)==(f<<2|0))c[i>>2]=0}while(0);f=b+(k*72|0)+69|0;a:do switch(a[f>>0]|0){case 4:{e=(_u(j,a[b+(k*72|0)+56>>0]|0)|0)&255;if((e>>>0>=4?(v=c[l>>2]|0,w=d[14880+e>>0]|0,((1<>2]|0,j=((M(d[29360+((v>>>w&7)+(d[14816+e>>0]|0))>>0]|0,~j)|0)>>3)+j|0,c[x>>2]=j,(j|0)<1):0){c[x>>2]=0;if(!(c[b+(k*72|0)+60>>2]|0)){a[f>>0]=2;break a}else{a[f>>0]=3;break a}}break}case 3:{e=(_u(j,a[b+(k*72|0)+57>>0]|0)|0)&255;if(e>>>0>=4?(y=c[l>>2]|0,z=d[14880+e>>0]|0,((1<>2]|0)+(d[29360+((y>>>z&7)+(d[14816+e>>0]|0))>>0]|0)|0;c[j>>2]=e;if(e>>>0>96?a[b+(k*72|0)+49>>0]|0:0){a[f>>0]=5;break a}if((e|0)>=(c[b+(k*72|0)+60>>2]|0))a[f>>0]=2}break}case 2:{e=(_u(j,a[b+(k*72|0)+64>>0]|0)|0)&255;if((e>>>0>=4?(m=c[l>>2]|0,n=d[14880+e>>0]|0,((1<>2]|0)+(d[29360+((m>>>n&7)+(d[14816+e>>0]|0))>>0]|0)|0,c[o>>2]=p,p>>>0>96):0){if(a[b+(k*72|0)+49>>0]|0){a[f>>0]=5;break a}if((p|0)>510){c[o>>2]=511;a[b+(k*72|0)+68>>0]=0}}break}case 1:{e=(_u(j,a[b+(k*72|0)+66>>0]|0)|0)&255;if((e>>>0>=4?(q=c[l>>2]|0,r=d[14880+e>>0]|0,((1<>2]|0)+(d[29360+((q>>>r&7)+(d[14816+e>>0]|0))>>0]|0)|0,c[s>>2]=t,t>>>0>96):0){if(a[b+(k*72|0)+49>>0]|0){a[f>>0]=5;break a}if((t|0)>510){c[s>>2]=511;a[b+(k*72|0)+68>>0]=0}}break}case 5:{e=(_u(j,5)|0)&255;f=c[l>>2]|0;g=d[14880+e>>0]|0;if(((1<>2]|0)+(d[29360+((f>>>g&7)+(d[14816+e>>0]|0))>>0]|0)|0,c[u>>2]=j,(j|0)>510):0){c[u>>2]=511;a[b+(k*72|0)+68>>0]=0}break}case 6:{e=b+(k*72|0)+28|0;j=(c[e>>2]|0)+(d[29360+(c[l>>2]&7|64)>>0]|0)|0;c[e>>2]=j;if((j|0)>510){c[e>>2]=511;a[b+(k*72|0)+68>>0]=0}break}default:{}}while(0);k=k+1|0}while((k|0)!=24);return}function _u(b,c){b=b|0;c=c|0;var d=0,f=0;switch(c|0){case 15:{d=63;return d|0}case 0:{d=0;return d|0}default:{d=a[b+65>>0]|0;if(d<<24>>24==15)b=c<<2;else{f=a[b+48>>0]|0;b=(((f&8|0)==0?f:f|-8)+(d<<24>>24)<<1|(e[b+46>>1]|0)>>>9&1)+(c<<2)|0}if((b|0)<0){f=0;return f|0}else return ((b|0)<63?b:63)|0}}return 0}function $u(b,d){b=b|0;d=d|0;var e=0;e=c[b+1764>>2]|0;do if(e>>>0<=d>>>0)if(((c[b+1772>>2]|0)+e|0)>>>0>d>>>0){b=b+1776|0;d=d-e|0;break}else{e=-1;return e|0}else b=b+1768|0;while(0);e=a[(c[b>>2]|0)+d>>0]|0;return e|0}function av(a,b){a=a|0;b=b|0;var d=0;d=c[a+1764>>2]|0;do if(d>>>0<=b>>>0)if(((c[a+1772>>2]|0)+d|0)>>>0>b>>>0){b=b-d|0;d=a+1776|0;break}else{a=0;return a|0}else d=a+1768|0;while(0);a=(c[d>>2]|0)+b|0;return a|0}function bv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f&255;a:do switch(f<<24>>24){case -7:{j=g&255;c[e+1748>>2]=j&7;c[e+1752>>2]=j>>>3&7;break}case -8:{j=g&255;c[e+1740>>2]=j&7;c[e+1744>>2]=j>>>3&7;break}case 2:{j=g&255;a[e+1732>>0]=j>>>2&7;a[e+1733>>0]=j&1;break}case 3:{j=e+1736|0;c[j>>2]=c[j>>2]&65535|(g&255)<<16;break}case 4:{j=e+1736|0;c[j>>2]=c[j>>2]&16711935|(g&255)<<8;break}case 5:{j=e+1736|0;c[j>>2]=c[j>>2]&16776960|g&255;break}case 6:{j=e+1736|0;ev(e,c[j>>2]|0,g);c[j>>2]=(c[j>>2]|0)+1&16777215;break}case -1:case -2:case -3:case -4:case -5:case -6:case 7:case 1:case 0:break;default:{i=k+-8|0;f=(i|0)/24|0;i=i+(M(f,-24)|0)|0;j=e+(i*72|0)|0;do switch(f|0){case 0:{l=e+(i*72|0)+44|0;f=b[l>>1]&256|g&255;b[l>>1]=f;if(f>>>0>=384?(h=a[e+1732>>0]|0,h<<24>>24!=0):0)f=(f*12|0)+-4608+(h<<24>>24<<19)|0;else f=f*12|0;l=av(e,f)|0;a[e+(i*72|0)+67>>0]=(d[l>>0]|0)>>>6;h=l+7|0;cv(j,(d[h>>0]|0)>>>3&7);a[e+(i*72|0)+54>>0]=a[h>>0]&7;h=l+8|0;a[e+(i*72|0)+56>>0]=(d[h>>0]|0)>>>4;a[e+(i*72|0)+57>>0]=a[h>>0]&15;h=l+9|0;c[e+(i*72|0)+60>>2]=c[30672+((d[h>>0]|0)>>>4<<2)>>2];a[e+(i*72|0)+64>>0]=a[h>>0]&15;h=l+10|0;a[e+(i*72|0)+65>>0]=(d[h>>0]|0)>>>4;a[e+(i*72|0)+66>>0]=a[h>>0]&15;a[e+(i*72|0)+55>>0]=a[l+11>>0]&7;c[j>>2]=d[l+1>>0]<<8|d[l+2>>0]|(a[l>>0]&63)<<16;c[e+(i*72|0)+4>>2]=d[l+3>>0]<<8|d[l+4>>0];c[e+(i*72|0)+8>>2]=65536-(d[l+5>>0]<<8|d[l+6>>0]);if((a[k+4+(e+5880)>>0]|0)>=0)break a;dv(e,j);break a}case 1:{l=e+(i*72|0)+44|0;j=g&255;b[l>>1]=j<<8&256|b[l>>1]&255;l=e+(i*72|0)+46|0;j=j>>>1|b[l>>1]&896;b[l>>1]=j;l=a[e+(i*72|0)+48>>0]|0;l=(l&8|0)==0?l:l|-8;j=j|1024;c[e+(i*72|0)+12>>2]=(l|0)>-6?j<>>(-5-l|0);break a}case 2:{h=e+(i*72|0)+46|0;l=g&255;j=l<<7&896|b[h>>1]&127;b[h>>1]=j;a[e+(i*72|0)+49>>0]=l>>>3&1;l=(g&255)>>>4;a[e+(i*72|0)+48>>0]=l;l=l&255;l=(l&8|0)==0?l:l|-8;j=j|1024;c[e+(i*72|0)+12>>2]=(l|0)>-6?j<>>(-5-l|0);break a}case 3:{a[e+(i*72|0)+51>>0]=(g&255)>>>1;a[e+(i*72|0)+50>>0]=g&1;break a}case 4:{l=g&255;a[e+(i*72|0)+52>>0]=(l&16|0)==0?l&15:8;f=e+(i*72|0)+70|0;if(!(l&32))a[f>>0]=1;else{a[f>>0]=0;c[e+(i*72|0)+32>>2]=0;c[e+(i*72|0)+40>>2]=c[14944+(a[e+(i*72|0)+54>>0]<<2)>>2];c[e+(i*72|0)+36>>2]=0}switch((g&255)>>>6&3){case 0:{if(!(a[e+(i*72|0)+68>>0]|0))break a;f=e+(i*72|0)+69|0;if((a[f>>0]|0)==5)break a;a[f>>0]=1;break a}case 2:{if((a[e+5880+k>>0]|0)<0)break a;dv(e,j);break a}case 3:case 1:{a[e+(i*72|0)+69>>0]=6;break a}default:{}}break}case 5:{l=g&255;a[e+(i*72|0)+54>>0]=l&7;cv(j,l>>>3&7);break a}case 6:{a[e+(i*72|0)+56>>0]=(g&255)>>>4;a[e+(i*72|0)+57>>0]=g&15;break a}case 7:{l=g&255;c[e+(i*72|0)+60>>2]=c[30672+(l>>>4<<2)>>2];a[e+(i*72|0)+64>>0]=l&15;break a}case 8:{a[e+(i*72|0)+65>>0]=(g&255)>>>4;a[e+(i*72|0)+66>>0]=g&15;break a}case 9:{a[e+(i*72|0)+55>>0]=g&7;break a}default:break a}while(0)}}while(0);a[e+5880+k>>0]=g;return}function cv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+36|0;e=b+40|0;g=c[e>>2]|0;c[f>>2]=(M((c[f>>2]<<8|0)/(g|0)|0,d)|0)>>8;f=b+32|0;c[f>>2]=(M((c[f>>2]<<8|0)/(g|0)|0,d)|0)>>8;a[b+53>>0]=d;c[e>>2]=c[14944+(d<<24>>24<<2)>>2];return}function dv(d,e){d=d|0;e=e|0;var f=0,g=0;a[e+68>>0]=1;f=a[e+48>>0]|0;f=(f&8|0)==0?f:f|-8;g=(b[e+46>>1]|1024)<<16>>16;c[e+12>>2]=(f|0)>-6?g<>>(-5-f|0);a[e+69>>0]=4;c[e+16>>2]=0;f=e+20|0;c[f>>2]=0;b[e+24>>1]=Yu(d,e)|0;c[f>>2]=1;b[e+26>>1]=Yu(d,e)|0;return}function ev(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+1764>>2]|0;if(f>>>0>d>>>0)return;if(((c[b+1772>>2]|0)+f|0)>>>0<=d>>>0)return;a[(c[b+1776>>2]|0)+(d-f)>>0]=e;return}function fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;f=3265424+(b*6144|0)|0;switch(d|0){case 0:{a[3265424+(b*6144|0)+1756>>0]=e;Ye(c[3265424+(b*6144|0)+6136>>2]|0,0,e&255);return}case 1:{gv(f,a[3265424+(b*6144|0)+1756>>0]|0,e);return}case 2:{a[3265424+(b*6144|0)+1757>>0]=e;Ye(c[3265424+(b*6144|0)+6136>>2]|0,2,e&255);return}case 3:{hv(f,a[3265424+(b*6144|0)+1757>>0]|0,e);return}case 4:{a[3265424+(b*6144|0)+1758>>0]=e;return}case 5:{bv(f,a[3265424+(b*6144|0)+1758>>0]|0,e);return}default:return}}function gv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&255;if((f+-2|0)>>>0<3)return;e=e&255;Ye(c[b+6136>>2]|0,1,e);if(!((f&240|0)!=176|(e&32|0)==0)){a[b+6140>>0]=1;return}if(d<<24>>24!=-67|(e&31|0)==0)return;a[b+6140>>0]=1;return}function hv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+6136>>2]|0;e=e&255;if(d<<24>>24==5){Ye(f,3,e&253);return}Ye(f,3,e);if((d&-16)<<24>>24!=-80|(e&32|0)==0)return;a[b+6140>>0]=1;return}function iv(a,b){a=a|0;b=b|0;nz(b|0,0,a|0)|0;return}function jv(b,d){b=b|0;d=d|0;var e=0;if((b&255)>15){d=0;return d|0}e=b&255;kv(3265424+(e*6144|0)|0,d);c[3265424+(e*6144|0)+1736>>2]=0;b=0;do{c[3265424+(e*6144|0)+1784+(b<<2)>>2]=~~(+ma(+(+(b|0)*-.0625))*32768.0);b=b+1|0}while((b|0)!=256);nz(3265424+(e*6144|0)+2808|0,0,3072)|0;a[3265424+(e*6144|0)+71>>0]=0;a[3265424+(e*6144|0)+143>>0]=0;a[3265424+(e*6144|0)+215>>0]=0;a[3265424+(e*6144|0)+287>>0]=0;a[3265424+(e*6144|0)+359>>0]=0;a[3265424+(e*6144|0)+431>>0]=0;a[3265424+(e*6144|0)+503>>0]=0;a[3265424+(e*6144|0)+575>>0]=0;a[3265424+(e*6144|0)+647>>0]=0;a[3265424+(e*6144|0)+719>>0]=0;a[3265424+(e*6144|0)+791>>0]=0;a[3265424+(e*6144|0)+863>>0]=0;a[3265424+(e*6144|0)+935>>0]=0;a[3265424+(e*6144|0)+1007>>0]=0;a[3265424+(e*6144|0)+1079>>0]=0;a[3265424+(e*6144|0)+1151>>0]=0;a[3265424+(e*6144|0)+1223>>0]=0;a[3265424+(e*6144|0)+1295>>0]=0;a[3265424+(e*6144|0)+1367>>0]=0;a[3265424+(e*6144|0)+1439>>0]=0;a[3265424+(e*6144|0)+1511>>0]=0;a[3265424+(e*6144|0)+1583>>0]=0;a[3265424+(e*6144|0)+1655>>0]=0;a[3265424+(e*6144|0)+1727>>0]=0;d=(d|0)/768|0;return d|0}function kv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=(d|0)/768|0;g=a[3432185]|0;f=c[857788]|0;c[b+6136>>2]=oe((d<<3|0)/19|0,g<<24>>24==2|(g&1)!=0&(e|0)<(f|0)?f:e)|0;a[b+6140>>0]=0;c[b+1768>>2]=0;c[b+1760>>2]=0;c[b+1780>>2]=d;lv(b);e=b+1772|0;c[e>>2]=524288;d=ex(524288)|0;c[b+1776>>2]=d;iv(c[e>>2]|0,d);return}function lv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=k;k=k+16|0;g=i+8|0;f=i;do if(!(c[857778]|0)){c[857778]=2097152;d=ex(2097152)|0;c[857779]=d;nz(d|0,-1,2097152)|0;d=ex(11)|0;h=d;j=45672;l=h+11|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(l|0));if(d|0?(e=Ay(d,46110)|0,fx(d),e|0):0){l=Uy(c[857779]|0,1,c[857778]|0,e)|0;Gy(e)|0;if((l|0)==(c[857778]|0))break;c[f>>2]=45672;Ny(44464,45683,f);break}c[g>>2]=45672;Ny(44464,45726,g)}while(0);l=c[857778]|0;c[b+1764>>2]=l;j=ex(l)|0;c[b+1768>>2]=j;mz(j|0,c[857779]|0,l|0)|0;k=i;return}function mv(a){a=a|0;a=a&255;Qe(c[3265424+(a*6144|0)+6136>>2]|0);a=3265424+(a*6144|0)+1768|0;fx(c[a>>2]|0);c[a>>2]=0;return}function nv(b){b=b|0;var d=0,e=0;d=b&255;Ve(c[3265424+(d*6144|0)+6136>>2]|0);a[3265424+(d*6144|0)+6140>>0]=0;c[3265424+(d*6144|0)+1728>>2]=0;Tu(3265424+(d*6144|0)|0);Tu(3265424+(d*6144|0)+72|0);Tu(3265424+(d*6144|0)+144|0);Tu(3265424+(d*6144|0)+216|0);Tu(3265424+(d*6144|0)+288|0);Tu(3265424+(d*6144|0)+360|0);Tu(3265424+(d*6144|0)+432|0);Tu(3265424+(d*6144|0)+504|0);Tu(3265424+(d*6144|0)+576|0);Tu(3265424+(d*6144|0)+648|0);Tu(3265424+(d*6144|0)+720|0);Tu(3265424+(d*6144|0)+792|0);Tu(3265424+(d*6144|0)+864|0);Tu(3265424+(d*6144|0)+936|0);Tu(3265424+(d*6144|0)+1008|0);Tu(3265424+(d*6144|0)+1080|0);Tu(3265424+(d*6144|0)+1152|0);Tu(3265424+(d*6144|0)+1224|0);Tu(3265424+(d*6144|0)+1296|0);Tu(3265424+(d*6144|0)+1368|0);Tu(3265424+(d*6144|0)+1440|0);Tu(3265424+(d*6144|0)+1512|0);Tu(3265424+(d*6144|0)+1584|0);Tu(3265424+(d*6144|0)+1656|0);e=3265424+(d*6144|0)|0;b=255;while(1){bv(e,b&255,0);if(!b)break;else b=b+-1|0}e=3265424+(d*6144|0)+1736|0;a[3265424+(d*6144|0)+1733>>0]=0;a[3265424+(d*6144|0)+1732>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;return}function ov(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3265424+(a*6144|0)+1764|0;if((c[g>>2]|0)!=(b|0)){i=3265424+(a*6144|0)+1768|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[3265424+(a*6144|0)+1768>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function pv(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;of(c[3265424+(b*6144|0)+6136>>2]|0,d);a[3265424+(b*6144|0)+71>>0]=e&1;a[3265424+(b*6144|0)+143>>0]=e>>>1&1;a[3265424+(b*6144|0)+215>>0]=e>>>2&1;a[3265424+(b*6144|0)+287>>0]=e>>>3&1;a[3265424+(b*6144|0)+359>>0]=e>>>4&1;a[3265424+(b*6144|0)+431>>0]=e>>>5&1;a[3265424+(b*6144|0)+503>>0]=e>>>6&1;a[3265424+(b*6144|0)+575>>0]=e>>>7&1;a[3265424+(b*6144|0)+647>>0]=e>>>8&1;a[3265424+(b*6144|0)+719>>0]=e>>>9&1;a[3265424+(b*6144|0)+791>>0]=e>>>10&1;a[3265424+(b*6144|0)+863>>0]=e>>>11&1;a[3265424+(b*6144|0)+935>>0]=e>>>12&1;a[3265424+(b*6144|0)+1007>>0]=e>>>13&1;a[3265424+(b*6144|0)+1079>>0]=e>>>14&1;a[3265424+(b*6144|0)+1151>>0]=e>>>15&1;a[3265424+(b*6144|0)+1223>>0]=e>>>16&1;a[3265424+(b*6144|0)+1295>>0]=e>>>17&1;a[3265424+(b*6144|0)+1367>>0]=e>>>18&1;a[3265424+(b*6144|0)+1439>>0]=e>>>19&1;a[3265424+(b*6144|0)+1511>>0]=e>>>20&1;a[3265424+(b*6144|0)+1583>>0]=e>>>21&1;a[3265424+(b*6144|0)+1655>>0]=e>>>22&1;a[3265424+(b*6144|0)+1727>>0]=e>>>23&1;return}function qv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;B=e&255;G=3363728+(B*632|0)|0;C=c[f>>2]|0;H=f+4|0;D=c[H>>2]|0;E=g<<2;nz(C|0,0,E|0)|0;nz(D|0,0,E|0)|0;E=3363728+(B*632|0)+628|0;x=(g|0)>0;y=3363728+(B*632|0)+4|0;w=0;do{q=3363728+(B*632|0)+52+(w*72|0)|0;z=3363728+(B*632|0)+52+(w*72|0)+64|0;e=b[z>>1]|0;A=3363728+(B*632|0)+52+(w*72|0)+66|0;h=b[A>>1]|0;r=c[E>>2]|0;t=c[3363728+(B*632|0)+52+(w*72|0)+48>>2]|0;u=c[3363728+(B*632|0)+52+(w*72|0)+52>>2]|0;do if(!(a[3363728+(B*632|0)+52+(w*72|0)+69>>0]|0)){v=3363728+(B*632|0)+52+(w*72|0)+60|0;if((h|e)<<16>>16==0&(a[q>>0]|0)==0){c[v>>2]=16384;break}a:do if(x){m=e<<16>>16;n=h<<16>>16;p=3363728+(B*632|0)+52+(w*72|0)+56|0;i=C;j=g;k=D;e=c[v>>2]|0;while(1){if((e|0)>=16384)break a;e=(M(16384-e|0,m)|0)+(M(e,n)|0)>>14;o=M(e,t)|0;l=i+4|0;c[i>>2]=(c[i>>2]|0)+o;e=M(e,u)|0;o=k+4|0;c[k>>2]=(c[k>>2]|0)+e;e=(c[v>>2]|0)+(c[p>>2]|0)|0;c[v>>2]=e;k=j+-1|0;if((j|0)>1){i=l;j=k;k=o}else{i=l;j=k;k=o;s=10;break}}}else{i=C;j=g;k=D;e=c[v>>2]|0;s=10}while(0);if((s|0)==10){s=0;if((e|0)<=16383)break;p=3363728+(B*632|0)+52+(w*72|0)+56|0}c[v>>2]=e+-16384;e=((M(c[p>>2]|0,j)|0)+e|0)>>>14;e=e>>>0<65536?e:65536;switch((d[q>>0]<<7|d[3363728+(B*632|0)+52+(w*72|0)+3>>0])&32767){case 129:{F=rv(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}case 130:{F=sv(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}case 131:{F=tv(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}default:nz(c[E>>2]|0,0,e<<1|0)|0}if((s|0)==17?(s=0,F|0):0){o=F&65535;m=e-o|0;n=(m|0)==0;if(n)e=h;else e=b[(c[E>>2]|0)+(m+-1<<1)>>1]|0;if(o|0){e=e<<16>>16;l=0;do{if((e|0)<0)e=0-((M(e,-15)|0)>>4)|0;else e=(e|0)==0?0:e*15>>4;b[(c[E>>2]|0)+(l+m<<1)>>1]=e;l=l+1|0}while((l|0)!=(o|0))}if(!n){a[q>>0]=0;a[3363728+(B*632|0)+52+(w*72|0)+68>>0]=1}}e=b[r>>1]|0;if((j|0)>0){o=r+2|0;l=c[v>>2]|0;while(1){m=h<<16>>16;n=e<<16>>16;while(1){if((l|0)>=16384){h=l;s=34;break}r=(M(16384-l|0,m)|0)+(M(l,n)|0)>>14;q=M(r,t)|0;s=i;i=i+4|0;c[s>>2]=(c[s>>2]|0)+q;r=M(r,u)|0;s=k;k=k+4|0;c[s>>2]=(c[s>>2]|0)+r;l=(c[v>>2]|0)+(c[p>>2]|0)|0;c[v>>2]=l;s=j;j=j+-1|0;if((s|0)<=1){s=33;break}}if((s|0)==33){s=0;if((l|0)>16383){h=l;s=34}else m=o}if((s|0)==34){s=0;l=h+-16384|0;c[v>>2]=l;h=e;e=b[o>>1]|0;m=o+2|0}if((j|0)>0)o=m;else break}}b[z>>1]=h;b[A>>1]=e}while(0);w=w+1|0}while((w|0)!=8);if(!x){uv(G,0);uv(G,1);uv(G,2);uv(G,3);uv(G,4);uv(G,5);uv(G,6);uv(G,7);return}e=0;do{F=(c[f>>2]|0)+(e<<2)|0;c[F>>2]=(c[F>>2]|0)/256|0;F=(c[H>>2]|0)+(e<<2)|0;c[F>>2]=(c[F>>2]|0)/256|0;e=e+1|0}while((e|0)!=(g|0));uv(G,0);uv(G,1);uv(G,2);uv(G,3);uv(G,4);uv(G,5);uv(G,6);uv(G,7);return}function rv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=d+24|0;k=c[x>>2]|0;y=d+28|0;j=c[y>>2]|0;z=d+32|0;l=c[z>>2]|0;i=(h|0)==0;if(!(a[d+2>>0]|0)){if(i){A=0;w=k;f=l;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}d=d+12|0;i=l;while(1){s=((wv(e,f,(k|0)/2|0)|0)&255)>>>(k<<2&4^4);j=((M(c[3373840+((s&15)<<2)>>2]|0,i)|0)/8|0)+j|0;j=(j|0)>-32768?j:-32768;j=(j|0)<32767?j:32767;i=M(c[40288+((s&7)<<2)>>2]|0,i)|0;i=(i|0)>6291711?24576:(i|0)<32512?127:i>>8;b[g>>1]=j;h=h+-1|0;k=k+1|0;if(k>>>0>=(c[d>>2]|0)>>>0)break;if(!h){t=0;u=k;v=i;w=j;A=18;break}else g=g+2|0}if((A|0)==18){c[x>>2]=u;c[y>>2]=w;c[z>>2]=v;return t|0}A=(h|0)==0?h|65536:h;w=k;f=i;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}if(i){A=0;w=k;f=l;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}n=d+16|0;o=d+44|0;p=d+20|0;q=d+36|0;r=d+40|0;s=d+12|0;m=d+1|0;i=l;while(1){d=((wv(e,f,(k|0)/2|0)|0)&255)>>>(k<<2&4^4);j=((M(c[3373840+((d&15)<<2)>>2]|0,i)|0)/8|0)+j|0;j=(j|0)>-32768?j:-32768;j=(j|0)<32767?j:32767;d=M(c[40288+((d&7)<<2)>>2]|0,i)|0;d=(d|0)>6291711?24576:(d|0)<32512?127:d>>8;b[g>>1]=j;g=g+2|0;h=h+-1|0;k=k+1|0;i=c[n>>2]|0;if((k|0)==(i|0)?(c[o>>2]|0)==0:0){c[q>>2]=j;c[r>>2]=d}if(k>>>0>=(c[p>>2]|0)>>>0?(a[m>>0]|0)!=0:0){j=c[q>>2]|0;d=c[r>>2]|0;c[o>>2]=(c[o>>2]|0)+1;k=i}i=(h|0)==0;if(k>>>0>=(c[s>>2]|0)>>>0)break;if(i){t=0;u=k;v=d;w=j;A=18;break}else i=d}if((A|0)==18){c[x>>2]=u;c[y>>2]=w;c[z>>2]=v;return t|0}A=i?h|65536:h;w=k;f=d;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}function sv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=d+24|0;i=c[q>>2]|0;j=(h|0)==0;if(!(a[d+2>>0]|0)){if(j){r=0;f=i;c[q>>2]=f;return r|0}d=d+12|0;j=g;while(1){b[j>>1]=(wv(e,f,(i|0)/2|0)|0)<<24>>24<<8;h=h+-1|0;i=i+2|0;if(i>>>0>=(c[d>>2]|0)>>>0)break;if(!h){o=0;p=i;r=15;break}else j=j+2|0}if((r|0)==15){c[q>>2]=p;return o|0}r=(h|0)==0?h|65536:h;f=i;c[q>>2]=f;return r|0}if(j){r=0;f=i;c[q>>2]=f;return r|0}l=d+20|0;m=d+12|0;n=d+1|0;k=d+16|0;d=g;while(1){b[d>>1]=(wv(e,f,(i|0)/2|0)|0)<<24>>24<<8;d=d+2|0;h=h+-1|0;i=i+2|0;if(i>>>0>=(c[l>>2]|0)>>>0?(a[n>>0]|0)!=0:0)i=c[k>>2]|0;j=(h|0)==0;if(i>>>0>=(c[m>>2]|0)>>>0)break;if(j){o=0;p=i;r=15;break}}if((r|0)==15){c[q>>2]=p;return o|0}r=j?h|65536:h;f=i;c[q>>2]=f;return r|0}function tv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=d+24|0;i=c[q>>2]|0;j=(h|0)==0;if(!(a[d+2>>0]|0)){if(j){r=0;f=i;c[q>>2]=f;return r|0}d=d+12|0;j=g;while(1){n=(i|0)/2|0;m=((wv(e,f,n)|0)&255)<<8;b[j>>1]=m|(wv(e,f,n+1|0)|0)&255;h=h+-1|0;i=i+4|0;if(i>>>0>=(c[d>>2]|0)>>>0)break;if(!h){o=0;p=i;r=15;break}else j=j+2|0}if((r|0)==15){c[q>>2]=p;return o|0}r=(h|0)==0?h|65536:h;f=i;c[q>>2]=f;return r|0}if(j){r=0;f=i;c[q>>2]=f;return r|0}l=d+20|0;m=d+12|0;n=d+1|0;k=d+16|0;d=g;while(1){g=(i|0)/2|0;j=((wv(e,f,g)|0)&255)<<8;b[d>>1]=j|(wv(e,f,g+1|0)|0)&255;d=d+2|0;h=h+-1|0;i=i+4|0;if(i>>>0>=(c[l>>2]|0)>>>0?(a[n>>0]|0)!=0:0)i=c[k>>2]|0;j=(h|0)==0;if(i>>>0>=(c[m>>2]|0)>>>0)break;if(j){o=0;p=i;r=15;break}}if((r|0)==15){c[q>>2]=p;return o|0}r=j?h|65536:h;f=i;c[q>>2]=f;return r|0}function uv(b,c){b=b|0;c=c|0;var e=0,f=0;e=b+52|0;f=e+(c*72|0)+68|0;if(!(a[f>>0]|0))return;a[e+(c*72|0)>>0]=0;e=b+9|0;a[e>>0]=1<>0];vv(b);a[f>>0]=0;return}function vv(b){b=b|0;var d=0,e=0;d=b+10|0;e=(a[d>>0]|0)==0;if(a[b+12>>0]|0?(a[b+11>>0]&a[b+9>>0])<<24>>24!=0:0){if(!e)return;a[d>>0]=1;b=c[b+48>>2]|0;if(!b)return;wa[b&31](1);return}else{if(e)return;a[d>>0]=0;b=c[b+48>>2]|0;if(!b)return;wa[b&31](0);return}}function wv(b,c,d){b=b|0;c=c|0;d=d|0;d=d&16777215;if(d>>>0>=c>>>0){c=0;return c|0}c=a[b+d>>0]|0;return c|0}function xv(b,d){b=b|0;d=d|0;var e=0.0;if((b&255)>15){d=0;return d|0}b=b&255;yv();e=+(d|0)/384.0;h[3363728+(b*632|0)+32>>3]=e;e=e*2.0;h[3363728+(b*632|0)+40>>3]=e;c[3363728+(b*632|0)+4>>2]=0;c[3363728+(b*632|0)>>2]=0;c[3363728+(b*632|0)+48>>2]=0;d=ex(131072)|0;c[3363728+(b*632|0)+628>>2]=d;nz(d|0,0,131072)|0;a[3363728+(b*632|0)+121>>0]=0;a[3363728+(b*632|0)+193>>0]=0;a[3363728+(b*632|0)+265>>0]=0;a[3363728+(b*632|0)+337>>0]=0;a[3363728+(b*632|0)+409>>0]=0;a[3363728+(b*632|0)+481>>0]=0;a[3363728+(b*632|0)+553>>0]=0;a[3363728+(b*632|0)+625>>0]=0;d=~~e;return d|0}function yv(){var b=0,d=0;if(a[3432180]|0)return;b=0;do{d=b<<1&14|1;c[3373840+(b<<2)>>2]=(b&8|0)==0?d:0-d|0;b=b+1|0}while((b|0)!=16);a[3432180]=1;return}function zv(a){a=a|0;var b=0;a=a&255;b=3363728+(a*632|0)|0;fx(c[b>>2]|0);c[b>>2]=0;fx(c[3363728+(a*632|0)+628>>2]|0);return}function Av(d){d=d|0;var e=0,f=0,g=0;e=d&255;f=3363728+(e*632|0)|0;g=3363728+(e*632|0)+8|0;d=255;while(1){if(!((d|0)==131|(d+-88|0)>>>0<166)){a[g>>0]=d;Bv(f,0)}if(!d)break;else d=d+-1|0}a[g>>0]=0;a[3363728+(e*632|0)+9>>0]=0;b[3363728+(e*632|0)+118>>1]=0;b[3363728+(e*632|0)+116>>1]=0;c[3363728+(e*632|0)+112>>2]=16384;a[3363728+(e*632|0)+52>>0]=0;b[3363728+(e*632|0)+190>>1]=0;b[3363728+(e*632|0)+188>>1]=0;c[3363728+(e*632|0)+184>>2]=16384;a[3363728+(e*632|0)+124>>0]=0;b[3363728+(e*632|0)+262>>1]=0;b[3363728+(e*632|0)+260>>1]=0;c[3363728+(e*632|0)+256>>2]=16384;a[3363728+(e*632|0)+196>>0]=0;b[3363728+(e*632|0)+334>>1]=0;b[3363728+(e*632|0)+332>>1]=0;c[3363728+(e*632|0)+328>>2]=16384;a[3363728+(e*632|0)+268>>0]=0;b[3363728+(e*632|0)+406>>1]=0;b[3363728+(e*632|0)+404>>1]=0;c[3363728+(e*632|0)+400>>2]=16384;a[3363728+(e*632|0)+340>>0]=0;b[3363728+(e*632|0)+478>>1]=0;b[3363728+(e*632|0)+476>>1]=0;c[3363728+(e*632|0)+472>>2]=16384;a[3363728+(e*632|0)+412>>0]=0;b[3363728+(e*632|0)+550>>1]=0;b[3363728+(e*632|0)+548>>1]=0;c[3363728+(e*632|0)+544>>2]=16384;a[3363728+(e*632|0)+484>>0]=0;b[3363728+(e*632|0)+622>>1]=0;b[3363728+(e*632|0)+620>>1]=0;c[3363728+(e*632|0)+616>>2]=16384;a[3363728+(e*632|0)+556>>0]=0;return}function Bv(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;f=a[d+8>>0]|0;g=f&255;if(f<<24>>24>-1){k=g>>>2&7;l=d+52+(k*72|0)|0;do switch((g&227)<<24>>24){case 0:{k=d+52+(k*72|0)+4|0;b[k>>1]=e&255|b[k>>1]&256;Cv(+h[d+32>>3],+h[d+40>>3],l);return}case 1:{f=d+52+(k*72|0)+4|0;b[f>>1]=e<<8&256|b[f>>1]&255;a[d+52+(k*72|0)+2>>0]=e>>>4&1;f=e&96;if(!f)f=e&127;else{a[d+52+(k*72|0)+3>>0]=f>>>5;f=e}g=d+52+(k*72|0)+1|0;i=(a[g>>0]|0)!=0;e=(f&128|0)==0;if(!(i|e)?(a[d+13>>0]|0)!=0:0){a[l>>0]=1;c[d+52+(k*72|0)+24>>2]=c[d+52+(k*72|0)+8>>2];c[d+52+(k*72|0)+36>>2]=0;c[d+52+(k*72|0)+28>>2]=0;c[d+52+(k*72|0)+40>>2]=127;c[d+52+(k*72|0)+32>>2]=127;c[d+52+(k*72|0)+44>>2]=0;j=12}else j=10;if((j|0)==10?i&e:0){a[l>>0]=0;j=12}if((j|0)==12)a[d+52+(k*72|0)+68>>0]=0;a[g>>0]=f>>>7&1;Cv(+h[d+32>>3],+h[d+40>>3],l);return}case 2:{a[d+52+(k*72|0)+6>>0]=e;Dv(l);return}case 3:{a[d+52+(k*72|0)+7>>0]=e&15;Dv(l);return}case 32:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 33:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 34:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 35:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 64:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 65:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 66:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 67:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 96:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 97:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 98:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 99:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}default:return}while(0)}switch(f<<24>>24){case -1:{a[d+14>>0]=e>>>6&1;a[d+12>>0]=e>>>4&1;vv(d);f=d+13|0;g=(a[f>>0]|0)!=0;i=(e&128|0)==0;if(!(i&g)){if(!(i|g)){if(a[d+53>>0]|0?a[d+54>>0]|0:0)a[d+52>>0]=1;if(a[d+125>>0]|0?a[d+126>>0]|0:0)a[d+124>>0]=1;if(a[d+197>>0]|0?a[d+198>>0]|0:0)a[d+196>>0]=1;if(a[d+269>>0]|0?a[d+270>>0]|0:0)a[d+268>>0]=1;if(a[d+341>>0]|0?a[d+342>>0]|0:0)a[d+340>>0]=1;if(a[d+413>>0]|0?a[d+414>>0]|0:0)a[d+412>>0]=1;if(a[d+485>>0]|0?a[d+486>>0]|0:0)a[d+484>>0]=1;if(a[d+557>>0]|0?a[d+558>>0]|0:0)a[d+556>>0]=1}}else{a[d+52>>0]=0;a[d+120>>0]=0;a[d+124>>0]=0;a[d+192>>0]=0;a[d+196>>0]=0;a[d+264>>0]=0;a[d+268>>0]=0;a[d+336>>0]=0;a[d+340>>0]=0;a[d+408>>0]=0;a[d+412>>0]=0;a[d+480>>0]=0;a[d+484>>0]=0;a[d+552>>0]=0;a[d+556>>0]=0;a[d+624>>0]=0}a[f>>0]=e>>>7&1;return}case -2:{a[d+11>>0]=e;vv(d);return}case -121:{if(!(a[d+14>>0]|0))return;d=d+24|0;c[d>>2]=(c[d>>2]|0)+1&16777215;return}case -124:{c[d+16>>2]=e<<16;return}case -123:{c[d+20>>2]=e<<8;return}case -122:{f=c[d+16>>2]|e|c[d+20>>2];c[d+24>>2]=f;if(!(a[d+14>>0]|0))return;a[d+15>>0]=wv(c[d>>2]|0,c[d+4>>2]|0,f)|0;return}default:return}} -function Sh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f&255;j=e&63;a[b+156+j>>0]=f;h=e&255;do switch(h&63){case 0:{c[b+1796>>2]=f>>>7&1;c[b+1800>>2]=f>>>6&1;c[b+1764>>2]=f>>>5&1;c[b+1788>>2]=f>>>4&1;c[b+1768>>2]=f&15;e=0;do{if(!(c[b+316+(e<<2)>>2]|0)){j=e<<1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0}e=e+1|0}while((e|0)!=9);return}case 1:{c[b+1848>>2]=f>>>7&1;c[b+1852>>2]=f>>>6&1;c[b+1816>>2]=f>>>5&1;c[b+1840>>2]=f>>>4&1;c[b+1820>>2]=f&15;e=0;do{if(!(c[b+316+(e<<2)>>2]|0)){j=e<<1|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0}e=e+1|0}while((e|0)!=9);return}case 2:{c[b+1792>>2]=f>>>6&3;c[b+1756>>2]=f&63;g=0;do{if(!(c[b+316+(g<<2)>>2]|0)){i=g<<1;e=b+388+(i*76|0)|0;if(!(c[b+388+(i*76|0)+4>>2]|0)){e=c[e>>2]|0;h=e}else{h=b+388+(i*76|0)+44|0;e=c[e>>2]|0}c[b+388+(i*76|0)+52>>2]=c[830048+(c[b+388+(i*76|0)+36>>2]>>5<<13)+(c[b+388+(i*76|0)+40>>2]<<10)+(c[h>>2]<<4)+(c[e+36>>2]<<2)>>2]}g=g+1|0}while((g|0)!=9);return}case 3:{c[b+1844>>2]=f>>>6&3;c[b+1856>>2]=f>>>4&1;c[b+1804>>2]=f>>>3&1;c[b+1760>>2]=f&7;if(!(c[b+316>>2]|0)){c[b+408>>2]=c[44328+(c[(c[b+388>>2]|0)+48>>2]<<2)>>2];c[b+484>>2]=c[44328+(c[(c[b+464>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+320>>2]|0)){c[b+560>>2]=c[44328+(c[(c[b+540>>2]|0)+48>>2]<<2)>>2];c[b+636>>2]=c[44328+(c[(c[b+616>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+324>>2]|0)){c[b+712>>2]=c[44328+(c[(c[b+692>>2]|0)+48>>2]<<2)>>2];c[b+788>>2]=c[44328+(c[(c[b+768>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+328>>2]|0)){c[b+864>>2]=c[44328+(c[(c[b+844>>2]|0)+48>>2]<<2)>>2];c[b+940>>2]=c[44328+(c[(c[b+920>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+332>>2]|0)){c[b+1016>>2]=c[44328+(c[(c[b+996>>2]|0)+48>>2]<<2)>>2];c[b+1092>>2]=c[44328+(c[(c[b+1072>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+336>>2]|0)){c[b+1168>>2]=c[44328+(c[(c[b+1148>>2]|0)+48>>2]<<2)>>2];c[b+1244>>2]=c[44328+(c[(c[b+1224>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+340>>2]|0)){c[b+1320>>2]=c[44328+(c[(c[b+1300>>2]|0)+48>>2]<<2)>>2];c[b+1396>>2]=c[44328+(c[(c[b+1376>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+344>>2]|0)){c[b+1472>>2]=c[44328+(c[(c[b+1452>>2]|0)+48>>2]<<2)>>2];c[b+1548>>2]=c[44328+(c[(c[b+1528>>2]|0)+48>>2]<<2)>>2]}if(c[b+348>>2]|0)return;c[b+1624>>2]=c[44328+(c[(c[b+1604>>2]|0)+48>>2]<<2)>>2];c[b+1700>>2]=c[44328+(c[(c[b+1680>>2]|0)+48>>2]<<2)>>2];return}case 4:{c[b+1772>>2]=f>>>4&15;c[b+1776>>2]=f&15;if(!(c[b+316>>2]|0))c[b+456>>2]=vh(b+388|0)|0;if(!(c[b+320>>2]|0))c[b+608>>2]=vh(b+540|0)|0;if(!(c[b+324>>2]|0))c[b+760>>2]=vh(b+692|0)|0;if(!(c[b+328>>2]|0))c[b+912>>2]=vh(b+844|0)|0;if(!(c[b+332>>2]|0))c[b+1064>>2]=vh(b+996|0)|0;if(!(c[b+336>>2]|0))c[b+1216>>2]=vh(b+1148|0)|0;if(!(c[b+340>>2]|0))c[b+1368>>2]=vh(b+1300|0)|0;if(!(c[b+344>>2]|0))c[b+1520>>2]=vh(b+1452|0)|0;if(c[b+348>>2]|0)return;c[b+1672>>2]=vh(b+1604|0)|0;return}case 5:{c[b+1824>>2]=f>>>4&15;c[b+1828>>2]=f&15;if(!(c[b+316>>2]|0))c[b+532>>2]=vh(b+464|0)|0;if(!(c[b+320>>2]|0))c[b+684>>2]=vh(b+616|0)|0;if(!(c[b+324>>2]|0))c[b+836>>2]=vh(b+768|0)|0;if(!(c[b+328>>2]|0))c[b+988>>2]=vh(b+920|0)|0;if(!(c[b+332>>2]|0))c[b+1140>>2]=vh(b+1072|0)|0;if(!(c[b+336>>2]|0))c[b+1292>>2]=vh(b+1224|0)|0;if(!(c[b+340>>2]|0))c[b+1444>>2]=vh(b+1376|0)|0;if(!(c[b+344>>2]|0))c[b+1596>>2]=vh(b+1528|0)|0;if(c[b+348>>2]|0)return;c[b+1748>>2]=vh(b+1680|0)|0;return}case 6:{c[b+1780>>2]=f>>>4&15;c[b+1784>>2]=f&15;if(!(c[b+316>>2]|0))c[b+456>>2]=vh(b+388|0)|0;if(!(c[b+320>>2]|0))c[b+608>>2]=vh(b+540|0)|0;if(!(c[b+324>>2]|0))c[b+760>>2]=vh(b+692|0)|0;if(!(c[b+328>>2]|0))c[b+912>>2]=vh(b+844|0)|0;if(!(c[b+332>>2]|0))c[b+1064>>2]=vh(b+996|0)|0;if(!(c[b+336>>2]|0))c[b+1216>>2]=vh(b+1148|0)|0;if(!(c[b+340>>2]|0))c[b+1368>>2]=vh(b+1300|0)|0;if(!(c[b+344>>2]|0))c[b+1520>>2]=vh(b+1452|0)|0;if(c[b+348>>2]|0)return;c[b+1672>>2]=vh(b+1604|0)|0;return}case 7:{c[b+1832>>2]=f>>>4&15;c[b+1836>>2]=f&15;if(!(c[b+316>>2]|0))c[b+532>>2]=vh(b+464|0)|0;if(!(c[b+320>>2]|0))c[b+684>>2]=vh(b+616|0)|0;if(!(c[b+324>>2]|0))c[b+836>>2]=vh(b+768|0)|0;if(!(c[b+328>>2]|0))c[b+988>>2]=vh(b+920|0)|0;if(!(c[b+332>>2]|0))c[b+1140>>2]=vh(b+1072|0)|0;if(!(c[b+336>>2]|0))c[b+1292>>2]=vh(b+1224|0)|0;if(!(c[b+340>>2]|0))c[b+1444>>2]=vh(b+1376|0)|0;if(!(c[b+344>>2]|0))c[b+1596>>2]=vh(b+1528|0)|0;if(c[b+348>>2]|0)return;c[b+1748>>2]=vh(b+1680|0)|0;return}case 14:{if(a[b>>0]|0)return;Th(b);do if(f&32|0){if(!(f&16))Vh(b);else Uh(b);if(!(f&8))Xh(b);else Wh(b);if(!(f&4))Zh(b);else Yh(b);if(!(f&2))$h(b);else _h(b);if(!(f&1)){bi(b);break}else{ai(b);break}}while(0);ci(b);j=b+1300|0;f=c[b+1336>>2]|0;i=c[b+1340>>2]|0;h=c[j>>2]|0;c[b+1328>>2]=c[567776+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1352>>2]=c[830048+(f>>5<<13)+(i<<10)+(c[((c[b+1304>>2]|0)==0?h:b+1344|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1356>>2]=c[829920+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1320>>2]=c[44328+(c[h+48>>2]<<2)>>2];c[b+1368>>2]=vh(j)|0;j=b+1376|0;h=c[b+1412>>2]|0;i=c[b+1416>>2]|0;f=c[j>>2]|0;c[b+1404>>2]=c[567776+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1428>>2]=c[830048+(h>>5<<13)+(i<<10)+(c[((c[b+1380>>2]|0)==0?f:b+1420|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1432>>2]=c[829920+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1396>>2]=c[44328+(c[f+48>>2]<<2)>>2];c[b+1444>>2]=vh(j)|0;j=b+1452|0;f=c[b+1488>>2]|0;i=c[b+1492>>2]|0;h=c[j>>2]|0;c[b+1480>>2]=c[567776+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1504>>2]=c[830048+(f>>5<<13)+(i<<10)+(c[((c[b+1456>>2]|0)==0?h:b+1496|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1508>>2]=c[829920+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1472>>2]=c[44328+(c[h+48>>2]<<2)>>2];c[b+1520>>2]=vh(j)|0;j=b+1528|0;h=c[b+1564>>2]|0;i=c[b+1568>>2]|0;f=c[j>>2]|0;c[b+1556>>2]=c[567776+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1580>>2]=c[830048+(h>>5<<13)+(i<<10)+(c[((c[b+1532>>2]|0)==0?f:b+1572|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1584>>2]=c[829920+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1548>>2]=c[44328+(c[f+48>>2]<<2)>>2];c[b+1596>>2]=vh(j)|0;j=b+1604|0;f=c[b+1640>>2]|0;i=c[b+1644>>2]|0;h=c[j>>2]|0;c[b+1632>>2]=c[567776+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1656>>2]=c[830048+(f>>5<<13)+(i<<10)+(c[((c[b+1608>>2]|0)==0?h:b+1648|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1660>>2]=c[829920+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1624>>2]=c[44328+(c[h+48>>2]<<2)>>2];c[b+1672>>2]=vh(j)|0;j=b+1680|0;h=c[b+1716>>2]|0;i=c[b+1720>>2]|0;f=c[j>>2]|0;c[b+1708>>2]=c[567776+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1732>>2]=c[830048+(h>>5<<13)+(i<<10)+(c[((c[b+1684>>2]|0)==0?f:b+1724|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1736>>2]=c[829920+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1700>>2]=c[44328+(c[f+48>>2]<<2)>>2];c[b+1748>>2]=vh(j)|0;return}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 56:{e=j>>>0>53;if(e&(a[b>>0]|0)!=0)return;g=f>>>4&15;a:do if(e&(a[b+170>>0]&32)!=0)switch(h&63){case 55:{ii(b+1452|0,g<<2);break a}case 56:{ii(b+1604|0,g<<2);break a}default:break a}else Rh(b,j+-48|0,g);while(0);j=j+-48|0;ji(b,j,f<<2&60);j=j<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;return}case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{e=j+-16|0;if(j>>>0>21&(a[b>>0]|0)!=0)return;di(b,e,(a[j+16+(b+156)>>0]&1)<<8|g);j=e<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;return}case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:{e=j+-32|0;if(j>>>0>37&(a[b>>0]|0)!=0)return;di(b,e,f<<8&256|d[j+-16+(b+156)>>0]);ei(b,e,f>>>1&7);fi(b,e,f>>>5&1);if(!(j>>>0>=38?(a[b+170>>0]&32)!=0:0))i=55;do if((i|0)==55)if(!(f&16)){hi(b,e);break}else{gi(b,e);break}while(0);j=e<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[567776+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[830048+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[829920+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[44328+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=vh(f)|0;ci(b);Th(b);return}default:return}while(0)}function Th(b){b=b|0;var e=0;e=b+340|0;if(!(c[e>>2]&16)){if(a[b+170>>0]&32){c[e>>2]=16;c[b+1360>>2]=7;c[b+1436>>2]=7;ni(b+1300|0,b+3420|0);ni(b+1376|0,b+3472|0)}}else if(!(c[b+272>>2]|a[b+170>>0]&32)){c[b+1360>>2]=7;c[b+1436>>2]=7;Rh(b,6,(d[b+210>>0]|0)>>>4)}e=b+344|0;if(!(c[e>>2]&16)){if(a[b+170>>0]&32){c[e>>2]=17;c[b+1456>>2]=1;c[b+1512>>2]=7;c[b+1588>>2]=7;ni(b+1452|0,b+3524|0);ni(b+1528|0,b+3576|0)}}else{if(!(c[b+276>>2]|0))e=0;else e=(c[b+280>>2]|0)!=0&1;if(!(e|a[b+170>>0]&32)){c[b+1456>>2]=0;c[b+1512>>2]=7;c[b+1588>>2]=7;Rh(b,7,(d[b+211>>0]|0)>>>4)}}e=b+348|0;if(!(c[e>>2]&16)){if(!(a[b+170>>0]&32))return;c[e>>2]=18;c[b+1608>>2]=1;c[b+1664>>2]=7;c[b+1740>>2]=7;ni(b+1604|0,b+3628|0);ni(b+1680|0,b+3680|0);return}if(!(c[b+288>>2]|0))e=0;else e=(c[b+284>>2]|0)!=0&1;if(e|a[b+170>>0]&32|0)return;c[b+1608>>2]=0;c[b+1664>>2]=7;c[b+1740>>2]=7;Rh(b,8,(d[b+212>>0]|0)>>>4);return}function Uh(a){a=a|0;gi(a,6);return}function Vh(a){a=a|0;hi(a,6);return}function Wh(a){a=a|0;if(c[a+280>>2]|0)return;li(a+1528|0);return}function Xh(a){a=a|0;if(!(c[a+280>>2]|0))return;ki(a+1528|0);return}function Yh(a){a=a|0;if(c[a+284>>2]|0)return;li(a+1604|0);return}function Zh(a){a=a|0;if(!(c[a+284>>2]|0))return;ki(a+1604|0);return}function _h(a){a=a|0;if(c[a+288>>2]|0)return;mi(a+1680|0);return}function $h(a){a=a|0;if(!(c[a+288>>2]|0))return;ki(a+1680|0);return}function ai(a){a=a|0;if(c[a+276>>2]|0)return;mi(a+1452|0);return}function bi(a){a=a|0;if(!(c[a+276>>2]|0))return;ki(a+1452|0);return}function ci(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a[b+188>>0]&16;c[b+224>>2]=e;c[b+220>>2]=e;e=a[b+189>>0]&16;c[b+232>>2]=e;c[b+228>>2]=e;e=a[b+190>>0]&16;c[b+240>>2]=e;c[b+236>>2]=e;e=a[b+191>>0]&16;c[b+248>>2]=e;c[b+244>>2]=e;e=a[b+192>>0]&16;c[b+256>>2]=e;c[b+252>>2]=e;e=a[b+193>>0]&16;c[b+264>>2]=e;c[b+260>>2]=e;e=a[b+194>>0]&16;f=e&255;g=b+272|0;c[g>>2]=f;h=b+268|0;c[h>>2]=f;i=a[b+195>>0]&16;l=i&255;j=b+280|0;c[j>>2]=l;k=b+276|0;c[k>>2]=l;l=a[b+196>>0]&16;d=l&255;m=b+288|0;c[m>>2]=d;n=b+284|0;c[n>>2]=d;b=a[b+170>>0]|0;d=b&255;if(!(d&32))return;c[h>>2]=d&16|f;c[g>>2]=(e|b&16)&255;c[j>>2]=(i|b&8)&255;c[k>>2]=(i|b&1)&255;c[n>>2]=(l|b&4)&255;c[m>>2]=(l|b&2)&255;return}function di(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+36>>2]=d;c[a+388+(b*76|0)+36>>2]=d;return}function ei(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+40>>2]=d;c[a+388+(b*76|0)+40>>2]=d;return}function fi(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+48>>2]=d;if(!(c[a+388+(b*76|0)+4>>2]|0))return;c[a+388+(b*76|0)+48>>2]=d;return}function gi(a,b){a=a|0;b=b|0;var d=0;d=b<<1;if(!(c[a+220+(d<<2)>>2]|0))li(a+388+(d*76|0)|0);d=d|1;if(c[a+220+(d<<2)>>2]|0){b=a+352+(b<<2)|0;c[b>>2]=1;return}li(a+388+(d*76|0)|0);b=a+352+(b<<2)|0;c[b>>2]=1;return}function hi(a,b){a=a|0;b=b|0;var d=0;d=b<<1|1;if(c[a+220+(d<<2)>>2]|0)ki(a+388+(d*76|0)|0);c[a+352+(b<<2)>>2]=0;return}function ii(a,b){a=a|0;b=b|0;c[a+44>>2]=b;return}function ji(a,b,d){a=a|0;b=b|0;d=d|0;c[a+388+((b<<1|1)*76|0)+44>>2]=d;return}function ki(a){a=a|0;var b=0,d=0;b=a+60|0;if((c[b>>2]|0)==1){d=a+64|0;c[d>>2]=(e[530720+((c[d>>2]|0)>>>15<<1)>>1]|0)<<15}c[b>>2]=5;c[a+68>>2]=vh(a)|0;return}function li(a){a=a|0;c[a+60>>2]=1;c[a+64>>2]=0;c[a+24>>2]=0;c[a+68>>2]=vh(a)|0;return}function mi(a){a=a|0;c[a+60>>2]=1;c[a+64>>2]=0;c[a+68>>2]=vh(a)|0;return}function ni(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function oi(){var a=0;a=0;do{c[534048+(a<<2)>>2]=~~(+ma(+(+Di(+(a|0)*6.283185307179586*.00390625)*13.75/1200.0))*256.0);a=a+1|0}while((a|0)!=256);return}function pi(){var a=0;a=0;do{c[533024+(a<<2)>>2]=~~((+Di(+(a|0)*6.283185307179586*.00390625)+1.0)*13.0);a=a+1|0}while((a|0)!=256);return}function qi(){var a=0,c=0;a=0;do{c=~~(+B(10.0,+(+(a|0)*-.1875/20.0))*255.0);c=a>>>0>255?0:c;b[528672+(a<<1)>>1]=c;b[528672+(a+512<<1)>>1]=0-(c&65535);a=a+1|0}while((a|0)!=512);return}function ri(){var a=0;b[265360]=127;a=1;do{b[530720+(a<<1)>>1]=~~(127.0-+K(+(+(a|0)))*127.0/4.844187086458591);a=a+1|0}while((a|0)!=128);return}function si(){var a=0,b=0,d=0,e=0.0,f=0,g=0,i=0,j=0;d=0;do{e=+h[18832+(d<<3)>>3];b=0;do{i=~~(e-+(7-b|0)*6.0);a=(i|0)<1;f=a?0:~~(+(i>>>2|0)/.375)>>>0;g=a?0:~~(+(i>>>1|0)/.375)>>>0;i=a?0:~~(+(i|0)/.375)>>>0;a=0;do{j=a<<1;c[830048+(d<<13)+(b<<10)+(a<<4)>>2]=j;c[830048+(d<<13)+(b<<10)+(a<<4)+4>>2]=j+f;c[830048+(d<<13)+(b<<10)+(a<<4)+8>>2]=j+g;c[830048+(d<<13)+(b<<10)+(a<<4)+12>>2]=j+i;a=a+1|0}while((a|0)!=64);b=b+1|0}while((b|0)!=8);d=d+1|0}while((d|0)!=16);return}function ti(){c[207480]=0;c[207481]=0;c[207482]=0;c[207483]=2;c[207484]=1;c[207485]=4;c[207486]=1;c[207487]=6;c[207488]=2;c[207489]=8;c[207490]=2;c[207491]=10;c[207492]=3;c[207493]=12;c[207494]=3;c[207495]=14;c[207496]=0;c[207497]=1;c[207498]=0;c[207499]=3;c[207500]=1;c[207501]=5;c[207502]=1;c[207503]=7;c[207504]=2;c[207505]=9;c[207506]=2;c[207507]=11;c[207508]=3;c[207509]=13;c[207510]=3;c[207511]=15;return}function ui(){var a=0,c=0;a=0;do{b[961120+(a<<1)>>1]=Bi(+D(+(+(a|0)*6.283185307179586*.001953125)))|0;a=a+1|0}while((a|0)!=128);a=0;do{b[961120+(255-a<<1)>>1]=b[961120+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=128);a=0;do{b[961120+(a+256<<1)>>1]=(e[961120+(a<<1)>>1]|0)+512;a=a+1|0}while((a|0)!=256);mz(962144,961120,512)|0;c=b[480560]|0;a=256;do{b[962144+(a<<1)>>1]=c;a=a+1|0}while((a|0)!=512);return}function vi(){Ai(0,565792);Ai(1,565896);Ai(2,566e3);Ai(3,566104);Ai(4,566208);Ai(5,566312);Ai(6,566416);Ai(7,566520);Ai(8,566624);Ai(9,566728);Ai(10,566832);Ai(11,566936);Ai(12,567040);Ai(13,567144);Ai(14,567248);Ai(15,567352);Ai(16,567456);Ai(17,567560);Ai(18,567664);return}function wi(){var a=0,b=0,d=0.0,e=0.0,f=0.0,g=0.0;xi();yi();zi();a=c[11080]|0;b=c[11081]|0;d=+(((b>>>0)/72|0)>>>0);e=419430.4/d;if((a|0)==49716){c[857736]=~~e>>>0;e=238636.2368/d;b=~~e>>>0;c[857737]=b;return}else{g=+(b>>>0);f=+(a>>>0);c[857736]=~~(e*g/72.0/f+.5)>>>0;e=+(~~(238636.2368/d*g/72.0/f+.5)>>>0>>>0);b=~~e>>>0;c[857737]=b;return}}function xi(){var a=0,b=0,d=0,e=0,f=0,g=0.0,h=0.0;d=c[11080]|0;f=(d|0)==49716;g=+((c[11081]|0)>>>0);h=+(d>>>0);d=0;do{b=0;do{e=0;do{a=(M(c[18608+(e<<2)>>2]|0,d)|0)<>>2;if(!f)a=~~(+(a>>>0)*g/72.0/h+.5)>>>0;c[567776+(d<<9)+(b<<6)+(e<<2)>>2]=a;e=e+1|0}while((e|0)!=16);b=b+1|0}while((b|0)!=8);d=d+1|0}while((d|0)!=512);return}function yi(){var a=0,b=0,d=0,e=0.0,f=0.0,g=0;g=c[11080]|0;d=(g|0)==49716;e=+((c[11081]|0)>>>0);f=+(g>>>0);g=0;do{b=0;do{a=(b>>>2)+g|0;switch(g&2147483647|0){case 15:case 0:{a=0;break}default:{a=(b&3|4)*3<<(a>>>0<15?a:15)+1;if(!d)a=~~(+(a|0)*e/72.0/f+.5)>>>0}}c[530976+(g<<6)+(b<<2)>>2]=a;b=b+1|0}while((b|0)!=16);g=g+1|0}while((g|0)!=16);return}function zi(){var a=0,b=0,d=0,e=0,f=0,g=0.0,h=0.0,i=0;e=c[11080]|0;f=(e|0)==49716;g=+((c[11081]|0)>>>0);h=+(e>>>0);e=0;do{i=(e|0)==0;d=0;do{a=(d>>>2)+e|0;if(!i){a=(d&3|4)<<(a>>>0<15?a:15)+-1;if(f)b=e;else{a=~~(+(a|0)*g/72.0/h+.5)>>>0;b=e}}else{a=0;b=0}c[532e3+(b<<6)+(d<<2)>>2]=a;d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);return}function Ai(a,b){a=a|0;b=b|0;Kh(18672+(a<<3)|0,b);return}function Bi(a){a=+a;var b=0;if(a==0.0){b=255;return b|0}b=Ci(0-~~(+qa(+a)*20.0/.1875)|0)|0;return b|0}function Ci(a){a=a|0;return ((a|0)<255?a:255)|0}function Di(a){a=+a;var b=0.0;if(a<=1.5707963267948966){b=a*2.0/3.141592653589793;return +b}b=a*2.0/3.141592653589793;if(!(a<=4.71238898038469)){b=b+-4.0;return +b}else{b=2.0-b;return +b}return 0.0}function Ei(a,b){a=a|0;b=b|0;c[a+1880>>2]=7;c[a+1884>>2]=b;return}function Fi(a,b){a=a|0;b=b|0;var d=0;Gi();d=ex(6024)|0;if(!d){d=0;return d|0}nz(d|0,0,6024)|0;c[d+5988>>2]=a;c[d+5992>>2]=b;Hi(d);Ii(d);return d|0}function Gi(){var a=0;a=c[857751]|0;c[857751]=a+1;if((a|0)>0)return;Ui();return}function Hi(b){b=b|0;var d=0,e=0.0,f=0;d=c[b+5992>>2]|0;if(!d)e=0.0;else e=+(c[b+5988>>2]|0)/72.0/+(d|0);f=b+6e3|0;h[f>>3]=e;c[b+1888>>2]=~~(e*0.0*64.0)>>>0;d=1;while(1){c[b+1888+(d<<2)>>2]=~~(+(d|0)*64.0*e*64.0)>>>0;d=d+1|0;if((d|0)==1024)break;e=+h[f>>3]}a[b+182>>0]=0;a[b+366>>0]=0;a[b+550>>0]=0;a[b+734>>0]=0;a[b+918>>0]=0;a[b+1102>>0]=0;a[b+1286>>0]=0;a[b+1470>>0]=0;a[b+1654>>0]=0;d=b+1665|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;a[d+4>>0]=0;e=+h[f>>3];c[b+1704>>2]=~~(e*262144.0)>>>0;c[b+1712>>2]=~~(e*16384.0)>>>0;f=~~(e*65536.0)>>>0;c[b+1724>>2]=f;c[b+1680>>2]=f;c[b+1684>>2]=65536;return}function Ii(b){b=b|0;var d=0,e=0;c[b+1676>>2]=0;c[b+1672>>2]=0;c[b+1716>>2]=1;d=b+1728|0;e=d;a[e>>0]=73;a[e+1>>0]=76;a[e+2>>0]=76;a[e+3>>0]=18;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=b+1736|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=30;a[e+3>>0]=23;d=d+4|0;a[d>>0]=240;a[d+1>>0]=120;a[d+2>>0]=0;a[d+3>>0]=23;d=b+1744|0;e=d;a[e>>0]=19;a[e+1>>0]=65;a[e+2>>0]=30;a[e+3>>0]=13;d=d+4|0;a[d>>0]=215;a[d+1>>0]=247;a[d+2>>0]=19;a[d+3>>0]=19;d=b+1752|0;e=d;a[e>>0]=19;a[e+1>>0]=1;a[e+2>>0]=153;a[e+3>>0]=4;d=d+4|0;a[d>>0]=242;a[d+1>>0]=244;a[d+2>>0]=17;a[d+3>>0]=35;d=b+1760|0;e=d;a[e>>0]=33;a[e+1>>0]=97;a[e+2>>0]=27;a[e+3>>0]=7;d=d+4|0;a[d>>0]=175;a[d+1>>0]=100;a[d+2>>0]=64;a[d+3>>0]=39;d=b+1768|0;e=d;a[e>>0]=34;a[e+1>>0]=33;a[e+2>>0]=30;a[e+3>>0]=6;d=d+4|0;a[d>>0]=240;a[d+1>>0]=117;a[d+2>>0]=8;a[d+3>>0]=24;d=b+1776|0;e=d;a[e>>0]=49;a[e+1>>0]=34;a[e+2>>0]=22;a[e+3>>0]=5;d=d+4|0;a[d>>0]=144;a[d+1>>0]=113;a[d+2>>0]=0;a[d+3>>0]=19;d=b+1784|0;e=d;a[e>>0]=33;a[e+1>>0]=97;a[e+2>>0]=29;a[e+3>>0]=7;d=d+4|0;a[d>>0]=130;a[d+1>>0]=128;a[d+2>>0]=16;a[d+3>>0]=23;d=b+1792|0;e=d;a[e>>0]=35;a[e+1>>0]=33;a[e+2>>0]=45;a[e+3>>0]=22;d=d+4|0;a[d>>0]=192;a[d+1>>0]=112;a[d+2>>0]=7;a[d+3>>0]=7;d=b+1800|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=27;a[e+3>>0]=6;d=d+4|0;a[d>>0]=100;a[d+1>>0]=101;a[d+2>>0]=16;a[d+3>>0]=23;d=b+1808|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=12;a[e+3>>0]=24;d=d+4|0;a[d>>0]=133;a[d+1>>0]=240;a[d+2>>0]=112;a[d+3>>0]=7;d=b+1816|0;e=d;a[e>>0]=35;a[e+1>>0]=1;a[e+2>>0]=7;a[e+3>>0]=17;d=d+4|0;a[d>>0]=240;a[d+1>>0]=164;a[d+2>>0]=0;a[d+3>>0]=34;d=b+1824|0;e=d;a[e>>0]=151;a[e+1>>0]=193;a[e+2>>0]=36;a[e+3>>0]=7;d=d+4|0;a[d>>0]=255;a[d+1>>0]=248;a[d+2>>0]=34;a[d+3>>0]=18;d=b+1832|0;e=d;a[e>>0]=97;a[e+1>>0]=16;a[e+2>>0]=12;a[e+3>>0]=5;d=d+4|0;a[d>>0]=242;a[d+1>>0]=244;a[d+2>>0]=64;a[d+3>>0]=68;d=b+1840|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=85;a[e+3>>0]=3;d=d+4|0;a[d>>0]=-202140941;a[d+1>>0]=-202140941>>8;a[d+2>>0]=-202140941>>16;a[d+3>>0]=-202140941>>24;d=b+1848|0;e=d;a[e>>0]=97;a[e+1>>0]=65;a[e+2>>0]=137;a[e+3>>0]=3;d=d+4|0;a[d>>0]=241;a[d+1>>0]=244;a[d+2>>0]=240;a[d+3>>0]=19;d=b+1856|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=22;a[e+3>>0]=0;d=d+4|0;a[d>>0]=253;a[d+1>>0]=248;a[d+2>>0]=47;a[d+3>>0]=109;d=b+1864|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=-117843752;a[d+1>>0]=-117843752>>8;a[d+2>>0]=-117843752>>16;a[d+3>>0]=-117843752>>24;d=b+1872|0;e=d;a[e>>0]=5;a[e+1>>0]=1;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=248;a[d+1>>0]=186;a[d+2>>0]=73;a[d+3>>0]=85;Ji(b,15,0);d=63;while(1){Ji(b,d,0);if(d>>>0>16)d=d+-1|0;else break}c[b+80>>2]=0;a[b+37>>0]=0;c[b+48>>2]=255;c[b+164>>2]=0;a[b+121>>0]=0;c[b+132>>2]=255;c[b+264>>2]=0;a[b+221>>0]=0;c[b+232>>2]=255;c[b+348>>2]=0;a[b+305>>0]=0;c[b+316>>2]=255;c[b+448>>2]=0;a[b+405>>0]=0;c[b+416>>2]=255;c[b+532>>2]=0;a[b+489>>0]=0;c[b+500>>2]=255;c[b+632>>2]=0;a[b+589>>0]=0;c[b+600>>2]=255;c[b+716>>2]=0;a[b+673>>0]=0;c[b+684>>2]=255;c[b+816>>2]=0;a[b+773>>0]=0;c[b+784>>2]=255;c[b+900>>2]=0;a[b+857>>0]=0;c[b+868>>2]=255;c[b+1e3>>2]=0;a[b+957>>0]=0;c[b+968>>2]=255;c[b+1084>>2]=0;a[b+1041>>0]=0;c[b+1052>>2]=255;c[b+1184>>2]=0;a[b+1141>>0]=0;c[b+1152>>2]=255;c[b+1268>>2]=0;a[b+1225>>0]=0;c[b+1236>>2]=255;c[b+1368>>2]=0;a[b+1325>>0]=0;c[b+1336>>2]=255;c[b+1452>>2]=0;a[b+1409>>0]=0;c[b+1420>>2]=255;c[b+1552>>2]=0;a[b+1509>>0]=0;c[b+1520>>2]=255;c[b+1636>>2]=0;a[b+1593>>0]=0;c[b+1604>>2]=255;return}function Ji(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f&255;switch(e>>>4&15){case 0:switch(e&15){case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{j=e&7;a[b+1728+j>>0]=f;Ki(b,j&255);return}case 14:{if(a[b+5986>>0]|0)return;g=b+1688|0;e=(a[g>>0]&32)==0;do if(f&32){if(e){Li(b,6,12,b+1856|0);Li(b,7,14,b+1864|0);j=(d[b+1663>>0]|0)>>>4<<3;c[b+1328>>2]=j;c[b+1332>>2]=((c[b+1464>>2]|0)>>>(d[b+1301>>0]|0))+j;Li(b,8,16,b+1872|0);j=(d[b+1664>>0]|0)>>>4<<3;c[b+1512>>2]=j;c[b+1516>>2]=((c[b+1648>>2]|0)>>>(d[b+1485>>0]|0))+j}e=b+1104|0;if(!(f&16)){Ni(e,-3);Ni(b+1188|0,-3)}else{Mi(e,2);Mi(b+1188|0,2)}e=b+1288|0;if(!(f&1))Ni(e,-3);else Mi(e,2);e=b+1372|0;if(!(f&8))Ni(e,-3);else Mi(e,2);e=b+1472|0;if(!(f&4))Ni(e,-3);else Mi(e,2);e=b+1556|0;if(!(f&2)){Ni(e,-3);break}else{Mi(e,2);break}}else{if(!e){Li(b,6,12,b+1728+((d[b+1662>>0]|0)>>>4<<3)|0);Li(b,7,14,b+1728+((d[b+1663>>0]|0)>>>4<<3)|0);Li(b,8,16,b+1728+((d[b+1664>>0]|0)>>>4<<3)|0)}Ni(b+1104|0,-3);Ni(b+1188|0,-3);Ni(b+1288|0,-3);Ni(b+1372|0,-3);Ni(b+1472|0,-3);Ni(b+1556|0,-3)}while(0);a[g>>0]=f&63;return}default:return}case 2:case 1:{j=e&15;j=j>>>0>8?j+-9|0:j;if((j|0)>5&(a[b+5986>>0]|0)!=0)return;i=b+(j*184|0)|0;if(!(e&16)){g=b+(j*184|0)+168|0;e=c[g>>2]&255|f<<8&3840;if(!(f&16)){Ni(i,-2);Ni(b+(j*184|0)+84|0,-2)}else{Mi(i,1);Mi(b+(j*184|0)+84|0,1)}a[b+(j*184|0)+181>>0]=f&32;h=g;g=c[g>>2]|0}else{h=b+(j*184|0)+168|0;f=c[h>>2]|0;e=f&3840|g;g=f}if((g|0)==(e|0))return;c[h>>2]=e;a[b+(j*184|0)+180>>0]=e>>>8&15;f=c[18960+(e>>5<<2)>>2]|0;c[b+(j*184|0)+176>>2]=f;c[b+(j*184|0)+172>>2]=(c[b+1888+((e<<1&1022)<<2)>>2]|0)>>>(e>>>9&7^7);c[b+(j*184|0)+44>>2]=(f>>>(d[b+(j*184|0)+13>>0]|0))+(c[b+(j*184|0)+40>>2]|0);c[b+(j*184|0)+128>>2]=(f>>>(d[b+(j*184|0)+97>>0]|0))+(c[b+(j*184|0)+124>>2]|0);Oi(i,i);Oi(i,b+(j*184|0)+84|0);return}case 3:{j=e&15;j=j>>>0>8?j+-9|0:j;e=(j|0)>5;if(e&(a[b+5986>>0]|0)!=0)return;g=b+1656+j|0;h=a[g>>0]|0;a[g>>0]=f;k=f<<3&120;c[b+(j*184|0)+124>>2]=k;i=c[b+(j*184|0)+176>>2]|0;c[b+(j*184|0)+128>>2]=(i>>>(d[b+(j*184|0)+97>>0]|0))+k;if(e?a[b+1688>>0]&32:0){if((j|0)<=6)return;k=(d[g>>0]|0)>>>4<<3;c[b+(j*184|0)+40>>2]=k;c[b+(j*184|0)+44>>2]=(i>>>(d[b+(j*184|0)+13>>0]|0))+k;return}if((f&240|0)==(h&-16&255|0))return;Li(b,j,j<<1,b+1728+((d[g>>0]|0)>>>4<<3)|0);return}default:return}}function Ki(b,c){b=b|0;c=c|0;var e=0,f=0;e=b+1728|0;f=(a[b+1688>>0]&32)==0?9:6;switch(c<<24>>24){case 0:{c=0;do{if((d[b+1656+c>>0]|0)<16)Pi(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 1:{e=b+1729|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Pi(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 2:{e=b+1730|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Qi(b,c,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 3:{e=b+1731|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Ri(b,c,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 4:{e=b+1732|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Si(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 5:{e=b+1733|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Si(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 6:{e=b+1734|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Ti(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 7:{e=b+1735|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Ti(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}default:return}}function Li(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;Pi(a,c,d[e>>0]|0);f=c+1|0;Pi(a,f,d[e+1>>0]|0);Qi(a,b,d[e+2>>0]|0);Ri(a,b,d[e+3>>0]|0);Si(a,c,d[e+4>>0]|0);Si(a,f,d[e+5>>0]|0);Ti(a,c,d[e+6>>0]|0);Ti(a,f,d[e+7>>0]|0);return}function Mi(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+68|0;f=c[e>>2]|0;if(!f)a[b+37>>0]=5;c[e>>2]=f|d;return}function Ni(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+68|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+37|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;c[e+20>>2]=M(c[b+172>>2]|0,d[e+15>>0]|0)|0;f=(d[b+180>>0]|0)>>>(d[e+12>>0]|0);g=e+14|0;if((f|0)!=(d[g>>0]|0)){a[g>>0]=f;f=f&255;g=(c[e>>2]|0)+f|0;if(g>>>0<78){h=a[30576+g>>0]|0;g=a[19472+g>>0]|0}else{h=104;g=0}a[e+58>>0]=g;a[e+59>>0]=h;h=(c[e+4>>2]|0)+f|0;a[e+60>>0]=a[19472+h>>0]|0;a[e+61>>0]=a[30576+h>>0]|0;h=(c[e+8>>2]|0)+f|0;a[e+62>>0]=a[19472+h>>0]|0;a[e+63>>0]=a[30576+h>>0]|0}b=((a[b+181>>0]|0)==0?44:36)+f|0;a[e+64>>0]=a[19472+b>>0]|0;a[e+65>>0]=a[30576+b>>0]|0;b=f+68|0;a[e+56>>0]=a[19472+b>>0]|0;a[e+57>>0]=a[30576+b>>0]|0;return}function Pi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d|0)/2|0;d=d&1;a[b+(f*184|0)+(d*84|0)+15>>0]=a[30752+(e&15)>>0]|0;a[b+(f*184|0)+(d*84|0)+12>>0]=e>>>3&2^2;a[b+(f*184|0)+(d*84|0)+36>>0]=e&32;a[b+(f*184|0)+(d*84|0)+76>>0]=e&64;c[b+(f*184|0)+(d*84|0)+72>>2]=e<<24>>31;Oi(b+(f*184|0)|0,b+(f*184|0)+(d*84|0)|0);return}function Qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[19632+(e>>6<<2)>>2]|0;a[b+(d*184|0)+13>>0]=f;e=e<<1&126;c[b+(d*184|0)+40>>2]=e;c[b+(d*184|0)+44>>2]=((c[b+(d*184|0)+176>>2]|0)>>>(f&255))+e;return}function Ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[b+(d*184|0)+80>>2]=e<<7&1024;f=e&7;a[b+(d*184|0)+24>>0]=(f|0)==0?0:(f|8)&255;f=c[19632+(e>>6<<2)>>2]|0;a[b+(d*184|0)+97>>0]=f;c[b+(d*184|0)+128>>2]=((c[b+(d*184|0)+176>>2]|0)>>>(f&255))+(c[b+(d*184|0)+124>>2]|0);c[b+(d*184|0)+164>>2]=e<<6&1024;return}function Si(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=(e|0)/2|0;i=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(j*184|0)+(i*84|0)>>2]=e;h=d[b+(j*184|0)+(i*84|0)+14>>0]|0;e=e+h|0;if(e>>>0<78){g=a[30576+e>>0]|0;e=a[19472+e>>0]|0}else{g=104;e=0}a[b+(j*184|0)+(i*84|0)+58>>0]=e;a[b+(j*184|0)+(i*84|0)+59>>0]=g;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(j*184|0)+(i*84|0)+4>>2]=f;f=f+h|0;a[b+(j*184|0)+(i*84|0)+60>>0]=a[19472+f>>0]|0;a[b+(j*184|0)+(i*84|0)+61>>0]=a[30576+f>>0]|0;return}function Ti(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;g=(e|0)/2|0;e=e&1;c[b+(g*184|0)+(e*84|0)+52>>2]=c[19568+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g*184|0)+(e*84|0)+8>>2]=f;f=f+(d[b+(g*184|0)+(e*84|0)+14>>0]|0)|0;a[b+(g*184|0)+(e*84|0)+62>>0]=a[19472+f>>0]|0;a[b+(g*184|0)+(e*84|0)+63>>0]=a[30576+f>>0]|0;return}function Ui(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;e=e<<1;c[543264+(e<<2)>>2]=d;b=e|1;c[543264+(b<<2)>>2]=0-d;f=d>>1;c[543264+(e+512<<2)>>2]=f;c[543264+(b+512<<2)>>2]=0-f;f=d>>2;c[543264+(e+1024<<2)>>2]=f;c[543264+(b+1024<<2)>>2]=0-f;f=d>>3;c[543264+(e+1536<<2)>>2]=f;c[543264+(b+1536<<2)>>2]=0-f;f=d>>4;c[543264+(e+2048<<2)>>2]=f;c[543264+(b+2048<<2)>>2]=0-f;f=d>>5;c[543264+(e+2560<<2)>>2]=f;c[543264+(b+2560<<2)>>2]=0-f;f=d>>6;c[543264+(e+3072<<2)>>2]=f;c[543264+(b+3072<<2)>>2]=0-f;f=d>>7;c[543264+(e+3584<<2)>>2]=f;c[543264+(b+3584<<2)>>2]=0-f;f=d>>8;c[543264+(e+4096<<2)>>2]=f;c[543264+(b+4096<<2)>>2]=0-f;f=d>>9;c[543264+(e+4608<<2)>>2]=f;c[543264+(b+4608<<2)>>2]=0-f;d=d>>10;c[543264+(e+5120<<2)>>2]=d;c[543264+(b+5120<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);f=(f<<1&2)+f&-2|!(g>=0.0)&1;c[535072+(a<<2)>>2]=f;c[535072+(a+1024<<2)>>2]=(a&512|0)==0?f:5632;a=a+1|0}while((a|0)!=1024);return}function Vi(b){b=b|0;b=528656+((b&255)<<3)|0;switch(a[3432162]|0){case 1:{Wi(c[b>>2]|0);return}case 0:{Xi(c[b>>2]|0);return}default:return}}function Wi(a){a=a|0;Yi(a);return}function Xi(a){a=a|0;fx(a);return}function Yi(a){a=a|0;Zi();fx(a);return}function Zi(){var a=0;a=c[857751]|0;if(!a)return;c[857751]=a+-1;return}function _i(b){b=b|0;var d=0;b=b&255;d=528656+(b<<3)|0;switch(a[3432162]|0){case 1:{$i(c[d>>2]|0);if(!(a[528656+(b<<3)+4>>0]|0))return;aj(c[d>>2]|0);return}case 0:{Nh(c[d>>2]|0);return}default:return}}function $i(a){a=a|0;Ii(a);return}function aj(b){b=b|0;var c=0,d=0;b=b+1728|0;c=0;do{d=c<<3;a[b+(c<<3)>>0]=a[18448+d>>0]|0;a[b+(c<<3)+1>>0]=a[18448+(d|1)>>0]|0;a[b+(c<<3)+2>>0]=a[18448+(d|2)>>0]|0;a[b+(c<<3)+3>>0]=a[18448+(d|3)>>0]|0;a[b+(c<<3)+4>>0]=a[18448+(d|4)>>0]|0;a[b+(c<<3)+5>>0]=a[18448+(d|5)>>0]|0;a[b+(c<<3)+6>>0]=a[18448+(d|6)>>0]|0;a[b+(c<<3)+7>>0]=a[18448+(d|7)>>0]|0;c=c+1|0}while((c|0)!=19);return}function bj(b,d,e){b=b|0;d=d|0;e=e|0;b=528656+((b&255)<<3)|0;switch(a[3432162]|0){case 1:{cj(c[b>>2]|0,d&1,e&255);return}case 0:{dj(c[b>>2]|0,d&1,e&255);return}default:return}}function cj(a,b,c){a=a|0;b=b|0;c=c|0;ej(a,b,c);return}function dj(b,c,e){b=b|0;c=c|0;e=e|0;if(!(c&1)){a[b+1>>0]=e;return}else{Sh(b,d[b+1>>0]|0,e);return}}function ej(b,e,f){b=b|0;e=e|0;f=f|0;if(!(e&1)){a[b+5984>>0]=f;return}e=c[b+1880>>2]|0;if(e|0)xa[e&31](c[b+1884>>2]|0,0);Ji(b,d[b+5984>>0]|0,f);return}function fj(b){b=b|0;a[3432162]=(b&255)<2?b:0;return}function gj(b,d){b=b|0;d=d|0;b=528656+((b&255)<<3)|0;switch(a[3432162]|0){case 1:{hj(c[b>>2]|0,d);return}case 0:{ij(c[b>>2]|0,d);return}default:return}}function hj(b,c){b=b|0;c=c|0;a[b+182>>0]=c&1;a[b+366>>0]=c>>>1&1;a[b+550>>0]=c>>>2&1;a[b+734>>0]=c>>>3&1;a[b+918>>0]=c>>>4&1;a[b+1102>>0]=c>>>5&1;a[b+1286>>0]=c>>>6&1;a[b+1470>>0]=c>>>7&1;a[b+1654>>0]=c>>>8&1;a[b+1665>>0]=c>>>9&1;a[b+1666>>0]=c>>>10&1;a[b+1667>>0]=c>>>11&1;a[b+1668>>0]=c>>>12&1;a[b+1669>>0]=c>>>13&1;return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+3740|0;e=0;f=c[d>>2]|0;do{a:do if(e>>>0<9)a=1<>24){case 9:{a=8192;break a}case 10:{a=4096;break a}case 11:{a=2048;break a}case 12:{a=1024;break a}case 13:{a=512;break a}default:{a=0;break a}}while(0);f=(1<>2]=f;return}function jj(d,e){d=d|0;e=e|0;if(a[3432162]|0)return;d=528656+((d&255)<<3)|0;kj(c[d>>2]|0,0,b[e>>1]|0);kj(c[d>>2]|0,1,b[e+2>>1]|0);kj(c[d>>2]|0,2,b[e+4>>1]|0);kj(c[d>>2]|0,3,b[e+6>>1]|0);kj(c[d>>2]|0,4,b[e+8>>1]|0);kj(c[d>>2]|0,5,b[e+10>>1]|0);kj(c[d>>2]|0,6,b[e+12>>1]|0);kj(c[d>>2]|0,7,b[e+14>>1]|0);kj(c[d>>2]|0,8,b[e+16>>1]|0);kj(c[d>>2]|0,9,b[e+18>>1]|0);kj(c[d>>2]|0,10,b[e+20>>1]|0);kj(c[d>>2]|0,11,b[e+22>>1]|0);kj(c[d>>2]|0,12,b[e+24>>1]|0);kj(c[d>>2]|0,13,b[e+26>>1]|0);return}function kj(a,b,c){a=a|0;b=b|0;c=c|0;lj(a+44+((b>>>0<9?b:22-b|0)<<3)|0,c);return}function lj(a,b){a=a|0;b=b|0;b=(b|0)>-256?b:-256;b=(b|0)<256?b:256;g[a+4>>2]=+D(+(+(b+256|0)*.001953125*3.14159265359*.5))*1.414213562;g[a>>2]=+D(+(+(256-b|0)*.001953125*3.14159265359*.5))*1.414213562;return}function mj(a){a=a|0;nj(c[a>>2]|0,c[857780]|0,c[857781]|0,0);return}function nj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;n=b+512|0;o=b+21040|0;p=b+18164|0;x=b+18232|0;I=b+18612|0;T=b+18992|0;ca=b+19372|0;ea=b+19752|0;l=b+20132|0;Pf(n,x);Pf(n,I);fa=b+520|0;m=b+552|0;if(c[m>>2]&192){if((c[b+19028>>2]|0)==-1){Qf(n,T,c[b+1620>>2]|0,d[b+1630>>0]|0);Qf(n,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Qf(n,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Qf(n,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Pf(n,T);Pf(n,ca);Pf(n,ea);Pf(n,l);if((g|0)>0){q=b+18208|0;r=b+18200|0;s=b+18204|0;t=b+18224|0;u=b+18216|0;v=b+18220|0;w=b+18168|0;y=b+18172|0;z=b+18176|0;A=b+18180|0;B=b+18184|0;C=b+21126|0;D=b+21168|0;E=b+20528|0;F=b+1704|0;G=b+1700|0;H=b+1708|0;J=b+1648|0;K=b+1652|0;L=b+1656|0;M=b+1660|0;N=b+1664|0;O=b+1668|0;P=b+1672|0;Q=b+1676|0;R=b+1680|0;S=b+1684|0;U=b+1688|0;V=b+1692|0;W=b+564|0;X=b+1696|0;Y=b+1600|0;Z=b+536|0;_=b+20580|0;$=b+20632|0;aa=b+20684|0;ba=b+20736|0;da=b+20788|0;k=0;do{oj(n);c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;Sf(n,x,0);Sf(n,I,1);Sf(n,T,2);Sf(n,ca,3);Sf(n,ea,4);Sf(n,l,5);if((a[C>>0]|0)<0?(a[D>>0]|0)==0:0)pj(o);if(a[E>>0]|0)qj(b,E);if(a[_>>0]|0)qj(b,_);if(a[$>>0]|0)qj(b,$);if(a[aa>>0]|0)qj(b,aa);if(a[ba>>0]|0)qj(b,ba);if(a[da>>0]|0)qj(b,da);i=(c[G>>2]|0)+(c[F>>2]|0)|0;c[G>>2]=i;j=c[H>>2]|0;if(i>>>0>=j>>>0)do{c[G>>2]=i-j;c[X>>2]=(c[X>>2]|0)+1;Rf(n,x);Rf(n,I);Rf(n,T);Rf(n,ca);Rf(n,ea);Rf(n,l);i=c[G>>2]|0;j=c[H>>2]|0}while(i>>>0>=j>>>0);la=c[q>>2]|0;ma=c[t>>2]|0;ka=c[p>>2]|0;ja=c[w>>2]|0;ia=c[y>>2]|0;ha=c[z>>2]|0;ga=c[A>>2]|0;j=c[B>>2]|0;i=((c[u>>2]|0)+ma>>8)+((c[r>>2]|0)+la<<1)+(c[K>>2]&ka)+(c[M>>2]&ja)+(c[O>>2]&ia)+(c[Q>>2]&ha)+(c[S>>2]&ga)+(c[V>>2]&j)|0;c[e+(k<<2)>>2]=(ma+(c[v>>2]|0)>>8)+(la+(c[s>>2]|0)<<1)+(c[J>>2]&ka)+(c[L>>2]&ja)+(c[N>>2]&ia)+(c[P>>2]&ha)+(c[R>>2]&ga)+(c[U>>2]&j);c[f+(k<<2)>>2]=i;i=c[W>>2]|0;if(((i|0?(c[Y>>2]|0)==0:0)?(ma=i-~~(+h[Z>>3]*4096.0)|0,c[W>>2]=ma,(ma|0)<1):0)?(Tf(fa),c[m>>2]&128|0):0)Uf(T);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j){Wf(fa,0);return}if(c[b+1600>>2]|0){Wf(fa,0);return}ma=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ma;if((ma|0)>=1){Wf(fa,0);return}Vf(fa);Wf(fa,0);return}function oj(a){a=a|0;var b=0,d=0,e=0;b=c[a+17600>>2]|0;if(!b){b=0;d=0}else{e=a+17596|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;d=d>>>24;e=d&127;d=d<<1&126;b=e>>>2;d=e>>>0<64?d:126-d|0}c[a+17588>>2]=d;c[a+17592>>2]=b;return}function pj(b){b=b|0;switch((a[b+86>>0]&-32)<<24>>24){case -96:{rj(b);return}case -128:{sj(b);return}default:return}}function qj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(a[e+48>>0]|0)return;f=e+8|0;g=(c[f>>2]|0)+(c[e+12>>2]|0)|0;c[f>>2]=g;do if(g>>>0>65535){c[f>>2]=g&65535;j=e+4|0;k=b+20516|0;l=e+2|0;m=e+32|0;n=e+28|0;o=c[e+20>>2]<<1&2097150;h=g>>>16;i=c[j>>2]|0;while(1){if((i&2097151|0)==(o|0))break;if(!(i&1)){f=a[(c[k>>2]|0)+(i>>>1)>>0]|0;a[l>>0]=f;f=(f&255)>>>4}else f=a[l>>0]&15;i=i+1|0;c[j>>2]=i;q=c[m>>2]|0;f=f&255;g=(c[n>>2]|0)+(c[963168+(q+f<<2)>>2]|0)|0;g=g>>>0>2047?g|-4096:g&4095;c[n>>2]=g;f=(c[19648+((f&7)<<2)>>2]|0)+q|0;c[m>>2]=f;if((f|0)<=768){if((f|0)<0){f=0;p=12}}else{f=768;p=12}if((p|0)==12){p=0;c[m>>2]=f}h=h+-1|0;if(!h){p=14;break}}if((p|0)==14){f=M(g,a[e+40>>0]|0)|0;f=f>>d[e+41>>0]&-4;c[e+36>>2]=f;break}a[e>>0]=0;q=b+21032|0;a[q>>0]=a[q>>0]|a[e+1>>0];return}else f=c[e+36>>2]|0;while(0);q=c[e+44>>2]|0;c[q>>2]=(c[q>>2]|0)+f;return}function rj(b){b=b|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;d=b+40|0;f=(c[d>>2]|0)+(c[b+44>>2]|0)|0;c[d>>2]=f;a:do if(f>>>0>65535){t=f&65535;c[d>>2]=t;q=b+36|0;j=b+56|0;r=b+86|0;k=b+48|0;l=b+68|0;m=b+72|0;s=b+80|0;n=b+84|0;o=b+28|0;p=c[b+52>>2]<<1;i=f>>>16;h=c[q>>2]|0;while(1){if((h|0)==(p|0)){c[q>>2]=0;d=0}else d=h;if((d|0)==(c[j>>2]<<1|0)){if(!(a[r>>0]&16))break;d=c[k>>2]<<1;c[q>>2]=d;c[l>>2]=0;c[m>>2]=127;c[s>>2]=0}if(!(d&1)){g=a[(c[b>>2]|0)+(d>>>1)>>0]|0;a[n>>0]=g;g=(g&255)>>>4}else g=a[n>>0]&15;h=c[o>>2]&d+1;c[q>>2]=h;e=c[l>>2]|0;c[s>>2]=e;f=c[m>>2]|0;d=((M(f,c[19680+(g<<2)>>2]|0)|0)/8|0)+e|0;c[l>>2]=d;if((d|0)<=32767){if((d|0)<-32768){d=-32768;u=18}}else{d=32767;u=18}if((u|0)==18){u=0;c[l>>2]=d}f=M(c[19744+(g<<2)>>2]|0,f)|0;c[m>>2]=(f|0)/64|0;if((f|0)<=1572927){if((f|0)<8128){f=127;u=21}}else{f=24576;u=21}if((u|0)==21){u=0;c[m>>2]=f}i=i+-1|0;if(!i){f=t;break a}}d=c[b+92>>2]|0;if(d|0?(v=a[b+104>>0]|0,v<<24>>24):0)xa[d&31](c[b+100>>2]|0,v);a[b+107>>0]=0;a[r>>0]=0;c[b+76>>2]=0;c[s>>2]=0;return}else{e=c[b+80>>2]|0;d=c[b+68>>2]|0}while(0);v=(M(d,f)|0)+(M(65536-f|0,e)|0)>>16;v=M(v,c[b+64>>2]|0)|0;c[b+76>>2]=v;b=c[b+8>>2]|0;c[b>>2]=(c[b>>2]|0)+v;return}function sj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+40|0;e=(c[u>>2]|0)+(c[b+44>>2]|0)|0;c[u>>2]=e;if(e>>>0<=65535){v=e;u=c[b+80>>2]|0;t=c[b+68>>2]|0;w=65536-v|0;u=M(w,u)|0;w=b+76|0;v=M(t,v)|0;u=v+u|0;u=u>>16;v=b+64|0;v=c[v>>2]|0;v=M(u,v)|0;c[w>>2]=v;w=b+8|0;w=c[w>>2]|0;u=c[w>>2]|0;v=u+v|0;c[w>>2]=v;return}c[u>>2]=e&65535;v=b+36|0;l=b+84|0;m=b+68|0;n=b+80|0;o=b+72|0;p=b+85|0;q=b+92|0;r=b+105|0;s=b+100|0;k=e>>>16;j=c[v>>2]|0;do{e=d[l>>0]|0;if(j&1){e=e&15;a[l>>0]=a[p>>0]|0;f=c[q>>2]|0;if((f|0)!=0?(t=a[r>>0]|0,t<<24>>24!=0):0){xa[f&31](c[s>>2]|0,t);h=e;e=c[v>>2]|0}else{h=e;e=j}}else{h=e>>>4;e=j}j=e+1|0;c[v>>2]=j;i=c[m>>2]|0;c[n>>2]=i;f=c[o>>2]|0;e=((M(f,c[19680+(h<<2)>>2]|0)|0)/8|0)+i|0;c[m>>2]=e;if((e|0)<=32767)if((e|0)<-32768){e=-32768;w=11}else g=e;else{e=32767;w=11}if((w|0)==11){w=0;c[m>>2]=e;g=e}e=M(c[19744+(h<<2)>>2]|0,f)|0;c[o>>2]=(e|0)/64|0;if((e|0)<=1572927){if((e|0)<8128){e=127;w=14}}else{e=24576;w=14}if((w|0)==14){w=0;c[o>>2]=e}k=k+-1|0}while((k|0)!=0);v=c[u>>2]|0;u=i;t=g;w=65536-v|0;u=M(w,u)|0;w=b+76|0;v=M(t,v)|0;u=v+u|0;u=u>>16;v=b+64|0;v=c[v>>2]|0;v=M(u,v)|0;c[w>>2]=v;w=b+8|0;w=c[w>>2]|0;u=c[w>>2]|0;v=u+v|0;c[w>>2]=v;return}function tj(a,b,d){a=a|0;b=b|0;d=d|0;nj(c[966304+((a&255)*28|0)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function uj(b,d,e){b=b|0;d=d|0;e=e|0;b=c[966304+((b&255)*28|0)+4>>2]|0;if(!b){e=e<<2;nz(c[d>>2]|0,0,e|0)|0;nz(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3432163]|0){case 1:{dg(b,d,e);return}case 0:{eg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function vj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if((b&255)>1){d=0;return d|0}j=b&255;k=966304+(j*28|0)|0;i=(d|0)/72|0;b=a[3432185]|0;h=c[857788]|0;i=b<<24>>24==2|b<<24>>24==1&(i|0)<(h|0)?h:i;h=966304+(j*28|0)+8|0;c[h>>2]=c[11084];c[h+4>>2]=c[11085];c[h+8>>2]=c[11086];c[h+12>>2]=c[11087];c[h+16>>2]=c[11088];if(f<<24>>24)c[h>>2]=f&255;a:do if(!(e<<24>>24)){b=(d|0)/4|0;e=(d|0)/32|0;c[g>>2]=e;switch(a[3432163]|0){case 1:{c[966304+(j*28|0)+4>>2]=hg(0,33,b,h)|0;break a}case 0:break;default:break a}b=ig(b,e)|0;c[966304+(j*28|0)+4>>2]=b;if(!b){d=0;return d|0}else{jg(b,1);break}}else{c[966304+(j*28|0)+4>>2]=0;c[g>>2]=0}while(0);c[k>>2]=wj(k,d,i)|0;d=i;return d|0}function wj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ex(21176)|0;if(!f){f=0;return f|0}nz(f|0,0,21176)|0;lg();c[f+520>>2]=b;a[f+512>>0]=23;c[f+1644>>2]=f+18232;c[f+524>>2]=d;c[f+528>>2]=e;c[f+1600>>2]=0;c[f+1604>>2]=0;c[f+1608>>2]=44356;c[f+21040>>2]=0;c[f+21064>>2]=0;c[f+21068>>2]=0;c[f+21132>>2]=8;c[f+21136>>2]=9;c[f+21140>>2]=f;a[f+21144>>0]=4;a[f+21145>>0]=8;a[f+21146>>0]=16;c[f+20516>>2]=19808;c[f+20520>>2]=8192;zj();return f|0}function xj(a,b){a=a|0;b=b|0;Wf(a+520|0,b&255);return}function yj(a,b){a=a|0;b=b|0;Ng(a+520|0,b&255);return}function zj(){var a=0,b=0,d=0,e=0,f=0;b=0;do{d=c[28e3+(b<<2)>>2]|0;e=b<<4;a=0;do{f=(M(d,a<<1&14|1)|0)/8|0;c[963168+(a+e<<2)>>2]=(a&8|0)==0?f:0-f|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);return}function Aj(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432163]|0){case 1:{yg(b,d);return}case 0:{zg(b,d);return}default:return}}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432163]|0){case 1:{vg(b,d,e);return}case 0:{wg(b,d,e);return}default:return}}function Cj(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3432163]|0){case 1:{b=tg(b)|0;break a}case 0:{b=(ug(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function Dj(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432163]|0){case 1:{qg(b);return}case 0:{rg(b);return}default:return}}function Ej(b){b=b|0;var d=0;b=b&255;Fj(c[966304+(b*28|0)>>2]|0);b=966304+(b*28|0)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3432163]|0){case 1:{Gg(d);break}case 0:{Hg(d);break}default:{}}c[b>>2]=0;return}function Fj(a){a=a|0;fx(c[a+21040>>2]|0);fx(a);return}function Gj(a){a=a|0;Hj(c[966304+((a&255)*28|0)>>2]|0);return}function Hj(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0;e=b+512|0;Kg(e,0,2);d=b+520|0;i=b+536|0;l=b+21056|0;h[l>>3]=+h[i>>3];wa[c[(c[b+1608>>2]|0)+12>>2]&31](c[d>>2]|0);Ij(e,b,31);Jj(e,b,28);Mg(e,39,48);c[b+1700>>2]=0;c[b+1696>>2]=0;Ng(d,255);Og(d,b+18232|0,6);Pg(e,182,192);Pg(e,438,192);Pg(e,181,192);Pg(e,437,192);Pg(e,180,192);Pg(e,436,192);d=178;while(1){Pg(e,d,0);Pg(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}k=b+21040|0;Pg(e,38,0);Pg(e,37,0);Pg(e,36,0);Pg(e,35,0);Pg(e,34,0);Pg(e,33,0);Pg(e,32,0);e=b+20528|0;j=b+18208|0;f=+h[i>>3];g=f*65536.0;d=0;do{c[e+(d*52|0)+12>>2]=~~(g/(d>>>0<4?3.0:6.0))>>>0;i=d<<1;c[e+(d*52|0)+16>>2]=c[28208+(i<<2)>>2];c[e+(d*52|0)+20>>2]=c[28208+((i|1)<<2)>>2];c[e+(d*52|0)+4>>2]=0;c[e+(d*52|0)+8>>2]=0;a[e+(d*52|0)+40>>0]=0;c[e+(d*52|0)+44>>2]=j;a[e+(d*52|0)+1>>0]=0;a[e+(d*52|0)>>0]=0;c[e+(d*52|0)+28>>2]=0;c[e+(d*52|0)+32>>2]=0;c[e+(d*52|0)+36>>2]=0;d=d+1|0}while((d|0)!=6);a[b+20524>>0]=63;a[b+21032>>0]=0;h[l>>3]=f;c[b+21044>>2]=b+18212;a[b+21128>>0]=5;c[b+21072>>2]=8388608;Kj(k,3,0);return}function Ij(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=d[b>>0]|0;a[b>>0]=(e&128|0)==0?f&251:f|4;e=e&31;a[c+21170>>0]=e;Lg(b+8|0,e&(d[c+21169>>0]|0));return}function Jj(b,c,e){b=b|0;c=c|0;e=e|0;if(!(e&128)){e=e&31^255;a[c+21169>>0]=e;Lg(b+8|0,e&(d[c+21170>>0]|0));return}else{Ng(b+8|0,247);return}}function Kj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+36|0;c[b+56>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[b+52>>2]=-1;c[b+64>>2]=0;c[b+8>>2]=(c[b+4>>2]|0)+(d<<2);c[b+68>>2]=0;c[b+80>>2]=0;c[b+72>>2]=127;c[b+76>>2]=0;a[b+124>>0]=e;d=(e|0)==1;a[b+86>>0]=d?32:0;a[b+87>>0]=d&1;a[b+89>>0]=a[45599+(d&1)>>0]|0;d=c[b+92>>2]|0;if(!d)return;e=a[b+105>>0]|0;if(!(e<<24>>24))return;xa[d&31](c[b+100>>2]|0,e);return}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;Mj(c[966304+((a&255)*28|0)>>2]|0,b&3,d);return}function Mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=b+512|0;switch(d&3){case 0:{a[b+548>>0]=e;a[b+20512>>0]=0;d=e&255;if((e&255)<16){ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[b+520>>2]|0,0,d);return}if((e+-45&255)>=3)return;Kg(j,d,2);h[b+21056>>3]=+h[b+536>>3];return}case 1:{if(a[b+20512>>0]|0)return;f=b+520|0;g=a[b+548>>0]|0;i=g&255;a[b+i>>0]=e;switch((i&240)<<24>>24){case 0:{ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[f>>2]|0,d,e&255);return}case 16:{mj(c[f>>2]|0);Nj(b,i+-16|0,e&255);return}case 32:if(g<<24>>24==41){Ij(j,b,e&255);return}else{mj(c[f>>2]|0);Mg(j,i,e&255);return}default:{mj(c[f>>2]|0);Pg(j,i,e&255);return}}}case 2:{a[b+548>>0]=e;a[b+20512>>0]=1;return}case 3:{if((a[b+20512>>0]|0)!=1)return;d=a[b+548>>0]|0;f=d&255;g=f|256;a[b+g>>0]=e;mj(c[b+520>>2]|0);switch((f&240)<<24>>24){case 0:{if(d<<24>>24==14)return;Oj(b+21040|0,f,e&255);return}case 16:{if(d<<24>>24!=16)return;Jj(j,b,e&255);return}default:{Pg(j,g,e&255);return}}}default:{}}}function Nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+20840+(e<<2)>>2]=f&255;switch(e|0){case 0:{if(f&128|0){if(f&1|0)a[b+20528>>0]=0;if(f&2|0)a[b+20580>>0]=0;if(f&4|0)a[b+20632>>0]=0;if(f&8|0)a[b+20684>>0]=0;if(f&16|0)a[b+20736>>0]=0;if(!(f&32))return;a[b+20788>>0]=0;return}h=b+20516|0;i=b+20520|0;do if(f&1|0){e=c[b+20544>>2]|0;c[b+20532>>2]=e<<1;c[b+20536>>2]=0;c[b+20556>>2]=0;c[b+20560>>2]=0;c[b+20564>>2]=0;g=b+20528|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&2|0){e=c[b+20596>>2]|0;c[b+20584>>2]=e<<1;c[b+20588>>2]=0;c[b+20608>>2]=0;c[b+20612>>2]=0;c[b+20616>>2]=0;g=b+20580|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&4|0){e=c[b+20648>>2]|0;c[b+20636>>2]=e<<1;c[b+20640>>2]=0;c[b+20660>>2]=0;c[b+20664>>2]=0;c[b+20668>>2]=0;g=b+20632|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&8|0){e=c[b+20700>>2]|0;c[b+20688>>2]=e<<1;c[b+20692>>2]=0;c[b+20712>>2]=0;c[b+20716>>2]=0;c[b+20720>>2]=0;g=b+20684|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&16|0){e=c[b+20752>>2]|0;c[b+20740>>2]=e<<1;c[b+20744>>2]=0;c[b+20764>>2]=0;c[b+20768>>2]=0;c[b+20772>>2]=0;g=b+20736|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);if(!(f&32))return;g=c[b+20804>>2]|0;c[b+20792>>2]=g<<1;c[b+20796>>2]=0;c[b+20816>>2]=0;c[b+20820>>2]=0;c[b+20824>>2]=0;e=b+20788|0;a[e>>0]=1;if(!(c[h>>2]|0)){a[e>>0]=0;return}if(g>>>0<(c[i>>2]|0)>>>0)return;a[e>>0]=0;return}case 1:{h=f&63^63;a[b+20524>>0]=h;e=h+(d[b+20552>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20568>>0]=e;a[b+20569>>0]=g;c[b+20564>>2]=(M(c[b+20556>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20604>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20620>>0]=e;a[b+20621>>0]=g;c[b+20616>>2]=(M(c[b+20608>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20656>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20672>>0]=e;a[b+20673>>0]=g;c[b+20668>>2]=(M(c[b+20660>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20708>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20724>>0]=e;a[b+20725>>0]=g;c[b+20720>>2]=(M(c[b+20712>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20760>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20776>>0]=e;a[b+20777>>0]=g;c[b+20772>>2]=(M(c[b+20764>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20812>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20828>>0]=e;a[b+20829>>0]=g;c[b+20824>>2]=(M(c[b+20816>>2]|0,e<<24>>24)|0)>>(g&255)&-4;return}default:{h=e&7;if(h>>>0>5)return;switch(((e&56)+-8|0)>>>3&536870911|0){case 0:{e=f&31^31;a[b+20528+(h*52|0)+24>>0]=e;e=e+(d[b+20524>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20528+(h*52|0)+40>>0]=e;a[b+20528+(h*52|0)+41>>0]=g;c[b+20528+(h*52|0)+44>>2]=b+18196+((f>>>6&3)<<2);c[b+20528+(h*52|0)+36>>2]=(M(c[b+20528+(h*52|0)+28>>2]|0,e<<24>>24)|0)>>(g&255)&-4;return}case 2:case 1:{c[b+20528+(h*52|0)+16>>2]=(c[b+20840+((h|24)<<2)>>2]<<8|c[b+20840+((h|16)<<2)>>2])<<8;return}case 4:case 3:{c[b+20528+(h*52|0)+20>>2]=(c[b+20840+((h|40)<<2)>>2]<<8|c[b+20840+((h|32)<<2)>>2])<<8|255;return}default:return}}}}function Oj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0;if((e|0)>15)return;i=f&255;a[b+108+e>>0]=i;switch(e|0){case 0:{j=(a[b+124>>0]|0)==1?f|32:f;e=b+86|0;a[e>>0]=j&241;if(j&128|0){a[b+107>>0]=1;c[b+40>>2]=0;c[b+68>>2]=0;c[b+80>>2]=0;c[b+76>>2]=0;c[b+72>>2]=127;a[b+84>>0]=0}if(j&32){g=c[b+48>>2]|0;c[b+36>>2]=g<<1;a[b+90>>0]=2;if(!(c[b>>2]|0)){a[e>>0]=0;a[b+107>>0]=0;return}i=b+56|0;f=c[b+24>>2]|0;if((c[i>>2]|0)>>>0>=f>>>0)c[i>>2]=f+-1;if(g>>>0>=f>>>0){a[e>>0]=0;a[b+107>>0]=0;return}}else c[b+36>>2]=0;if(!(j&1))return;a[e>>0]=0;a[b+107>>0]=0;e=c[b+92>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}case 1:{i=(a[b+124>>0]|0)==1|f;c[b+8>>2]=(c[b+4>>2]|0)+((f>>>6&3)<<2);e=b+87|0;g=i&3;if((g|0)!=(a[e>>0]&3|0)?(j=b+89|0,k=a[45599+g>>0]|0,(a[j>>0]|0)!=k<<24>>24):0){a[j>>0]=k;l=(d[b+88>>0]|0)-(k&255)|0;c[b+48>>2]=(d[b+111>>0]<<8|d[b+110>>0])<>2]=(1<>0]<<8|d[b+112>>0])<>2]=(d[b+121>>0]<<8|d[b+120>>0])<>0]=i;return}case 3:case 2:{c[b+48>>2]=(d[b+111>>0]<<8|d[b+110>>0])<<(d[b+88>>0]|0)-(d[b+89>>0]|0);return}case 5:case 4:{l=(d[b+88>>0]|0)-(d[b+89>>0]|0)|0;c[b+56>>2]=(1<>0]<<8|d[b+112>>0])<>2]=(d[b+121>>0]<<8|d[b+120>>0])<<(d[b+88>>0]|0)-(d[b+89>>0]|0);return}case 8:switch((a[b+86>>0]&-32)<<24>>24){case 96:{e=b+90|0;if(!(a[e>>0]|0)){g=b+36|0;e=g;g=c[g>>2]|0}else{g=c[b+48>>2]<<1;k=b+36|0;c[k>>2]=g;a[e>>0]=0;e=k}if((g|0)==(c[b+56>>2]<<1|0)){e=c[b+92>>2]|0;if(!e)return;g=a[b+104>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}a[(c[b>>2]|0)+(g>>>1)>>0]=i;c[e>>2]=(c[e>>2]|0)+2;e=c[b+96>>2]|0;if(e|0?(l=a[b+105>>0]|0,l<<24>>24):0)xa[e&31](c[b+100>>2]|0,l);e=c[b+92>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}case -128:{a[b+85>>0]=i;e=c[b+96>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}default:return}case 10:case 9:{l=d[b+118>>0]<<8|d[b+117>>0];c[b+60>>2]=l;c[b+44>>2]=~~(+h[b+16>>3]*+(l>>>0))>>>0;return}case 11:{l=b+64|0;g=c[l>>2]|0;e=(M((c[b+32>>2]|0)/256|0,f&255)|0)/32768|0;c[l>>2]=e;if(!g)return;b=b+76|0;c[b>>2]=~~(+(c[b>>2]|0)/+(g|0)*+(e|0));return}default:return}}function Pj(b){b=b|0;a[3432163]=(b&255)<2?b:0;return}function Qj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Rj(c[966304+((a&255)*28|0)>>2]|0,b,d,e,f);return}function Rj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+21040|0;a=a+21064|0;if((c[a>>2]|0)!=(b|0)){h=hx(c[g>>2]|0,b)|0;c[g>>2]=h;c[a>>2]=b;nz(h|0,-1,b|0)|0;Sj(g)}if(b>>>0>>0)return;mz((c[g>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Sj(a){a=a|0;var b=0,d=0,e=0;d=c[a+24>>2]|0;b=1;do{e=b;b=b<<1}while(e>>>0>>0);c[a+28>>2]=b+-1;return}function Tj(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;Uj(c[966304+(b*28|0)>>2]|0,d);b=c[966304+(b*28|0)+4>>2]|0;if(!b)return;switch(a[3432163]|0){case 1:{dh(b,e);return}case 0:{eh(b,e);return}default:return}}function Uj(b,c){b=b|0;c=c|0;a[b+18608>>0]=c&1;a[b+18988>>0]=c>>>1&1;a[b+19368>>0]=c>>>2&1;a[b+19748>>0]=c>>>3&1;a[b+20128>>0]=c>>>4&1;a[b+20508>>0]=c>>>5&1;a[b+20576>>0]=c>>>6&1;a[b+20628>>0]=c>>>7&1;a[b+20680>>0]=c>>>8&1;a[b+20732>>0]=c>>>9&1;a[b+20784>>0]=c>>>10&1;a[b+20836>>0]=c>>>11&1;a[b+21168>>0]=c>>>12&1;return}function Vj(b,d){b=b|0;d=d|0;b=c[966304+((b&255)*28|0)+4>>2]|0;if(!((b|0)!=0&(a[3432163]|0)==1))return;gh(b,d);return}function Wj(a){a=a|0;Xj(c[a>>2]|0,c[857780]|0,c[857781]|0,0);return}function Xj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;n=b+512|0;o=b+21040|0;p=b+18164|0;x=b+18232|0;I=b+18612|0;T=b+18992|0;ca=b+19372|0;ea=b+19752|0;l=b+20132|0;Pf(n,x);Pf(n,I);fa=b+520|0;m=b+552|0;if(c[m>>2]&192){if((c[b+19028>>2]|0)==-1){Qf(n,T,c[b+1620>>2]|0,d[b+1630>>0]|0);Qf(n,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Qf(n,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Qf(n,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Pf(n,T);Pf(n,ca);Pf(n,ea);Pf(n,l);if((g|0)>0){q=b+18208|0;r=b+18200|0;s=b+18204|0;t=b+18224|0;u=b+18216|0;v=b+18220|0;w=b+18168|0;y=b+18172|0;z=b+18176|0;A=b+18180|0;B=b+18184|0;C=b+1704|0;D=b+1700|0;E=b+1708|0;F=b+21126|0;G=b+1696|0;H=b+21168|0;J=b+20528|0;K=b+1648|0;L=b+1652|0;M=b+1656|0;N=b+1660|0;O=b+1664|0;P=b+1668|0;Q=b+1672|0;R=b+1676|0;S=b+1680|0;U=b+1684|0;V=b+1688|0;W=b+1692|0;X=b+564|0;Y=b+1600|0;Z=b+536|0;_=b+20580|0;$=b+20632|0;aa=b+20684|0;ba=b+20736|0;da=b+20788|0;k=0;do{oj(n);c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;i=(c[D>>2]|0)+(c[C>>2]|0)|0;c[D>>2]=i;j=c[E>>2]|0;if(i>>>0>=j>>>0)do{c[D>>2]=i-j;c[G>>2]=(c[G>>2]|0)+1;Rf(n,x);Rf(n,I);Rf(n,T);Rf(n,ca);Rf(n,ea);Rf(n,l);i=c[D>>2]|0;j=c[E>>2]|0}while(i>>>0>=j>>>0);Sf(n,x,0);Sf(n,I,1);Sf(n,T,2);Sf(n,ca,3);Sf(n,ea,4);Sf(n,l,5);if((a[F>>0]|0)<0?(a[H>>0]|0)==0:0)pj(o);if(a[J>>0]|0)qj(b,J);if(a[_>>0]|0)qj(b,_);if(a[$>>0]|0)qj(b,$);if(a[aa>>0]|0)qj(b,aa);if(a[ba>>0]|0)qj(b,ba);if(a[da>>0]|0)qj(b,da);la=c[q>>2]|0;ma=c[t>>2]|0;ka=c[p>>2]|0;ja=c[w>>2]|0;ia=c[y>>2]|0;ha=c[z>>2]|0;ga=c[A>>2]|0;j=c[B>>2]|0;i=((c[u>>2]|0)+ma>>8)+((c[r>>2]|0)+la<<1)+(c[L>>2]&ka)+(c[N>>2]&ja)+(c[P>>2]&ia)+(c[R>>2]&ha)+(c[U>>2]&ga)+(c[W>>2]&j)|0;c[e+(k<<2)>>2]=(ma+(c[v>>2]|0)>>8)+(la+(c[s>>2]|0)<<1)+(c[K>>2]&ka)+(c[M>>2]&ja)+(c[O>>2]&ia)+(c[Q>>2]&ha)+(c[S>>2]&ga)+(c[V>>2]&j);c[f+(k<<2)>>2]=i;i=c[X>>2]|0;if(((i|0?(c[Y>>2]|0)==0:0)?(ma=i-~~(+h[Z>>3]*4096.0)|0,c[X>>2]=ma,(ma|0)<1):0)?(Tf(fa),c[m>>2]&128|0):0)Uf(T);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j)return;if(c[b+1600>>2]|0)return;ma=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ma;if((ma|0)>=1)return;Vf(fa);return}function Yj(a,b,d){a=a|0;b=b|0;d=d|0;Zj(c[966368+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function Zj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;U=b+512|0;V=b+21040|0;W=b+18612|0;X=b+18992|0;Y=b+19752|0;Z=b+20132|0;i=b+18544|0;if(c[i>>2]|0)c[i>>2]=0;i=b+19684|0;if(c[i>>2]|0)c[i>>2]=0;Pf(U,W);T=b+520|0;l=b+552|0;if(c[l>>2]&192){if((c[b+19028>>2]|0)==-1){Qf(U,X,c[b+1620>>2]|0,d[b+1630>>0]|0);Qf(U,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Qf(U,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Qf(U,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Pf(U,X);Pf(U,Y);Pf(U,Z);if((g|0)>0){m=b+18208|0;n=b+18200|0;o=b+18204|0;p=b+18224|0;q=b+18216|0;r=b+18220|0;s=b+18168|0;t=b+18172|0;u=b+18180|0;v=b+18184|0;w=b+1704|0;x=b+1700|0;y=b+1708|0;z=b+21126|0;A=b+1696|0;B=b+21168|0;C=b+20528|0;D=b+1656|0;E=b+1660|0;F=b+1664|0;G=b+1668|0;H=b+1680|0;I=b+1684|0;J=b+1688|0;K=b+1692|0;L=b+564|0;M=b+1600|0;N=b+536|0;O=b+20580|0;P=b+20632|0;Q=b+20684|0;R=b+20736|0;S=b+20788|0;k=0;do{oj(U);c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;i=(c[x>>2]|0)+(c[w>>2]|0)|0;c[x>>2]=i;j=c[y>>2]|0;if(i>>>0>=j>>>0)do{c[x>>2]=i-j;c[A>>2]=(c[A>>2]|0)+1;Rf(U,W);Rf(U,X);Rf(U,Y);Rf(U,Z);i=c[x>>2]|0;j=c[y>>2]|0}while(i>>>0>=j>>>0);Sf(U,W,1);Sf(U,X,2);Sf(U,Y,4);Sf(U,Z,5);if((a[z>>0]|0)<0?(a[B>>0]|0)==0:0)pj(V);if(a[C>>0]|0)qj(b,C);if(a[O>>0]|0)qj(b,O);if(a[P>>0]|0)qj(b,P);if(a[Q>>0]|0)qj(b,Q);if(a[R>>0]|0)qj(b,R);if(a[S>>0]|0)qj(b,S);ba=c[m>>2]|0;ca=c[p>>2]|0;aa=c[s>>2]|0;$=c[t>>2]|0;_=c[u>>2]|0;j=c[v>>2]|0;i=((c[q>>2]|0)+ca>>8)+((c[n>>2]|0)+ba<<1)+(c[E>>2]&aa)+(c[G>>2]&$)+(c[I>>2]&_)+(c[K>>2]&j)|0;c[e+(k<<2)>>2]=(ca+(c[r>>2]|0)>>8)+(ba+(c[o>>2]|0)<<1)+(c[D>>2]&aa)+(c[F>>2]&$)+(c[H>>2]&_)+(c[J>>2]&j);c[f+(k<<2)>>2]=i;i=c[L>>2]|0;if(((i|0?(c[M>>2]|0)==0:0)?(ca=i-~~(+h[N>>3]*4096.0)|0,c[L>>2]=ca,(ca|0)<1):0)?(Tf(T),c[l>>2]&128|0):0)Uf(X);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j)return;if(c[b+1600>>2]|0)return;ca=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ca;if((ca|0)>=1)return;Vf(T);return}function _j(a,b,d){a=a|0;b=b|0;d=d|0;Xj(c[966368+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function $j(b,d,e){b=b|0;d=d|0;e=e|0;b=c[966368+((b&255)<<3)+4>>2]|0;if(!b){e=e<<2;nz(c[d>>2]|0,0,e|0)|0;nz(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3432164]|0){case 1:{dg(b,d,e);return}case 0:{eg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function ak(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((b&255)>1){j=0;return j|0}h=b&255;i=966368+(h<<3)|0;j=d&2147483647;g=(j>>>0)/72|0;k=a[3432185]|0;b=c[857788]|0;g=k<<24>>24==2|k<<24>>24==1&(g|0)<(b|0)?b:g;a:do if(!(e<<24>>24)){b=j>>>2;e=j>>>5;c[f>>2]=e;switch(a[3432164]|0){case 1:{c[966368+(h<<3)+4>>2]=hg(0,(d>>>31|34)&255,b,44372)|0;break a}case 0:break;default:break a}b=ig(b,e)|0;c[966368+(h<<3)+4>>2]=b;if(!b){k=0;return k|0}else{jg(b,1);break}}else{c[966368+(h<<3)+4>>2]=0;c[f>>2]=0}while(0);c[i>>2]=bk(i,j,g)|0;k=g;return k|0}function bk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ex(21176)|0;if(!f){f=0;return f|0}nz(f|0,0,21176)|0;lg();c[f+520>>2]=b;a[f+512>>0]=55;c[f+1644>>2]=f+18232;c[f+524>>2]=d;c[f+528>>2]=e;c[f+1600>>2]=0;c[f+1604>>2]=0;c[f+1608>>2]=44388;c[f+20516>>2]=0;c[f+20520>>2]=0;c[f+21040>>2]=0;c[f+21064>>2]=0;c[f+21068>>2]=0;c[f+21132>>2]=10;c[f+21136>>2]=11;c[f+21140>>2]=f;a[f+21144>>0]=-128;zj();return f|0}function ck(b,c){b=b|0;c=c|0;b=b+21032|0;a[b>>0]=a[b>>0]|c;return}function dk(b,c){b=b|0;c=c|0;b=b+21032|0;a[b>>0]=a[b>>0]&~c;return}function ek(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432164]|0){case 1:{yg(b,d);return}case 0:{zg(b,d);return}default:return}}function fk(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432164]|0){case 1:{vg(b,d,e);return}case 0:{wg(b,d,e);return}default:return}}function gk(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3432164]|0){case 1:{b=tg(b)|0;break a}case 0:{b=(ug(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function hk(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432164]|0){case 1:{qg(b);return}case 0:{rg(b);return}default:return}}function ik(b){b=b|0;var d=0;b=b&255;jk(c[966368+(b<<3)>>2]|0);b=966368+(b<<3)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3432164]|0){case 1:{Gg(d);break}case 0:{Hg(d);break}default:{}}c[b>>2]=0;return}function jk(a){a=a|0;var b=0;b=a+20516|0;fx(c[b>>2]|0);c[b>>2]=0;fx(c[a+21040>>2]|0);fx(a);return}function kk(a){a=a|0;lk(c[966368+((a&255)<<3)>>2]|0);return}function lk(b){b=b|0;var d=0,e=0,f=0,g=0.0;e=b+512|0;f=b+21040|0;c[b+20516>>2]=0;c[b+20520>>2]=0;c[f>>2]=0;c[b+21064>>2]=0;c[b+21068>>2]=0;Yg(e,144,144,8);d=b+520|0;wa[c[(c[b+1608>>2]|0)+12>>2]&31](c[d>>2]|0);Lg(d,3);Mg(e,39,48);c[b+1700>>2]=0;c[b+1696>>2]=0;Ng(d,255);Og(d,b+18232|0,6);Pg(e,182,192);Pg(e,438,192);Pg(e,181,192);Pg(e,437,192);Pg(e,180,192);Pg(e,436,192);d=178;while(1){Pg(e,d,0);Pg(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}Pg(e,38,0);Pg(e,37,0);Pg(e,36,0);Pg(e,35,0);Pg(e,34,0);Pg(e,33,0);Pg(e,32,0);e=b+18208|0;g=+h[b+536>>3];d=~~(g*65536.0/3.0)>>>0;c[b+20540>>2]=d;c[b+20532>>2]=0;c[b+20536>>2]=0;c[b+20544>>2]=0;c[b+20548>>2]=0;a[b+20568>>0]=0;c[b+20572>>2]=e;a[b+20529>>0]=1;a[b+20528>>0]=0;c[b+20556>>2]=0;c[b+20560>>2]=0;c[b+20564>>2]=0;c[b+20592>>2]=d;c[b+20584>>2]=0;c[b+20588>>2]=0;c[b+20596>>2]=0;c[b+20600>>2]=0;a[b+20620>>0]=0;c[b+20624>>2]=e;a[b+20581>>0]=2;a[b+20580>>0]=0;c[b+20608>>2]=0;c[b+20612>>2]=0;c[b+20616>>2]=0;c[b+20644>>2]=d;c[b+20636>>2]=0;c[b+20640>>2]=0;c[b+20648>>2]=0;c[b+20652>>2]=0;a[b+20672>>0]=0;c[b+20676>>2]=e;a[b+20633>>0]=4;a[b+20632>>0]=0;c[b+20660>>2]=0;c[b+20664>>2]=0;c[b+20668>>2]=0;c[b+20696>>2]=d;c[b+20688>>2]=0;c[b+20692>>2]=0;c[b+20700>>2]=0;c[b+20704>>2]=0;a[b+20724>>0]=0;c[b+20728>>2]=e;a[b+20685>>0]=8;a[b+20684>>0]=0;c[b+20712>>2]=0;c[b+20716>>2]=0;c[b+20720>>2]=0;c[b+20748>>2]=d;c[b+20740>>2]=0;c[b+20744>>2]=0;c[b+20752>>2]=0;c[b+20756>>2]=0;a[b+20776>>0]=0;c[b+20780>>2]=e;a[b+20737>>0]=16;a[b+20736>>0]=0;c[b+20764>>2]=0;c[b+20768>>2]=0;c[b+20772>>2]=0;c[b+20800>>2]=d;c[b+20792>>2]=0;c[b+20796>>2]=0;c[b+20804>>2]=0;c[b+20808>>2]=0;a[b+20828>>0]=0;c[b+20832>>2]=e;a[b+20789>>0]=32;a[b+20788>>0]=0;c[b+20816>>2]=0;c[b+20820>>2]=0;c[b+20824>>2]=0;a[b+20524>>0]=63;a[b+21032>>0]=0;h[b+21056>>3]=g;c[b+21044>>2]=b+18212;a[b+21128>>0]=8;c[b+21072>>2]=8388608;Kj(f,3,1);return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;nk(c[966368+((a&255)<<3)>>2]|0,b&3,d);return}function nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+512|0;switch(d&3){case 0:{a[b+548>>0]=e;a[b+20512>>0]=0;if((e&255)>=16)return;ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[b+520>>2]|0,0,e&255);return}case 1:{if(a[b+20512>>0]|0)return;f=b+520|0;g=a[b+548>>0]|0;h=g&255;a[b+h>>0]=e;switch((h&240)<<24>>24){case 0:{ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[f>>2]|0,d,e&255);return}case 16:{Wj(c[f>>2]|0);switch(g<<24>>24){case 27:case 26:case 25:case 21:case 20:case 19:case 18:case 17:case 16:{Oj(b+21040|0,h+-16|0,e&255);return}case 28:{e=~e;i=e&255;a[b+20529>>0]=i&1;a[b+20581>>0]=i&2;a[b+20633>>0]=i&4;a[b+20685>>0]=i&8;a[b+20737>>0]=i&16;a[b+20789>>0]=i&32;a[b+21144>>0]=i&128;i=b+21032|0;a[i>>0]=a[i>>0]&e;return}default:return}}case 32:{Wj(c[f>>2]|0);Mg(i,h,e&255);return}default:{Wj(c[f>>2]|0);Pg(i,h,e&255);return}}}case 2:{a[b+548>>0]=e;a[b+20512>>0]=1;return}case 3:{if((a[b+20512>>0]|0)!=1)return;Wj(c[b+520>>2]|0);h=a[b+548>>0]|0;f=h&255;g=f|256;a[b+g>>0]=e;d=e&255;if((h&255)<48){Nj(b,f,d);return}else{Pg(i,g,d);return}}default:{}}}function ok(b){b=b|0;a[3432164]=(b&255)<2?b:0;return}function pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;qk(c[966368+((a&255)<<3)>>2]|0,b,d,e,f,g);return}function qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;switch(b<<24>>24){case 1:{b=a+20520|0;if((c[b>>2]|0)!=(d|0)){i=a+20516|0;h=hx(c[i>>2]|0,d)|0;c[i>>2]=h;c[b>>2]=d;nz(h|0,-1,d|0)|0}if(d>>>0>>0)return;mz((c[a+20516>>2]|0)+e|0,g|0,((f+e|0)>>>0>d>>>0?d-e|0:f)|0)|0;return}case 2:{h=a+21040|0;b=a+21064|0;if((c[b>>2]|0)!=(d|0)){i=hx(c[h>>2]|0,d)|0;c[h>>2]=i;c[b>>2]=d;nz(i|0,-1,d|0)|0;Sj(h)}if(d>>>0>>0)return;mz((c[h>>2]|0)+e|0,g|0,((f+e|0)>>>0>d>>>0?d-e|0:f)|0)|0;return}default:return}}function rk(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;sk(c[966368+(b<<3)>>2]|0,d);b=c[966368+(b<<3)+4>>2]|0;if(!b)return;switch(a[3432164]|0){case 1:{dh(b,e);return}case 0:{eh(b,e);return}default:return}}function sk(b,c){b=b|0;c=c|0;a[b+18608>>0]=c&1;a[b+18988>>0]=c>>>1&1;a[b+19368>>0]=c>>>2&1;a[b+19748>>0]=c>>>3&1;a[b+20128>>0]=c>>>4&1;a[b+20508>>0]=c>>>5&1;a[b+20576>>0]=c>>>6&1;a[b+20628>>0]=c>>>7&1;a[b+20680>>0]=c>>>8&1;a[b+20732>>0]=c>>>9&1;a[b+20784>>0]=c>>>10&1;a[b+20836>>0]=c>>>11&1;a[b+21168>>0]=c>>>12&1;return}function tk(b){b=b|0;switch(a[3432165]|0){case 0:{uk(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}case 1:{vk(c[b>>2]|0,3431120,0);wk(c[b>>2]|0,3431120,0);return}default:return}}function uk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;t=b+512|0;u=b+18144|0;v=b+18168|0;y=b+18532|0;J=b+18896|0;U=b+19260|0;ca=b+19624|0;da=b+19988|0;if(!(a[b+20360>>0]|0))q=c[b+20356>>2]|0;else q=0;Bk(t,v);Bk(t,y);r=b+520|0;s=b+556|0;if(c[s>>2]&192){if((c[b+18932>>2]|0)==-1){Ck(t,J,c[b+1620>>2]|0,d[b+1630>>0]|0);Ck(t,b+19048|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Ck(t,b+18972|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Ck(t,b+19124|0,c[b+19244>>2]|0,d[b+19248>>0]|0)}}else Bk(t,J);Bk(t,U);Bk(t,ca);Bk(t,da);if(!g){Dk(v);Dk(y);Dk(J);Dk(U);Dk(ca);Dk(da);return}if((g|0)<=0)return;w=b+18148|0;x=b+18152|0;z=b+18156|0;A=b+18160|0;B=b+18164|0;C=b+20354|0;D=b+20353|0;E=b+1708|0;F=b+1704|0;G=b+1712|0;H=b+20316|0;I=b+1700|0;K=b+1652|0;L=b+1656|0;M=b+1660|0;N=b+1664|0;O=b+1668|0;P=b+1672|0;Q=b+1676|0;R=b+1680|0;S=b+1684|0;T=b+1688|0;V=b+1696|0;W=b+20361|0;ea=q<<1;X=b+1692|0;Y=b+20364|0;Z=b+20368|0;_=b+1644|0;$=b+568|0;aa=b+1604|0;ba=b+528|0;p=0;do{c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;Dk(v);Dk(y);Dk(J);Dk(U);Dk(ca);Dk(da);do if(!(a[C>>0]|0)){Ek(b,t,v);Ek(b,t,y);Ek(b,t,J);Ek(b,t,U);Ek(b,t,ca);if(!(a[D>>0]|0)){Ek(b,t,da);break}else{o=c[H>>2]|0;c[o>>2]=(c[o>>2]|0)+q;break}}else{c[w>>2]=q;c[u>>2]=q;c[z>>2]=q;c[x>>2]=q;c[B>>2]=q}while(0);Fk(t);i=(c[F>>2]|0)+(c[E>>2]|0)|0;c[F>>2]=i;j=c[G>>2]|0;if(i>>>0>=j>>>0)do{c[F>>2]=i-j;c[I>>2]=(c[I>>2]|0)+1;Gk(t,v);Gk(t,y);Gk(t,J);Gk(t,U);Gk(t,ca);Gk(t,da);i=c[F>>2]|0;j=c[G>>2]|0}while(i>>>0>=j>>>0);i=c[u>>2]|0;if((i|0)<=8192){if((i|0)<-8192){i=-8192;fa=21}}else{i=8192;fa=21}if((fa|0)==21){fa=0;c[u>>2]=i}j=c[w>>2]|0;if((j|0)<=8192){if((j|0)<-8192){j=-8192;fa=24}}else{j=8192;fa=24}if((fa|0)==24){fa=0;c[w>>2]=j}k=c[x>>2]|0;if((k|0)<=8192){if((k|0)<-8192){k=-8192;fa=27}}else{k=8192;fa=27}if((fa|0)==27){fa=0;c[x>>2]=k}l=c[z>>2]|0;if((l|0)<=8192){if((l|0)<-8192){l=-8192;fa=30}}else{l=8192;fa=30}if((fa|0)==30){fa=0;c[z>>2]=l}m=c[A>>2]|0;if((m|0)<=8192){if((m|0)<-8192){m=-8192;fa=33}}else{m=8192;fa=33}if((fa|0)==33){fa=0;c[A>>2]=m}n=c[B>>2]|0;if((n|0)<=8192){if((n|0)<-8192){n=-8192;fa=36}}else{n=8192;fa=36}if((fa|0)==36){fa=0;c[B>>2]=n}o=(c[M>>2]&j)+(c[K>>2]&i)+(c[O>>2]&k)+(c[Q>>2]&l)|0;i=(c[N>>2]&j)+(c[L>>2]&i)+(c[P>>2]&k)+(c[R>>2]&l)|0;if(!(a[C>>0]|0)){i=(c[T>>2]&m)+i|0;k=(c[S>>2]&m)+o|0}else k=o+ea|0;i=(c[V>>2]&n)+i|0;j=a[W>>0]|0;if(j&1)c[Y>>2]=(c[X>>2]&n)+k;if(j&2)c[Z>>2]=i;i=j^3;if(i<<24>>24)a[W>>0]=i;c[e+(p<<2)>>2]=c[Y>>2];c[f+(p<<2)>>2]=c[Z>>2];a[_>>0]=d[_>>0]<<1;i=c[$>>2]|0;do if(i|0?(c[aa>>2]|0)==0:0){o=i-~~(+h[ba>>3]*4096.0)|0;c[$>>2]=o;if((o|0)>=1)break;Hk(r);if(!(c[s>>2]&128))break;Ik(t,J)}while(0);if(a[_>>0]&2){Jk(J,0);Jk(J,2);Jk(J,1);Jk(J,3);a[_>>0]=0}p=p+1|0}while((p|0)!=(g|0));return}function vk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+88|0;if((c[a+236>>2]|0)==-1)zk(n);o=a+624|0;if((c[a+772>>2]|0)==-1)zk(o);m=a+1160|0;e=a+1256|0;do if((c[a+1308>>2]|0)==-1)if(!(c[a+56>>2]&64)){zk(m);break}else{Ak(e,(c[221680+(c[a+1216>>2]<<2)>>2]|0)>>>(7-(c[a+1232>>2]|0)|0),c[a+1248>>2]|0);Ak(a+1472|0,(c[221680+(c[a+1220>>2]<<2)>>2]|0)>>>(7-(c[a+1236>>2]|0)|0),c[a+1252>>2]|0);Ak(a+1364|0,(c[221680+(c[a+1212>>2]<<2)>>2]|0)>>>(7-(c[a+1228>>2]|0)|0),c[a+1244>>2]|0);Ak(a+1580|0,(c[221680+(c[a+1208>>2]<<2)>>2]|0)>>>(7-(c[a+1224>>2]|0)|0),c[a+1240>>2]|0);break}while(0);j=a+1696|0;if((c[a+1844>>2]|0)==-1)zk(j);k=a+2232|0;if((c[a+2380>>2]|0)==-1)zk(k);l=a+2768|0;if((c[a+2916>>2]|0)==-1)zk(l);e=(c[a+84>>2]|0)>>>10&16^16;g=c[a+28>>2]|0;if(g){if((d|0)>0){h=a+24|0;f=0;i=c[h>>2]|0;do{i=i+g|0;c[h>>2]=i;p=i>>>18&1023;c[a+5352+(f<<2)>>2]=c[197104+(p<<2)>>2];c[a+6376+(f<<2)>>2]=c[201200+(p<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}e=e|8}if(!(c[a+620>>2]|0))za[c[13744+((c[a+120>>2]|0)+e<<2)>>2]&63](a,n,b,d);if(!(c[a+1156>>2]|0))za[c[13744+((c[a+656>>2]|0)+e<<2)>>2]&63](a,o,b,d);if(!(c[a+1692>>2]|0))za[c[13744+((c[a+1192>>2]|0)+e<<2)>>2]&63](a,m,b,d);if(!(c[a+2228>>2]|0))za[c[13744+((c[a+1728>>2]|0)+e<<2)>>2]&63](a,j,b,d);if(!(c[a+2764>>2]|0))za[c[13744+((c[a+2264>>2]|0)+e<<2)>>2]&63](a,k,b,d);if(c[a+3300>>2]|0){o=c[857726]|0;p=a+80|0;c[p>>2]=o;return}if(c[a+60>>2]|0){o=c[857726]|0;p=a+80|0;c[p>>2]=o;return}za[c[13744+((c[a+2800>>2]|0)+e<<2)>>2]&63](a,l,b,d);o=c[857726]|0;p=a+80|0;c[p>>2]=o;return}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if(((c[a+60>>2]|0?(m=a+64|0,e=c[m>>2]|0,e|0):0)?(c[a+7432>>2]|0)==0:0)?(k=c[b>>2]|0,l=c[b+4>>2]|0,(d|0)>0):0){g=a+68|0;h=a+2792|0;i=a+2796|0;j=(c[11070]|0)==0;b=0;while(1){f=c[g>>2]|0;e=(e<<15)-f|0;if(!j)c[g>>2]=(e>>9)+f;e=e>>15;f=k+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[h>>2]&e);f=l+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i>>2]&e);b=b+1|0;if((b|0)==(d|0))break a;e=c[m>>2]|0}}while(0);g=M(c[a+8>>2]|0,d)|0;b=a+56|0;e=c[b>>2]|0;if(((e&1|0)!=0?(n=a+40|0,o=(c[n>>2]|0)-g|0,c[n>>2]=o,(o|0)<1):0)?(m=a+12|0,c[m>>2]=c[m>>2]|e>>>2&1,c[n>>2]=(c[a+36>>2]|0)+o,(e&128|0)!=0):0){xk(a);e=c[b>>2]|0}if(!(e&2))return;f=a+52|0;b=(c[f>>2]|0)-g|0;c[f>>2]=b;if((b|0)>=1)return;o=a+12|0;c[o>>2]=c[o>>2]|e>>>2&2;c[f>>2]=(c[a+48>>2]|0)+b;return}function xk(a){a=a|0;a=a+1160|0;yk(a,0);yk(a,1);yk(a,2);yk(a,3);return}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+96+(b*108|0)+56|0;if((c[d>>2]|0)!=3)return;c[a+96+(b*108|0)+48>>2]=0;f=a+96+(b*108|0)+60|0;e=a+96+(b*108|0)+96|0;c[f>>2]=c[e>>2]&c[205296+(c[47472+(c[f>>2]>>16<<2)>>2]<<2)>>2];c[e>>2]=-1;c[a+96+(b*108|0)+64>>2]=c[a+96+(b*108|0)+72>>2];c[a+96+(b*108|0)+68>>2]=268435456;c[d>>2]=0;return}function zk(a){a=a|0;var b=0,d=0;d=(c[221680+(c[a+48>>2]<<2)>>2]|0)>>>(7-(c[a+64>>2]|0)|0);b=c[a+80>>2]|0;Ak(a+96|0,d,b);Ak(a+204|0,d,b);Ak(a+312|0,d,b);Ak(a+420|0,d,b);return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+52>>2]=M((c[(c[a>>2]|0)+(d<<2)>>2]|0)+b|0,c[a+4>>2]|0)|0;d=d>>c[a+20>>2];b=a+24|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;e=c[(c[a+32>>2]|0)+(d<<2)>>2]|0;c[a+72>>2]=e;f=c[(c[a+36>>2]|0)+(d<<2)>>2]|0;c[a+76>>2]=f;g=c[(c[a+40>>2]|0)+(d<<2)>>2]|0;c[a+80>>2]=g;b=c[(c[a+44>>2]|0)+(d<<2)>>2]|0;c[a+84>>2]=b;d=c[a+56>>2]|0;switch(d|0){case 0:{c[a+64>>2]=e;return}case 1:{c[a+64>>2]=f;return}default:{if((c[a+60>>2]|0)>=536870912)return;switch(d|0){case 2:{c[a+64>>2]=g;return}case 3:{c[a+64>>2]=b;return}default:return}}}}function Bk(a,b){a=a|0;b=b|0;var e=0,f=0;if((c[b+36>>2]|0)!=-1)return;f=c[b+348>>2]|0;e=d[b+352>>0]|0;Ck(a,b,f,e);Ck(a,b+152|0,f,e);Ck(a,b+76|0,f,e);Ck(a,b+228|0,f,e);return}function Ck(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;h=g>>(d[e+4>>0]|0);f=(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f|0;if((f|0)<0)f=(c[b+17588>>2]|0)+f|0;c[e+36>>2]=(M(c[e+28>>2]|0,f)|0)>>>1;f=e+24|0;if((h|0)==(d[f>>0]|0|0))return;a[f>>0]=h;b=h&255;f=(c[e+8>>2]|0)+b|0;if(f>>>0<94){g=a[28560+f>>0]|0;f=a[28432+f>>0]|0}else{g=-112;f=0}a[e+60>>0]=f;a[e+61>>0]=g;f=(c[e+12>>2]|0)+b|0;a[e+62>>0]=a[28432+f>>0]|0;g=(c[e+16>>2]|0)+b|0;a[e+64>>0]=a[28432+g>>0]|0;h=(c[e+20>>2]|0)+b|0;a[e+66>>0]=a[28432+h>>0]|0;a[e+63>>0]=a[28560+f>>0]|0;a[e+65>>0]=a[28560+g>>0]|0;a[e+67>>0]=a[28560+h>>0]|0;return}function Dk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=4;while(1){g=a[b+68>>0]|0;f=g&255;do if((f&8|0?(j=b+48|0,k=c[j>>2]|0,(k|0)>511):0)?(l=b+40|0,i=a[l>>0]|0,(i&255)>1):0){e=(f&2|0)!=0;do if(!(f&1)){if(e){f=b+69|0;a[f>>0]=a[f>>0]^4}else c[b+32>>2]=0;if(i<<24>>24!=4)if(((c[b+8>>2]|0)+(d[b+24>>0]|0)|0)>>>0<94){a[l>>0]=4;e=k;break}else{c[j>>2]=0;a[l>>0]=(c[b+52>>2]|0)==0?2:3;e=0;break}else e=k}else{if(e)a[b+69>>0]=4;if(i<<24>>24!=4?(a[b+69>>0]|0)==(g&4):0){c[j>>2]=1023;e=1023}else e=k}while(0);if((a[b+69>>0]|0)==(g&4)){c[b+56>>2]=(c[b+44>>2]|0)+e;break}else{c[b+56>>2]=(c[b+44>>2]|0)+(512-e&1023);break}}while(0);h=h+-1|0;if(!h)break;else b=b+76|0}return}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(c[e+17608>>2]|0)>>>(d[f+344>>0]|0);if(a[f+360>>0]|0)return;o=e+17628|0;p=e+17624|0;m=e+17620|0;l=e+17616|0;q=f+336|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[c[f+332>>2]>>2]=c[q>>2];g=(c[f+72>>2]&n)+(c[f+56>>2]|0)|0;k=f+308|0;h=f+312|0;i=c[h>>2]|0;j=i+(c[k>>2]|0)|0;c[k>>2]=i;k=c[f+316>>2]|0;if(!k){c[p>>2]=i;c[m>>2]=i;c[o>>2]=i}else c[k>>2]=(c[k>>2]|0)+i;c[h>>2]=0;if(g>>>0<832){k=a[f+305>>0]|0;c[h>>2]=Mk(c[f+32>>2]|0,g,(k<<24>>24==0?0:j)<<(k&255))|0}g=(c[f+148>>2]&n)+(c[f+132>>2]|0)|0;if(g>>>0<832){k=Nk(c[f+108>>2]|0,g,c[l>>2]|0)|0;l=c[f+320>>2]|0;c[l>>2]=(c[l>>2]|0)+k}g=(c[f+224>>2]&n)+(c[f+208>>2]|0)|0;if(g>>>0<832){l=Nk(c[f+184>>2]|0,g,c[m>>2]|0)|0;m=c[f+324>>2]|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[f+300>>2]&n)+(c[f+284>>2]|0)|0;if(g>>>0<832){n=Nk(c[f+260>>2]|0,g,c[p>>2]|0)|0;p=c[f+328>>2]|0;c[p>>2]=(c[p>>2]|0)+n}c[q>>2]=c[o>>2];g=f+340|0;h=c[g>>2]|0;if(!h){e=f+32|0;c[e>>2]=(c[e>>2]|0)+(c[f+36>>2]|0);e=f+184|0;c[e>>2]=(c[e>>2]|0)+(c[f+188>>2]|0);e=f+108|0;c[e>>2]=(c[e>>2]|0)+(c[f+112>>2]|0);e=f+260|0;c[e>>2]=(c[e>>2]|0)+(c[f+264>>2]|0);return}if((b+18896|0)==(f|0)?(c[e+44>>2]&192|0)!=0:0){Ok(e,f,h,c[e+1124>>2]|0);Ok(e,f+152|0,c[g>>2]|0,c[e+1128>>2]|0);Ok(e,f+76|0,c[g>>2]|0,c[e+1120>>2]|0);Ok(e,f+228|0,c[g>>2]|0,c[f+356>>2]|0);return}else{Pk(e,f);return}}function Fk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[b+17604>>2]|0;if(!h)return;i=b+17596|0;d=(c[i>>2]|0)+(c[b+17600>>2]|0)|0;c[i>>2]=d;if(d>>>0>>0)return;g=b+17592|0;f=a[g>>0]|0;do{d=d-h|0;e=f+1<<24>>24;f=e&127}while(d>>>0>=h>>>0);h=e<<1&255;c[b+17608>>2]=((f&255)<64?h^126:h&126)&255;c[i>>2]=d;a[g>>0]=f;c[b+17612>>2]=(f&255)>>>2;return}function Gk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+1188|0;k=4;while(1){j=e+40|0;a:do switch(a[j>>0]|0){case 4:{b=c[l>>2]|0;f=d[e+60>>0]|0;if(!((1<>2]|0;b=((M(d[28256+((b>>>f&7)+(d[e+61>>0]|0))>>0]|0,~i)|0)>>4)+i|0;c[g>>2]=b;if((b|0)<1){c[g>>2]=0;a[j>>0]=(c[e+52>>2]|0)==0?2:3;b=0}j=d[e+68>>0]|0;if(j&8|0?(j&4|0)!=(d[e+69>>0]|0):0){c[e+56>>2]=(512-b&1023)+(c[e+44>>2]|0);break a}c[e+56>>2]=(c[e+44>>2]|0)+b}break}case 3:{f=c[l>>2]|0;g=d[e+62>>0]|0;if(!((1<>0]|0;if(h&8){i=e+48|0;b=c[i>>2]|0;if((b|0)<512){f=(d[28256+((f>>>g&7)+(d[e+63>>0]|0))>>0]<<2)+b|0;c[i>>2]=f;if((a[e+69>>0]|0)==(h&4)){b=f;m=16}else{b=f;f=512-f&1023;m=16}}}else{b=e+48|0;f=(c[b>>2]|0)+(d[28256+((f>>>g&7)+(d[e+63>>0]|0))>>0]|0)|0;c[b>>2]=f;b=f;m=16}if((m|0)==16){m=0;c[e+56>>2]=(c[e+44>>2]|0)+f}if((b|0)>=(c[e+52>>2]|0))a[j>>0]=2}break}case 2:{b=c[l>>2]|0;f=d[e+64>>0]|0;if(!((1<>0]|0;if(!(h&8)){i=e+48|0;j=(c[i>>2]|0)+(d[28256+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)|0;j=(j|0)<1023?j:1023;c[i>>2]=j;c[e+56>>2]=j+(c[e+44>>2]|0);break a}i=e+48|0;g=c[i>>2]|0;if((g|0)<512){b=(d[28256+((b>>>f&7)+(d[e+65>>0]|0))>>0]<<2)+g|0;c[i>>2]=b;if((a[e+69>>0]|0)==(h&4)){c[e+56>>2]=(c[e+44>>2]|0)+b;break a}else{c[e+56>>2]=(c[e+44>>2]|0)+(512-b&1023);break a}}}break}case 1:{g=c[l>>2]|0;h=d[e+66>>0]|0;if(!((1<>0]&8)){f=e+48|0;b=(c[f>>2]|0)+(d[28256+((g>>>h&7)+(d[e+67>>0]|0))>>0]|0)|0;c[f>>2]=b;if((b|0)>1022){c[f>>2]=1023;a[j>>0]=0;b=1023}}else{b=e+48|0;f=c[b>>2]|0;if((f|0)<512?(n=(d[28256+((g>>>h&7)+(d[e+67>>0]|0))>>0]<<2)+f|0,c[b>>2]=n,(n|0)<=511):0){b=n;break}c[b>>2]=1023;a[j>>0]=0;b=1023}while(0);c[e+56>>2]=(c[e+44>>2]|0)+b}break}default:{}}while(0);k=k+-1|0;if(!k)break;else e=e+76|0}return}function Hk(a){a=a|0;var b=0,d=0,e=0;if(c[a+36>>2]&4|0)Lk(a,1);d=1024-(c[a+44>>2]|0)|0;e=a+48|0;c[e>>2]=d;b=c[a+1084>>2]|0;if(!b){d=d<<12;c[e>>2]=d;return}d=M(c[a+16>>2]|0,d)|0;za[b&63](c[a>>2]|0,0,d,c[a+24>>2]|0);d=c[e>>2]|0;d=d<<12;c[e>>2]=d;return}function Ik(b,c){b=b|0;c=c|0;Kk(b,c,0);Kk(b,c,2);Kk(b,c,1);Kk(b,c,3);a[b+1132>>0]=1;return}function Jk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(a[b+(e*76|0)+70>>0]|0)return;i=b+(e*76|0)+40|0;if(a[3432196]|0){a[i>>0]=0;c[b+(e*76|0)+48>>2]=1023;c[b+(e*76|0)+56>>2]=1023;return}if((d[i>>0]|0)<=1)return;a[i>>0]=1;g=d[b+(e*76|0)+68>>0]|0;if(!(g&8))return;h=b+(e*76|0)+48|0;f=c[h>>2]|0;if((g&4|0)!=(d[b+(e*76|0)+69>>0]|0)){f=512-f|0;c[h>>2]=f}if((f|0)>511){c[h>>2]=1023;a[i>>0]=0;f=1023}c[b+(e*76|0)+56>>2]=(c[b+(e*76|0)+44>>2]|0)+f;return}function Kk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;if(a[e+(f*76|0)+70>>0]|0)return;if(a[b+1132>>0]|0)return;c[e+(f*76|0)+32>>2]=0;a[e+(f*76|0)+69>>0]=0;b=e+(f*76|0)+48|0;if(((c[e+(f*76|0)+8>>2]|0)+(d[e+(f*76|0)+24>>0]|0)|0)>>>0<94){b=c[b>>2]|0;if((b|0)<1)h=6;else g=4}else{c[b>>2]=0;b=0;h=6}if((h|0)==6)g=(c[e+(f*76|0)+52>>2]|0)==0?2:3;a[e+(f*76|0)+40>>0]=g;if((a[e+(f*76|0)+68>>0]&12)==12){c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+(512-b&1023);return}else{c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;return}}function Lk(b,e){b=b|0;e=e|0;var f=0;f=b+33|0;e=d[f>>0]|e;a[f>>0]=e;f=b+20|0;if(a[f>>0]|0)return;if(!(e&d[b+21>>0]))return;a[f>>0]=1;e=c[b+1088>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,1);return}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[1097456+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[1101552+(a<<2)>>2]|0;return d|0}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[1097456+((((d<<15)+(a&67043328)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[1101552+(a<<2)>>2]|0;return d|0}function Ok(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=c[966384+((f<<4&32512)+e+(c[a+17612>>2]|0)<<2)>>2]|0;e=g+(f<<1)|0;if(!g){a=b+32|0;g=a;a=c[a>>2]|0;b=b+36|0;b=c[b>>2]|0;b=a+b|0;c[g>>2]=b;return}g=e>>>12&7;e=e&4095;e=(c[(c[b>>2]|0)+((g<<2|(d[28416+(e>>>8)>>0]|0))<<2)>>2]|0)+((c[a+1204+(e<<2)>>2]|0)>>>(g^7))|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;f=b+32|0;g=f;a=(M(c[b+28>>2]|0,e)|0)>>>1;b=f;b=c[b>>2]|0;b=a+b|0;c[g>>2]=b;return}function Pk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=c[b+356>>2]|0;g=c[966384+((e<<4&32512)+(c[b+340>>2]|0)+(c[a+17612>>2]|0)<<2)>>2]|0;e=g+(e<<1)|0;if(!g){g=b+32|0;c[g>>2]=(c[g>>2]|0)+(c[b+36>>2]|0);g=b+184|0;c[g>>2]=(c[g>>2]|0)+(c[b+188>>2]|0);g=b+108|0;c[g>>2]=(c[g>>2]|0)+(c[b+112>>2]|0);g=b+260|0;a=g;g=c[g>>2]|0;b=b+264|0;b=c[b>>2]|0;b=g+b|0;c[a>>2]=b;return}g=e>>>12&7;e=e&4095;f=g<<2|(d[28416+(e>>>8)>>0]|0);g=(c[a+1204+(e<<2)>>2]|0)>>>(g^7);e=(c[(c[b>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+28>>2]|0,e)|0)>>>1;e=b+32|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+152>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+180>>2]|0,e)|0)>>>1;e=b+184|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+76>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+104>>2]|0,e)|0)>>>1;e=b+108|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+228>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;g=b+260|0;h=g;a=(M(c[b+256>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=a+b|0;c[h>>2]=b;return}function Qk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=3431008+((b&255)<<2)|0;switch(a[3432165]|0){case 0:{uk(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 1:{Rk(e);vk(c[b>>2]|0,3431016,e);wk(c[b>>2]|0,3431016,e);if((e|0)<=0)return;f=d+4|0;b=0;do{c[(c[d>>2]|0)+(b<<2)>>2]=c[(c[857754]|0)+(b<<2)>>2];c[(c[f>>2]|0)+(b<<2)>>2]=c[(c[857755]|0)+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0));return}default:return}}function Rk(a){a=a|0;var b=0,d=0,e=0;d=c[857754]|0;e=c[857755]|0;if((a|0)<=0)return;b=0;do{c[d+(b<<2)>>2]=0;c[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(a|0));return}function Sk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((b&255)>1){d=0;return d|0}e=3431008+((b&255)<<2)|0;b=(d|0)/72|0;f=a[3432165]|0;if(!(f<<24>>24)){f=(a[3432166]&2)==0?(d|0)/144|0:b;g=a[3432185]|0;b=c[857788]|0;f=g<<24>>24==2|g<<24>>24==1&(f|0)<(b|0)?b:f;c[e>>2]=Tk(e,d,f)|0;d=f;return d|0}h=a[3432185]|0;g=c[857788]|0;b=h<<24>>24==2|h<<24>>24==1&(b|0)<(g|0)?g:b;if(f<<24>>24!=1){h=b;return h|0}if(!(c[857754]|0)){h=ex(1024)|0;c[857754]=h;c[857755]=h+512}h=Uk(d,b)|0;c[e>>2]=h;Vk(h,128);h=b;return h|0}function Tk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ex(20376)|0;if(!f){f=0;return f|0}nz(f|0,0,20376)|0;al();c[f+520>>2]=b;a[f+512>>0]=14;c[f+1648>>2]=f+18168;c[f+544>>2]=d;c[f+548>>2]=e;c[f+1604>>2]=0;c[f+1608>>2]=0;a[f+20361>>0]=(a[3432167]|0)==0?3:1;return f|0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0;if((a|0)==0|(b|0)==0){g=0;return g|0}g=ex(7440)|0;nz(g|0,0,7440)|0;c[g>>2]=a;c[g+4>>2]=b;f=+(a|0)/+(b|0)/144.0;h[g+72>>3]=f;c[g+8>>2]=~~(f*4096.0);c[g+84>>2]=16384;c[g+80>>2]=0;a=0;do{if(a>>>0>3327){d=0;e=0}else{e=~~(268435455.0/+B(10.0,+(+(a|0)*.0234375/20.0)));d=0-e|0}c[98800+(a<<2)>>2]=e;c[98800+(a+12288<<2)>>2]=d;a=a+1|0}while((a|0)!=12288);c[22116]=112112;c[20068]=112112;a=1;do{e=~~(+qa(+(1.0/+D(+(+(a|0)*6.283185307179586*.000244140625))))*20.0/.0234375);e=(e|0)<3328?e:3328;d=98800+(e<<2)|0;c[80272+(2048-a<<2)>>2]=d;c[80272+(a<<2)>>2]=d;e=98800+(e+12288<<2)|0;c[80272+(4096-a<<2)>>2]=e;c[80272+(a+2048<<2)>>2]=e;a=a+1|0}while((a|0)!=1025);a=0;do{i=+D(+(+(a|0)*6.283185307179586*.0009765625));c[197104+(a<<2)>>2]=~~((i+1.0)*.5*503.4666666666667);c[201200+(a<<2)>>2]=~~(i*511.0);a=a+1|0}while((a|0)!=1024);a=0;do{c[47472+(a<<2)>>2]=~~(+B(+(+(4095-a|0)*.000244140625),8.0)*4096.0);c[47472+(a+4096<<2)>>2]=~~(+(a|0)*.000244140625*4096.0);a=a+1|0}while((a|0)!=4096);c[20060]=4095;a=4095;d=0;do{a:do if(!a)a=0;else while(1){if((c[47472+(a<<2)>>2]|0)>>>0>=d>>>0)break a;a=a+-1|0;if(!a){a=0;break}}while(0);c[205296+(d<<2)>>2]=a<<16;d=d+1|0}while((d|0)!=4096);a=0;do{c[98704+(a<<2)>>2]=(~~(+(a*3|0)/.0234375)<<16)+268435456;a=a+1|0}while((a|0)!=15);c[24691]=536805376;a=0;do{c[221680+(a<<2)>>2]=~~(f*+(a|0)*4096.0*.5)>>>0;a=a+1|0}while((a|0)!=2048);c[24420]=0;c[24421]=0;c[24422]=0;c[24423]=0;c[24580]=0;c[24581]=0;c[24582]=0;c[24583]=0;a=0;do{i=(+(a&3|0)*.25+1.0)*f*+(1<<(a>>>2)|0)*268435456.0;e=a+4|0;c[97680+(e<<2)>>2]=~~(i/399128.0)>>>0;c[98320+(e<<2)>>2]=~~(i/5514396.0)>>>0;a=a+1|0}while((a|0)!=60);a=98192;d=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=64;do{c[97680+(a<<2)>>2]=c[24483];c[98320+(a<<2)>>2]=c[24643];a=a+1|0}while((a|0)!=96);a=0;do{i=f*+((c[14032+(a<<2)>>2]|0)>>>0)*32.0;c[96656+(a<<2)>>2]=~~i;c[97168+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+32<<2)>>2]|0)>>>0)*32.0;c[96784+(a<<2)>>2]=~~i;c[97296+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+64<<2)>>2]|0)>>>0)*32.0;c[96912+(a<<2)>>2]=~~i;c[97424+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+96<<2)>>2]|0)>>>0)*32.0;c[97040+(a<<2)>>2]=~~i;c[97552+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);i=+(b&262143|0);c[24692]=~~(1068373114.88/i)>>>0;c[24693]=~~(1492501135.36/i)>>>0;c[24694]=~~(1615981445.12/i)>>>0;c[24695]=~~(1709933854.72/i)>>>0;c[24696]=~~(1846835937.28/i)>>>0;c[24697]=~~(2585033441.28/i)>>>0;c[24698]=~~(12911745433.6/i)>>>0;c[24699]=~~(19381039923.2/i)>>>0;Wk(g);return g|0}function Vk(a,b){a=a|0;b=b|0;c[a+620>>2]=b&1;c[a+1156>>2]=b>>>1&1;c[a+1692>>2]=b>>>2&1;c[a+2228>>2]=b>>>3&1;c[a+2764>>2]=b>>>4&1;c[a+3300>>2]=b>>>5&1;c[a+7432>>2]=b>>>6&1;return}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+32|0;c[a+60>>2]=0;c[a+64>>2]=0;c[a+68>>2]=0;f=a+12|0;c[a+80>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=0;do{d=a+88+(b*536|0)|0;c[a+88+(b*536|0)+16>>2]=0;c[a+88+(b*536|0)+20>>2]=0;c[a+88+(b*536|0)+24>>2]=-1;c[a+88+(b*536|0)+28>>2]=-1;c[a+88+(b*536|0)+32>>2]=0;c[a+88+(b*536|0)+36>>2]=31;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a+88+(b*536|0)+144>>2]=0;c[a+88+(b*536|0)+148>>2]=0;d=a+88+(b*536|0)+156|0;e=a+88+(b*536|0)+40|0;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=536870912;c[a+88+(b*536|0)+160>>2]=0;c[a+88+(b*536|0)+164>>2]=0;c[a+88+(b*536|0)+152>>2]=3;c[a+88+(b*536|0)+192>>2]=0;c[a+88+(b*536|0)+252>>2]=0;c[a+88+(b*536|0)+256>>2]=0;c[a+88+(b*536|0)+264>>2]=536870912;c[a+88+(b*536|0)+268>>2]=0;c[a+88+(b*536|0)+272>>2]=0;c[a+88+(b*536|0)+260>>2]=3;c[a+88+(b*536|0)+300>>2]=0;c[a+88+(b*536|0)+360>>2]=0;c[a+88+(b*536|0)+364>>2]=0;c[a+88+(b*536|0)+372>>2]=536870912;c[a+88+(b*536|0)+376>>2]=0;c[a+88+(b*536|0)+380>>2]=0;c[a+88+(b*536|0)+368>>2]=3;c[a+88+(b*536|0)+408>>2]=0;c[a+88+(b*536|0)+468>>2]=0;c[a+88+(b*536|0)+472>>2]=0;c[a+88+(b*536|0)+480>>2]=536870912;c[a+88+(b*536|0)+484>>2]=0;c[a+88+(b*536|0)+488>>2]=0;c[a+88+(b*536|0)+476>>2]=3;c[a+88+(b*536|0)+516>>2]=0;b=b+1|0}while((b|0)!=6);nz(a+3304|0,-1,2048)|0;Xk(a,0,-74);Xk(a,2,-74);Xk(a,1,-64);Xk(a,3,-64);Xk(a,0,-75);Xk(a,2,-75);Xk(a,1,-64);Xk(a,3,-64);Xk(a,0,-76);Xk(a,2,-76);Xk(a,1,-64);Xk(a,3,-64);b=178;while(1){f=b&255;Xk(a,0,f);Xk(a,2,f);Xk(a,1,0);Xk(a,3,0);if(b>>>0>34)b=b+-1|0;else break}Xk(a,0,42);Xk(a,1,-128);return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;switch(b&3){case 0:{c[a+16>>2]=d&255;return}case 1:{f=a+16|0;b=c[f>>2]|0;if((b|0)==42){c[a+64>>2]=((d&255)<<6)+-8192;return}g=b&240;if(g>>>0<=47){c[a+3304+(b<<2)>>2]=d&255;_k(a,c[f>>2]|0,d);return}b=a+3304+(b<<2)|0;e=d&255;if((c[b>>2]|0)==(e|0))return;c[b>>2]=e;b=c[f>>2]|0;if(g>>>0<160){Yk(a,b,d);return}else{Zk(a,b,d);return}}case 2:{c[a+20>>2]=d&255;return}case 3:{f=a+20|0;b=c[f>>2]|0;g=b&240;if(g>>>0<=47)return;b=a+4328+(b<<2)|0;e=d&255;if((c[b>>2]|0)==(e|0))return;c[b>>2]=e;b=(c[f>>2]|0)+256|0;if(g>>>0<160){Yk(a,b,d);return}else{Zk(a,b,d);return}}default:{}}}function Yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b&3;if((e|0)==3)return;g=b>>>2&3;f=(b&256|0)==0?e:e+3|0;switch(((b&240)+-48|0)>>>4&268435455|0){case 0:{d=d&255;b=d&15;c[a+88+(f*536|0)+96+(g*108|0)+4>>2]=(b|0)==0?1:b<<1;c[a+88+(f*536|0)+96+(g*108|0)>>2]=96656+((d>>>4&7)<<7);c[a+88+(f*536|0)+148>>2]=-1;return}case 1:{d=d&127;c[a+88+(f*536|0)+96+(g*108|0)+8>>2]=d;c[a+88+(f*536|0)+96+(g*108|0)+12>>2]=d<<5;return}case 2:{e=d&255;c[a+88+(f*536|0)+96+(g*108|0)+20>>2]=e>>>6^3;c[a+88+(f*536|0)+148>>2]=-1;e=e&31;e=(e|0)==0?98192:97680+(e<<1<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+32>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+72>>2]=e;if(c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 3:{b=d&255;d=b&128;c[a+88+(f*536|0)+96+(g*108|0)+104>>2]=d;if(!d)e=31;else e=c[a+88+(f*536|0)+44>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+100>>2]=e;e=b&31;e=(e|0)==0?98192:98320+(e<<1<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+36>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+76>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=1)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 4:{e=d&31;if(!(e<<24>>24))e=98192;else e=98320+((e<<1&255)<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+40>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+80>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=2)return;if((c[a+88+(f*536|0)+96+(g*108|0)+60>>2]|0)>=536870912)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 5:{e=d&255;c[a+88+(f*536|0)+96+(g*108|0)+16>>2]=c[98704+(e>>>4<<2)>>2];e=98320+((e<<2&60|2)<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+44>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+84>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=3)return;if((c[a+88+(f*536|0)+96+(g*108|0)+60>>2]|0)>=536870912)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 6:{if(!(c[11069]|0))return;e=d&255;if(!(e&8)){c[a+88+(f*536|0)+96+(g*108|0)+28>>2]=0;return}else{c[a+88+(f*536|0)+96+(g*108|0)+28>>2]=e&15;return}}default:return}}function Zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b&3;if((e|0)==3)return;switch(((b&252)+-160|0)>>>2&1073741823|0){case 0:{g=(b&256|0)==0?e:e+3|0;e=a+88+(g*536|0)+48|0;f=c[e>>2]&1792|d&255;c[e>>2]=f;c[a+88+(g*536|0)+80>>2]=c[a+88+(g*536|0)+64>>2]<<2|c[14544+(f>>>7<<2)>>2];c[a+88+(g*536|0)+148>>2]=-1;return}case 1:{g=(b&256|0)==0?e:e+3|0;e=a+88+(g*536|0)+48|0;f=d&255;d=c[e>>2]&255|f<<8&1792;c[e>>2]=d;f=f>>>3&7;c[a+88+(g*536|0)+64>>2]=f;c[a+88+(g*536|0)+80>>2]=c[14544+(d>>>7<<2)>>2]|f<<2;c[a+88+(g*536|0)+148>>2]=-1;return}case 2:{if((b|0)>=256)return;g=e+1|0;e=a+1208+(g<<2)|0;f=c[e>>2]&1792|d&255;c[e>>2]=f;c[a+1240+(g<<2)>>2]=c[a+1224+(g<<2)>>2]<<2|c[14544+(f>>>7<<2)>>2];c[a+1308>>2]=-1;return}case 3:{if((b|0)>=256)return;g=e+1|0;e=a+1208+(g<<2)|0;f=d&255;d=c[e>>2]&255|f<<8&1792;c[e>>2]=d;f=f>>>3&7;c[a+1224+(g<<2)>>2]=f;c[a+1240+(g<<2)>>2]=c[14544+(d>>>7<<2)>>2]|f<<2;c[a+1308>>2]=-1;return}case 4:{g=(b&256|0)==0?e:e+3|0;f=a+88+(g*536|0)+32|0;b=d&255;e=b&7;if((c[f>>2]|0)!=(e|0)){c[f>>2]=e;c[a+88+(g*536|0)+192>>2]=0;c[a+88+(g*536|0)+300>>2]=0;c[a+88+(g*536|0)+408>>2]=0;c[a+88+(g*536|0)+516>>2]=0}c[a+88+(g*536|0)+36>>2]=9-(b>>>3&7);return}case 5:{g=(b&256|0)==0?e:e+3|0;e=d&255;c[a+88+(g*536|0)+24>>2]=e<<24>>31;c[a+88+(g*536|0)+28>>2]=e<<25>>31;b=c[14608+((e>>>4&3)<<2)>>2]|0;c[a+88+(g*536|0)+44>>2]=b;c[a+88+(g*536|0)+40>>2]=c[14624+((e&7)<<2)>>2];c[a+88+(g*536|0)+196>>2]=(c[a+88+(g*536|0)+200>>2]|0)==0?31:b;c[a+88+(g*536|0)+304>>2]=(c[a+88+(g*536|0)+308>>2]|0)==0?31:b;c[a+88+(g*536|0)+412>>2]=(c[a+88+(g*536|0)+416>>2]|0)==0?31:b;e=a+88+(g*536|0)+520|0;if(!(c[a+88+(g*536|0)+524>>2]|0)){c[e>>2]=31;return}else{c[e>>2]=b;return}}default:return}}function _k(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 34:{b=d&255;if(!(b&8)){c[a+24>>2]=0;c[a+28>>2]=0;return}else{c[a+28>>2]=c[98768+((b&7)<<2)>>2];return}}case 36:{b=a+32|0;d=c[b>>2]&3|(d&255)<<2;c[b>>2]=d;b=a+36|0;d=4194304-(d<<12)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+40>>2]=d;return}case 37:{b=a+32|0;d=c[b>>2]&1020|d&3;c[b>>2]=d;b=a+36|0;d=4194304-(d<<12)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+40>>2]=d;return}case 38:{d=d&255;c[a+44>>2]=d;b=a+48|0;d=16777216-(d<<16)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+52>>2]=d;return}case 39:{b=d&255;d=a+56|0;if((c[d>>2]^b)&64|0)c[a+1308>>2]=-1;a=a+12|0;c[a>>2]=(b>>>4^63)&b>>>2&c[a>>2];c[d>>2]=b;return}case 40:{d=d&255;b=d&3;if((b|0)==3)return;b=a+88+(((d&4|0)==0?b:b+3|0)*536|0)|0;if(!(d&16))$k(b,0);else yk(b,0);if(!(d&32))$k(b,2);else yk(b,2);if(!(d&64))$k(b,1);else yk(b,1);if(!(d&128)){$k(b,3);return}else{yk(b,3);return}}case 42:{c[a+64>>2]=((d&255)<<6)+-8192;return}case 43:{c[a+60>>2]=d&-128&255;return}default:return}}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+96+(b*108|0)+56|0;if((c[d>>2]|0)==3)return;e=a+96+(b*108|0)+60|0;f=c[e>>2]|0;if((f|0)<268435456)c[e>>2]=(c[47472+(f>>16<<2)>>2]<<16)+268435456;c[a+96+(b*108|0)+64>>2]=c[a+96+(b*108|0)+84>>2];c[a+96+(b*108|0)+68>>2]=536870912;c[d>>2]=3;return}function al(){var b=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.0,x=0,z=0;b=0;do{t=b;b=b+1|0;u=~~+y(+(65536.0/+ma(+(+(b|0)*.03125*.125))));u=(u>>>4&1)+(u>>5)|0;s=u<<2;t=t<<1;c[1101552+(t<<2)>>2]=s;v=t|1;c[1101552+(v<<2)>>2]=0-s;s=u<<1;c[1101552+(t+512<<2)>>2]=s;c[1101552+(v+512<<2)>>2]=0-s;c[1101552+(t+1024<<2)>>2]=u;c[1101552+(v+1024<<2)>>2]=0-u;s=u>>1;c[1101552+(t+1536<<2)>>2]=s;c[1101552+(v+1536<<2)>>2]=0-s;s=u>>2;c[1101552+(t+2048<<2)>>2]=s;c[1101552+(v+2048<<2)>>2]=0-s;s=u>>3;c[1101552+(t+2560<<2)>>2]=s;c[1101552+(v+2560<<2)>>2]=0-s;s=u>>4;c[1101552+(t+3072<<2)>>2]=s;c[1101552+(v+3072<<2)>>2]=0-s;s=u>>5;c[1101552+(t+3584<<2)>>2]=s;c[1101552+(v+3584<<2)>>2]=0-s;s=u>>6;c[1101552+(t+4096<<2)>>2]=s;c[1101552+(v+4096<<2)>>2]=0-s;s=u>>7;c[1101552+(t+4608<<2)>>2]=s;c[1101552+(v+4608<<2)>>2]=0-s;s=u>>8;c[1101552+(t+5120<<2)>>2]=s;c[1101552+(v+5120<<2)>>2]=0-s;s=u>>9;c[1101552+(t+5632<<2)>>2]=s;c[1101552+(v+5632<<2)>>2]=0-s;u=u>>10;c[1101552+(t+6144<<2)>>2]=u;c[1101552+(v+6144<<2)>>2]=0-u}while((b|0)!=256);b=0;do{w=+D(+(+(b<<1|1|0)*3.141592653589793*.0009765625));v=~~(+K(+((w>0.0?1.0:-1.0)/w))*8.0/.6931471805599453*32.0*2.0);c[1097456+(b<<2)>>2]=(v<<1&2)+v&-2|!(w>=0.0)&1;b=b+1|0}while((b|0)!=1024);e=0;do{f=e<<5;g=e+8|0;h=e+16|0;i=e+24|0;j=e+32|0;k=e+40|0;l=e+48|0;v=0;do{m=(v<<8)+f|0;n=(v&1|0)==0;o=(v&2|0)==0;p=(v&4|0)==0;q=(v&8|0)==0;r=(v&16|0)==0;s=(v&32|0)==0;t=(v&64|0)==0;u=0;do{if(n)b=0;else b=a[28688+(e<<3)+u>>0]|0;if(!o)b=(d[28688+(g<<3)+u>>0]|0)+(b&255)&255;if(!p)b=(d[28688+(h<<3)+u>>0]|0)+(b&255)&255;if(!q)b=(d[28688+(i<<3)+u>>0]|0)+(b&255)&255;if(!r)b=(d[28688+(j<<3)+u>>0]|0)+(b&255)&255;if(!s)b=(d[28688+(k<<3)+u>>0]|0)+(b&255)&255;if(!t)b=(d[28688+(l<<3)+u>>0]|0)+(b&255)&255;x=b&255;z=u+m|0;c[966384+(z<<2)>>2]=x;b=(u^7)+m|0;c[966384+(b+8<<2)>>2]=x;x=0-x|0;c[966384+(z+16<<2)>>2]=x;c[966384+(b+24<<2)>>2]=x;u=u+1|0}while((u|0)!=8);v=v+1|0}while((v|0)!=128);e=e+1|0}while((e|0)!=8);return}function bl(b){b=b|0;b=3431008+((b&255)<<2)|0;switch(a[3432165]|0){case 0:{cl(c[b>>2]|0);return}case 1:{dl(c[b>>2]|0);b=c[857754]|0;if(!b)return;fx(b);c[857754]=0;c[857755]=0;return}default:return}}function cl(a){a=a|0;fx(a);return}function dl(a){a=a|0;fx(a);return}function el(b){b=b|0;b=3431008+((b&255)<<2)|0;switch(a[3432165]|0){case 0:{fl(c[b>>2]|0);return}case 1:{Wk(c[b>>2]|0);return}default:return}}function fl(b){b=b|0;var d=0,e=0;e=b+512|0;gl(e);hl(b+520|0);c[b+1704>>2]=0;c[b+1700>>2]=0;c[b+18108>>2]=0;a[b+18104>>0]=0;c[b+18120>>2]=126;c[b+18124>>2]=0;c[b+568>>2]=0;c[b+576>>2]=0;a[b+1644>>0]=0;a[b+553>>0]=0;c[b+556>>2]=0;nz(b|0,0,512)|0;il(e,34,0);il(e,39,48);il(e,38,0);il(e,37,0);il(e,36,0);jl(b+18168|0);kl(e,182,192);kl(e,438,192);kl(e,181,192);kl(e,437,192);kl(e,180,192);kl(e,436,192);d=178;while(1){kl(e,d,0);kl(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}a[b+20353>>0]=0;a[b+20354>>0]=0;c[b+20356>>2]=0;d=b+20361|0;if((a[d>>0]|0)!=2)return;a[d>>0]=1;return}function gl(a){a=a|0;var b=0.0,d=0;d=c[a+36>>2]|0;if(!d)b=0.0;else b=+((c[a+32>>2]|0)>>>0)/+(d>>>0)/144.0;h[a+16>>3]=b;c[a+1196>>2]=~~(b*65536.0)>>>0;c[a+1200>>2]=196608;c[a+17600>>2]=~~(b*16777216.0)>>>0;c[a+24>>2]=144;wl(a,b);return}function hl(b){b=b|0;a[b+21>>0]=3;Lk(b,0);vl(b,0);return}function il(b,d,e){b=b|0;d=d|0;e=e|0;switch(d|0){case 40:{d=e&3;if((d|0)==3)return;if(e&4)d=(a[b>>0]&4)==0?d:d+3|0;d=(c[b+1136>>2]|0)+((d&255)*364|0)|0;if(!(e&16))ul(b,d,0);else tl(b,d,0);if(!(e&32))ul(b,d,2);else tl(b,d,2);if(!(e&64))ul(b,d,1);else tl(b,d,1);if(!(e&128)){ul(b,d,3);return}else{tl(b,d,3);return}}case 34:if(!(e&8)){c[b+17604>>2]=0;c[b+17596>>2]=0;a[b+17592>>0]=0;c[b+17612>>2]=0;c[b+17608>>2]=126;return}else{c[b+17604>>2]=c[29200+((e&7)<<2)>>2]<<24;return}case 36:{b=b+52|0;c[b>>2]=c[b>>2]&3|e<<2;return}case 37:{b=b+52|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 38:{a[b+60>>0]=e;return}case 39:{d=b+8|0;sl(b,d,c[d>>2]|0,e);return}default:return}}function jl(b){b=b|0;var d=0;d=0;do{c[b+(d*364|0)+336>>2]=0;c[b+(d*364|0)+308>>2]=0;c[b+(d*364|0)+312>>2]=0;c[b+(d*364|0)+348>>2]=0;c[b+(d*364|0)+36>>2]=-1;a[b+(d*364|0)+70>>0]=0;c[b+(d*364|0)+32>>2]=0;a[b+(d*364|0)+68>>0]=0;a[b+(d*364|0)+69>>0]=0;a[b+(d*364|0)+40>>0]=0;c[b+(d*364|0)+48>>2]=1023;c[b+(d*364|0)+56>>2]=1023;c[b+(d*364|0)+112>>2]=-1;a[b+(d*364|0)+146>>0]=0;c[b+(d*364|0)+108>>2]=0;a[b+(d*364|0)+144>>0]=0;a[b+(d*364|0)+145>>0]=0;a[b+(d*364|0)+116>>0]=0;c[b+(d*364|0)+124>>2]=1023;c[b+(d*364|0)+132>>2]=1023;c[b+(d*364|0)+188>>2]=-1;a[b+(d*364|0)+222>>0]=0;c[b+(d*364|0)+184>>2]=0;a[b+(d*364|0)+220>>0]=0;a[b+(d*364|0)+221>>0]=0;a[b+(d*364|0)+192>>0]=0;c[b+(d*364|0)+200>>2]=1023;c[b+(d*364|0)+208>>2]=1023;c[b+(d*364|0)+264>>2]=-1;a[b+(d*364|0)+298>>0]=0;c[b+(d*364|0)+260>>2]=0;a[b+(d*364|0)+296>>0]=0;a[b+(d*364|0)+297>>0]=0;a[b+(d*364|0)+268>>0]=0;c[b+(d*364|0)+276>>2]=1023;c[b+(d*364|0)+284>>2]=1023;d=d+1|0}while((d|0)!=6);return}function kl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=e&3;if((g|0)==3)return;m=(e|0)>255?g+3|0:g;j=b+1136|0;k=c[j>>2]|0;l=k+(m*364|0)|0;g=e>>>2;h=g&3;i=k+(m*364|0)+(h*76|0)|0;do switch(((e&240)+-48|0)>>>4&268435455|0){case 0:{ll(b+8|0,l,i,f);return}case 1:{ml(i,f);return}case 2:{nl(l,i,f);return}case 3:{ol(i,f);if(!(a[b>>0]&2))return;c[k+(m*364|0)+(h*76|0)+72>>2]=f<<24>>31;return}case 4:{pl(i,f);return}case 5:{ql(i,f);return}case 6:{a[k+(m*364|0)+(h*76|0)+68>>0]=f&15;if((d[k+(m*364|0)+(h*76|0)+40>>0]|0)<=1)return;if(f&8|0?(f&4|0)!=(d[k+(m*364|0)+(h*76|0)+69>>0]|0|0):0){c[k+(m*364|0)+(h*76|0)+56>>2]=(512-(c[k+(m*364|0)+(h*76|0)+48>>2]|0)&1023)+(c[k+(m*364|0)+(h*76|0)+44>>2]|0);return}c[k+(m*364|0)+(h*76|0)+56>>2]=(c[k+(m*364|0)+(h*76|0)+44>>2]|0)+(c[k+(m*364|0)+(h*76|0)+48>>2]|0);return}case 7:{switch(g&3){case 0:{l=a[b+48>>0]|0;e=((l&255)<<8&1792)+f|0;l=(l&255)>>>3;f=l&255;a[k+(m*364|0)+352>>0]=l<<2&255|a[28416+(e>>>7)>>0];c[k+(m*364|0)+348>>2]=(c[b+1204+(e<<1<<2)>>2]|0)>>>(7-f|0);c[k+(m*364|0)+356>>2]=e|f<<11;c[k+(m*364|0)+36>>2]=-1;return}case 1:{a[b+48>>0]=f&63;return}case 2:{if((e|0)>=256)return;l=a[b+1116>>0]|0;e=((l&255)<<8&1792)+f|0;l=(l&255)>>>3;f=l&255;a[b+1117+m>>0]=l<<2&255|a[28416+(e>>>7)>>0];c[b+1104+(m<<2)>>2]=(c[b+1204+(e<<1<<2)>>2]|0)>>>(7-f|0);c[b+1120+(m<<2)>>2]=e|f<<11;c[(c[j>>2]|0)+764>>2]=-1;return}case 3:{if((e|0)>=256)return;a[b+1116>>0]=f&63;return}default:{}}break}case 8:switch(g&3){case 0:{e=f>>>3&7;a[k+(m*364|0)+304>>0]=f&7;a[k+(m*364|0)+305>>0]=(e|0)==0?0:e+6&255;rl(b,l,m);return}case 1:{if(!(a[b>>0]&2))return;c[k+(m*364|0)+340>>2]=f<<5&224;a[k+(m*364|0)+344>>0]=a[45603+(f>>>4&3)>>0]|0;e=m<<1;c[b+1140+(e<<2)>>2]=f<<24>>31;c[b+1140+((e|1)<<2)>>2]=f<<25>>31;return}default:return}default:return}while(0)}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=e&15;c[d+28>>2]=(f|0)==0?1:f<<1;c[d>>2]=a+60+((e>>>4&7)<<7);c[b+36>>2]=-1;return}function ml(a,b){a=a|0;b=b|0;var e=0;b=b<<3&1016;c[a+44>>2]=b;e=d[a+68>>0]|0;if((e&8|0?(e&4|0)!=(d[a+69>>0]|0|0):0)?(d[a+40>>0]|0)>1:0){e=512-(c[a+48>>2]|0)&1023;b=e+b|0;e=a+56|0;c[e>>2]=b;return}e=c[a+48>>2]|0;b=e+b|0;e=a+56|0;c[e>>2]=b;return}function nl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+4|0;i=a[j>>0]|0;g=f&31;g=(g|0)==0?0:(g<<1)+32|0;h=e+8|0;c[h>>2]=g;f=3-(f>>>6)&255;a[j>>0]=f;if(i<<24>>24!=f<<24>>24){c[b+36>>2]=-1;g=c[h>>2]|0}g=g+(d[e+24>>0]|0)|0;if(g>>>0>=94){i=-112;f=0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}i=a[28560+g>>0]|0;f=a[28432+g>>0]|0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}function ol(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+12>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+62>>0]=a[28432+e>>0]|0;a[b+63>>0]=a[28560+e>>0]|0;return}function pl(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+16>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+64>>0]=a[28432+e>>0]|0;a[b+65>>0]=a[28560+e>>0]|0;return}function ql(b,e){b=b|0;e=e|0;var f=0,g=0;g=c[29136+(e>>4<<2)>>2]|0;c[b+52>>2]=g;f=b+40|0;if((a[f>>0]|0)==3?(c[b+48>>2]|0)>=(g|0):0)a[f>>0]=2;g=(e<<2&60)+34|0;c[b+20>>2]=g;g=g+(d[b+24>>0]|0)|0;a[b+66>>0]=a[28432+g>>0]|0;a[b+67>>0]=a[28560+g>>0]|0;return}function rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+17632+(e<<2)|0;e=d+316|0;f=d+320|0;g=d+324|0;i=d+332|0;switch(a[d+304>>0]|0){case 0:{c[e>>2]=b+17620;c[g>>2]=b+17628;c[f>>2]=b+17624;e=b+17616|0;break}case 1:{j=b+17628|0;c[e>>2]=j;c[g>>2]=j;c[f>>2]=b+17624;e=b+17616|0;break}case 2:{j=b+17624|0;c[e>>2]=j;c[g>>2]=b+17628;c[f>>2]=j;e=b+17616|0;break}case 3:{c[e>>2]=b+17620;c[g>>2]=b+17628;e=b+17624|0;c[f>>2]=e;break}case 4:{c[e>>2]=b+17620;c[g>>2]=h;c[f>>2]=b+17624;e=b+17628|0;break}case 5:{c[e>>2]=0;c[g>>2]=h;c[f>>2]=h;e=b+17616|0;break}case 6:{c[e>>2]=b+17620;c[g>>2]=h;c[f>>2]=h;e=b+17628|0;break}case 7:{c[e>>2]=h;c[g>>2]=h;c[f>>2]=h;e=b+17628|0;break}default:{j=d+328|0;c[j>>2]=h;return}}c[i>>2]=e;j=d+328|0;c[j>>2]=h;return}function sl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(((c[b+44>>2]^g)&192|0?(i=b+1136|0,c[(c[i>>2]|0)+764>>2]=-1,(g&192|0)!=128):0)?(h=b+1132|0,a[h>>0]|0):0){Jk((c[i>>2]|0)+728|0,0);Jk((c[i>>2]|0)+728|0,2);Jk((c[i>>2]|0)+728|0,1);Jk((c[i>>2]|0)+728|0,3);a[h>>0]=0}if(g&32|0)vl(e,2);if(g&16|0)vl(e,1);l=e+36|0;if((g&2|0?(c[l>>2]&2|0)==0:0)?(j=4096-(d[e+52>>0]<<4)|0,c[e+56>>2]=j,k=c[e+1084>>2]|0,k|0):0){j=M(c[e+16>>2]|0,j)|0;za[k&63](f,1,j,c[e+24>>2]|0)}if(!(g&1)){c[l>>2]=g;return}if(c[l>>2]&1|0){c[l>>2]=g;return}b=1024-(c[e+44>>2]|0)|0;i=e+48|0;c[i>>2]=b;h=c[e+1084>>2]|0;if(h){b=M(c[e+16>>2]|0,b)|0;za[h&63](f,0,b,c[e+24>>2]|0);b=c[i>>2]|0}c[i>>2]=b<<12;c[l>>2]=g;return}function tl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e+(f*76|0)+70|0;if(a[h>>0]|0){a[h>>0]=1;return}if(a[b+1132>>0]|0?((c[b+1136>>2]|0)+1092|0)!=(e|0):0){a[h>>0]=1;return}c[e+(f*76|0)+32>>2]=0;a[e+(f*76|0)+69>>0]=0;b=e+(f*76|0)+48|0;if(((c[e+(f*76|0)+8>>2]|0)+(d[e+(f*76|0)+24>>0]|0)|0)>>>0<94){b=c[b>>2]|0;if((b|0)<1)i=7;else g=4}else{c[b>>2]=0;b=0;i=7}if((i|0)==7)g=(c[e+(f*76|0)+52>>2]|0)==0?2:3;a[e+(f*76|0)+40>>0]=g;if((a[e+(f*76|0)+68>>0]&12)==12){c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+(512-b&1023);a[h>>0]=1;return}else{c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;a[h>>0]=1;return}}function ul(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+(f*76|0)+70|0;if(!(a[j>>0]|0)){a[j>>0]=0;return}if(a[b+1132>>0]|0?((c[b+1136>>2]|0)+1092|0)!=(e|0):0){a[j>>0]=0;return}h=e+(f*76|0)+40|0;if(a[3432196]|0){a[h>>0]=0;c[e+(f*76|0)+48>>2]=1023;c[e+(f*76|0)+56>>2]=1023;a[j>>0]=0;return}if((d[h>>0]|0)<=1){a[j>>0]=0;return}a[h>>0]=1;g=d[e+(f*76|0)+68>>0]|0;if(!(g&8)){a[j>>0]=0;return}i=e+(f*76|0)+48|0;b=c[i>>2]|0;if((g&4|0)!=(d[e+(f*76|0)+69>>0]|0)){b=512-b|0;c[i>>2]=b}if((b|0)>511){c[i>>2]=1023;a[h>>0]=0;b=1023}c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;a[j>>0]=0;return}function vl(b,e){b=b|0;e=e|0;var f=0;f=b+33|0;e=(e^255)&d[f>>0];a[f>>0]=e;f=b+20|0;if(!(a[f>>0]|0))return;if(e&d[b+21>>0]|0)return;a[f>>0]=0;e=c[b+1088>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,0);return}function wl(a,b){a=a|0;b=+b;var e=0,f=0;e=0;do{f=~~(+(d[29232+e>>0]|0)*b*64.0);c[a+68+(e<<2)>>2]=f;c[a+580+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[29232+(e+32)>>0]|0)*b*64.0);c[a+196+(e<<2)>>2]=f;c[a+708+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[29232+(e+64)>>0]|0)*b*64.0);c[a+324+(e<<2)>>2]=f;c[a+836+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[29232+(e+96)>>0]|0)*b*64.0);c[a+452+(e<<2)>>2]=f;c[a+964+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{c[a+1204+(e<<2)>>2]=~~(+(e|0)*32.0*b*64.0)>>>0;e=e+1|0}while((e|0)!=4096);c[a+17588>>2]=~~(b*131072.0*64.0)>>>0;return}function xl(b,d,e){b=b|0;d=d|0;e=e|0;b=3431008+((b&255)<<2)|0;switch(a[3432165]|0){case 0:{yl(c[b>>2]|0,d&3,e);return}case 1:{Xk(c[b>>2]|0,d&3,e);return}default:return}}function yl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;switch(e&3){case 0:{a[b+552>>0]=f;a[b+20352>>0]=0;return}case 1:{if(a[b+20352>>0]|0)return;h=b+512|0;i=b+520|0;e=a[b+552>>0]|0;g=e&255;a[b+g>>0]=f;if((g&240|0)!=32){tk(c[i>>2]|0);kl(h,g,f&255);return}switch(e<<24>>24){case 42:{tk(c[i>>2]|0);c[b+20356>>2]=((f&255)<<6)+-8192;return}case 43:{a[b+20353>>0]=f&-128;return}case 44:{a[b+20354>>0]=f&32;return}default:{tk(c[i>>2]|0);il(h,g,f&255);return}}}case 2:{a[b+552>>0]=f;a[b+20352>>0]=1;return}case 3:{if((a[b+20352>>0]|0)!=1)return;i=d[b+552>>0]|256;a[b+i>>0]=f;tk(c[b+520>>2]|0);kl(b+512|0,i,f&255);return}default:{}}}function zl(b){b=b|0;a[3432165]=(b&255)<2?b:0;return}function Al(b){b=b|0;a[3432166]=b;switch(a[3432165]|0){case 0:{Bl(b);return}case 1:{Cl(b&255);return}default:return}}function Bl(b){b=b|0;a[3432167]=(b&255)>>>2&1;return}function Cl(a){a=a|0;c[11070]=a&1;c[11069]=a>>>1&1;return}function Dl(b,d){b=b|0;d=d|0;b=3431008+((b&255)<<2)|0;switch(a[3432165]|0){case 0:{El(c[b>>2]|0,d);return}case 1:{Vk(c[b>>2]|0,d);return}default:return}}function El(b,c){b=b|0;c=c|0;a[b+18528>>0]=c&1;a[b+18892>>0]=c>>>1&1;a[b+19256>>0]=c>>>2&1;a[b+19620>>0]=c>>>3&1;a[b+19984>>0]=c>>>4&1;a[b+20348>>0]=c>>>5&1;a[b+20360>>0]=c>>>6&1;return}function Fl(a,b,d){a=a|0;b=b|0;d=d|0;Gl(c[3431024+((a&255)<<2)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((f|0)<=0)return;o=b+5852|0;p=b+176|0;q=b+352|0;r=b+528|0;h=b+704|0;i=b+880|0;j=(a[b+1608>>0]&32)==0;k=b+1056|0;l=b+1232|0;m=b+1408|0;n=b+5736|0;g=0;do{c[o>>2]=0;Hl(b);Il(b,b);Il(b,p);Il(b,q);Il(b,r);Il(b,h);Il(b,i);if(j){Il(b,k);Il(b,l);Il(b,m)}else Jl(b,b,c[n>>2]&1);s=c[o>>2]|0;c[d+(g<<2)>>2]=s;c[e+(g<<2)>>2]=s;Kl(b);g=g+1|0}while((g|0)!=(f|0));return}function Hl(b){b=b|0;var e=0,f=0;e=b+5720|0;f=(c[e>>2]|0)+(c[b+5724>>2]|0)|0;f=f>>>0>3523215359?f+771751936|0:f;c[e>>2]=f;f=d[29616+(f>>>24)>>0]|0;c[b+5708>>2]=(a[b+5716>>0]|0)==0?f>>>2:f;f=b+5728|0;e=(c[f>>2]|0)+(c[b+5732>>2]|0)|0;c[f>>2]=e;c[b+5712>>2]=e>>>24&7|d[b+5717>>0];return}function Il(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(a[d+173>>0]|0)return;k=b+5848|0;c[k>>2]=0;f=b+5708|0;g=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+72>>2]&c[f>>2])|0;l=d+32|0;h=c[l>>2]|0;i=d+36|0;j=c[i>>2]|0;c[l>>2]=j;l=c[d+28>>2]|0;c[l>>2]=(c[l>>2]|0)+j;c[i>>2]=0;if(g>>>0<384){l=a[d+24>>0]|0;c[i>>2]=Ll(c[d+16>>2]|0,g,(l<<24>>24==0?0:j+h|0)<<(l&255),e[d+78>>1]|0)|0}f=(c[d+132>>2]|0)+(c[d+128>>2]|0)+(c[d+152>>2]&c[f>>2])|0;if(f>>>0>=384)return;k=Ml(c[d+96>>2]|0,f,c[k>>2]|0,e[d+158>>1]|0)|0;l=b+5852|0;c[l>>2]=(c[l>>2]|0)+k;return}function Jl(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b+5848|0;c[l>>2]=0;k=b+5708|0;g=(c[d+1108>>2]|0)+(c[d+1104>>2]|0)+(c[d+1128>>2]&c[k>>2])|0;m=d+1088|0;h=d+1092|0;i=c[h>>2]|0;j=i+(c[m>>2]|0)|0;c[m>>2]=i;if(!(a[d+1096>>0]|0))c[l>>2]=i;c[h>>2]=0;if(g>>>0<384){m=a[d+1080>>0]|0;c[h>>2]=Ll(c[d+1072>>2]|0,g,(m<<24>>24==0?0:j)<<(m&255),e[d+1134>>1]|0)|0}h=c[k>>2]|0;g=(c[d+1188>>2]|0)+(c[d+1184>>2]|0)+(c[d+1208>>2]&h)|0;if(g>>>0<384?(a[b+1584>>0]|0)==0:0){l=(Ml(c[d+1152>>2]|0,g,c[l>>2]|0,e[d+1214>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[b+1284>>2]|0)+(c[b+1280>>2]|0)+(c[b+1304>>2]&h)|0;if(g>>>0<384?(a[b+1588>>0]|0)==0:0){m=c[b+1248>>2]|0;l=c[b+1504>>2]|0;l=((m>>>18^m>>>23|m>>>19|l>>>19^l>>>21)&1|0)==0?208:564;m=(f|0)!=0;l=(Ml(((l&512|0)==0?(m?52:l):m?720:l)<<16,g,0,e[b+1310>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[b+1364>>2]|0)+(c[b+1360>>2]|0)+(c[b+1384>>2]&h)|0;if(g>>>0<384?(a[b+1585>>0]|0)==0:0){m=(c[b+1248>>2]&16777216)+16777216|0;f=(Ml((f|0)==0?m:m^16777216,g,0,e[b+1390>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f}g=(c[b+1460>>2]|0)+(c[b+1456>>2]|0)+(c[b+1480>>2]&h)|0;if(g>>>0<384?(a[b+1586>>0]|0)==0:0){f=(Ml(c[b+1424>>2]|0,g,0,e[b+1486>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f}g=(c[b+1540>>2]|0)+(c[b+1536>>2]|0)+(c[b+1560>>2]&h)|0;if(g>>>0>=384)return;if(a[b+1587>>0]|0)return;f=c[b+1248>>2]|0;m=c[b+1504>>2]|0;f=(Ml(((m>>>19^m>>>21)&1|0)==0?(f>>>18^f>>>23|f>>>19)<<25&33554432|16777216:50331648,g,0,e[b+1566>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f;return}function Kl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=b+1596|0;f=(c[n>>2]|0)+(c[b+1600>>2]|0)|0;c[n>>2]=f;o=b+1604|0;e=c[o>>2]|0;if(f>>>0>=e>>>0){r=b+1592|0;do{f=f-e|0;c[n>>2]=f;c[r>>2]=(c[r>>2]|0)+1;h=0;do{i=h>>>1;j=h&1;k=b+(i*176|0)+(j*80|0)+42|0;switch(a[k>>0]|0){case 4:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+60>>0]|0;if(((1<>2]|0,j=((M(d[29360+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+61>>0]|0))>>0]|0,~s)|0)>>3)+s|0,c[m>>2]=j,(j|0)<1):0){c[m>>2]=0;a[k>>0]=3}break}case 3:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+62>>0]|0;if(((1<>2]|0)+(d[29360+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+63>>0]|0))>>0]|0)|0,c[t>>2]=s,s>>>0>=(c[b+(i*176|0)+(j*80|0)+56>>2]|0)>>>0):0)a[k>>0]=2;break}case 2:{if((a[b+(i*176|0)+(j*80|0)+41>>0]|0)==0?(p=c[r>>2]|0,q=d[b+(i*176|0)+(j*80|0)+64>>0]|0,((1<>2]|0)+(d[29360+((p>>>q&7)+(d[b+(i*176|0)+(j*80|0)+65>>0]|0))>>0]|0)|0;c[t>>2]=(s|0)<511?s:511}break}case 1:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+64>>0]|0;if(((1<>2]|0)+(d[29360+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+65>>0]|0))>>0]|0)|0,c[l>>2]=t,(t|0)>510):0){c[l>>2]=511;a[k>>0]=0}break}default:{}}h=h+1|0}while((h|0)!=18);e=c[o>>2]|0}while(f>>>0>=e>>>0)}k=b+5712|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h*176|0)+(i*80|0)+76>>0]|0){e=c[b+(h*176|0)+160>>2]|0;f=a[29488+((e>>>3&112)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h*176|0)+(i*80|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*176|0)+(i*80|0)+20|0;break}else{g=e+(f<<24>>24)|0;e=b+(h*176|0)+(i*80|0)+16|0;f=e;g=M((c[b+1612+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h*176|0)+(i*80|0)+15>>0]|0)|0;break}}else{g=b+(h*176|0)+(i*80|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*176|0)+(i*80|0)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=18);t=b+5740|0;s=(c[t>>2]|0)+(c[b+5744>>2]|0)|0;e=s>>>16;c[t>>2]=s&65535;if(!e)return;g=b+5736|0;f=c[g>>2]|0;do{t=f>>>1;f=(f&1|0)==0?t:t^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function Ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[1128176+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6143){e=0;return e|0}e=c[1144560+(a<<2)>>2]|0;return e|0}function Ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[1128176+((((d<<16)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6143){e=0;return e|0}e=c[1144560+(a<<2)>>2]|0;return e|0}function Nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3431024+((b&255)<<2)|0;b=(d|0)/72|0;g=a[3432185]|0;f=c[857788]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;d=Ol(d,b)|0;c[e>>2]=d;Ql(d,e);Sl(c[e>>2]|0,e);Ul(c[e>>2]|0,e);d=b;return d|0}function Ol(a,b){a=a|0;b=b|0;a=Yl(a,b,0)|0;if(!a)return a|0;Zl(a);return a|0}function Pl(a,b,c){a=a|0;b=b|0;c=c|0;return}function Ql(a,b){a=a|0;b=b|0;Xl(a,5,b);return}function Rl(a,b){a=a|0;b=b|0;return}function Sl(a,b){a=a|0;b=b|0;Wl(a,12,b);return}function Tl(a){a=a|0;Gl(c[a>>2]|0,c[857780]|0,c[857781]|0,0);return}function Ul(a,b){a=a|0;b=b|0;Vl(a,20,b);return}function Vl(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5812>>2]=b;c[a+5816>>2]=d;return}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5804>>2]=b;c[a+5808>>2]=d;return}function Xl(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5796>>2]=b;c[a+5800>>2]=d;return}function Yl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;km();f=e&2;g=(f<<6)+5872|0;h=ex(g)|0;if(!h){h=0;return h|0}nz(h|0,0,g|0)|0;if(f|0)c[h+5764>>2]=h+5872;a[h+5820>>0]=e;c[h+5828>>2]=b;c[h+5832>>2]=d;lm(h);return h|0}function Zl(a){a=a|0;_l(a);return}function _l(d){d=d|0;var e=0;c[d+1596>>2]=0;c[d+1592>>2]=0;c[d+5736>>2]=1;a[d+5824>>0]=0;$l(d,127);am(d,1,0);am(d,2,0);am(d,3,0);am(d,4,0);e=255;while(1){am(d,e,0);if(e>>>0>32)e=e+-1|0;else break}b[d+78>>1]=0;a[d+42>>0]=0;c[d+52>>2]=511;b[d+158>>1]=0;a[d+122>>0]=0;c[d+132>>2]=511;b[d+254>>1]=0;a[d+218>>0]=0;c[d+228>>2]=511;b[d+334>>1]=0;a[d+298>>0]=0;c[d+308>>2]=511;b[d+430>>1]=0;a[d+394>>0]=0;c[d+404>>2]=511;b[d+510>>1]=0;a[d+474>>0]=0;c[d+484>>2]=511;b[d+606>>1]=0;a[d+570>>0]=0;c[d+580>>2]=511;b[d+686>>1]=0;a[d+650>>0]=0;c[d+660>>2]=511;b[d+782>>1]=0;a[d+746>>0]=0;c[d+756>>2]=511;b[d+862>>1]=0;a[d+826>>0]=0;c[d+836>>2]=511;b[d+958>>1]=0;a[d+922>>0]=0;c[d+932>>2]=511;b[d+1038>>1]=0;a[d+1002>>0]=0;c[d+1012>>2]=511;b[d+1134>>1]=0;a[d+1098>>0]=0;c[d+1108>>2]=511;b[d+1214>>1]=0;a[d+1178>>0]=0;c[d+1188>>2]=511;b[d+1310>>1]=0;a[d+1274>>0]=0;c[d+1284>>2]=511;b[d+1390>>1]=0;a[d+1354>>0]=0;c[d+1364>>2]=511;b[d+1486>>1]=0;a[d+1450>>0]=0;c[d+1460>>2]=511;b[d+1566>>1]=0;a[d+1530>>0]=0;c[d+1540>>2]=511;if(!(a[d+5820>>0]&2))return;e=c[d+5764>>2]|0;h[e+16>>3]=+h[d+5840>>3];c[e+4>>2]=d+5856;a[e+88>>0]=5;c[e+32>>2]=8388608;Kj(e,0,0);return}function $l(b,e){b=b|0;e=e|0;var f=0;f=b+5822|0;e=(e^255)&(d[f>>0]|0);a[f>>0]=e;if(!(e&128))return;if(e&(d[b+5823>>0]|0)|0)return;a[f>>0]=e&127;e=c[b+5804>>2]|0;if(!e)return;xa[e&31](c[b+5808>>2]|0,0);return}function am(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=f&255;k=g&255;switch(f>>>5&7){case 0:do switch(f&31){case 1:{if(!(a[e+5820>>0]&1))return;a[e+5748>>0]=g&32;return}case 2:{c[e+5752>>2]=1024-(k<<2);return}case 3:{c[e+5756>>2]=4096-(k<<4);return}case 4:{if(g&128|0){$l(e,119);return}i=g&1;f=g>>>1&1;$l(e,g&112);bm(e,g&120^120);h=e+5761|0;if((f|0)!=(d[h>>0]|0))a[h>>0]=f;h=e+5760|0;if((i|0)==(d[h>>0]|0))return;a[h>>0]=i;return}case 6:{if(!(a[e+5820>>0]&4))return;h=c[e+5788>>2]|0;if(!h)return;xa[h&31](c[e+5792>>2]|0,g&255);return}case 7:{if(!(a[e+5820>>0]&2))return;Oj(c[e+5764>>2]|0,h+-7|0,k);return}case 8:{a[e+5824>>0]=g;if(!(a[e+5820>>0]&2))return;Oj(c[e+5764>>2]|0,h+-7|0,g&15);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:{if(!(a[e+5820>>0]&2))return;Oj(c[e+5764>>2]|0,h+-7|0,k);return}case 25:{if(!(a[e+5820>>0]&8))return;a[e+5769>>0]=g;h=c[e+5776>>2]|0;if(!h)return;xa[h&31](c[e+5780>>2]|0,d[e+5768>>0]&g&255);return}case 24:{if(!(a[e+5820>>0]&8))return;a[e+5768>>0]=g&15;return}default:return}while(0);case 1:{h=f&31;if(-4144960>>>h&1|0)return;cm(e,c[29840+(h<<2)>>2]|0,k);return}case 2:{h=f&31;if(-4144960>>>h&1|0)return;dm(e,c[29840+(h<<2)>>2]|0,k);return}case 3:{h=f&31;if(-4144960>>>h&1|0)return;em(e,c[29840+(h<<2)>>2]|0,k);return}case 4:{h=f&31;if(-4144960>>>h&1|0)return;fm(e,c[29840+(h<<2)>>2]|0,k);return}case 5:{if((h|0)!=189){i=f&15;if(i>>>0>8)return;j=e+(i*176|0)|0;do if(f&16){h=e+(i*176|0)+160|0;f=c[h>>2]&255|g<<8&7936;if(!(g&32)){hm(j,-2);hm(e+(i*176|0)+80|0,-2);break}else{gm(j,1);gm(e+(i*176|0)+80|0,1);break}}else{h=e+(i*176|0)+160|0;f=c[h>>2]&7936|k}while(0);if((c[h>>2]|0)==(f|0))return;c[h>>2]=f;g=c[29968+(f>>6<<2)>>2]|0;c[e+(i*176|0)+168>>2]=g;c[e+(i*176|0)+164>>2]=(c[e+1612+((f&1023)<<2)>>2]|0)>>>(7-(f>>10&255)|0);k=f>>>9;a[e+(i*176|0)+172>>0]=((a[e+5824>>0]&64)==0?k:f>>>8)&1|k&14;c[e+(i*176|0)+48>>2]=(g>>>(d[e+(i*176|0)+13>>0]|0))+(c[e+(i*176|0)+44>>2]|0);c[e+(i*176|0)+128>>2]=(g>>>(d[e+(i*176|0)+93>>0]|0))+(c[e+(i*176|0)+124>>2]|0);im(j,j);im(j,e+(i*176|0)+80|0);return}a[e+5716>>0]=g&128;a[e+5717>>0]=g>>>3&8;a[e+1608>>0]=g&63;if(!(g&32)){hm(e+1056|0,-3);hm(e+1136|0,-3);hm(e+1232|0,-3);hm(e+1312|0,-3);hm(e+1408|0,-3);hm(e+1488|0,-3);return}h=e+1056|0;if(!(g&16)){hm(h,-3);hm(e+1136|0,-3)}else{gm(h,2);gm(e+1136|0,2)}h=e+1232|0;if(!(g&1))hm(h,-3);else gm(h,2);h=e+1312|0;if(!(g&8))hm(h,-3);else gm(h,2);h=e+1408|0;if(!(g&4))hm(h,-3);else gm(h,2);h=e+1488|0;if(!(g&2)){hm(h,-3);return}else{gm(h,2);return}}case 6:{h=f&15;if(h>>>0>8)return;k=g>>>1&7;a[e+(h*176|0)+24>>0]=(k|0)==0?0:k+7&255;g=g&1;a[e+(h*176|0)+40>>0]=g;c[e+(h*176|0)+28>>2]=(g|0)==0?e+5848|0:e+5852|0;return}case 7:{if(!(a[e+5748>>0]|0))return;k=f&31;h=c[29840+(k<<2)>>2]|0;if(-4144960>>>k&1|0)return;b[e+(((h|0)/2|0)*176|0)+((h&1)*80|0)+78>>1]=g<<10&3072;return}default:{}}}function bm(b,c){b=b|0;c=c|0;a[b+5823>>0]=c;jm(b,0);$l(b,0);return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d|0)/2|0;d=d&1;a[b+(f*176|0)+(d*80|0)+15>>0]=a[30752+(e&15)>>0]|0;a[b+(f*176|0)+(d*80|0)+12>>0]=e>>>3&2^2;a[b+(f*176|0)+(d*80|0)+41>>0]=e&32;a[b+(f*176|0)+(d*80|0)+76>>0]=e&64;c[b+(f*176|0)+(d*80|0)+72>>2]=e<<24>>31;im(b+(f*176|0)|0,b+(f*176|0)+(d*80|0)|0);return}function dm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)/2|0;d=d&1;g=c[30736+(e>>6<<2)>>2]|0;a[b+(f*176|0)+(d*80|0)+13>>0]=g;e=e<<2&252;c[b+(f*176|0)+(d*80|0)+44>>2]=e;c[b+(f*176|0)+(d*80|0)+48>>2]=((c[b+(f*176|0)+168>>2]|0)>>>(g&255))+e;return}function em(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=(e|0)/2|0;i=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(j*176|0)+(i*80|0)>>2]=e;h=d[b+(j*176|0)+(i*80|0)+14>>0]|0;e=e+h|0;if(e>>>0<78){g=a[30576+e>>0]|0;e=a[30480+e>>0]|0}else{g=104;e=0}a[b+(j*176|0)+(i*80|0)+60>>0]=e;a[b+(j*176|0)+(i*80|0)+61>>0]=g;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(j*176|0)+(i*80|0)+4>>2]=f;f=f+h|0;a[b+(j*176|0)+(i*80|0)+62>>0]=a[30480+f>>0]|0;a[b+(j*176|0)+(i*80|0)+63>>0]=a[30576+f>>0]|0;return}function fm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;g=(e|0)/2|0;e=e&1;c[b+(g*176|0)+(e*80|0)+56>>2]=c[30672+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g*176|0)+(e*80|0)+8>>2]=f;f=f+(d[b+(g*176|0)+(e*80|0)+14>>0]|0)|0;a[b+(g*176|0)+(e*80|0)+64>>0]=a[30480+f>>0]|0;a[b+(g*176|0)+(e*80|0)+65>>0]=a[30576+f>>0]|0;return}function gm(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+68|0;f=c[e>>2]|0;if(!f){c[b+16>>2]=0;a[b+42>>0]=4}c[e>>2]=f|d;return}function hm(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+68|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+42|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function im(b,e){b=b|0;e=e|0;var f=0,g=0;c[e+20>>2]=M(c[b+164>>2]|0,d[e+15>>0]|0)|0;b=(d[b+172>>0]|0)>>>(d[e+12>>0]|0);f=e+14|0;if((b|0)==(d[f>>0]|0|0))return;a[f>>0]=b;g=b&255;b=(c[e>>2]|0)+g|0;if(b>>>0<78){f=a[30576+b>>0]|0;b=a[30480+b>>0]|0}else{f=104;b=0}a[e+60>>0]=b;a[e+61>>0]=f;f=(c[e+4>>2]|0)+g|0;a[e+62>>0]=a[30480+f>>0]|0;a[e+63>>0]=a[30576+f>>0]|0;g=(c[e+8>>2]|0)+g|0;a[e+64>>0]=a[30480+g>>0]|0;a[e+65>>0]=a[30576+g>>0]|0;return}function jm(b,e){b=b|0;e=e|0;var f=0;f=b+5822|0;e=d[f>>0]|0|e;a[f>>0]=e;if(e&128|0)return;if(!(e&(d[b+5823>>0]|0)))return;a[f>>0]=e|128;e=c[b+5804>>2]|0;if(!e)return;xa[e&31](c[b+5808>>2]|0,1);return}function km(){var a=0;a=c[857758]|0;c[857758]=a+1;if((a|0)>0)return;mm();return}function lm(b){b=b|0;var d=0,e=0.0,f=0;d=c[b+5832>>2]|0;if(!d)e=0.0;else e=+((c[b+5828>>2]|0)>>>0)/72.0/+(d>>>0);f=b+5840|0;h[f>>3]=e;c[b+1612>>2]=~~(e*0.0*64.0)>>>0;d=1;while(1){c[b+1612+(d<<2)>>2]=~~(+(d|0)*64.0*e*64.0)>>>0;d=d+1|0;if((d|0)==1024)break;e=+h[f>>3]}a[b+173>>0]=0;a[b+349>>0]=0;a[b+525>>0]=0;a[b+701>>0]=0;a[b+877>>0]=0;a[b+1053>>0]=0;a[b+1229>>0]=0;a[b+1405>>0]=0;a[b+1581>>0]=0;d=b+1584|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;a[d+4>>0]=0;a[d+5>>0]=0;e=+h[f>>3];c[b+5724>>2]=~~(e*262144.0)>>>0;c[b+5732>>2]=~~(e*16384.0)>>>0;f=~~(e*65536.0)>>>0;c[b+5744>>2]=f;c[b+1600>>2]=f;c[b+1604>>2]=65536;return}function mm(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<1;e=e<<1;c[1144560+(e<<2)>>2]=f;b=e|1;c[1144560+(b<<2)>>2]=0-f;c[1144560+(e+512<<2)>>2]=d;c[1144560+(b+512<<2)>>2]=0-d;f=d>>1;c[1144560+(e+1024<<2)>>2]=f;c[1144560+(b+1024<<2)>>2]=0-f;f=d>>2;c[1144560+(e+1536<<2)>>2]=f;c[1144560+(b+1536<<2)>>2]=0-f;f=d>>3;c[1144560+(e+2048<<2)>>2]=f;c[1144560+(b+2048<<2)>>2]=0-f;f=d>>4;c[1144560+(e+2560<<2)>>2]=f;c[1144560+(b+2560<<2)>>2]=0-f;f=d>>5;c[1144560+(e+3072<<2)>>2]=f;c[1144560+(b+3072<<2)>>2]=0-f;f=d>>6;c[1144560+(e+3584<<2)>>2]=f;c[1144560+(b+3584<<2)>>2]=0-f;f=d>>7;c[1144560+(e+4096<<2)>>2]=f;c[1144560+(b+4096<<2)>>2]=0-f;f=d>>8;c[1144560+(e+4608<<2)>>2]=f;c[1144560+(b+4608<<2)>>2]=0-f;f=d>>9;c[1144560+(e+5120<<2)>>2]=f;c[1144560+(b+5120<<2)>>2]=0-f;d=d>>10;c[1144560+(e+5632<<2)>>2]=d;c[1144560+(b+5632<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[1128176+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);b=0;do{if(!(b&512))a=c[1128176+(b<<2)>>2]|0;else a=6144;c[1128176+(b+1024<<2)>>2]=a;c[1128176+(b+2048<<2)>>2]=c[1128176+((b&511)<<2)>>2];if(!(b&256))a=c[1128176+((b&255)<<2)>>2]|0;else a=6144;c[1128176+(b+3072<<2)>>2]=a;b=b+1|0}while((b|0)!=1024);return}function nm(a){a=a|0;om(c[3431024+((a&255)<<2)>>2]|0);return}function om(a){a=a|0;pm(a);return}function pm(a){a=a|0;qm();fx(a);return}function qm(){var a=0;a=c[857758]|0;if(!a)return;c[857758]=a+-1;return}function rm(a){a=a|0;Zl(c[3431024+((a&255)<<2)>>2]|0);return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;tm(c[3431024+((a&255)<<2)>>2]|0,b&1,d&255);return}function tm(a,b,c){a=a|0;b=b|0;c=c|0;um(a,b,c);return}function um(b,e,f){b=b|0;e=e|0;f=f|0;if(!(e&1)){a[b+5821>>0]=f;return}e=c[b+5812>>2]|0;if(e|0)wa[e&31](c[b+5816>>2]|0);am(b,d[b+5821>>0]|0,f);return}function vm(a,b){a=a|0;b=b|0;wm(c[3431024+((a&255)<<2)>>2]|0,b);return}function wm(b,c){b=b|0;c=c|0;a[b+173>>0]=c&1;a[b+349>>0]=c>>>1&1;a[b+525>>0]=c>>>2&1;a[b+701>>0]=c>>>3&1;a[b+877>>0]=c>>>4&1;a[b+1053>>0]=c>>>5&1;a[b+1229>>0]=c>>>6&1;a[b+1405>>0]=c>>>7&1;a[b+1581>>0]=c>>>8&1;a[b+1584>>0]=c>>>9&1;a[b+1585>>0]=c>>>10&1;a[b+1586>>0]=c>>>11&1;a[b+1587>>0]=c>>>12&1;a[b+1588>>0]=c>>>13&1;a[b+1589>>0]=c>>>14&1;return}function xm(b,d,e){b=b|0;d=d|0;e=e|0;b=3431036+((b&255)<<2)|0;switch(a[3432168]|0){case 1:{ym(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{zm(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function ym(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=a[b+1608>>0]&32;if(!f){Jm(b);return}if((f|0)<=0)return;p=b+5852|0;q=b+176|0;r=b+352|0;m=b+528|0;n=b+704|0;o=b+880|0;h=g<<24>>24==0;i=b+1056|0;j=b+1232|0;k=b+1408|0;l=b+5736|0;g=0;do{c[p>>2]=0;Hl(b);Il(b,b);Il(b,q);Il(b,r);Il(b,m);Il(b,n);Il(b,o);if(h){Il(b,i);Il(b,j);Il(b,k)}else Jl(b,b,c[l>>2]&1);s=c[p>>2]|0;c[d+(g<<2)>>2]=s;c[e+(g<<2)>>2]=s;Kl(b);g=g+1|0}while((g|0)!=(f|0));return}function zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=k;k=k+4096|0;aa=ea+2048|0;da=ea;if(!f){i=b+3249|0;g=0;do{if(!(g>>>0>5&(a[i>>0]&32)!=0)){h=b+(g*168|0)|0;if(!(c[b+(g*168|0)+112>>2]|0))Am(h);if(!(c[h+1624>>2]|0))Am(h+1512|0)}g=g+1|0}while((g|0)!=9);k=ea;return}if((f|0)<=0){k=ea;return}ba=b+3249|0;m=b+3340|0;n=b+3348|0;ca=b+3024|0;x=b+1008|0;E=b+2520|0;F=b+2632|0;J=b+1344|0;K=b+1456|0;U=b+1176|0;V=b+1288|0;y=b+1120|0;s=b+2657|0;W=b+2800|0;z=b+2658|0;X=b+2968|0;t=b+1146|0;u=b+2640|0;G=b+1464|0;Q=b+2826|0;L=b+1296|0;A=b+1012|0;B=b+1064|0;r=b+1128|0;Y=b+2688|0;Z=b+2856|0;_=b+3037|0;O=b+2808|0;T=b+2976|0;o=f<<2;nz(d|0,0,o|0)|0;nz(e|0,0,o|0)|0;o=a[ba>>0]|0;h=((o&255)>>>6&1^1)&255;i=c[b+3344>>2]|0;j=c[b+3352>>2]|0;l=o<<24>>24<0;g=0;p=c[m>>2]|0;q=c[n>>2]|0;do{$=p+i|0;p=$>>>0>134217727?$+-134217728|0:$;c[aa+(g<<2)>>2]=c[1169136+(p>>>24<<2)>>2]>>h;$=q+j|0;q=$>>>0>889192447?$+-889192448|0:$;$=q>>>24;c[da+(g<<2)>>2]=c[1169168+((l?$:$+53|0)<<2)>>2];g=g+1|0}while((g|0)!=(f|0));$=b+3060|0;h=b+3258|0;v=b+3035|0;i=b+1145|0;w=b+1481|0;D=b+1313|0;C=b+1482|0;H=b+2825|0;I=b+1314|0;N=b+2993|0;P=b+2994|0;R=b+3034|0;S=b+3036|0;c[m>>2]=p;c[n>>2]=q;do if(o&32){a:do if(!(a[b+3033>>0]|0)){g=(c[F>>2]|0)!=5;if(a[h>>0]&1){if(!g)break;if(!(a[s>>0]|0))i=1171648;else{g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[u>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1169600}g=(a[z>>0]|0)==0?1173696:da;h=0;while(1){Bm(b,E,c[i+(h<<2)>>2]|0);wa[c[30768+(c[F>>2]<<2)>>2]&31](E);Cm(E,0,c[g+(h<<2)>>2]|0);A=c[E>>2]<<1;B=d+(h<<2)|0;c[B>>2]=(c[B>>2]|0)+A;B=e+(h<<2)|0;c[B>>2]=(c[B>>2]|0)+A;h=h+1|0;if((h|0)==(f|0))break a}}if(!g?(c[y>>2]|0)==5:0)break;if((a[i>>0]|0)!=0?(c[y>>2]|0)!=5:0){g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[r>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=1169600}else l=1171648;if((a[s>>0]|0)!=0?(c[F>>2]|0)!=5:0){g=0;do{c[1175744+(g<<2)>>2]=(M((M(c[u>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=1175744}else j=1171648;i=(a[t>>0]|0)==0?1173696:da;g=(a[z>>0]|0)==0?1173696:da;h=0;do{Bm(b,x,c[l+(h<<2)>>2]|0);wa[c[30768+(c[y>>2]<<2)>>2]&31](x);u=(M((c[x>>2]|0)+(c[A>>2]|0)|0,c[B>>2]|0)|0)/2|0;Cm(x,u,c[i+(h<<2)>>2]|0);Bm(b,E,c[j+(h<<2)>>2]|0);wa[c[30768+(c[F>>2]<<2)>>2]&31](E);Cm(E,c[x>>2]<<16,c[g+(h<<2)>>2]|0);u=c[E>>2]<<1;z=d+(h<<2)|0;c[z>>2]=(c[z>>2]|0)+u;z=e+(h<<2)|0;c[z>>2]=(c[z>>2]|0)+u;h=h+1|0}while((h|0)!=(f|0))}while(0);if((a[v>>0]|0)==0?(c[K>>2]|0)!=5:0){if(!(a[w>>0]|0))i=1171648;else{g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[G>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1169600}g=(a[C>>0]|0)==0?1173696:da;h=0;do{Bm(b,J,c[i+(h<<2)>>2]|0);wa[c[30768+(c[K>>2]<<2)>>2]&31](J);Cm(J,0,c[g+(h<<2)>>2]|0);F=c[J>>2]<<1;G=d+(h<<2)|0;c[G>>2]=(c[G>>2]|0)+F;G=e+(h<<2)|0;c[G>>2]=(c[G>>2]|0)+F;h=h+1|0}while((h|0)!=(f|0))}if((c[V>>2]|0)==5)if((c[W>>2]|0)==5?(c[X>>2]|0)==5:0)break;else n=1171648;else if(!(a[D>>0]|0))n=1171648;else{g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[L>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));n=1169600}if((a[H>>0]|0)!=0?(c[W>>2]|0)==5:0){g=0;do{c[1175744+(g<<2)>>2]=(M((M(c[O>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=1175744}else m=1171648;l=(a[I>>0]|0)==0?1173696:da;j=(a[Q>>0]|0)==0?1173696:da;if((a[N>>0]|0)!=0?(c[X>>2]|0)==5:0){g=0;do{c[1175744+(g<<2)>>2]=(M((M(c[T>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1175744}else i=1171648;g=(a[P>>0]|0)==0?1173696:da;h=0;do{Dm(b,U,c[n+(h<<2)>>2]|0,Y,c[m+(h<<2)>>2]|0,Z,c[i+(h<<2)>>2]|0);if(!(a[_>>0]|0)){wa[c[30768+(c[V>>2]<<2)>>2]&31](U);Cm(U,0,c[l+(h<<2)>>2]|0)}else c[U>>2]=0;if(!(a[R>>0]|0)){wa[c[30768+(c[W>>2]<<2)>>2]&31](Y);Cm(Y,0,c[j+(h<<2)>>2]|0)}else c[Y>>2]=0;if(!(a[S>>0]|0)){wa[c[30768+(c[X>>2]<<2)>>2]&31](Z);Cm(Z,0,c[g+(h<<2)>>2]|0)}else c[Z>>2]=0;Q=(c[Y>>2]|0)+(c[U>>2]|0)<<1;P=d+(h<<2)|0;c[P>>2]=Q+(c[P>>2]|0);T=e+(h<<2)|0;c[T>>2]=(c[T>>2]|0)+Q;Q=c[Z>>2]<<1;c[P>>2]=(c[P>>2]|0)+Q;c[T>>2]=(c[T>>2]|0)+Q;h=h+1|0}while((h|0)!=(f|0))}while(0);q=(f|0)<1;p=8;while(1){do if((a[ca+p>>0]|0)==0?!((p+-6|0)>>>0<3&(a[ba>>0]&32)!=0):0){r=b+(p*168|0)|0;s=r+1512|0;t=r+1624|0;g=(c[t>>2]|0)==5;if(!(a[$+(p+192)>>0]&1)){if(g?(c[b+(p*168|0)+112>>2]|0)==5:0)break;if(a[b+(p*168|0)+137>>0]|0){g=(c[b+(p*168|0)+112>>2]|0)==5;if(g|q)o=g?1171648:1169600;else{h=b+(p*168|0)+120|0;g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=1169600}}else o=1171648;if(a[r+1649>>0]|0){g=(c[t>>2]|0)==5;if(g|q)h=g?1171648:1175744;else{h=r+1632|0;g=0;do{c[1175744+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));h=1175744}}else h=1171648;j=(a[b+(p*168|0)+138>>0]|0)==0?1173696:da;i=(a[r+1650>>0]|0)==0?1173696:da;l=b+(p*168|0)+112|0;m=b+(p*168|0)+4|0;n=b+(p*168|0)+56|0;g=0;do{Bm(b,r,c[o+(g<<2)>>2]|0);wa[c[30768+(c[l>>2]<<2)>>2]&31](r);Z=(M((c[r>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;Cm(r,Z,c[j+(g<<2)>>2]|0);Bm(b,s,c[h+(g<<2)>>2]|0);wa[c[30768+(c[t>>2]<<2)>>2]&31](s);Cm(s,c[r>>2]<<16,c[i+(g<<2)>>2]|0);Z=c[s>>2]|0;_=d+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;_=e+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;g=g+1|0}while((g|0)!=(f|0))}else{if(g?(c[b+(p*168|0)+112>>2]|0)==5:0)break;if(a[b+(p*168|0)+137>>0]|0){g=(c[b+(p*168|0)+112>>2]|0)==5;if(g|q)o=g?1171648:1169600;else{h=b+(p*168|0)+120|0;g=0;do{c[1169600+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=1169600}}else o=1171648;if(a[r+1649>>0]|0){g=(c[t>>2]|0)==5;if(g|q)h=g?1171648:1175744;else{h=r+1632|0;g=0;do{c[1175744+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));h=1175744}}else h=1171648;j=(a[b+(p*168|0)+138>>0]|0)==0?1173696:da;i=(a[r+1650>>0]|0)==0?1173696:da;l=b+(p*168|0)+112|0;m=b+(p*168|0)+4|0;n=b+(p*168|0)+56|0;g=0;do{Bm(b,r,c[o+(g<<2)>>2]|0);wa[c[30768+(c[l>>2]<<2)>>2]&31](r);Z=(M((c[r>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;Cm(r,Z,c[j+(g<<2)>>2]|0);Bm(b,s,c[h+(g<<2)>>2]|0);wa[c[30768+(c[t>>2]<<2)>>2]&31](s);Cm(s,0,c[i+(g<<2)>>2]|0);Z=(c[r>>2]|0)+(c[s>>2]|0)|0;_=d+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;_=e+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;g=g+1|0}while((g|0)!=(f|0))}}while(0);if(!p)break;else p=p+-1|0}k=ea;return}function Am(a){a=a|0;if((c[a+144>>2]|0)+1&c[a+148>>2]|0)return;if(!(+h[a+64>>3]>=1.0))return;c[a+112>>2]=1;h[a+24>>3]=1.0;h[a+32>>3]=1.0;return}function Bm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;c[b+12>>2]=g;f=c[b+16>>2]|0;c[e>>2]=f+g+((M(f,d)|0)/65536|0);d=b+140|0;c[d>>2]=(c[d>>2]|0)+(c[a+3356>>2]|0);return}function Cm(a,d,e){a=a|0;d=d|0;e=e|0;if((c[a+112>>2]|0)==5)return;c[a+4>>2]=c[a>>2];c[a>>2]=~~(+h[a+32>>3]*+h[a+40>>3]*+(b[(c[a+124>>2]|0)+((c[a+128>>2]&((c[a+12>>2]|0)+d|0)>>>16)<<1)>>1]|0)*+(e|0)*.0625);return}function Dm(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;j=(c[m>>2]|0)>>>16;i=g+8|0;k=(c[i>>2]|0)>>>16;j=((k<<2^k)&32|j<<5&128^j&136|0)==0?0:2;k=(Qy()|0)&1;l=c[m>>2]|0;c[b+12>>2]=(52<<(j^k<<1)|j<<8)<<16;n=c[b+16>>2]|0;c[m>>2]=n+l+((M(n,d)|0)/65536|0);d=a+3356|0;a=b+140|0;c[a>>2]=(c[a>>2]|0)+(c[d>>2]|0);c[e+12>>2]=((l>>>24&1)+1^k)<<24;a=c[e+16>>2]|0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+a+((M(a,f)|0)/65536|0);f=e+140|0;c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[g+12>>2]=j<<24|16777216;f=c[g+16>>2]|0;c[i>>2]=(c[i>>2]|0)+f+((M(f,h)|0)/65536|0);h=g+140|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);return}function Em(b){b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+24|0;e=+h[r>>3];e=+h[b+64>>3]+e*(+h[b+72>>3]+e*(+h[b+88>>3]*e+ +h[b+80>>3]));h[r>>3]=e;j=b+140|0;k=c[j>>2]|0;l=k>>>16;if(!l){r=k&65535;c[j>>2]=r;return}m=b+144|0;n=c[b+148>>2]|0;o=b+112|0;p=b+32|0;q=b+160|0;g=b+164|0;f=c[m>>2]|0;b=0;i=f;do{i=i+1|0;if(!(n&i)){if(e>1.0){c[o>>2]=1;h[r>>3]=1.0;h[p>>3]=1.0;e=1.0}s=d[q>>0]|0;s=(s&127|0)==0?1:s<<1&255;a[q>>0]=s;if(c[g>>2]&(s&255))h[p>>3]=e}b=b+1|0}while((b|0)!=(l|0));c[m>>2]=f+l;s=k&65535;c[j>>2]=s;return}function Fm(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=b+24|0;d=+h[p>>3];q=+h[b+48>>3];if(d>q){d=d*+h[b+96>>3];h[p>>3]=d}o=b+140|0;i=c[o>>2]|0;j=i>>>16;if(!j){p=i&65535;c[o>>2]=p;return}k=b+144|0;l=c[b+152>>2]|0;m=b+32|0;n=b+136|0;f=b+112|0;e=c[k>>2]|0;b=0;g=e;do{g=g+1|0;if(!(l&g)){do if(d<=q)if(!(a[n>>0]|0)){c[f>>2]=4;break}else{c[f>>2]=3;h[p>>3]=q;d=q;break}while(0);h[m>>3]=d}b=b+1|0}while((b|0)!=(j|0));c[k>>2]=e+j;p=i&65535;c[o>>2]=p;return}function Gm(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+24|0;b=+h[n>>3];if(b>1.0e-08){b=b*+h[a+104>>3];h[n>>3]=b}k=a+140|0;l=c[k>>2]|0;m=l>>>16;if(!m){n=l&65535;c[k>>2]=n;return}g=a+144|0;i=c[a+156>>2]|0;j=a+32|0;e=a+112|0;d=c[g>>2]|0;a=0;f=d;do{f=f+1|0;if(!(i&f)){if(b<=1.0e-08){h[n>>3]=0.0;if((c[e>>2]|0)==2){c[e>>2]=5;b=0.0}else b=0.0}h[j>>3]=b}a=a+1|0}while((a|0)!=(m|0));c[g>>2]=d+m;n=l&65535;c[k>>2]=n;return}function Hm(a){a=a|0;var b=0,d=0,e=0;b=a+140|0;d=c[b>>2]|0;e=d>>>16;if(!e){e=d&65535;c[b>>2]=e;return}a=a+144|0;c[a>>2]=(c[a>>2]|0)+e;e=d&65535;c[b>>2]=e;return}function Im(a){a=a|0;return}function Jm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=b+1592|0;e=0;do{h=e>>>1;i=e&1;j=b+(h*176|0)+(i*80|0)+42|0;if(((a[j>>0]|0)==4?(k=c[f>>2]|0,l=d[b+(h*176|0)+(i*80|0)+60>>0]|0,((1<>2]|0,(((M(d[29360+((k>>>l&7)+(d[b+(h*176|0)+(i*80|0)+61>>0]|0))>>0]|0,~m)|0)>>3)+m|0)<1):0){c[g>>2]=0;a[j>>0]=3}e=e+1|0}while((e|0)!=18);return}function Km(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){e=0;return e|0}e=3431036+((b&255)<<2)|0;d=d&2147483647;b=(d>>>0)/72|0;g=a[3432185]|0;f=c[857788]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;switch(a[3432168]|0){case 1:{g=Lm(d,b)|0;c[e>>2]=g;Nm(g,e);Pm(c[e>>2]|0,e);Rm(c[e>>2]|0,e);g=b;return g|0}case 0:{c[e>>2]=Sm(d,b,e)|0;g=b;return g|0}default:{g=b;return g|0}}return 0}function Lm(a,b){a=a|0;b=b|0;a=Yl(a,b,1)|0;if(!a)return a|0;Tm(a);return a|0}function Mm(a,b,c){a=a|0;b=b|0;c=c|0;return}function Nm(a,b){a=a|0;b=b|0;Xl(a,6,b);return}function Om(a,b){a=a|0;b=b|0;return}function Pm(a,b){a=a|0;b=b|0;Wl(a,13,b);return}function Qm(b){b=b|0;switch(a[3432168]|0){case 1:{ym(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}case 0:{zm(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}default:return}}function Rm(a,b){a=a|0;b=b|0;Vl(a,21,b);return} -function Sm(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0;w=k;k=k+224|0;p=w;v=ex(3504)|0;o=v+3040|0;c[o>>2]=f;n=v+3044|0;c[n>>2]=g;c[v+3496>>2]=21;c[v+3500>>2]=i;x=+(f>>>0)/72.0;j=+(g|0);c[v+3356>>2]=~~(x*65536.0/j)>>>0;j=1.0/j;l=v+3360|0;h[l>>3]=j;m=v+3368|0;h[v+3488>>3]=j*(x*15.0*.0009765625*65536.0);g=15;i=f;while(1){g=g+-1|0;h[m+(g<<3)>>3]=j*(+h[30800+(g<<3)>>3]*(+(i>>>0)/72.0)*.0009765625*65536.0);if(!g)break;i=c[o>>2]|0;j=+h[l>>3]}g=(c[857761]|0)==0;if(g){c[292284]=8;c[292285]=4;c[292286]=0;c[292287]=-4;c[292288]=-8;c[292289]=-4;c[292290]=0;c[292291]=4}j=+(c[n>>2]|0);c[v+3344>>2]=~~(+((c[o>>2]|0)>>>0)/72.0*16384.0/j)>>>0;c[v+3340>>2]=0;if(!g){c[v+3352>>2]=~~(3290012057.6000004/j)>>>0;c[v+3348>>2]=0;k=w;return v|0}nz(1171648,0,2048)|0;c[p>>2]=-13;c[p+4>>2]=-12;c[p+8>>2]=-11;c[p+12>>2]=-10;c[p+16>>2]=-9;c[p+20>>2]=-8;c[p+24>>2]=-7;c[p+28>>2]=-6;c[p+32>>2]=-5;c[p+36>>2]=-4;c[p+40>>2]=-3;c[p+44>>2]=-2;c[p+48>>2]=-1;c[p+52>>2]=0;c[p+56>>2]=0;c[p+60>>2]=-1;c[p+64>>2]=-2;c[p+68>>2]=-3;c[p+72>>2]=-4;c[p+76>>2]=-5;c[p+80>>2]=-6;c[p+84>>2]=-7;c[p+88>>2]=-8;c[p+92>>2]=-9;c[p+96>>2]=-10;c[p+100>>2]=-11;c[p+104>>2]=-12;c[p+108>>2]=-13;c[p+112>>2]=-14;c[p+116>>2]=-15;c[p+120>>2]=-16;c[p+124>>2]=-17;c[p+128>>2]=-18;c[p+132>>2]=-19;c[p+136>>2]=-20;c[p+140>>2]=-21;c[p+144>>2]=-22;c[p+148>>2]=-23;c[p+152>>2]=-24;c[p+156>>2]=-25;c[p+160>>2]=-26;c[p+164>>2]=-25;c[p+168>>2]=-24;c[p+172>>2]=-23;c[p+176>>2]=-22;c[p+180>>2]=-21;c[p+184>>2]=-20;c[p+188>>2]=-19;c[p+192>>2]=-18;c[p+196>>2]=-17;c[p+200>>2]=-16;c[p+204>>2]=-15;c[p+208>>2]=-14;g=0;do{u=c[p+(g<<2)>>2]|0;c[1169168+(g<<2)>>2]=~~(+ma(+(+(u|0)*4.8/26.0/6.0))*65536.0);c[1169168+(g+53<<2)>>2]=~~(+ma(+(+((u|0)/4|0|0)*1.2/6.0/6.0))*65536.0);g=g+1|0}while((g|0)!=53);c[v+3352>>2]=~~(3290012057.6000004/j)>>>0;c[v+3348>>2]=0;c[857761]=1;g=0;do{c[1173696+(g<<2)>>2]=65536;g=g+1|0}while((g|0)!=512);g=0;do{t=g<<1;u=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[1177792+(t+1024<<1)>>1]=u;t=t|1;b[1177792+(t+1024<<1)>>1]=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[1177792+(g<<1)>>1]=u;g=g+1|0}while((g|0)!=512);g=0;do{b[1177792+(g+2048<<1)>>1]=(e[1177792+(g+128<<1)>>1]|0)+49152;b[1177792+(g+2176<<1)>>1]=(e[1177792+(g+256<<1)>>1]|0)+16384;g=g+1|0}while((g|0)!=128);a[1184048]=0;a[1184049]=24;a[1184050]=32;a[1184051]=37;a[1184052]=40;a[1184053]=43;a[1184054]=45;a[1184055]=47;a[1184056]=48;a[1184057]=50;a[1184058]=51;a[1184059]=52;a[1184060]=53;a[1184061]=54;a[1184062]=55;a[1184063]=56;u=6;g=0;i=24;f=32;l=37;m=40;n=43;o=45;p=47;q=48;r=50;s=51;t=52;while(1){y=u+1|0;z=(g&255)+-8|0;g=1183936+(u<<4)|0;a[g>>0]=(z|0)>0?z:0;z=(i&255)+-8|0;i=1183936+(u<<4)+1|0;a[i>>0]=(z|0)>0?z:0;z=(f&255)+-8|0;f=1183936+(u<<4)+2|0;a[f>>0]=(z|0)>0?z:0;l=(l&255)+-8|0;l=(l|0)>0?l:0;a[1183936+(u<<4)+3>>0]=l;m=(m&255)+-8|0;m=(m|0)>0?m:0;a[1183936+(u<<4)+4>>0]=m;n=(n&255)+-8|0;n=(n|0)>0?n:0;a[1183936+(u<<4)+5>>0]=n;o=(o&255)+-8|0;o=(o|0)>0?o:0;a[1183936+(u<<4)+6>>0]=o;p=(p&255)+-8|0;p=(p|0)>0?p:0;a[1183936+(u<<4)+7>>0]=p;q=(q&255)+-8|0;q=(q|0)>0?q:0;a[1183936+(u<<4)+8>>0]=q;r=(r&255)+-8|0;r=(r|0)>0?r:0;a[1183936+(u<<4)+9>>0]=r;s=(s&255)+-8|0;s=(s|0)>0?s:0;a[1183936+(u<<4)+10>>0]=s;t=(t&255)+-8|0;t=(t|0)>0?t:0;a[1183936+(u<<4)+11>>0]=t;z=(d[1183936+(y<<4)+12>>0]|0)+-8|0;a[1183936+(u<<4)+12>>0]=(z|0)>0?z:0;z=(d[1183936+(y<<4)+13>>0]|0)+-8|0;a[1183936+(u<<4)+13>>0]=(z|0)>0?z:0;z=(d[1183936+(y<<4)+14>>0]|0)+-8|0;a[1183936+(u<<4)+14>>0]=(z|0)>0?z:0;y=(d[1183936+(y<<4)+15>>0]|0)+-8|0;a[1183936+(u<<4)+15>>0]=(y|0)>0?y:0;if(!u)break;u=u+-1|0;g=a[g>>0]|0;i=a[i>>0]|0;f=a[f>>0]|0}k=w;return v|0}function Tm(a){a=a|0;_l(a);return}function Um(b){b=b|0;b=3431036+((b&255)<<2)|0;switch(a[3432168]|0){case 1:{Vm(c[b>>2]|0);return}case 0:{Wm(c[b>>2]|0);return}default:return}}function Vm(a){a=a|0;pm(a);return}function Wm(a){a=a|0;fx(a);return}function Xm(b){b=b|0;b=3431036+((b&255)<<2)|0;switch(a[3432168]|0){case 1:{Tm(c[b>>2]|0);return}case 0:{Ym(c[b>>2]|0);return}default:return}}function Ym(b){b=b|0;var d=0,e=0;nz(b|0,0,3024)|0;nz(b+3060|0,0,278)|0;d=0;do{c[b+(d*168|0)+112>>2]=5;c[b+(d*168|0)+132>>2]=0;e=b+(d*168|0)+24|0;c[b+(d*168|0)+8>>2]=0;c[b+(d*168|0)+16>>2]=0;c[b+(d*168|0)+116>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+(d*168|0)+128>>2]=1023;c[b+(d*168|0)+124>>2]=1179840;c[b+(d*168|0)+120>>2]=0;e=b+(d*168|0)+140|0;c[b+(d*168|0)+164>>2]=0;d=d+1|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[e+20>>0]=0}while((d|0)!=18);a[b+3048>>0]=0;c[b+3052>>2]=0;c[b+3056>>2]=0;return}function Zm(b,d,e){b=b|0;d=d|0;e=e|0;b=3431036+((b&255)<<2)|0;switch(a[3432168]|0){case 1:{_m(c[b>>2]|0,d&1,e&255);return}case 0:{$m(c[b>>2]|0,d&1,e);return}default:return}}function _m(a,b,c){a=a|0;b=b|0;c=c|0;um(a,b,c);return}function $m(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+3056>>2]=d&255;return}else{an(a,c[a+3056>>2]|0,d);return}}function an(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e&256;a[b+3060+e>>0]=f;do switch(e>>>4&15){case 0:{if((e|0)!=4)return;g=b+3048|0;if(f<<24>>24<0){a[g>>0]=a[g>>0]&-97;return}else{a[g>>0]=0;return}}case 3:case 2:{h=e&7;g=e+224&255;if(!(h>>>0<6&g>>>0<22))return;j=(k|0)!=0;f=d[30928+(j?g+22|0:g)>>0]|0;i=g|k;k=b+(((h>>>0<3?0:9)+f|0)*168|0)|0;bn(b,i,k);cn(b,i,k);dn(b,j?f+238|0:f,g,k);return}case 5:case 4:{h=e&7;g=e+192&255;if(!(h>>>0<6&g>>>0<22))return;f=(k|0)!=0;k=d[30928+(f?g+22|0:g)>>0]|0;dn(b,f?k+238|0:k,g,b+(((h>>>0<3?0:9)+k|0)*168|0)|0);return}case 7:case 6:{g=e+160&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|k;k=b+((d[30960+((k|0)==0?g:g+22|0)>>0]|0)*168|0)|0;en(b,f,k);fn(b,f,k);return}case 9:case 8:{g=e+128&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|k;k=b+((d[30960+((k|0)==0?g:g+22|0)>>0]|0)*168|0)|0;gn(b,f,k);hn(b,f,k);return}case 10:{g=e+96&255;if(g>>>0>=9)return;f=(k|0)==0?g:g+18|0;j=k|(d[45607+g>>0]|0);k=g|k;dn(b,k,j,b+(f*168|0)|0);dn(b,k,j+3|0,b+((f+9|0)*168|0)|0);return}case 11:{g=c[b+3496>>2]|0;if(g|0)wa[g&31](c[b+3500>>2]|0);if((e|0)!=189){e=e+80&255;if(e>>>0>=9)return;g=(k|0)==0?e:e+18|0;i=k|(d[45607+e>>0]|0);j=b+(g*168|0)|0;if(!(f&32)){kn(j,1);g=b+((g+9|0)*168|0)|0;kn(g,1);h=i+3|0}else{jn(b,i,j,1);h=i+3|0;g=b+((g+9|0)*168|0)|0;jn(b,h,g,1)}k=e|k;dn(b,k,i,j);dn(b,k,h,g);return}h=f&255;g=b+1008|0;if((h&48|0)==48){jn(b,16,g,2);dn(b,6,16,g);k=b+2520|0;jn(b,19,k,2);dn(b,6,19,k)}else{kn(g,2);kn(b+2520|0,2)}g=b+2688|0;if((h&40|0)==40){jn(b,20,g,2);dn(b,7,20,g)}else kn(g,2);g=b+1344|0;if((h&36|0)==36){jn(b,18,g,2);dn(b,8,18,g)}else kn(g,2);g=b+2856|0;if((h&34|0)==34){jn(b,21,g,2);dn(b,8,21,g)}else kn(g,2);g=b+1176|0;if((h&33|0)==33){jn(b,17,g,2);dn(b,7,17,g);return}else{kn(g,2);return}}case 12:{g=e+64&255;if(g>>>0>=9)return;ln(b,g|k,b+(((k|0)==0?g:g+18|0)*168|0)|0);return}case 15:case 14:{h=e&7;g=e+32&255;if(!(h>>>0<6&g>>>0<22))return;if(!(a[b+3061>>0]&32))return;a[b+3316+g>>0]=f&3;mn(b,g,b+(((h>>>0<3?0:9)+(d[30928+g>>0]|0)|0)*168|0)|0);return}default:return}while(0)}function bn(b,e,f){b=b|0;e=e|0;f=f|0;e=(d[e+32+(b+3060)>>0]|0)>>>5&1;a[f+136>>0]=e;b=f+112|0;switch(c[b>>2]|0){case 3:{if(e<<24>>24)return;c[b>>2]=4;return}case 4:{if(!(e<<24>>24))return;c[b>>2]=3;return}default:return}}function cn(b,c,e){b=b|0;c=c|0;e=e|0;c=c+32+(b+3060)|0;a[e+137>>0]=(d[c>>0]|0)>>>6&1;a[e+138>>0]=(d[c>>0]|0)>>>7;return}function dn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0;j=d[e+176+(b+3060)>>0]|0;k=j<<8&768|(d[e+160+(b+3060)>>0]|0);l=j>>>2&7;c[g+120>>2]=k>>>7;e=(d[b+3068>>0]|0)>>>6&1;i=g+116|0;c[i>>2]=e&j|l<<1|(e^1)&j>>>1;j=f+32+(b+3060)|0;e=a[j>>0]|0;if(!(e&16)){c[i>>2]=l>>>1;e=a[j>>0]|0}c[g+16>>2]=~~(+h[b+3368+((e&15)<<3)>>3]*+(k<>>0))>>>0;j=d[f+64+(b+3060)>>0]|0;h[g+40>>3]=+ma(+(-14.0-(+h[31152+(j>>>6<<3)>>3]*+(d[(k>>>6)+(1183936+(l<<4))>>0]|0)+ +(j&63|0))*.125));en(b,f,g);fn(b,f,g);gn(b,f,g);return}function en(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,i=0.0;f=(d[b+96+(a+3060)>>0]|0)>>>4;if(!f){h[e+64>>3]=0.0;h[e+72>>3]=1.0;f=e+80|0;c[e+148>>2]=0;c[e+164>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}g=c[e+116>>2]|0;i=+ma(+(+(f|0)+ +(g>>>2>>>0)+-1.0));i=+h[a+3360>>3]*(+h[31120+((g&3)<<3)>>3]*i);b=e+64|0;h[b>>3]=i*.0377;a=e+72|0;h[a>>3]=i*10.73+1.0;h[e+80>>3]=i*-17.57;h[e+88>>3]=i*7.42;f=g+(f<<2)|0;c[e+148>>2]=(f|0)<52?(1<<12-(f>>2))+-1|0:0;c[e+164>>2]=d[45616+((f|0)<49?4-(f&3)|0:0)>>0];if((f|0)<=61)return;h[b>>3]=2.0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function fn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+96+(b+3060)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[31088+((g&3)<<3)>>3]*-7.4493*+h[b+3360>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}function gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+128+(b+3060)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[31088+((g&3)<<3)>>3]*-7.4493*+h[b+3360>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0;a=(d[b+128+(a+3060)>>0]|0)>>>4;if((a|0)==15)e=0.0;else e=+ma(+(+(a|0)*-.5));h[c+48>>3]=e;return}function jn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=e+132|0;if(c[g>>2]|0)return;c[e+8>>2]=c[31056+((d[((b|0)>255?b+-234|0:b)+(a+3316)>>0]|0)<<2)>>2]<<16;c[e+112>>2]=0;c[g>>2]=f;return}function kn(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+132|0;e=c[d>>2]|0;if(!e)return;e=e&~b;c[d>>2]=e;if(e|0)return;a=a+112|0;if((c[a>>2]|0)==5)return;c[a>>2]=2;return}function ln(b,d,e){b=b|0;d=d|0;e=e|0;b=a[d+192+(b+3060)>>0]&14;if(!(b<<24>>24))b=0;else b=~~+vy((b&255)>>>1|8);c[e+56>>2]=b;return}function mn(a,b,e){a=a|0;b=b|0;e=e|0;b=a+3316+b|0;c[e+128>>2]=c[30992+((d[b>>0]|0)<<2)>>2];c[e+124>>2]=1177792+(c[31024+((d[b>>0]|0)<<2)>>2]<<1);return}function nn(b){b=b|0;a[3432168]=(b&255)<2?b:0;return}function on(b,d){b=b|0;d=d|0;b=3431036+((b&255)<<2)|0;switch(a[3432168]|0){case 1:{wm(c[b>>2]|0,d);return}case 0:{pn(c[b>>2]|0,d);return}default:return}}function pn(b,c){b=b|0;c=c|0;a[b+3024>>0]=c&1;a[b+3025>>0]=c>>>1&1;a[b+3026>>0]=c>>>2&1;a[b+3027>>0]=c>>>3&1;a[b+3028>>0]=c>>>4&1;a[b+3029>>0]=c>>>5&1;a[b+3030>>0]=c>>>6&1;a[b+3031>>0]=c>>>7&1;a[b+3032>>0]=c>>>8&1;a[b+3033>>0]=c>>>9&1;a[b+3034>>0]=c>>>10&1;a[b+3035>>0]=c>>>11&1;a[b+3036>>0]=c>>>12&1;a[b+3037>>0]=c>>>13&1;return}function qn(a,b,d){a=a|0;b=b|0;d=d|0;rn(c[3431048+((a&255)<<2)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function rn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[b+5764>>2]|0;if((f|0)<=0)return;u=b+5852|0;v=b+5856|0;h=t+86|0;i=b+1589|0;j=b+176|0;k=b+352|0;l=b+528|0;m=b+704|0;n=b+880|0;o=(a[b+1608>>0]&32)==0;p=b+1056|0;q=b+1232|0;r=b+1408|0;s=b+5736|0;g=0;do{c[u>>2]=0;c[v>>2]=0;Hl(b);if((a[h>>0]|0)<0?(a[i>>0]|0)==0:0)pj(t);Il(b,b);Il(b,j);Il(b,k);Il(b,l);Il(b,m);Il(b,n);if(o){Il(b,p);Il(b,q);Il(b,r)}else Jl(b,b,c[s>>2]&1);w=(c[v>>2]>>11)+(c[u>>2]|0)|0;c[d+(g<<2)>>2]=w;c[e+(g<<2)>>2]=w;Kl(b);g=g+1|0}while((g|0)!=(f|0));return}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3431048+((b&255)<<2)|0;b=(d|0)/72|0;g=a[3432185]|0;f=c[857788]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;d=tn(d,b)|0;c[e>>2]=d;un(d);xn(c[e>>2]|0,e);An(c[e>>2]|0,e);Cn(c[e>>2]|0,e);En(c[e>>2]|0,e);Gn(c[e>>2]|0,e);d=b;return d|0}function tn(b,d){b=b|0;d=d|0;b=Yl(b,d,14)|0;if(!b){d=0;return d|0}d=b+5764|0;c[(c[d>>2]|0)+92>>2]=14;c[(c[d>>2]|0)+96>>2]=15;c[(c[d>>2]|0)+100>>2]=b;a[(c[d>>2]|0)+104>>0]=16;a[(c[d>>2]|0)+105>>0]=8;Jn(b);d=b;return d|0}function un(a){a=a|0;a=a+5764|0;c[c[a>>2]>>2]=0;c[(c[a>>2]|0)+24>>2]=0;return}function vn(a,b){a=a|0;b=b|0;return}function wn(a){a=a|0;return 0}function xn(a,b){a=a|0;b=b|0;c[a+5776>>2]=16;c[a+5772>>2]=5;c[a+5780>>2]=b;return}function yn(a,b){a=a|0;b=b|0;return}function zn(a){a=a|0;return 0}function An(a,b){a=a|0;b=b|0;c[a+5788>>2]=17;c[a+5784>>2]=6;c[a+5792>>2]=b;return}function Bn(a,b,c){a=a|0;b=b|0;c=c|0;return}function Cn(a,b){a=a|0;b=b|0;Xl(a,7,b);return}function Dn(a,b){a=a|0;b=b|0;return}function En(a,b){a=a|0;b=b|0;Wl(a,18,b);return}function Fn(a){a=a|0;rn(c[a>>2]|0,c[857780]|0,c[857781]|0,0);return}function Gn(a,b){a=a|0;b=b|0;Vl(a,22,b);return}function Hn(a,b){a=a|0;b=b|0;jm(a,b&255);return}function In(a,b){a=a|0;b=b|0;$l(a,b&255);return}function Jn(a){a=a|0;_l(a);return}function Kn(a){a=a|0;Ln(c[3431048+((a&255)<<2)>>2]|0);return}function Ln(a){a=a|0;var b=0;b=a+5764|0;fx(c[c[b>>2]>>2]|0);c[c[b>>2]>>2]=0;pm(a);return}function Mn(a){a=a|0;Jn(c[3431048+((a&255)<<2)>>2]|0);return}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;On(c[3431048+((a&255)<<2)>>2]|0,b&1,d&255);return}function On(a,b,c){a=a|0;b=b|0;c=c|0;um(a,b,c);return}function Pn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Qn(c[3431048+((a&255)<<2)>>2]|0,b,d,e,f);return}function Qn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a=a+5764|0;g=c[a>>2]|0;if((c[g+24>>2]|0)!=(b|0)){g=hx(c[g>>2]|0,b)|0;c[c[a>>2]>>2]=g;c[(c[a>>2]|0)+24>>2]=b;nz(c[c[a>>2]>>2]|0,-1,b|0)|0;Sj(c[a>>2]|0)}if(b>>>0>>0)return;mz((c[c[a>>2]>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Rn(a,b){a=a|0;b=b|0;wm(c[3431048+((a&255)<<2)>>2]|0,b);return}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=k;k=k+16|0;f=h;c[f>>2]=c[11101];c[f+4>>2]=c[11102];c[f+8>>2]=c[11103];c[f+12>>2]=c[11104];g=ex(1049280)|0;if(!g){g=0;k=h;return g|0}nz(g|0,0,1049280)|0;c[a>>2]=g;e=e&255;c[f>>2]=e;hg(g,d,b,f)|0;if(!(e&16)){g=(b|0)/8|0;k=h;return g|0}else{g=(b|0)/16|0;k=h;return g|0}return 0}function Tn(b,d,e){b=b|0;d=d|0;e=e|0;b=3431056+((b&255)<<2)|0;switch(a[3432169]|0){case 1:{dg(c[b>>2]|0,d,e);return}case 0:{eg(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function Un(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((b&255)>1){e=0;return e|0}h=3431056+((b&255)<<2)|0;i=f&255;b=i&16;g=(d|0)/((b>>>1)+8|0)|0;k=a[3432185]|0;j=c[857788]|0;g=k<<24>>24==2|(k&1)!=0&(g|0)<(j|0)?j:g;switch(a[3432169]|0){case 1:{k=Sn(h,d,e,f)|0;return k|0}case 0:{b=ig((b|0)==0?d:(d|0)/2|0,g)|0;c[h>>2]=b;if(!b){k=0;return k|0}jg(b,2-((e&255)>>>4&1)|0);Vn(c[h>>2]|0,i&239);k=g;return k|0}default:{k=g;return k|0}}return 0}function Vn(a,b){a=a|0;b=b|0;c[a+144>>2]=(((b&255)>>>6|1)^2)&255;c[a+148>>2]=3;c[a+152>>2]=((b&255)>>>7^3)&255;return}function Wn(b){b=b|0;b=3431056+((b&255)<<2)|0;switch(a[3432169]|0){case 1:{Gg(c[b>>2]|0);break}case 0:{Hg(c[b>>2]|0);break}default:{}}c[b>>2]=0;return}function Xn(b){b=b|0;b=3431056+((b&255)<<2)|0;switch(a[3432169]|0){case 1:{qg(c[b>>2]|0);return}case 0:{rg(c[b>>2]|0);return}default:return}}function Yn(b,d,e){b=b|0;d=d|0;e=e|0;b=3431056+((b&255)<<2)|0;switch(a[3432169]|0){case 1:{vg(c[b>>2]|0,d,e&255);return}case 0:{wg(c[b>>2]|0,d,e&255);return}default:return}}function Zn(b){b=b|0;a[3432169]=(b&255)<2?b:0;return}function _n(b,d){b=b|0;d=d|0;b=3431056+((b&255)<<2)|0;switch(a[3432169]|0){case 1:{dh(c[b>>2]|0,d);return}case 0:{eh(c[b>>2]|0,d);return}default:return}}function $n(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;h=b&255;b=e&511;if(b>>>0>503)if((c[1184064+(h*1996|0)+4>>2]|0)==2){a[b+-8+(1184064+(h*1996|0)+28)>>0]=f;return}else{a[1184064+(h*1996|0)+28+b>>0]=f;return}a[1184064+(h*1996|0)+28+b>>0]=f;if(b>>>0>=384)return;g=b>>>4;if((e&15|0)!=5)return;b=f&255;if(!(b&128)){c[1184064+(h*1996|0)+556+(g*60|0)+8>>2]=0;return}f=(e&496)+(1184064+(h*1996|0)+28)|0;c[1184064+(h*1996|0)+556+(g*60|0)+8>>2]=1;c[1184064+(h*1996|0)+556+(g*60|0)>>2]=0;c[1184064+(h*1996|0)+556+(g*60|0)+4>>2]=0;c[1184064+(h*1996|0)+556+(g*60|0)+12>>2]=0;c[1184064+(h*1996|0)+556+(g*60|0)+16>>2]=0;c[1184064+(h*1996|0)+556+(g*60|0)+20>>2]=0;c[1184064+(h*1996|0)+556+(g*60|0)+36>>2]=d[f+4>>0];c[1184064+(h*1996|0)+556+(g*60|0)+40>>2]=b;b=(d[f+10>>0]|0)<<8|(d[f+11>>0]|0);if((c[1184064+(h*1996|0)+4>>2]|0)==2){c[1184064+(h*1996|0)+556+(g*60|0)+52>>2]=b<<1;c[1184064+(h*1996|0)+556+(g*60|0)+44>>2]=((d[f+6>>0]|0)<<8|(d[f+7>>0]|0))<<1;c[1184064+(h*1996|0)+556+(g*60|0)+48>>2]=((d[f+8>>0]|0)<<8|(d[f+9>>0]|0))<<1;return}else{c[1184064+(h*1996|0)+556+(g*60|0)+52>>2]=b;c[1184064+(h*1996|0)+556+(g*60|0)+44>>2]=(d[f+6>>0]|0)<<8|(d[f+7>>0]|0);c[1184064+(h*1996|0)+556+(g*60|0)+48>>2]=(d[f+8>>0]|0)<<8|(d[f+9>>0]|0);return}}function ao(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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.0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;J=f&255;K=1184064+(J*1996|0)|0;Q=c[K>>2]|0;I=+(c[1184064+(J*1996|0)+16>>2]|0)*2.0/+(Q|0);Q=(Q|0)<(h|0)?Q:h;O=1184064+(J*1996|0)+8|0;E=Q<<1;nz(c[O>>2]|0,0,E|0)|0;P=1184064+(J*1996|0)+12|0;nz(c[P>>2]|0,0,E|0)|0;E=1184064+(J*1996|0)+24|0;if(!(c[E>>2]|0))return;F=1184064+(J*1996|0)+4|0;G=(c[F>>2]|0)==2?16:24;H=(Q|0)>0;D=0;do{f=(D<<4)+(1184064+(J*1996|0)+28)|0;v=1184064+(J*1996|0)+556+(D*60|0)+8|0;if((c[v>>2]|0?(a[1184064+(J*1996|0)+556+(D*60|0)+56>>0]|0)==0:0)?(L=d[f+2>>0]<<8|d[f+3>>0],L|0):0){w=~~(I*+(L|0));x=(d[f+1>>0]<<5>>>0)/24|0;q=(d[f>>0]<<5>>>0)/24|0;l=c[O>>2]|0;k=c[P>>2]|0;r=c[1184064+(J*1996|0)+556+(D*60|0)+44>>2]|0;s=(c[1184064+(J*1996|0)+556+(D*60|0)+48>>2]|0)-r|0;t=c[E>>2]|0;t=t+(bo(K,r,c[1184064+(J*1996|0)+556+(D*60|0)+36>>2]|0,D)|0)|0;y=1184064+(J*1996|0)+556+(D*60|0)|0;j=c[y>>2]|0;z=1184064+(J*1996|0)+556+(D*60|0)+4|0;h=c[z>>2]|0;A=1184064+(J*1996|0)+556+(D*60|0)+12|0;f=c[A>>2]|0;B=1184064+(J*1996|0)+556+(D*60|0)+16|0;i=c[B>>2]|0;C=1184064+(J*1996|0)+556+(D*60|0)+20|0;m=c[C>>2]|0;u=1184064+(J*1996|0)+556+(D*60|0)+40|0;a:do if((c[u>>2]&8|0)!=0?(c[F>>2]|0)!=2:0)if(H){p=1184064+(J*1996|0)+556+(D*60|0)+52|0;o=0;while(1){n=j+w|0;j=n&65535;h=(n>>>16&32767)+h|0;if((h|0)>=(s|0)){if(!(c[u>>2]&16))break;h=(c[p>>2]|0)-r|0}i=a[t+h>>0]|0;R=i<<24>>24;m=R&7;n=b[1184064+(J*1996|0)+540+(m<<1)>>1]|0;n=(R>>3<>24<0?0-n|0:n)|0;i=n-f|0;m=((M(i,j)|0)>>16)+f|0;R=(M(m,x)|0)>>>10;b[l>>1]=R+(e[l>>1]|0);m=(M(m,q)|0)>>>10;b[k>>1]=m+(e[k>>1]|0);o=o+1|0;if((o|0)>=(Q|0)){k=i;i=f;f=n;break a}else{R=f;k=k+2|0;l=l+2|0;m=i;f=n;i=R}}c[v>>2]=0;k=m}else k=m;else N=15;while(0);b:do if((N|0)==15){N=0;if(H){p=1184064+(J*1996|0)+556+(D*60|0)+52|0;n=l;o=0;while(1){j=j+w|0;l=j>>>16&32767;j=j&65535;h=l+h|0;if((h|0)>=(s|0)){if(!(c[u>>2]&16))break;h=(c[p>>2]|0)-r|0}if(l){if((c[F>>2]|0)==2){l=a[t+(h^1)>>0]|0;R=c[u>>2]|0;l=(R&1|0)==0|(l&128|0)==0?l:0-(l&127)|0;l=(R&64|0)==0?l:0-l|0}else l=a[t+h>>0]|0;m=l-f|0;i=f;f=l}R=((M(m,j)|0)>>16)+i|0;l=(M(R,x)|0)>>>5;b[n>>1]=l+(e[n>>1]|0);R=(M(R,q)|0)>>>5;b[k>>1]=R+(e[k>>1]|0);o=o+1|0;if((o|0)>=(Q|0)){k=m;break b}else{k=k+2|0;n=n+2|0}}c[v>>2]=0;k=m}else k=m}while(0);c[y>>2]=j;c[z>>2]=h;c[A>>2]=f;c[B>>2]=i;c[C>>2]=k}D=D+1|0}while((D|0)!=(G|0));if(!H)return;k=c[g>>2]|0;i=c[g+4>>2]|0;j=0;h=c[O>>2]|0;f=c[P>>2]|0;while(1){c[k>>2]=b[h>>1]<<3;c[i>>2]=b[f>>1]<<3;j=j+1|0;if((j|0)>=(Q|0))break;else{k=k+4|0;i=i+4|0;h=h+2|0;f=f+2|0}}return}function bo(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;e=(f<<16)+e|0;switch(c[d+4>>2]|0){case 0:{g=e>>>2&524288|e&524287;return g|0}case 1:{g=e>>>1&1572864|e&524287;return g|0}case 2:{g=((a[(b[45092+(((g|0)/4|0)<<1)>>1]|0)+(d+28)>>0]&3)<<17)+e|0;return g|0}default:{g=0;return g|0}}return 0}function co(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((d&255)>1){f=0;return f|0}h=d&255;d=(e|0)<1e6?e:(e>>>0)/384|0;c[1184064+(h*1996|0)+16>>2]=d;g=1184064+(h*1996|0)|0;c[g>>2]=d;i=a[3432185]|0;e=c[857788]|0;if(i<<24>>24==2|(i&1)!=0&(d|0)<(e|0)){c[g>>2]=e;if((e|0)>16777215){i=0;return i|0}else d=e}c[1184064+(h*1996|0)+4>>2]=f;c[1184064+(h*1996|0)+20>>2]=0;c[1184064+(h*1996|0)+24>>2]=0;b[1184064+(h*1996|0)+540>>1]=0;b[1184064+(h*1996|0)+542>>1]=16;b[1184064+(h*1996|0)+544>>1]=48;b[1184064+(h*1996|0)+546>>1]=112;b[1184064+(h*1996|0)+548>>1]=240;b[1184064+(h*1996|0)+550>>1]=496;b[1184064+(h*1996|0)+552>>1]=1008;b[1184064+(h*1996|0)+554>>1]=2032;i=ex(d<<2)|0;c[1184064+(h*1996|0)+8>>2]=i;c[1184064+(h*1996|0)+12>>2]=i+(d<<1);a[1184064+(h*1996|0)+612>>0]=0;a[1184064+(h*1996|0)+672>>0]=0;a[1184064+(h*1996|0)+732>>0]=0;a[1184064+(h*1996|0)+792>>0]=0;a[1184064+(h*1996|0)+852>>0]=0;a[1184064+(h*1996|0)+912>>0]=0;a[1184064+(h*1996|0)+972>>0]=0;a[1184064+(h*1996|0)+1032>>0]=0;a[1184064+(h*1996|0)+1092>>0]=0;a[1184064+(h*1996|0)+1152>>0]=0;a[1184064+(h*1996|0)+1212>>0]=0;a[1184064+(h*1996|0)+1272>>0]=0;a[1184064+(h*1996|0)+1332>>0]=0;a[1184064+(h*1996|0)+1392>>0]=0;a[1184064+(h*1996|0)+1452>>0]=0;a[1184064+(h*1996|0)+1512>>0]=0;a[1184064+(h*1996|0)+1572>>0]=0;a[1184064+(h*1996|0)+1632>>0]=0;a[1184064+(h*1996|0)+1692>>0]=0;a[1184064+(h*1996|0)+1752>>0]=0;a[1184064+(h*1996|0)+1812>>0]=0;a[1184064+(h*1996|0)+1872>>0]=0;a[1184064+(h*1996|0)+1932>>0]=0;a[1184064+(h*1996|0)+1992>>0]=0;i=d;return i|0}function eo(a){a=a|0;var b=0;a=a&255;b=1184064+(a*1996|0)+24|0;fx(c[b>>2]|0);c[b>>2]=0;fx(c[1184064+(a*1996|0)+8>>2]|0);return}function fo(a){a=a|0;a=a&255;nz(1184064+(a*1996|0)+28|0,0,512)|0;go(1184064+(a*1996|0)+556|0);go(1184064+(a*1996|0)+616|0);go(1184064+(a*1996|0)+676|0);go(1184064+(a*1996|0)+736|0);go(1184064+(a*1996|0)+796|0);go(1184064+(a*1996|0)+856|0);go(1184064+(a*1996|0)+916|0);go(1184064+(a*1996|0)+976|0);go(1184064+(a*1996|0)+1036|0);go(1184064+(a*1996|0)+1096|0);go(1184064+(a*1996|0)+1156|0);go(1184064+(a*1996|0)+1216|0);go(1184064+(a*1996|0)+1276|0);go(1184064+(a*1996|0)+1336|0);go(1184064+(a*1996|0)+1396|0);go(1184064+(a*1996|0)+1456|0);go(1184064+(a*1996|0)+1516|0);go(1184064+(a*1996|0)+1576|0);go(1184064+(a*1996|0)+1636|0);go(1184064+(a*1996|0)+1696|0);go(1184064+(a*1996|0)+1756|0);go(1184064+(a*1996|0)+1816|0);go(1184064+(a*1996|0)+1876|0);go(1184064+(a*1996|0)+1936|0);return}function go(a){a=a|0;c[a+8>>2]=0;c[a>>2]=0;a=a+24|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function ho(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1184064+(a*1996|0)+20|0;if((c[g>>2]|0)!=(b|0)){i=1184064+(a*1996|0)+24|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[1184064+(a*1996|0)+24>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function io(b,c){b=b|0;c=c|0;b=b&255;a[1184064+(b*1996|0)+612>>0]=c&1;a[1184064+(b*1996|0)+672>>0]=c>>>1&1;a[1184064+(b*1996|0)+732>>0]=c>>>2&1;a[1184064+(b*1996|0)+792>>0]=c>>>3&1;a[1184064+(b*1996|0)+852>>0]=c>>>4&1;a[1184064+(b*1996|0)+912>>0]=c>>>5&1;a[1184064+(b*1996|0)+972>>0]=c>>>6&1;a[1184064+(b*1996|0)+1032>>0]=c>>>7&1;a[1184064+(b*1996|0)+1092>>0]=c>>>8&1;a[1184064+(b*1996|0)+1152>>0]=c>>>9&1;a[1184064+(b*1996|0)+1212>>0]=c>>>10&1;a[1184064+(b*1996|0)+1272>>0]=c>>>11&1;a[1184064+(b*1996|0)+1332>>0]=c>>>12&1;a[1184064+(b*1996|0)+1392>>0]=c>>>13&1;a[1184064+(b*1996|0)+1452>>0]=c>>>14&1;a[1184064+(b*1996|0)+1512>>0]=c>>>15&1;a[1184064+(b*1996|0)+1572>>0]=c>>>16&1;a[1184064+(b*1996|0)+1632>>0]=c>>>17&1;a[1184064+(b*1996|0)+1692>>0]=c>>>18&1;a[1184064+(b*1996|0)+1752>>0]=c>>>19&1;a[1184064+(b*1996|0)+1812>>0]=c>>>20&1;a[1184064+(b*1996|0)+1872>>0]=c>>>21&1;a[1184064+(b*1996|0)+1932>>0]=c>>>22&1;a[1184064+(b*1996|0)+1992>>0]=c>>>23&1;return}function jo(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=d[f+1>>0]|0;j=c[31184+(k>>>4<<2)>>2]|0;k=c[31184+((k&15)<<2)>>2]|0;w=(h|0)>0;x=g+4|0;if(w){i=0;do{c[(c[g>>2]|0)+(i<<2)>>2]=0;c[(c[x>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(h|0))}v=f+4|0;u=31-j+31|0;r=31-k+31|0;s=f+452|0;t=f+516|0;q=f+644|0;p=0;do{j=a[v+(p*56|0)+2>>0]|0;i=j&255;a:do if(i&128|0?(a[v+(p*56|0)+52>>0]|0)==0:0){o=d[v+(p*56|0)+3>>0]|0;n=i&31^31;i=u+n-(c[31184+(o>>>4<<2)>>2]|0)|0;o=r+n-(c[31184+((o&15)<<2)>>2]|0)|0;i=b[s+(((i|0)<31?i:31)<<1)>>1]|0;o=b[s+(((o|0)<31?o:31)<<1)>>1]|0;if(p>>>0>3?(y=d[v+(p*56|0)+40>>0]|0,y&128|0):0){m=c[t+((y&31^31)<<2)>>2]|0;if(!w)break;n=v+(p*56|0)+44|0;l=i<<16;f=o<<16;k=0;while(1){i=(c[n>>2]|0)+m|0;c[n>>2]=i;if(i>>>0>2047){j=((Qy()|0)&1|0)==0;j=j?0:31;c[857766]=j;i=c[n>>2]|0}else j=c[857766]|0;c[n>>2]=i&2047;j=j+-16|0;i=(M(l,j)|0)>>16;o=(c[g>>2]|0)+(k<<2)|0;c[o>>2]=i+(c[o>>2]|0);j=(M(f,j)|0)>>16;o=(c[x>>2]|0)+(k<<2)|0;c[o>>2]=(c[o>>2]|0)+j;k=k+1|0;if((k|0)==(h|0))break a}}if(!(j&64)){f=c[q+(e[v+(p*56|0)>>1]<<2)>>2]|0;if(!w)break;l=v+(p*56|0)+48|0;k=i<<16;j=o<<16;i=0;do{n=c[l>>2]|0;c[l>>2]=n+f&131071;n=(d[(n>>>12&31)+(v+(p*56|0)+4)>>0]|0)+-16|0;m=(M(k,n)|0)>>16;o=(c[g>>2]|0)+(i<<2)|0;c[o>>2]=m+(c[o>>2]|0);n=(M(j,n)|0)>>16;o=(c[x>>2]|0)+(i<<2)|0;c[o>>2]=(c[o>>2]|0)+n;i=i+1|0}while((i|0)!=(h|0))}else{if(!w)break;f=v+(p*56|0)+38|0;k=i<<16;j=o<<16;i=0;do{o=(M(k,(b[f>>1]|0)+-16|0)|0)>>16;n=(c[g>>2]|0)+(i<<2)|0;c[n>>2]=o+(c[n>>2]|0);n=(M(j,(b[f>>1]|0)+-16|0)|0)>>16;o=(c[x>>2]|0)+(i<<2)|0;c[o>>2]=n+(c[o>>2]|0);i=i+1|0}while((i|0)!=(h|0))}}while(0);p=p+1|0}while((p|0)!=6);return}function ko(b,c){b=b|0;c=c|0;var d=0;d=ex(17028)|0;if(!d){d=0;return d|0}nz(d|0,0,17028)|0;lo(d,+(b&2147483647|0),+(c|0));a[d+56>>0]=0;a[d+112>>0]=0;a[d+168>>0]=0;a[d+224>>0]=0;a[d+280>>0]=0;a[d+336>>0]=0;return d|0}function lo(a,d,e){a=a|0;d=+d;e=+e;var f=0,g=0;nz(a|0,0,17028)|0;d=d/e;e=d*4096.0;f=0;do{f=f+1|0;c[a+644+((f&4095)<<2)>>2]=~~(e/+(f|0))>>>0}while((f|0)!=4096);d=d*32.0;f=0;do{g=f;f=f+1|0;c[a+516+(g<<2)>>2]=~~(d/+(f|0))>>>0}while((f|0)!=32);d=341.3333333333333;f=0;while(1){b[a+452+(f<<1)>>1]=~~d;f=f+1|0;if((f|0)==31)break;else d=d/1.1885022274370185}b[a+514>>1]=0;return}function mo(a){a=a|0;fx(a);return}function no(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;b[d+42>>1]=0;a[d+44>>0]=0;c[d+48>>2]=0;c[d+52>>2]=0;i=d+60|0;b[d+98>>1]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;e=d+116|0;b[d+154>>1]=0;a[d+156>>0]=0;c[d+160>>2]=0;c[d+164>>2]=0;f=d+172|0;b[d+210>>1]=0;a[d+212>>0]=0;c[d+216>>2]=0;c[d+220>>2]=0;g=d+228|0;b[d+266>>1]=0;a[d+268>>0]=0;c[d+272>>2]=0;c[d+276>>2]=0;h=d+284|0;b[d+322>>1]=0;a[d+324>>0]=0;c[d+328>>2]=0;c[d+332>>2]=0;j=i;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[i+36>>0]=0;j=e;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[e+36>>0]=0;j=f;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[f+36>>0]=0;j=g;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[g+36>>0]=0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[h+36>>0]=0;j=d;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[d+40>>0]=0;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;po(a,b,c&255);return}function po(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0;h=d[c>>0]|0;g=c+4+(h*56|0)|0;do switch(e&15){case 0:{a[c>>0]=f&7;return}case 1:{a[c+1>>0]=f;return}case 2:{b[g>>1]=f&4095|b[g>>1]&3840;return}case 3:{b[g>>1]=f<<8&3840|b[g>>1]&255;return}case 4:{e=c+4+(h*56|0)+2|0;if((f&64|0)==0&(a[e>>0]&64)!=0)a[c+4+(h*56|0)+36>>0]=0;a[e>>0]=f;return}case 5:{a[c+4+(h*56|0)+3>>0]=f;return}case 6:switch((a[c+4+(h*56|0)+2>>0]&-64)<<24>>24){case 0:{g=c+4+(h*56|0)+36|0;a[(a[g>>0]&31)+(c+4+(h*56|0)+4)>>0]=f&31;a[g>>0]=(a[g>>0]|0)+1&31;return}case -64:{b[c+4+(h*56|0)+38>>1]=f&31;return}case -128:{g=c+4+(h*56|0)+36|0;a[(a[g>>0]&31)+(c+4+(h*56|0)+4)>>0]=f&31;a[g>>0]=(a[g>>0]|0)+1&31;return}default:return}case 7:{a[c+4+(h*56|0)+40>>0]=f;return}case 8:{a[c+2>>0]=f;return}case 9:{a[c+3>>0]=f;return}default:return}while(0)}function qo(b,c){b=b|0;c=c|0;a[b+56>>0]=c&1;a[b+112>>0]=c>>>1&1;a[b+168>>0]=c>>>2&1;a[b+224>>0]=c>>>3&1;a[b+280>>0]=c>>>4&1;a[b+336>>0]=c>>>5&1;return}function ro(b,d,e){b=b|0;d=d|0;e=e|0;b=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{jo(c[b>>2]|0,d,e);return}case 0:{so(c[b>>2]|0,d,e);return}default:return}}function so(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;if((e|0)<=0)return;z=b+24|0;A=b+1496|0;B=b+1528|0;q=b+1580|0;r=b+1608|0;s=b+208|0;t=b+236|0;v=b+372|0;w=b+16|0;x=b+188|0;y=b+1572|0;p=b+1600|0;n=c[d>>2]|0;o=0;m=c[d+4>>2]|0;while(1){k=0;i=0;l=0;do{do if(a[z+(l*184|0)+4>>0]|0){if((l|0)==1?c[q>>2]|0:0)break;if(!(a[r+l>>0]|0)){if(a[z+(l*184|0)+5>>0]|0){g=c[z+(l*184|0)+160>>2]|0;j=M(c[z+(l*184|0)+20>>2]|0,g)|0;g=M(c[z+(l*184|0)+24>>2]|0,g)|0;k=g+k+(g>>3)+(g>>4)+(g>>5)+(g>>7)+(g>>12)+(g>>14)+(g>>15)|0;i=j+i+(j>>3)+(j>>4)+(j>>5)+(j>>7)+(j>>12)+(j>>14)+(j>>15)|0;break}if(a[z+(l*184|0)+172>>0]|0){g=z+(l*184|0)+164|0;j=c[g>>2]|0;b=c[1188064+(j>>>17<<2)>>2]|0;d=M(c[z+(l*184|0)+20>>2]|0,b)|0;if(!(c[z+(l*184|0)+176>>2]|0)){D=M(c[z+(l*184|0)+24>>2]|0,b)|0;f=(d>>1)+(d>>12)+(d>>14)|0;b=(D>>1)+(D>>12)|0;d=D>>14}else{D=M(c[z+(l*184|0)+24>>2]|0,b)|0;f=(d>>11)+d+(d>>14)+(d>>15)|0;b=(D>>11)+D+(D>>14)|0;d=D>>15}c[g>>2]=(c[z+(l*184|0)+180>>2]|0)+j;k=b+d+k|0;i=f+i|0;break}d=c[z+(l*184|0)+168>>2]|0;if(d){f=z+(l*184|0)+164|0;g=c[f>>2]|0;b=c[z+(l*184|0)+28+(g>>>27<<2)>>2]|0;b=b-((c[z+(l*184|0)>>2]|0)>>>0<128?b>>2:0)|0;i=(M(b,c[z+(l*184|0)+20>>2]|0)|0)+i|0;b=(M(b,c[z+(l*184|0)+24>>2]|0)|0)+k|0;if((l|0)==0?(u=c[q>>2]|0,u|0):0){k=c[v>>2]|0;E=+h[w>>3]*134217728.0;c[x>>2]=(c[x>>2]|0)+(~~(E/+(((c[z>>2]|0)+(c[t+(k>>>27<<2)>>2]<<(u<<1)+-2)|0)>>>0)+.5)>>>0);c[v>>2]=k+(~~(E/+((M(c[y>>2]|0,c[s>>2]|0)|0)>>>0)+.5)>>>0);k=b;break}c[f>>2]=g+d;k=b}}}while(0);d=A+(l<<2)|0;b=c[d>>2]|0;if((b|0)<=0)if((b|0)<0){b=b+1|0;C=24}else b=0;else{b=b+-1|0;C=24}if((C|0)==24){C=0;c[d>>2]=b}f=B+(l<<2)|0;d=c[f>>2]|0;if((d|0)<=0)if((d|0)<0){d=d+1|0;C=29}else d=0;else{d=d+-1|0;C=29}if((C|0)==29){C=0;c[f>>2]=d}i=b+i|0;k=d+k|0;l=l+1|0}while((l|0)!=6);E=+h[p>>3];c[n>>2]=~~(E*+(i|0));c[m>>2]=~~(E*+(k|0));o=o+1|0;if((o|0)==(e|0))break;else{n=n+4|0;m=m+4|0}}return}function to(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{b=d>>>4&134217727;g=a[3432185]|0;f=c[857788]|0;b=g<<24>>24==2|(g&1)!=0&(b|0)<(f|0)?f:b;d=ko(d,b)|0;c[e>>2]=d;if(!d){g=0;return g|0}break}case 0:{b=c[857782]|0;g=uo(d,b)|0;c[e>>2]=g;if(!g){g=0;return g|0}break}default:b=0}g=b;return g|0}function uo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0;e=ex(1640)|0;if(!e){f=0;return f|0}f=e+8|0;h[f>>3]=+(b&2147483647|0);vo(e,b>>>31&255);b=e+1588|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;wo(e);xo(e);if(!(a[3432171]|0)){yo();zo();a[3432171]=1}g=+(d|0);h[e>>3]=g;h[e+16>>3]=+h[f>>3]/g;f=e;return f|0}function vo(b,c){b=b|0;c=c|0;a[b+1633>>0]=c;return}function wo(a){a=a|0;h[a+1592>>3]=.007627765064836002;Ao(a);return}function xo(b){b=b|0;var d=0;c[b+1580>>2]=0;a[b+1632>>0]=0;nz(b+24|0,0,1552)|0;d=0;do{c[b+24+(d*184|0)+28>>2]=-14;c[b+24+(d*184|0)+32>>2]=-14;c[b+24+(d*184|0)+36>>2]=-14;c[b+24+(d*184|0)+40>>2]=-14;c[b+24+(d*184|0)+44>>2]=-14;c[b+24+(d*184|0)+48>>2]=-14;c[b+24+(d*184|0)+52>>2]=-14;c[b+24+(d*184|0)+56>>2]=-14;c[b+24+(d*184|0)+60>>2]=-14;c[b+24+(d*184|0)+64>>2]=-14;c[b+24+(d*184|0)+68>>2]=-14;c[b+24+(d*184|0)+72>>2]=-14;c[b+24+(d*184|0)+76>>2]=-14;c[b+24+(d*184|0)+80>>2]=-14;c[b+24+(d*184|0)+84>>2]=-14;c[b+24+(d*184|0)+88>>2]=-14;c[b+24+(d*184|0)+92>>2]=-14;c[b+24+(d*184|0)+96>>2]=-14;c[b+24+(d*184|0)+100>>2]=-14;c[b+24+(d*184|0)+104>>2]=-14;c[b+24+(d*184|0)+108>>2]=-14;c[b+24+(d*184|0)+112>>2]=-14;c[b+24+(d*184|0)+116>>2]=-14;c[b+24+(d*184|0)+120>>2]=-14;c[b+24+(d*184|0)+124>>2]=-14;c[b+24+(d*184|0)+128>>2]=-14;c[b+24+(d*184|0)+132>>2]=-14;c[b+24+(d*184|0)+136>>2]=-14;c[b+24+(d*184|0)+140>>2]=-14;c[b+24+(d*184|0)+144>>2]=-14;c[b+24+(d*184|0)+148>>2]=-14;c[b+24+(d*184|0)+152>>2]=-14;d=d+1|0}while((d|0)!=6);c[b+604>>2]=17;c[b+608>>2]=17;c[b+612>>2]=17;c[b+616>>2]=17;c[b+620>>2]=17;c[b+624>>2]=17;c[b+628>>2]=17;c[b+632>>2]=17;c[b+636>>2]=17;c[b+640>>2]=17;c[b+644>>2]=17;c[b+648>>2]=17;c[b+652>>2]=17;c[b+656>>2]=17;c[b+660>>2]=17;c[b+664>>2]=17;c[b+668>>2]=17;c[b+672>>2]=17;c[b+676>>2]=17;c[b+680>>2]=17;c[b+684>>2]=17;c[b+688>>2]=17;c[b+692>>2]=17;c[b+696>>2]=17;c[b+700>>2]=17;c[b+704>>2]=17;c[b+708>>2]=17;c[b+712>>2]=17;c[b+716>>2]=17;c[b+720>>2]=17;c[b+724>>2]=17;c[b+728>>2]=17;return}function yo(){var a=0;c[329784]=0;a=1;do{c[1319136+(a<<2)>>2]=~~(+B(10.0,+(+(91-a|0)*-1.0580999901/20.0))*32768.0);a=a+1|0}while((a|0)!=92);return}function zo(){var a=0,b=0,d=0;b=0;a=256;while(1){d=a&1;a=a>>>1;c[1188064+(b<<2)>>2]=(d|0)==0?-1:-18;b=b+1|0;if((b|0)==32768)break;else a=(a&1^d)<<14|a}return}function Ao(a){a=a|0;var b=0.0,d=0;d=c[a+1588>>2]|0;do if(d){b=+h[a+1592>>3];if((d|0)==3){b=b/1.3333333333333333;break}else{b=b/+(d|0);break}}else b=.0078125;while(0);h[a+1600>>3]=b;return}function Bo(b){b=b|0;b=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{mo(c[b>>2]|0);break}case 0:{Co(c[b>>2]|0);break}default:{}}c[b>>2]=0;return}function Co(a){a=a|0;fx(a);return}function Do(b){b=b|0;b=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{no(c[b>>2]|0);return}case 0:{Eo(c[b>>2]|0);return}default:return}}function Eo(a){a=a|0;var b=0,d=0;c[a+1564>>2]=0;c[a+1568>>2]=0;d=a+1496|0;b=a+1528|0;c[a+32>>2]=0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+216>>2]=0;c[a+228>>2]=0;c[a+232>>2]=0;c[a+400>>2]=0;c[a+412>>2]=0;c[a+416>>2]=0;c[a+584>>2]=0;c[a+596>>2]=0;c[a+600>>2]=0;c[a+768>>2]=0;c[a+780>>2]=0;c[a+784>>2]=0;c[a+952>>2]=0;c[a+964>>2]=0;c[a+968>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function Fo(b,d,e){b=b|0;d=d|0;e=e|0;b=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{oo(c[b>>2]|0,d,e);return}case 0:{Go(c[b>>2]|0,d,e);return}default:return}}function Go(a,b,c){a=a|0;b=b|0;c=c|0;Ho(a,b&255,c);return}function Ho(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0;a[(d&15)+(b+1616)>>0]=e;do switch(d&15){case 0:{c[b+1560>>2]=e&7;return}case 1:{i=e&255;f=i>>>4;j=b+1564|0;c[j>>2]=f;i=i&15;k=b+1568|0;c[k>>2]=i;e=c[b+32>>2]|0;c[b+44>>2]=c[1319136+(((c[b+36>>2]|0)+f<<1)+e<<2)>>2];c[b+48>>2]=c[1319136+(((c[b+40>>2]|0)+i<<1)+e<<2)>>2];e=c[b+216>>2]|0;c[b+228>>2]=c[1319136+(((c[b+220>>2]|0)+f<<1)+e<<2)>>2];c[b+232>>2]=c[1319136+(((c[b+224>>2]|0)+i<<1)+e<<2)>>2];e=c[b+400>>2]|0;c[b+412>>2]=c[1319136+(((c[b+404>>2]|0)+f<<1)+e<<2)>>2];c[b+416>>2]=c[1319136+(((c[b+408>>2]|0)+i<<1)+e<<2)>>2];e=c[b+584>>2]|0;c[b+596>>2]=c[1319136+(((c[b+588>>2]|0)+f<<1)+e<<2)>>2];c[b+600>>2]=c[1319136+(((c[b+592>>2]|0)+i<<1)+e<<2)>>2];e=c[b+768>>2]|0;c[b+780>>2]=c[1319136+(((c[b+772>>2]|0)+f<<1)+e<<2)>>2];c[b+784>>2]=c[1319136+(((c[b+776>>2]|0)+i<<1)+e<<2)>>2];e=c[b+952>>2]|0;c[b+964>>2]=c[1319136+(((c[b+956>>2]|0)+(c[j>>2]|0)<<1)+e<<2)>>2];c[b+968>>2]=c[1319136+(((c[b+960>>2]|0)+(c[k>>2]|0)<<1)+e<<2)>>2];return}case 2:{f=c[b+1560>>2]|0;k=b+24+(f*184|0)|0;d=c[k>>2]&-256|e&255;c[k>>2]=d;d=d+4095&4095;if(!d){c[b+24+(f*184|0)+168>>2]=0;return}else{c[b+24+(f*184|0)+168>>2]=~~(+h[b+16>>3]*134217728.0/+(d>>>0)+.5)>>>0;return}}case 3:{f=c[b+1560>>2]|0;k=b+24+(f*184|0)|0;d=c[k>>2]&-3841|(e&15)<<8;c[k>>2]=d;d=d+4095&4095;if(!d){c[b+24+(f*184|0)+168>>2]=0;return}else{c[b+24+(f*184|0)+168>>2]=~~(+h[b+16>>3]*134217728.0/+(d>>>0)+.5)>>>0;return}}case 4:{f=b+1560|0;i=c[f>>2]|0;d=b+24+(i*184|0)+4|0;if(a[b+1633>>0]|0?e<<24>>24==0&(a[d>>0]|0)!=0:0){if(!(c[b+1564>>2]&1))c[b+24+(i*184|0)+12>>2]=0;if(!(c[b+1568>>2]&1))c[b+24+(i*184|0)+16>>2]=0}j=e&255;a[d>>0]=(e&255)>>>7;d=b+24+(i*184|0)+5|0;if((j&64|0)==0&(a[d>>0]|0)!=0){e=b+24+(i*184|0)+160|0;l=~~(+(M(c[b+24+(i*184|0)+20>>2]|0,c[e>>2]|0)|0)*.305998999951);c[b+1496+(c[f>>2]<<2)>>2]=l;e=~~(+(M(c[b+24+(i*184|0)+24>>2]|0,c[e>>2]|0)|0)*.305998999951);c[b+1528+(c[f>>2]<<2)>>2]=e}a[d>>0]=j>>>6&1;if((j&192|0)==64?(c[b+24+(i*184|0)+156>>2]=0,k=b+1632|0,a[k>>0]|0):0){c[b+24+(i*184|0)+28>>2]=-14;c[b+24+(i*184|0)+32>>2]=-14;c[b+24+(i*184|0)+36>>2]=-14;c[b+24+(i*184|0)+40>>2]=-14;c[b+24+(i*184|0)+44>>2]=-14;c[b+24+(i*184|0)+48>>2]=-14;c[b+24+(i*184|0)+52>>2]=-14;c[b+24+(i*184|0)+56>>2]=-14;c[b+24+(i*184|0)+60>>2]=-14;c[b+24+(i*184|0)+64>>2]=-14;c[b+24+(i*184|0)+68>>2]=-14;c[b+24+(i*184|0)+72>>2]=-14;c[b+24+(i*184|0)+76>>2]=-14;c[b+24+(i*184|0)+80>>2]=-14;c[b+24+(i*184|0)+84>>2]=-14;c[b+24+(i*184|0)+88>>2]=-14;c[b+24+(i*184|0)+92>>2]=-14;c[b+24+(i*184|0)+96>>2]=-14;c[b+24+(i*184|0)+100>>2]=-14;c[b+24+(i*184|0)+104>>2]=-14;c[b+24+(i*184|0)+108>>2]=-14;c[b+24+(i*184|0)+112>>2]=-14;c[b+24+(i*184|0)+116>>2]=-14;c[b+24+(i*184|0)+120>>2]=-14;c[b+24+(i*184|0)+124>>2]=-14;c[b+24+(i*184|0)+128>>2]=-14;c[b+24+(i*184|0)+132>>2]=-14;c[b+24+(i*184|0)+136>>2]=-14;c[b+24+(i*184|0)+140>>2]=-14;c[b+24+(i*184|0)+144>>2]=-14;c[b+24+(i*184|0)+148>>2]=-14;c[b+24+(i*184|0)+152>>2]=-14;a[k>>0]=0}l=j&31;c[b+24+(i*184|0)+8>>2]=l;c[b+24+(i*184|0)+20>>2]=c[1319136+(((c[b+24+(i*184|0)+12>>2]|0)+(c[b+1564>>2]|0)<<1)+l<<2)>>2];c[b+24+(i*184|0)+24>>2]=c[1319136+(((c[b+24+(i*184|0)+16>>2]|0)+(c[b+1568>>2]|0)<<1)+l<<2)>>2];return}case 5:{l=c[b+1560>>2]|0;k=e&255;j=k>>>4;c[b+24+(l*184|0)+12>>2]=j;k=k&15;c[b+24+(l*184|0)+16>>2]=k;e=c[b+24+(l*184|0)+8>>2]|0;c[b+24+(l*184|0)+20>>2]=c[1319136+(((c[b+1564>>2]|0)+j<<1)+e<<2)>>2];c[b+24+(l*184|0)+24>>2]=c[1319136+(((c[b+1568>>2]|0)+k<<1)+e<<2)>>2];return}case 6:{j=c[b+1560>>2]|0;d=e&31;f=b+1632|0;a[f>>0]=0;i=b+24+(j*184|0)+4|0;if(!(a[i>>0]|0)){l=b+24+(j*184|0)+156|0;e=c[l>>2]|0;c[l>>2]=e+1;c[b+24+(j*184|0)+28+(e<<2)>>2]=17-(d&255);c[l>>2]=c[l>>2]&31}if(!(a[b+24+(j*184|0)+5>>0]|0))return;c[b+24+(j*184|0)+160>>2]=11-(((d&255)>6?d:6)&255);if(a[i>>0]|0)return;a[f>>0]=1;return}case 7:{f=c[b+1560>>2]|0;if(f>>>0<=3)return;a[b+24+(f*184|0)+172>>0]=(e&255)>>>7;d=e&31^31;c[b+24+(f*184|0)+176>>2]=d&255;g=+h[b+16>>3]*2048.0;if(!(d<<24>>24)){c[b+24+(f*184|0)+180>>2]=~~(g+.5)>>>0;return}else{c[b+24+(f*184|0)+180>>2]=~~(g/+(d&255)+.5)>>>0;return}}case 8:{c[b+1572>>2]=e&255;return}case 9:{d=e&255;if(!(d&128)){e=d&7;l=b+1580|0;b=d&4;b=(b|0)==0;b=b?e:0;c[l>>2]=b;return}c[b+372>>2]=0;e=d&7;l=b+1580|0;b=d&4;b=(b|0)==0;b=b?e:0;c[l>>2]=b;return}default:return}while(0)}function Io(b){b=b|0;a[3432170]=(b&255)<2?b:0;return}function Jo(b,d){b=b|0;d=d|0;b=3431068+((b&255)<<2)|0;switch(a[3432170]|0){case 1:{qo(c[b>>2]|0,d);return}case 0:{Ko(c[b>>2]|0,d);return}default:return}}function Ko(a,b){a=a|0;b=b|0;Lo(a,0,b&1);Lo(a,1,b>>>1&1);Lo(a,2,b>>>2&1);Lo(a,3,b>>>3&1);Lo(a,4,b>>>4&1);Lo(a,5,b>>>5&1);return}function Lo(b,d,e){b=b|0;d=d|0;e=e|0;a[b+1608+d>>0]=e;if(!(e<<24>>24))return;c[b+1496+(d<<2)>>2]=0;c[b+1528+(d<<2)>>2]=0;return}function Mo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=b&255;q=1319504+(u*56|0)|0;v=1319504+(u*56|0)+32|0;if((a[v>>0]&-127)<<24>>24!=1)return;t=1319504+(u*56|0)+33|0;r=1319504+(u*56|0)+52|0;b=a[r>>0]|0;if(!(a[t>>0]|0))p=b&255;else p=0-(b&255)&65535;s=1319504+(u*56|0)+36|0;o=c[s>>2]|0;a:do if(e>>>0>32){g=b&255;i=M(e+-16+o|0,g)|0;f=c[1319504+(u*56|0)+8>>2]|0;b=c[857782]|0;i=No(i,f,b)|0;j=1319504+(u*56|0)+40|0;n=1319504+(u*56|0)+44|0;h=c[n>>2]|0;if(h){k=p<<16>>16;l=1319504+(u*56|0)+48|0;m=c[j>>2]|0;do{if(m>>>0>=i>>>0)break a;m=m+g|0;c[j>>2]=m;c[l>>2]=(c[l>>2]|0)+k;h=h+-1|0;c[n>>2]=h}while((h|0)!=0)}}else{g=b&255;n=1319504+(u*56|0)+44|0;f=c[1319504+(u*56|0)+8>>2]|0;b=c[857782]|0}while(0);i=o+e|0;c[s>>2]=i;i=No(M(i,g)|0,f,b)|0;Oo(q);b:do if(!(c[n>>2]|0))f=a[v>>0]|0;else{j=1319504+(u*56|0)+40|0;b=p<<16>>16;g=1319504+(u*56|0)+48|0;h=c[j>>2]|0;while(1){if(h>>>0>=i>>>0)break;Oo(q);h=(c[j>>2]|0)+(d[r>>0]|0)|0;c[j>>2]=h;c[g>>2]=(c[g>>2]|0)+b;f=a[v>>0]&-17;a[v>>0]=f;p=(c[n>>2]|0)+-1|0;c[n>>2]=p;if(!p)break b}return}while(0);if(f&4){g=c[1319504+(u*56|0)+28>>2]|0;c[n>>2]=g;c[s>>2]=0;c[1319504+(u*56|0)+40>>2]=0;if(!(a[t>>0]|0))b=0;else b=M(g+-1|0,d[r>>0]|0)|0;c[1319504+(u*56|0)+48>>2]=b;if(g|0)return}a[v>>0]=f&-2;return}function No(a,b,c){a=a|0;b=b|0;c=c|0;b=gz(b|0,0,a|0,0)|0;b=az(b|0,x|0,c>>>1|0,0)|0;c=hz(b|0,x|0,c|0,0)|0;return c|0}function Oo(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+32|0;if(a[k>>0]&16)return;f=(c[e+48>>2]|0)+(c[e+20>>2]|0)|0;if(f>>>0>=(c[e+12>>2]|0)>>>0)return;j=(c[e+16>>2]|0)+f|0;f=a[e>>0]|0;a:do switch(f<<24>>24){case 2:{i=b[e+2>>1]|0;dw(2,a[e+1>>0]|0,(i&65535)>>>8&255,i&255,a[j>>0]|0);break}case 17:{dw(17,a[e+1>>0]|0,b[e+2>>1]&15,a[j+1>>0]&15,a[j>>0]|0);break}case 0:{f=b[e+2>>1]&240;g=d[j>>0]|0;h=g&15;if(!(f&16)){j=(g>>>4|a[j+1>>0]<<4&48)&255;i=e+1|0;dw(0,a[i>>0]|0,0,0,(h|f)&255);dw(a[e>>0]|0,a[i>>0]|0,0,0,j);break a}else{dw(0,a[e+1>>0]|0,0,0,(h|f)&255);break a}}case 24:{f=b[e+2>>1]|0;g=f&255;i=a[j>>0]|0;if(g<<24>>24){dw(24,a[e+1>>0]|0,0,g,i);break a}f=(f&65535)>>>8;g=e+1|0;h=a[g>>0]|0;if(i<<24>>24<0){dw(24,h,0,0,i);dw(a[e>>0]|0,a[g>>0]|0,0,0,f<<4&255);break a}else{dw(24,h,0,0,f<<3&120);break a}}case 30:case 29:case 23:case 22:case 20:case 19:case 18:case 15:case 11:case 10:case 9:case 6:case 3:case 1:{dw(f,a[e+1>>0]|0,0,b[e+2>>1]&255,a[j>>0]|0);break}case 28:case 26:case 25:case 14:case 13:case 12:case 8:case 7:{i=b[e+2>>1]|0;dw(f,a[e+1>>0]|0,(i&65535)>>>8&255,i&255,a[j>>0]|0);break}case 27:case 16:case 5:{i=b[e+2>>1]|0;g=(i&65535)>>>8;h=a[j>>0]|0;if(g<<16>>16==255)g=e+1|0;else{j=e+1|0;dw(f,a[j>>0]|0,0,(i&65535)>>>4&15,g&255);g=j;f=a[e>>0]|0}dw(f,a[g>>0]|0,0,i&15,h);break}case 31:{dw(31,a[e+1>>0]|0,a[j>>0]|0,a[j+1>>0]|0,b[e+2>>1]&255);break}default:{}}while(0);a[k>>0]=a[k>>0]|16;return}function Po(c){c=c|0;var d=0;d=c&255;if(c<<24>>24==-1)return;a[1319504+(d*56|0)>>0]=-1;a[1319504+(d*56|0)+1>>0]=0;b[1319504+(d*56|0)+2>>1]=0;a[1319504+(d*56|0)+32>>0]=-1;return}function Qo(b){b=b|0;a[1319504+((b&255)*56|0)+32>>0]=-1;return}function Ro(d){d=d|0;var e=0,f=0;d=d&255;f=1319504+(d*56|0)|0;e=1319504+(d*56|0)+8|0;a[1319504+(d*56|0)+32>>0]=0;a[1319504+(d*56|0)+33>>0]=0;d=1319504+(d*56|0)+36|0;c[f>>2]=0;a[f+4>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b[e+16>>1]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=0;return}function So(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0;h=c&255;a[1319504+(h*56|0)>>0]=e;a[1319504+(h*56|0)+1>>0]=f;b[1319504+(h*56|0)+2>>1]=g;a:do switch(e<<24>>24){case 0:{c=1319504+(h*56|0)+4|0;if(!(g&16)){a[c>>0]=2;c=2;break a}else{a[c>>0]=1;c=1;break a}}case 2:{a[1319504+(h*56|0)+4>>0]=1;c=1;break}case 31:case 17:{a[1319504+(h*56|0)+4>>0]=2;c=2;break}default:{a[1319504+(h*56|0)+4>>0]=1;c=1}}while(0);a[1319504+(h*56|0)+52>>0]=M(c,d[1319504+(h*56|0)+24>>0]|0)|0;return}function To(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=b&255;if((a[1319504+(b*56|0)+32>>0]|0)<0)return;i=(e|0)!=0&(f|0)!=0;c[1319504+(b*56|0)+12>>2]=i?f:0;c[1319504+(b*56|0)+16>>2]=i?e:0;g=g<<24>>24==0?1:g;a[1319504+(b*56|0)+24>>0]=g;a[1319504+(b*56|0)+25>>0]=h;a[1319504+(b*56|0)+52>>0]=M(d[1319504+(b*56|0)+4>>0]|0,g&255)|0;return}function Uo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;if((a[1319504+(b*56|0)+32>>0]|0)<0)return;f=(d|0)!=0&(e|0)!=0;c[1319504+(b*56|0)+12>>2]=f?e:0;c[1319504+(b*56|0)+16>>2]=f?d:0;return}function Vo(b,d){b=b|0;d=d|0;b=b&255;if((a[1319504+(b*56|0)+32>>0]|0)<0)return;c[1319504+(b*56|0)+8>>2]=d;return}function Wo(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=b&255;i=1319504+(h*56|0)+32|0;j=a[i>>0]|0;if(j<<24>>24<0)return;b=M(d[1319504+(h*56|0)+25>>0]|0,d[1319504+(h*56|0)+4>>0]|0)|0;if((e|0)!=-1){e=b+e|0;k=c[1319504+(h*56|0)+12>>2]|0;c[1319504+(h*56|0)+20>>2]=e>>>0>k>>>0?k:e}e=f&255;switch(f&15){case 0:{b=c[1319504+(h*56|0)+28>>2]|0;break}case 1:{c[1319504+(h*56|0)+28>>2]=g;b=g;break}case 2:{b=((g*1e3|0)>>>0)/((c[1319504+(h*56|0)+8>>2]|0)>>>0)|0;c[1319504+(h*56|0)+28>>2]=b;break}case 3:{b=(((c[1319504+(h*56|0)+12>>2]|0)+b-(c[1319504+(h*56|0)+20>>2]|0)|0)>>>0)/((d[1319504+(h*56|0)+52>>0]|0)>>>0)|0;c[1319504+(h*56|0)+28>>2]=b;break}case 15:{b=(g>>>0)/((d[1319504+(h*56|0)+52>>0]|0)>>>0)|0;c[1319504+(h*56|0)+28>>2]=b;break}default:{c[1319504+(h*56|0)+28>>2]=0;b=0}}k=e>>>4&1;a[1319504+(h*56|0)+33>>0]=k;c[1319504+(h*56|0)+44>>2]=b;c[1319504+(h*56|0)+36>>2]=0;c[1319504+(h*56|0)+40>>2]=0;if(!(k<<24>>24))b=0;else b=M(b+-1|0,d[1319504+(h*56|0)+52>>0]|0)|0;c[1319504+(h*56|0)+48>>2]=b;a[i>>0]=e>>>5&4|j&-22&255|1;return}function Xo(b){b=b|0;var c=0;b=1319504+((b&255)*56|0)+32|0;c=d[b>>0]|0;if(c&128|0)return;a[b>>0]=c&254;return}function Yo(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;b=b&255;e=1333792+(b*18624|0)|0;if(c>>>0<32){if((c|0)!=22?(a[1333792+(b*18624|0)+18564>>0]|0)==0:0)return;Zo(e,c,d);return}else{if(c>>>0>=48)return;a[1333792+(b*18624|0)+18575+c>>0]=d;return}}function Zo(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=e+18575+f|0;a[h>>0]=g;do switch(f|0){case 0:{h=g&255;c[e+18292>>2]=h&7;g=h>>>3&1;c[e+18296>>2]=g+-1|g;c[e+18300>>2]=c[e+36+((h>>>4&7)<<2)>>2];return}case 1:{a[e+18265>>0]=(g&255)>>>6;c[e+18248>>2]=c[e+16964+((g&63)<<2)>>2];return}case 2:{h=g&255;c[e+18268>>2]=h>>>4;g=h>>>3&1;a[e+18272>>0]=g+255|g;c[e+18276>>2]=c[e+4+((h&7)<<2)>>2];return}case 3:{h=(a[e+18579>>0]&7)<<8|d[e+18578>>0];c[e+18288>>2]=h;c[e+18256>>2]=c[e+68+(h<<2)>>2];return}case 4:{h=g&255;a[e+18264>>0]=h>>>6&1;g=(a[e+18579>>0]&7)<<8|d[e+18578>>0];c[e+18288>>2]=g;c[e+18256>>2]=c[e+68+(g<<2)>>2];if(!(h&128))return;f=e+18244|0;if(!(a[f>>0]|0))c[e+18252>>2]=0;a[f>>0]=1;c[e+18260>>2]=0;c[e+18268>>2]=(d[e+18577>>0]|0)>>>4;c[e+18280>>2]=0;c[e+18304>>2]=0;a[e+18284>>0]=1;e=e+18597|0;a[e>>0]=a[e>>0]|1;return}case 6:{a[e+18345>>0]=(g&255)>>>6;c[e+18328>>2]=c[e+16964+((g&63)<<2)>>2];return}case 7:{f=g&255;g=f>>>3&1;i=g&255;h=e+18352|0;a[h>>0]=i;if(!(i<<24>>24))c[e+18348>>2]=f>>>4;else{i=e+18348|0;j=c[i>>2]|0;c[i>>2]=(j|0)>14?0:j+1|0}a[h>>0]=g+255|g;c[e+18356>>2]=c[e+4+((f&7)<<2)>>2];return}case 8:{c[e+18336>>2]=c[e+68+(((a[e+18584>>0]&7)<<8|d[e+18583>>0])<<2)>>2];return}case 9:{j=g&255;a[e+18344>>0]=j>>>6&1;c[e+18336>>2]=c[e+68+(((a[e+18584>>0]&7)<<8|d[e+18583>>0])<<2)>>2];if(!(j&128))return;f=e+18324|0;if(!(a[f>>0]|0))c[e+18332>>2]=0;a[f>>0]=1;c[e+18340>>2]=0;c[e+18348>>2]=(d[e+18582>>0]|0)>>>4;c[e+18360>>2]=0;a[e+18364>>0]=1;j=e+18597|0;a[j>>0]=a[j>>0]|2;return}case 10:{a[e+18404>>0]=(g&255)>>>7;return}case 11:{c[e+18408>>2]=c[e+17220+((g&255)<<2)>>2];return}case 12:{a[e+18468>>0]=(g&255)>>>5&3;return}case 13:{c[e+18416>>2]=c[e+8260+(((a[e+18589>>0]&7)<<8|d[e+18588>>0])<<2)>>2];return}case 14:{j=g&255;a[e+18424>>0]=j>>>6&1;c[e+18416>>2]=c[e+8260+(((a[e+18589>>0]&7)<<8|d[e+18588>>0])<<2)>>2];if(!(j&128))return;g=e+18404|0;if(!(a[g>>0]|0)){c[e+18412>>2]=0;a[e+18469>>0]=0;f=e+18425|0;a[f>>0]=0}else f=e+18425|0;a[g>>0]=1;c[e+18420>>2]=0;a[f>>0]=1;c[e+18472>>2]=0;j=e+18597|0;a[j>>0]=a[j>>0]|4;return}case 16:{c[e+18488>>2]=c[e+16964+((g&63)<<2)>>2];return}case 17:{j=g&255;c[e+18508>>2]=j>>>4;i=j>>>3&1;a[e+18512>>0]=i+255|i;c[e+18516>>2]=c[e+4+((j&7)<<2)>>2];return}case 18:{j=g&255;c[e+18496>>2]=c[e+16452+((j&7)<<6)+(j>>>4<<2)>>2];c[e+18556>>2]=j>>>3&1;return}case 19:{j=g&255;a[e+18504>>0]=j>>>6&1;if(!(j&128))return;f=e+18484|0;if(!(a[f>>0]|0))c[e+18492>>2]=0;a[f>>0]=1;c[e+18500>>2]=0;c[e+18508>>2]=(d[e+18592>>0]|0)>>>4;c[e+18520>>2]=0;a[e+18524>>0]=Qy()|0;b[e+18560>>1]=32767;j=e+18597|0;a[j>>0]=a[j>>0]|8;return}case 20:{j=g&255;a[e+18565>>0]=j&7;a[e+18566>>0]=j>>>4&7;return}case 21:{j=g&255;a[e+18568>>0]=j&1;a[e+18567>>0]=j>>>4&1;a[e+18570>>0]=j>>>1&1;a[e+18569>>0]=j>>>5&1;a[e+18572>>0]=j>>>2&1;a[e+18571>>0]=j>>>6&1;a[e+18574>>0]=j>>>3&1;a[e+18573>>0]=(g&255)>>>7;return}case 22:{j=(g&255)>>>7;a[e+18564>>0]=j;if(!(j<<24>>24)){Zo(e,0,-128);Zo(e,1,63);Zo(e,2,0);Zo(e,3,-2);Zo(e,4,-65);Zo(e,6,63);Zo(e,7,0);Zo(e,8,-1);Zo(e,9,-65);Zo(e,10,127);Zo(e,11,-1);Zo(e,12,-97);Zo(e,13,-1);Zo(e,14,-65);Zo(e,16,-1);Zo(e,17,0);Zo(e,18,0);Zo(e,19,-65);Zo(e,20,0);Zo(e,21,0);a[e+18244>>0]=0;a[e+18324>>0]=0;a[e+18404>>0]=0;a[e+18484>>0]=0;a[h>>0]=0;return}else return}default:return}while(0)}function _o(e,f,h){e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;N=e&255;if((h|0)<=0){Fa=1333792+(N*18624|0)+18244|0;Ea=1333792+(N*18624|0)+18324|0;Ga=1333792+(N*18624|0)+18404|0;Ha=1333792+(N*18624|0)+18484|0;Ia=1333792+(N*18624|0)+18597|0;Da=a[Ia>>0]|0;Da=Da&-16;Fa=a[Fa>>0]|0;Fa=Da|Fa;Fa=Fa&255;Ea=a[Ea>>0]|0;Ea=Ea&255;Ea=Ea<<1;Fa=Ea|Fa;Ga=a[Ga>>0]|0;Ga=Ga&255;Ga=Ga<<2;Ga=Fa|Ga;Ha=a[Ha>>0]|0;Ha=Ha&255;Ha=Ha<<3;Ha=Ga|Ha;Ha=Ha&255;a[Ia>>0]=Ha;return}l=1333792+(N*18624|0)+18244|0;k=1333792+(N*18624|0)+18324|0;v=1333792+(N*18624|0)+18322|0;j=1333792+(N*18624|0)+18404|0;w=1333792+(N*18624|0)+18402|0;x=1333792+(N*18624|0)+18284|0;y=1333792+(N*18624|0)+18268|0;z=(a[45621]|0)==0;A=1333792+(N*18624|0)+18252|0;i=1333792+(N*18624|0)+18484|0;B=1333792+(N*18624|0)+18482|0;C=1333792+(N*18624|0)+18364|0;D=1333792+(N*18624|0)+18348|0;E=1333792+(N*18624|0)+18332|0;F=1333792+(N*18624|0)+18256|0;G=1333792+(N*18624|0)+18265|0;H=1333792+(N*18624|0)+18248|0;I=1333792+(N*18624|0)+18565|0;J=1333792+(N*18624|0)+18566|0;K=1333792+(N*18624|0)+18562|0;L=1333792+(N*18624|0)+18469|0;O=(a[3432172]|0)!=0&1;P=1333792+(N*18624|0)+18468|0;Q=1333792+(N*18624|0)+18412|0;R=1333792+(N*18624|0)+18336|0;S=1333792+(N*18624|0)+18345|0;T=1333792+(N*18624|0)+18328|0;U=1333792+(N*18624|0)+18276|0;V=1333792+(N*18624|0)+18264|0;W=1333792+(N*18624|0)+18524|0;X=1333792+(N*18624|0)+18508|0;Y=(a[3432173]|0)==0&1;Z=1333792+(N*18624|0)+18492|0;_=1333792+(N*18624|0)+18496|0;$=1333792+(N*18624|0)+18416|0;aa=1333792+(N*18624|0)+18425|0;ba=1333792+(N*18624|0)+18408|0;ca=1333792+(N*18624|0)+18356|0;da=1333792+(N*18624|0)+18344|0;ea=1333792+(N*18624|0)+18300|0;fa=1333792+(N*18624|0)+18280|0;ga=1333792+(N*18624|0)+18260|0;e=1333792+(N*18624|0)+18597|0;ha=1333792+(N*18624|0)+18560|0;ia=1333792+(N*18624|0)+18556|0;ja=1333792+(N*18624|0)+18488|0;ka=1333792+(N*18624|0)+18472|0;la=1333792+(N*18624|0)+18571|0;ma=1333792+(N*18624|0)+18572|0;na=1333792+(N*18624|0)+18424|0;oa=1333792+(N*18624|0)+18569|0;pa=1333792+(N*18624|0)+18570|0;qa=1333792+(N*18624|0)+18360|0;ra=1333792+(N*18624|0)+18340|0;sa=1333792+(N*18624|0)+18567|0;ta=1333792+(N*18624|0)+18568|0;ua=1333792+(N*18624|0)+18304|0;va=1333792+(N*18624|0)+18272|0;wa=1333792+(N*18624|0)+18516|0;xa=1333792+(N*18624|0)+18504|0;ya=1333792+(N*18624|0)+18420|0;za=1333792+(N*18624|0)+18352|0;Aa=1333792+(N*18624|0)+18296|0;Ba=1333792+(N*18624|0)+18288|0;Ca=1333792+(N*18624|0)+18292|0;Da=1333792+(N*18624|0)+18573|0;Ea=1333792+(N*18624|0)+18574|0;Fa=1333792+(N*18624|0)+18520|0;Ga=1333792+(N*18624|0)+18500|0;Ha=1333792+(N*18624|0)+18512|0;u=c[f+4>>2]|0;t=c[f>>2]|0;while(1){s=h;h=h+-1|0;if((a[l>>0]|0)!=0?(a[v>>0]|0)==0:0){n=a[x>>0]|0;o=c[y>>2]|0;p=M(o,n<<24>>24)|0;f=c[A>>2]|0;do if(z){f=f+1|0;c[A>>2]=f;m=c[F>>2]|0;if((f|0)==(~~(+(m>>>0)/+g[31248+(a[G>>0]<<2)>>2])>>>0>>>16|0)){a[x>>0]=0-(n&255);break}if(f>>>0>m>>>16>>>0){c[A>>2]=0;a[x>>0]=0-(n&255)}}else{f=f+65536|0;c[A>>2]=f;m=c[F>>2]|0;if((f>>16|0)==(~~(+(m>>>0)/+g[31248+(a[G>>0]<<2)>>2])>>>0>>>16|0)){a[x>>0]=0-(n&255);break}if(f>>>0>=m>>>0){c[A>>2]=f-m;a[x>>0]=0-(n&255)}}while(0);f=c[H>>2]|0;if((f|0?a[V>>0]|0:0)?(r=(c[ga>>2]|0)+1|0,c[ga>>2]=r,(r|0)>=(f|0)):0){a[l>>0]=0;a[e>>0]=a[e>>0]&-2}f=c[U>>2]|0;if(f|0?(r=(c[fa>>2]|0)+1|0,c[fa>>2]=r,(r|0)>=(f|0)):0){c[fa>>2]=0;r=o+(a[va>>0]|0)|0;r=(r|0)>0?r:0;c[y>>2]=(r|0)<15?r:15}f=c[ea>>2]|0;if(f|0?(r=(c[ua>>2]|0)+1|0,c[ua>>2]=r,(r|0)>=(f|0)):0){c[ua>>2]=0;f=c[Ba>>2]|0;m=f>>>(c[Ca>>2]|0);if((c[Aa>>2]|0)>0){f=f-m|0;c[Ba>>2]=f;if(!f){a[l>>0]=0;a[e>>0]=a[e>>0]&-2;f=0}}else{f=m+f|0;f=f>>>0<2047?f:2047;c[Ba>>2]=f}c[F>>2]=c[1333792+(N*18624|0)+68+(f<<2)>>2]}m=(a[ta>>0]|0)==0?0:p;f=(a[sa>>0]|0)==0?0:p}else{m=0;f=0}if((a[k>>0]|0)!=0?(a[w>>0]|0)==0:0){p=a[C>>0]|0;q=c[D>>2]|0;r=M(q,p<<24>>24)|0;n=c[E>>2]|0;do if(z){n=n+1|0;c[E>>2]=n;o=c[R>>2]|0;if((n|0)==(~~(+(o>>>0)/+g[31248+(a[S>>0]<<2)>>2])>>>0>>>16|0)){a[C>>0]=0-(p&255);break}if(n>>>0>o>>>16>>>0){c[E>>2]=0;a[C>>0]=0-(p&255)}}else{n=n+65536|0;c[E>>2]=n;o=c[R>>2]|0;if((n>>16|0)==(~~(+(o>>>0)/+g[31248+(a[S>>0]<<2)>>2])>>>0>>>16|0)){a[C>>0]=0-(p&255);break}if(n>>>0>=o>>>0){c[E>>2]=n-o;a[C>>0]=0-(p&255)}}while(0);n=c[T>>2]|0;if((n|0?a[da>>0]|0:0)?(p=(c[ra>>2]|0)+1|0,c[ra>>2]=p,(p|0)>=(n|0)):0){a[k>>0]=0;a[e>>0]=a[e>>0]&-3}n=c[ca>>2]|0;if(n|0?(p=(c[qa>>2]|0)+1|0,c[qa>>2]=p,(p|0)>=(n|0)):0){c[qa>>2]=0;q=q+(a[za>>0]|0)|0;q=(q|0)>0?q:0;c[D>>2]=(q|0)<15?q:15}m=((a[pa>>0]|0)==0?0:r)+m|0;f=((a[oa>>0]|0)==0?0:r)+f|0}if((a[j>>0]|0)!=0?(a[B>>0]|0)==0:0){q=a[L>>0]|0;p=q&255;n=d[(p>>>1)+32+(1333792+(N*18624|0)+18575)>>0]|0;r=a[P>>0]|0;r=r<<24>>24==0?0:(((p&1|0)==0?n>>>4:n)&15)+-8<>(r<<24>>24)+-1;n=c[Q>>2]|0;if(z){p=n+1|0;c[Q>>2]=p;n=c[$>>2]|0;o=a[aa>>0]|0;if(p>>>0>=((n>>>21)+(o<<24>>24)|0)>>>0){c[Q>>2]=0;p=c[ka>>2]|0;if((p|0)==(n>>>16&31|0))a[aa>>0]=o+-1<<24>>24;c[ka>>2]=p+1;q=q+1<<24>>24;a[L>>0]=q;if((q&255)>31){a[L>>0]=0;a[aa>>0]=1;c[ka>>2]=0}}}else{n=n+2097152|0;c[Q>>2]=n;o=c[$>>2]|0;if(n>>>0>=o>>>0?(c[Q>>2]=n-o,c[ka>>2]=(c[ka>>2]|0)+1,q=q+1<<24>>24,a[L>>0]=q,(q&255)>31):0){a[L>>0]=0;c[ka>>2]=0}}n=c[ba>>2]|0;if((n|0?a[na>>0]|0:0)?(q=(c[ya>>2]|0)+1|0,c[ya>>2]=q,(q|0)>=(n|0)):0){a[j>>0]=0;a[e>>0]=a[e>>0]&-5}m=((a[ma>>0]|0)==0?0:r)+m|0;f=((a[la>>0]|0)==0?0:r)+f|0}if((a[i>>0]|0)!=0?(a[K>>0]|0)==0:0){p=c[X>>2]|0;q=(p&a[W>>0])-((p|0)/2|0)<>2]|0)+1|0;c[Z>>2]=n;o=c[_>>2]|0;if((n|0)!=(o>>>17|0)){if(n>>>0>o>>>16>>>0){c[Z>>2]=0;o=b[ha>>1]|0;Ia=o>>>1;n=Ia;o=Ia^o;Ia=71}}else{o=b[ha>>1]|0;Ia=o>>>1;n=Ia;o=Ia^o;Ia=71}if((Ia|0)==71){Ia=0;r=(c[ia>>2]|0)==0;r=((o&1)<<(r?14:6)|n)&(r?32767:127);b[ha>>1]=r;a[W>>0]=r}n=c[ja>>2]|0;if((n|0?a[xa>>0]|0:0)?(r=(c[Ga>>2]|0)+1|0,c[Ga>>2]=r,(r|0)>=(n|0)):0){a[i>>0]=0;a[e>>0]=a[e>>0]&-9}n=c[wa>>2]|0;if(n|0?(r=(c[Fa>>2]|0)+1|0,c[Fa>>2]=r,(r|0)>=(n|0)):0){c[Fa>>2]=0;r=p+(a[Ha>>0]|0)|0;r=(r|0)>0?r:0;c[X>>2]=(r|0)<15?r:15}m=((a[Ea>>0]|0)==0?0:q)+m|0;f=((a[Da>>0]|0)==0?0:q)+f|0}r=M(m<<6,d[J>>0]|0)|0;c[t>>2]=M(f<<6,d[I>>0]|0)|0;c[u>>2]=r;if((s|0)<=1)break;else{u=u+4|0;t=t+4|0}}Ha=a[e>>0]|0;Ha=Ha&-16;Ia=a[l>>0]|0;Ia=Ha|Ia;Ia=Ia&255;Ha=a[k>>0]|0;Ha=Ha&255;Ha=Ha<<1;Ia=Ha|Ia;Ha=a[j>>0]|0;Ha=Ha&255;Ha=Ha<<2;Ha=Ia|Ha;Ia=a[i>>0]|0;Ia=Ia&255;Ia=Ia<<3;Ia=Ha|Ia;Ia=Ia&255;a[e>>0]=Ia;return}function $o(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,h=0;if((b&255)>1){h=0;return h|0}g=b&255;nz(1333792+(g*18624|0)+18244|0,0,320)|0;h=c[857782]|0;c[1333792+(g*18624|0)>>2]=h;c[1333792+(g*18624|0)+4>>2]=0;c[1333792+(g*18624|0)+36>>2]=0;b=h>>>6;c[1333792+(g*18624|0)+8>>2]=b&65535;c[1333792+(g*18624|0)+40>>2]=b&131071;b=h>>>5;c[1333792+(g*18624|0)+12>>2]=b&65535;c[1333792+(g*18624|0)+44>>2]=b&131071;b=h*3072|0;c[1333792+(g*18624|0)+16>>2]=b>>>16;c[1333792+(g*18624|0)+48>>2]=(h*1536|0)>>>15;d=h>>>4;c[1333792+(g*18624|0)+20>>2]=d&65535;c[1333792+(g*18624|0)+52>>2]=d&131071;c[1333792+(g*18624|0)+24>>2]=(h*5120|0)>>>16;c[1333792+(g*18624|0)+56>>2]=(h*2560|0)>>>15;c[1333792+(g*18624|0)+28>>2]=(h*6144|0)>>>16;c[1333792+(g*18624|0)+60>>2]=b>>>15;c[1333792+(g*18624|0)+32>>2]=(h*7168|0)>>>16;c[1333792+(g*18624|0)+64>>2]=(h*3584|0)>>>15;b=0;do{d=2048-b|0;c[1333792+(g*18624|0)+68+(b<<2)>>2]=M(65536/((131072/(d>>>0)|0)>>>0)|0,h)|0;c[1333792+(g*18624|0)+8260+(b<<2)>>2]=M(65536/((65536/(d>>>0)|0)>>>0)|0,h)|0;b=b+1|0}while((b|0)!=2048);e=+(h>>>0);d=0;do{f=(d|0)==0?1048576.0:524288.0/+(d|0);b=0;do{c[1333792+(g*18624|0)+16452+(d<<6)+(b<<2)>>2]=~~(65536.0/(f/+(2<>>0;b=b+1|0}while((b|0)!=16);d=d+1|0}while((d|0)!=8);b=0;do{c[1333792+(g*18624|0)+16964+(b<<2)>>2]=(M(16384-(b<<8)|0,h)|0)>>>16;b=b+1|0}while((b|0)!=64);b=0;do{c[1333792+(g*18624|0)+17220+(b<<2)>>2]=(M(65536-(b<<8)|0,h)|0)>>>16;b=b+1|0}while((b|0)!=256);a[1333792+(g*18624|0)+18322>>0]=0;a[1333792+(g*18624|0)+18402>>0]=0;a[1333792+(g*18624|0)+18482>>0]=0;a[1333792+(g*18624|0)+18562>>0]=0;return h|0}function ap(b){b=b|0;b=b&255;Zo(1333792+(b*18624|0)|0,22,0);a[1333792+(b*18624|0)+18607>>0]=-84;a[1333792+(b*18624|0)+18608>>0]=-35;a[1333792+(b*18624|0)+18609>>0]=-38;a[1333792+(b*18624|0)+18610>>0]=72;a[1333792+(b*18624|0)+18611>>0]=54;a[1333792+(b*18624|0)+18612>>0]=2;a[1333792+(b*18624|0)+18613>>0]=-49;a[1333792+(b*18624|0)+18614>>0]=22;a[1333792+(b*18624|0)+18615>>0]=44;a[1333792+(b*18624|0)+18616>>0]=4;a[1333792+(b*18624|0)+18617>>0]=-27;a[1333792+(b*18624|0)+18618>>0]=44;a[1333792+(b*18624|0)+18619>>0]=-84;a[1333792+(b*18624|0)+18620>>0]=-35;a[1333792+(b*18624|0)+18621>>0]=-38;a[1333792+(b*18624|0)+18622>>0]=72;return}function bp(b,c){b=b|0;c=c|0;b=b&255;a[1333792+(b*18624|0)+18322>>0]=c&1;a[1333792+(b*18624|0)+18402>>0]=c>>>1&1;a[1333792+(b*18624|0)+18482>>0]=c>>>2&1;a[1333792+(b*18624|0)+18562>>0]=c>>>3&1;return}function cp(b){b=b|0;b=b&255;a[3432172]=b&1;a[3432173]=b>>>1&1;a[45621]=b>>>2&1^1;return}function dp(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=d&255;s=c[f>>2]|0;i=c[f+4>>2]|0;t=1371040+(r*288|0)+276|0;nz(c[t>>2]|0,0,g<<1|0)|0;n=1371040+(r*288|0)+260|0;o=1371040+(r*288|0)+264|0;p=(g|0)>0;m=0;do{f=c[1371040+(r*288|0)+(m*52|0)+4>>2]|0;if((f|0)>8?(a[1371040+(r*288|0)+(m*52|0)+48>>0]|0)==0:0){l=M(c[1371040+(r*288|0)+(m*52|0)+12>>2]|0,c[1371040+(r*288|0)+(m*52|0)+8>>2]|0)|0;q=1371040+(r*288|0)+(m*52|0)|0;d=c[q>>2]|0;k=c[n>>2]|0;k=kz(k|0,((k|0)<0)<<31>>31|0,16)|0;k=~~((+(k>>>0)+4294967296.0*+(x|0))/+(M((c[o>>2]|0)/32|0,(f<<4)+16|0)|0)+.5);if(p){f=d;h=c[t>>2]|0;j=0;while(1){f=f+k|0;u=(M(l,a[(f>>>16&31)+(1371040+(r*288|0)+(m*52|0)+16)>>0]|0)|0)>>>3;b[h>>1]=u+(e[h>>1]|0);j=j+1|0;if((j|0)==(g|0))break;else h=h+2|0}d=d+(M(k,g)|0)|0}c[q>>2]=d}m=m+1|0}while((m|0)!=5);if(!p)return;j=1371040+(r*288|0)+272|0;f=s;h=0;d=c[t>>2]|0;while(1){u=b[(c[j>>2]|0)+(b[d>>1]<<1)>>1]|0;c[i>>2]=u;c[f>>2]=u;h=h+1|0;if((h|0)==(g|0))break;else{i=i+4|0;f=f+4|0;d=d+2|0}}return}function ep(b,d){b=b|0;d=d|0;var e=0,f=0;if((b&255)>1){d=0;return d|0}e=b&255;f=(d|0)/16|0;b=1371040+(e*288|0)+264|0;c[b>>2]=f;c[1371040+(e*288|0)+260>>2]=d;c[1371040+(e*288|0)+276>>2]=ex(f<<1)|0;fp(1371040+(e*288|0)|0);a[1371040+(e*288|0)+48>>0]=0;a[1371040+(e*288|0)+100>>0]=0;a[1371040+(e*288|0)+152>>0]=0;a[1371040+(e*288|0)+204>>0]=0;a[1371040+(e*288|0)+256>>0]=0;d=c[b>>2]|0;return d|0}function fp(a){a=a|0;var d=0,e=0,f=0;d=ex(5120)|0;c[a+268>>2]=d;d=d+2560|0;e=a+272|0;c[e>>2]=d;a=0;while(1){f=(a<<7>>>0)/5|0;f=f>>>0<32768?f:32768;b[d+(a<<1)>>1]=f;b[(c[e>>2]|0)+(0-a<<1)>>1]=0-f;a=a+1|0;if((a|0)==1280)break;d=c[e>>2]|0}return}function gp(a){a=a|0;a=a&255;fx(c[1371040+(a*288|0)+276>>2]|0);fx(c[1371040+(a*288|0)+268>>2]|0);return}function hp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b&255;g=1371040+(h*288|0)|0;f=1371040+(h*288|0)+52|0;e=1371040+(h*288|0)+104|0;d=1371040+(h*288|0)+156|0;b=1371040+(h*288|0)+208|0;a[1371040+(h*288|0)+284>>0]=0;c[1371040+(h*288|0)+280>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function ip(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;g=d[1371040+(f*288|0)+284>>0]|0;if(g&64|0)return;b=c>>>0>95;if(b&(g&128|0)!=0)return;if(b){c=c&31;a[1371040+(f*288|0)+172+c>>0]=e;a[1371040+(f*288|0)+224+c>>0]=e;return}else{a[(c&31)+(1371040+(f*288|0)+((c>>>5)*52|0)+16)>>0]=e;return}}function jp(b,c,d){b=b|0;c=c|0;d=d|0;b=b&255;if(a[1371040+(b*288|0)+284>>0]&64)return;a[(c&31)+(1371040+(b*288|0)+((c>>>5)*52|0)+16)>>0]=d;return}function kp(a,b,d){a=a|0;b=b|0;d=d|0;c[1371040+((a&255)*288|0)+((b&7)*52|0)+8>>2]=d&15;return}function lp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=b&255;f=d>>>1;g=1371040+(b*288|0)+(f*52|0)|0;if(!(a[1371040+(b*288|0)+284>>0]&32)){b=1371040+(b*288|0)+(f*52|0)+4|0;f=c[b>>2]|0;if((f|0)<9)c[g>>2]=c[g>>2]|65535}else{c[g>>2]=-1;f=1371040+(b*288|0)+(f*52|0)+4|0;b=f;f=c[f>>2]|0}if(!(d&1)){e=f&3840|e&255;c[b>>2]=e;e=c[g>>2]|0;e=e&-65536;c[g>>2]=e;return}else{e=f&255|(e&255)<<8&3840;c[b>>2]=e;e=c[g>>2]|0;e=e&-65536;c[g>>2]=e;return}}function mp(a,b){a=a|0;b=b|0;a=a&255;c[1371040+(a*288|0)+12>>2]=b&1;c[1371040+(a*288|0)+64>>2]=(b&255)>>>1&1;c[1371040+(a*288|0)+116>>2]=(b&255)>>>2&1;c[1371040+(a*288|0)+168>>2]=(b&255)>>>3&1;c[1371040+(a*288|0)+220>>2]=(b&255)>>>4&1;return}function np(b,c){b=b|0;c=c|0;a[1371040+((b&255)*288|0)+284>>0]=c;return}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;if(!(b&1)){c[1371040+(e*288|0)+280>>2]=d&255;return}switch(b>>>1&2147483647|0){case 0:{ip(a,c[1371040+(e*288|0)+280>>2]|0,d);return}case 1:{lp(a,c[1371040+(e*288|0)+280>>2]|0,d);return}case 2:{kp(a,c[1371040+(e*288|0)+280>>2]|0,d);return}case 3:{mp(a,d);return}case 4:{jp(a,c[1371040+(e*288|0)+280>>2]|0,d);return}case 5:{np(a,d);return}default:return}}function pp(b,c){b=b|0;c=c|0;b=b&255;a[1371040+(b*288|0)+48>>0]=c&1;a[1371040+(b*288|0)+100>>0]=c>>>1&1;a[1371040+(b*288|0)+152>>0]=c>>>2&1;a[1371040+(b*288|0)+204>>0]=c>>>3&1;a[1371040+(b*288|0)+256>>0]=c>>>4&1;return}function qp(a){a=a|0;var b=0,d=0,e=0,f=0;e=a&255;a=1371616+(e*400|0)+256|0;b=1371616+(e*400|0)+304|0;d=1371616+(e*400|0)+352|0;e=1371616+(e*400|0)+208|0;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=a;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=b;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=d;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));return}function rp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=k;k=k+160|0;v=C+128|0;w=C+112|0;x=C+96|0;y=C+80|0;z=C+64|0;A=C+48|0;B=C+32|0;s=C+16|0;t=C;u=C+144|0;r=b&255;g=1371616+(r*400|0)+196|0;h=1371616+(r*400|0)+204|0;b=0;do{if(!(a[1371616+(r*400|0)+208+(b*48|0)+44>>0]|0)){c[A+(b<<2)>>2]=(c[g>>2]|0)+((c[1371616+(r*400|0)+208+(b*48|0)+12>>2]<<16)+(c[1371616+(r*400|0)+208+(b*48|0)+8>>2]|0));i=c[(c[h>>2]|0)+(c[1371616+(r*400|0)+208+(b*48|0)>>2]<<2)>>2]|0;j=B+(b<<2)|0;c[j>>2]=i;q=c[1371616+(r*400|0)+208+(b*48|0)+16>>2]|0;p=c[1371616+(r*400|0)+208+(b*48|0)+24>>2]|0;c[v+(b<<2)>>2]=M(p,q)|0;c[w+(b<<2)>>2]=M(8-p|0,q)|0;c[s+(b<<2)>>2]=c[1371616+(r*400|0)+208+(b*48|0)+4>>2];c[t+(b<<2)>>2]=c[1371616+(r*400|0)+208+(b*48|0)+28>>2];c[x+(b<<2)>>2]=c[1371616+(r*400|0)+208+(b*48|0)+20>>2];c[y+(b<<2)>>2]=c[1371616+(r*400|0)+208+(b*48|0)+32>>2];q=c[1371616+(r*400|0)+208+(b*48|0)+36>>2]|0;c[z+(b<<2)>>2]=q;a[u+b>>0]=c[1371616+(r*400|0)+208+(b*48|0)+40>>2];if(q|0)c[j>>2]=i>>>1}else c[x+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=4);if((f|0)>0){p=1371616+(r*400|0)|0;q=e+4|0;n=0;do{b=0;g=0;o=0;do{h=x+(o<<2)|0;a:do if(c[h>>2]|0){m=t+(o<<2)|0;i=c[m>>2]|0;do if(i>>>16>>>0>=(c[s+(o<<2)>>2]|0)>>>0){a[u+o>>0]=0;if(!(c[y+(o<<2)>>2]|0)){c[h>>2]=0;break a}else{c[m>>2]=0;i=0;break}}while(0);do if(!(c[z+(o<<2)>>2]|0)){j=(c[A+(o<<2)>>2]|0)+(i>>>16)|0;l=c[B+(o<<2)>>2]|0}else{h=c[B+(o<<2)>>2]|0;if(i|0?((i-h^i)&32768|0)==0:0){j=u+o|0;l=h;break}l=d[(c[A+(o<<2)>>2]|0)+(i>>>16)>>0]|0;j=u+o|0;a[j>>0]=(d[j>>0]|0)+(d[31264+(((i&32768|0)==0?l:l>>>4)&15)>>0]|0);l=h}while(0);h=a[j>>0]|0;c[m>>2]=l+i;if(c[p>>2]&2){m=h<<24>>24;g=((M(c[v+(o<<2)>>2]|0,m)|0)>>2)+g|0;b=((M(c[w+(o<<2)>>2]|0,m)|0)>>2)+b|0}}while(0);o=o+1|0}while((o|0)!=4);o=sp(g)|0;c[(c[q>>2]|0)+(n<<2)>>2]=o;o=sp(b)|0;c[(c[e>>2]|0)+(n<<2)>>2]=o;n=n+1|0}while((n|0)!=(f|0))}if(!(a[1371616+(r*400|0)+252>>0]|0)){c[1371616+(r*400|0)+236>>2]=c[t>>2];c[1371616+(r*400|0)+228>>2]=c[x>>2];c[1371616+(r*400|0)+248>>2]=a[u>>0]}if(!(a[1371616+(r*400|0)+300>>0]|0)){c[1371616+(r*400|0)+284>>2]=c[t+4>>2];c[1371616+(r*400|0)+276>>2]=c[x+4>>2];c[1371616+(r*400|0)+296>>2]=a[u+1>>0]}if(!(a[1371616+(r*400|0)+348>>0]|0)){c[1371616+(r*400|0)+332>>2]=c[t+8>>2];c[1371616+(r*400|0)+324>>2]=c[x+8>>2];c[1371616+(r*400|0)+344>>2]=a[u+2>>0]}if(a[1371616+(r*400|0)+396>>0]|0){k=C;return}c[1371616+(r*400|0)+380>>2]=c[t+12>>2];c[1371616+(r*400|0)+372>>2]=c[x+12>>2];c[1371616+(r*400|0)+392>>2]=a[u+3>>0];k=C;return}function sp(a){a=a|0;if((a|0)>32768)return 32768;else return ((a|0)>-32768?a:-32768)|0;return 0}function tp(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)/32|0;if((b&255)>1){e=0;return e|0}b=b&255;f=1371616+(b*400|0)|0;nz(f|0,0,204)|0;c[1371616+(b*400|0)+204>>2]=ex(16384)|0;up(f,e,d);a[1371616+(b*400|0)+252>>0]=0;a[1371616+(b*400|0)+300>>0]=0;a[1371616+(b*400|0)+348>>0]=0;a[1371616+(b*400|0)+396>>0]=0;return e|0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,h=0.0;h=+(b|0);g=+(d|0);f=(b|0)!=0;a=a+204|0;b=0;do{e=g/+(4096-b|0);if(f&e!=0.0){d=~~(65536.0/(h/e))>>>0;d=(d|0)==0?1:d}else d=1;c[(c[a>>2]|0)+(b<<2)>>2]=d;b=b+1|0}while((b|0)!=4096);return}function vp(a){a=a|0;a=a&255;fx(c[1371616+(a*400|0)+204>>2]|0);a=1371616+(a*400|0)+196|0;fx(c[a>>2]|0);c[a>>2]=0;return}function wp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d&255;g=a&255;e=1371616+(g*400|0)|0;if((b|0)>47)return;f=1371616+(g*400|0)+4+(b<<2)|0;if((b|0)==40){a=c[f>>2]^h;do if(a&1|0){d=1371616+(g*400|0)+228|0;if(!(h&1)){c[d>>2]=0;break}else{c[d>>2]=1;c[1371616+(g*400|0)+236>>2]=0;c[1371616+(g*400|0)+248>>2]=0;xp(e,0);break}}while(0);do if(a&2|0){d=1371616+(g*400|0)+276|0;if(!(h&2)){c[d>>2]=0;break}else{c[d>>2]=1;c[1371616+(g*400|0)+284>>2]=0;c[1371616+(g*400|0)+296>>2]=0;xp(e,1);break}}while(0);do if(a&4|0){d=1371616+(g*400|0)+324|0;if(!(h&4)){c[d>>2]=0;break}else{c[d>>2]=1;c[1371616+(g*400|0)+332>>2]=0;c[1371616+(g*400|0)+344>>2]=0;xp(e,2);break}}while(0);do if(a&8|0){d=1371616+(g*400|0)+372|0;if(!(h&8)){c[d>>2]=0;break}else{c[d>>2]=1;c[1371616+(g*400|0)+380>>2]=0;c[1371616+(g*400|0)+392>>2]=0;xp(e,3);break}}while(0);c[f>>2]=h;return}c[f>>2]=h;if((b|0)<8)return;if((b|0)>=40)switch(b|0){case 42:{c[1371616+(g*400|0)+240>>2]=h&1;c[1371616+(g*400|0)+288>>2]=h>>>1&1;c[1371616+(g*400|0)+336>>2]=h>>>2&1;c[1371616+(g*400|0)+384>>2]=h>>>3&1;c[1371616+(g*400|0)+244>>2]=h>>>4&1;c[1371616+(g*400|0)+292>>2]=h>>>5&1;c[1371616+(g*400|0)+340>>2]=h>>>6&1;c[1371616+(g*400|0)+388>>2]=h>>>7;return}case 44:{c[1371616+(g*400|0)+232>>2]=h&7;c[1371616+(g*400|0)+280>>2]=h>>>3&7;return}case 45:{c[1371616+(g*400|0)+328>>2]=h&7;c[1371616+(g*400|0)+376>>2]=h>>>3&7;return}case 47:{c[e>>2]=h&7;return}default:return}f=b+-8|0;d=(f|0)/8|0;switch(f&7){case 0:{g=1371616+(g*400|0)+208+(d*48|0)|0;c[g>>2]=c[g>>2]&3840|h;return}case 1:{g=1371616+(g*400|0)+208+(d*48|0)|0;c[g>>2]=c[g>>2]&255|h<<8&3840;return}case 2:{g=1371616+(g*400|0)+208+(d*48|0)+4|0;c[g>>2]=c[g>>2]&65280|h;return}case 3:{g=1371616+(g*400|0)+208+(d*48|0)+4|0;c[g>>2]=c[g>>2]&255|h<<8;return}case 4:{g=1371616+(g*400|0)+208+(d*48|0)+8|0;c[g>>2]=c[g>>2]&65280|h;return}case 5:{g=1371616+(g*400|0)+208+(d*48|0)+8|0;c[g>>2]=c[g>>2]&255|h<<8;return}case 6:{c[1371616+(g*400|0)+208+(d*48|0)+12>>2]=h;return}case 7:{c[1371616+(g*400|0)+208+(d*48|0)+16>>2]=h<<1&254|h&1;return}default:{}}}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+208+(b*48|0)+12>>2]<<16)+(c[a+208+(b*48|0)+8>>2]|0)|0;f=a+208+(b*48|0)+4|0;d=c[a+200>>2]|0;if(d>>>0>>0){c[a+208+(b*48|0)+20>>2]=0;return}if((e+-1+(c[f>>2]|0)|0)>>>0<=d>>>0)return;c[f>>2]=d-e;return}function yp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1371616+(a*400|0)+200|0;if((c[g>>2]|0)!=(b|0)){i=1371616+(a*400|0)+196|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[1371616+(a*400|0)+196>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function zp(b,c){b=b|0;c=c|0;b=b&255;a[1371616+(b*400|0)+252>>0]=c&1;a[1371616+(b*400|0)+300>>0]=c>>>1&1;a[1371616+(b*400|0)+348>>0]=c>>>2&1;a[1371616+(b*400|0)+396>>0]=c>>>3&1;return}function Ap(a,b){a=a|0;b=b|0;c[1372416+((a&255)*2992|0)+2256>>2]=b;return}function Bp(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;N=f&255;O=1372416+(N*2992|0)|0;P=c[1372416+(N*2992|0)+2820>>2]|0;G=i<<2;nz(c[g>>2]|0,0,G|0)|0;Q=g+4|0;nz(c[Q>>2]|0,0,G|0)|0;G=1372416+(N*2992|0)+2819|0;if(!(a[G>>0]&1))return;H=c[1372416+(N*2992|0)+2840>>2]|0;I=c[1372416+(N*2992|0)+2848>>2]|0;if(!i)return;J=1372416+(N*2992|0)+2256|0;K=1372416+(N*2992|0)+2824|0;L=1372416+(N*2992|0)+2816|0;M=1372416+(N*2992|0)+2772|0;F=0;do{f=P+(c[K>>2]<<1)|0;if(!(c[J>>2]&2))j=+(b[f>>1]|0);else j=0.0;b[f>>1]=0;E=0;k=j;do{if((1<>0]|0)!=0?(a[1372416+(N*2992|0)+2980+E>>0]|0)==0:0){t=(E<<5)+(1372416+(N*2992|0)+2260)|0;q=M+(E<<1)|0;o=d[t+1>>0]<<8|d[t>>0]|d[t+2>>0]<<16;m=d[t+3>>0]|0;n=(d[t+4>>0]|0)+m|0;f=a[t+5>>0]|0;l=f&255;if((f+127&255)<15)f=l+-129|0;else f=(f+-17&255)<15?l+-17|0:7;x=+h[1372416+(N*2992|0)+2168+(E<<3)>>3];y=+h[1372416+(N*2992|0)+(m<<3)>>3];z=x*(y*+h[1372416+(N*2992|0)+2048+(f<<3)>>3]);z=z>1.8?1.8:z;y=x*(y*+h[1372416+(N*2992|0)+2048+(14-f<<3)>>3]);y=y>1.8?1.8:y;x=x*+h[1372416+(N*2992|0)+((n>>>0<255?n:255)<<3)>>3]*.5;x=x>1.8?1.8:x;A=((d[t+7>>0]<<8|d[t+6>>0])>>>3)+(c[K>>2]|0)|0;B=t+12|0;C=t+13|0;D=t+14|0;l=(d[C>>0]<<8|d[B>>0]|d[D>>0]<<16)&I;n=a[q>>0]|0;u=n&32;o=u<<24>>24==0?o:0-o|0;v=((u&255)<<12)+-65536|0;u=(((u&255)>>>4^2)&255)+-1|0;w=1372416+(N*2992|0)+2852+(E<<4)|0;if((l|0)==(c[w>>2]|0)){p=c[1372416+(N*2992|0)+2852+(E<<4)+12>>2]|0;f=c[1372416+(N*2992|0)+2852+(E<<4)+8>>2]|0;m=c[1372416+(N*2992|0)+2852+(E<<4)+4>>2]|0}else{c[w>>2]=l;p=0;f=0;m=0}a:do switch(n&12){case 0:{m=m+o|0;if(m>>>0>65535){p=q+1|0;q=t+8|0;r=t+9|0;o=t+10|0;n=f;f=m;while(1){m=f+v|0;l=l+u|0;t=a[H+l>>0]|0;f=(t&255)<<24>>16;if(t<<24>>24==-128?(a[p>>0]&1)!=0:0){f=(d[r>>0]<<8|d[q>>0]|d[o>>0]<<16)&I;l=f;f=d[H+f>>0]<<24>>16}if((f|0)==-32768)break;if(m>>>0>65535){n=f;f=m}else break a}Cp(O,E);f=0}else n=p;break}case 4:{s=u<<1;m=m+o|0;if(m>>>0>65535){p=q+1|0;q=t+8|0;r=t+9|0;o=t+10|0;n=f;while(1){m=m+v|0;l=l+s|0;u=d[H+(l+1)>>0]<<8|d[H+l>>0];f=u<<16>>16;if((u|0)==32768?(a[p>>0]&1)!=0:0){f=(d[r>>0]<<8|d[q>>0]|d[o>>0]<<16)&I;l=f;f=(d[H+(f+1)>>0]<<8|d[H+f>>0])<<16>>16}if((f|0)==-32768)break;if(m>>>0>65535)n=f;else break a}Cp(O,E);f=0}else n=p;break}case 8:{s=m<<1;m=m&32768;l=m>>>15|l<<1;m=((m|0)==0?s:s&65534)+o|0;b:do if(m>>>0>65535){q=q+1|0;r=t+8|0;s=t+9|0;n=t+10|0;while(1){p=m+v|0;l=l+u|0;t=a[H+(l>>>1)>>0]|0;m=t&255;if(t<<24>>24==-120){if(!(a[q>>0]&1))break;l=(d[s>>0]<<8|d[r>>0]|d[n>>0]<<16)&I;m=d[H+l>>0]|0;l=l<<1}if((m|0)==136)break;o=f+(b[31280+(((l&1|0)==0?m&15:m>>>4)<<1)>>1]|0)|0;o=(o|0)<32767?o:32767;o=(o|0)>-32768?o:-32768;if(p>>>0>65535){m=p;f=o}else{n=f;m=p;f=o;break b}}Cp(O,E);n=f;m=p;f=0}else n=p;while(0);m=l<<15&32768|m>>1;l=l>>>1;break}default:n=p}while(0);R=+(f|0);k=k+z*R;j=j+y*R;A=P+((A+(c[K>>2]|0)&8191)<<1)|0;b[A>>1]=(e[A>>1]|0)+(~~(x*R)&65535);c[w>>2]=l;c[1372416+(N*2992|0)+2852+(E<<4)+4>>2]=m;c[1372416+(N*2992|0)+2852+(E<<4)+12>>2]=n;c[1372416+(N*2992|0)+2852+(E<<4)+8>>2]=f;if(Dp(a[G>>0]|0)|0){a[B>>0]=l;a[C>>0]=l>>>8;a[D>>0]=l>>>16}}E=E+1|0}while((E|0)!=8);c[K>>2]=(c[K>>2]|0)+1&8191;c[(c[g>>2]|0)+(F<<2)>>2]=~~k;c[(c[Q>>2]|0)+(F<<2)>>2]=~~j;F=F+1|0}while((F|0)!=(i|0));return}function Cp(b,c){b=b|0;c=c|0;if(!(Dp(a[b+2819>>0]|0)|0))return;b=b+2816|0;a[b>>0]=(1<>0]|0);return}function Dp(a){a=a|0;return ((a&255)>>>7^1)&255|0}function Ep(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b&255;g=1372416+(h*2992|0)|0;if(c[1372416+(h*2992|0)+2256>>2]&4){b=(a[1372416+(h*2992|0)+2819>>0]&1)!=0;if(d>>>0<256&b){b=(d&31)+-12|0;if(b>>>0<3){d=1372416+(h*2992|0)+2232+((d>>>5)*3|0)+b|0;a[d>>0]=e;return}}else f=5}else{b=0;f=5}a:do if((f|0)==5)switch(d|0){case 558:{b=e<<24>>24==-128;if(b)f=c[1372416+(h*2992|0)+2820>>2]|0;else f=(c[1372416+(h*2992|0)+2840>>2]|0)+((e&255)<<17)|0;c[1372416+(h*2992|0)+2836>>2]=f;c[1372416+(h*2992|0)+2832>>2]=b?16384:131072;c[1372416+(h*2992|0)+2828>>2]=0;break a}case 532:{f=e&255;if(b){b=0;while(1){if(1<>0]=a[1372416+(h*2992|0)+2232+(b*3|0)>>0]|0;a[i+13>>0]=a[1372416+(h*2992|0)+2232+(b*3|0)+1>>0]|0;a[i+14>>0]=a[1372416+(h*2992|0)+2232+(b*3|0)+2>>0]|0;Fp(g,b)}b=b+1|0;if((b|0)==8)break a}}if(f&1|0)Fp(g,0);if(f&2|0)Fp(g,1);if(f&4|0)Fp(g,2);if(f&8|0)Fp(g,3);if(f&16|0)Fp(g,4);if(f&32|0)Fp(g,5);if(f&64|0)Fp(g,6);if(!(f&128))break a;Fp(g,7);break a}case 533:{b=e&255;if(b&1|0)Cp(g,0);if(b&2|0)Cp(g,1);if(b&4|0)Cp(g,2);if(b&8|0)Cp(g,3);if(b&16|0)Cp(g,4);if(b&32|0)Cp(g,5);if(b&64|0)Cp(g,6);if(!(b&128))break a;Cp(g,7);break a}case 557:{b=1372416+(h*2992|0)+2828|0;if((a[1372416+(h*2992|0)+2818>>0]|0)==-128)a[(c[1372416+(h*2992|0)+2836>>2]|0)+(c[b>>2]|0)>>0]=e;i=(c[b>>2]|0)+1|0;c[b>>2]=(i|0)==(c[1372416+(h*2992|0)+2832>>2]|0)?0:i;break a}default:break a}while(0);i=1372416+(h*2992|0)+2260+d|0;a[i>>0]=e;return}function Fp(b,c){b=b|0;c=c|0;if(!(Dp(a[b+2819>>0]|0)|0))return;b=b+2816|0;a[b>>0]=1<>0]|0);return}function Gp(a,b){a=a|0;b=b|0;var d=0;if((a&255)>1){b=0;return b|0}d=a&255;h[1372416+(d*2992|0)+2168>>3]=1.0;h[1372416+(d*2992|0)+2176>>3]=1.0;h[1372416+(d*2992|0)+2184>>3]=1.0;h[1372416+(d*2992|0)+2192>>3]=1.0;h[1372416+(d*2992|0)+2200>>3]=1.0;h[1372416+(d*2992|0)+2208>>3]=1.0;h[1372416+(d*2992|0)+2216>>3]=1.0;h[1372416+(d*2992|0)+2224>>3]=1.0;c[1372416+(d*2992|0)+2256>>2]=0;a=0;do{h[1372416+(d*2992|0)+(a<<3)>>3]=+B(10.0,+(+(a|0)*-36.0*.015625/20.0))*.25;a=a+1|0}while((a|0)!=256);h[1372416+(d*2992|0)+2048>>3]=0.0;h[1372416+(d*2992|0)+2056>>3]=.2672612419124244;h[1372416+(d*2992|0)+2064>>3]=.37796447300922725;h[1372416+(d*2992|0)+2072>>3]=.4629100498862757;h[1372416+(d*2992|0)+2080>>3]=.5345224838248488;h[1372416+(d*2992|0)+2088>>3]=.5976143046671969;h[1372416+(d*2992|0)+2096>>3]=.6546536707079771;h[1372416+(d*2992|0)+2104>>3]=.7071067811865476;h[1372416+(d*2992|0)+2112>>3]=.7559289460184545;h[1372416+(d*2992|0)+2120>>3]=.8017837257372732;h[1372416+(d*2992|0)+2128>>3]=.8451542547285167;h[1372416+(d*2992|0)+2136>>3]=.8864052604279183;h[1372416+(d*2992|0)+2144>>3]=.9258200997725514;h[1372416+(d*2992|0)+2152>>3]=.9636241116594315;h[1372416+(d*2992|0)+2160>>3]=1.0;a=1372416+(d*2992|0)+2980|0;c[a>>2]=0;c[a+4>>2]=0;b=Hp(1372416+(d*2992|0)|0,b)|0;return b|0}function Hp(a,b){a=a|0;b=b|0;var d=0;b=(b|0)<1e6?b*384|0:b;c[a+2988>>2]=b;d=a+2256|0;c[d>>2]=c[d>>2]|4;c[a+2820>>2]=ex(16384)|0;c[a+2840>>2]=0;c[a+2844>>2]=0;c[a+2848>>2]=0;return (b|0)/384|0|0}function Ip(a){a=a|0;var b=0;a=a&255;b=1372416+(a*2992|0)+2840|0;fx(c[b>>2]|0);c[b>>2]=0;a=1372416+(a*2992|0)+2820|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Jp(a){a=a|0;var b=0;a=a&255;nz(1372416+(a*2992|0)+2260|0,0,560)|0;b=1372416+(a*2992|0)+2232|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[1372416+(a*2992|0)+2824>>2]=0;c[1372416+(a*2992|0)+2828>>2]=0;nz(c[1372416+(a*2992|0)+2820>>2]|0,0,16384)|0;return}function Kp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=a&255;a=1372416+(h*2992|0)+2844|0;a:do if((c[a>>2]|0)!=(b|0)){i=1372416+(h*2992|0)+2840|0;g=hx(c[i>>2]|0,b)|0;c[i>>2]=g;c[a>>2]=b;nz(g|0,-1,b|0)|0;g=1372416+(h*2992|0)+2848|0;c[g>>2]=-1;do if(b>>>0>1)if((b|0)!=2)if(b>>>0>4)if(b>>>0>8)if(b>>>0>16)if(b>>>0>32)if(b>>>0>64)if(b>>>0>128)if(b>>>0>256)if(b>>>0>512)if(b>>>0>1024)if(b>>>0>2048)if(b>>>0>4096)if(b>>>0>8192)if(b>>>0>16384)if(b>>>0>32768)if(b>>>0>65536){if(b>>>0<=131072){a=131071;break}if(b>>>0<=262144){a=262143;break}if(b>>>0<=524288){a=524287;break}if(b>>>0<=1048576){a=1048575;break}if(b>>>0<=2097152){a=2097151;break}if(b>>>0<=4194304){a=4194303;break}if(b>>>0<=8388608){a=8388607;break}if(b>>>0<=16777216){a=16777215;break}if(b>>>0<=33554432){a=33554431;break}if(b>>>0<=67108864){a=67108863;break}if(b>>>0<=134217728){a=134217727;break}if(b>>>0<=268435456){a=268435455;break}if(b>>>0<=536870912){a=536870911;break}if(b>>>0<=1073741824){a=1073741823;break}if(b>>>0>2147483648)break a;else a=2147483647}else a=65535;else a=32767;else a=16383;else a=8191;else a=4095;else a=2047;else a=1023;else a=511;else a=255;else a=127;else a=63;else a=31;else a=15;else a=7;else a=3;else a=1;else a=0;while(0);c[g>>2]=a}while(0);if(b>>>0>>0)return;mz((c[1372416+(h*2992|0)+2840>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Lp(b,c){b=b|0;c=c|0;b=b&255;a[1372416+(b*2992|0)+2980>>0]=c&1;a[1372416+(b*2992|0)+2981>>0]=c>>>1&1;a[1372416+(b*2992|0)+2982>>0]=c>>>2&1;a[1372416+(b*2992|0)+2983>>0]=c>>>3&1;a[1372416+(b*2992|0)+2984>>0]=c>>>4&1;a[1372416+(b*2992|0)+2985>>0]=c>>>5&1;a[1372416+(b*2992|0)+2986>>0]=c>>>6&1;a[1372416+(b*2992|0)+2987>>0]=c>>>7&1;return}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b&255;v=c[d>>2]|0;s=c[d+4>>2]|0;t=e<<2;nz(v|0,0,t|0)|0;nz(s|0,0,t|0)|0;if((e|0)<=0)return;t=1378400+(u*18240|0)+13628|0;r=1378400+(u*18240|0)+13620|0;q=0;do{p=0;d=0;b=0;do{n=1378400+(u*18240|0)+10240+(p*120|0)|0;if((c[1378400+(u*18240|0)+10240+(p*120|0)+12>>2]|0)!=0?(a[1378400+(u*18240|0)+10240+(p*120|0)+116>>0]|0)==0:0){m=1378400+(u*18240|0)+10240+(p*120|0)+36|0;o=c[1378400+(u*18240|0)+10240+(p*120|0)+32>>2]<<7|(c[m>>2]|0)>>>12;i=1378400+(u*18240|0)+10240+(p*120|0)+24|0;h=c[i>>2]|0;j=h>>>12;g=c[1378400+(u*18240|0)+10240+(p*120|0)+28>>2]|0;k=a[(c[t>>2]|0)+((c[1378400+(u*18240|0)+10240+(p*120|0)+20>>2]|0)+j&c[r>>2])>>0]<<8;f=h&4095;w=M(k,f)|0;l=1378400+(u*18240|0)+10240+(p*120|0)+48|0;f=w+(M(c[l>>2]|0,4096-f|0)|0)>>12;if(a[1378400+(u*18240|0)+10240+(p*120|0)+7>>0]&7){g=(M(Np(1378400+(u*18240|0)+10240+(p*120|0)+84|0)|0,g)|0)>>>12;h=c[i>>2]|0}g=h+g|0;c[i>>2]=g;h=c[1378400+(u*18240|0)+10240+(p*120|0)+16>>2]|0;if(g>>>0>=c[h+8>>2]<<12>>>0){g=c[h+4>>2]<<12;c[i>>2]=g}if((j|0)!=(g>>>12|0))c[l>>2]=k;g=c[m>>2]|0;if((g>>>12|0)!=(c[1378400+(u*18240|0)+10240+(p*120|0)+40>>2]|0))c[m>>2]=(c[1378400+(u*18240|0)+10240+(p*120|0)+44>>2]|0)+g;if(a[1378400+(u*18240|0)+10240+(p*120|0)+8>>0]&7)f=(M(Op(1378400+(u*18240|0)+10240+(p*120|0)+100|0)|0,f)|0)>>12;w=(M(Pp(n)|0,f)|0)>>10;d=((M(w,c[1414880+(o<<2)>>2]|0)|0)>>12)+d|0;b=((M(c[1423072+(o<<2)>>2]|0,w)|0)>>12)+b|0}p=p+1|0}while((p|0)!=28);c[v+(q<<2)>>2]=d;c[s+(q<<2)>>2]=b;q=q+1|0}while((q|0)!=(e|0));return}function Np(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+((c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]|0)+128<<2)>>2]<<4|0}function Op(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+(c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]<<2)>>2]<<4|0}function Pp(a){a=a|0;var b=0,d=0,e=0;e=a+52|0;d=a+56|0;switch(c[d>>2]|0){case 0:{b=(c[e>>2]|0)+(c[a+64>>2]|0)|0;c[e>>2]=b;if((b|0)>67043327){c[d>>2]=(c[a+68>>2]|0)>67108863?2:1;c[e>>2]=67043328;b=67043328}break}case 1:{b=(c[e>>2]|0)-(c[a+68>>2]|0)|0;b=(b|0)>0?b:0;c[e>>2]=b;if((b>>>16|0)<=(c[a+80>>2]<<6|0))c[d>>2]=2;break}case 2:{b=(c[e>>2]|0)-(c[a+72>>2]|0)|0;b=(b|0)>0?b:0;c[e>>2]=b;break}case 3:{b=(c[e>>2]|0)-(c[a+76>>2]|0)|0;c[e>>2]=b;if((b|0)<1){c[e>>2]=0;c[a+12>>2]=0;b=0}break}default:{e=4096;return e|0}}e=c[1431264+(b>>16<<2)>>2]|0;return e|0}function Qp(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0;if((b&255)>1){b=0;return b|0}l=b&255;c[1378400+(l*18240|0)+13620>>2]=0;c[1378400+(l*18240|0)+13624>>2]=0;c[1378400+(l*18240|0)+13628>>2]=0;e=+(d|0)/180.0;m=1378400+(l*18240|0)+13616|0;g[m>>2]=e;if(!(a[3432174]|0)){j=0;do{n=j>>>7;d=n&15;k=+B(10.0,+(+(j&127)*-24.0*.015625/20.0));a:do switch(n&15){case 8:{f=0.0;i=0.0;break}case 0:{f=1.0;i=1.0;break}default:if(!(j&1024)){i=+B(10.0,+(+(d&255)*-12.0*.25/20.0));f=1.0;i=(j&896|0)==896?0.0:i;break a}else{n=16-d|0;f=+B(10.0,+(+(n&255)*-12.0*.25/20.0));f=(n&7|0)==7?0.0:f;i=1.0;break a}}while(0);k=k*.25;c[1414880+(j<<2)>>2]=~~(k*i*4096.0)>>>0;c[1423072+(j<<2)>>2]=~~(k*f*4096.0)>>>0;j=j+1|0}while((j|0)!=2048);a[3432174]=1}d=0;do{c[1378400+(l*18240|0)+14144+(d<<2)>>2]=~~((+(d|0)+1024.0)*e*.0009765625*4096.0)>>>0;d=d+1|0}while((d|0)!=1024);d=0;do{k=+h[31312+(d<<3)>>3];c[1378400+(l*18240|0)+13632+(d<<2)>>2]=~~(67108864.0/(k*44100.0/1.0e3))>>>0;c[1378400+(l*18240|0)+13888+(d<<2)>>2]=~~(67108864.0/(k*14.32833*44100.0/1.0e3))>>>0;d=d+1|0}while((d|0)!=64);d=1378400+(l*18240|0)+13632|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[1378400+(l*18240|0)+13884>>2]=67108864;d=1378400+(l*18240|0)+13888|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[857769]=-152;c[857770]=76;d=0;do{c[1431264+(d<<2)>>2]=~~(+B(10.0,+(-(96.0-+(d|0)*96.0*.0009765625)/20.0))*4096.0);d=d+1|0}while((d|0)!=1024);Rp();Sp(b);n=~~(+g[m>>2]+.5);return n|0}function Rp(){var a=0,b=0.0,d=0,e=0,f=0,h=0;f=0;do{h=f>>>0<128;a=f<<1;d=255-a|0;e=h?d:a+-256|0;do if(!h)if(f>>>0<192){a=256-a|0;break}else{a=a+-511|0;break}else a=f>>>0<64?a:d;while(0);c[1435360+(f<<2)>>2]=e;c[1436384+(f<<2)>>2]=a;f=f+1|0}while((f|0)!=256);d=0;do{b=+g[31824+(d<<2)>>2];a=-128;do{c[1437408+(d<<10)+(a+128<<2)>>2]=~~(+ma(+(b*+(a|0)*.0078125/1200.0))*256.0)>>>0;a=a+1|0}while((a|0)!=128);b=+g[34272+(d<<2)>>2];a=0;do{c[1445600+(d<<10)+(a<<2)>>2]=~~(+B(10.0,+(-(b*+(a|0))*.00390625/20.0))*256.0)>>>0;a=a+1|0}while((a|0)!=256);d=d+1|0}while((d|0)!=8);return}function Sp(a){a=a|0;a=a&255;c[1378400+(a*18240|0)+13612>>2]=0;c[1378400+(a*18240|0)+13608>>2]=0;return}function Tp(a){a=a|0;a=1378400+((a&255)*18240|0)+13628|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Up(b){b=b|0;var d=0;d=b&255;b=0;do{a[1378400+(d*18240|0)+10240+(b*120|0)>>0]=b;c[1378400+(d*18240|0)+10240+(b*120|0)+12>>2]=0;b=b+1|0}while((b|0)!=28);return}function Vp(a,b,d){a=a|0;b=b|0;d=d|0;a=a&255;switch(b|0){case 0:{Wp(1378400+(a*18240|0)|0,1378400+(a*18240|0)+10240+((c[1378400+(a*18240|0)+13600>>2]|0)*120|0)|0,c[1378400+(a*18240|0)+13604>>2]|0,d);return}case 1:{c[1378400+(a*18240|0)+13600>>2]=c[31856+((d&31)<<2)>>2];return}case 2:{d=d&255;c[1378400+(a*18240|0)+13604>>2]=d>>>0<7?d:7;return}default:return}}function Wp(b,e,f,h){b=b|0;e=e|0;f=f|0;h=h|0;var i=0;i=e+2|0;a:while(1){a[e+1+f>>0]=h;switch(f|0){case 0:{f=3;break a}case 3:case 2:{f=5;break a}case 4:{f=6;break a}case 5:{f=15;break a}case 6:{f=20;break a}case 7:{f=22;break a}case 1:break;default:{f=24;break a}}h=d[i>>0]|0;Wp(b,e,6,a[b+(h*20|0)+18>>0]|0);f=7;h=a[b+(h*20|0)+19>>0]|0}if((f|0)==3){c[e+32>>2]=(h&255)>>>4;return}else if((f|0)==5){h=d[e+4>>0]|0;f=(h>>>4)+15|0;i=f&15;h=c[b+14144+((h<<6&960|(d[e+3>>0]|0)>>>2)<<2)>>2]|0;c[e+28>>2]=~~(+(((f&8|0)==0?h<>>(16-i|0))>>>0)/+g[b+13616>>2])>>>0;return}else if((f|0)==6)if(h<<24>>24<0){f=b+((d[i>>0]|0)*20|0)|0;c[e+16>>2]=f;c[e+12>>2]=1;h=e+20|0;c[h>>2]=c[f>>2];c[e+24>>2]=0;c[e+48>>2]=0;c[e+36>>2]=c[e+40>>2]<<12;Xp(b,e);c[e+56>>2]=0;c[e+52>>2]=0;f=c[h>>2]|0;if(f>>>0<=1048575)return;f=f&1048575;if(!(c[e+32>>2]&8)){c[h>>2]=c[b+13608>>2]|f;return}else{c[h>>2]=c[b+13612>>2]|f;return}}else{f=e+12|0;if(!(c[f>>2]|0))return;if((a[(c[e+16>>2]|0)+16>>0]|0)==15){c[f>>2]=0;return}else{c[e+56>>2]=3;return}}else if((f|0)==15){b=h&255;f=b>>>1;c[e+40>>2]=f;if(b&1|0){c[e+36>>2]=f<<12;return}if((c[e+36>>2]|0)>>>12>>>0>f>>>0){c[e+44>>2]=c[857769];return}else{c[e+44>>2]=c[857770];return}}else if((f|0)==20){if(!(h<<24>>24))return;i=e+7|0;h=d[i>>0]|0;b=b+13616|0;Yp(+g[b>>2],e+84|0,h>>>3&7,h&7,0);Yp(+g[b>>2],e+100|0,(d[i>>0]|0)>>>3&7,a[e+8>>0]&7,1);return}else if((f|0)==22){if(!(h<<24>>24))return;i=e+7|0;h=d[i>>0]|0;b=b+13616|0;Yp(+g[b>>2],e+84|0,h>>>3&7,h&7,0);Yp(+g[b>>2],e+100|0,(d[i>>0]|0)>>>3&7,a[e+8>>0]&7,1);return}else if((f|0)==24)return}function Xp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=d[e+4>>0]|0;i=(g>>>4)+15|0;f=c[e+16>>2]|0;h=a[f+17>>0]|0;g=h<<24>>24==15?0:((i&8|0)==0?i&15:i|-16)+(h&255)<<1|g>>>3&1;c[e+64>>2]=Zp(b+13632|0,g,d[f+12>>0]|0)|0;b=b+13888|0;c[e+68>>2]=Zp(b,g,d[f+13>>0]|0)|0;c[e+72>>2]=Zp(b,g,d[f+14>>0]|0)|0;c[e+76>>2]=Zp(b,g,d[f+16>>0]|0)|0;c[e+80>>2]=15-(d[f+15>>0]|0);return}function Yp(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=~~(+g[31984+(d<<2)>>2]*256.0/a*256.0)>>>0;f=(f|0)==0;c[b+8>>2]=f?1436384:1435360;c[b+12>>2]=(f?1437408:1445600)+(e<<10);return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;b=(d<<2)+b|0;switch(d|0){case 0:break;case 15:{a=a+252|0;break}default:a=a+(((b|0)<63?b:63)<<2)|0}return c[a>>2]|0}function _p(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;a=b&255;if(a&1|0)c[1378400+(e*18240|0)+13612>>2]=(d&65535)<<16;if(!(a&2))return;c[1378400+(e*18240|0)+13608>>2]=(d&65535)<<16;return}function $p(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=b&255;b=1378400+(j*18240|0)+13624|0;if((c[b>>2]|0)!=(e|0)){k=1378400+(j*18240|0)+13628|0;i=hx(c[k>>2]|0,e)|0;c[k>>2]=i;c[b>>2]=e;b=1;while(1)if(b>>>0>>0)b=b<<1;else break;c[1378400+(j*18240|0)+13620>>2]=b+-1;nz(i|0,-1,e|0)|0}if(e>>>0>>0)return;i=1378400+(j*18240|0)+13628|0;mz((c[i>>2]|0)+f|0,h|0,((g+f|0)>>>0>e>>>0?e-f|0:g)|0)|0;if(f>>>0>=6144)return;b=0;do{k=(c[i>>2]|0)+(b*12|0)|0;c[1378400+(j*18240|0)+(b*20|0)>>2]=(d[k+1>>0]|0)<<8|(d[k>>0]|0)<<16|(d[k+2>>0]|0);c[1378400+(j*18240|0)+(b*20|0)+4>>2]=(d[k+3>>0]|0)<<8|(d[k+4>>0]|0);c[1378400+(j*18240|0)+(b*20|0)+8>>2]=((d[k+5>>0]|0)<<8|(d[k+6>>0]|0))^65535;a[1378400+(j*18240|0)+(b*20|0)+18>>0]=a[k+7>>0]|0;h=k+8|0;a[1378400+(j*18240|0)+(b*20|0)+13>>0]=a[h>>0]&15;a[1378400+(j*18240|0)+(b*20|0)+12>>0]=(d[h>>0]|0)>>>4;h=k+9|0;a[1378400+(j*18240|0)+(b*20|0)+14>>0]=a[h>>0]&15;a[1378400+(j*18240|0)+(b*20|0)+15>>0]=(d[h>>0]|0)>>>4;h=k+10|0;a[1378400+(j*18240|0)+(b*20|0)+16>>0]=a[h>>0]&15;a[1378400+(j*18240|0)+(b*20|0)+17>>0]=(d[h>>0]|0)>>>4;a[1378400+(j*18240|0)+(b*20|0)+19>>0]=a[k+11>>0]|0;b=b+1|0}while((b|0)!=512);return}function aq(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[1378400+(b*18240|0)+10240+(d*120|0)+116>>0]=c>>>d&1;d=d+1|0}while((d|0)!=28);return}function bq(a,b,c){a=a|0;b=b|0;c=c|0;cq(a,b,c);return}function cq(b,c,d){b=b|0;c=c|0;d=d|0;a[b+156+c>>0]=d;dq(b,c,d);return}function dq(e,f,g){e=e|0;f=f|0;g=g|0;var h=0;h=f>>>2&1;if((f|0)<11)switch(f|0){case 4:case 0:{a[e+(h<<5)>>0]=g;return}case 5:case 1:{a[e+(h<<5)+1>>0]=g;return}case 6:case 2:{a[e+(h<<5)+2>>0]=g;if(!(a[e+(h<<5)+30>>0]|0))return;c[e+(h<<5)+8>>2]=(((a[e+(h<<5)+3>>0]&7)<<8|g&255)<<16)+65536;return}case 7:case 3:{a[e+(h<<5)+3>>0]=g;if(!(a[e+(h<<5)+30>>0]|0))return;g=g&255;c[e+(h<<5)+4>>2]=c[e+16592+(g>>>3<<2)>>2];a[e+(h<<5)+29>>0]=0;c[e+(h<<5)+8>>2]=((g<<8&1792|d[e+(h<<5)+2>>0])<<16)+65536;return}case 8:{a[e+64>>0]=g;if(!(a[e+90>>0]|0))return;if(a[e+89>>0]|0)return;c[e+68>>2]=c[e+16848+((g&127)<<2)>>2];return}case 9:{a[e+65>>0]=g;return}case 10:{a[e+66>>0]=g;return}default:return}if((f|0)<17)switch(f|0){case 11:{a[e+67>>0]=g;c[e+76>>2]=(((c[e+196>>2]|0)+239|0)>>>0)/240|0;if(!(a[e+90>>0]|0))return;a[e+89>>0]=0;c[e+72>>2]=c[e+16592+((g&255)>>>3<<2)>>2];c[e+68>>2]=c[e+16848+((a[e+64>>0]&127)<<2)>>2];return}case 12:{a[e+92>>0]=g;return}case 14:{a[e+94>>0]=g;c[e+96>>2]=0;return}case 15:{a[e+95>>0]=g;if(!(a[e+117>>0]|0))return;c[e+100>>2]=c[e+16592+((g&255)>>>3<<2)>>2];a[e+116>>0]=0;return}case 16:{a[e+120>>0]=g;if(g<<24>>24<=-1)return;a[e+146>>0]=0;return}default:return}if((f|0)<21)switch(f|0){case 17:{g=g&127;a[e+121>>0]=g;b[e+152>>1]=g&255;return}case 18:{a[e+122>>0]=g;return}case 19:{a[e+123>>0]=g;return}default:return}if((f|0)>=23){if((f|0)>=16397){switch(f|0){case 16397:break;default:return}a[e+93>>0]=g;return}switch(f|0){case 23:break;default:return}h=e+188|0;if(g<<24>>24<0){c[h>>2]=5;return}else{c[h>>2]=4;return}}switch(f|0){case 21:break;default:return}g=g&255;h=e+30|0;if(!(g&1)){a[h>>0]=0;c[e+4>>2]=0}else a[h>>0]=1;h=e+62|0;if(!(g&2)){a[h>>0]=0;c[e+36>>2]=0}else a[h>>0]=1;h=e+90|0;if(!(g&4)){a[h>>0]=0;c[e+72>>2]=0;c[e+68>>2]=0;a[e+89>>0]=0;c[e+76>>2]=0}else a[h>>0]=1;h=e+117|0;if(!(g&8)){a[h>>0]=0;c[e+100>>2]=0}else a[h>>0]=1;h=e+120|0;f=e+145|0;if(g&16){if(!(a[f>>0]|0)){a[f>>0]=1;eq(h)}}else a[f>>0]=0;a[e+146>>0]=0;return}function eq(e){e=e|0;var f=0;c[e+4>>2]=(d[e+2>>0]|0)<<6|49152;f=(d[e+3>>0]|0)<<4|1;c[e+8>>2]=f;c[e+12>>2]=f<<3;a[e+26>>0]=0;a[e+25>>0]=1;b[e+32>>1]=0;return}function fq(a,b,c){a=a|0;b=b|0;c=c|0;gq(a,b,c);return}function gq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!d)return;h=a+32|0;i=a+64|0;j=a+92|0;g=a+120|0;f=c[b>>2]|0;e=d;d=c[b+4>>2]|0;while(1){e=e+-1|0;b=(hq(a,a)|0)<<24>>24;b=((hq(a,h)|0)<<24>>24)+b<<8;k=(iq(a,i)|0)<<24>>24;l=(jq(a,j)|0)<<24>>24;b=((l+k+((kq(a,g)|0)<<24>>24)|0)*192|0)+b|0;c[f>>2]=b;c[d>>2]=b;if(!e)break;else{f=f+4|0;d=d+4|0}}return}function hq(b,e){b=b|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;if(!(a[e+30>>0]|0)){e=0;return e|0}if(a[e+31>>0]|0){e=0;return e|0}r=a[e>>0]|0;f=c[b+16720+((r&15)<<2)>>2]|0;l=e+20|0;j=+g[l>>2]+-4.0;g[l>>2]=j;if(j<0.0){o=+(f|0);h=(r&32)==0;k=e+29|0;f=a[k>>0]|0;do{j=j+o;if(h){if((f&255)<15){f=f+1<<24>>24;n=9}}else{f=f+1&15;n=9}if((n|0)==9){n=0;a[k>>0]=f}}while(j<0.0);g[l>>2]=j}h=e+4|0;f=c[h>>2]|0;if((f|0)>0){f=f+-1|0;if(!(r&32)){c[h>>2]=f;m=f;n=15}}else{m=f;n=15}if((n|0)==15?(m|0)==0:0){e=0;return e|0}l=a[e+1>>0]|0;f=l&255;m=(f&128|0)==0;n=f&7;if(!(m|(n|0)==0)?(p=c[b+16720+((f>>>4&7)<<2)>>2]|0,q=e+24|0,i=+g[q>>2]+-2.0,g[q>>2]=i,i<0.0):0){j=+(p|0);h=(f&8|0)==0;k=e+8|0;f=c[k>>2]|0;do{i=i+j;p=f>>n;f=(h?p:0-p|0)+f|0}while(i<0.0);g[q>>2]=i;c[k>>2]=f}if(!(l&8)){f=c[e+8>>2]|0;if((f>>16|0)>(c[32144+((m?7:n)<<2)>>2]|0)){e=0;return e|0}}else f=c[e+8>>2]|0;if((f|0)<262144){e=0;return e|0}k=e+12|0;i=+g[k>>2]-+g[b+192>>2];g[k>>2]=i;if(i<0.0){j=+(f>>>16|0);h=e+28|0;f=a[h>>0]|0;do{i=i+j;f=f+1&15}while(i<0.0);g[k>>2]=i;a[h>>0]=f}h=r&255;if(!(h&16))f=15-(d[e+29>>0]|0)|0;else f=h&15;e=((c[32176+(h>>>6<<2)>>2]|0)>(d[e+28>>0]|0)?0-f|0:f)&255;return e|0}function iq(b,e){b=b|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0;if(!(a[e+26>>0]|0)){e=0;return e|0}if(a[e+27>>0]|0){e=0;return e|0}j=e+25|0;a:do if(!(a[j>>0]|0)){do if((a[e>>0]|0)>-1){h=e+12|0;m=c[h>>2]|0;i=m+-1|0;if(m|0?(c[h>>2]=i,i|0):0)break;a[j>>0]=1;k=9;break a}while(0);i=c[e+4>>2]|0}else k=9;while(0);if((k|0)==9){h=e+4|0;i=c[h>>2]|0;if((i|0)>0){i=i+-1|0;c[h>>2]=i}j=e+8|0;h=c[j>>2]|0;if(!h){m=0;return m|0}h=h+-1|0;if((a[e>>0]|0)>-1?(c[j>>2]=h,(h|0)==0):0){m=0;return m|0}}if(!i){m=0;return m|0}h=((a[e+3>>0]&7)<<8|d[e+2>>0])+1|0;if(h>>>0<4){m=0;return m|0}k=e+16|0;f=+g[k>>2]-+g[b+192>>2];g[k>>2]=f;if(f<0.0){l=+(h|0);j=e+24|0;i=a[j>>0]|0;do{f=f+l;h=i+1<<24>>24;i=h&31}while(f<0.0);m=h<<1&14;m=(h&8)==0?m:16-(m&255)&255;l=+(((h&16)==0?m:0-(m&255)&255)<<24>>24);g[k>>2]=f;a[j>>0]=i;g[e+20>>2]=l;f=l}else f=+g[e+20>>2];m=~~f;return m|0}function jq(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;if(!(a[e+25>>0]|0)){e=0;return e|0}if(a[e+26>>0]|0){e=0;return e|0}o=a[e>>0]|0;f=c[b+16720+((o&15)<<2)>>2]|0;m=e+20|0;j=+g[m>>2]+-4.0;g[m>>2]=j;if(j<0.0){k=+(f|0);h=o&32;i=h<<24>>24==0;l=e+24|0;f=a[l>>0]|0;do{j=j+k;if(i){if((f&255)<15){f=f+1<<24>>24;n=10}}else{f=f+1&15;n=10}if((n|0)==10){n=0;a[l>>0]=f}}while(j<0.0);g[m>>2]=j}else h=o&32;i=e+8|0;f=c[i>>2]|0;if(h<<24>>24==0&(f|0)>0){f=f+-1|0;c[i>>2]=f}if(!f){e=0;return e|0}h=a[e+2>>0]|0;f=c[32080+((h&15)<<2)>>2]|0;m=e+12|0;j=+g[m>>2]-+g[b+192>>2];g[m>>2]=j;if(j<0.0){k=+(f|0);l=e+4|0;i=h<<24>>24<0;h=c[l>>2]|0;while(1){j=j+k;f=h+1|0;a:do if((h|0)<16383){switch(h|0){case 92:break;default:break a}f=i?0:f}else{switch(h|0){case 16383:break;default:break a}f=0}while(0);if(!(j<0.0))break;else h=f}g[m>>2]=j;c[l>>2]=f}f=o&255;if(!(f&16))f=15-(d[e+24>>0]|0)|0;else f=f&15;e=a[(c[e+4>>2]|0)+(b+208)>>0]|0;f=(f&255)>>>0<(e&255)>>>0?f&255:e;if(e<<24>>24>=0){e=f;return e|0}e=0-(f&255)&255;return e|0}function kq(d,f){d=d|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(a[f+34>>0]|0){r=0;return r|0}r=f+25|0;a:do if(a[r>>0]|0?(h=c[32016+((a[f>>0]&15)<<2)>>2]|0,q=f+16|0,i=+g[q>>2]-+g[d+192>>2],g[q>>2]=i,i<0.0):0){m=+(h|0);n=f+8|0;o=f+32|0;p=f+12|0;j=d+148|0;k=f+4|0;l=f+24|0;while(1){g[q>>2]=i+m;if(!(c[n>>2]|0)){a[r>>0]=0;b[o>>1]=0;h=a[f>>0]|0;if(!(h&64))break;eq(f)}h=(c[p>>2]|0)+-1|0;c[p>>2]=h;h=h&7;if(!h){t=c[k>>2]|0;d=a[(c[j>>2]|0)+t>>0]|0;a[l>>0]=d;s=t+1|0;c[k>>2]=s>>>0>65535?t+-32767|0:s;c[n>>2]=(c[n>>2]|0)+-1}else d=a[l>>0]|0;b[o>>1]=((1<<(h^7)&(d&255)|0)==0?65534:2)+(e[o>>1]|0);i=+g[q>>2];if(!(i<0.0))break a}if(h<<24>>24<=-1)a[f+26>>0]=1}while(0);h=f+32|0;d=b[h>>1]|0;if(d<<16>>16>127){b[h>>1]=127;t=127;return t|0}if(d<<16>>16>=0){t=d&255;return t|0}b[h>>1]=0;t=0;return t|0}function lq(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;e=ex(17360)|0;if(!e){e=0;return e|0}h=(d|0)/60|0;f=e+196|0;c[f>>2]=h;d=e+200|0;c[d>>2]=h;h=h*60|0;c[e+204>>2]=h;g[e+192>>2]=+(b|0)/+(h>>>0);mq(e+208|0);nq(e+16592|0,c[f>>2]|0);oq(e,c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[e+148>>2]=0;a[e+31>>0]=0;a[e+63>>0]=0;a[e+91>>0]=0;a[e+118>>0]=0;a[e+154>>0]=0;return e|0}function mq(b){b=b|0;var c=0,d=0,e=0;c=17;d=0;while(1){e=c>>1;a[b+d>>0]=e;d=d+1|0;if((d|0)==16384)break;else c=(e^c)<<12&4096|e}return}function nq(a,b){a=a|0;b=b|0;var e=0;e=0;do{c[a+(e<<2)>>2]=M(d[32192+e>>0]|0,b)|0;e=e+1|0}while((e|0)!=32);return}function oq(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+16720>>2]=b;c[a+16724>>2]=b<<1;c[a+16728>>2]=b*3;c[a+16732>>2]=b<<2;c[a+16736>>2]=b*5;c[a+16740>>2]=b*6;c[a+16744>>2]=b*7;c[a+16748>>2]=b<<3;c[a+16752>>2]=b*9;c[a+16756>>2]=b*10;c[a+16760>>2]=b*11;c[a+16764>>2]=b*12;c[a+16768>>2]=b*13;c[a+16772>>2]=b*14;c[a+16776>>2]=b*15;c[a+16780>>2]=b<<4;c[a+16784>>2]=b*17;c[a+16788>>2]=b*18;c[a+16792>>2]=b*19;c[a+16796>>2]=b*20;c[a+16800>>2]=b*21;c[a+16804>>2]=b*22;c[a+16808>>2]=b*23;c[a+16812>>2]=b*24;c[a+16816>>2]=b*25;c[a+16820>>2]=b*26;c[a+16824>>2]=b*27;c[a+16828>>2]=b*28;c[a+16832>>2]=b*29;c[a+16836>>2]=b*30;c[a+16840>>2]=b*31;c[a+16844>>2]=b<<5;d=0;e=0;while(1){c[a+16848+(d<<2)>>2]=e>>>2;d=d+1|0;if((d|0)==128)break;else e=e+b|0}return}function pq(a){a=a|0;c[a+148>>2]=0;return}function qq(a){a=a|0;var b=0,d=0;b=a+148|0;d=c[b>>2]|0;nz(a|0,0,192)|0;c[b>>2]=d;eq(a+120|0);cq(a,0,0);cq(a,1,0);cq(a,2,0);cq(a,3,0);cq(a,4,0);cq(a,5,0);cq(a,6,0);cq(a,7,0);cq(a,8,0);cq(a,9,0);cq(a,10,0);cq(a,11,0);cq(a,12,0);cq(a,13,0);cq(a,14,0);cq(a,15,0);cq(a,16,0);cq(a,17,0);cq(a,18,0);cq(a,19,0);cq(a,20,0);cq(a,21,0);cq(a,22,0);cq(a,23,0);cq(a,21,0);cq(a,21,15);return}function rq(a,b){a=a|0;b=b|0;c[a+148>>2]=b;return}function sq(b,c){b=b|0;c=c|0;a[b+31>>0]=c&1;a[b+63>>0]=c>>>1&1;a[b+91>>0]=c>>>2&1;a[b+118>>0]=c>>>3&1;a[b+154>>0]=c>>>4&1;return}function tq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;n=o;l=b&255;b=1453792+(l<<4)|0;switch(a[3432175]|0){case 1:{fq(c[b>>2]|0,d,e);break}case 0:{if((e|0)<=0){k=o;return}m=1453792+(l<<4)+4|0;g=n+8|0;h=n+4|0;i=n+12|0;j=d+4|0;f=c[b>>2]|0;b=0;do{uq(f,n);vq(c[m>>2]|0,g);c[(c[d>>2]|0)+(b<<2)>>2]=(c[g>>2]|0)+(c[n>>2]|0);c[(c[j>>2]|0)+(b<<2)>>2]=(c[i>>2]|0)+(c[h>>2]|0);b=b+1|0}while((b|0)!=(e|0));break}default:{}}f=c[1453792+(l<<4)+8>>2]|0;if(!((f|0)!=0&(e|0)>0)){k=o;return}g=n+4|0;h=d+4|0;b=0;do{wq(f,n);m=(c[d>>2]|0)+(b<<2)|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);m=(c[h>>2]|0)+(b<<2)|0;c[m>>2]=(c[m>>2]|0)+(c[g>>2]|0);b=b+1|0}while((b|0)!=(e|0));k=o;return}function uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+360|0;h=(c[d>>2]|0)+(c[a+364>>2]|0)|0;c[d>>2]=h;e=a+368|0;Gq(a,(h>>>24)-(c[e>>2]|0)&255);c[e>>2]=(c[d>>2]|0)>>>24;e=c[a+16>>2]|0;d=a+72|0;if(!(e&1))f=c[d>>2]|0;else f=0;c[d>>2]=f;d=a+76|0;if(!(e&2))e=c[d>>2]|0;else e=0;c[d>>2]=e;if(c[a+4>>2]|0){h=c[a+96+(e+f<<2)>>2]|0;d=f<<6;e=e<<6;f=e+d|0;if((f|0)>0){g=(M(h,d)|0)/(f|0)|0;d=(M(h,e)|0)/(f|0)|0}else{g=h;d=h}}else{g=f<<6;d=e<<6}h=M(c[a+20>>2]|0,g)|0;c[b>>2]=h;c[b>>2]=(M(c[a+24>>2]|0,d)|0)+h>>5;h=M(c[a+28>>2]|0,g)|0;b=b+4|0;c[b>>2]=h;c[b>>2]=(M(c[a+32>>2]|0,d)|0)+h>>5;return}function vq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+262408|0;k=(c[e>>2]|0)+(c[b+262412>>2]|0)|0;c[e>>2]=k;f=b+262416|0;k=(k>>>24)-(c[f>>2]|0)&255;yq(b,k);zq(b,k);c[f>>2]=(c[e>>2]|0)>>>24;f=c[b+262176>>2]|0;e=b+262232|0;if(!(f&1))k=c[e>>2]|0;else k=0;c[e>>2]=k;e=b+262236|0;if(!(f&2))h=c[e>>2]|0;else h=0;c[e>>2]=h;e=b+262240|0;if(!(f&4))f=c[e>>2]|0;else f=0;c[e>>2]=f;g=c[b+(k<<13)>>2]|0;i=c[b+(h<<9)>>2]|0;e=c[b+(f<<2)>>2]|0;if(c[b+262148>>2]|0){j=i+g+e|0;f=c[b+131072+(k<<13)+(h<<9)+(f<<2)>>2]|0;if(!j){e=f;k=f;j=f}else{e=(M(e,f)|0)/(j|0)|0;k=(M(g,f)|0)/(j|0)|0;j=(M(i,f)|0)/(j|0)|0}}else{k=g;j=i}do if(c[b+262160>>2]|0){g=b+262264|0;do if(a[g>>0]|0){h=b+262272|0;i=b+262268|0;f=(c[i>>2]|0)+((c[h>>2]|0)-e)|0;c[i>>2]=f;a[g>>0]=0;if((f|0)>1073479680){c[i>>2]=1073479680;c[h>>2]=e;e=e+1073479680|0;f=1073479680;g=18;break}if((f|0)<-1073479680){c[i>>2]=-1073479680;c[h>>2]=e;e=e+-1073479680|0;f=-1073479680;g=20}else g=17}else{f=b+262268|0;h=b+262272|0;i=f;f=c[f>>2]|0;g=17}while(0);if((g|0)==17){c[h>>2]=e;e=f+e|0;if((f|0)<=0)if((f|0)<0)g=20;else break;else g=18}if((g|0)==18){c[i>>2]=f+-1;break}else if((g|0)==20){c[i>>2]=f+1;break}}while(0);h=M(c[b+262180>>2]|0,k)|0;c[d>>2]=h;h=(M(c[b+262184>>2]|0,j)|0)+h|0;c[d>>2]=h;i=0-e|0;c[d>>2]=(M(c[b+262188>>2]|0,i)|0)+h>>5;k=M(c[b+262192>>2]|0,k)|0;d=d+4|0;c[d>>2]=k;k=(M(c[b+262196>>2]|0,j)|0)+k|0;c[d>>2]=k;c[d>>2]=(M(c[b+262200>>2]|0,i)|0)+k>>5;return}function wq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=a+648|0;e=(c[f>>2]|0)+(c[a+652>>2]|0)|0;c[f>>2]=e;g=a+656|0;xq(a,(e>>>24)-(c[g>>2]|0)&255);c[g>>2]=(c[f>>2]|0)>>>24;g=(M(c[32224+((d[a+45>>0]|0)<<2)>>2]|0,c[a+28>>2]|0)|0)>>8;f=a+628|0;e=M(c[a+632>>2]|0,c[f>>2]|0)|0;e=(M(c[a+636>>2]|0,g)|0)+e>>12;c[f>>2]=e;e=(c[a+16>>2]|0)==0?e:0;c[b>>2]=(M(e,c[a+20>>2]|0)|0)>>5;c[b+4>>2]=(M(c[a+24>>2]|0,e)|0)>>5;return}function xq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(((a[b+586>>0]|0)==0?(a[b+585>>0]|0)==0:0)?(m=c[b+624>>2]|0,m|0):0){if((a[b+598>>0]|0)==0?(i=b+600|0,h=(c[i>>2]|0)+d|0,c[i>>2]=h,j=M(m<<3,(c[b+608>>2]|0)+1|0)|0,h>>>0>=j>>>0):0){k=b+616|0;l=(a[b+596>>0]|0)==0;e=c[k>>2]|0;do{if(l)if(!e)e=0;else{e=e+-1|0;c[k>>2]=e}else if(e>>>0<32){e=e+1|0;c[k>>2]=e}h=h-j|0}while(h>>>0>=j>>>0);c[i>>2]=h}if((a[b+599>>0]|0)==0?(n=b+604|0,g=(c[n>>2]|0)+d|0,c[n>>2]=g,o=M(m<<3,(c[b+612>>2]|0)+1|0)|0,g>>>0>=o>>>0):0){h=b+620|0;i=(a[b+597>>0]|0)==0;e=c[h>>2]|0;do{if(i)if(!e)e=0;else{e=e+-1|0;c[h>>2]=e}else if(e>>>0<32){e=e+1|0;c[h>>2]=e}g=g-o|0}while(g>>>0>=o>>>0);c[n>>2]=g}}if((a[b+587>>0]|0)==0?(o=b+576|0,n=c[o>>2]|0,f=n>>>16,n=(M(c[b+568>>2]|0,d)|0)+n|0,p=n>>>16,c[o>>2]=n&4194303,f>>>0

>>0):0){g=b+588|0;do{e=c[b+56+((f&63)<<2)>>2]|0;if((e|0)==4)e=0;else e=(c[g>>2]|0)+(c[32240+(e<<2)>>2]|0)&127;c[g>>2]=e;f=f+1|0}while((f|0)!=(p|0))}if(!(a[b+585>>0]|0)){e=c[b+616>>2]|0;if(!e){e=0;f=c[b+572>>2]|0}else{f=c[b+588>>2]|0;f=f>>>0<64?f:f+-128|0;p=M(f,e)|0;e=p>>4;do if((p&15|0)!=0&(p&2048|0)==0)if((f|0)<0){e=e+-1|0;break}else{e=e+2|0;break}while(0);f=~e;e=e-(e+((f|0)>-192?f:-192)+256&-256)|0;f=c[b+572>>2]|0;e=M(f,e+(((e|0)>-64?e:-64)+255-e&-256)|0)|0;e=(e>>>5&1)+(e>>6)|0}p=f+e|0;o=b+580|0;c[o>>2]=(M(p,d)|0)+(c[o>>2]|0)&4194303;c[b+48>>2]=p}e=c[b+620>>2]|0;e=(e|0)<32?e:32;if(a[b+584>>0]|0){b=b+52|0;c[b>>2]=e;return}c[b+28>>2]=M(c[b+312+(((c[b+580>>2]|0)>>>16&63)<<2)>>2]|0,e)|0;b=b+52|0;c[b>>2]=e;return}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+262380|0;f=(c[g>>2]|0)+b|0;c[g>>2]=f;d=a+262384|0;if((f|0)<=(c[d>>2]|0))return;e=a+262388|0;f=a+262392|0;b=c[e>>2]|0;do{Dq(a,b);h=c[d>>2]|0;i=(c[g>>2]|0)-h|0;c[g>>2]=i;j=(c[e>>2]|0)+1|0;b=(j|0)<(c[f>>2]|0)?j:0;c[e>>2]=b}while((i|0)>(h|0));return}function zq(a,b){a=a|0;b=b|0;c[a+262232>>2]=Aq(a,b)|0;c[a+262236>>2]=Bq(a,b)|0;c[a+262240>>2]=Cq(a,b)|0;return}function Aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(((c[a+262324>>2]|0)>0?(c[a+262368>>2]|0)>0:0)?(h=c[a+262320>>2]|0,!((c[a+262168>>2]|0)!=0&(h|0)==0)):0){i=a+262296|0;g=(c[i>>2]|0)+b|0;c[i>>2]=g;if(g>>>0>h>>>0){j=a+262308|0;f=(c[j>>2]|0)+1&31;g=g+-1-h|0;if(g>>>0>h>>>0)do{f=f+1&31;g=g+-1-h|0}while(g>>>0>h>>>0);c[j>>2]=f;c[i>>2]=g}}else k=8;a:do if((((k|0)==8?c[a+262172>>2]|0:0)?(l=a+262308|0,e=c[l>>2]|0,(e|0)!=0&(e|0)<31):0)?(m=a+262296|0,d=(c[m>>2]|0)+b|0,c[m>>2]=d,n=c[a+262320>>2]|0,d>>>0>n>>>0):0)do{if(!e)break a;e=e+1&31;c[l>>2]=e;d=d+-1-n|0;c[m>>2]=d}while(d>>>0>n>>>0);while(0);return c[32272+(c[a+262308>>2]<<2)>>2]|0}function Bq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b+262372>>2]|0)<1?0:c[((a[b+262349>>0]|0)==0?b+262360|0:b+262336|0)>>2]|0;k=b+262340|0;f=c[k>>2]|0;e=(f&16384|0)==0?0:n;if(!d){n=e;return n|0}l=b+262300|0;i=(c[l>>2]|0)+d|0;c[l>>2]=i;m=c[b+262312>>2]|0;if((m+-1|0)>>>0>=i>>>0){n=e;return n|0}j=c[b+262344>>2]|0;g=0;h=0;b=i;do{f=(f&1^(j&f|0)!=0)<<14|f>>>1;h=h+1|0;g=g+e|0;e=(f&16384|0)==0?0:n;b=b-m|0}while(b>>>0>=m>>>0);c[k>>2]=f;c[l>>2]=b;if(!h){n=e;return n|0}n=(((M(d-b|0,g)|0)+(M(M(h,e)|0,b)|0)|0)>>>0)/((M(h,d)|0)>>>0)|0;return n|0}function Cq(e,f){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;u=e+262304|0;h=(c[u>>2]|0)+f|0;c[u>>2]=h;t=c[e+262316>>2]|0;if(!t){u=e+262256|0;u=b[u>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}if(h>>>0>>0){u=e+262256|0;u=b[u>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}k=e+262252|0;l=e+262293|0;m=e+262248|0;f=e+262256|0;n=e+262228|0;o=e+262244|0;p=e+262288|0;q=e+262224|0;r=e+262220|0;s=e+262292|0;g=c[k>>2]|0;do{if((g|0)!=256){i=b[f>>1]|0;if(!(g&1)){if(i<<16>>16>0)b[f>>1]=i+-1<<16>>16}else if(i<<16>>16<63)b[f>>1]=i+1<<16>>16;g=g>>>1;c[k>>2]=g;if((g|0)!=256)j=16;else j=13}else j=13;if((j|0)==13)if(a[l>>0]|0){i=c[o>>2]|0;g=d[(c[n>>2]|0)+i>>0]|65536;c[k>>2]=g;j=c[m>>2]|0;if(!j)j=18;else{j=j+-1|0;c[o>>2]=i+1&32767|32768;c[m>>2]=j;i=j;j=17}}else{g=256;j=16}if((j|0)==16){i=c[m>>2]|0;j=17}if((j|0)==17){j=0;if(!i)j=18}do if((j|0)==18){i=c[p>>2]|0;if(i&1|0){c[o>>2]=c[q>>2]<<6|49152;c[m>>2]=c[r>>2]<<4|1;break}if((i|0)==2)i=(a[l>>0]|0)!=0;else i=0;a[s>>0]=i&1;a[l>>0]=0}while(0);h=h-t|0;c[u>>2]=h}while(h>>>0>=t>>>0);u=b[f>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}function Dq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((d|0)>3)return;e=c[b+262376>>2]|0;if(e|0)Eq(e,d);if((d|0)==0?(c[b+262392>>2]|0)==4:0)a[b+262396>>0]=1;g=b+262332|0;if(!(a[g>>0]|0)){e=b+262324|0;f=c[e>>2]|0;if((f|0)>0)c[e>>2]=f+-1}else c[b+262324>>2]=c[b+262328>>2];h=(a[b+262333>>0]|0)==0;if(h)a[g>>0]=0;e=b+262350|0;do if(!(a[e>>0]|0)){f=b+262356|0;e=c[f>>2]|0;g=(e|0)<(c[b+262352>>2]|0);c[f>>2]=g?e+1|0:0;if(!g){e=b+262360|0;f=c[e>>2]|0;if((a[b+262348>>0]|0)!=0&(f|0)==0){c[e>>2]=15;break}if((f|0)>0)c[e>>2]=f+-1}}else{a[e>>0]=0;c[b+262360>>2]=15;c[b+262356>>2]=0}while(0);if(d&1|0)return;if(h?(i=b+262368|0,j=c[i>>2]|0,(j|0)>0):0)c[i>>2]=j+-1;if(a[b+262348>>0]|0)return;e=b+262372|0;f=c[e>>2]|0;if((f|0)<=0)return;c[e>>2]=f+-1;return}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((d|0)>3)return;e=b+308|0;f=b+320|0;g=b+328|0;p=b+306|0;do if(!(a[e>>0]|0)){j=c[f>>2]|0;k=(j|0)<(c[b+312>>2]|0);c[f>>2]=k?j+1|0:0;if(!k){e=c[g>>2]|0;if((a[p>>0]|0)!=0&(e|0)==0){c[g>>2]=15;break}if((e|0)>0)c[g>>2]=e+-1}}else{a[e>>0]=0;c[g>>2]=15;c[f>>2]=0}while(0);e=b+309|0;do if(!(a[e>>0]|0)){j=b+324|0;i=c[j>>2]|0;k=(i|0)<(c[b+316>>2]|0);c[j>>2]=k?i+1|0:0;if(!k){e=b+332|0;f=c[e>>2]|0;if((a[b+307>>0]|0)!=0&(f|0)==0){c[e>>2]=15;break}if((f|0)>0)c[e>>2]=f+-1}}else{a[e>>0]=0;c[b+332>>2]=15;c[b+324>>2]=0}while(0);if(d&1|0)return;e=b+272|0;f=b+288|0;g=b+256|0;d=b+276|0;h=b+264|0;i=b+280|0;j=b+296|0;k=b+224|0;if((a[p>>0]|0)==0?(l=b+336|0,m=c[l>>2]|0,(m|0)>0):0)c[l>>2]=m+-1;if(a[e>>0]|0){p=c[f>>2]|0;c[f>>2]=p+-1;if((p|0)<2){Fq(b,0);if((((c[g>>2]|0)>7?(n=c[h>>2]|0,(n|0)<2048):0)?(c[j>>2]|0)>0:0)?(r=(n|0)>0?n:0,c[g>>2]=r,(c[k>>2]|0)>(r|0)):0)c[k>>2]=r;c[f>>2]=(c[i>>2]|0)+1}if(a[d>>0]|0){c[f>>2]=(c[i>>2]|0)+1;a[d>>0]=0}}if((a[b+307>>0]|0)==0?(o=b+340|0,q=c[o>>2]|0,(q|0)>0):0)c[o>>2]=q+-1;if(!(a[b+273>>0]|0))return;f=b+292|0;r=c[f>>2]|0;c[f>>2]=r+-1;if((r|0)<2){Fq(b,1);e=b+260|0;if((((c[e>>2]|0)>7?(s=c[b+268>>2]|0,(s|0)<2048):0)?(c[b+300>>2]|0)>0:0)?(u=(s|0)>0?s:0,c[e>>2]=u,t=b+228|0,(c[t>>2]|0)>(u|0)):0)c[t>>2]=u;c[f>>2]=(c[b+284>>2]|0)+1}e=b+277|0;if(!(a[e>>0]|0))return;c[f>>2]=(c[b+284>>2]|0)+1;a[e>>0]=0;return}function Fq(b,d){b=b|0;d=d|0;var e=0,f=0;f=c[b+256+(d<<2)>>2]|0;e=f>>c[b+296+(d<<2)>>2];if(!d)e=e+((a[b+274>>0]|0)!=0&1)|0;c[b+264+(d<<2)>>2]=((a[b+274+d>>0]|0)==0?e:0-e|0)+f;return}function Gq(a,b){a=a|0;b=b|0;c[a+72>>2]=Hq(a,0,b)|0;c[a+76>>2]=Hq(a,1,b)|0;return}function Hq(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=d+224+(e<<2)|0;g=(c[j>>2]|0)+f|0;c[j>>2]=g;h=c[d+256+(e<<2)>>2]|0;if((g|0)>(h|0)){i=d+232+(e<<2)|0;f=(c[i>>2]|0)+1&15;g=g+-1-h|0;if((g|0)>(h|0))do{f=f+1&15;g=g+-1-h|0}while((g|0)>(h|0));c[i>>2]=f;c[j>>2]=g}if(!((h|0)>7?(c[d+336+(e<<2)>>2]|0)>0:0)){j=0;return j|0}if((c[d+264+(e<<2)>>2]|0)>=2048){j=0;return j|0}j=(b[32400+(c[d+240+(e<<2)>>2]<<5)+(c[d+232+(e<<2)>>2]<<1)>>1]|0)==0?0:c[((a[d+304+e>>0]|0)==0?d+328+(e<<2)|0:d+248+(e<<2)|0)>>2]|0;return j|0}function Iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b&255)>1){k=0;return k|0}k=b&255;h=d&2147483647;i=1453792+(k<<4)|0;j=h>>>2;f=a[3432185]|0;g=c[857788]|0;j=f<<24>>24==2|(f&1)!=0&(j|0)<(g|0)?g:j;a:do switch(a[3432175]|0){case 1:{e=lq(h,j)|0;c[i>>2]=e;if(!e){k=0;return k|0}else{c[1453792+(k<<4)+4>>2]=0;c[1453792+(k<<4)+8>>2]=0;i=ex(32768)|0;c[1453792+(k<<4)+12>>2]=i;nz(i|0,0,32768)|0;rq(e,i+-32768|0);break a}}case 0:{g=Jq(h,j)|0;c[i>>2]=g;if(!g){k=0;return k|0}e=Kq(h,j)|0;f=1453792+(k<<4)+4|0;c[f>>2]=e;g=c[i>>2]|0;if(e|0){Mq(e,g);i=ex(32768)|0;c[1453792+(k<<4)+12>>2]=i;nz(i|0,0,32768)|0;Nq(c[f>>2]|0,i+-32768|0);break a}Lq(g);c[i>>2]=0;k=0;return k|0}default:{}}while(0);if((d|0)<0)e=Oq(h,j)|0;else e=0;c[1453792+(k<<4)+8>>2]=e;Pq(b);k=j;return k|0}function Jq(a,b){a=a|0;b=b|0;var d=0;d=ex(376)|0;if(!d){d=0;return d|0}nz(d|0,0,376)|0;$q(d,+(a|0));ar(d,+(b|0));c[d>>2]=1;c[d+8>>2]=1;c[d+4>>2]=1;c[d+12>>2]=0;b=d+96|0;c[b>>2]=0;a=1;do{c[b+(a<<2)>>2]=~~(785448.96/(8128.0/+(a|0)+100.0));a=a+1|0}while((a|0)!=32);c[d+20>>2]=128;c[d+24>>2]=128;c[d+28>>2]=128;c[d+32>>2]=128;return d|0}function Kq(a,b){a=a|0;b=b|0;var d=0;d=ex(262424)|0;if(!d){d=0;return d|0}nz(d|0,0,262424)|0;Yq(d,+(a|0));Zq(d,+(b|0));c[d+262152>>2]=1;c[d+262156>>2]=1;c[d+262144>>2]=1;c[d+262160>>2]=0;c[d+262148>>2]=1;c[d+262164>>2]=1;c[d+262168>>2]=1;c[d>>2]=0;c[d+131072>>2]=0;c[d+262376>>2]=0;c[d+262380>>2]=0;c[d+262384>>2]=7458;c[d+262392>>2]=4;c[d+262180>>2]=128;c[d+262184>>2]=128;c[d+262188>>2]=128;c[d+262192>>2]=128;c[d+262196>>2]=128;c[d+262200>>2]=128;return d|0}function Lq(a){a=a|0;fx(a);return}function Mq(a,b){a=a|0;b=b|0;c[a+262376>>2]=b;return}function Nq(a,b){a=a|0;b=b|0;c[a+262228>>2]=b;return}function Oq(a,b){a=a|0;b=b|0;var d=0;d=ex(664)|0;if(!d){d=0;return d|0}nz(d|0,0,664)|0;c[d+32>>2]=2e3;c[d+36>>2]=0;c[d+40>>2]=0;c[d+632>>2]=0;c[d+636>>2]=4096;Vq(d,+(a|0));Tq(d,+(b|0));c[d+20>>2]=128;c[d+24>>2]=128;Wq(d);return d|0}function Pq(d){d=d|0;var f=0,g=0,h=0;d=d&255;f=b[22550]|0;if(f<<16>>16<0)return;if(!(a[3432175]|0)){h=1453792+(d<<4)|0;g=1453792+(d<<4)+4|0;Qq(c[h>>2]|0,0,f&1);Rq(c[g>>2]|0,0,b[22550]&1);Qq(c[h>>2]|0,1,(e[22550]|0)>>>1&1);Rq(c[g>>2]|0,1,(e[22550]|0)>>>1&1);Qq(c[h>>2]|0,2,(e[22550]|0)>>>2&1);Qq(c[h>>2]|0,3,(e[22550]|0)>>>3&1);Rq(c[g>>2]|0,2,(e[22550]|0)>>>4&1);Rq(c[g>>2]|0,3,(e[22550]|0)>>>5&1);Rq(c[g>>2]|0,4,(e[22550]|0)>>>6&1);Rq(c[g>>2]|0,5,(e[22550]|0)>>>7&1);Rq(c[g>>2]|0,6,(e[22550]|0)>>>8&1);Rq(c[g>>2]|0,7,(e[22550]|0)>>>9&1)}d=1453792+(d<<4)+8|0;f=c[d>>2]|0;if(!f)return;Sq(f,1,(e[22550]|0)>>>12&1);Sq(c[d>>2]|0,2,(e[22550]|0)>>>13&1);return}function Qq(a,b,d){a=a|0;b=b|0;d=d|0;c[a+(b<<2)>>2]=d;return}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;c[a+262144+(b<<2)>>2]=d;if((b|0)!=1)return;Uq(a);return}function Sq(a,b,d){a=a|0;b=b|0;d=d|0;c[a+32+(b<<2)>>2]=d;return}function Tq(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0;h[a>>3]=b;e=+h[a+8>>3]/b*16777216.0;h[a+640>>3]=e;c[a+652>>2]=~~(e+.5)>>>0;c[a+648>>2]=0;c[a+656>>2]=0;d=c[a+32>>2]|0;if((d|0)<=0){f=0;d=a+632|0;c[d>>2]=f;f=4096-f|0;d=a+636|0;c[d>>2]=f;return}d=~~(+J(+(+(d|0)*-6.28318/b))*4096.0);f=a+632|0;c[f>>2]=d;d=4096-d|0;f=a+636|0;c[f>>2]=d;return}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,h=0;e=0;do{f=+(e|0)*3.0;d=0;do{g=f+ +(d|0)*2.0;b=0;do{c[a+(e<<13)+(d<<9)+(b<<2)>>2]=~~((g+ +(b|0))*6144.0/208.0)>>>0;b=b+1|0}while((b|0)!=128);d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);c[a+131072>>2]=0;e=0;do{f=+(e|0)/8227.0;d=0;do{h=d|e;g=f+ +(d|0)/12241.0;b=0;do{if(h|b|0)c[a+131072+(e<<13)+(d<<9)+(b<<2)>>2]=~~(981749.76/(1.0/(g+ +(b|0)/22638.0)+100.0))>>>0;b=b+1|0}while((b|0)!=128);d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);return}function Vq(a,b){a=a|0;b=+b;h[a+8>>3]=b;return}function Wq(d){d=d|0;var e=0,f=0,g=0;a[d+44>>0]=1;a[d+45>>0]=0;c[d+628>>2]=0;nz(d+48|0,0,537)|0;a[d+585>>0]=1;a[d+586>>0]=1;a[d+587>>0]=1;g=d+588|0;f=d+598|0;e=d+600|0;c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;a[f>>0]=1;a[f+1>>0]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d+624>>2]=255;Xq(d,16419,0);Xq(d,16419,131);Xq(d,16512,128);Xq(d,16522,255);Xq(d,16514,0);Xq(d,16515,128);Xq(d,16516,128);Xq(d,16517,0);Xq(d,16518,0);Xq(d,16519,128);Xq(d,16521,0);return}function Xq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)==16419){a[b+44>>0]=e>>>1&1;return}f=d+-16448|0;if(f>>>0>74|(a[b+44>>0]|0)==0)return;if(d>>>0<16512){if(!(a[b+584>>0]|0))return;c[b+312+(f<<2)>>2]=e&63;return}do switch((d&255)<<24>>24){case -128:{d=e>>>7&1;a[b+599>>0]=d;a[b+597>>0]=e>>>6&1;c[b+604>>2]=0;f=e&63;c[b+612>>2]=f;if(!(d<<24>>24))return;c[b+620>>2]=f;return}case -118:{c[b+624>>2]=e;c[b+600>>2]=0;c[b+604>>2]=0;return}case -126:{b=b+572|0;c[b>>2]=c[b>>2]&3840|e;return}case -125:{d=b+572|0;c[d>>2]=c[d>>2]&255|e<<8&3840;d=e>>>7&1;a[b+585>>0]=d;f=e>>>6&1;a[b+586>>0]=f;if(d<<24>>24)c[b+580>>2]=0;if(!(f<<24>>24))return;c[b+600>>2]=0;c[b+604>>2]=0;return}case -124:{d=e>>>7&1;a[b+598>>0]=d;a[b+596>>0]=e>>>6&1;c[b+600>>2]=0;f=e&63;c[b+608>>2]=f;if(!(d<<24>>24))return;c[b+616>>2]=f;return}case -123:{c[b+588>>2]=e&127;if(!(c[b+36>>2]|0))return;c[b+576>>2]=c[b+592>>2]<<16;return}case -122:{b=b+568|0;c[b>>2]=c[b>>2]&3840|e;return}case -121:{d=b+568|0;c[d>>2]=c[d>>2]&255|e<<8&3840;e=e>>>7&1;a[b+587>>0]=e;if(!(e<<24>>24))return;b=b+576|0;c[b>>2]=c[b>>2]&4128768;return}case -120:{if(!(a[b+587>>0]|0))return;g=e&127;f=b+56|0;d=b+576|0;c[f+(((c[d>>2]|0)>>>16&63)<<2)>>2]=g;e=(c[d>>2]|0)+65536|0;c[d>>2]=e&4194303;c[f+((e>>>16&63)<<2)>>2]=g;e=(c[d>>2]|0)+65536&4194303;c[d>>2]=e;c[b+592>>2]=e>>>16;return}case -119:{a[b+584>>0]=e>>>7&1;a[b+45>>0]=e&3;return}default:return}while(0)}function Yq(a,b){a=a|0;b=+b;var d=0,e=0;d=~~b>>>0;c[a+262276>>2]=d;e=d+-1662607|0;if((((e|0)>-1?e:1662607-d|0)|0)<1001){_q(a,1);return}else{_q(a,0);return}}function Zq(a,b){a=a|0;b=+b;var d=0;d=b!=0.0?~~b>>>0:44100;c[a+262280>>2]=d;b=+((c[a+262276>>2]|0)>>>0)/+(d>>>0)*16777216.0;h[a+262400>>3]=b;c[a+262412>>2]=~~(b+.5)>>>0;c[a+262408>>2]=0;c[a+262416>>2]=0;return}function _q(a,b){a=a|0;b=b|0;b=b<<24>>24!=0;c[a+262284>>2]=b&1;c[a+262384>>2]=b?8314:7458;return}function $q(a,b){a=a|0;b=+b;h[a+88>>3]=b;return}function ar(a,b){a=a|0;b=+b;b=b!=0.0?b:44100.0;h[a+80>>3]=b;b=+h[a+88>>3]/b*16777216.0;h[a+352>>3]=b;c[a+364>>2]=~~(b+.5)>>>0;c[a+360>>2]=0;c[a+368>>2]=0;return}function br(b){b=b|0;var d=0,e=0,f=0,g=0;e=b&255;f=1453792+(e<<4)|0;switch(a[3432175]|0){case 1:{pq(c[f>>2]|0);break}case 0:{Lq(c[f>>2]|0);cr(c[1453792+(e<<4)+4>>2]|0);break}default:{}}g=1453792+(e<<4)+8|0;b=c[g>>2]|0;if(b|0)dr(b);b=1453792+(e<<4)+12|0;d=c[b>>2]|0;if(!d){c[f>>2]=0;f=1453792+(e<<4)+4|0;c[f>>2]=0;c[g>>2]=0;return}fx(d);c[b>>2]=0;c[f>>2]=0;f=1453792+(e<<4)+4|0;c[f>>2]=0;c[g>>2]=0;return}function cr(a){a=a|0;fx(a);return}function dr(a){a=a|0;fx(a);return}function er(b){b=b|0;var d=0;b=b&255;d=1453792+(b<<4)|0;switch(a[3432175]|0){case 1:{qq(c[d>>2]|0);break}case 0:{fr(c[d>>2]|0);gr(c[1453792+(b<<4)+4>>2]|0);break}default:{}}b=c[1453792+(b<<4)+8>>2]|0;if(!b)return;Wq(b);return}function fr(a){a=a|0;var b=0;c[a+36>>2]=0;c[a+16>>2]=0;c[a+224>>2]=0;c[a+228>>2]=0;c[a+232>>2]=0;c[a+288>>2]=1;c[a+292>>2]=1;b=a+320|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;ir(a,16384,0);ir(a,16385,0);ir(a,16386,0);ir(a,16387,0);ir(a,16388,0);ir(a,16389,0);ir(a,16390,0);ir(a,16391,0);ir(a,16405,0);if(c[a>>2]|0)ir(a,16405,15);b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;ar(a,+h[a+80>>3]);return}function gr(d){d=d|0;var e=0,f=0.0,g=0;c[d+262176>>2]=0;Uq(d);e=d+262296|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+262312>>2]=4;c[d+262316>>2]=428;c[d+262356>>2]=0;c[d+262368>>2]=0;c[d+262372>>2]=0;c[d+262324>>2]=0;c[d+262360>>2]=0;a[d+262396>>0]=0;a[d+262397>>0]=0;c[d+262380>>2]=0;c[d+262392>>2]=4;c[d+262388>>2]=0;hr(d,16392,0);hr(d,16393,0);hr(d,16394,0);hr(d,16395,0);hr(d,16396,0);hr(d,16397,0);hr(d,16398,0);hr(d,16399,0);hr(d,16400,0);hr(d,16401,0);hr(d,16402,0);hr(d,16403,0);hr(d,16404,0);hr(d,16405,0);hr(d,16406,0);hr(d,16407,0);a[d+262292>>0]=0;hr(d,16405,0);if(c[d+262144>>2]|0)hr(d,16405,15);c[d+262240>>2]=0;c[d+262236>>2]=0;c[d+262232>>2]=0;c[d+262320>>2]=0;b[d+262256>>1]=0;a[d+262264>>0]=0;c[d+262268>>2]=0;c[d+262272>>2]=0;c[d+262260>>2]=0;c[d+262252>>2]=256;c[d+262224>>2]=0;a[d+262293>>0]=0;c[d+262248>>2]=0;c[d+262220>>2]=0;c[d+262244>>2]=0;e=d+262340|0;c[e>>2]=1;c[d+262344>>2]=2;if(!(c[d+262164>>2]|0)){e=d+262280|0;e=c[e>>2]|0;f=+(e>>>0);Zq(d,f);return}g=Qy()|0;c[e>>2]=c[e>>2]|g;e=d+262280|0;e=c[e>>2]|0;f=+(e>>>0);Zq(d,f);return}function hr(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;switch(f|0){case 16405:{i=g>>>2&1;a[e+262364>>0]=i;h=g>>>3&1;a[e+262365>>0]=h;if(!(i<<24>>24))c[e+262368>>2]=0;if(!(h<<24>>24))c[e+262372>>2]=0;h=e+262293|0;if(g&16){if(!(a[h>>0]|0)){a[h>>0]=1;a[e+262366>>0]=1;c[e+262244>>2]=c[e+262224>>2]<<6|49152;c[e+262248>>2]=c[e+262220>>2]<<4|1;a[e+262292>>0]=0}}else{a[h>>0]=0;a[e+262366>>0]=0}a[e+262217>>0]=g;return}case 16407:{i=g>>>6&1;a[e+262397>>0]=i;h=e+262396|0;if(!i)f=0;else f=a[h>>0]|0;a[h>>0]=f;c[e+262380>>2]=0;h=e+262392|0;if(!(g&128)){c[h>>2]=4;c[e+262388>>2]=1;return}else{c[h>>2]=5;g=e+262388|0;c[g>>2]=0;Dq(e,0);c[g>>2]=(c[g>>2]|0)+1;return}}default:{h=f+-16392|0;if(h>>>0>11)return;i=g&255;a[e+262204+h>>0]=g;do switch(f|0){case 16392:{a[e+262333>>0]=g>>>7&1;c[e+262328>>2]=g&127;return}case 16403:{c[e+262220>>2]=i;return}case 16394:{h=e+262320|0;f=c[h>>2]&1792|g;c[h>>2]=f;h=e+262296|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16395:{f=e+262320|0;h=c[f>>2]&255|g<<8&1792;c[f>>2]=h;f=e+262296|0;if((c[f>>2]|0)>>>0>h>>>0)c[f>>2]=h;a[e+262332>>0]=1;if(!(a[e+262364>>0]|0))return;c[e+262368>>2]=d[32784+(g>>>3&31)>>0];return}case 16396:{i=g&15;c[e+262336>>2]=i;c[e+262352>>2]=i;a[e+262349>>0]=g>>>4&1;a[e+262348>>0]=g>>>5&1;return}case 16402:{c[e+262224>>2]=i;return}case 16398:{if(!(c[e+262156>>2]|0))h=2;else h=(g&128|0)==0?2:64;c[e+262344>>2]=h;f=c[32528+(c[e+262284>>2]<<6)+((g&15)<<2)>>2]|0;c[e+262312>>2]=f;h=e+262300|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16399:{if(a[e+262365>>0]|0)c[e+262372>>2]=d[32784+(g>>>3&31)>>0];a[e+262350>>0]=1;return}case 16400:{c[e+262288>>2]=g>>>6&3;f=c[32656+(c[e+262284>>2]<<6)+((g&15)<<2)>>2]|0;c[e+262316>>2]=f;h=e+262304|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16401:{if(!(c[e+262152>>2]|0))return;b[e+262256>>1]=g>>>1&63;c[e+262260>>2]=g&1;a[e+262264>>0]=1;return}default:return}while(0)}}}function ir(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((e&-8|0)!=16384){if((e|0)!=16405)return;i=f&1;a[b+344>>0]=i;e=f>>>1&1;a[b+345>>0]=e;if(!(i<<24>>24))c[b+336>>2]=0;if(!(e<<24>>24))c[b+340>>2]=0;a[b+61>>0]=f;return}i=e&15;h=i>>>2;a:do switch(e&15){case 4:case 0:{g=f&15;c[b+248+(h<<2)>>2]=g;a[b+304+h>>0]=f>>>4&1;a[b+306+h>>0]=f>>>5&1;c[b+312+(h<<2)>>2]=g;g=f>>>6;e=b+240+(h<<2)|0;c[e>>2]=g&3;if(c[b+12>>2]|0)switch(g&3){case 1:{c[e>>2]=2;break a}case 2:{c[e>>2]=1;break a}default:break a}break}case 5:case 1:{a[b+272+h>>0]=f>>>7&1;c[b+280+(h<<2)>>2]=f>>>4&7;a[b+274+h>>0]=f>>>3&1;c[b+296+(h<<2)>>2]=f&7;a[b+276+h>>0]=1;Fq(b,h);break}case 6:case 2:{g=b+256+(h<<2)|0;c[g>>2]=c[g>>2]&1792|f;Fq(b,h);e=b+224+(h<<2)|0;g=c[g>>2]|0;if((c[e>>2]|0)>(g|0))c[e>>2]=g;break}case 7:case 3:{e=b+256+(h<<2)|0;c[e>>2]=c[e>>2]&255|f<<8&1792;if(c[b+8>>2]|0)c[b+232+(h<<2)>>2]=0;a[b+308+h>>0]=1;if(a[b+344+h>>0]|0)c[b+336+(h<<2)>>2]=d[32784+(f>>>3&31)>>0];Fq(b,h);g=b+224+(h<<2)|0;e=c[e>>2]|0;if((c[g>>2]|0)>(e|0))c[g>>2]=e;break}default:return}while(0);a[b+40+i>>0]=f;return}function jr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;f=1453792+(b<<4)|0;switch(d>>>5&7){case 0:switch(a[3432175]|0){case 1:{bq(c[f>>2]|0,d,e);return}case 0:{d=d|16384;e=e&255;ir(c[f>>2]|0,d,e);hr(c[1453792+(b<<4)+4>>2]|0,d,e);return}default:return}case 1:{b=c[1453792+(b<<4)+8>>2]|0;if(!b)return;if((d|0)==63){Xq(b,16419,e&255);return}else{Xq(b,d&31|16512,e&255);return}}case 3:case 2:{b=c[1453792+(b<<4)+8>>2]|0;if(!b)return;Xq(b,d|16384,e&255);return}default:return}}function kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a&255;if(b>>>0>65535)return;do if(b>>>0<32768)if((d+b|0)>>>0<32769)return;else{a=32768-b|0;b=32768;f=e+a|0;a=d-a|0;break}else{f=e;a=d}while(0);h=(b+a|0)>>>0>65536;e=65536-b|0;d=a-e|0;e=h?e:a;a=c[1453792+(g<<4)+12>>2]|0;mz(a+(b+-32768)|0,f|0,e|0)|0;if((d|0)==0|h^1)return;mz(a|0,f+e|0,(d>>>0<32768?d:32768)|0)|0;return}function lr(b){b=b|0;a[3432175]=(b&255)<2?b:0;return}function mr(a){a=a|0;b[22550]=a;return}function nr(b,d){b=b|0;d=d|0;var e=0;b=b&255;e=1453792+(b<<4)|0;switch(a[3432175]|0){case 1:{sq(c[e>>2]|0,d);break}case 0:{or(c[e>>2]|0,d&3);pr(c[1453792+(b<<4)+4>>2]|0,d>>>2&7);break}default:{}}b=c[1453792+(b<<4)+8>>2]|0;if(!b)return;qr(b,d>>>5&1);return}function or(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function pr(a,b){a=a|0;b=b|0;c[a+262176>>2]=b;return}function qr(a,b){a=a|0;b=b|0;c[a+16>>2]=b&1;return}function rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b&255;s=1453824+(r*60|0)|0;g=c[e>>2]|0;e=c[e+4>>2]|0;if(!(a[s>>0]&2)){if(!f)return;b=f;while(1){b=b+-1|0;c[g>>2]=0;c[e>>2]=0;if(!b)break;else{e=e+4|0;g=g+4|0}}return}q=1453824+(r*60|0)+14|0;b=d[q>>0]|0;if(f){k=1453824+(r*60|0)+26|0;l=1453824+(r*60|0)+25|0;m=1453824+(r*60|0)+13|0;n=1453824+(r*60|0)+28|0;o=1453824+(r*60|0)+27|0;p=1453824+(r*60|0)+32|0;j=f;while(1){f=a[k>>0]|0;do if(b)if((f&255)<2){f=a[m>>0]|0;i=13}else{h=f;f=f&255;i=14}else{if(!(f<<24>>24)){i=a[l>>0]|0;f=a[((i&255)>>>4)+(1453824+(r*60|0)+20)>>0]|0;a[m>>0]=f;i=i+16&63;a[l>>0]=i;i=i&255;if((i>>>4|0)!=(i&15|0)){i=13;break}a[k>>0]=1;i=13;break}if(f<<24>>24>-1){f=f+1<<24>>24;a[k>>0]=f}h=f;f=f&255;i=14}while(0);if((i|0)==13){f=(sr(s,(f&255)>>>b&15)|0)<<16>>16;c[n>>2]=f}else if((i|0)==14){if(h<<24>>24==2)f=c[n>>2]|0;else{a[k>>0]=f+255;f=((c[p>>2]|0)*15|0)/16|0;c[p>>2]=f;f=f<<4;c[n>>2]=f}f=f<<16>>16}b=b^4;c[g>>2]=(a[o>>0]&2)==0?f:0;c[e>>2]=(a[o>>0]&1)==0?f:0;j=j+-1|0;if(!j)break;else{e=e+4|0;g=g+4|0}}}a[q>>0]=b;return}function sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;d=0-e|0;i=a+36|0;g=c[i>>2]|0;f=b&255;a=a+32|0;b=(c[a>>2]|0)+(c[1453952+((g<<4|f&15)<<2)>>2]|0)|0;c[a>>2]=b;if((b|0)<(e|0)){if((b|0)<(d|0))h=4}else{d=e+-1|0;h=4}if((h|0)==4){c[a>>2]=d;b=d}d=(c[33088+((f&7)<<2)>>2]|0)+g|0;c[i>>2]=d;if((d|0)<=48)if((d|0)<0)d=0;else{i=b<<4;i=i&65535;return i|0}else d=48;c[i>>2]=d;i=b<<4;i=i&65535;return i|0}function tr(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((b&255)>1){e=0;return e|0}h=b&255;ur();c[1453824+(h*60|0)+44>>2]=d;a[1453824+(h*60|0)+48>>0]=e;c[1453824+(h*60|0)+4>>2]=d;a[1453824+(h*60|0)+12>>0]=f;a[1453824+(h*60|0)+40>>0]=d;a[1453824+(h*60|0)+41>>0]=d>>>8;a[1453824+(h*60|0)+42>>0]=d>>>16;a[1453824+(h*60|0)+43>>0]=d>>>24;c[1453824+(h*60|0)+52>>2]=0;b=(g|0)==0?10:12;a[1453824+(h*60|0)+15>>0]=b;if(!(a[3432176]|0))b=2048;else b=1<<(b&255)+-1;c[1453824+(h*60|0)+16>>2]=b;e=c[32816+(e<<2)>>2]|0;c[1453824+(h*60|0)+8>>2]=e;c[1453824+(h*60|0)+32>>2]=-2;c[1453824+(h*60|0)+36>>2]=0;e=vr(d,e)|0;return e|0}function ur(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(c[857771]|0)return;b=0;do{e=~~+y(+(+B(1.1,+(+(b|0)))*16.0));f=(e|0)/2|0;g=(e|0)/4|0;h=(e|0)/8|0;d=b<<4;a=0;do{j=M(c[32832+(a<<4)+4>>2]|0,e)|0;i=M(c[32832+(a<<4)+8>>2]|0,f)|0;c[1453952+(a+d<<2)>>2]=M(j+h+i+(M(c[32832+(a<<4)+12>>2]|0,g)|0)|0,c[32832+(a<<4)>>2]|0)|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);c[857771]=1;return}function vr(a,b){a=a|0;b=b|0;return (((b>>>1)+a|0)>>>0)/(b>>>0)|0|0}function wr(b){b=b|0;var e=0,f=0,g=0,h=0;b=b&255;g=c[1453824+(b*60|0)+44>>2]|0;c[1453824+(b*60|0)+4>>2]=g;a[1453824+(b*60|0)+40>>0]=g;a[1453824+(b*60|0)+41>>0]=g>>>8;a[1453824+(b*60|0)+42>>0]=g>>>16;a[1453824+(b*60|0)+43>>0]=g>>>24;e=c[32816+((d[1453824+(b*60|0)+48>>0]|0)<<2)>>2]|0;c[1453824+(b*60|0)+8>>2]=e;f=c[1453824+(b*60|0)+52>>2]|0;if(f|0){h=c[1453824+(b*60|0)+56>>2]|0;g=vr(g,e)|0;xa[f&31](h,g)}c[1453824+(b*60|0)+32>>2]=-2;c[1453824+(b*60|0)+36>>2]=0;a[1453824+(b*60|0)>>0]=0;a[1453824+(b*60|0)+13>>0]=0;a[1453824+(b*60|0)+21>>0]=0;a[1453824+(b*60|0)+20>>0]=0;a[1453824+(b*60|0)+25>>0]=0;a[1453824+(b*60|0)+26>>0]=-1;a[1453824+(b*60|0)+27>>0]=0;return}function xr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a&255;a=c[32816+(b<<2)>>2]|0;c[1453824+(d*60|0)+8>>2]=a;b=c[1453824+(d*60|0)+52>>2]|0;if(!b)return;e=c[1453824+(d*60|0)+56>>2]|0;d=vr(c[1453824+(d*60|0)+4>>2]|0,a)|0;xa[b&31](e,d);return}function yr(a){a=a|0;var b=0,e=0,f=0;a=a&255;b=(d[1453824+(a*60|0)+41>>0]|0)<<8|(d[1453824+(a*60|0)+40>>0]|0)|(d[1453824+(a*60|0)+42>>0]|0)<<16|(d[1453824+(a*60|0)+43>>0]|0)<<24;c[1453824+(a*60|0)+4>>2]=b;e=c[1453824+(a*60|0)+52>>2]|0;if(!e)return;f=c[1453824+(a*60|0)+56>>2]|0;b=vr(b,c[1453824+(a*60|0)+8>>2]|0)|0;xa[e&31](f,b);return}function zr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b&255;switch(b<<24>>24){case 0:{Ar(a,c);return}case 1:{Br(a,c);return}case 2:{Cr(a,c);return}case 10:case 9:case 8:{Dr(a,d&3,c);return}case 11:{Dr(a,d&3,c);yr(a);return}case 12:{xr(a,c&255);return}default:return}}function Ar(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b&255;g=1453824+(f*60|0)|0;h=d&255;if(h&1|0){a[g>>0]=a[g>>0]&-7;return}b=a[g>>0]|0;e=b&255;if(!(h&2)){b=e&253;a[g>>0]=b}else{if((e&2|0)!=0&(a[3432177]|0)==0){d=1453824+(f*60|0)+14|0;e=1453824+(f*60|0)+36|0}else{b=b|2;a[g>>0]=b;c[1453824+(f*60|0)+32>>2]=-2;e=1453824+(f*60|0)+36|0;c[e>>2]=0;i=1453824+(f*60|0)+14|0;a[i>>0]=0;a[1453824+(f*60|0)+20>>0]=d;a[1453824+(f*60|0)+25>>0]=1;a[1453824+(f*60|0)+26>>0]=0;d=i}c[e>>2]=0;a[d>>0]=0}i=b&255;a[g>>0]=(h&4|0)==0?i&251:i|4;return}function Br(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;b=b&255;e=1453824+(b*60|0)+26|0;f=1453824+(b*60|0)+25|0;if((d[e>>0]|0)>1){a[f>>0]=0;g=0}else g=a[f>>0]&15;a[1453824+(b*60|0)+24>>0]=c;a[(g&255)+(1453824+(b*60|0)+20)>>0]=c;g=a[f>>0]|0;c=g+1<<24>>24&-13;b=c&255;a[f>>0]=(b>>>4|0)==(b&3|0)?(b&240|g&3)&255:c;a[e>>0]=0;return}function Cr(b,c){b=b|0;c=c|0;a[1453824+((b&255)*60|0)+27>>0]=c;return}function Dr(b,c,d){b=b|0;c=c|0;d=d|0;a[(c&255)+(1453824+((b&255)*60|0)+40)>>0]=d;return}function Er(b){b=b|0;b=b&65535;a[3432176]=b&1;a[3432177]=b>>>1&1;return}function Fr(a,b){a=a|0;b=b|0;a=a&255;c[1453824+(a*60|0)+52>>2]=5;c[1453824+(a*60|0)+56>>2]=b;return}function Gr(a){a=a|0;if(!(c[857772]|0))Hr();c[a>>2]=-2;c[a+4>>2]=0;return}function Hr(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=0;do{d=~~+y(+(+B(1.1,+(+(b|0)))*16.0));e=(d|0)/2|0;f=(d|0)/4|0;g=(d|0)/8|0;h=b<<4;a=0;do{j=M(c[32832+(a<<4)+4>>2]|0,d)|0;i=M(c[32832+(a<<4)+8>>2]|0,e)|0;c[1457088+(a+h<<2)>>2]=M(j+g+i+(M(c[32832+(a<<4)+12>>2]|0,f)|0)|0,c[32832+(a<<4)>>2]|0)|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);c[857772]=1;return}function Ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;e=c[g>>2]|0;d=b&255;b=(c[a>>2]|0)+(c[1457088+((e<<4|d&15)<<2)>>2]|0)|0;c[a>>2]=b;if((b|0)<=2047)if((b|0)<-2048){b=-2048;f=3}else a=b;else{b=2047;f=3}if((f|0)==3){c[a>>2]=b;a=b}b=(c[33088+((d&7)<<2)>>2]|0)+e|0;c[g>>2]=b;if((b|0)<=48)if((b|0)<0)b=0;else{g=a&65535;return g|0}else b=48;c[g>>2]=b;g=a&65535;return g|0}function Jr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+32|0;q=r;m=d&255;o=1460224+(m*168|0)|0;p=f<<2;nz(c[e>>2]|0,0,p|0)|0;n=(f|0)==0;l=1460224+(m*168|0)|0;if((a[1460224+(m*168|0)+28>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{j=(i|0)<16?i:16;Kr(o,l,q,j);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(j|0)){d=g;break}else d=g}}i=i-j|0}while((i|0)!=0)}j=1460224+(m*168|0)+32|0;if((a[1460224+(m*168|0)+60>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{l=(i|0)<16?i:16;Kr(o,j,q,l);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(l|0)){d=g;break}else d=g}}i=i-l|0}while((i|0)!=0)}j=1460224+(m*168|0)+64|0;if((a[1460224+(m*168|0)+92>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{l=(i|0)<16?i:16;Kr(o,j,q,l);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(l|0)){d=g;break}else d=g}}i=i-l|0}while((i|0)!=0)}j=1460224+(m*168|0)+96|0;if(a[1460224+(m*168|0)+124>>0]|0){o=e+4|0;o=c[o>>2]|0;q=c[e>>2]|0;mz(o|0,q|0,p|0)|0;k=r;return}if(!n){d=c[e>>2]|0;do{i=(f|0)<16?f:16;Kr(o,j,q,i);if((f|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(i|0)){d=g;break}else d=g}}f=f-i|0}while((f|0)!=0)}o=e+4|0;o=c[o>>2]|0;q=c[e>>2]|0;mz(o|0,q|0,p|0)|0;k=r;return}function Kr(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(a[e>>0]|0))h=f;else{m=c[e+4>>2]|0;n=e+8|0;h=c[n>>2]|0;j=c[e+12>>2]|0;a:do if(!g)g=0;else{k=e+16|0;l=e+24|0;while(1){o=(Ir(k,((Lr(d,((h|0)/2|0)+m|0)|0)&255)>>>(h<<2&4^4)&255)|0)<<16>>16;i=f+2|0;b[f>>1]=(M(c[l>>2]|0,o)|0)>>>1;g=g+-1|0;h=h+1|0;if((h|0)>=(j|0))break;if(!g){f=i;g=0;break a}else f=i}a[e>>0]=0;f=i}while(0);c[n>>2]=h;h=f}if(!g)return;nz(h|0,0,g<<1|0)|0;return}function Lr(b,e){b=b|0;e=e|0;var f=0;f=a[b+137>>0]|0;if(!(f<<24>>24))e=c[b+132>>2]|e;else{f=e>>>0<1024&f<<24>>24<0;e=(d[(e>>>(f?8:16)&3)+(b+138)>>0]|0)<<16|(f?1023:65535)&e}if(e>>>0>=(c[b+152>>2]|0)>>>0){b=0;return b|0}b=a[(c[b+156>>2]|0)+e>>0]|0;return b|0}function Mr(d,e){d=d|0;e=e|0;var f=0;if((d&255)>1){e=0;return e|0}f=d&255;Hr();b[1460224+(f*168|0)+128>>1]=-1;c[1460224+(f*168|0)+132>>2]=0;c[1460224+(f*168|0)+148>>2]=e;d=e&2147483647;c[1460224+(f*168|0)+144>>2]=d;e=e>>>31;a[1460224+(f*168|0)+136>>0]=e;c[1460224+(f*168|0)+160>>2]=0;e=(d>>>0)/(((e|0)==0?165:132)>>>0)|0;return e|0}function Nr(a){a=a|0;var b=0;a=a&255;b=1460224+(a*168|0)+156|0;fx(c[b>>2]|0);c[b>>2]=0;c[1460224+(a*168|0)+152>>2]=0;return}function Or(d){d=d|0;var e=0;d=d&255;b[1460224+(d*168|0)+128>>1]=-1;c[1460224+(d*168|0)+132>>2]=0;e=c[1460224+(d*168|0)+148>>2]|0;c[1460224+(d*168|0)+144>>2]=e&2147483647;a[1460224+(d*168|0)+136>>0]=e>>>31;c[1460224+(d*168|0)+24>>2]=0;Gr(1460224+(d*168|0)+16|0);a[1460224+(d*168|0)>>0]=0;c[1460224+(d*168|0)+56>>2]=0;Gr(1460224+(d*168|0)+48|0);a[1460224+(d*168|0)+32>>0]=0;c[1460224+(d*168|0)+88>>2]=0;Gr(1460224+(d*168|0)+80|0);a[1460224+(d*168|0)+64>>0]=0;c[1460224+(d*168|0)+120>>2]=0;Gr(1460224+(d*168|0)+112|0);a[1460224+(d*168|0)+96>>0]=0;return}function Pr(a,b){a=a|0;b=b|0;c[a+132>>2]=b;return}function Qr(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=k;k=k+16|0;g=m;l=d+128|0;f=e&255;if((b[l>>1]|0)!=-1){h=f>>>4;a:do if((e&255)>31){switch(h&15){case 2:case 4:case 8:break a;default:{}}c[g>>2]=h;Wy(45622,g)}while(0);j=33120+((f&15)<<2)|0;i=0;e=h;while(1){do if(e&1|0){g=b[l>>1]<<3;n=((Lr(d,g)|0)&255)<<16;f=((Lr(d,g|1)|0)&255)<<8;f=n&196608|f|(Lr(d,g|2)|0)&255;n=((Lr(d,g|3)|0)&255)<<16;h=((Lr(d,g|4)|0)&255)<<8;g=n&196608|h|(Lr(d,g|5)|0)&255;h=d+(i<<5)|0;if(g>>>0<=f>>>0){a[h>>0]=0;break}if(!(a[h>>0]|0)){a[h>>0]=1;c[d+(i<<5)+4>>2]=f;c[d+(i<<5)+8>>2]=0;c[d+(i<<5)+12>>2]=(g-f<<1)+2;Gr(d+(i<<5)+16|0);c[d+(i<<5)+24>>2]=c[j>>2]}}while(0);i=i+1|0;if((i|0)==4)break;else e=e>>1}b[l>>1]=-1;k=m;return}if(f&128|0){b[l>>1]=f&127;k=m;return}if(f&8|0)a[d>>0]=0;if(f&16|0)a[d+32>>0]=0;if(f&32|0)a[d+64>>0]=0;if(!(f&64)){k=m;return}a[d+96>>0]=0;k=m;return}function Rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=b&255;h=1460224+(g*168|0)|0;do switch(e|0){case 0:{Qr(h,f);return}case 8:{h=1460224+(g*168|0)+144|0;c[h>>2]=c[h>>2]&-256|f&255;return}case 9:{h=1460224+(g*168|0)+144|0;c[h>>2]=c[h>>2]&-65281|(f&255)<<8;return}case 10:{h=1460224+(g*168|0)+144|0;c[h>>2]=c[h>>2]&-16711681|(f&255)<<16;return}case 11:{b=f&255;if((b>>>7|0)!=(d[1460224+(g*168|0)+136>>0]|0|0))Xy(45656);g=1460224+(g*168|0)+144|0;c[g>>2]=c[g>>2]&16777215|b<<24&2130706432;Sr(h);return}case 12:{Tr(h,f&255);return}case 14:{a[1460224+(g*168|0)+137>>0]=f;return}case 15:{Pr(h,(f&255)<<18);return}case 19:case 18:case 17:case 16:{a[(e&3)+(1460224+(g*168|0)+138)>>0]=f;return}default:return}while(0)}function Sr(b){b=b|0;var d=0;d=c[b+160>>2]|0;if(!d)return;xa[d&31](c[b+164>>2]|0,((c[b+144>>2]|0)>>>0)/(((a[b+136>>0]|0)==0?165:132)>>>0)|0);return}function Tr(b,c){b=b|0;c=c|0;a[b+136>>0]=c;Sr(b);return}function Ur(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1460224+(a*168|0)+152|0;if((c[g>>2]|0)!=(b|0)){i=1460224+(a*168|0)+156|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[1460224+(a*168|0)+156>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Vr(b,c){b=b|0;c=c|0;b=b&255;a[1460224+(b*168|0)+28>>0]=c&1;a[1460224+(b*168|0)+60>>0]=c>>>1&1;a[1460224+(b*168|0)+92>>0]=c>>>2&1;a[1460224+(b*168|0)+124>>0]=c>>>3&1;return}function Wr(a,b){a=a|0;b=b|0;a=a&255;c[1460224+(a*168|0)+160>>2]=5;c[1460224+(a*168|0)+164>>2]=b;return} -function _b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;if((c[ja>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else ka=4;do if((ka|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);k=b+96|0;l=b+144|0;m=a+7400|0;n=b+360|0;o=a+7404|0;p=b+204|0;q=b+252|0;r=a+7408|0;s=b+420|0;t=b+468|0;u=a+7412|0;v=b+40|0;w=b+148|0;x=b+364|0;y=b+256|0;z=b+472|0;A=b+124|0;B=b+156|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;j=0;do{c[m>>2]=c[l>>2];c[o>>2]=c[n>>2];c[r>>2]=c[q>>2];c[u>>2]=c[t>>2];h=(M(c[a+6376+(j<<2)>>2]|0,c[v>>2]|0)|0)>>9;i=c[w>>2]|0;if(!h){c[l>>2]=(c[l>>2]|0)+i;c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[y>>2]|0);h=(c[t>>2]|0)+(c[z>>2]|0)|0}else{i=((M(h,i)|0)>>9)+i|0;c[l>>2]=i+(c[l>>2]|0);i=c[x>>2]|0;la=(M(i,h)|0)>>9;c[n>>2]=(c[n>>2]|0)+i+la;la=c[y>>2]|0;i=(M(la,h)|0)>>9;c[q>>2]=(c[q>>2]|0)+la+i;i=c[z>>2]|0;h=(M(i,h)|0)>>9;h=(c[t>>2]|0)+i+h|0}c[t>>2]=h;i=c[a+5352+(j<<2)>>2]|0;h=(c[C>>2]|0)+(c[47472+(c[B>>2]>>16<<2)>>2]|0)|0;if(c[A>>2]&4){c[E>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;h=(i>>c[D>>2])+h|0}c[E>>2]=h;h=(c[G>>2]|0)+(c[47472+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;h=(i>>c[H>>2])+h|0}c[I>>2]=h;h=(c[K>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;h=(i>>c[L>>2])+h|0}c[N>>2]=h;h=(c[P>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=25}}else ka=25;if((ka|0)==25){ka=0;h=(i>>c[Q>>2])+h|0}c[R>>2]=h;la=(c[B>>2]|0)+(c[S>>2]|0)|0;c[B>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](k);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[g>>2]|0)+(c[X>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](p);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](s);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);i=c[b>>2]|0;c[ba>>2]=i;c[b>>2]=c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];i=(c[o>>2]|0)+i|0;c[o>>2]=i;i=(c[(c[80272+((i>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[80272+(((c[u>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[80272+(((c[r>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;h=i>>15;c[da>>2]=h;if((i|0)<=402653183){if((i|0)<-402620416){h=-12287;ka=36}}else{h=12287;ka=36}if((ka|0)==36){ka=0;c[da>>2]=h}la=(c[d>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&h);la=(c[ha>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);j=j+1|0}while((j|0)<(e|0));return}function $b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+96|0;ja=b+156|0;if(((c[ja>>2]|0)==536870912?(h=b+372|0,(c[h>>2]|0)==536870912):0)?(f=b+264|0,(c[f>>2]|0)==536870912):0){g=b+480|0;if(!((c[g>>2]|0)!=536870912&(e|0)>0))return}else ka=5;do if((ka|0)==5)if((e|0)>0){f=b+264|0;g=b+480|0;h=b+372|0;break}else return;while(0);l=b+144|0;m=a+7400|0;n=b+312|0;o=b+360|0;p=a+7404|0;q=b+204|0;r=b+252|0;s=a+7408|0;t=b+420|0;u=b+468|0;v=a+7412|0;w=b+40|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;k=0;do{c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];i=(M(c[a+6376+(k<<2)>>2]|0,c[w>>2]|0)|0)>>9;j=c[x>>2]|0;if(!i){c[l>>2]=(c[l>>2]|0)+j;c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);i=(c[u>>2]|0)+(c[A>>2]|0)|0}else{j=((M(i,j)|0)>>9)+j|0;c[l>>2]=j+(c[l>>2]|0);j=c[y>>2]|0;la=(M(j,i)|0)>>9;c[o>>2]=(c[o>>2]|0)+j+la;la=c[z>>2]|0;j=(M(la,i)|0)>>9;c[r>>2]=(c[r>>2]|0)+la+j;j=c[A>>2]|0;i=(M(j,i)|0)>>9;i=(c[u>>2]|0)+j+i|0}c[u>>2]=i;j=c[a+5352+(k<<2)>>2]|0;i=(c[C>>2]|0)+(c[47472+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4){c[E>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=14}}else ka=14;if((ka|0)==14){ka=0;i=(j>>c[D>>2])+i|0}c[E>>2]=i;i=(c[G>>2]|0)+(c[47472+(c[h>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=18}}else ka=18;if((ka|0)==18){ka=0;i=(j>>c[H>>2])+i|0}c[I>>2]=i;i=(c[K>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=22}}else ka=22;if((ka|0)==22){ka=0;i=(j>>c[L>>2])+i|0}c[N>>2]=i;i=(c[P>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=26}}else ka=26;if((ka|0)==26){ka=0;i=(j>>c[Q>>2])+i|0}c[R>>2]=i;la=(c[ja>>2]|0)+(c[S>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ia);la=(c[h>>2]|0)+(c[U>>2]|0)|0;c[h>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](n);la=(c[f>>2]|0)+(c[X>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](q);la=(c[g>>2]|0)+(c[_>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](t);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);j=c[b>>2]|0;c[ba>>2]=j;c[b>>2]=c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];j=(c[(c[80272+(((c[v>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+j+(c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[80272+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;i=j>>15;c[da>>2]=i;if((j|0)<=402653183){if((j|0)<-402620416){i=-12287;ka=37}}else{i=12287;ka=37}if((ka|0)==37){ka=0;c[da>>2]=i}la=(c[d>>2]|0)+(k<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&i);la=(c[ha>>2]|0)+(k<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);k=k+1|0}while((k|0)<(e|0));return}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[47472+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[47472+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[s>>2]|0)+a|0;c[s>>2]=a;a=(c[v>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;c[v>>2]=a;a=(c[x>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[x>>2]=a;a=c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[857726]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[47472+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[47472+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[(c[80272+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)+a+(c[v>>2]|0)|0;c[v>>2]=a;a=(c[x>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[x>>2]=a;a=c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[857726]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[47472+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[47472+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);c[da>>2]=c[b>>2];c[b>>2]=c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[v>>2]|0)+(c[(c[80272+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;c[v>>2]=a;a=(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[da>>2]|0)+(c[x>>2]|0)|0;c[x>>2]=a;a=c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[857726]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[47472+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[47472+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[s>>2]|0)+a|0;c[s>>2]=a;a=(c[(c[80272+(((c[v>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)+(c[x>>2]|0)|0;c[x>>2]=a;a=c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[857726]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;N=b+312|0;Y=b+372|0;if((c[Y>>2]|0)==536870912?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[47472+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[L>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](m);g=(c[Y>>2]|0)+(c[U>>2]|0)|0;c[Y>>2]=g;if((g|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](N);g=(c[J>>2]|0)+(c[X>>2]|0)|0;c[J>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);a=c[b>>2]|0;c[ca>>2]=a;c[b>>2]=c[(c[80272+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];a=(c[q>>2]|0)+a|0;c[q>>2]=a;g=(c[w>>2]|0)+(c[(c[80272+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[w>>2]=g;g=(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=23}}else{a=12287;ga=23}if((ga|0)==23){ga=0;c[ea>>2]=a}g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[857726]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;J=b+312|0;V=b+372|0;if(((c[V>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[47472+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[47472+(c[V>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[L>>2]|0)+(c[47472+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](m);g=(c[V>>2]|0)+(c[U>>2]|0)|0;c[V>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](J);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);ha=c[b>>2]|0;c[ca>>2]=ha;c[b>>2]=c[(c[80272+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];ha=(c[q>>2]|0)+ha|0;c[q>>2]=ha;g=(c[t>>2]|0)+(c[ca>>2]|0)|0;c[t>>2]=g;a=(c[w>>2]|0)+(c[ca>>2]|0)|0;c[w>>2]=a;g=(c[(c[80272+((ha>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=24}}else{a=12287;ga=24}if((ga|0)==24){ga=0;c[ea>>2]=a}g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{g=g&16383;c[857726]=g;ha=M(a,g^16383)|0;ha=(M(c[i>>2]|0,g)|0)+ha>>14;c[i>>2]=ha;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(ha&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;J=b+312|0;V=b+372|0;if(((c[V>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[47472+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[47472+(c[V>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[L>>2]|0)+(c[47472+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](m);g=(c[V>>2]|0)+(c[U>>2]|0)|0;c[V>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](J);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[80272+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];g=(c[q>>2]|0)+g|0;c[q>>2]=g;g=(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+(((c[w>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[80272+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=24}}else{a=12287;ga=24}if((ga|0)==24){ga=0;c[ea>>2]=a}g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[857726]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;G=b+96|0;S=b+156|0;if((((c[S>>2]|0)==536870912?(c[b+372>>2]|0)==536870912:0)?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;m=b+144|0;n=a+7400|0;o=b+312|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+108|0;D=a+7416|0;E=b+340|0;F=b+372|0;H=b+324|0;I=a+7420|0;J=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[m>>2]=(c[m>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[C>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[D>>2]=a;a=(c[H>>2]|0)+(c[47472+(c[F>>2]>>16<<2)>>2]|0)|0;if(c[E>>2]&4)a=(a|0)>4095?0:a^4095;c[I>>2]=a;a=(c[L>>2]|0)+(c[47472+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[S>>2]|0)+(c[T>>2]|0)|0;c[S>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](G);g=(c[F>>2]|0)+(c[V>>2]|0)|0;c[F>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](o);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[n>>2]=(c[n>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[80272+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[D>>2]<<2)>>2];g=(c[(c[80272+(((c[w>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+g+(c[(c[80272+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[80272+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=25}}else{a=12287;ga=25}if((ga|0)==25){ga=0;c[ea>>2]=a}g=(c[857726]|0)+(c[h>>2]|0)|0;c[857726]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[857726]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[47472+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[n>>2]|0)+f|0;c[n>>2]=f;f=(c[q>>2]|0)+(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[q>>2]=f;f=(c[s>>2]|0)+(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[s>>2]=f;f=c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[857726]|0)+(c[ga>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[47472+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[(c[80272+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+f+(c[q>>2]|0)|0;c[q>>2]=f;f=(c[s>>2]|0)+(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[s>>2]=f;f=c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[857726]|0)+(c[ga>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[47472+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);c[da>>2]=c[b>>2];c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[q>>2]|0)+(c[(c[80272+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[q>>2]=f;f=(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[da>>2]|0)+(c[s>>2]|0)|0;c[s>>2]=f;f=c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[857726]|0)+(c[ga>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[47472+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[n>>2]|0)+f|0;c[n>>2]=f;f=(c[(c[80272+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[s>>2]|0)|0;c[s>>2]=f;f=c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[857726]|0)+(c[ga>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;I=b+312|0;U=b+372|0;if((c[U>>2]|0)==536870912?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=11}}else ma=11;if((ma|0)==11){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[U>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=15}}else ma=15;if((ma|0)==15){ma=0;f=(h>>c[F>>2])+f|0}c[G>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=19}}else ma=19;if((ma|0)==19){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=23}}else ma=23;if((ma|0)==23){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[U>>2]|0)+(c[W>>2]|0)|0;c[U>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](I);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[m>>2]|0)+f|0;c[m>>2]=f;h=(c[s>>2]|0)+(c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;c[s>>2]=h;h=(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=34}}else{f=12287;ma=34}if((ma|0)==34){ma=0;c[fa>>2]=f}h=(c[857726]|0)+(c[ha>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;F=b+312|0;R=b+372|0;if(((c[R>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=12}}else ma=12;if((ma|0)==12){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=16}}else ma=16;if((ma|0)==16){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=20}}else ma=20;if((ma|0)==20){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=24}}else ma=24;if((ma|0)==24){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[z>>2]|0)+(c[U>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[R>>2]|0)+(c[W>>2]|0)|0;c[R>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](F);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);na=c[b>>2]|0;c[da>>2]=na;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];na=(c[m>>2]|0)+na|0;c[m>>2]=na;h=(c[p>>2]|0)+(c[da>>2]|0)|0;c[p>>2]=h;f=(c[s>>2]|0)+(c[da>>2]|0)|0;c[s>>2]=f;h=(c[(c[80272+((na>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+((f>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=35}}else{f=12287;ma=35}if((ma|0)==35){ma=0;c[fa>>2]=f}h=(c[857726]|0)+(c[ha>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;F=b+312|0;R=b+372|0;if(((c[R>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[47472+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=12}}else ma=12;if((ma|0)==12){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=16}}else ma=16;if((ma|0)==16){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=20}}else ma=20;if((ma|0)==20){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[47472+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=24}}else ma=24;if((ma|0)==24){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[z>>2]|0)+(c[U>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[R>>2]|0)+(c[W>>2]|0)|0;c[R>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](F);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);h=c[b>>2]|0;c[da>>2]=h;c[b>>2]=c[(c[80272+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];h=(c[m>>2]|0)+h|0;c[m>>2]=h;h=(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=35}}else{f=12287;ma=35}if((ma|0)==35){ma=0;c[fa>>2]=f}h=(c[857726]|0)+(c[ha>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;C=b+96|0;O=b+156|0;if((((c[O>>2]|0)==536870912?(c[b+372>>2]|0)==536870912:0)?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[857726]=c[a+80>>2];if((e|0)<=0)return;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+108|0;A=b+196|0;B=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;P=b+448|0;Q=b+480|0;R=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[i>>2]=h+(c[i>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[z>>2]|0)+(c[47472+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=13}}else ma=13;if((ma|0)==13){ma=0;f=(h>>c[A>>2])+f|0}c[B>>2]=f;f=(c[F>>2]|0)+(c[47472+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=17}}else ma=17;if((ma|0)==17){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=21}}else ma=21;if((ma|0)==21){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[R>>2]|0)+(c[47472+(c[Q>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=25}}else ma=25;if((ma|0)==25){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[O>>2]|0)+(c[U>>2]|0)|0;c[O>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](C);na=(c[E>>2]|0)+(c[W>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](k);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[Q>>2]|0)+(c[aa>>2]|0)|0;c[Q>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[j>>2]=(c[j>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);h=c[b>>2]|0;c[da>>2]=h;c[b>>2]=c[(c[80272+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];h=(c[(c[80272+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+h+(c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=36}}else{f=12287;ma=36}if((ma|0)==36){ma=0;c[fa>>2]=f}h=(c[857726]|0)+(c[ha>>2]|0)|0;c[857726]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[857726]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function qc(a){a=a|0;c[a+60>>2]=268435456;c[a+64>>2]=c[a+76>>2];c[a+68>>2]=c[a+16>>2];c[a+56>>2]=1;return}function rc(a){a=a|0;c[a+60>>2]=c[a+16>>2];c[a+64>>2]=c[a+80>>2];c[a+68>>2]=536870912;c[a+56>>2]=2;return}function sc(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(c[11069]|0)){c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}e=a+28|0;f=c[e>>2]|0;if(!(f&8)){c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}b=a+60|0;if(!(f&1)){c[b>>2]=0;d=c[a+72>>2]|0;c[a+56>>2]=0;b=268435456}else{c[b>>2]=536870912;b=536870913;d=0}c[a+64>>2]=d;c[a+68>>2]=b;c[e>>2]=f<<1&4^f;return}function tc(a){a=a|0;c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}function uc(a){a=a|0;return}function vc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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=0.0,B=0,C=0;v=b&255;x=f<<2;nz(c[e>>2]|0,0,x|0)|0;w=e+4|0;nz(c[w>>2]|0,0,x|0)|0;x=229872+(v*8356|0)+8|0;y=229872+(v*8356|0)+8336|0;t=229872+(v*8356|0)|0;u=(f|0)>0;s=0;do{r=(s<<3)+(229872+(v*8356|0)+16)|0;g=a[r>>0]|0;b=g&255;do if(b&1|0?(a[229872+(v*8356|0)+8340+s>>0]|0)==0:0){i=c[e>>2]|0;j=c[w>>2]|0;h=b>>>7;if(!(b&2)){m=c[x>>2]|0;l=m+(d[r+4>>0]<<12)|0;m=m+(1048576-(d[r+5>>0]<<12))|0;o=d[r+1>>0]|0;n=o>>>4;o=o&15;p=229872+(v*8356|0)+8208+(s<<2)|0;b=c[p>>2]|0;k=(d[r+2>>0]|0)>>>h;k=~~(+((c[y>>2]|0)>>>0)*.0001220703125*((k|0)==0?4.0:+(k|0))*256.0/+(c[t>>2]|0))>>>0;a:do if(u){h=i;i=0;while(1){g=l+(b>>>8)|0;if(g>>>0>=m>>>0)break;q=(a[g>>0]|0)*546|0;g=(M(q,n)|0)/256|0;c[h>>2]=(c[h>>2]|0)+g;q=(M(q,o)|0)/256|0;c[j>>2]=(c[j>>2]|0)+q;b=b+k|0;i=i+1|0;if((i|0)>=(f|0))break a;else{j=j+4|0;h=h+4|0}}a[r>>0]=a[r>>0]&-2}while(0);c[p>>2]=b;break}o=(d[r+1>>0]<<7)+4096+(229872+(v*8356|0)+16)|0;q=229872+(v*8356|0)+8208+(s<<2)|0;b=c[q>>2]|0;A=+((c[y>>2]|0)>>>0)*.0078125*.0009765625*.25;z=+(c[t>>2]|0);l=~~(A*+((d[r+3>>0]<<8|d[r+2>>0])>>>h|0)*256.0/z)>>>0;m=(d[r+5>>0]<<7)+(229872+(v*8356|0)+16)|0;p=229872+(v*8356|0)+8272+(s<<2)|0;h=c[p>>2]|0;n=~~(A*+(d[r+4>>0]|0)*65536.0/z)>>>0;b:do if(u){if(!(h>>>0>8388607&(g&4)!=0)){k=0;while(1){g=d[m+(h>>>16&127)>>0]|0;B=(a[o+(b>>>8&127)>>0]|0)*546|0;C=(M(B,g>>>4)|0)/256|0;c[i>>2]=C+(c[i>>2]|0);g=(M(B,g&15)|0)/256|0;c[j>>2]=g+(c[j>>2]|0);b=b+l|0;h=h+n|0;k=k+1|0;if((k|0)>=(f|0)){g=h;break b}g=a[r>>0]|0;if(h>>>0>8388607&(g&4)!=0)break;else{i=i+4|0;j=j+4|0}}}a[r>>0]=g&-2;g=h}else g=h;while(0);c[q>>2]=b;c[p>>2]=g}while(0);s=s+1|0}while((s|0)!=16);return}function wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){f=0;return f|0}f=b&255;c[229872+(f*8356|0)+4>>2]=0;c[229872+(f*8356|0)+8>>2]=0;c[229872+(f*8356|0)+8336>>2]=d;e=(d|0)/1024|0;d=229872+(f*8356|0)|0;c[d>>2]=e;g=a[3432185]|0;b=c[857788]|0;if(g<<24>>24==2|(g&1)!=0&(e|0)<(b|0)){c[d>>2]=b;e=b}b=229872+(f*8356|0)+8208|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g=e;return g|0}function xc(a){a=a|0;a=229872+((a&255)*8356|0)+8|0;fx(c[a>>2]|0);c[a>>2]=0;return}function yc(a){a=a|0;nz(229872+((a&255)*8356|0)+16|0,0,8320)|0;return}function zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=b&255;f=d>>>3;g=229872+(b*8356|0)+16+d|0;if(d&-121|0){a[g>>0]=e;return}if((e&1)==0|(a[g>>0]&1)!=0){a[g>>0]=e;return}c[229872+(b*8356|0)+8208+(f<<2)>>2]=0;c[229872+(b*8356|0)+8272+(f<<2)>>2]=0;a[g>>0]=e;return}function Ac(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=229872+(a*8356|0)+4|0;if((c[g>>2]|0)!=(b|0)){i=229872+(a*8356|0)+8|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[229872+(a*8356|0)+8>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Bc(b,c){b=b|0;c=c|0;b=b&255;a[229872+(b*8356|0)+8340>>0]=c&1;a[229872+(b*8356|0)+8341>>0]=c>>>1&1;a[229872+(b*8356|0)+8342>>0]=c>>>2&1;a[229872+(b*8356|0)+8343>>0]=c>>>3&1;a[229872+(b*8356|0)+8344>>0]=c>>>4&1;a[229872+(b*8356|0)+8345>>0]=c>>>5&1;a[229872+(b*8356|0)+8346>>0]=c>>>6&1;a[229872+(b*8356|0)+8347>>0]=c>>>7&1;a[229872+(b*8356|0)+8348>>0]=c>>>8&1;a[229872+(b*8356|0)+8349>>0]=c>>>9&1;a[229872+(b*8356|0)+8350>>0]=c>>>10&1;a[229872+(b*8356|0)+8351>>0]=c>>>11&1;a[229872+(b*8356|0)+8352>>0]=c>>>12&1;a[229872+(b*8356|0)+8353>>0]=c>>>13&1;a[229872+(b*8356|0)+8354>>0]=c>>>14&1;a[229872+(b*8356|0)+8355>>0]=c>>>15&1;return}function Cc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){f=0;return f|0}f=b&255;c[246592+(f*424|0)+412>>2]=ex(16384)|0;c[246592+(f*424|0)+416>>2]=d;d=c[857782]|0;e=246592+(f*424|0)+420|0;c[e>>2]=d;g=a[3432185]|0;b=c[857788]|0;if(g<<24>>24==2|(g&1)!=0&(d|0)<(b|0))c[e>>2]=b;else b=d;a[246592+(f*424|0)+24>>0]=0;a[246592+(f*424|0)+52>>0]=0;a[246592+(f*424|0)+80>>0]=0;a[246592+(f*424|0)+108>>0]=0;g=b;return g|0}function Dc(b){b=b|0;var d=0,e=0;d=b&255;e=246592+(d*424|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[246592+(d*424|0)+120>>2]=0;c[246592+(d*424|0)+124>>2]=0;c[246592+(d*424|0)+136>>2]=0;c[246592+(d*424|0)+140>>2]=1;c[246592+(d*424|0)+144>>2]=2;c[246592+(d*424|0)+148>>2]=0;c[246592+(d*424|0)+152>>2]=0;c[246592+(d*424|0)+112>>2]=(c[246592+(d*424|0)+416>>2]<<8|0)/(c[246592+(d*424|0)+420>>2]|0)|0;c[246592+(d*424|0)+116>>2]=0;d=128;do{Ec(b,d&255,a[13488+d>>0]|0);d=d+1|0}while((d|0)!=201);return}function Ec(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0;h=b&255;b=(e&255)+(246592+(h*424|0)+156)|0;a[b>>0]=f;do switch(e<<24>>24){case -127:case -128:{b=(d[246592+(h*424|0)+285>>0]|0)<<8|(d[246592+(h*424|0)+284>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[246592+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[246592+(h*424|0)+16>>2]=~~(g/+(c[246592+(h*424|0)+420>>2]|0));return}case -125:case -126:{b=(d[246592+(h*424|0)+287>>0]|0)<<8|(d[246592+(h*424|0)+286>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[246592+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[246592+(h*424|0)+44>>2]=~~(g/+(c[246592+(h*424|0)+420>>2]|0));return}case -123:case -124:{b=(d[246592+(h*424|0)+289>>0]|0)<<8|(d[246592+(h*424|0)+288>>0]|0);c[246592+(h*424|0)+132>>2]=b;if((b|0)==65535)g=0.0;else g=+((c[246592+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[246592+(h*424|0)+72>>2]=~~(g/+(c[246592+(h*424|0)+420>>2]|0));return}case -121:case -122:{b=(d[246592+(h*424|0)+291>>0]|0)<<8|(d[246592+(h*424|0)+290>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[246592+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[246592+(h*424|0)+100>>2]=~~(g/+(c[246592+(h*424|0)+420>>2]|0));return}case -120:{f=f&255;c[246592+(h*424|0)+4>>2]=f>>>4;c[246592+(h*424|0)+8>>2]=f&15;return}case -119:{f=f&255;c[246592+(h*424|0)+32>>2]=f>>>4;c[246592+(h*424|0)+36>>2]=f&15;return}case -118:{f=f&255;c[246592+(h*424|0)+60>>2]=f>>>4;c[246592+(h*424|0)+64>>2]=f&15;return}case -117:{f=f&255;c[246592+(h*424|0)+88>>2]=f>>>4;c[246592+(h*424|0)+92>>2]=f&15;return}case -116:{c[246592+(h*424|0)+124>>2]=f<<24>>24;return}case -115:{f=((f&255)<<5)+32|0;c[246592+(h*424|0)+120>>2]=f;c[246592+(h*424|0)+128>>2]=f;return}case -114:{f=f&255;c[246592+(h*424|0)+136>>2]=f&7;if(!(f&8))return;c[246592+(h*424|0)+140>>2]=1;return}case -113:{f=(f&255)<<6;c[246592+(h*424|0)>>2]=f;e=f|16;c[246592+(h*424|0)+28>>2]=e;c[246592+(h*424|0)+56>>2]=e+16;c[246592+(h*424|0)+84>>2]=f|48;return}case -108:{f=f&255;c[246592+(h*424|0)+148>>2]=f<<1&24;c[246592+(h*424|0)+152>>2]=f<<3&24;return}case -111:{a[b>>0]=f|-128;return}default:return}while(0)}function Fc(a){a=a|0;a=246592+((a&255)*424|0)+412|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Gc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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;F=b&255;G=246592+(F*424|0)|0;H=c[e>>2]|0;D=c[e+4>>2]|0;if((f|0)<=0)return;E=246592+(F*424|0)+112|0;q=246592+(F*424|0)+116|0;r=246592+(F*424|0)+300|0;s=246592+(F*424|0)+293|0;t=246592+(F*424|0)+148|0;u=246592+(F*424|0)+152|0;v=246592+(F*424|0)+412|0;w=246592+(F*424|0)+140|0;x=246592+(F*424|0)+302|0;y=246592+(F*424|0)+303|0;z=246592+(F*424|0)+136|0;A=246592+(F*424|0)+144|0;B=246592+(F*424|0)+88|0;C=246592+(F*424|0)+92|0;p=0;do{b=(c[q>>2]|0)+(c[E>>2]|0)|0;c[q>>2]=b;if((b|0)>65535)do{c[q>>2]=b+-65536;Hc(G);b=c[q>>2]|0}while((b|0)>65535);b=0;e=0;o=0;do{do if(!(a[246592+(F*424|0)+(o*28|0)+24>>0]|0)){g=a[r>>0]|0;if(!((o|0)!=1|(g&32)==0)){n=(d[s>>0]|0)+-128|0;e=(M(n,c[t>>2]|0)|0)+e|0;b=(M(c[u>>2]|0,n)|0)+b|0;break}g=g&255;if(1<>2]|0)+(c[246592+(F*424|0)+(o*28|0)+16>>2]|0)|0;if((o|0)!=3|(g&128|0)==0){c[h>>2]=i&65535;l=246592+(F*424|0)+(o*28|0)+20|0;m=(c[l>>2]|0)+(i>>>16)|0;n=m&31;c[l>>2]=n;n=d[(c[v>>2]|0)+(c[246592+(F*424|0)+(o*28|0)>>2]&65520|n>>>1)>>0]|0;n=(((m&1|0)==0?n<<4:n)&240)+-128|0;e=(M(n,c[246592+(F*424|0)+(o*28|0)+4>>2]|0)|0)+e|0;b=(M(n,c[246592+(F*424|0)+(o*28|0)+8>>2]|0)|0)+b|0;break}c[h>>2]=i&65535;if((i|0)>65535){n=c[z>>2]|0;l=c[15040+(n<<2)>>2]|0;m=l+-1|0;n=c[15072+(n<<2)>>2]|0;j=i>>>16;g=c[w>>2]|0;do{k=j;j=j+-1|0;i=g&m;i=(i|0)==0?m:i;g=i&n;if(g){h=0;do{h=h^g&1;g=g>>1}while((g|0)!=0);if(h)g=l;else I=19}else I=19;if((I|0)==19){I=0;g=0}g=(i|g)>>1}while((k|0)>1);c[w>>2]=g}else g=c[w>>2]|0;a[x>>0]=g;a[y>>0]=g>>>8&127;n=(g&1|0)==0?-128:127;e=(M(c[B>>2]|0,n)|0)+e|0;b=(M(c[C>>2]|0,n)|0)+b|0}}while(0);o=o+1|0}while((o|0)!=4);c[H+(p<<2)>>2]=M(c[A>>2]|0,e)|0;c[D+(p<<2)>>2]=M(c[A>>2]|0,b)|0;p=p+1|0}while((p|0)!=(f|0));return}function Hc(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+124>>2]|0;if(!e)return;if(!(a[b+300>>0]&64))return;f=b+128|0;d=c[f>>2]|0;if((d|0)<0){d=c[b+120>>2]|0;c[f>>2]=d;g=b+132|0;e=(c[g>>2]|0)+e&2047;c[g>>2]=e;c[b+72>>2]=~~(+((c[b+416>>2]|0)/(2048-e|0)|0|0)*65536.0/+(c[b+420>>2]|0))}c[f>>2]=d+-1;return}function Ic(b,d,e){b=b|0;d=d|0;e=e|0;if((d&65535)>16383)return;a[(c[246592+((b&255)*424|0)+412>>2]|0)+(d&65535)>>0]=e;return}function Jc(b,c){b=b|0;c=c|0;b=b&255;a[246592+(b*424|0)+24>>0]=c&1;a[246592+(b*424|0)+52>>0]=c>>>1&1;a[246592+(b*424|0)+80>>0]=c>>>2&1;a[246592+(b*424|0)+108>>0]=c>>>3&1;return}function Kc(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0;h=d&255;d=f<<2&2044;if(d>>>0<640){a[(f&31)+(247440+(h*536|0)+49+(d>>>7<<5))>>0]=g&63;return}if(d>>>0<1024){a[(f&31)+(247440+(h*536|0)+209)>>0]=g;return}if(d>>>0>=1536)return;i=f>>>4&15;if(i>>>0>5){if((d|0)!=1408|(g&1)==0)return;i=247440+(h*536|0)|0;a[i>>0]=a[i>>0]&127;i=247440+(h*536|0)+1|0;a[i>>0]=a[i>>0]&127;i=247440+(h*536|0)+2|0;a[i>>0]=a[i>>0]&127;i=247440+(h*536|0)+3|0;a[i>>0]=a[i>>0]&127;i=247440+(h*536|0)+4|0;a[i>>0]=a[i>>0]&127;i=247440+(h*536|0)+5|0;a[i>>0]=a[i>>0]&127;return}switch(f&15){case 0:{d=g&255;a[247440+(h*536|0)+i>>0]=d&191;if(!(d&128))return;g=e[247440+(h*536|0)+18+(i<<1)>>1]|0;c[247440+(h*536|0)+244+(i<<2)>>2]=g;f=(i|0)==5;g=2048-g|0;c[247440+(h*536|0)+344+(i<<2)>>2]=f?g*10|0:g;c[247440+(h*536|0)+368+(i<<2)>>2]=(d&31)+1;c[247440+(h*536|0)+392+(i<<2)>>2]=(b[247440+(h*536|0)+30+(i<<1)>>1]&7)+1&65535;if((i|0)==4){g=a[247440+(h*536|0)+48>>0]|0;c[247440+(h*536|0)+416>>2]=(g&255)>>>4&7;c[247440+(h*536|0)+492>>2]=g<<24>>24<0?8:1;c[247440+(h*536|0)+316>>2]=0}c[247440+(h*536|0)+292+(i<<2)>>2]=0;if(f)c[247440+(h*536|0)+504>>2]=1;c[247440+(h*536|0)+420+(i<<2)>>2]=4800;c[247440+(h*536|0)+444+(i<<2)>>2]=4;c[247440+(h*536|0)+468+(i<<2)>>2]=4;return}case 1:{a[247440+(h*536|0)+6+i>>0]=(g&255)>>>4;a[247440+(h*536|0)+12+i>>0]=g&15;return}case 2:{f=247440+(h*536|0)+18+(i<<1)|0;g=g&255;b[f>>1]=b[f>>1]&-256&65535|g;i=247440+(h*536|0)+244+(i<<2)|0;c[i>>2]=c[i>>2]&65280|g;return}case 3:{f=247440+(h*536|0)+18+(i<<1)|0;g=(g&7)<<8;b[f>>1]=g|b[f>>1]&255;i=247440+(h*536|0)+244+(i<<2)|0;c[i>>2]=c[i>>2]&255|g;return}case 4:{f=247440+(h*536|0)+30+(i<<1)|0;g=g&255;b[f>>1]=b[f>>1]&-256&65535|g;c[247440+(h*536|0)+268+(i<<2)>>2]=g>>>4;return}case 5:{f=247440+(h*536|0)+30+(i<<1)|0;h=b[f>>1]&255;b[f>>1]=h;if((i|0)==4){b[f>>1]=(g&115)<<8|h&65535;return}d=(g&255)<<8;if((i|0)==5){b[f>>1]=d&29440|h&65535;return}else{b[f>>1]=d&768|h&65535;return}}case 6:{a[247440+(h*536|0)+42+i>>0]=g&15;return}case 7:{if((i|0)!=4)return;a[247440+(h*536|0)+48>>0]=g;return}default:return}}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=a&255;i=247440+(a*536|0)|0;if((d|0)<=0)return;j=247440+(a*536|0)+528|0;k=247440+(a*536|0)+512|0;l=247440+(a*536|0)+516|0;m=247440+(a*536|0)+532|0;h=b+4|0;e=247440+(a*536|0)+508|0;a=0;do{g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=c[k>>2]|0;g=gz(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=c[l>>2]|0;f=ez(g|0,x|0,f|0,((f|0)<0)<<31>>31|0)|0;c[m>>2]=f;Mc(i,f,(c[b>>2]|0)+(a<<2)|0,(c[h>>2]|0)+(a<<2)|0);f=c[e>>2]|0;g=c[k>>2]|0;if((f|0)>=(g|0)){c[e>>2]=f-g;c[m>>2]=(c[m>>2]|0)-g;c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)}g=(c[b>>2]|0)+(a<<2)|0;c[g>>2]=c[g>>2]<<3;g=(c[h>>2]|0)+(a<<2)|0;c[g>>2]=c[g>>2]<<3;a=a+1|0}while((a|0)!=(d|0));return}function Mc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;c[g>>2]=0;c[h>>2]=0;R=d+508|0;S=d+496|0;T=d+504|0;U=d+40|0;V=d+500|0;W=d+492|0;z=d+48|0;A=d+416|0;B=d+316|0;y=0;do{i=f-(c[R>>2]|0)|0;D=d+y|0;if((a[D>>0]|0)<0?(a[d+520+y>>0]|0)==0:0){if((i|0)>0){E=d+420+(y<<2)|0;F=(y|0)==5;G=d+344+(y<<2)|0;H=d+244+(y<<2)|0;I=d+320+(y<<2)|0;J=d+292+(y<<2)|0;K=d+444+(y<<2)|0;L=(y|0)==4;M=d+468+(y<<2)|0;N=d+368+(y<<2)|0;O=d+30+(y<<1)|0;P=d+392+(y<<2)|0;Q=d+268+(y<<2)|0;j=c[E>>2]|0;do{k=(i|0)>(j|0)?j:i;if(F)j=S;else j=(c[H>>2]|0)>2039?I:G;x=c[j>>2]|0;x=(k|0)>(x|0)?x:k;j=(c[G>>2]|0)-x|0;c[G>>2]=j;if((j|0)<1)do if(F){j=c[T>>2]|0;c[T>>2]=(j>>>(c[15104+(((e[U>>1]|0)>>>12&7)<<2)>>2]|0)^j>>>7)&1|j<<1&32766;j=((2048-(c[H>>2]|0)|0)*10|0)+(c[G>>2]|0)|0;c[G>>2]=j}else{j=j+2048-(c[H>>2]|0)|0;c[G>>2]=j;c[J>>2]=(c[J>>2]|0)+1&31}while((j|0)<1);v=c[I>>2]|0;w=v-x|0;w=x+119+((w|0)>1?w:1)-v|0;c[I>>2]=v+(w-((w>>>0)%120|0))-x;if(F?(w=(c[S>>2]|0)-x|0,c[S>>2]=w,(w|0)==0):0){c[S>>2]=120;c[V>>2]=0-(c[T>>2]&1)&63}j=(c[E>>2]|0)-x|0;c[E>>2]=j;if((j|0)<1)do{c[E>>2]=j+4800;v=c[K>>2]|0;j=v+-1|0;c[K>>2]=j;if((v|0)<2){w=((j|0)>-3?j:-3)+4-v|0;k=c[M>>2]|0;l=a[D>>0]|0;do{u=j;j=j+4|0;if((l&32)!=0?(t=(c[N>>2]|0)+-1|0,c[N>>2]=t,(t|0)==0):0){l=l&127;a[D>>0]=l}m=k+-1|0;if((k|0)<2){p=((m|0)>-3?m:-3)+4-k|0;t=b[O>>1]|0;q=(t&256)==0;r=(t&7)+1&65535;t=t&65535;s=(t&8|0)==0;t=(t&512|0)==0;do{n=m;m=m+4|0;do if(!q){o=(c[P>>2]|0)+-1|0;c[P>>2]=o;if(o|0)break;c[P>>2]=r;o=c[Q>>2]|0;if(s){if(t&(o|0)<1)break;c[Q>>2]=o+15&15;break}else{if(t&(o|0)>14)break;c[Q>>2]=o+1&15;break}}while(0)}while((n|0)<-3);k=k+3+(p&-4)|0}else k=m}while((u|0)<-3);c[M>>2]=k;c[K>>2]=v+3+(w&-4)}if(L?(w=c[W>>2]|0,C=w+-1|0,c[W>>2]=C,(w|0)<2):0){j=C;do{k=a[z>>0]|0;j=(k<<24>>24<0?8:1)+j|0;c[W>>2]=j;if(k&112){do if(b[O>>1]&16384){w=c[A>>2]|0;j=w+-1|0;if(w|0?(c[A>>2]=j,j|0):0)break;j=k&255;c[A>>2]=j>>>4&7;k=e[O>>1]|0;if(!(k&4096)){w=c[H>>2]|0;v=w>>(j&7);j=((j&8|0)==0?0-v|0:v)+w|0;if((j|0)<0){c[H>>2]=0;break}if((j|0)>2047){a[D>>0]=a[D>>0]&127;break}else{c[H>>2]=j;break}}else{j=c[B>>2]|0;if((k&8192|0)==0&(j|0)>31)break;j=j&31;c[B>>2]=j;j=(c[H>>2]|0)+(a[d+209+j>>0]|0)|0;c[H>>2]=j;if((j|0)>=0){if((j|0)>2047){j=2047;X=48}}else{j=0;X=48}if((X|0)==48){X=0;c[H>>2]=j}c[B>>2]=(c[B>>2]|0)+1;break}}while(0);j=c[W>>2]|0}}while((j|0)<1)}j=c[E>>2]|0}while((j|0)<1);i=i-x|0}while((i|0)>0)}Nc(d,y,g,h)}y=y+1|0}while((y|0)!=6);c[R>>2]=f;return}function Nc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if((a[b+e>>0]|0)<0?(a[b+520+e>>0]|0)==0:0){if((e|0)!=5){h=a[b+42+e>>0]|0;if((h&255)>4)h=32;else h=d[(c[b+292+(e<<2)>>2]|0)+(b+49+((h&255)<<5))>>0]|0}else h=c[b+500>>2]|0;j=c[b+268+(e<<2)>>2]|0;i=M(j,d[b+6+e>>0]|0)|0;b=M(j,d[b+12+e>>0]|0)|0;e=h+-32|0;h=M((i|0)==0?0:(i>>3)+1|0,e)|0;c[f>>2]=h+(c[f>>2]|0);f=M((b|0)==0?0:(b>>3)+1|0,e)|0;c[g>>2]=f+(c[g>>2]|0);return}c[g>>2]=0;c[f>>2]=0;return}function Oc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;if((d&255)>1){g=0;return g|0}g=d&255;c[247440+(g*536|0)+512>>2]=e;e=(e|0)/120|0;f=247440+(g*536|0)+516|0;c[f>>2]=e;h=a[3432185]|0;d=c[857788]|0;if(h<<24>>24==2|(h&1)!=0&(e|0)<(d|0))c[f>>2]=d;else d=e;h=247440+(g*536|0)+520|0;c[h>>2]=0;b[h+4>>1]=0;h=d;return h|0}function Pc(a){a=a|0;a=a&255;Qc(247440+(a*536|0)|0);c[247440+(a*536|0)+528>>2]=0;c[247440+(a*536|0)+532>>2]=0;return}function Qc(b){b=b|0;var d=0,e=0,f=0,g=0;a[b+48>>0]=0;c[b+416>>2]=0;c[b+492>>2]=1;e=b+244|0;c[b+344>>2]=0;c[b+368>>2]=0;c[b+392>>2]=0;d=b+420|0;f=b;g=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));f=e;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d>>2]=4800;c[b+444>>2]=4;c[b+468>>2]=4;c[b+320>>2]=120;c[b+348>>2]=0;c[b+372>>2]=0;c[b+396>>2]=0;c[b+424>>2]=4800;c[b+448>>2]=4;c[b+472>>2]=4;c[b+324>>2]=120;c[b+352>>2]=0;c[b+376>>2]=0;c[b+400>>2]=0;c[b+428>>2]=4800;c[b+452>>2]=4;c[b+476>>2]=4;c[b+328>>2]=120;c[b+356>>2]=0;c[b+380>>2]=0;c[b+404>>2]=0;c[b+432>>2]=4800;c[b+456>>2]=4;c[b+480>>2]=4;c[b+332>>2]=120;c[b+360>>2]=0;c[b+384>>2]=0;c[b+408>>2]=0;c[b+436>>2]=4800;c[b+460>>2]=4;c[b+484>>2]=4;c[b+336>>2]=120;c[b+364>>2]=0;c[b+388>>2]=0;c[b+412>>2]=0;c[b+440>>2]=4800;c[b+464>>2]=4;c[b+488>>2]=4;c[b+340>>2]=120;c[b+496>>2]=120;c[b+500>>2]=0;c[b+508>>2]=0;nz(b+49|0,0,192)|0;return}function Rc(b,c){b=b|0;c=c|0;b=b&255;a[247440+(b*536|0)+520>>0]=c&1;a[247440+(b*536|0)+521>>0]=c>>>1&1;a[247440+(b*536|0)+522>>0]=c>>>2&1;a[247440+(b*536|0)+523>>0]=c>>>3&1;a[247440+(b*536|0)+524>>0]=c>>>4&1;a[247440+(b*536|0)+525>>0]=c>>>5&1;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=b&255;C=248512+(B*472|0)|0;if(!(c[248512+(B*472|0)+56>>2]|0)){D=e<<2;nz(c[d>>2]|0,0,D|0)|0;nz(c[d+4>>2]|0,0,D|0)|0;return}b=248512+(B*472|0)+464|0;switch(c[248512+(B*472|0)>>2]|0){case 0:{f=+(c[b>>2]|0)*.00390625*2.0;D=8;break}case 1:{f=+(c[b>>2]|0)*.001953125*2.0;D=8;break}case 2:{f=+(c[b>>2]|0)*.0009765625*2.0;D=8;break}case 3:{f=+h[248512+(B*472|0)+112>>3];D=8;break}default:{}}if((D|0)==8)h[248512+(B*472|0)+416>>3]=f;switch(c[248512+(B*472|0)+4>>2]|0){case 0:{f=+(c[b>>2]|0)*.00390625*2.0;D=47;break}case 1:{f=+(c[b>>2]|0)*.001953125*2.0;D=47;break}case 2:{f=+(c[b>>2]|0)*.0009765625*2.0;D=47;break}case 3:{f=+h[248512+(B*472|0)+280>>3];D=47;break}default:{}}if((D|0)==47)h[248512+(B*472|0)+440>>3]=f;if((e|0)<=0)return;q=((c[b>>2]|0)/512|0)<<1;r=248512+(B*472|0)+456|0;s=248512+(B*472|0)+40|0;t=248512+(B*472|0)+44|0;u=d+4|0;v=248512+(B*472|0)+416|0;w=248512+(B*472|0)+408|0;x=248512+(B*472|0)+424|0;y=248512+(B*472|0)+440|0;z=248512+(B*472|0)+432|0;A=248512+(B*472|0)+448|0;p=0;do{b=0;i=0;o=0;do{m=248512+(B*472|0)+72+(o*56|0)|0;n=248512+(B*472|0)+72+(o*56|0)+40|0;f=+h[n>>3];if(f==0.0){f=+(q<>2]|0)/(511.0-+(c[m>>2]|0));h[n>>3]=f}l=248512+(B*472|0)+72+(o*56|0)+32|0;f=+h[l>>3]-f;h[l>>3]=f;a:do if(f<0.0){g=248512+(B*472|0)+72+(o*56|0)+12|0;k=248512+(B*472|0)+72+(o*56|0)+48|0;while(1){h[n>>3]=+(q<>2]|0)/(511.0-+(c[m>>2]|0));f=f+ +h[r>>3];h[l>>3]=f;c[k>>2]=c[k>>2]^1;switch(o&2147483647|0){case 1:{if(!(c[s>>2]|0)){Tc(C,0);D=21}else D=21;break}case 4:{if(!(c[t>>2]|0)){Tc(C,1);D=21}else D=21;break}default:{}}if((D|0)==21){D=0;f=+h[l>>3]}if(!(f<0.0))break a}}while(0);do if(!(a[248512+(B*472|0)+72+(o*56|0)+52>>0]|0)){do if(c[248512+(B*472|0)+72+(o*56|0)+8>>2]|0){g=(M(c[248512+(B*472|0)+72+(o*56|0)+24>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+16>>2]|0)|0)/64|0;if(!(c[248512+(B*472|0)+408+(((o>>>0)/3|0)*24|0)+16>>2]&1)){i=i-((M(c[248512+(B*472|0)+72+(o*56|0)+28>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/64|0)|0;b=b-g|0;break}else{i=((M(c[248512+(B*472|0)+72+(o*56|0)+28>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/64|0)+i|0;b=g+b|0;break}}while(0);if(c[248512+(B*472|0)+72+(o*56|0)+4>>2]|0){g=(M(c[248512+(B*472|0)+72+(o*56|0)+24>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+16>>2]|0)|0)/32|0;if(!(c[248512+(B*472|0)+72+(o*56|0)+48>>2]&1)){i=i-((M(c[248512+(B*472|0)+72+(o*56|0)+28>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)|0;b=b-g|0;break}else{i=((M(c[248512+(B*472|0)+72+(o*56|0)+28>>2]|0,c[248512+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)+i|0;b=g+b|0;break}}}while(0);o=o+1|0}while((o|0)!=6);f=+h[w>>3]-+h[v>>3];h[w>>3]=f;if(f<0.0){j=+h[r>>3];g=c[x>>2]|0;do{f=f+j;g=((g>>>14^g>>>6)&1|g<<1)^1}while(f<0.0);h[w>>3]=f;c[x>>2]=g}f=+h[z>>3]-+h[y>>3];h[z>>3]=f;if(f<0.0){j=+h[r>>3];g=c[A>>2]|0;do{f=f+j;g=((g>>>14^g>>>6)&1|g<<1)^1}while(f<0.0);h[z>>3]=f;c[A>>2]=g}c[(c[d>>2]|0)+(p<<2)>>2]=(b|0)/6|0;c[(c[u>>2]|0)+(p<<2)>>2]=(i|0)/6|0;p=p+1|0}while((p|0)!=(e|0));return}function Tc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(c[a+8+(b<<2)>>2]|0)){j=b*3|0;h=j+2|0;c[a+72+(h*56|0)+28>>2]=16;i=j+1|0;c[a+72+(i*56|0)+28>>2]=16;c[a+72+(j*56|0)+28>>2]=16;c[a+72+(h*56|0)+24>>2]=16;c[a+72+(i*56|0)+24>>2]=16;c[a+72+(j*56|0)+24>>2]=16;return}f=c[a+24+(b<<2)>>2]|0;j=a+48+(b<<2)|0;e=c[j>>2]|0;e=e+1&63|e&32;c[j>>2]=e;j=(c[a+32+(b<<2)>>2]|0)==0?15:14;e=d[15136+(f<<6)+e>>0]|0;f=j&e;g=b*3|0;h=g+2|0;c[a+72+(h*56|0)+24>>2]=f;i=g+1|0;c[a+72+(i*56|0)+24>>2]=f;c[a+72+(g*56|0)+24>>2]=f;if(!(c[a+16+(b<<2)>>2]&1)){c[a+72+(h*56|0)+28>>2]=f;c[a+72+(i*56|0)+28>>2]=f;c[a+72+(g*56|0)+28>>2]=f;return}else{j=15-e&j;c[a+72+(h*56|0)+28>>2]=j;c[a+72+(i*56|0)+28>>2]=j;c[a+72+(g*56|0)+28>>2]=j;return}}function Uc(b,d){b=b|0;d=d|0;var e=0.0;if((b&255)>1){d=0;return d|0}b=b&255;c[248512+(b*472|0)+464>>2]=d;e=+(d|0)*.00390625;h[248512+(b*472|0)+456>>3]=e;a[248512+(b*472|0)+124>>0]=0;a[248512+(b*472|0)+180>>0]=0;a[248512+(b*472|0)+236>>0]=0;a[248512+(b*472|0)+292>>0]=0;a[248512+(b*472|0)+348>>0]=0;a[248512+(b*472|0)+404>>0]=0;d=~~(e+.5);return d|0}function Vc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a&255;b=248512+(j*472|0)+72|0;d=248512+(j*472|0)+128|0;e=248512+(j*472|0)+184|0;f=248512+(j*472|0)+240|0;g=248512+(j*472|0)+296|0;h=248512+(j*472|0)+352|0;i=248512+(j*472|0)+408|0;a=248512+(j*472|0)+432|0;j=248512+(j*472|0)+4|0;k=j+60|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=b;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=d;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=e;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=f;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=g;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=h;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Wc(a,b){a=a|0;b=b|0;var d=0;a=a&255;d=248512+(a*472|0)|0;c[248512+(a*472|0)+64>>2]=b&31;if((b&30)!=24)return;if(c[248512+(a*472|0)+40>>2]|0)Tc(d,0);if(!(c[248512+(a*472|0)+44>>2]|0))return;Tc(d,1);return}function Xc(a,b){a=a|0;b=b|0;var d=0;a=a&255;d=c[248512+(a*472|0)+64>>2]|0;switch(d|0){case 5:case 4:case 3:case 2:case 1:case 0:{d=d&7;b=b&255;c[248512+(a*472|0)+72+(d*56|0)+16>>2]=c[15648+((b&15)<<2)>>2];c[248512+(a*472|0)+72+(d*56|0)+20>>2]=c[15648+(b>>>4<<2)>>2];return}case 13:case 12:case 11:case 10:case 9:case 8:{c[248512+(a*472|0)+72+((d&7)*56|0)>>2]=b&255;return}case 18:case 17:case 16:{d=d<<1;b=b&255;c[248512+(a*472|0)+72+((d+-32|0)*56|0)+12>>2]=b&7;c[248512+(a*472|0)+72+((d+-31|0)*56|0)+12>>2]=b>>>4&7;return}case 20:{b=b&255;c[248512+(a*472|0)+76>>2]=b&1;c[248512+(a*472|0)+132>>2]=b&2;c[248512+(a*472|0)+188>>2]=b&4;c[248512+(a*472|0)+244>>2]=b&8;c[248512+(a*472|0)+300>>2]=b&16;c[248512+(a*472|0)+356>>2]=b&32;return}case 21:{b=b&255;c[248512+(a*472|0)+80>>2]=b&1;c[248512+(a*472|0)+136>>2]=b&2;c[248512+(a*472|0)+192>>2]=b&4;c[248512+(a*472|0)+248>>2]=b&8;c[248512+(a*472|0)+304>>2]=b&16;c[248512+(a*472|0)+360>>2]=b&32;return}case 22:{b=b&255;c[248512+(a*472|0)>>2]=b&3;c[248512+(a*472|0)+4>>2]=b>>>4&3;return}case 25:case 24:{d=d+-24|0;b=b&255;c[248512+(a*472|0)+16+(d<<2)>>2]=b&1;c[248512+(a*472|0)+24+(d<<2)>>2]=b>>>1&7;c[248512+(a*472|0)+32+(d<<2)>>2]=b&16;c[248512+(a*472|0)+40+(d<<2)>>2]=b&32;c[248512+(a*472|0)+8+(d<<2)>>2]=b&128;c[248512+(a*472|0)+48+(d<<2)>>2]=0;return}case 28:{b=b&255;c[248512+(a*472|0)+56>>2]=b&1;b=b&2;c[248512+(a*472|0)+60>>2]=b;if(!b)return;c[248512+(a*472|0)+120>>2]=0;h[248512+(a*472|0)+104>>3]=0.0;c[248512+(a*472|0)+176>>2]=0;h[248512+(a*472|0)+160>>3]=0.0;c[248512+(a*472|0)+232>>2]=0;h[248512+(a*472|0)+216>>3]=0.0;c[248512+(a*472|0)+288>>2]=0;h[248512+(a*472|0)+272>>3]=0.0;c[248512+(a*472|0)+344>>2]=0;h[248512+(a*472|0)+328>>3]=0.0;c[248512+(a*472|0)+400>>2]=0;h[248512+(a*472|0)+384>>3]=0.0;return}default:return}}function Yc(b,c){b=b|0;c=c|0;b=b&255;a[248512+(b*472|0)+124>>0]=c&1;a[248512+(b*472|0)+180>>0]=c>>>1&1;a[248512+(b*472|0)+236>>0]=c>>>2&1;a[248512+(b*472|0)+292>>0]=c>>>3&1;a[248512+(b*472|0)+348>>0]=c>>>4&1;a[248512+(b*472|0)+404>>0]=c>>>5&1;return}function Zc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0;E=a&255;B=c[249456+(E*280|0)+136>>2]|0;R=249456+(E*280|0)+144|0;p=c[R>>2]|0;S=249456+(E*280|0)+148|0;o=c[S>>2]|0;s=(c[249456+(E*280|0)+152>>2]|0)+-32|0;t=c[249456+(E*280|0)+156>>2]|0;G=249456+(E*280|0)+164|0;n=c[G>>2]|0;u=c[249456+(E*280|0)+172>>2]|0;H=249456+(E*280|0)+180|0;m=c[H>>2]|0;I=249456+(E*280|0)+184|0;l=c[I>>2]|0;v=(c[249456+(E*280|0)+188>>2]|0)+-32|0;w=c[249456+(E*280|0)+192>>2]|0;J=249456+(E*280|0)+200|0;k=c[J>>2]|0;x=c[249456+(E*280|0)+208>>2]|0;K=249456+(E*280|0)+216|0;j=c[K>>2]|0;L=249456+(E*280|0)+220|0;i=c[L>>2]|0;y=(c[249456+(E*280|0)+224>>2]|0)+-32|0;z=c[249456+(E*280|0)+228>>2]|0;N=249456+(E*280|0)+236|0;h=c[N>>2]|0;A=c[249456+(E*280|0)+244>>2]|0;O=249456+(E*280|0)+252|0;g=c[O>>2]|0;P=249456+(E*280|0)+256|0;f=c[P>>2]|0;C=(c[249456+(E*280|0)+260>>2]|0)+-32|0;D=c[249456+(E*280|0)+264>>2]|0;Q=249456+(E*280|0)+272|0;a=c[Q>>2]|0;E=c[249456+(E*280|0)>>2]|0;F=c[b>>2]|0;r=c[b+4>>2]|0;if((e|0)<=0){v=p;w=o;x=n;y=m;z=l;A=k;B=j;C=i;D=h;E=g;F=f;e=a;c[R>>2]=v;c[S>>2]=w;c[G>>2]=x;c[H>>2]=y;c[I>>2]=z;c[J>>2]=A;c[K>>2]=B;c[L>>2]=C;c[N>>2]=D;c[O>>2]=E;c[P>>2]=F;c[Q>>2]=e;return}q=0;do{if(!n){b=0;n=0}else{o=o+B|0;n=(o>>>24)+p|0;b=M((d[E+p>>0]|0)+-128|0,t)|0;o=o&16777215;p=n;n=n>>>0>>0&1}if(!k)k=0;else{l=l+u|0;k=(l>>>24)+m|0;b=(M((d[E+m>>0]|0)+-128|0,w)|0)+b|0;l=l&16777215;m=k;k=k>>>0>>0&1}if(!h)h=0;else{i=i+x|0;h=(i>>>24)+j|0;b=(M((d[E+j>>0]|0)+-128|0,z)|0)+b|0;i=i&16777215;j=h;h=h>>>0>>0&1}if(!a)a=0;else{f=f+A|0;a=(f>>>24)+g|0;b=(M((d[E+g>>0]|0)+-128|0,D)|0)+b|0;f=f&16777215;g=a;a=a>>>0>>0&1}b=b>>2;c[F+(q<<2)>>2]=b;c[r+(q<<2)>>2]=b;q=q+1|0}while((q|0)!=(e|0));c[R>>2]=p;c[S>>2]=o;c[G>>2]=n;c[H>>2]=m;c[I>>2]=l;c[J>>2]=k;c[K>>2]=j;c[L>>2]=i;c[N>>2]=h;c[O>>2]=g;c[P>>2]=f;c[Q>>2]=a;return}function _c(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;a=a&255;f=d>>>3;b[249456+(a*280|0)+8+(d<<1)>>1]=e&255;switch(d&7){case 0:{d=249456+(a*280|0)+136+(f*36|0)+4|0;c[d>>2]=c[d>>2]&1044480|(e&255)<<4;return}case 1:{d=249456+(a*280|0)+136+(f*36|0)+4|0;c[d>>2]=c[d>>2]&4080|(e&255)<<12;return}case 2:{d=249456+(a*280|0)+136+(f*36|0)+16|0;c[d>>2]=c[d>>2]&1044480|(e&255)<<4;return}case 3:{d=249456+(a*280|0)+136+(f*36|0)+16|0;c[d>>2]=c[d>>2]&4080|(e&255)<<12;return}case 4:{c[249456+(a*280|0)+136+(f*36|0)>>2]=16777216/((256-(e&255)|0)>>>0)|0;return}case 5:{e=e&255;c[249456+(a*280|0)+136+(f*36|0)+20>>2]=(e<<8>>>0)/((e+10|0)>>>0)|0;return}case 6:{c[249456+(a*280|0)+136+(f*36|0)+28>>2]=e&255;c[249456+(a*280|0)+136+(f*36|0)+8>>2]=c[249456+(a*280|0)+136+(f*36|0)+4>>2];c[249456+(a*280|0)+136+(f*36|0)+12>>2]=0;return}default:return}}function $c(a){a=a|0;var b=0;a=a&255;ad(249456+(a*280|0)|0);a=249456+(a*280|0)+8|0;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function ad(a){a=a|0;var b=0,d=0,e=0;e=a+136|0;d=a+172|0;b=a+208|0;a=a+244|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function bd(b,d){b=b|0;d=d|0;var e=0,f=0;if((b&255)>1){d=0;return d|0}b=b&255;e=249456+(b*280|0)|0;c[e>>2]=0;c[249456+(b*280|0)+4>>2]=0;ad(e);e=249456+(b*280|0)+8|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[249456+(b*280|0)+168>>0]=0;a[249456+(b*280|0)+204>>0]=0;a[249456+(b*280|0)+240>>0]=0;a[249456+(b*280|0)+276>>0]=0;d=(d|0)/4|0;return d|0}function cd(a){a=a|0;a=249456+((a&255)*280|0)|0;fx(c[a>>2]|0);c[a>>2]=0;return}function dd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a&255;a=249456+(g*280|0)|0;g=249456+(g*280|0)+4|0;if((c[g>>2]|0)!=(b|0)){h=hx(c[a>>2]|0,b)|0;c[a>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[a>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function ed(b,c){b=b|0;c=c|0;b=b&255;a[249456+(b*280|0)+168>>0]=c&1;a[249456+(b*280|0)+204>>0]=c>>>1&1;a[249456+(b*280|0)+240>>0]=c>>>2&1;a[249456+(b*280|0)+276>>0]=c>>>3&1;return}function fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=250016+((a&255)*3028|0)|0;if(!c)return;d=0;a=c;while(1){c=(a|0)<1e4?a:1e4;gd(e,b,d,c);a=a-c|0;if(!a)break;else d=c+d|0}return}function gd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!g)return;p=b+3012|0;if((c[p>>2]<<1|0)>0){i=g<<2;h=0;do{nz((c[e+(h<<2)>>2]|0)+(f<<2)|0,0,i|0)|0;h=h+1|0}while((h|0)<(c[p>>2]<<1|0))}l=b+49|0;m=b+54|0;k=0;while(1){n=b+56+(k*92|0)|0;h=c[n>>2]|0;o=c[b+20+(h>>>14<<2)>>2]|0;if((c[b+56+(k*92|0)+8>>2]|0)==(c[b+56+(k*92|0)+16>>2]|0)){h=h|1;c[n>>2]=h}j=((h>>>10&7|0)%(c[p>>2]|0)|0)<<1;i=(c[e+(j<<2)>>2]|0)+(f<<2)|0;j=(c[e+((j|1)<<2)>>2]|0)+(f<<2)|0;do if(o)if(!(h&8192)){jd(b,n,o,i,j,g);break}else{id(b,n,o,i,j,g);break}else hd(n,g);while(0);if(c[n>>2]&128|0?(a[m>>0]|0)<0:0){a[m>>0]=k&127;c[n>>2]=c[n>>2]&-129}if(k>>>0<(d[l>>0]|0)>>>0)k=k+1|0;else break}return}function hd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;p=c[b+4>>2]|0;t=b+24|0;q=c[b+88>>2]|0;f=q&c[t>>2];a:do if((e|0)>0){r=b+36|0;n=b+16|0;s=b+20|0;u=b+32|0;v=b+12|0;w=b+52|0;x=b+28|0;y=b+44|0;o=b+8|0;A=b+85|0;z=b+48|0;B=b+40|0;g=c[b>>2]|0;do if(!(g&3)){b:while(1){l=e+-1|0;e=(e|0)==0;c:do if(!(g&64)){if(e)break a;m=c[n>>2]|0;j=c[r>>2]|0;k=j;e=l;while(1){f=f+p&q;if(!j)j=0;else{l=j+-1|0;c[r>>2]=l;j=c[s>>2]|0;do if(j|0){j=(c[v>>2]|0)+(j<<24>>24)|0;c[v>>2]=j;if((j|0)<0){c[v>>2]=0;break}if(j>>>0>65535)c[v>>2]=65535}while(0);j=c[u>>2]|0;do if(j|0){j=(c[x>>2]|0)+(j<<24>>24)|0;c[x>>2]=j;if((j|0)<0){c[x>>2]=0;break}if(j>>>0>65535)c[x>>2]=65535}while(0);j=c[w>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[z>>2]|0)+(j<<24>>24)|0;c[z>>2]=j;if((j|0)<0){c[z>>2]=0;break}if(j>>>0>65535)c[z>>2]=65535}while(0);j=c[y>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[B>>2]|0)+(j<<24>>24)|0;c[B>>2]=j;if((j|0)<0){c[B>>2]=0;break}if(j>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=(d[A>>0]|0)+1;k=l;j=l}d:do if(f>>>0>m>>>0&(g&4|0)==0){if(g&32){g=g|128;c[b>>2]=g}switch(g>>>3&3){case 0:{i=e;h=k;e=80;break b}case 3:{j=m;break c}case 1:{f=f-m+(c[o>>2]|0)&q;break d}case 2:{f=f-m+(c[o>>2]|0)&q;g=g&-29|4;c[b>>2]=g;break d}default:{e=42;break b}}}while(0);if(!e)break a;else e=e+-1|0}}else{if(e)break a;m=c[o>>2]|0;j=c[r>>2]|0;k=j;e=l;while(1){f=f-p&q;if(!j)j=0;else{l=j+-1|0;c[r>>2]=l;j=c[s>>2]|0;do if(j|0){j=(c[v>>2]|0)+(j<<24>>24)|0;c[v>>2]=j;if((j|0)<0){c[v>>2]=0;break}if(j>>>0>65535)c[v>>2]=65535}while(0);j=c[u>>2]|0;do if(j|0){j=(c[x>>2]|0)+(j<<24>>24)|0;c[x>>2]=j;if((j|0)<0){c[x>>2]=0;break}if(j>>>0>65535)c[x>>2]=65535}while(0);j=c[w>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[z>>2]|0)+(j<<24>>24)|0;c[z>>2]=j;if((j|0)<0){c[z>>2]=0;break}if(j>>>0>65535)c[z>>2]=65535}while(0);j=c[y>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[B>>2]|0)+(j<<24>>24)|0;c[B>>2]=j;if((j|0)<0){c[B>>2]=0;break}if(j>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=(d[A>>0]|0)+1;k=l;j=l}e:do if(f>>>0>>0&(g&4|0)==0){if(g&32){g=g|128;c[b>>2]=g}switch(g>>>3&3){case 0:{i=e;h=k;e=80;break b}case 3:{j=m;break c}case 1:{f=f-m+(c[n>>2]|0)&q;break e}case 2:{f=f-m+(c[n>>2]|0)&q;g=g&-29|4;c[b>>2]=g;break e}default:{e=78;break b}}}while(0);if(!e)break a;else e=e+-1|0}}while(0);g=g^64;c[b>>2]=g;f=(j<<1)-f&q}if((e|0)!=42)if((e|0)!=78)if((e|0)==80){c[b>>2]=g|1;c[t>>2]=f;if((i|0)>0)break;return}}else{c[t>>2]=f;i=e;h=c[r>>2]|0}while(0);g=(i|0)!=1&i>>>0>h>>>0?h:i;c[r>>2]=h-g;f=c[s>>2]|0;do if(f|0){f=M(f<<24>>24,g)|0;f=(c[v>>2]|0)+f|0;c[v>>2]=f;if((f|0)<0){c[v>>2]=0;break}if(f>>>0>65535)c[v>>2]=65535}while(0);f=c[u>>2]|0;do if(f|0){f=M(f<<24>>24,g)|0;f=(c[x>>2]|0)+f|0;c[x>>2]=f;if((f|0)<0){c[x>>2]=0;break}if(f>>>0>65535)c[x>>2]=65535}while(0);f=c[w>>2]|0;do if(f|0){if((f|0)<=-1?a[A>>0]&7:0)break;f=M(f<<24>>24,g)|0;f=(c[z>>2]|0)+f|0;c[z>>2]=f;if((f|0)<0){c[z>>2]=0;break}if(f>>>0>65535)c[z>>2]=65535}while(0);f=c[y>>2]|0;do if(f|0){if((f|0)<=-1?a[A>>0]&7:0)break;f=M(f<<24>>24,g)|0;f=(c[B>>2]|0)+f|0;c[B>>2]=f;if((f|0)<0){c[B>>2]=0;break}if(f>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=g+(d[A>>0]|0);return}while(0);c[t>>2]=f;return}function id(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;I=c[g+4>>2]|0;N=g+24|0;E=g+88|0;o=c[E>>2]|0;l=o&c[N>>2];F=f+3008|0;n=c[F>>2]|0;O=g+12|0;Q=g+28|0;D=h+(c[g+80>>2]<<1)|0;a:do if((k|0)>0){u=f+3004|0;R=g+48|0;v=g+76|0;w=g+68|0;x=g+72|0;T=g+40|0;y=g+60|0;z=g+64|0;A=g+56|0;J=g+36|0;B=g+16|0;K=g+20|0;L=g+32|0;P=g+52|0;S=g+44|0;C=g+8|0;U=g+85|0;h=c[g>>2]|0;do if(!(h&3)){f=e[n+((c[Q>>2]|0)>>>4<<1)>>1]|0;p=e[n+((c[O>>2]|0)>>>4<<1)>>1]|0;r=h;b:while(1){q=k+-1|0;h=(k|0)==0;c:do if(!(r&64)){if(h)break a;t=j;n=f;s=i;k=q;h=o;j=r;while(1){r=c[u>>2]|0;o=l&2047;r=(M(o,b[r+((e[D+((h&l+2048)>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)+(M(2048-o|0,b[r+((e[D+(l>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)>>11;l=h&l+I;o=c[R>>2]|0;h=o>>>2;f=c[v>>2]|0;f=((M(r-f|0,h)|0)/16384|0)+f|0;c[v>>2]=f;r=c[w>>2]|0;f=(M(f-r|0,h)|0)/16384|0;i=f+r|0;c[x>>2]=r;c[w>>2]=i;switch(j>>>8&3){case 0:{r=c[T>>2]|0;j=r>>>2;q=c[y>>2]|0;i=((q|0)/2|0)+f+((M(j,q)|0)/32768|0)|0;c[z>>2]=q;c[y>>2]=i;f=c[A>>2]|0;j=i-q+((f|0)/2|0)+((M(f,j)|0)/32768|0)|0;f=r;break}case 1:{f=c[y>>2]|0;r=(M(i-f|0,h)|0)/16384|0;c[z>>2]=f;c[y>>2]=r+f;f=c[T>>2]|0;j=c[A>>2]|0;j=((j|0)/2|0)+r+((M(f>>>2,j)|0)/32768|0)|0;break}case 2:{f=c[T>>2]|0;r=f>>>2;j=c[y>>2]|0;q=((M(i-j|0,r)|0)/16384|0)+j|0;c[z>>2]=j;c[y>>2]=q;j=c[A>>2]|0;j=((M(q-j|0,r)|0)/16384|0)+j|0;break}case 3:{f=c[y>>2]|0;r=((M(i-f|0,h)|0)/16384|0)+f|0;c[z>>2]=f;c[y>>2]=r;f=c[T>>2]|0;j=c[A>>2]|0;j=((M(r-j|0,f>>>2)|0)/16384|0)+j|0;break}default:{f=14;break b}}c[A>>2]=j;h=c[J>>2]|0;if(!h)o=p;else{c[J>>2]=h+-1;h=c[K>>2]|0;do if(h|0){h=(c[O>>2]|0)+(h<<24>>24)|0;c[O>>2]=h;if((h|0)<0){c[O>>2]=0;break}if(h>>>0>65535)c[O>>2]=65535}while(0);h=c[L>>2]|0;do if(h|0){h=(c[Q>>2]|0)+(h<<24>>24)|0;c[Q>>2]=h;if((h|0)<0){c[Q>>2]=0;break}if(h>>>0>65535)c[Q>>2]=65535}while(0);h=c[P>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=(h<<24>>24)+o|0;c[R>>2]=h;if((h|0)<0){c[R>>2]=0;break}if(h>>>0>65535)c[R>>2]=65535}while(0);h=c[S>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=f+(h<<24>>24)|0;c[T>>2]=h;if((h|0)<0){c[T>>2]=0;break}if(h>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=(d[U>>0]|0)+1;o=c[F>>2]|0;n=e[o+((c[Q>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0}f=(M(o,j)|0)>>11;i=s+4|0;c[s>>2]=(c[s>>2]|0)+f;f=(M(n,j)|0)>>11;j=t+4|0;c[t>>2]=(c[t>>2]|0)+f;f=c[B>>2]|0;d:do if(l>>>0>f>>>0?(G=c[g>>2]|0,(G&4|0)==0):0){if(!(G&32))h=G;else{h=G|128;c[g>>2]=h}switch(h>>>3&3){case 0:{m=k;f=96;break b}case 3:break c;case 1:{l=l-f+(c[C>>2]|0)&c[E>>2];break d}case 2:{l=l-f+(c[C>>2]|0)&c[E>>2];c[g>>2]=h&-29|4;break d}default:{f=48;break b}}}while(0);if(!k)break a;t=j;p=o;s=i;k=k+-1|0;h=c[E>>2]|0;j=c[g>>2]|0}}else{if(h)break a;t=j;s=i;n=f;h=o;j=r;k=q;while(1){r=c[u>>2]|0;o=l&2047;r=(M(o,b[r+((e[D+((h&l+2048)>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)+(M(2048-o|0,b[r+((e[D+(l>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)>>11;l=h&l-I;o=c[R>>2]|0;h=o>>>2;f=c[v>>2]|0;f=((M(r-f|0,h)|0)/16384|0)+f|0;c[v>>2]=f;r=c[w>>2]|0;f=(M(f-r|0,h)|0)/16384|0;i=f+r|0;c[x>>2]=r;c[w>>2]=i;switch(j>>>8&3){case 0:{r=c[T>>2]|0;j=r>>>2;q=c[y>>2]|0;i=((q|0)/2|0)+f+((M(j,q)|0)/32768|0)|0;c[z>>2]=q;c[y>>2]=i;f=c[A>>2]|0;j=i-q+((f|0)/2|0)+((M(f,j)|0)/32768|0)|0;f=r;break}case 1:{f=c[y>>2]|0;r=(M(i-f|0,h)|0)/16384|0;c[z>>2]=f;c[y>>2]=r+f;f=c[T>>2]|0;j=c[A>>2]|0;j=((j|0)/2|0)+r+((M(f>>>2,j)|0)/32768|0)|0;break}case 2:{f=c[T>>2]|0;r=f>>>2;j=c[y>>2]|0;q=((M(i-j|0,r)|0)/16384|0)+j|0;c[z>>2]=j;c[y>>2]=q;j=c[A>>2]|0;j=((M(q-j|0,r)|0)/16384|0)+j|0;break}case 3:{f=c[y>>2]|0;r=((M(i-f|0,h)|0)/16384|0)+f|0;c[z>>2]=f;c[y>>2]=r;f=c[T>>2]|0;j=c[A>>2]|0;j=((M(r-j|0,f>>>2)|0)/16384|0)+j|0;break}default:{f=59;break b}}c[A>>2]=j;h=c[J>>2]|0;if(!h)o=p;else{c[J>>2]=h+-1;h=c[K>>2]|0;do if(h|0){h=(c[O>>2]|0)+(h<<24>>24)|0;c[O>>2]=h;if((h|0)<0){c[O>>2]=0;break}if(h>>>0>65535)c[O>>2]=65535}while(0);h=c[L>>2]|0;do if(h|0){h=(c[Q>>2]|0)+(h<<24>>24)|0;c[Q>>2]=h;if((h|0)<0){c[Q>>2]=0;break}if(h>>>0>65535)c[Q>>2]=65535}while(0);h=c[P>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=(h<<24>>24)+o|0;c[R>>2]=h;if((h|0)<0){c[R>>2]=0;break}if(h>>>0>65535)c[R>>2]=65535}while(0);h=c[S>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=f+(h<<24>>24)|0;c[T>>2]=h;if((h|0)<0){c[T>>2]=0;break}if(h>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=(d[U>>0]|0)+1;o=c[F>>2]|0;n=e[o+((c[Q>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0}f=(M(o,j)|0)>>11;i=s+4|0;c[s>>2]=(c[s>>2]|0)+f;f=(M(n,j)|0)>>11;j=t+4|0;c[t>>2]=(c[t>>2]|0)+f;f=c[C>>2]|0;e:do if(l>>>0>>0?(H=c[g>>2]|0,(H&4|0)==0):0){if(!(H&32))h=H;else{h=H|128;c[g>>2]=h}switch(h>>>3&3){case 0:{m=k;f=96;break b}case 3:break c;case 1:{l=l-f+(c[B>>2]|0)&c[E>>2];break e}case 2:{l=l-f+(c[B>>2]|0)&c[E>>2];c[g>>2]=h&-29|4;break e}default:{f=93;break b}}}while(0);if(!k)break a;t=j;s=i;p=o;h=c[E>>2]|0;j=c[g>>2]|0;k=k+-1|0}}while(0);t=c[E>>2]|0;r=h^64;c[g>>2]=r;l=t&(f<<1)-l;f=n;p=o;o=t}if((f|0)!=14)if((f|0)!=48)if((f|0)!=59)if((f|0)!=93)if((f|0)==96){c[g>>2]=h|1;c[N>>2]=l;if((m|0)>0)break;return}}else{c[N>>2]=l;m=k}while(0);l=c[J>>2]|0;h=(m|0)!=1&m>>>0>l>>>0?l:m;c[J>>2]=l-h;l=c[K>>2]|0;do if(l|0){l=M(l<<24>>24,h)|0;l=(c[O>>2]|0)+l|0;c[O>>2]=l;if((l|0)<0){c[O>>2]=0;break}if(l>>>0>65535)c[O>>2]=65535}while(0);l=c[L>>2]|0;do if(l|0){l=M(l<<24>>24,h)|0;l=(c[Q>>2]|0)+l|0;c[Q>>2]=l;if((l|0)<0){c[Q>>2]=0;break}if(l>>>0>65535)c[Q>>2]=65535}while(0);l=c[P>>2]|0;do if(l|0){if((l|0)<=-1?a[U>>0]&7:0)break;l=M(l<<24>>24,h)|0;l=(c[R>>2]|0)+l|0;c[R>>2]=l;if((l|0)<0){c[R>>2]=0;break}if(l>>>0>65535)c[R>>2]=65535}while(0);l=c[S>>2]|0;do if(l|0){if((l|0)<=-1?a[U>>0]&7:0)break;l=M(l<<24>>24,h)|0;l=(c[T>>2]|0)+l|0;c[T>>2]=l;if((l|0)<0){c[T>>2]=0;break}if(l>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=h+(d[U>>0]|0);return}while(0);c[N>>2]=l;return}function jd(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0;G=c[g+4>>2]|0;K=g+24|0;D=g+88|0;n=c[D>>2]|0;l=n&c[K>>2];C=f+3008|0;f=c[C>>2]|0;L=g+12|0;O=g+28|0;t=h+(c[g+80>>2]<<1)|0;a:do if((k|0)>0){P=g+48|0;u=g+76|0;v=g+68|0;w=g+72|0;R=g+40|0;x=g+60|0;y=g+64|0;z=g+56|0;H=g+36|0;A=g+16|0;I=g+20|0;J=g+32|0;N=g+52|0;Q=g+44|0;B=g+8|0;S=g+85|0;h=c[g>>2]|0;do if(!(h&3)){p=e[f+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[f+((c[L>>2]|0)>>>4<<1)>>1]|0;b:while(1){q=k+-1|0;f=(k|0)==0;c:do if(!(h&64)){if(f)break a;s=j;r=i;k=q;f=n;j=h;while(1){q=l&2047;q=(M(q,b[t+((f&l+2048)>>>11<<1)>>1]|0)|0)+(M(2048-q|0,b[t+(l>>>11<<1)>>1]|0)|0)>>11;l=f&l+G;n=c[P>>2]|0;f=n>>>2;h=c[u>>2]|0;h=((M(q-h|0,f)|0)/16384|0)+h|0;c[u>>2]=h;q=c[v>>2]|0;h=(M(h-q|0,f)|0)/16384|0;i=h+q|0;c[w>>2]=q;c[v>>2]=i;switch(j>>>8&3){case 0:{q=c[R>>2]|0;j=q>>>2;i=c[x>>2]|0;f=((i|0)/2|0)+h+((M(j,i)|0)/32768|0)|0;c[y>>2]=i;c[x>>2]=f;h=c[z>>2]|0;j=f-i+((h|0)/2|0)+((M(h,j)|0)/32768|0)|0;h=q;break}case 1:{h=c[x>>2]|0;q=(M(i-h|0,f)|0)/16384|0;c[y>>2]=h;c[x>>2]=q+h;h=c[R>>2]|0;j=c[z>>2]|0;j=((j|0)/2|0)+q+((M(h>>>2,j)|0)/32768|0)|0;break}case 2:{h=c[R>>2]|0;q=h>>>2;j=c[x>>2]|0;i=((M(i-j|0,q)|0)/16384|0)+j|0;c[y>>2]=j;c[x>>2]=i;j=c[z>>2]|0;j=((M(i-j|0,q)|0)/16384|0)+j|0;break}case 3:{h=c[x>>2]|0;q=((M(i-h|0,f)|0)/16384|0)+h|0;c[y>>2]=h;c[x>>2]=q;h=c[R>>2]|0;j=c[z>>2]|0;j=((M(q-j|0,h>>>2)|0)/16384|0)+j|0;break}default:{h=14;break b}}c[z>>2]=j;f=c[H>>2]|0;if(!f)n=p;else{c[H>>2]=f+-1;f=c[I>>2]|0;do if(f|0){f=(c[L>>2]|0)+(f<<24>>24)|0;c[L>>2]=f;if((f|0)<0){c[L>>2]=0;break}if(f>>>0>65535)c[L>>2]=65535}while(0);f=c[J>>2]|0;do if(f|0){f=(c[O>>2]|0)+(f<<24>>24)|0;c[O>>2]=f;if((f|0)<0){c[O>>2]=0;break}if(f>>>0>65535)c[O>>2]=65535}while(0);f=c[N>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=(f<<24>>24)+n|0;c[P>>2]=f;if((f|0)<0){c[P>>2]=0;break}if(f>>>0>65535)c[P>>2]=65535}while(0);f=c[Q>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=h+(f<<24>>24)|0;c[R>>2]=f;if((f|0)<0){c[R>>2]=0;break}if(f>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=(d[S>>0]|0)+1;o=c[C>>2]|0;n=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[L>>2]|0)>>>4<<1)>>1]|0}h=(M(o,j)|0)>>11;i=r+4|0;c[r>>2]=(c[r>>2]|0)+h;h=(M(n,j)|0)>>11;j=s+4|0;c[s>>2]=(c[s>>2]|0)+h;h=c[A>>2]|0;d:do if(l>>>0>h>>>0?(E=c[g>>2]|0,(E&4|0)==0):0){if(!(E&32))f=E;else{f=E|128;c[g>>2]=f}switch(f>>>3&3){case 0:{m=k;h=96;break b}case 3:break c;case 1:{l=l-h+(c[B>>2]|0)&c[D>>2];break d}case 2:{l=l-h+(c[B>>2]|0)&c[D>>2];c[g>>2]=f&-29|4;break d}default:{h=48;break b}}}while(0);if(!k)break a;s=j;p=n;r=i;k=k+-1|0;f=c[D>>2]|0;j=c[g>>2]|0}}else{if(f)break a;s=j;r=i;f=n;j=h;k=q;while(1){q=l&2047;q=(M(q,b[t+((f&l+2048)>>>11<<1)>>1]|0)|0)+(M(2048-q|0,b[t+(l>>>11<<1)>>1]|0)|0)>>11;l=f&l-G;n=c[P>>2]|0;f=n>>>2;h=c[u>>2]|0;h=((M(q-h|0,f)|0)/16384|0)+h|0;c[u>>2]=h;q=c[v>>2]|0;h=(M(h-q|0,f)|0)/16384|0;i=h+q|0;c[w>>2]=q;c[v>>2]=i;switch(j>>>8&3){case 0:{q=c[R>>2]|0;j=q>>>2;i=c[x>>2]|0;f=((i|0)/2|0)+h+((M(j,i)|0)/32768|0)|0;c[y>>2]=i;c[x>>2]=f;h=c[z>>2]|0;j=f-i+((h|0)/2|0)+((M(h,j)|0)/32768|0)|0;h=q;break}case 1:{h=c[x>>2]|0;q=(M(i-h|0,f)|0)/16384|0;c[y>>2]=h;c[x>>2]=q+h;h=c[R>>2]|0;j=c[z>>2]|0;j=((j|0)/2|0)+q+((M(h>>>2,j)|0)/32768|0)|0;break}case 2:{h=c[R>>2]|0;q=h>>>2;j=c[x>>2]|0;i=((M(i-j|0,q)|0)/16384|0)+j|0;c[y>>2]=j;c[x>>2]=i;j=c[z>>2]|0;j=((M(i-j|0,q)|0)/16384|0)+j|0;break}case 3:{h=c[x>>2]|0;q=((M(i-h|0,f)|0)/16384|0)+h|0;c[y>>2]=h;c[x>>2]=q;h=c[R>>2]|0;j=c[z>>2]|0;j=((M(q-j|0,h>>>2)|0)/16384|0)+j|0;break}default:{h=59;break b}}c[z>>2]=j;f=c[H>>2]|0;if(!f)n=p;else{c[H>>2]=f+-1;f=c[I>>2]|0;do if(f|0){f=(c[L>>2]|0)+(f<<24>>24)|0;c[L>>2]=f;if((f|0)<0){c[L>>2]=0;break}if(f>>>0>65535)c[L>>2]=65535}while(0);f=c[J>>2]|0;do if(f|0){f=(c[O>>2]|0)+(f<<24>>24)|0;c[O>>2]=f;if((f|0)<0){c[O>>2]=0;break}if(f>>>0>65535)c[O>>2]=65535}while(0);f=c[N>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=(f<<24>>24)+n|0;c[P>>2]=f;if((f|0)<0){c[P>>2]=0;break}if(f>>>0>65535)c[P>>2]=65535}while(0);f=c[Q>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=h+(f<<24>>24)|0;c[R>>2]=f;if((f|0)<0){c[R>>2]=0;break}if(f>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=(d[S>>0]|0)+1;o=c[C>>2]|0;n=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[L>>2]|0)>>>4<<1)>>1]|0}h=(M(o,j)|0)>>11;i=r+4|0;c[r>>2]=(c[r>>2]|0)+h;h=(M(n,j)|0)>>11;j=s+4|0;c[s>>2]=(c[s>>2]|0)+h;h=c[B>>2]|0;e:do if(l>>>0>>0?(F=c[g>>2]|0,(F&4|0)==0):0){if(!(F&32))f=F;else{f=F|128;c[g>>2]=f}switch(f>>>3&3){case 0:{m=k;h=96;break b}case 3:break c;case 1:{l=l-h+(c[A>>2]|0)&c[D>>2];break e}case 2:{l=l-h+(c[A>>2]|0)&c[D>>2];c[g>>2]=f&-29|4;break e}default:{h=93;break b}}}while(0);if(!k)break a;s=j;r=i;p=n;f=c[D>>2]|0;j=c[g>>2]|0;k=k+-1|0}}while(0);r=c[D>>2]|0;s=f^64;c[g>>2]=s;l=r&(h<<1)-l;p=n;n=r;h=s}if((h|0)!=14)if((h|0)!=48)if((h|0)!=59)if((h|0)!=93)if((h|0)==96){c[g>>2]=f|1;c[K>>2]=l;if((m|0)>0)break;return}}else{c[K>>2]=l;m=k}while(0);l=c[H>>2]|0;f=(m|0)!=1&m>>>0>l>>>0?l:m;c[H>>2]=l-f;l=c[I>>2]|0;do if(l|0){l=M(l<<24>>24,f)|0;l=(c[L>>2]|0)+l|0;c[L>>2]=l;if((l|0)<0){c[L>>2]=0;break}if(l>>>0>65535)c[L>>2]=65535}while(0);l=c[J>>2]|0;do if(l|0){l=M(l<<24>>24,f)|0;l=(c[O>>2]|0)+l|0;c[O>>2]=l;if((l|0)<0){c[O>>2]=0;break}if(l>>>0>65535)c[O>>2]=65535}while(0);l=c[N>>2]|0;do if(l|0){if((l|0)<=-1?a[S>>0]&7:0)break;l=M(l<<24>>24,f)|0;l=(c[P>>2]|0)+l|0;c[P>>2]=l;if((l|0)<0){c[P>>2]=0;break}if(l>>>0>65535)c[P>>2]=65535}while(0);l=c[Q>>2]|0;do if(l|0){if((l|0)<=-1?a[S>>0]&7:0)break;l=M(l<<24>>24,f)|0;l=(c[R>>2]|0)+l|0;c[R>>2]=l;if((l|0)<0){c[R>>2]=0;break}if(l>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=f+(d[S>>0]|0);return}while(0);c[K>>2]=l;return}function kd(a,b){a=a|0;b=b|0;if((a&255)>1){b=0;return b|0}a=a&255;c[250016+(a*3028|0)+3012>>2]=1;ld(250016+(a*3028|0)|0,b&2147483647,b>>31&255);b=(c[250016+(a*3028|0)+44>>2]|0)>>>9;return b|0}function ld(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a[b+3016>>0]=e;f=b+3012|0;g=c[f>>2]|0;if(!((g|0)>=1?(g|0)<=((e<<24>>24==0?4:6)|0):0))c[f>>2]=1;c[b+44>>2]=d;a[b+54>>0]=-128;if(e<<24>>24)a[b+49>>0]=31;c[b>>2]=d>>>9;md(b);c[b+3e3>>2]=ex(8e4)|0;return}function md(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=a+3004|0;c[h>>2]=ex(512)|0;g=0;do{d=g<<11;e=g>>>5&524287;f=d&63488|1024;if(!e)d=f<<16>>23;else d=((f>>>1|d&32768)<<16^-2147483648)>>16>>(e^7);b[(c[h>>2]|0)+(g<<1)>>1]=d;g=g+1|0}while((g|0)!=256);e=ex(8192)|0;d=a+3008|0;c[d>>2]=e;b[e>>1]=0;e=1;do{b[(c[d>>2]|0)+(e<<1)>>1]=(e<<11&522240|524288)>>>(20-(e>>>8&255)|0);e=e+1|0}while((e|0)!=4096);return}function nd(a){a=a|0;var b=0;a=a&255;b=250016+(a*3028|0)+3004|0;fx(c[b>>2]|0);c[b>>2]=0;b=250016+(a*3028|0)+3008|0;fx(c[b>>2]|0);c[b>>2]=0;a=250016+(a*3028|0)+3e3|0;fx(c[a>>2]|0);c[a>>2]=0;return}function od(b){b=b|0;var d=0,e=0;d=b&255;e=(a[250016+(d*3028|0)+3016>>0]|0)==0?2147483647:-1;b=0;do{a[250016+(d*3028|0)+56+(b*92|0)+84>>0]=b;c[250016+(d*3028|0)+56+(b*92|0)>>2]=3;c[250016+(d*3028|0)+56+(b*92|0)+12>>2]=65535;c[250016+(d*3028|0)+56+(b*92|0)+28>>2]=65535;c[250016+(d*3028|0)+56+(b*92|0)+80>>2]=0;c[250016+(d*3028|0)+56+(b*92|0)+88>>2]=e;b=b+1|0}while((b|0)!=32);return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;c[250016+((a&255)*3028|0)+56+(b*92|0)+80>>2]=d;return}function qd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=b&255;f=250016+(e*3028|0)|0;if(c>>>0>=64){pd(b,c&31,(d&255)<<20);return}if(!(a[250016+(e*3028|0)+3016>>0]|0)){rd(f,c,d);return}else{sd(f,c,d);return}}function rd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a[b+48>>0]|0;f=b+56+((e&31)*92|0)|0;if((e&255)<32){wd(b,f,c,d&255);return}d=d&255;if((e&255)<64){xd(b,f,c,d);return}else{yd(b,c,d);return}}function sd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a[b+48>>0]|0;i=b+56+((h&31)*92|0)|0;j=d<<3&24;g=b+36|0;f=c[g>>2]&~(-16777216>>>j)|(e&255)<<24-j;c[g>>2]=f;if((j|0)!=24)return;do if((h&255)>=32){e=d>>>2;if((h&255)<64){ud(b,i,e,f);break}else{vd(b,e,f);break}}else td(b,i,d>>>2,f);while(0);c[g>>2]=0;return}function td(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do switch(e|0){case 0:{c[d>>2]=f&65535;return}case 1:{c[d+4>>2]=f&131071;return}case 2:{c[d+12>>2]=f&65535;return}case 3:{c[d+20>>2]=f>>>8&255;return}case 4:{c[d+28>>2]=f&65535;return}case 5:{c[d+32>>2]=f>>>8&255;return}case 6:{c[d+36>>2]=f&511;a[d+85>>0]=0;return}case 7:{c[d+40>>2]=f&65535;return}case 8:{c[d+44>>2]=f>>>8&255|f<<31;return}case 9:{c[d+48>>2]=f&65535;return}case 10:{c[d+52>>2]=f>>>8&255|f<<31;return}case 11:{d=f&31;a[b+49>>0]=d;d=((c[b+44>>2]|0)>>>0)/(((d<<4)+16|0)>>>0)|0;c[b>>2]=d;e=c[b+3020>>2]|0;if(!e)return;xa[e&31](c[b+3024>>2]|0,d);return}case 12:{a[b+50>>0]=f&31;return}case 15:{a[b+48>>0]=f&127;return}default:return}while(0)}function ud(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do switch(e|0){case 0:{c[d>>2]=f&65535;return}case 1:{c[d+8>>2]=f&-2048;return}case 2:{c[d+16>>2]=f&-128;return}case 3:{c[d+24>>2]=f;return}case 4:{c[d+56>>2]=f<<14>>14;return}case 5:{c[d+60>>2]=f<<14>>14;return}case 6:{c[d+64>>2]=f<<14>>14;return}case 7:{c[d+68>>2]=f<<14>>14;return}case 8:{c[d+72>>2]=f<<14>>14;return}case 9:{c[d+76>>2]=f<<14>>14;return}case 10:{a[b+51>>0]=f&127;return}case 11:{a[b+52>>0]=f&127;return}case 12:{a[b+53>>0]=f&127;return}case 15:{a[b+48>>0]=f&127;return}default:return}while(0)}function vd(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)!=15)return;a[b+48>>0]=d&127;return}function wd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(e&1|0)!=0;g=h?f:(f&65535)<<8&65535;do switch(e>>>1&2147483647|0){case 0:{f=c[d>>2]|0;if(h){h=g&65535;c[d>>2]=h<<12&16384|h&251|f&-16636;return}else{h=g&65535;c[d>>2]=h>>>2&768|h<<2&3072|f&-3841;return}}case 1:{f=d+4|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-511|g<<1&510;return}else{c[f>>2]=e&-130561|(g&-256&65535)<<1;return}}case 2:{f=d+8|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 3:{f=d+8|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-897|g<<2&896;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 4:{f=d+16|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 5:{f=d+16|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-897|g<<2&896;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 6:{f=d+40|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-241|g&240;return}else{c[f>>2]=e&-65281|g&-256&65535;return}}case 7:{f=d+48|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-241|g&240;return}else{c[f>>2]=e&-65281|g&-256&65535;return}}case 8:{f=d+12|0;if(h)return;c[f>>2]=c[f>>2]&-65281|g&-256&65535;return}case 9:{f=d+28|0;if(h)return;c[f>>2]=c[f>>2]&-65281|g&-256&65535;return}case 10:{f=d+24|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 11:{f=d+24|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-1021|g<<2&1020;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 15:{if(!h)return;a[b+48>>0]=g&127;return}case 13:{if(!h)return;f=g&31;a[b+49>>0]=f;f=((c[b+44>>2]|0)>>>0)/((f+1&255)<<4>>>0)|0;c[b>>2]=f;e=c[b+3020>>2]|0;if(!e)return;xa[e&31](c[b+3024>>2]|0,f);return}default:return}while(0)}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(e&1|0)!=0;g=h?f:(f&65535)<<8&65535;do switch(e>>>1&2147483647|0){case 0:{f=c[d>>2]|0;if(h){h=g&65535;c[d>>2]=h<<12&16384|h&251|f&-16636;return}else{h=g&65535;c[d>>2]=h>>>2&768|h<<2&3072|f&-3841;return}}case 1:{f=d+56|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 2:{f=d+60|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 3:{f=d+64|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 4:{f=d+68|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 5:{f=d+72|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 6:{f=d+76|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 15:{if(!h)return;a[b+48>>0]=g&127;return}case 13:{if(!h)return;e=g&31;a[b+49>>0]=e;e=((c[b+44>>2]|0)>>>0)/((e+1&255)<<4>>>0)|0;c[b>>2]=e;f=c[b+3020>>2]|0;if(!f)return;xa[f&31](c[b+3024>>2]|0,e);return}default:return}while(0)}function yd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d&1|0)!=0;e=f?e&255:0;switch(d>>>1&2147483647|0){case 13:{if(!f)return;e=e&31;a[b+49>>0]=e;e=((c[b+44>>2]|0)>>>0)/((e+1&255)<<4>>>0)|0;c[b>>2]=e;d=c[b+3020>>2]|0;if(!d)return;xa[d&31](c[b+3024>>2]|0,e);return}case 15:{if(!f)return;a[b+48>>0]=e&127;return}case 8:{if(!f)return;a[b+50>>0]=e&7;return}default:return}}function zd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=b&255;f=250016+(e*3028|0)|0;if(c>>>0>=64){pd(b,c&31,(d&65535)<<20);return}b=(d&65535)>>>8&255;if(!(a[250016+(e*3028|0)+3016>>0]|0)){rd(f,c,b);rd(f,c|1,d&255);return}else{sd(f,c,b);sd(f,c|1,d&255);return}}function Ad(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;j=a&255;k=f>>>28&3;a=f>>>31;i=g<>2]|0)!=(g|0)){m=250016+(j*3028|0)+20+(k<<2)|0;e=hx(c[m>>2]|0,g)|0;c[m>>2]=e;c[a>>2]=g;nz(e|0,0,g|0)|0}if(g>>>0>>0)return;a=(l+i|0)>>>0>g>>>0?g-l|0:i;if((f|0)>=0){mz((c[250016+(j*3028|0)+20+(k<<2)>>2]|0)+l|0,h|0,a|0)|0;return}e=a>>>1;if(!e)return;g=250016+(j*3028|0)+20+(k<<2)|0;a=0;do{b[(c[g>>2]|0)+(a+l<<1)>>1]=(d[h+a>>0]|0)<<8;a=a+1|0}while((a|0)!=(e|0));return}function Bd(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[250016+(b*3028|0)+56+(d*92|0)+86>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Cd(a,b){a=a|0;b=b|0;a=a&255;c[250016+(a*3028|0)+3020>>2]=5;c[250016+(a*3028|0)+3024>>2]=b;return}function Dd(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=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,J=0,K=0;K=k;k=k+16|0;J=K;G=f&255;H=256080+(G*812|0)|0;z=h<<2;nz(c[g>>2]|0,0,z|0)|0;I=g+4|0;nz(c[I>>2]|0,0,z|0)|0;z=256080+(G*812|0)+792|0;A=c[z>>2]&-2;B=256080+(G*812|0)+776|0;f=a[B>>0]|0;if(f<<24>>24<=0){k=K;return}C=256080+(G*812|0)+796|0;D=(h|0)>0;E=256080+(G*812|0)+772|0;F=(A|0)>0;y=0;do{w=256080+(G*812|0)+(y*24|0)+4|0;i=a[w>>0]|0;if((i&1)==0?(a[256080+(G*812|0)+(y*24|0)+21>>0]|0)==0:0){v=d[256080+(G*812|0)+(y*24|0)+12>>0]|0;t=c[15712+(v<<2)>>2]&c[256080+(G*812|0)+(y*24|0)+8>>2];x=256080+(G*812|0)+(y*24|0)+16|0;f=c[x>>2]|0;c[J>>2]=f;u=(c[15744+(d[256080+(G*812|0)+(y*24|0)+13>>0]<<2)>>2]|0)-v|0;v=c[15776+(v<<2)>>2]|0;n=c[C>>2]&((i&255)>>>4&255);if(D){o=e[256080+(G*812|0)+(y*24|0)>>1]|0;p=256080+(G*812|0)+(y*24|0)+6|0;q=d[256080+(G*812|0)+(y*24|0)+5>>0]|0;r=(b[256080+(G*812|0)+(y*24|0)+2>>1]|0)+-1&65535;s=g+((n&1)<<2)|0;m=0;do{l=f>>>u;c[J>>2]=f+o;f=a[(c[E>>2]|0)+((l&v)+t)>>0]|0;a[p>>0]=f;if(f<<24>>24){i=M((f&255)+-128|0,q)|0;if(F){f=0;do{if((f|0)==(n|0)){j=(c[s>>2]|0)+(m<<2)|0;c[j>>2]=(c[j>>2]|0)+i}f=f+1|0}while((f|0)!=(A|0));j=A}else j=0;i=i*181>>8;f=c[z>>2]|0;if((j|0)<(f|0))do{if((j|0)==(n|0)){f=(c[g>>2]|0)+(m<<2)|0;c[f>>2]=(c[f>>2]|0)+i;f=(c[I>>2]|0)+(m<<2)|0;c[f>>2]=(c[f>>2]|0)+i;f=c[z>>2]|0}j=j+1|0}while((j|0)<(f|0));if(l>>>0>=r>>>0)Ed(H,y,0,J,u)}else Ed(H,y,1,J,u);m=m+1|0;f=c[J>>2]|0}while((a[w>>0]&1)==0&(m|0)<(h|0))}c[x>>2]=f;f=a[B>>0]|0}y=y+1|0}while((y|0)<(f<<24>>24|0));k=K;return}function Ed(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;m=f^1;n=e+(f*24|0)+4|0;o=d[n>>0]|0;j=o>>>1&3;k=e+(m*24|0)+4|0;l=a[k>>0]&6;if(!(j|g)){g=(c[h>>2]|0)>>>i;o=(b[e+(f*24|0)+2>>1]|0)+-1&65535;c[h>>2]=(g>>>0>o>>>0?g-o|0:0)<>0]=o|1;if(l<<24>>24==6|(j|0)==3){a[k>>0]=a[k>>0]&-2;c[e+(m*24|0)+16>>2]=0}if(!(a[n>>0]&8))return;a[e+(f*24|0)+20>>0]=1;return}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((b&255)>1){e=0;return e|0}b=b&255;c[256080+(b*812|0)+768>>2]=131072;c[256080+(b*812|0)+772>>2]=ex(131072)|0;c[256080+(b*812|0)+788>>2]=d;c[256080+(b*812|0)+792>>2]=e;f=1;while(1)if((f|0)<(e|0))f=f<<1;else break;c[256080+(b*812|0)+796>>2]=f+-1;c[256080+(b*812|0)+780>>2]=255;e=(d>>>0)/272|0;c[256080+(b*812|0)+800>>2]=e;a[256080+(b*812|0)+21>>0]=0;a[256080+(b*812|0)+45>>0]=0;a[256080+(b*812|0)+69>>0]=0;a[256080+(b*812|0)+93>>0]=0;a[256080+(b*812|0)+117>>0]=0;a[256080+(b*812|0)+141>>0]=0;a[256080+(b*812|0)+165>>0]=0;a[256080+(b*812|0)+189>>0]=0;a[256080+(b*812|0)+213>>0]=0;a[256080+(b*812|0)+237>>0]=0;a[256080+(b*812|0)+261>>0]=0;a[256080+(b*812|0)+285>>0]=0;a[256080+(b*812|0)+309>>0]=0;a[256080+(b*812|0)+333>>0]=0;a[256080+(b*812|0)+357>>0]=0;a[256080+(b*812|0)+381>>0]=0;a[256080+(b*812|0)+405>>0]=0;a[256080+(b*812|0)+429>>0]=0;a[256080+(b*812|0)+453>>0]=0;a[256080+(b*812|0)+477>>0]=0;a[256080+(b*812|0)+501>>0]=0;a[256080+(b*812|0)+525>>0]=0;a[256080+(b*812|0)+549>>0]=0;a[256080+(b*812|0)+573>>0]=0;a[256080+(b*812|0)+597>>0]=0;a[256080+(b*812|0)+621>>0]=0;a[256080+(b*812|0)+645>>0]=0;a[256080+(b*812|0)+669>>0]=0;a[256080+(b*812|0)+693>>0]=0;a[256080+(b*812|0)+717>>0]=0;a[256080+(b*812|0)+741>>0]=0;a[256080+(b*812|0)+765>>0]=0;return e|0}function Gd(a){a=a|0;a=256080+((a&255)*812|0)+772|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Hd(d){d=d|0;var e=0,f=0;f=d&255;d=0;do{e=256080+(f*812|0)+(d*24|0)|0;c[e>>2]=0;b[e+4>>1]=0;a[256080+(f*812|0)+(d*24|0)+6>>0]=-128;c[256080+(f*812|0)+(d*24|0)+8>>2]=0;a[256080+(f*812|0)+(d*24|0)+12>>0]=0;a[256080+(f*812|0)+(d*24|0)+13>>0]=0;c[256080+(f*812|0)+(d*24|0)+16>>2]=0;a[256080+(f*812|0)+(d*24|0)+20>>0]=0;d=d+1|0}while((d|0)!=32);d=256080+(f*812|0)+776|0;a[d>>0]=1;a[256080+(f*812|0)+784>>0]=0;nz(c[256080+(f*812|0)+772>>2]|0,0,c[256080+(f*812|0)+768>>2]|0)|0;d=((c[256080+(f*812|0)+788>>2]|0)>>>3>>>0)/(((a[d>>0]|0)+2|0)>>>0)|0;c[256080+(f*812|0)+800>>2]=d;e=c[256080+(f*812|0)+804>>2]|0;if(!e)return;xa[e&31](c[256080+(f*812|0)+808>>2]|0,d);return}function Id(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;h=d&255;if(e>>>0>=224){if((e|0)!=225)return;d=(f&255)>>>1&31;a[256080+(h*812|0)+776>>0]=d+1;d=((c[256080+(h*812|0)+788>>2]|0)>>>3>>>0)/((d+3|0)>>>0)|0;c[256080+(h*812|0)+800>>2]=d;e=c[256080+(h*812|0)+804>>2]|0;if(!e)return;xa[e&31](c[256080+(h*812|0)+808>>2]|0,d);return}g=e&31;switch(e>>>5&7){case 0:{h=256080+(h*812|0)+(g*24|0)|0;b[h>>1]=b[h>>1]&-256&65535|f&255;return}case 1:{h=256080+(h*812|0)+(g*24|0)|0;b[h>>1]=(f&255)<<8|b[h>>1]&255;return}case 2:{a[256080+(h*812|0)+(g*24|0)+5>>0]=f;return}case 6:{f=f&255;e=256080+(h*812|0)+(g*24|0)+8|0;d=c[e>>2]|0;c[e>>2]=(f&64|0)==0?d&65535:d|65536;e=f>>>3&7;a[256080+(h*812|0)+(g*24|0)+12>>0]=e;b[256080+(h*812|0)+(g*24|0)+2>>1]=b[15808+(e<<1)>>1]|0;a[256080+(h*812|0)+(g*24|0)+13>>0]=f&7;return}case 4:{c[256080+(h*812|0)+(g*24|0)+8>>2]=(f&255)<<8;return}case 5:{d=256080+(h*812|0)+(g*24|0)+4|0;if((f&1)==0&(a[d>>0]&1)!=0)c[256080+(h*812|0)+(g*24|0)+16>>2]=0;a[d>>0]=f;return}default:return}}function Jd(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[256080+(b*812|0)+(d*24|0)+21>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Kd(a,b){a=a|0;b=b|0;a=a&255;c[256080+(a*812|0)+804>>2]=5;c[256080+(a*812|0)+808>>2]=b;return}function Ld(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=c[g+20>>2]|0;m=(d[g+4>>0]|0)<<16;if(l&1|0){f=(c[f+1152>>2]|0)+(h+1)|0;f=a[f>>0]|0;return f|0}i=h+1|0;j=i&65535;k=b[g+16>>1]|0;if(j>>>0>(k&65535)>>>0){o=b[g+24>>1]|0;n=o&65535;if(!((o&65535)>(k&65535)&j>>>0>>0)?!((o&65535)<(k&65535)&j>>>0>n>>>0):0)j=6;else j=7}else j=6;if((j|0)==6)if(i>>>0>(m|65535)>>>0&k<<16>>16==-1)j=7;if((j|0)==7){do if((l&34|0)==34){j=(b[g+14>>1]&255)<<16;i=g+18|0}else{if(l&2|0){j=i&16711680;i=g+26|0;break}o=(c[f+1152>>2]|0)+h|0;o=a[o>>0]|0;return o|0}while(0);i=j|(e[i>>1]|0)}o=(c[f+1152>>2]|0)+i|0;o=a[o>>0]|0;return o|0}function Md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b&255;g=257712+(f*1680|0)|0;b=e<<2;nz(c[d>>2]|0,0,b|0)|0;nz(c[d+4>>2]|0,0,b|0)|0;b=0;do{if(c[257712+(f*1680|0)+(b*36|0)+20>>2]&32768|0?(a[257712+(f*1680|0)+(b*36|0)+5>>0]|0)==0:0)Nd(g,b,d,e);b=b+1|0}while((b|0)!=32);return}function Nd(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;K=f+(g*36|0)|0;Y=e[f+(g*36|0)+12>>1]|0;ba=f+(g*36|0)+28|0;l=c[ba>>2]|0;_=f+(g*36|0)+32|0;k=c[_>>2]|0;y=f+(g*36|0)+20|0;j=c[y>>2]|0;z=f+(g*36|0)+4|0;A=d[z>>0]<<16;$=f+(g*36|0)+10|0;n=b[$>>1]|0;aa=f+(g*36|0)+8|0;m=b[aa>>1]|0;if((j&32768|0)==0|(i|0)<1){ca=l;Z=k;Y=m;X=n;b[$>>1]=X;b[aa>>1]=Y;c[_>>2]=Z;c[ba>>2]=ca;return}B=f+1156|0;C=f+1152|0;D=(j&8|0)==0;E=(j&16|0)==0;F=(j&20|0)==0;G=f+(g*36|0)+6|0;H=(j&256|0)==0;I=(j&128|0)==0;J=f+1418|0;L=(j>>>2&1^1)&65535;N=f+(g*36|0)+1|0;O=h+4|0;P=(j&512|0)==0;Q=f+(g*36|0)+2|0;R=f+(g*36|0)+3|0;S=(j&1|0)!=0;T=(j&2|0)==0;Z=T|S^1;U=(j&64|0)==0;V=f+(g*36|0)+16|0;W=f+(g*36|0)+26|0;X=f+(g*36|0)+24|0;v=(j&34|0)==34;w=A|65535;x=f+(g*36|0)+14|0;u=f+(g*36|0)+18|0;q=m;t=0;a:while(1){k=k+Y|0;s=k>>>16&32767;o=(s|0)==0;r=k&65535;k=o?k:r;if(l>>>0>=(c[B>>2]|0)>>>0){ca=4;break}j=a[(c[C>>2]|0)+l>>0]|0;g=Ld(f,K,l)|0;if(D){m=j<<24>>24<<8&65535;p=g<<24>>24<<8&65535}else{m=b[f+1164+((j&255)<<1)>>1]|0;p=b[f+1164+((g&255)<<1)>>1]|0}do if(!E){j=b[G>>1]<<1;j=j|(Od(f)|0);b[G>>1]=j;j=(j&32767)+49152|0;g=j<<16;if(o){o=(e[f+1164+(((g|0)>8323072?127:(g|0)<0?255:j&255)<<1)>>1]|0)+(q&65535)|0;g=o&65535;m=n+1<<16>>16;if(!(m<<16>>16)){j=0;m=b[J>>1]|0;break}else{j=m;m=((o<<16>>16|0)/(m&65535|0)|0)&65535;break}}else if(!(n<<16>>16)){g=0;j=L;m=b[J>>1]|0;break}else{g=0;j=L;m=((q<<16>>16|0)/(n&65535|0)|0)&65535;break}}else{g=q;j=n}while(0);if(F)m=~~(+(r|0)*.0000152587890625*+((p<<16>>16)-(m<<16>>16)|0)+ +(m<<16>>16));o=m<<16>>16;if(H){m=d[K>>0]|0;n=o}else{m=0-o|0;n=d[K>>0]|0}q=(M(m,n)|0)>>8;r=(c[h>>2]|0)+(t<<2)|0;c[r>>2]=q+(c[r>>2]|0);if(I){m=d[N>>0]|0;n=o}else{m=0-o|0;n=d[N>>0]|0}q=(M(m,n)|0)>>8;r=(c[O>>2]|0)+(t<<2)|0;c[r>>2]=q+(c[r>>2]|0);if(P){m=d[Q>>0]|0;n=o}else{m=0-o|0;n=d[Q>>0]|0}r=(M(m,n)|0)>>8;q=(c[h>>2]|0)+(t<<2)|0;c[q>>2]=r+(c[q>>2]|0);q=(M(d[R>>0]|0,o)|0)>>8;r=(c[O>>2]|0)+(t<<2)|0;c[r>>2]=q+(c[r>>2]|0);do if(Z)if(S){l=l-s|0;m=l&65535;n=b[V>>1]|0;if(m>>>0<(n&65535)>>>0){r=b[X>>1]|0;s=r&65535;if(!((r&65535)>(n&65535)&m>>>0>>0)?!((r&65535)<(n&65535)&m>>>0>s>>>0):0)ca=45}else ca=45;if((ca|0)==45?(ca=0,!(l>>>0>>0&n<<16>>16==0)):0)break;if(v){s=b[x>>1]|0;a[z>>0]=s;l=b[u>>1]|0;b[x>>1]=l;b[X>>1]=l;b[W>>1]=l;c[y>>2]=c[y>>2]|2048;l=(s&255)<<16|l&65535;break}if(T){ca=50;break a}l=l&16711680|e[W>>1];c[y>>2]=c[y>>2]|2048;break}else{l=s+l|0;m=l&65535;n=b[V>>1]|0;if(m>>>0>(n&65535)>>>0){r=b[X>>1]|0;s=r&65535;if(!((r&65535)>(n&65535)&m>>>0>>0)?!((r&65535)<(n&65535)&m>>>0>s>>>0):0)ca=54}else ca=54;if((ca|0)==54?(ca=0,!(l>>>0>w>>>0&n<<16>>16==-1)):0)break;if(v){s=b[x>>1]|0;a[z>>0]=s;l=b[u>>1]|0;b[x>>1]=l;b[X>>1]=l;b[W>>1]=l;c[y>>2]=c[y>>2]|2048;l=(s&255)<<16|l&65535;break}if(T){ca=59;break a}l=l&16711680|e[W>>1];c[y>>2]=c[y>>2]|2048;break}else{if(U){l=s+l|0;m=l&65535;n=b[V>>1]|0;if(m>>>0>(n&65535)>>>0){r=b[X>>1]|0;s=r&65535;if(!((r&65535)>(n&65535)&m>>>0>>0)?!((r&65535)<(n&65535)&m>>>0>s>>>0):0)ca=32}else ca=32;if((ca|0)==32?(ca=0,!(l>>>0>w>>>0&n<<16>>16==-1)):0)break;c[y>>2]=c[y>>2]|2112;break}l=l-s|0;m=l&65535;n=b[W>>1]|0;do if(m>>>0<(n&65535)>>>0){o=b[V>>1]|0;p=o&65535;if(m>>>0

>>0?(o&65535)>(e[X>>1]|0):0)break;if(!(m>>>0>p>>>0?(o&65535)<(e[X>>1]|0):0))ca=39}else ca=39;while(0);if((ca|0)==39?(ca=0,!(l>>>0>>0&n<<16>>16==0)):0)break;c[y>>2]=c[y>>2]&-2113|2048}while(0);t=t+1|0;if((t|0)>=(i|0)){ca=61;break}else{q=g;n=j}}if((ca|0)==4){c[y>>2]=c[y>>2]&-32769;ca=l;Z=k;Y=q;X=n;b[$>>1]=X;b[aa>>1]=Y;c[_>>2]=Z;c[ba>>2]=ca;return}else if((ca|0)==50){c[y>>2]=c[y>>2]&-40961|8192;ca=l;Z=k;Y=g;X=j;b[$>>1]=X;b[aa>>1]=Y;c[_>>2]=Z;c[ba>>2]=ca;return}else if((ca|0)==59){c[y>>2]=c[y>>2]&-40961|8192;ca=l;Z=k;Y=g;X=j;b[$>>1]=X;b[aa>>1]=Y;c[_>>2]=Z;c[ba>>2]=ca;return}else if((ca|0)==61){b[$>>1]=j;b[aa>>1]=g;c[_>>2]=k;c[ba>>2]=l;return}}function Od(a){a=a|0;var b=0,d=0;b=a+1676|0;d=c[b>>2]|0;a=d<<1;a=(d&65536|0)==0?a:a^129;c[b>>2]=a;return a&1|0}function Pd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0.0;if((d&255)>1){g=0;return g|0}g=d&255;c[257712+(g*1680|0)+1152>>2]=0;c[257712+(g*1680|0)+1156>>2]=0;e=(e|0)/(((f|0)==0?288:f)|0)|0;c[257712+(g*1680|0)+1160>>2]=e;d=0;do{h=(+J(+(+(d&127|0)/127.0*2.3978952727983707))+-1.0)*32752.0/10.0;b[257712+(g*1680|0)+1164+(d<<1)>>1]=~~((d&128|0)==0?h:-h);d=d+1|0}while((d|0)!=256);a[257712+(g*1680|0)+5>>0]=0;a[257712+(g*1680|0)+41>>0]=0;a[257712+(g*1680|0)+77>>0]=0;a[257712+(g*1680|0)+113>>0]=0;a[257712+(g*1680|0)+149>>0]=0;a[257712+(g*1680|0)+185>>0]=0;a[257712+(g*1680|0)+221>>0]=0;a[257712+(g*1680|0)+257>>0]=0;a[257712+(g*1680|0)+293>>0]=0;a[257712+(g*1680|0)+329>>0]=0;a[257712+(g*1680|0)+365>>0]=0;a[257712+(g*1680|0)+401>>0]=0;a[257712+(g*1680|0)+437>>0]=0;a[257712+(g*1680|0)+473>>0]=0;a[257712+(g*1680|0)+509>>0]=0;a[257712+(g*1680|0)+545>>0]=0;a[257712+(g*1680|0)+581>>0]=0;a[257712+(g*1680|0)+617>>0]=0;a[257712+(g*1680|0)+653>>0]=0;a[257712+(g*1680|0)+689>>0]=0;a[257712+(g*1680|0)+725>>0]=0;a[257712+(g*1680|0)+761>>0]=0;a[257712+(g*1680|0)+797>>0]=0;a[257712+(g*1680|0)+833>>0]=0;a[257712+(g*1680|0)+869>>0]=0;a[257712+(g*1680|0)+905>>0]=0;a[257712+(g*1680|0)+941>>0]=0;a[257712+(g*1680|0)+977>>0]=0;a[257712+(g*1680|0)+1013>>0]=0;a[257712+(g*1680|0)+1049>>0]=0;a[257712+(g*1680|0)+1085>>0]=0;a[257712+(g*1680|0)+1121>>0]=0;g=e;return g|0}function Qd(a){a=a|0;a=257712+((a&255)*1680|0)+1152|0;fx(c[a>>2]|0);c[a>>2]=0;return}function Rd(a){a=a|0;a=a&255;nz(257712+(a*1680|0)|0,0,1152)|0;c[257712+(a*1680|0)+1676>>2]=305419896;return}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;Td(257712+((a&255)*1680|0)|0,b<<1,c);return}function Td(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;h=f>>>4&4095;if(f>>>0>1023){if((f|0)!=1028)return;f=0;do{h=e+(f*36|0)+20|0;i=c[h>>2]|0;if(!(i&16384)){if(i&8192|0)c[h>>2]=i&-40961}else{g=b[e+(f*36|0)+14>>1]|0;if(g<<16>>16!=(b[e+(f*36|0)+16>>1]|0)){c[e+(f*36|0)+28>>2]=d[e+(f*36|0)+4>>0]<<16|g&65535;b[e+(f*36|0)+24>>1]=g;b[e+(f*36|0)+26>>1]=b[e+(f*36|0)+18>>1]|0;b[e+(f*36|0)+8>>1]=0;b[e+(f*36|0)+10>>1]=0;c[h>>2]=i&-51201|32768}}f=f+1|0}while((f|0)!=32);return}if(h>>>0>31)return;switch(f&15){case 0:{a[e+(h*36|0)>>0]=g;a[e+(h*36|0)+1>>0]=(g&65535)>>>8;return}case 2:{a[e+(h*36|0)+2>>0]=g;a[e+(h*36|0)+3>>0]=(g&65535)>>>8;return}case 4:{b[e+(h*36|0)+12>>1]=g;return}case 6:{c[e+(h*36|0)+20>>2]=g&65535;return}case 8:{a[e+(h*36|0)+4>>0]=g;return}case 10:{b[e+(h*36|0)+14>>1]=g;return}case 12:{b[e+(h*36|0)+16>>1]=g;return}case 14:{b[e+(h*36|0)+18>>1]=g;return}default:return}}function Ud(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=257712+(a*1680|0)+1156|0;if((c[g>>2]|0)!=(b|0)){i=257712+(a*1680|0)+1152|0;h=hx(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[257712+(a*1680|0)+1152>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Vd(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[257712+(b*1680|0)+(d*36|0)+5>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Wd(b,d,e){b=b|0;d=d|0;e=e|0;b=3430908+((b&255)<<2)|0;switch(a[3432160]|0){case 1:{Xd(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{Yd(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function Xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0;if((f|0)<=0)return;ya=b+9584|0;Ja=b+269|0;Ua=b+1536|0;db=b+512|0;h=b+781|0;s=b+2048|0;D=b+1024|0;F=b+1293|0;G=b+2560|0;H=(a[b+13817>>0]&32)==0;I=b+3072|0;J=b+3584|0;K=b+4096|0;L=b+4608|0;M=b+4877|0;N=b+6144|0;O=b+13804|0;P=b+5120|0;Q=b+5389|0;R=b+6656|0;S=b+5632|0;T=b+5901|0;U=b+7168|0;V=b+7680|0;W=b+8192|0;X=b+8704|0;Y=b+9216|0;Z=b+9220|0;_=b+9224|0;$=b+9228|0;aa=b+9588|0;ba=b+9232|0;ca=b+9236|0;da=b+9240|0;ea=b+9244|0;fa=b+9592|0;ga=b+9248|0;ha=b+9252|0;ia=b+9256|0;ja=b+9260|0;ka=b+9596|0;la=b+9264|0;ma=b+9268|0;na=b+9272|0;oa=b+9276|0;pa=b+9600|0;qa=b+9280|0;ra=b+9284|0;sa=b+9288|0;ta=b+9292|0;ua=b+9604|0;va=b+9296|0;wa=b+9300|0;xa=b+9304|0;za=b+9308|0;Aa=b+9608|0;Ba=b+9312|0;Ca=b+9316|0;Da=b+9320|0;Ea=b+9324|0;Fa=b+9612|0;Ga=b+9328|0;Ha=b+9332|0;Ia=b+9336|0;Ka=b+9340|0;La=b+9616|0;Ma=b+9344|0;Na=b+9348|0;Oa=b+9352|0;Pa=b+9356|0;Qa=b+9620|0;Ra=b+9360|0;Sa=b+9364|0;Ta=b+9368|0;Va=b+9372|0;Wa=b+9624|0;Xa=b+9376|0;Ya=b+9380|0;Za=b+9384|0;_a=b+9388|0;$a=b+9628|0;ab=b+9392|0;bb=b+9396|0;cb=b+9400|0;eb=b+9404|0;fb=b+9632|0;gb=b+9408|0;hb=b+9412|0;ib=b+9416|0;jb=b+9420|0;kb=b+9636|0;lb=b+9424|0;mb=b+9428|0;nb=b+9432|0;i=b+9436|0;j=b+9640|0;k=b+9440|0;l=b+9444|0;m=b+9448|0;n=b+9452|0;o=b+9644|0;p=b+9456|0;q=b+9460|0;r=b+9464|0;t=b+9468|0;u=b+9648|0;v=b+9472|0;w=b+9476|0;x=b+9480|0;y=b+9484|0;z=b+9652|0;A=b+9488|0;B=b+9492|0;C=b+9496|0;E=b+9500|0;g=0;do{ge(b);ob=ya;pb=ob+72|0;do{c[ob>>2]=0;ob=ob+4|0}while((ob|0)<(pb|0));he(b,b);if(!(a[Ja>>0]|0))he(b,Ua);else ie(b,Ua);he(b,db);if(!(a[h>>0]|0))he(b,s);else ie(b,s);he(b,D);if(!(a[F>>0]|0))he(b,G);else ie(b,G);if(H){he(b,I);he(b,J);he(b,K)}else je(b,b,c[O>>2]&1);he(b,L);if(!(a[M>>0]|0))he(b,N);else ie(b,N);he(b,P);if(!(a[Q>>0]|0))he(b,R);else ie(b,R);he(b,S);if(!(a[T>>0]|0))he(b,U);else ie(b,U);he(b,V);he(b,W);he(b,X);nc=c[ya>>2]|0;Wb=c[Z>>2]&nc;Xb=c[$>>2]&nc;mc=c[aa>>2]|0;Vb=c[ca>>2]&mc;Ub=c[ea>>2]&mc;lc=c[fa>>2]|0;Tb=c[ha>>2]&lc;Sb=c[ja>>2]&lc;kc=c[ka>>2]|0;Rb=c[ma>>2]&kc;Qb=c[oa>>2]&kc;jc=c[pa>>2]|0;Pb=c[ra>>2]&jc;Ob=c[ta>>2]&jc;ic=c[ua>>2]|0;Nb=c[wa>>2]⁣Mb=c[za>>2]⁣hc=c[Aa>>2]|0;Lb=c[Ca>>2]&hc;Kb=c[Ea>>2]&hc;gc=c[Fa>>2]|0;Jb=c[Ha>>2]&gc;Ib=c[Ka>>2]&gc;fc=c[La>>2]|0;Hb=c[Na>>2]&fc;Gb=c[Pa>>2]&fc;ec=c[Qa>>2]|0;Fb=c[Sa>>2]&ec;Eb=c[Va>>2]&ec;dc=c[Wa>>2]|0;Db=c[Ya>>2]&dc;Cb=c[_a>>2]&dc;cc=c[$a>>2]|0;Bb=c[bb>>2]&cc;Ab=c[eb>>2]&cc;bc=c[fb>>2]|0;zb=c[hb>>2]&bc;yb=c[jb>>2]&bc;ac=c[kb>>2]|0;xb=c[mb>>2]∾wb=c[i>>2]∾$b=c[j>>2]|0;vb=c[l>>2]&$b;ub=c[n>>2]&$b;_b=c[o>>2]|0;tb=c[q>>2]&_b;sb=c[t>>2]&_b;Zb=c[u>>2]|0;rb=c[w>>2]&Zb;qb=c[y>>2]&Zb;Yb=c[z>>2]|0;ob=c[B>>2]&Yb;pb=c[E>>2]&Yb;c[d+(g<<2)>>2]=(c[_>>2]&nc)+(c[Y>>2]&nc)+(c[ba>>2]&mc)+(c[da>>2]&mc)+(c[ga>>2]&lc)+(c[ia>>2]&lc)+(c[la>>2]&kc)+(c[na>>2]&kc)+(c[qa>>2]&jc)+(c[sa>>2]&jc)+(c[va>>2]&ic)+(c[xa>>2]&ic)+(c[Ba>>2]&hc)+(c[Da>>2]&hc)+(c[Ga>>2]&gc)+(c[Ia>>2]&gc)+(c[Ma>>2]&fc)+(c[Oa>>2]&fc)+(c[Ra>>2]&ec)+(c[Ta>>2]&ec)+(c[Xa>>2]&dc)+(c[Za>>2]&dc)+(c[ab>>2]&cc)+(c[cb>>2]&cc)+(c[gb>>2]&bc)+(c[ib>>2]&bc)+(c[lb>>2]&ac)+(c[nb>>2]&ac)+(c[k>>2]&$b)+(c[m>>2]&$b)+(c[p>>2]&_b)+(c[r>>2]&_b)+(c[v>>2]&Zb)+(c[x>>2]&Zb)+(c[A>>2]&Yb)+(c[C>>2]&Yb);c[e+(g<<2)>>2]=Xb+Wb+Vb+Ub+Tb+Sb+Rb+Qb+Pb+Ob+Nb+Mb+Lb+Kb+Jb+Ib+Hb+Gb+Fb+Eb+Db+Cb+Bb+Ab+zb+yb+xb+wb+vb+ub+tb+sb+rb+qb+ob+pb;ke(b);g=g+1|0}while((g|0)!=(f|0));return} -function Yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=k;k=k+4096|0;la=pa+2048|0;ma=pa;na=b+6668|0;oa=b+6929|0;fa=(a[oa>>0]&1)==0?9:18;if(!f){h=b+6857|0;g=0;do{if(!((g+-6|0)>>>0<3&(a[h>>0]&32)!=0)?(j=g>>>0<9?g:g+9|0,i=b+(j*184|0)|0,(a[b+(j*184|0)+169>>0]|0)==0):0){if(!(c[b+(j*184|0)+112>>2]|0))Zd(i);if(!(c[i+1768>>2]|0))Zd(i+1656|0)}g=g+1|0}while(g>>>0>>0);k=pa;return}if((f|0)<=0){k=pa;return}ga=b+6857|0;m=b+7224|0;n=b+7232|0;ha=b+6624|0;w=b+1104|0;D=b+2760|0;E=b+2872|0;L=b+1472|0;N=b+1584|0;W=b+1288|0;X=b+1400|0;x=b+1216|0;s=b+2897|0;Y=b+3056|0;v=b+2898|0;Z=b+3240|0;t=b+1242|0;F=b+1276|0;G=b+1280|0;u=b+2880|0;_=b+1644|0;$=b+1648|0;H=b+1592|0;S=b+3082|0;O=b+1408|0;y=b+1108|0;z=b+1160|0;r=b+1224|0;aa=b+2944|0;ba=b+3128|0;ca=b+6646|0;da=b+1460|0;ea=b+1464|0;R=b+3064|0;T=b+3248|0;o=f<<2;nz(d|0,0,o|0)|0;nz(e|0,0,o|0)|0;o=a[ga>>0]|0;h=((o&255)>>>6&1^1)&255;i=c[b+7228>>2]|0;j=c[b+7236>>2]|0;l=o<<24>>24<0;g=0;p=c[m>>2]|0;q=c[n>>2]|0;do{V=p+i|0;p=V>>>0>134217727?V+-134217728|0:V;c[la+(g<<2)>>2]=c[261072+(p>>>24<<2)>>2]>>h;V=q+j|0;q=V>>>0>889192447?V+-889192448|0:V;V=q>>>24;c[ma+(g<<2)>>2]=c[261104+((l?V:V+53|0)<<2)>>2];g=g+1|0}while((g|0)!=(f|0));h=b+6866|0;A=b+6644|0;i=b+1241|0;B=b+1609|0;I=b+1425|0;C=b+1610|0;J=b+3081|0;K=b+1426|0;P=b+3265|0;Q=b+3266|0;U=b+6643|0;V=b+6645|0;c[m>>2]=p;c[n>>2]=q;do if(o&32){a:do if(!(a[b+6642>>0]|0)){g=(c[E>>2]|0)!=5;if(a[h>>0]&1){if(!g)break;if(!(a[s>>0]|0))j=263584;else{g=0;do{c[261536+(g<<2)>>2]=(M((M(c[u>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=261536}h=(a[v>>0]|0)==0?265632:ma;i=0;while(1){_d(b,D,c[j+(i<<2)>>2]|0);wa[c[15824+(c[E>>2]<<2)>>2]&31](D);$d(D,0,c[h+(i<<2)>>2]|0);g=c[D>>2]<<1;if(!(a[oa>>0]&1)){z=d+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+g}else{y=M(c[F>>2]|0,g)|0;z=d+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+y;g=M(c[G>>2]|0,g)|0}z=e+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break a}}if(!g?(c[x>>2]|0)==5:0)break;if((a[i>>0]|0)!=0?(c[x>>2]|0)!=5:0){g=0;do{c[261536+(g<<2)>>2]=(M((M(c[r>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=261536}else m=263584;if((a[s>>0]|0)!=0?(c[E>>2]|0)!=5:0){g=0;do{c[267680+(g<<2)>>2]=(M((M(c[u>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=267680}else l=263584;j=(a[t>>0]|0)==0?265632:ma;h=(a[v>>0]|0)==0?265632:ma;i=0;do{_d(b,w,c[m+(i<<2)>>2]|0);wa[c[15824+(c[x>>2]<<2)>>2]&31](w);g=(M((c[w>>2]|0)+(c[y>>2]|0)|0,c[z>>2]|0)|0)/2|0;$d(w,g,c[j+(i<<2)>>2]|0);_d(b,D,c[l+(i<<2)>>2]|0);wa[c[15824+(c[E>>2]<<2)>>2]&31](D);$d(D,c[w>>2]<<16,c[h+(i<<2)>>2]|0);g=c[D>>2]<<1;if(!(a[oa>>0]&1)){v=d+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+g}else{u=M(c[F>>2]|0,g)|0;v=d+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+u;g=M(c[G>>2]|0,g)|0}v=e+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+g;i=i+1|0}while((i|0)!=(f|0))}while(0);if((a[A>>0]|0)==0?(c[N>>2]|0)!=5:0){if(!(a[B>>0]|0))j=263584;else{g=0;do{c[261536+(g<<2)>>2]=(M((M(c[H>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=261536}h=(a[C>>0]|0)==0?265632:ma;i=0;do{_d(b,L,c[j+(i<<2)>>2]|0);wa[c[15824+(c[N>>2]<<2)>>2]&31](L);$d(L,0,c[h+(i<<2)>>2]|0);g=c[L>>2]<<1;if(!(a[oa>>0]&1)){H=d+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+g}else{G=M(c[_>>2]|0,g)|0;H=d+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+G;g=M(c[$>>2]|0,g)|0}H=e+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+g;i=i+1|0}while((i|0)!=(f|0))}if((c[X>>2]|0)==5)if((c[Y>>2]|0)==5?(c[Z>>2]|0)==5:0)break;else p=263584;else if(!(a[I>>0]|0))p=263584;else{g=0;do{c[261536+(g<<2)>>2]=(M((M(c[O>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));p=261536}if((a[J>>0]|0)!=0?(c[Y>>2]|0)==5:0){g=0;do{c[267680+(g<<2)>>2]=(M((M(c[R>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=267680}else o=263584;n=(a[K>>0]|0)==0?265632:ma;m=(a[S>>0]|0)==0?265632:ma;if((a[P>>0]|0)!=0?(c[Z>>2]|0)==5:0){g=0;do{c[267680+(g<<2)>>2]=(M((M(c[T>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=267680}else l=263584;i=(a[Q>>0]|0)==0?265632:ma;j=0;do{ae(b,W,c[p+(j<<2)>>2]|0,aa,c[o+(j<<2)>>2]|0,ba,c[l+(j<<2)>>2]|0);if(!(a[ca>>0]|0)){wa[c[15824+(c[X>>2]<<2)>>2]&31](W);$d(W,0,c[n+(j<<2)>>2]|0)}else c[W>>2]=0;if(!(a[U>>0]|0)){wa[c[15824+(c[Y>>2]<<2)>>2]&31](aa);$d(aa,0,c[m+(j<<2)>>2]|0)}else c[aa>>2]=0;if(!(a[V>>0]|0)){wa[c[15824+(c[Z>>2]<<2)>>2]&31](ba);$d(ba,0,c[i+(j<<2)>>2]|0)}else c[ba>>2]=0;g=(c[aa>>2]|0)+(c[W>>2]|0)<<1;if(!(a[oa>>0]&1)){T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+g}else{S=M(c[da>>2]|0,g)|0;T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+S;g=M(c[ea>>2]|0,g)|0}h=e+(j<<2)|0;c[h>>2]=(c[h>>2]|0)+g;g=c[ba>>2]<<1;if(!(a[oa>>0]&1)){T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+g}else{S=M(c[_>>2]|0,g)|0;T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+S;g=M(c[$>>2]|0,g)|0}c[h>>2]=(c[h>>2]|0)+g;j=j+1|0}while((j|0)!=(f|0))}while(0);B=(f|0)<1;do{A=fa;fa=fa+-1|0;b:do if(((a[ha+fa>>0]|0)==0?!((A+-7|0)>>>0<3&(a[ga>>0]&32)!=0):0)?(ka=(A|0)<10,ia=ka?fa:A+246|0,ka=ka?fa:A+8|0,ja=b+(ka*184|0)|0,(a[b+(ka*184|0)+169>>0]|0)==0):0){g=(a[b+(ka*184|0)+168>>0]|0)!=0;if(!(a[na+(ia+192)>>0]&1)){if(!g){s=ja+1656|0;t=ja+1768|0;if((c[t>>2]|0)==5?(c[b+(ka*184|0)+112>>2]|0)==5:0)break;if(a[b+(ka*184|0)+137>>0]|0){g=(c[b+(ka*184|0)+112>>2]|0)==5;if(g|B)r=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));r=261536}}else r=263584;if(a[ja+1793>>0]|0){g=(c[t>>2]|0)==5;if(g|B)j=g?263584:267680;else{h=ja+1776|0;g=0;do{c[267680+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=267680}}else j=263584;h=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;l=(a[ja+1794>>0]|0)==0?265632:ma;m=b+(ka*184|0)+112|0;n=b+(ka*184|0)+4|0;o=b+(ka*184|0)+56|0;p=b+(ka*184|0)+172|0;q=b+(ka*184|0)+176|0;i=0;while(1){_d(b,ja,c[r+(i<<2)>>2]|0);wa[c[15824+(c[m>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0)/2|0;$d(ja,g,c[h+(i<<2)>>2]|0);_d(b,s,c[j+(i<<2)>>2]|0);wa[c[15824+(c[t>>2]<<2)>>2]&31](s);$d(s,c[ja>>2]<<16,c[l+(i<<2)>>2]|0);g=c[s>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}z=b+(ka*184|0)+112|0;g=c[z>>2]|0;h=(g|0)!=5;if(!(a[na+(ia+195)>>0]&1)){if(((!h?(c[ja+1768>>2]|0)==5:0)?(c[ja+664>>2]|0)==5:0)?(c[ja+2320>>2]|0)==5:0)break;g=(g|0)==5?1:(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)w=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));w=261536}y=ja+1656|0;x=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[x>>2]|0)==5;if(g|B)m=g?263584:267680;else{h=ja+1776|0;g=0;do{c[267680+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=267680}}else m=263584;h=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;n=(a[ja+1794>>0]|0)==0?265632:ma;o=ja+552|0;j=(a[ja+690>>0]|0)==0?265632:ma;p=ja+2208|0;i=(a[ja+2346>>0]|0)==0?265632:ma;q=b+(ka*184|0)+4|0;r=b+(ka*184|0)+56|0;s=ja+664|0;t=ja+2320|0;u=ja+724|0;v=ja+728|0;l=0;while(1){_d(b,ja,c[w+(l<<2)>>2]|0);wa[c[15824+(c[z>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0)/2|0;$d(ja,g,c[h+(l<<2)>>2]|0);_d(b,y,c[m+(l<<2)>>2]|0);wa[c[15824+(c[x>>2]<<2)>>2]&31](y);$d(y,c[ja>>2]<<16,c[n+(l<<2)>>2]|0);_d(b,o,0);wa[c[15824+(c[s>>2]<<2)>>2]&31](o);$d(o,c[y>>2]<<16,c[j+(l<<2)>>2]|0);_d(b,p,0);wa[c[15824+(c[t>>2]<<2)>>2]&31](p);$d(p,c[o>>2]<<16,c[i+(l<<2)>>2]|0);g=c[p>>2]|0;if(!(a[oa>>0]&1)){ea=d+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[u>>2]|0,g)|0;ea=d+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[v>>2]|0,g)|0}ea=e+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;l=l+1|0;if((l|0)==(f|0))break b}}if(!(!h?(c[ja+1768>>2]|0)==5:0)){g=(g|0)==5?1:(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)q=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));q=261536}s=ja+1656|0;r=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[r>>2]|0)==5;if(g|B)i=g?263584:267680;else{h=ja+1776|0;g=0;do{c[267680+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=267680}}else i=263584;l=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;j=(a[ja+1794>>0]|0)==0?265632:ma;m=b+(ka*184|0)+4|0;n=b+(ka*184|0)+56|0;o=ja+724|0;p=ja+728|0;h=0;do{_d(b,ja,c[q+(h<<2)>>2]|0);wa[c[15824+(c[z>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;$d(ja,g,c[l+(h<<2)>>2]|0);_d(b,s,c[i+(h<<2)>>2]|0);wa[c[15824+(c[r>>2]<<2)>>2]&31](s);$d(s,c[ja>>2]<<16,c[j+(h<<2)>>2]|0);g=c[s>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[o>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[p>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}l=ja+552|0;m=ja+664|0;n=ja+2320|0;if((c[m>>2]|0)==5?(c[n>>2]|0)==5:0)break;h=(a[ja+690>>0]|0)==0?265632:ma;o=ja+2208|0;j=(a[ja+2346>>0]|0)==0?265632:ma;p=ja+724|0;q=ja+728|0;i=0;while(1){_d(b,l,0);wa[c[15824+(c[m>>2]<<2)>>2]&31](l);$d(l,0,c[h+(i<<2)>>2]|0);_d(b,o,0);wa[c[15824+(c[n>>2]<<2)>>2]&31](o);$d(o,c[l>>2]<<16,c[j+(i<<2)>>2]|0);g=c[o>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}if(!g){s=ja+1656|0;t=ja+1768|0;if((c[t>>2]|0)==5?(c[b+(ka*184|0)+112>>2]|0)==5:0)break;if(a[b+(ka*184|0)+137>>0]|0){g=(c[b+(ka*184|0)+112>>2]|0)==5;if(g|B)r=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));r=261536}}else r=263584;if(a[ja+1793>>0]|0){g=(c[t>>2]|0)==5;if(g|B)i=g?263584:267680;else{h=ja+1776|0;g=0;do{c[267680+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=267680}}else i=263584;l=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;j=(a[ja+1794>>0]|0)==0?265632:ma;m=b+(ka*184|0)+112|0;n=b+(ka*184|0)+4|0;o=b+(ka*184|0)+56|0;p=b+(ka*184|0)+172|0;q=b+(ka*184|0)+176|0;h=0;while(1){_d(b,ja,c[r+(h<<2)>>2]|0);wa[c[15824+(c[m>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0)/2|0;$d(ja,g,c[l+(h<<2)>>2]|0);_d(b,s,c[i+(h<<2)>>2]|0);wa[c[15824+(c[t>>2]<<2)>>2]&31](s);$d(s,0,c[j+(h<<2)>>2]|0);g=(c[ja>>2]|0)+(c[s>>2]|0)|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0;if((h|0)==(f|0))break b}}p=b+(ka*184|0)+112|0;g=(c[p>>2]|0)!=5;if(!(a[na+(ia+195)>>0]&1)){if(g){g=(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)i=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=261536}j=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;l=b+(ka*184|0)+4|0;m=b+(ka*184|0)+56|0;n=ja+724|0;o=ja+728|0;h=0;do{_d(b,ja,c[i+(h<<2)>>2]|0);wa[c[15824+(c[p>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0)/2|0;$d(ja,g,c[j+(h<<2)>>2]|0);g=c[ja>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[n>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[o>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}t=ja+1656|0;u=ja+1768|0;if((c[u>>2]|0)==5)if((c[ja+664>>2]|0)==5?(c[ja+2320>>2]|0)==5:0)break;else l=263584;else{g=(a[ja+1793>>0]|0)==0;if(g|B)l=g?263584:261536;else{h=ja+1776|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=261536}}m=(a[ja+1794>>0]|0)==0?265632:ma;n=ja+552|0;j=(a[ja+690>>0]|0)==0?265632:ma;o=ja+2208|0;h=(a[ja+2346>>0]|0)==0?265632:ma;p=ja+664|0;q=ja+2320|0;r=ja+724|0;s=ja+728|0;i=0;while(1){_d(b,t,c[l+(i<<2)>>2]|0);wa[c[15824+(c[u>>2]<<2)>>2]&31](t);$d(t,0,c[m+(i<<2)>>2]|0);_d(b,n,0);wa[c[15824+(c[p>>2]<<2)>>2]&31](n);$d(n,c[t>>2]<<16,c[j+(i<<2)>>2]|0);_d(b,o,0);wa[c[15824+(c[q>>2]<<2)>>2]&31](o);$d(o,c[n>>2]<<16,c[h+(i<<2)>>2]|0);g=c[o>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[r>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[s>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}if(g){g=(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)i=g?263584:261536;else{h=b+(ka*184|0)+120|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=261536}j=(a[b+(ka*184|0)+138>>0]|0)==0?265632:ma;l=b+(ka*184|0)+4|0;m=b+(ka*184|0)+56|0;n=ja+724|0;o=ja+728|0;h=0;do{_d(b,ja,c[i+(h<<2)>>2]|0);wa[c[15824+(c[p>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0)/2|0;$d(ja,g,c[j+(h<<2)>>2]|0);g=c[ja>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[n>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[o>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}p=ja+552|0;q=ja+664|0;if(!((c[q>>2]|0)==5?(c[ja+1768>>2]|0)==5:0)){r=ja+1656|0;o=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[o>>2]|0)==5;if(g|B)j=g?263584:261536;else{h=ja+1776|0;g=0;do{c[261536+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=261536}}else j=263584;l=(a[ja+1794>>0]|0)==0?265632:ma;i=(a[ja+690>>0]|0)==0?265632:ma;m=ja+724|0;n=ja+728|0;h=0;do{_d(b,r,c[j+(h<<2)>>2]|0);wa[c[15824+(c[o>>2]<<2)>>2]&31](r);$d(r,0,c[l+(h<<2)>>2]|0);_d(b,p,0);wa[c[15824+(c[q>>2]<<2)>>2]&31](p);$d(p,c[r>>2]<<16,c[i+(h<<2)>>2]|0);g=c[p>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[m>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[n>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}j=ja+2208|0;l=ja+2320|0;if((c[l>>2]|0)!=5){i=(a[ja+2346>>0]|0)==0?265632:ma;m=ja+724|0;n=ja+728|0;h=0;do{_d(b,j,0);wa[c[15824+(c[l>>2]<<2)>>2]&31](j);$d(j,0,c[i+(h<<2)>>2]|0);g=c[j>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[m>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[n>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}}while(0)}while((A|0)>1);k=pa;return}function Zd(a){a=a|0;if((c[a+144>>2]|0)+1&c[a+148>>2]|0)return;if(!(+h[a+64>>3]>=1.0))return;c[a+112>>2]=1;h[a+24>>3]=1.0;h[a+32>>3]=1.0;return}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;c[b+12>>2]=g;f=c[b+16>>2]|0;c[e>>2]=f+g+((M(f,d)|0)/65536|0);d=b+140|0;c[d>>2]=(c[d>>2]|0)+(c[a+7240>>2]|0);return}function $d(a,d,e){a=a|0;d=d|0;e=e|0;if((c[a+112>>2]|0)==5)return;c[a+4>>2]=c[a>>2];c[a>>2]=~~(+h[a+32>>3]*+h[a+40>>3]*+(b[(c[a+124>>2]|0)+((c[a+128>>2]&((c[a+12>>2]|0)+d|0)>>>16)<<1)>>1]|0)*+(e|0)*.0625);return}function ae(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;j=(c[m>>2]|0)>>>16;i=g+8|0;k=(c[i>>2]|0)>>>16;j=((k<<2^k)&32|j<<5&128^j&136|0)==0?0:2;k=(Qy()|0)&1;l=c[m>>2]|0;c[b+12>>2]=(52<<(j^k<<1)|j<<8)<<16;n=c[b+16>>2]|0;c[m>>2]=n+l+((M(n,d)|0)/65536|0);d=a+7240|0;a=b+140|0;c[a>>2]=(c[a>>2]|0)+(c[d>>2]|0);c[e+12>>2]=((l>>>24&1)+1^k)<<24;a=c[e+16>>2]|0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+a+((M(a,f)|0)/65536|0);f=e+140|0;c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[g+12>>2]=j<<24|16777216;f=c[g+16>>2]|0;c[i>>2]=(c[i>>2]|0)+f+((M(f,h)|0)/65536|0);h=g+140|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);return}function be(b){b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+24|0;e=+h[r>>3];e=+h[b+64>>3]+e*(+h[b+72>>3]+e*(+h[b+88>>3]*e+ +h[b+80>>3]));h[r>>3]=e;j=b+140|0;k=c[j>>2]|0;l=k>>>16;if(!l){r=k&65535;c[j>>2]=r;return}m=b+144|0;n=c[b+148>>2]|0;o=b+112|0;p=b+32|0;q=b+160|0;g=b+164|0;f=c[m>>2]|0;b=0;i=f;do{i=i+1|0;if(!(n&i)){if(e>1.0){c[o>>2]=1;h[r>>3]=1.0;h[p>>3]=1.0;e=1.0}s=d[q>>0]|0;s=(s&127|0)==0?1:s<<1&255;a[q>>0]=s;if(c[g>>2]&(s&255))h[p>>3]=e}b=b+1|0}while((b|0)!=(l|0));c[m>>2]=f+l;s=k&65535;c[j>>2]=s;return}function ce(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=b+24|0;d=+h[p>>3];q=+h[b+48>>3];if(d>q){d=d*+h[b+96>>3];h[p>>3]=d}o=b+140|0;i=c[o>>2]|0;j=i>>>16;if(!j){p=i&65535;c[o>>2]=p;return}k=b+144|0;l=c[b+152>>2]|0;m=b+32|0;n=b+136|0;f=b+112|0;e=c[k>>2]|0;b=0;g=e;do{g=g+1|0;if(!(l&g)){do if(d<=q)if(!(a[n>>0]|0)){c[f>>2]=4;break}else{c[f>>2]=3;h[p>>3]=q;d=q;break}while(0);h[m>>3]=d}b=b+1|0}while((b|0)!=(j|0));c[k>>2]=e+j;p=i&65535;c[o>>2]=p;return}function de(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+24|0;b=+h[n>>3];if(b>1.0e-08){b=b*+h[a+104>>3];h[n>>3]=b}k=a+140|0;l=c[k>>2]|0;m=l>>>16;if(!m){n=l&65535;c[k>>2]=n;return}g=a+144|0;i=c[a+156>>2]|0;j=a+32|0;e=a+112|0;d=c[g>>2]|0;a=0;f=d;do{f=f+1|0;if(!(i&f)){if(b<=1.0e-08){h[n>>3]=0.0;if((c[e>>2]|0)==2){c[e>>2]=5;b=0.0}else b=0.0}h[j>>3]=b}a=a+1|0}while((a|0)!=(m|0));c[g>>2]=d+m;n=l&65535;c[k>>2]=n;return}function ee(a){a=a|0;var b=0,d=0,e=0;b=a+140|0;d=c[b>>2]|0;e=d>>>16;if(!e){e=d&65535;c[b>>2]=e;return}a=a+144|0;c[a>>2]=(c[a>>2]|0)+e;e=d&65535;c[b>>2]=e;return}function fe(a){a=a|0;return}function ge(b){b=b|0;var e=0,f=0;e=b+13788|0;f=(c[e>>2]|0)+(c[b+13792>>2]|0)|0;f=f>>>0>3523215359?f+771751936|0:f;c[e>>2]=f;f=d[29616+(f>>>24)>>0]|0;c[b+13776>>2]=(a[b+13784>>0]|0)==0?f>>>2:f;f=b+13796|0;e=(c[f>>2]|0)+(c[b+13800>>2]|0)|0;c[f>>2]=e;c[b+13780>>2]=e>>>24&7|d[b+13785>>0];return}function he(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(a[d+270>>0]|0)return;i=b+9656|0;c[i>>2]=0;c[b+9660>>2]=0;h=b+13776|0;b=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+88>>2]&c[h>>2])|0;j=d+32|0;e=c[j>>2]|0;f=d+36|0;g=c[f>>2]|0;c[j>>2]=g;c[f>>2]=0;if(b>>>0<416){j=a[d+24>>0]|0;b=le(c[d+16>>2]|0,b,(j<<24>>24==0?0:g+e|0)<<(j&255),c[d+96>>2]|0)|0;c[f>>2]=b}else b=0;j=c[d+28>>2]|0;c[j>>2]=(c[j>>2]|0)+b;b=(c[d+180>>2]|0)+(c[d+176>>2]|0)+(c[d+216>>2]&c[h>>2])|0;if(b>>>0>=416)return;i=me(c[d+144>>2]|0,b,c[i>>2]|0,c[d+224>>2]|0)|0;j=c[d+156>>2]|0;c[j>>2]=(c[j>>2]|0)+i;return}function ie(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+270>>0]|0)return;h=b+9656|0;c[h>>2]=0;f=b+13776|0;e=c[f>>2]|0;g=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+88>>2]&e)|0;if(g>>>0<416){g=me(c[d+16>>2]|0,g,c[b+9660>>2]|0,c[d+96>>2]|0)|0;e=c[d+28>>2]|0;c[e>>2]=(c[e>>2]|0)+g;e=c[f>>2]|0}e=(c[d+180>>2]|0)+(c[d+176>>2]|0)+(c[d+216>>2]&e)|0;if(e>>>0>=416)return;g=me(c[d+144>>2]|0,e,c[h>>2]|0,c[d+224>>2]|0)|0;h=c[d+156>>2]|0;c[h>>2]=(c[h>>2]|0)+g;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+9656|0;c[k>>2]=0;j=b+13776|0;f=(c[d+3124>>2]|0)+(c[d+3120>>2]|0)+(c[d+3160>>2]&c[j>>2])|0;l=d+3104|0;g=d+3108|0;h=c[g>>2]|0;i=h+(c[l>>2]|0)|0;c[l>>2]=h;if(!(a[d+3112>>0]|0))c[k>>2]=h;c[g>>2]=0;if(f>>>0<416){l=a[d+3096>>0]|0;c[g>>2]=le(c[d+3088>>2]|0,f,(l<<24>>24==0?0:i)<<(l&255),c[d+3168>>2]|0)|0}g=c[j>>2]|0;f=(c[d+3252>>2]|0)+(c[d+3248>>2]|0)+(c[d+3288>>2]&g)|0;if(f>>>0<416?(a[b+9576>>0]|0)==0:0){k=(me(c[d+3216>>2]|0,f,c[k>>2]|0,c[d+3296>>2]|0)|0)<<1;l=b+9608|0;c[l>>2]=(c[l>>2]|0)+k}f=(c[b+3636>>2]|0)+(c[b+3632>>2]|0)+(c[b+3672>>2]&g)|0;if(f>>>0<416?(a[b+9580>>0]|0)==0:0){l=c[b+3600>>2]|0;k=c[b+4240>>2]|0;k=((l>>>18^l>>>23|l>>>19|k>>>19^k>>>21)&1|0)==0?208:564;l=(e|0)!=0;k=(me(((k&512|0)==0?(l?52:k):l?720:k)<<16,f,0,c[b+3680>>2]|0)|0)<<1;l=b+9612|0;c[l>>2]=(c[l>>2]|0)+k}f=(c[b+3764>>2]|0)+(c[b+3760>>2]|0)+(c[b+3800>>2]&g)|0;if(f>>>0<416?(a[b+9577>>0]|0)==0:0){l=(c[b+3600>>2]&16777216)+16777216|0;e=(me((e|0)==0?l:l^16777216,f,0,c[b+3808>>2]|0)|0)<<1;l=b+9612|0;c[l>>2]=(c[l>>2]|0)+e}f=(c[b+4148>>2]|0)+(c[b+4144>>2]|0)+(c[b+4184>>2]&g)|0;if(f>>>0<416?(a[b+9578>>0]|0)==0:0){e=(me(c[b+4112>>2]|0,f,0,c[b+4192>>2]|0)|0)<<1;l=b+9616|0;c[l>>2]=(c[l>>2]|0)+e}f=(c[b+4276>>2]|0)+(c[b+4272>>2]|0)+(c[b+4312>>2]&g)|0;if(f>>>0>=416)return;if(a[b+9579>>0]|0)return;e=c[b+3600>>2]|0;l=c[b+4240>>2]|0;e=(me(((l>>>19^l>>>21)&1|0)==0?(e>>>18^e>>>23|e>>>19)<<25&33554432|16777216:50331648,f,0,c[b+4320>>2]|0)|0)<<1;l=b+9616|0;c[l>>2]=(c[l>>2]|0)+e;return}function ke(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b+9668|0;e=(c[m>>2]|0)+(c[b+9672>>2]|0)|0;c[m>>2]=e;n=c[b+9676>>2]|0;if(e>>>0>=n>>>0){o=b+9664|0;g=c[o>>2]|0;do{e=e-n|0;c[m>>2]=e;g=g+1|0;c[o>>2]=g;f=0;do{h=f>>>1;i=f&1;j=b+(h<<9)+(i<<7)+42|0;switch(a[j>>0]|0){case 4:{if((c[b+(h<<9)+(i<<7)+60>>2]&g|0)==0?(l=b+(h<<9)+(i<<7)+52|0,p=c[l>>2]|0,i=((M(d[29360+((g>>>(d[b+(h<<9)+(i<<7)+64>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+65>>0]|0))>>0]|0,~p)|0)>>3)+p|0,c[l>>2]=i,(i|0)<1):0){c[l>>2]=0;a[j>>0]=3}break}case 3:{if((c[b+(h<<9)+(i<<7)+68>>2]&g|0)==0?(q=b+(h<<9)+(i<<7)+52|0,p=(c[q>>2]|0)+(d[29360+((g>>>(d[b+(h<<9)+(i<<7)+72>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+73>>0]|0))>>0]|0)|0,c[q>>2]=p,p>>>0>=(c[b+(h<<9)+(i<<7)+56>>2]|0)>>>0):0)a[j>>0]=2;break}case 2:{if((a[b+(h<<9)+(i<<7)+41>>0]|0)==0?(c[b+(h<<9)+(i<<7)+76>>2]&g|0)==0:0){q=b+(h<<9)+(i<<7)+52|0;p=(c[q>>2]|0)+(d[29360+((g>>>(d[b+(h<<9)+(i<<7)+80>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+81>>0]|0))>>0]|0)|0;c[q>>2]=(p|0)<511?p:511}break}case 1:{if((c[b+(h<<9)+(i<<7)+76>>2]&g|0)==0?(k=b+(h<<9)+(i<<7)+52|0,q=(c[k>>2]|0)+(d[29360+((g>>>(d[b+(h<<9)+(i<<7)+80>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+81>>0]|0))>>0]|0)|0,c[k>>2]=q,(q|0)>510):0){c[k>>2]=511;a[j>>0]=0}break}default:{}}f=f+1|0}while((f|0)!=36)}while(e>>>0>=n>>>0)}k=b+13780|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h<<9)+(i<<7)+92>>0]|0){e=c[b+(h<<9)+256>>2]|0;f=a[29488+((e>>>3&112)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h<<9)+(i<<7)+16|0;f=g;g=c[g>>2]|0;e=b+(h<<9)+(i<<7)+20|0;break}else{g=e+(f<<24>>24)|0;e=b+(h<<9)+(i<<7)+16|0;f=e;g=M((c[b+9680+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h<<9)+(i<<7)+15>>0]|0)|0;break}}else{g=b+(h<<9)+(i<<7)+16|0;f=g;g=c[g>>2]|0;e=b+(h<<9)+(i<<7)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=36);q=b+13808|0;p=(c[q>>2]|0)+(c[b+13812>>2]|0)|0;e=p>>>16;c[q>>2]=p&65535;if(!e)return;g=b+13804|0;f=c[g>>2]|0;do{q=f>>>1;f=(f&1|0)==0?q:q^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[269728+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6655){e=0;return e|0}e=c[302496+(a<<2)>>2]|0;return e|0}function me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[269728+((((d<<16)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6655){e=0;return e|0}e=c[302496+(a<<2)>>2]|0;return e|0}function ne(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3430908+((b&255)<<2)|0;b=(d|0)/288|0;g=a[3432185]|0;f=c[857788]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;switch(a[3432160]|0){case 1:{g=oe(d,b)|0;c[e>>2]=g;qe(g,e);se(c[e>>2]|0,e);ue(c[e>>2]|0,e);g=b;return g|0}case 0:{c[e>>2]=ve(d,b,e)|0;g=b;return g|0}default:{g=b;return g|0}}return 0}function oe(a,b){a=a|0;b=b|0;return ze(a,b)|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;return}function qe(a,b){a=a|0;b=b|0;ye(a,b);return}function re(a,b){a=a|0;b=b|0;return}function se(a,b){a=a|0;b=b|0;xe(a,b);return}function te(b){b=b|0;switch(a[3432160]|0){case 1:{Xd(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}case 0:{Yd(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}default:return}}function ue(a,b){a=a|0;b=b|0;we(a,b);return}function ve(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0;w=k;k=k+224|0;p=w;v=ex(7392)|0;o=v+6648|0;c[o>>2]=f;n=v+6652|0;c[n>>2]=g;c[v+7384>>2]=19;c[v+7388>>2]=i;x=+(f>>>0)/288.0;j=+(g|0);c[v+7240>>2]=~~(x*65536.0/j)>>>0;j=1.0/j;l=v+7248|0;h[l>>3]=j;m=v+7256|0;h[v+7376>>3]=j*(x*15.0*.0009765625*65536.0);g=15;i=f;while(1){g=g+-1|0;h[m+(g<<3)>>3]=j*(+h[30800+(g<<3)>>3]*(+(i>>>0)/288.0)*.0009765625*65536.0);if(!g)break;i=c[o>>2]|0;j=+h[l>>3]}g=(c[857729]|0)==0;if(g){c[65268]=8;c[65269]=4;c[65270]=0;c[65271]=-4;c[65272]=-8;c[65273]=-4;c[65274]=0;c[65275]=4}j=+(c[n>>2]|0);c[v+7228>>2]=~~(+((c[o>>2]|0)>>>0)/288.0*16384.0/j)>>>0;c[v+7224>>2]=0;if(!g){c[v+7236>>2]=~~(3290012057.6000004/j)>>>0;c[v+7232>>2]=0;k=w;return v|0}nz(263584,0,2048)|0;c[p>>2]=-13;c[p+4>>2]=-12;c[p+8>>2]=-11;c[p+12>>2]=-10;c[p+16>>2]=-9;c[p+20>>2]=-8;c[p+24>>2]=-7;c[p+28>>2]=-6;c[p+32>>2]=-5;c[p+36>>2]=-4;c[p+40>>2]=-3;c[p+44>>2]=-2;c[p+48>>2]=-1;c[p+52>>2]=0;c[p+56>>2]=0;c[p+60>>2]=-1;c[p+64>>2]=-2;c[p+68>>2]=-3;c[p+72>>2]=-4;c[p+76>>2]=-5;c[p+80>>2]=-6;c[p+84>>2]=-7;c[p+88>>2]=-8;c[p+92>>2]=-9;c[p+96>>2]=-10;c[p+100>>2]=-11;c[p+104>>2]=-12;c[p+108>>2]=-13;c[p+112>>2]=-14;c[p+116>>2]=-15;c[p+120>>2]=-16;c[p+124>>2]=-17;c[p+128>>2]=-18;c[p+132>>2]=-19;c[p+136>>2]=-20;c[p+140>>2]=-21;c[p+144>>2]=-22;c[p+148>>2]=-23;c[p+152>>2]=-24;c[p+156>>2]=-25;c[p+160>>2]=-26;c[p+164>>2]=-25;c[p+168>>2]=-24;c[p+172>>2]=-23;c[p+176>>2]=-22;c[p+180>>2]=-21;c[p+184>>2]=-20;c[p+188>>2]=-19;c[p+192>>2]=-18;c[p+196>>2]=-17;c[p+200>>2]=-16;c[p+204>>2]=-15;c[p+208>>2]=-14;g=0;do{u=c[p+(g<<2)>>2]|0;c[261104+(g<<2)>>2]=~~(+ma(+(+(u|0)*4.8/26.0/6.0))*65536.0);c[261104+(g+53<<2)>>2]=~~(+ma(+(+((u|0)/4|0|0)*1.2/6.0/6.0))*65536.0);g=g+1|0}while((g|0)!=53);c[v+7236>>2]=~~(3290012057.6000004/j)>>>0;c[v+7232>>2]=0;c[857729]=1;g=0;do{c[265632+(g<<2)>>2]=65536;g=g+1|0}while((g|0)!=512);g=0;do{t=g<<1;u=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[329120+(t+1024<<1)>>1]=u;t=t|1;b[329120+(t+1024<<1)>>1]=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[329120+(g<<1)>>1]=u;g=g+1|0}while((g|0)!=512);g=0;do{b[329120+(g+2048<<1)>>1]=(e[329120+(g+128<<1)>>1]|0)+49152;b[329120+(g+2176<<1)>>1]=(e[329120+(g+256<<1)>>1]|0)+16384;g=g+1|0}while((g|0)!=128);a[335376]=0;a[335377]=24;a[335378]=32;a[335379]=37;a[335380]=40;a[335381]=43;a[335382]=45;a[335383]=47;a[335384]=48;a[335385]=50;a[335386]=51;a[335387]=52;a[335388]=53;a[335389]=54;a[335390]=55;a[335391]=56;u=6;g=0;i=24;f=32;l=37;m=40;n=43;o=45;p=47;q=48;r=50;s=51;t=52;while(1){y=u+1|0;z=(g&255)+-8|0;g=335264+(u<<4)|0;a[g>>0]=(z|0)>0?z:0;z=(i&255)+-8|0;i=335264+(u<<4)+1|0;a[i>>0]=(z|0)>0?z:0;z=(f&255)+-8|0;f=335264+(u<<4)+2|0;a[f>>0]=(z|0)>0?z:0;l=(l&255)+-8|0;l=(l|0)>0?l:0;a[335264+(u<<4)+3>>0]=l;m=(m&255)+-8|0;m=(m|0)>0?m:0;a[335264+(u<<4)+4>>0]=m;n=(n&255)+-8|0;n=(n|0)>0?n:0;a[335264+(u<<4)+5>>0]=n;o=(o&255)+-8|0;o=(o|0)>0?o:0;a[335264+(u<<4)+6>>0]=o;p=(p&255)+-8|0;p=(p|0)>0?p:0;a[335264+(u<<4)+7>>0]=p;q=(q&255)+-8|0;q=(q|0)>0?q:0;a[335264+(u<<4)+8>>0]=q;r=(r&255)+-8|0;r=(r|0)>0?r:0;a[335264+(u<<4)+9>>0]=r;s=(s&255)+-8|0;s=(s|0)>0?s:0;a[335264+(u<<4)+10>>0]=s;t=(t&255)+-8|0;t=(t|0)>0?t:0;a[335264+(u<<4)+11>>0]=t;z=(d[335264+(y<<4)+12>>0]|0)+-8|0;a[335264+(u<<4)+12>>0]=(z|0)>0?z:0;z=(d[335264+(y<<4)+13>>0]|0)+-8|0;a[335264+(u<<4)+13>>0]=(z|0)>0?z:0;z=(d[335264+(y<<4)+14>>0]|0)+-8|0;a[335264+(u<<4)+14>>0]=(z|0)>0?z:0;y=(d[335264+(y<<4)+15>>0]|0)+-8|0;a[335264+(u<<4)+15>>0]=(y|0)>0?y:0;if(!u)break;u=u+-1|0;g=a[g>>0]|0;i=a[i>>0]|0;f=a[f>>0]|0}k=w;return v|0}function we(a,b){a=a|0;b=b|0;c[a+13856>>2]=19;c[a+13860>>2]=b;return}function xe(a,b){a=a|0;b=b|0;c[a+13848>>2]=6;c[a+13852>>2]=b;return}function ye(a,b){a=a|0;b=b|0;c[a+13840>>2]=4;c[a+13844>>2]=b;return}function ze(a,b){a=a|0;b=b|0;var d=0;Ae();d=ex(13888)|0;if(!d){d=0;return d|0}nz(d|0,0,13888)|0;c[d+13868>>2]=a;c[d+13872>>2]=b;Be(d);Ce(d);return d|0}function Ae(){var a=0;a=c[857730]|0;c[857730]=a+1;if((a|0)>0)return;Oe();return}function Be(a){a=a|0;var b=0,d=0.0,e=0;b=c[a+13872>>2]|0;if(!b)d=0.0;else d=+(c[a+13868>>2]|0)/288.0/+(b|0);e=a+13880|0;h[e>>3]=d;b=0;do{c[a+9680+(b<<2)>>2]=~~(+(b|0)*64.0*d*64.0)>>>0;b=b+1|0;d=+h[e>>3]}while((b|0)!=1024);c[a+13792>>2]=~~(d*262144.0)>>>0;c[a+13800>>2]=~~(d*16384.0)>>>0;e=~~(d*65536.0)>>>0;c[a+13812>>2]=e;c[a+9672>>2]=e;c[a+9676>>2]=65536;return}function Ce(b){b=b|0;var d=0;c[b+9668>>2]=0;c[b+9664>>2]=0;c[b+13804>>2]=1;a[b+13838>>0]=0;De(b,96);Ee(b,1,0);Ee(b,2,0);Ee(b,3,0);Ee(b,4,0);d=255;while(1){Ee(b,d,0);if(d>>>0>32)d=d+-1|0;else break}d=511;while(1){Ee(b,d,0);if(d>>>0>288)d=d+-1|0;else break}d=0;do{a[b+(d<<9)+42>>0]=0;c[b+(d<<9)+52>>2]=511;a[b+(d<<9)+170>>0]=0;c[b+(d<<9)+180>>2]=511;d=d+1|0}while((d|0)!=18);return}function De(b,e){b=b|0;e=e|0;var f=0;f=b+13836|0;e=(e^255)&(d[f>>0]|0);a[f>>0]=e;if((e|0)!=128)return;a[f>>0]=0;e=c[b+13848>>2]|0;if(!e)return;xa[e&31](c[b+13852>>2]|0,0);return}function Ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(e&256))h=0;else switch(e|0){case 260:{a[b+269>>0]=f&1;a[b+781>>0]=f>>>1&1;a[b+1293>>0]=f>>>2&1;a[b+4877>>0]=f>>>3&1;a[b+5389>>0]=f>>>4&1;a[b+5901>>0]=f>>>5&1;return}case 261:{a[b+13816>>0]=f&1;return}case 257:return;default:{h=9;break a}}while(0);k=f&255;switch(e>>>5&7){case 0:switch(e&31){case 8:{a[b+13838>>0]=f;return}case 2:{c[b+13820>>2]=1024-(k<<2);return}case 3:{c[b+13824>>2]=4096-(k<<4);return}case 4:{if(f&128|0){De(b,96);return}h=f&1;e=f>>>1&1;g=f&96;De(b,g);Fe(b,g^96);g=b+13829|0;if((e|0)!=(d[g>>0]|0))a[g>>0]=e;g=b+13828|0;if((h|0)==(d[g>>0]|0))return;a[g>>0]=h;return}default:return}case 1:{g=e&31;if(-4144960>>>g&1|0)return;Ge(b,(c[29840+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 2:{g=e&31;if(-4144960>>>g&1|0)return;He(b,(c[29840+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 3:{g=e&31;if(-4144960>>>g&1|0)return;Ie(b,(c[29840+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 4:{g=e&31;if(-4144960>>>g&1|0)return;Je(b,(c[29840+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 5:{if((e&255|0)==189){if(h|0)return;a[b+13784>>0]=f&128;a[b+13785>>0]=f>>>3&8;a[b+13817>>0]=f&63;if(!(f&32)){Le(b+3072|0,-3);Le(b+3200|0,-3);Le(b+3584|0,-3);Le(b+3712|0,-3);Le(b+4096|0,-3);Le(b+4224|0,-3);return}g=b+3072|0;if(!(f&16)){Le(g,-3);Le(b+3200|0,-3)}else{Ke(g,2);Ke(b+3200|0,2)}g=b+3584|0;if(!(f&1))Le(g,-3);else Ke(g,2);g=b+3712|0;if(!(f&8))Le(g,-3);else Ke(g,2);g=b+4096|0;if(!(f&4))Le(g,-3);else Ke(g,2);g=b+4224|0;if(!(f&2)){Le(g,-3);return}else{Ke(g,2);return}}g=e&15;if(g>>>0>8)return;i=h+g|0;j=b+(i<<9)|0;b:do if(!(e&16)){g=b+(i<<9)+256|0;h=c[g>>2]&7936|k}else{g=b+(i<<9)+256|0;h=c[g>>2]&255|f<<8&7936;if(!(a[b+13816>>0]&1))if(!(f&32)){Le(j,-2);Le(b+(i<<9)+128|0,-2);break}else{Ke(j,1);Ke(b+(i<<9)+128|0,1);break}switch(i&31){case 11:case 10:case 9:case 2:case 1:case 0:{e=(f&32|0)!=0;if(!(a[b+(i<<9)+269>>0]|0))if(e){Ke(j,1);Ke(b+(i<<9)+128|0,1);break b}else{Le(j,-2);Le(b+(i<<9)+128|0,-2);break b}else if(e){Ke(j,1);Ke(b+(i<<9)+128|0,1);Ke(j+1536|0,1);Ke(j+1664|0,1);break b}else{Le(j,-2);Le(b+(i<<9)+128|0,-2);Le(j+1536|0,-2);Le(j+1664|0,-2);break b}}case 14:case 13:case 12:case 5:case 4:case 3:{if(a[j+-1267>>0]|0)break b;if(!(f&32)){Le(j,-2);Le(b+(i<<9)+128|0,-2);break b}else{Ke(j,1);Ke(b+(i<<9)+128|0,1);break b}}default:if(!(f&32)){Le(j,-2);Le(b+(i<<9)+128|0,-2);break b}else{Ke(j,1);Ke(b+(i<<9)+128|0,1);break b}}}while(0);if((c[g>>2]|0)==(h|0))return;c[g>>2]=h;e=c[29968+(h>>6<<2)>>2]|0;c[b+(i<<9)+264>>2]=e;c[b+(i<<9)+260>>2]=(c[b+9680+((h&1023)<<2)>>2]|0)>>>(7-(h>>>10&255)|0);f=h>>>9;a[b+(i<<9)+268>>0]=((a[b+13838>>0]&64)==0?f:h>>>8)&1|f&14;if(!(a[b+13816>>0]&1)){c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Me(j,j);Me(j,b+(i<<9)+128|0);return}switch(i&31){case 11:case 10:case 9:case 2:case 1:case 0:{f=(a[b+(i<<9)+269>>0]|0)==0;c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);g=b+(i<<9)+128|0;c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);if(f){Me(j,j);Me(j,g);return}else{c[j+1584>>2]=(e>>>(d[j+1549>>0]|0))+(c[j+1580>>2]|0);c[j+1712>>2]=(e>>>(d[j+1677>>0]|0))+(c[j+1708>>2]|0);Me(j,j);Me(j,g);Me(j,j+1536|0);Me(j,j+1664|0);return}}case 14:case 13:case 12:case 5:case 4:case 3:{if(a[j+-1267>>0]|0)return;c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Me(j,j);Me(j,b+(i<<9)+128|0);return}default:{c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Me(j,j);Me(j,b+(i<<9)+128|0);return}}}case 6:{g=e&15;if(g>>>0>8)return;h=h+g|0;i=b+(h<<9)|0;j=b+13816|0;e=h<<2;if(!(a[j>>0]&1)){c[b+9216+(e<<2)>>2]=-1;c[b+9216+((e|1)<<2)>>2]=-1;c[b+9216+((e|2)<<2)>>2]=-1;g=-1}else{c[b+9216+(e<<2)>>2]=f<<27>>31;c[b+9216+((e|1)<<2)>>2]=f<<26>>31;c[b+9216+((e|2)<<2)>>2]=f<<25>>31;g=f<<24>>31}c[b+9216+((e|3)<<2)>>2]=g;c[b+9504+(h<<2)>>2]=k;g=f>>>1&7;a[b+(h<<9)+24>>0]=(g|0)==0?0:g+7&255;g=f&1;e=g&255;a[b+(h<<9)+40>>0]=e;if(!(a[j>>0]&1)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=(g|0)==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(h&31){case 11:case 10:case 9:case 2:case 1:case 0:{if(!(a[b+(h<<9)+269>>0]|0)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=e<<24>>24==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(((g<<1|d[i+1576>>0])&255)<<24>>24){case 0:{f=b+9656|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9660;c[i+1564>>2]=f;c[i+1692>>2]=b+9584+(h+3<<2);return}case 1:{f=b+9656|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);c[i+1564>>2]=f;c[i+1692>>2]=b+9584+(h+3<<2);return}case 2:{c[b+(h<<9)+28>>2]=b+9584+(h<<2);c[b+(h<<9)+156>>2]=b+9660;c[i+1564>>2]=b+9656;c[i+1692>>2]=b+9584+(h+3<<2);return}case 3:{c[b+(h<<9)+28>>2]=b+9584+(h<<2);c[b+(h<<9)+156>>2]=b+9660;b=b+9584+(h+3<<2)|0;c[i+1564>>2]=b;c[i+1692>>2]=b;return}default:return}}case 14:case 13:case 12:case 5:case 4:case 3:{if(!(a[i+-1267>>0]|0)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=e<<24>>24==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(((d[i+-1496>>0]<<1|g)&255)<<24>>24){case 0:{f=b+9656|0;c[i+-1508>>2]=f;c[i+-1380>>2]=b+9660;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 1:{f=b+9656|0;c[i+-1508>>2]=f;c[i+-1380>>2]=b+9584+(h+-3<<2);c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 2:{c[i+-1508>>2]=b+9584+(h+-3<<2);c[i+-1380>>2]=b+9660;c[b+(h<<9)+28>>2]=b+9656;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 3:{c[i+-1508>>2]=b+9584+(h+-3<<2);c[i+-1380>>2]=b+9660;f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=f;return}default:return}}default:{f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=(g|0)==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}}}case 7:{g=e&31;if(-4144960>>>g&1|0)return;k=(c[29840+(g<<2)>>2]|0)+(h<<1)|0;j=(k|0)/2|0;i=f&7;k=k&1;a[b+(j<<9)+(k<<7)+93>>0]=i;c[b+(j<<9)+(k<<7)+96>>2]=((a[b+13816>>0]&1)==0?f&3:i)<<10;return}default:{}}}function Fe(b,c){b=b|0;c=c|0;a[b+13837>>0]=c;Ne(b);De(b,0);return}function Ge(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=(d|0)/2|0;g=b+(f<<9)|0;h=d&1;d=b+(f<<9)+(h<<7)|0;a[b+(f<<9)+(h<<7)+15>>0]=a[30752+(e&15)>>0]|0;a[b+(f<<9)+(h<<7)+12>>0]=e>>>3&2^2;a[b+(f<<9)+(h<<7)+41>>0]=e&32;a[b+(f<<9)+(h<<7)+92>>0]=e&64;c[b+(f<<9)+(h<<7)+88>>2]=e<<24>>31;if(!(a[b+13816>>0]&1)){Me(g,d);return}switch(f|0){case 11:case 10:case 9:case 2:case 1:case 0:{Me(g,d);return}case 14:case 13:case 12:case 5:case 4:case 3:if(!(a[g+-1267>>0]|0)){Me(g,d);return}else{Me(g+-1536|0,d);return}default:{Me(g,d);return}}}function He(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)/2|0;f=b+(i<<9)|0;g=d&1;h=c[30736+(e>>6<<2)>>2]|0;a[b+(i<<9)+(g<<7)+13>>0]=h;e=e<<2&252;c[b+(i<<9)+(g<<7)+44>>2]=e;a:do if(!(a[b+13816>>0]&1))d=b+(i<<9)+264|0;else switch(i|0){case 11:case 10:case 9:case 2:case 1:case 0:{d=b+(i<<9)+264|0;break a}case 14:case 13:case 12:case 5:case 4:case 3:if(!(a[f+-1267>>0]|0)){d=b+(i<<9)+264|0;break a}else{d=f+-1272|0;break a}default:{d=b+(i<<9)+264|0;break a}}while(0);c[b+(i<<9)+(g<<7)+48>>2]=((c[d>>2]|0)>>>(h&255))+e;return}function Ie(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=(e|0)/2|0;j=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(k<<9)+(j<<7)>>2]=e;i=d[b+(k<<9)+(j<<7)+14>>0]|0;e=e+i|0;if(e>>>0<76){h=a[30480+e>>0]|0;e=a[30576+e>>0]|0;g=(1<<(h&255))+-1|0}else{e=104;g=0;h=0}a[b+(k<<9)+(j<<7)+64>>0]=h;c[b+(k<<9)+(j<<7)+60>>2]=g;a[b+(k<<9)+(j<<7)+65>>0]=e;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(k<<9)+(j<<7)+4>>2]=f;f=f+i|0;i=a[30480+f>>0]|0;a[b+(k<<9)+(j<<7)+72>>0]=i;c[b+(k<<9)+(j<<7)+68>>2]=(1<<(i&255))+-1;a[b+(k<<9)+(j<<7)+73>>0]=a[30576+f>>0]|0;return}function Je(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=(e|0)/2|0;e=e&1;c[b+(g<<9)+(e<<7)+56>>2]=c[30672+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g<<9)+(e<<7)+8>>2]=f;f=f+(d[b+(g<<9)+(e<<7)+14>>0]|0)|0;h=a[30480+f>>0]|0;a[b+(g<<9)+(e<<7)+80>>0]=h;c[b+(g<<9)+(e<<7)+76>>2]=(1<<(h&255))+-1;a[b+(g<<9)+(e<<7)+81>>0]=a[30576+f>>0]|0;return}function Ke(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+84|0;f=c[e>>2]|0;if(!f){c[b+16>>2]=0;a[b+42>>0]=4}c[e>>2]=f|d;return}function Le(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+84|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+42|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Me(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;c[e+20>>2]=M(c[b+260>>2]|0,d[e+15>>0]|0)|0;b=(d[b+268>>0]|0)>>>(d[e+12>>0]|0);f=e+14|0;if((b|0)==(d[f>>0]|0|0))return;a[f>>0]=b;h=b&255;b=(c[e>>2]|0)+h|0;if(b>>>0<76){g=a[30480+b>>0]|0;b=a[30576+b>>0]|0;f=(1<<(g&255))+-1|0}else{b=104;f=0;g=0}a[e+64>>0]=g;c[e+60>>2]=f;a[e+65>>0]=b;g=(c[e+4>>2]|0)+h|0;f=a[30480+g>>0]|0;a[e+72>>0]=f;c[e+68>>2]=(1<<(f&255))+-1;a[e+73>>0]=a[30576+g>>0]|0;h=(c[e+8>>2]|0)+h|0;g=a[30480+h>>0]|0;a[e+80>>0]=g;c[e+76>>2]=(1<<(g&255))+-1;a[e+81>>0]=a[30576+h>>0]|0;return}function Ne(b){b=b|0;var e=0,f=0;e=b+13836|0;f=d[e>>0]|0;if((f&128|0)!=0|(f&127|0)==0)return;a[e>>0]=f|128;e=c[b+13848>>2]|0;if(!e)return;xa[e&31](c[b+13852>>2]|0,1);return}function Oe(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{b=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<1;b=b<<1;c[302496+(b<<2)>>2]=f;e=b|1;c[302496+(e<<2)>>2]=~f;c[302496+(b+512<<2)>>2]=d;c[302496+(e+512<<2)>>2]=~d;f=d>>1;c[302496+(b+1024<<2)>>2]=f;c[302496+(e+1024<<2)>>2]=~f;f=d>>2;c[302496+(b+1536<<2)>>2]=f;c[302496+(e+1536<<2)>>2]=~f;f=d>>3;c[302496+(b+2048<<2)>>2]=f;c[302496+(e+2048<<2)>>2]=~f;f=d>>4;c[302496+(b+2560<<2)>>2]=f;c[302496+(e+2560<<2)>>2]=~f;f=d>>5;c[302496+(b+3072<<2)>>2]=f;c[302496+(e+3072<<2)>>2]=~f;f=d>>6;c[302496+(b+3584<<2)>>2]=f;c[302496+(e+3584<<2)>>2]=~f;f=d>>7;c[302496+(b+4096<<2)>>2]=f;c[302496+(e+4096<<2)>>2]=~f;f=d>>8;c[302496+(b+4608<<2)>>2]=f;c[302496+(e+4608<<2)>>2]=~f;f=d>>9;c[302496+(b+5120<<2)>>2]=f;c[302496+(e+5120<<2)>>2]=~f;f=d>>10;c[302496+(b+5632<<2)>>2]=f;c[302496+(e+5632<<2)>>2]=~f;d=d>>11;c[302496+(b+6144<<2)>>2]=d;c[302496+(e+6144<<2)>>2]=~d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[269728+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);b=0;do{d=b&512;e=(d|0)!=0;if(e)a=6656;else a=c[269728+(b<<2)>>2]|0;c[269728+(b+1024<<2)>>2]=a;c[269728+(b+2048<<2)>>2]=c[269728+((b&511)<<2)>>2];if(!(b&256))a=c[269728+((b&255)<<2)>>2]|0;else a=6656;c[269728+(b+3072<<2)>>2]=a;if(e){c[269728+(b+4096<<2)>>2]=6656;a=6656}else{a=b<<1;c[269728+(b+4096<<2)>>2]=c[269728+(a<<2)>>2];a=c[269728+((a&510)<<2)>>2]|0}c[269728+(b+5120<<2)>>2]=a;c[269728+(b+6144<<2)>>2]=d>>>9;f=b<<4;f=e?16368-f|1:f;c[269728+(b+7168<<2)>>2]=(f|0)<6656?f:6656;b=b+1|0}while((b|0)!=1024);return}function Pe(b){b=b|0;b=3430908+((b&255)<<2)|0;switch(a[3432160]|0){case 1:{Qe(c[b>>2]|0);return}case 0:{Re(c[b>>2]|0);return}default:return}}function Qe(a){a=a|0;Se(a);return}function Re(a){a=a|0;fx(a);return}function Se(a){a=a|0;Te();fx(a);return}function Te(){var a=0;a=c[857730]|0;if(!a)return;c[857730]=a+-1;return}function Ue(b){b=b|0;b=3430908+((b&255)<<2)|0;switch(a[3432160]|0){case 1:{Ve(c[b>>2]|0);return}case 0:{We(c[b>>2]|0);return}default:return}}function Ve(a){a=a|0;Ce(a);return}function We(b){b=b|0;var d=0,e=0;nz(b|0,0,6624)|0;nz(b+6668|0,0,556)|0;d=0;do{c[b+(d*184|0)+112>>2]=5;c[b+(d*184|0)+132>>2]=0;e=b+(d*184|0)+24|0;c[b+(d*184|0)+8>>2]=0;c[b+(d*184|0)+16>>2]=0;c[b+(d*184|0)+116>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+(d*184|0)+128>>2]=1023;c[b+(d*184|0)+124>>2]=331168;c[b+(d*184|0)+120>>2]=0;e=b+(d*184|0)+140|0;c[b+(d*184|0)+164>>2]=0;a[b+(d*184|0)+168>>0]=0;a[b+(d*184|0)+169>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[e+20>>0]=0;c[b+(d*184|0)+172>>2]=1;c[b+(d*184|0)+176>>2]=1;d=d+1|0}while((d|0)!=36);a[b+6656>>0]=0;c[b+6660>>2]=0;c[b+6664>>2]=0;return}function Xe(b,d,e){b=b|0;d=d|0;e=e|0;b=3430908+((b&255)<<2)|0;switch(a[3432160]|0){case 1:{Ye(c[b>>2]|0,d&3,e&255);return}case 0:{Ze(c[b>>2]|0,d&3,e);return}default:return}}function Ye(a,b,c){a=a|0;b=b|0;c=c|0;lf(a,b,c);return}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+6664>>2]=b<<7&256|d&255;return}else{_e(a,c[a+6664>>2]|0,d);return}}function _e(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e&256;a[b+6668+e>>0]=f;do switch(e>>>4&15){case 0:switch(e|0){case 260:{m=f&255;f=m&1;a[b+168>>0]=f;a[b+721>>0]=f;f=m>>>1&1;a[b+352>>0]=f;a[b+905>>0]=f;f=m>>>2&1;a[b+536>>0]=f;a[b+1089>>0]=f;f=m>>>3&1;a[b+3480>>0]=f;a[b+4033>>0]=f;f=m>>>4&1;a[b+3664>>0]=f;a[b+4217>>0]=f;m=m>>>5&1;a[b+3848>>0]=m;a[b+4401>>0]=m;return}case 4:{g=b+6656|0;if(f<<24>>24<0){a[g>>0]=a[g>>0]&-97;return}else{a[g>>0]=0;return}}default:return}case 3:case 2:{i=e&7;g=e+224&255;if(!(i>>>0<6&g>>>0<22))return;e=(m|0)!=0;f=d[15856+(e?g+22|0:g)>>0]|0;h=g|m;e=e?f+238|0:f;g=b+(((i>>>0<3?0:9)+f|0)*184|0)|0;$e(b,h,g);af(b,h,g);if(a[b+6929>>0]&1?a[b+(f*184|0)+169>>0]|0:0){bf(b,e+-3|0,h,g);return}bf(b,e,h,g);return}case 5:case 4:{g=e&7;h=e+192&255;if(!(g>>>0<6&h>>>0<22))return;i=(m|0)!=0;f=d[15856+(i?h+22|0:h)>>0]|0;i=i?f+238|0:f;e=b+(((g>>>0<3?0:9)+f|0)*184|0)|0;g=h|m;if(a[b+6929>>0]&1?a[b+(f*184|0)+169>>0]|0:0){bf(b,i+-3|0,g,e);return}bf(b,i,g,e);return}case 7:case 6:{g=e+160&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|m;m=b+((d[15904+((m|0)==0?g:g+22|0)>>0]|0)*184|0)|0;cf(b,f,m);df(b,f,m);return}case 9:case 8:{g=e+128&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|m;m=b+((d[15904+((m|0)==0?g:g+22|0)>>0]|0)*184|0)|0;ef(b,f,m);ff(b,f,m);return}case 10:{g=e+96&255;if(g>>>0>=9)return;h=(m|0)==0?g:g+18|0;e=b+6929|0;if(a[e>>0]&1?a[b+(h*184|0)+169>>0]|0:0)return;i=m|d[45607+g>>0];g=g|m;bf(b,g,i,b+(h*184|0)|0);bf(b,g,i+3|0,b+((h+9|0)*184|0)|0);if(!(a[e>>0]&1))return;if(!(a[b+(h*184|0)+168>>0]|0))return;bf(b,g,i+8|0,b+((h+3|0)*184|0)|0);bf(b,g,i+11|0,b+((h+12|0)*184|0)|0);return}case 11:{g=c[b+7384>>2]|0;if(g|0)wa[g&31](c[b+7388>>2]|0);if((e|0)==189){h=f&255;g=b+1104|0;if((h&48|0)==48){gf(b,16,g,2);bf(b,6,16,g);m=b+2760|0;gf(b,19,m,2);bf(b,6,19,m)}else{hf(g,2);hf(b+2760|0,2)}g=b+2944|0;if((h&40|0)==40){gf(b,20,g,2);bf(b,7,20,g)}else hf(g,2);g=b+1472|0;if((h&36|0)==36){gf(b,18,g,2);bf(b,8,18,g)}else hf(g,2);g=b+3128|0;if((h&34|0)==34){gf(b,21,g,2);bf(b,8,21,g)}else hf(g,2);g=b+1288|0;if((h&33|0)==33){gf(b,17,g,2);bf(b,7,17,g);return}else{hf(g,2);return}}e=e+80&255;if(e>>>0>=9)return;i=(m|0)==0?e:e+18|0;j=m|d[45607+e>>0];k=b+6929|0;if(a[k>>0]&1?a[b+(i*184|0)+169>>0]|0:0)return;l=b+(i*184|0)|0;if(!(f&32)){hf(l,1);g=b+((i+9|0)*184|0)|0;hf(g,1);if((a[k>>0]&1)!=0?(a[b+(i*184|0)+168>>0]|0)!=0:0){hf(b+((i+3|0)*184|0)|0,1);hf(b+((i+12|0)*184|0)|0,1);h=g}else h=g}else{gf(b,j,l,1);g=b+((i+9|0)*184|0)|0;gf(b,j+3|0,g,1);if((a[k>>0]&1)!=0?(a[b+(i*184|0)+168>>0]|0)!=0:0){gf(b,j+8|0,b+((i+3|0)*184|0)|0,1);gf(b,j+11|0,b+((i+12|0)*184|0)|0,1);h=g}else h=g}g=e|m;bf(b,g,j,l);bf(b,g,j+3|0,h);if(!(a[k>>0]&1))return;if(!(a[b+(i*184|0)+168>>0]|0))return;bf(b,g,j+8|0,b+((i+3|0)*184|0)|0);bf(b,g,j+11|0,b+((i+12|0)*184|0)|0);return}case 12:{g=e+64&255;if(g>>>0>=9)return;l=(m|0)==0?g:g+18|0;jf(b,g|m,b+(l*184|0)|0);m=f&255;c[b+(l*184|0)+172>>2]=(m>>>4&1)+(m>>>6&1);c[b+(l*184|0)+176>>2]=(m>>>5&1)+(m>>>7);return}case 15:case 14:{h=e&7;g=e+32&255;if(!(h>>>0<6&g>>>0<22))return;m=(m|0)==0?g:g+22|0;a[b+7180+m>>0]=(a[b+6929>>0]<<2&4|3)&f;kf(b,m,b+(((h>>>0<3?0:9)+(d[15856+m>>0]|0)|0)*184|0)|0);return}default:return}while(0)}function $e(b,e,f){b=b|0;e=e|0;f=f|0;e=(d[e+32+(b+6668)>>0]|0)>>>5&1;a[f+136>>0]=e;b=f+112|0;switch(c[b>>2]|0){case 3:{if(e<<24>>24)return;c[b>>2]=4;return}case 4:{if(!(e<<24>>24))return;c[b>>2]=3;return}default:return}}function af(b,c,e){b=b|0;c=c|0;e=e|0;c=c+32+(b+6668)|0;a[e+137>>0]=(d[c>>0]|0)>>>6&1;a[e+138>>0]=(d[c>>0]|0)>>>7;return}function bf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0;j=d[e+176+(b+6668)>>0]|0;k=j<<8&768|(d[e+160+(b+6668)>>0]|0);l=j>>>2&7;c[g+120>>2]=k>>>7;e=(d[b+6676>>0]|0)>>>6&1;i=g+116|0;c[i>>2]=e&j|l<<1|(e^1)&j>>>1;j=f+32+(b+6668)|0;e=a[j>>0]|0;if(!(e&16)){c[i>>2]=l>>>1;e=a[j>>0]|0}c[g+16>>2]=~~(+h[b+7256+((e&15)<<3)>>3]*+(k<>>0))>>>0;j=d[f+64+(b+6668)>>0]|0;h[g+40>>3]=+ma(+(-14.0-(+h[31152+(j>>>6<<3)>>3]*+(d[(k>>>6)+(335264+(l<<4))>>0]|0)+ +(j&63|0))*.125));cf(b,f,g);df(b,f,g);ef(b,f,g);return}function cf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,i=0.0;f=(d[b+96+(a+6668)>>0]|0)>>>4;if(!f){h[e+64>>3]=0.0;h[e+72>>3]=1.0;f=e+80|0;c[e+148>>2]=0;c[e+164>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}g=c[e+116>>2]|0;i=+ma(+(+(f|0)+ +(g>>>2>>>0)+-1.0));i=+h[a+7248>>3]*(+h[31120+((g&3)<<3)>>3]*i);b=e+64|0;h[b>>3]=i*.0377;a=e+72|0;h[a>>3]=i*10.73+1.0;h[e+80>>3]=i*-17.57;h[e+88>>3]=i*7.42;f=g+(f<<2)|0;c[e+148>>2]=(f|0)<52?(1<<12-(f>>2))+-1|0:0;c[e+164>>2]=d[45616+((f|0)<49?4-(f&3)|0:0)>>0];if((f|0)<=59)return;h[b>>3]=2.0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+96+(b+6668)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[31088+((g&3)<<3)>>3]*-7.4493*+h[b+7248>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+128+(b+6668)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[31088+((g&3)<<3)>>3]*-7.4493*+h[b+7248>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}function ff(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0;a=(d[b+128+(a+6668)>>0]|0)>>>4;if((a|0)==15)e=0.0;else e=+ma(+(+(a|0)*-.5));h[c+48>>3]=e;return}function gf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=e+132|0;if(c[g>>2]|0)return;c[e+8>>2]=c[31056+((d[((b|0)>255?b+-234|0:b)+(a+7180)>>0]|0)<<2)>>2]<<16;c[e+112>>2]=0;c[g>>2]=f;return}function hf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+132|0;e=c[d>>2]|0;if(!e)return;e=e&~b;c[d>>2]=e;if(e|0)return;a=a+112|0;if((c[a>>2]|0)==5)return;c[a>>2]=2;return}function jf(b,d,e){b=b|0;d=d|0;e=e|0;b=a[d+192+(b+6668)>>0]&14;if(!(b<<24>>24))b=0;else b=~~+vy((b&255)>>>1|8);c[e+56>>2]=b;return}function kf(a,b,e){a=a|0;b=b|0;e=e|0;b=(b>>>0>255?b+-234|0:b)+(a+7180)|0;c[e+128>>2]=c[30992+((d[b>>0]|0)<<2)>>2];c[e+124>>2]=329120+(c[31024+((d[b>>0]|0)<<2)>>2]<<1);return}function lf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=e&255;switch(d&3){case 0:{c[b+13832>>2]=f;return}case 3:case 1:{e=c[b+13856>>2]|0;if(e|0)wa[e&31](c[b+13860>>2]|0);Ee(b,c[b+13832>>2]|0,f);return}case 2:{if(a[b+13816>>0]&1){c[b+13832>>2]=f|256;return}e=b+13832|0;if((f|0)==5){c[e>>2]=261;return}else{c[e>>2]=f;return}}default:{}}}function mf(b){b=b|0;a[3432160]=(b&255)<2?b:0;return}function nf(b,d){b=b|0;d=d|0;b=3430908+((b&255)<<2)|0;switch(a[3432160]|0){case 1:{of(c[b>>2]|0,d);return}case 0:{pf(c[b>>2]|0,d);return}default:return}}function of(b,c){b=b|0;c=c|0;a[b+270>>0]=c&1;a[b+782>>0]=c>>>1&1;a[b+1294>>0]=c>>>2&1;a[b+1806>>0]=c>>>3&1;a[b+2318>>0]=c>>>4&1;a[b+2830>>0]=c>>>5&1;a[b+3342>>0]=c>>>6&1;a[b+3854>>0]=c>>>7&1;a[b+4366>>0]=c>>>8&1;a[b+4878>>0]=c>>>9&1;a[b+5390>>0]=c>>>10&1;a[b+5902>>0]=c>>>11&1;a[b+6414>>0]=c>>>12&1;a[b+6926>>0]=c>>>13&1;a[b+7438>>0]=c>>>14&1;a[b+7950>>0]=c>>>15&1;a[b+8462>>0]=c>>>16&1;a[b+8974>>0]=c>>>17&1;a[b+9576>>0]=c>>>18&1;a[b+9577>>0]=c>>>19&1;a[b+9578>>0]=c>>>20&1;a[b+9579>>0]=c>>>21&1;a[b+9580>>0]=c>>>22&1;return}function pf(b,c){b=b|0;c=c|0;a[b+6624>>0]=c&1;a[b+6625>>0]=c>>>1&1;a[b+6626>>0]=c>>>2&1;a[b+6627>>0]=c>>>3&1;a[b+6628>>0]=c>>>4&1;a[b+6629>>0]=c>>>5&1;a[b+6630>>0]=c>>>6&1;a[b+6631>>0]=c>>>7&1;a[b+6632>>0]=c>>>8&1;a[b+6633>>0]=c>>>9&1;a[b+6634>>0]=c>>>10&1;a[b+6635>>0]=c>>>11&1;a[b+6636>>0]=c>>>12&1;a[b+6637>>0]=c>>>13&1;a[b+6638>>0]=c>>>14&1;a[b+6639>>0]=c>>>15&1;a[b+6640>>0]=c>>>16&1;a[b+6641>>0]=c>>>17&1;a[b+6642>>0]=c>>>18&1;a[b+6643>>0]=c>>>19&1;a[b+6644>>0]=c>>>20&1;a[b+6645>>0]=c>>>21&1;a[b+6646>>0]=c>>>22&1;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;rf(c[335392+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function rf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c[857731]=b;if((a[b+4261>>0]|0?(g=b+4268|0,h=(c[g>>2]|0)-(f<<16)|0,c[g>>2]=h,(h|0)<1):0)?(c[g>>2]=(c[b+8368+(c[b+9396>>2]<<2)>>2]|0)+h,c[b+4244>>2]&8|0):0){h=b+4248|0;c[h>>2]=c[h>>2]|2}if((f|0)<=0)return;b=0;do{sf();c[83852]=0;c[83853]=0;c[83854]=0;c[83855]=0;c[83856]=0;c[83857]=0;c[83858]=0;c[83859]=0;tf(0);tf(1);tf(2);tf(3);tf(4);tf(5);tf(6);uf();q=c[83852]|0;h=c[857731]|0;r=c[83853]|0;p=c[83854]|0;o=c[83855]|0;n=c[83856]|0;m=c[83857]|0;l=c[83858]|0;k=c[83859]|0;g=(c[h+4108>>2]&r)+(c[h+4100>>2]&q)+(c[h+4116>>2]&p)+(c[h+4124>>2]&o)+(c[h+4132>>2]&n)+(c[h+4140>>2]&m)+(c[h+4148>>2]&l)+(c[h+4156>>2]&k)|0;c[d+(b<<2)>>2]=(c[h+4104>>2]&r)+(c[h+4096>>2]&q)+(c[h+4112>>2]&p)+(c[h+4120>>2]&o)+(c[h+4128>>2]&n)+(c[h+4136>>2]&m)+(c[h+4144>>2]&l)+(c[h+4152>>2]&k);c[e+(b<<2)>>2]=g;if(a[h+4260>>0]|0?(j=h+4264|0,r=c[j>>2]|0,i=r+-65536|0,c[j>>2]=i,(r|0)<65537):0){c[j>>2]=(c[h+4272+(c[h+9392>>2]<<2)>>2]|0)+i;g=c[h+4244>>2]|0;if(g&4|0){r=h+4248|0;c[r>>2]=c[r>>2]|1}if(g&128|0)c[h+4240>>2]=2}vf();b=b+1|0}while((b|0)!=(f|0));return}function sf(){var a=0,b=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;h=c[857731]|0;k=h+4172|0;b=(c[k>>2]|0)+(c[h+4176>>2]|0)|0;c[k>>2]=b;l=h+4180|0;a=c[l>>2]|0;if(b>>>0>>0)return;n=h+4168|0;do{c[k>>2]=b-a;c[n>>2]=(c[n>>2]|0)+1;e=32;f=h;while(1){g=f+68|0;switch(c[g>>2]|0){case 4:{a=c[n>>2]|0;b=d[f+72>>0]|0;if(((1<>2]|0,b=((M(d[28256+((a>>>b&7)+(d[f+73>>0]|0))>>0]|0,~o)|0)>>4)+o|0,c[j>>2]=b,(b|0)<1):0){c[j>>2]=0;c[g>>2]=3}break}case 3:{a=c[n>>2]|0;b=d[f+84>>0]|0;if(((1<>2]|0)+(d[28256+((a>>>b&7)+(d[f+85>>0]|0))>>0]|0)|0,c[p>>2]=o,o>>>0>=(c[f+88>>2]|0)>>>0):0)c[g>>2]=2;break}case 2:{a=c[n>>2]|0;b=d[f+92>>0]|0;if(((1<>2]|0)+(d[28256+((a>>>b&7)+(d[f+93>>0]|0))>>0]|0)|0,c[m>>2]=p,(p|0)>1022):0){c[m>>2]=1023;c[g>>2]=0}break}case 1:{a=c[n>>2]|0;b=d[f+94>>0]|0;if(((1<>2]|0)+(d[28256+((a>>>b&7)+(d[f+95>>0]|0))>>0]|0)|0,c[i>>2]=p,(p|0)>1022):0){c[i>>2]=1023;c[g>>2]=0}break}default:{}}e=e+-1|0;if(!e)break;else f=f+128|0}b=c[k>>2]|0;a=c[l>>2]|0}while(b>>>0>=a>>>0);return}function tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=c[857731]|0;if(a[i+4160+b>>0]|0)return;c[857732]=0;c[857733]=0;c[857734]=0;c[857735]=0;j=b<<2;l=i+(j<<7)|0;m=i+(j<<7)+32|0;c[c[i+(j<<7)+28>>2]>>2]=c[m>>2];d=c[i+(j<<7)+60>>2]|0;if(!d)k=0;else k=c[i+4212>>2]<>2]|0)+(c[i+(j<<7)+76>>2]|0)+(c[i+(j<<7)+64>>2]&k)|0;d=i+(j<<7)+44|0;f=i+(j<<7)+40|0;g=c[f>>2]|0;h=g+(c[d>>2]|0)|0;c[d>>2]=g;d=c[i+(j<<7)+24>>2]|0;if(!d){c[857733]=g;c[857734]=g;d=3430928}c[d>>2]=g;c[f>>2]=0;if(e>>>0<832){j=c[i+(j<<7)+36>>2]|0;c[f>>2]=wf(c[l>>2]|0,e,((j|0)==0?0:h)<>2]|0)+(c[l+204>>2]|0)+(c[l+192>>2]&k)|0;if(d>>>0<832){i=xf(c[l+128>>2]|0,d,c[857735]|0)|0;j=c[l+152>>2]|0;c[j>>2]=(c[j>>2]|0)+i}d=(c[l+336>>2]|0)+(c[l+332>>2]|0)+(c[l+320>>2]&k)|0;if(d>>>0<832){i=xf(c[l+256>>2]|0,d,c[857734]|0)|0;j=c[l+280>>2]|0;c[j>>2]=(c[j>>2]|0)+i}d=(c[l+464>>2]|0)+(c[l+460>>2]|0)+(c[l+448>>2]&k)|0;if(d>>>0<832){d=xf(c[l+384>>2]|0,d,c[857733]|0)|0;e=335408+(b<<2)|0;d=(c[e>>2]|0)+d|0;c[e>>2]=d}else{d=335408+(b<<2)|0;e=d;d=c[d>>2]|0}if((d|0)<=8192){if((d|0)<-8192){d=-8192;n=17}}else{d=8192;n=17}if((n|0)==17)c[e>>2]=d;c[m>>2]=c[857732];return}function uf(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[857731]|0;if(a[i+4167>>0]|0)return;c[857732]=0;c[857733]=0;c[857734]=0;c[857735]=0;j=i+3616|0;c[c[i+3612>>2]>>2]=c[j>>2];b=c[i+3644>>2]|0;if(!b)h=0;else h=c[i+4212>>2]<>2]|0)+(c[i+3660>>2]|0)+(c[i+3648>>2]&h)|0;b=i+3628|0;e=i+3624|0;f=c[e>>2]|0;g=f+(c[b>>2]|0)|0;c[b>>2]=f;b=c[i+3608>>2]|0;if(!b){c[857733]=f;c[857734]=f;b=3430928}c[b>>2]=f;c[e>>2]=0;if(d>>>0<832){f=c[i+3620>>2]|0;c[e>>2]=wf(c[i+3584>>2]|0,d,((f|0)==0?0:g)<>2]|0)+(c[i+3788>>2]|0)+(c[i+3776>>2]&h)|0;if(b>>>0<832){f=xf(c[i+3712>>2]|0,b,c[857735]|0)|0;g=c[i+3736>>2]|0;c[g>>2]=(c[g>>2]|0)+f}b=(c[i+3920>>2]|0)+(c[i+3916>>2]|0)+(c[i+3904>>2]&h)|0;if(b>>>0<832){f=xf(c[i+3840>>2]|0,b,c[857734]|0)|0;g=c[i+3864>>2]|0;c[g>>2]=(c[g>>2]|0)+f}b=(c[i+4048>>2]|0)+(c[i+4044>>2]|0)+(c[i+4032>>2]&h)|0;do if(!(c[i+4224>>2]&128))if(b>>>0<832){b=xf(c[i+3968>>2]|0,b,c[857733]|0)|0;b=(c[83859]|0)+b|0;c[83859]=b;break}else{b=c[83859]|0;break}else{b=b>>>0<1023?b<<1^2046:0;b=((c[i+4228>>2]&65536|0)==0?0-b|0:b)+(c[83859]|0)|0;c[83859]=b}while(0);if((b|0)<=8192){if((b|0)<-8192){b=-8192;k=19}}else{b=8192;k=19}if((k|0)==19)c[83859]=b;c[j>>2]=c[857732];return}function vf(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[857731]|0;do if(!(a[j+4220>>0]&2)){f=j+4188|0;b=(c[f>>2]|0)+(c[j+4192>>2]|0)|0;c[f>>2]=b;e=c[j+4196>>2]|0;if(b>>>0>>0){f=c[j+4184>>2]|0;break}else{c[f>>2]=b-e;i=j+4200|0;h=(c[i>>2]|0)+(c[j+4204>>2]|0)|0;g=j+4184|0;f=(c[g>>2]|0)+(h>>>4)&255;c[g>>2]=f;c[i>>2]=h&15;break}}else{c[j+4184>>2]=0;f=0}while(0);a:do switch(a[j+4208>>0]|0){case 0:{e=f>>>0<128?f:f+-255|0;b=255-f|0;break}case 1:{b=f>>>0<128;e=b?128:-128;b=b?255:0;break}case 2:{g=f>>>0<128;e=f<<1;h=255-e|0;b=e+-256|0;i=f>>>0<64;if(!g)if(f>>>0<192){e=256-e|0;break a}else{e=e+-511|0;break a}else{e=i?e:h;b=i?(g?h:b):h}break}default:{b=d[15952+f>>0]|0;e=b+-128|0}}while(0);c[j+4212>>2]=(M(b,d[j+4209>>0]|0)|0)/128|0;i=j+4216|0;c[i>>2]=(M(e,a[j+4210>>0]|0)|0)/128|0;h=j+4232|0;g=(c[h>>2]|0)+(c[j+4236>>2]|0)|0;b=g>>>16;c[h>>2]=g&65535;if(b|0){f=j+4228|0;e=c[f>>2]|0;do{e=(e>>>3^e)<<16&65536^65536|e>>>1;b=b+-1|0}while((b|0)!=0);c[f>>2]=e}g=j;h=8;while(1){b=c[g+56>>2]|0;do if(b){f=c[i>>2]|0;b=b>>>0<6?f>>6-b:f<>2]=(c[g>>2]|0)+(c[g+4>>2]|0);e=g+128|0;c[e>>2]=(c[e>>2]|0)+(c[g+132>>2]|0);e=g+256|0;c[e>>2]=(c[e>>2]|0)+(c[g+260>>2]|0);e=g+384|0;b=e;e=c[e>>2]|0;f=g+388|0;break}else{e=(c[g+52>>2]|0)+b|0;f=(M((c[g+8>>2]|0)+(c[j+9408+(e+(c[g+20>>2]|0)<<2)>>2]|0)|0,c[g+12>>2]|0)|0)>>>1;c[g>>2]=f+(c[g>>2]|0);f=(M((c[g+136>>2]|0)+(c[j+9408+((c[g+148>>2]|0)+e<<2)>>2]|0)|0,c[g+140>>2]|0)|0)>>>1;b=g+128|0;c[b>>2]=f+(c[b>>2]|0);b=(M((c[g+264>>2]|0)+(c[j+9408+((c[g+276>>2]|0)+e<<2)>>2]|0)|0,c[g+268>>2]|0)|0)>>>1;f=g+256|0;c[f>>2]=b+(c[f>>2]|0);f=g+384|0;b=f;e=(M((c[g+392>>2]|0)+(c[j+9408+((c[g+404>>2]|0)+e<<2)>>2]|0)|0,c[g+396>>2]|0)|0)>>>1;break}}else{c[g>>2]=(c[g>>2]|0)+(c[g+4>>2]|0);e=g+128|0;c[e>>2]=(c[e>>2]|0)+(c[g+132>>2]|0);e=g+256|0;c[e>>2]=(c[e>>2]|0)+(c[g+260>>2]|0);e=g+384|0;b=e;e=c[e>>2]|0;f=g+388|0}while(0);c[b>>2]=e+(c[f>>2]|0);h=h+-1|0;if(!h)break;else g=g+512|0}i=j+4240|0;switch(c[i>>2]|0){case 2:{h=j+4168|0;b=j;e=32;while(1){f=b+96|0;g=c[f>>2]|0;if((g|0)==0?(c[b>>2]=0,l=b+68|0,c[l>>2]=4,m=b+80|0,k=c[m>>2]|0,k=((M(d[28256+(((c[h>>2]|0)>>>(d[b+72>>0]|0)&7)+(d[b+73>>0]|0))>>0]|0,~k)|0)>>4)+k|0,c[m>>2]=k,(k|0)<1):0){c[m>>2]=0;c[l>>2]=3}c[f>>2]=g|2;e=e+-1|0;if(!e){b=1;break}else b=b+128|0}break}case 0:return;default:{b=j;e=32;while(1){f=b+96|0;g=c[f>>2]|0;if((g|0?(m=g&-3,c[f>>2]=m,(m|0)==0):0)?(k=b+68|0,(c[k>>2]|0)>>>0>1):0)c[k>>2]=1;e=e+-1|0;if(!e){b=0;break}else b=b+128|0}}}c[i>>2]=b;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[335440+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[339536+(a<<2)>>2]|0;return d|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[335440+((((a&67043328)+(d<<15)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[339536+(a<<2)>>2]|0;return d|0}function yf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=(d|0)/64|0;g=a[3432185]|0;f=c[857788]|0;e=g<<24>>24==2|g<<24>>24==1&(e|0)<(f|0)?f:e;c[335392+((b&255)<<3)>>2]=zf(d,e)|0;d=e;return d|0}function zf(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,h=0;e=ex(44360)|0;if(!e){e=0;return e|0}nz(e|0,0,44352)|0;Af();c[e+44352>>2]=b;h=e+44356|0;c[h>>2]=(d|0)==0?44100:d;Bf(e);g=+(b|0)*.015625;f=+((c[h>>2]|0)>>>0);c[e+4192>>2]=~~(g*1024.0/f)>>>0;c[e+4176>>2]=~~(g*65536.0/f)>>>0;c[e+4180>>2]=196608;a[e+4260>>0]=0;a[e+4261>>0]=0;d=e+4160|0;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;return e|0}function Af(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<2;e=e<<1;c[339536+(e<<2)>>2]=f;b=e|1;c[339536+(b<<2)>>2]=0-f;f=d<<1;c[339536+(e+512<<2)>>2]=f;c[339536+(b+512<<2)>>2]=0-f;c[339536+(e+1024<<2)>>2]=d;c[339536+(b+1024<<2)>>2]=0-d;f=d>>1;c[339536+(e+1536<<2)>>2]=f;c[339536+(b+1536<<2)>>2]=0-f;f=d>>2;c[339536+(e+2048<<2)>>2]=f;c[339536+(b+2048<<2)>>2]=0-f;f=d>>3;c[339536+(e+2560<<2)>>2]=f;c[339536+(b+2560<<2)>>2]=0-f;f=d>>4;c[339536+(e+3072<<2)>>2]=f;c[339536+(b+3072<<2)>>2]=0-f;f=d>>5;c[339536+(e+3584<<2)>>2]=f;c[339536+(b+3584<<2)>>2]=0-f;f=d>>6;c[339536+(e+4096<<2)>>2]=f;c[339536+(b+4096<<2)>>2]=0-f;f=d>>7;c[339536+(e+4608<<2)>>2]=f;c[339536+(b+4608<<2)>>2]=0-f;f=d>>8;c[339536+(e+5120<<2)>>2]=f;c[339536+(b+5120<<2)>>2]=0-f;f=d>>9;c[339536+(e+5632<<2)>>2]=f;c[339536+(b+5632<<2)>>2]=0-f;d=d>>10;c[339536+(e+6144<<2)>>2]=d;c[339536+(b+6144<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[335440+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);c[91540]=0;c[91541]=32;c[91542]=64;c[91543]=96;c[91544]=128;c[91545]=160;c[91546]=192;c[91547]=224;c[91548]=256;c[91549]=288;c[91550]=320;c[91551]=352;c[91552]=384;c[91553]=416;c[91554]=448;c[91555]=992;return}function Bf(a){a=a|0;var b=0,f=0.0,g=0,h=0,i=0,j=0;h=a+44352|0;i=a+44356|0;f=+((c[h>>2]|0)>>>0)*.015625/+((c[i>>2]|0)>>>0);b=0;do{g=~~(f*+(e[16208+(b<<1)>>1]|0)*64.0)&-64;c[a+9408+(b+2304<<2)>>2]=g;c[a+9408+(b+768<<2)>>2]=g>>>2&1073741760;c[a+9408+(b+1536<<2)>>2]=g>>>1&2147483584;c[a+9408+(b+3072<<2)>>2]=g<<1;c[a+9408+(b+3840<<2)>>2]=g<<2;c[a+9408+(b+4608<<2)>>2]=g<<3;c[a+9408+(b+5376<<2)>>2]=g<<4;c[a+9408+(b+6144<<2)>>2]=g<<5;b=b+1|0}while((b|0)!=768);g=a+12480|0;b=0;do{c[a+9408+(b<<2)>>2]=c[g>>2];b=b+1|0}while((b|0)!=768);g=c[a+37052>>2]|0;b=0;do{c[a+9408+(b+6912<<2)>>2]=g;b=b+1|0}while((b|0)!=768);b=0;do{c[a+9408+(b+7680<<2)>>2]=g;b=b+1|0}while((b|0)!=768);b=0;do{g=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[29232+b>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(b<<2)>>2]=g;c[a+43200+(b+128<<2)>>2]=0-g;b=b+1|0}while((b|0)!=32);b=0;do{j=b+32|0;g=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[29232+j>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(j<<2)>>2]=g;c[a+43200+(b+160<<2)>>2]=0-g;b=b+1|0}while((b|0)!=32);b=0;do{g=b+64|0;j=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[29232+g>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(g<<2)>>2]=j;c[a+43200+(b+192<<2)>>2]=0-j;b=b+1|0}while((b|0)!=32);b=0;do{g=b+96|0;j=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[29232+g>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(g<<2)>>2]=j;c[a+43200+(b+224<<2)>>2]=0-j;b=b+1|0}while((b|0)!=32);b=0;do{c[a+4272+(b<<2)>>2]=~~(+(1024-b|0)*64.0/+((c[h>>2]|0)>>>0)*+((c[i>>2]|0)>>>0)*65536.0)>>>0;b=b+1|0}while((b|0)!=1024);b=0;do{c[a+8368+(b<<2)>>2]=~~(+(256-b|0)*1024.0/+((c[h>>2]|0)>>>0)*+((c[i>>2]|0)>>>0)*65536.0)>>>0;b=b+1|0}while((b|0)!=256);f=+((c[h>>2]|0)>>>0)*.015625/+((c[i>>2]|0)>>>0);b=0;do{c[a+44224+(b<<2)>>2]=~~(f*((b|0)==31?65536.0:+(~~(65536.0/(+(32-b|0)*32.0))<<6|0)))>>>0;b=b+1|0}while((b|0)!=32);return}function Cf(a){a=a|0;Df(c[335392+((a&255)<<3)>>2]|0);return}function Df(a){a=a|0;fx(a);return}function Ef(a){a=a|0;Ff(c[335392+((a&255)<<3)>>2]|0);return}function Ff(b){b=b|0;var d=0,e=0,f=0;d=0;do{e=b+(d<<7)|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[b+(d<<7)+80>>2]=1023;c[b+(d<<7)+52>>2]=768;d=d+1|0}while((d|0)!=32);c[b+4172>>2]=0;c[b+4168>>2]=0;c[b+4188>>2]=0;c[b+4200>>2]=0;c[b+4184>>2]=0;a[b+4208>>0]=0;a[b+4210>>0]=0;a[b+4209>>0]=0;c[b+4212>>2]=0;c[b+4216>>2]=0;a[b+4220>>0]=0;c[b+4244>>2]=0;a[b+4260>>0]=0;a[b+4261>>0]=0;c[b+4264>>2]=0;c[b+4268>>2]=0;d=b+9392|0;c[b+4224>>2]=0;c[b+4228>>2]=0;c[b+4232>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+4236>>2]=c[b+44224>>2];c[b+4240>>2]=0;c[b+4248>>2]=0;Gf(b,27,0);Gf(b,24,0);d=32;do{Gf(b,d,0);d=d+1|0}while((d|0)!=256);return}function Gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d>>>3;i=d<<2&28|f&3;g=e&255;switch(d>>>5&7){case 0:do switch((d&255)<<24>>24){case 1:{a[b+4220>>0]=e;if(!(e&2))return;c[b+4184>>2]=0;return}case 8:{c[857731]=b;Hf(b+((e<<2&28)<<7)|0,g);return}case 15:{c[b+4224>>2]=g;c[b+4236>>2]=c[b+44224+((e&31)<<2)>>2];return}case 16:{b=b+9392|0;c[b>>2]=c[b>>2]&3|g<<2;return}case 17:{b=b+9392|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 18:{c[b+9396>>2]=g;return}case 20:{c[b+4244>>2]=g;if(e&16|0){i=b+4248|0;c[i>>2]=c[i>>2]&-2}if(e&32|0){i=b+4248|0;c[i>>2]=c[i>>2]&-3}d=b+4261|0;if(e&2){if(!(a[d>>0]|0)){a[d>>0]=1;c[b+4268>>2]=c[b+8368+(c[b+9396>>2]<<2)>>2]}}else a[d>>0]=0;d=b+4260|0;if(!(e&1)){a[d>>0]=0;return}if(a[d>>0]|0)return;a[d>>0]=1;c[b+4264>>2]=c[b+4272+(c[b+9392>>2]<<2)>>2];return}case 24:{c[b+4196>>2]=1024<<18-(g>>>4);c[b+4204>>2]=e&15|16;return}case 25:{d=e&127;if(!(e&128)){a[b+4209>>0]=d;return}else{a[b+4210>>0]=d;return}}case 27:{a[b+4221>>0]=g>>>6;a[b+4208>>0]=e&3;return}default:return}while(0);case 1:{d=d&7;h=d<<2;i=b+(h<<7)|0;switch(f&3){case 0:{g=e>>>3&7;c[b+(h<<7)+36>>2]=(g|0)==0?0:g+6|0;g=b+4096|0;h=d<<1;c[g+(h<<2)>>2]=e<<25>>31;c[g+((h|1)<<2)>>2]=e<<24>>31;e=e&7;a[b+4252+d>>0]=e;If(i,d,e);return}case 1:{d=e&127;f=b+(h<<7)+48|0;if((d|0)==(c[f>>2]|0))return;j=d>>>2;g=b+(h<<7)+52|0;e=c[g>>2]&63|(d-j<<6)+768;c[f>>2]=d;c[g>>2]=e;c[i+176>>2]=d;c[i+180>>2]=e;c[i+304>>2]=d;c[i+308>>2]=e;c[i+432>>2]=d;c[i+436>>2]=e;f=b+43200|0;d=c[f+((c[b+(h<<7)+16>>2]|0)+j<<2)>>2]|0;c[b+(h<<7)+8>>2]=d;g=b+9408|0;c[b+(h<<7)+4>>2]=(M((c[g+((c[b+(h<<7)+20>>2]|0)+e<<2)>>2]|0)+d|0,c[b+(h<<7)+12>>2]|0)|0)>>>1;b=c[f+((c[i+144>>2]|0)+j<<2)>>2]|0;c[i+136>>2]=b;c[i+132>>2]=(M((c[g+((c[i+148>>2]|0)+e<<2)>>2]|0)+b|0,c[i+140>>2]|0)|0)>>>1;b=c[f+((c[i+272>>2]|0)+j<<2)>>2]|0;c[i+264>>2]=b;c[i+260>>2]=(M((c[g+((c[i+276>>2]|0)+e<<2)>>2]|0)+b|0,c[i+268>>2]|0)|0)>>>1;b=c[f+((c[i+400>>2]|0)+j<<2)>>2]|0;c[i+392>>2]=b;c[i+388>>2]=(M((c[g+((c[i+404>>2]|0)+e<<2)>>2]|0)+b|0,c[i+396>>2]|0)|0)>>>1;Jf(i);return}case 2:{d=g>>>2;f=b+(h<<7)+52|0;g=c[f>>2]|0;if((d|0)==(g&63|0))return;j=g&-64|d;c[f>>2]=j;c[i+180>>2]=j;c[i+308>>2]=j;c[i+436>>2]=j;e=b+9408|0;c[b+(h<<7)+4>>2]=(M((c[b+(h<<7)+8>>2]|0)+(c[e+((c[b+(h<<7)+20>>2]|0)+j<<2)>>2]|0)|0,c[b+(h<<7)+12>>2]|0)|0)>>>1;c[i+132>>2]=(M((c[i+136>>2]|0)+(c[e+((c[i+148>>2]|0)+j<<2)>>2]|0)|0,c[i+140>>2]|0)|0)>>>1;c[i+260>>2]=(M((c[i+264>>2]|0)+(c[e+((c[i+276>>2]|0)+j<<2)>>2]|0)|0,c[i+268>>2]|0)|0)>>>1;c[i+388>>2]=(M((c[i+392>>2]|0)+(c[e+((c[i+404>>2]|0)+j<<2)>>2]|0)|0,c[i+396>>2]|0)|0)>>>1;return}case 3:{c[b+(h<<7)+56>>2]=e>>>4&7;c[b+(h<<7)+60>>2]=e&3;return}default:{}}break}case 2:{g=b+(i<<7)+16|0;j=c[g>>2]|0;h=b+(i<<7)+12|0;d=c[h>>2]|0;f=e<<1&224;c[g>>2]=f;g=e&15;g=(g|0)==0?1:g<<1;c[h>>2]=g;do if((j|0)==(f|0))if((d|0)==(g|0))return;else{d=c[b+(i<<7)+8>>2]|0;break}else{d=c[b+43200+(((c[b+(i<<7)+48>>2]|0)>>>2)+f<<2)>>2]|0;c[b+(i<<7)+8>>2]=d}while(0);c[b+(i<<7)+4>>2]=(M(d+(c[b+9408+((c[b+(i<<7)+20>>2]|0)+(c[b+(i<<7)+52>>2]|0)<<2)>>2]|0)|0,g)|0)>>>1;return}case 3:{c[b+(i<<7)+76>>2]=e<<3&1016;return}case 4:{d=b+(i<<7)+100|0;f=c[d>>2]|0;k=b+(i<<7)+104|0;j=c[k>>2]|0;h=5-(g>>>6)|0;c[d>>2]=h;d=e&31;d=(d|0)==0?0:(d<<1)+32|0;c[k>>2]=d;g=(h|0)==(f|0);if(!(g&(d|0)==(j|0))){d=((c[b+(i<<7)+48>>2]|0)>>>h)+d|0;if(d>>>0<94){f=a[17888+d>>0]|0;d=a[17760+d>>0]|0}else{f=-120;d=0}a[b+(i<<7)+72>>0]=d;a[b+(i<<7)+73>>0]=f}if(g)return;k=(c[b+(i<<7)+48>>2]|0)>>>h;j=k+(c[b+(i<<7)+108>>2]|0)|0;a[b+(i<<7)+84>>0]=a[17760+j>>0]|0;a[b+(i<<7)+85>>0]=a[17888+j>>0]|0;j=(c[b+(i<<7)+112>>2]|0)+k|0;a[b+(i<<7)+92>>0]=a[17760+j>>0]|0;a[b+(i<<7)+93>>0]=a[17888+j>>0]|0;k=(c[b+(i<<7)+116>>2]|0)+k|0;a[b+(i<<7)+94>>0]=a[17760+k>>0]|0;a[b+(i<<7)+95>>0]=a[17888+k>>0]|0;return}case 5:{c[b+(i<<7)+64>>2]=e<<24>>31;k=e&31;k=(k|0)==0?0:(k<<1)+32|0;c[b+(i<<7)+108>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+84>>0]=a[17760+k>>0]|0;a[b+(i<<7)+85>>0]=a[17888+k>>0]|0;return}case 6:{j=b+(i<<7)+20|0;k=c[j>>2]|0;d=c[17744+(g>>>6<<2)>>2]|0;c[j>>2]=d;if((d|0)!=(k|0))c[b+(i<<7)+4>>2]=(M((c[b+(i<<7)+8>>2]|0)+(c[b+9408+((c[b+(i<<7)+52>>2]|0)+d<<2)>>2]|0)|0,c[b+(i<<7)+12>>2]|0)|0)>>>1;k=e&31;k=(k|0)==0?0:(k<<1)+32|0;c[b+(i<<7)+112>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+92>>0]=a[17760+k>>0]|0;a[b+(i<<7)+93>>0]=a[17888+k>>0]|0;return}case 7:{c[b+(i<<7)+88>>2]=c[366160+(g>>>4<<2)>>2];k=(e<<2&60)+34|0;c[b+(i<<7)+116>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+94>>0]=a[17760+k>>0]|0;a[b+(i<<7)+95>>0]=a[17888+k>>0]|0;return}default:{}}}function Hf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=a+96|0;g=c[f>>2]|0;h=(g|0)!=0;if(!(b&8)){if((h?(j=g&-2,c[f>>2]=j,(j|0)==0):0)?(e=a+68|0,(c[e>>2]|0)>>>0>1):0)c[e>>2]=1}else{if(!h?(c[a>>2]=0,i=a+68|0,c[i>>2]=4,j=a+80|0,h=c[j>>2]|0,h=((M(d[28256+(((c[(c[857731]|0)+4168>>2]|0)>>>(d[a+72>>0]|0)&7)+(d[a+73>>0]|0))>>0]|0,~h)|0)>>4)+h|0,c[j>>2]=h,(h|0)<1):0){c[j>>2]=0;c[i>>2]=3}c[f>>2]=g|1}e=a+224|0;f=c[e>>2]|0;g=(f|0)!=0;if(!(b&32)){if((g?(l=f&-2,c[e>>2]=l,(l|0)==0):0)?(m=a+196|0,(c[m>>2]|0)>>>0>1):0)c[m>>2]=1}else{if(!g?(c[a+128>>2]=0,k=a+196|0,c[k>>2]=4,l=a+208|0,m=c[l>>2]|0,m=((M(d[28256+(((c[(c[857731]|0)+4168>>2]|0)>>>(d[a+200>>0]|0)&7)+(d[a+201>>0]|0))>>0]|0,~m)|0)>>4)+m|0,c[l>>2]=m,(m|0)<1):0){c[l>>2]=0;c[k>>2]=3}c[e>>2]=f|1}e=a+352|0;f=c[e>>2]|0;g=(f|0)!=0;if(!(b&16)){if((g?(p=f&-2,c[e>>2]=p,(p|0)==0):0)?(n=a+324|0,(c[n>>2]|0)>>>0>1):0)c[n>>2]=1}else{if(!g?(c[a+256>>2]=0,o=a+324|0,c[o>>2]=4,p=a+336|0,n=c[p>>2]|0,n=((M(d[28256+(((c[(c[857731]|0)+4168>>2]|0)>>>(d[a+328>>0]|0)&7)+(d[a+329>>0]|0))>>0]|0,~n)|0)>>4)+n|0,c[p>>2]=n,(n|0)<1):0){c[p>>2]=0;c[o>>2]=3}c[e>>2]=f|1}e=a+480|0;f=c[e>>2]|0;g=(f|0)!=0;if(b&64|0){if(!g?(c[a+384>>2]=0,q=a+452|0,c[q>>2]=4,r=a+464|0,b=c[r>>2]|0,b=((M(d[28256+(((c[(c[857731]|0)+4168>>2]|0)>>>(d[a+456>>0]|0)&7)+(d[a+457>>0]|0))>>0]|0,~b)|0)>>4)+b|0,c[r>>2]=b,(b|0)<1):0){c[r>>2]=0;c[q>>2]=3}c[e>>2]=f|1;return}if(!g)return;r=f&-2;c[e>>2]=r;if(r|0)return;e=a+452|0;if((c[e>>2]|0)>>>0<=1)return;c[e>>2]=1;return}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;switch(d&7){case 0:{c[a+24>>2]=3430936;e=3430932;f=3430928;g=3430940;break}case 1:{c[a+24>>2]=3430928;e=3430932;f=3430928;g=3430940;break}case 2:{c[a+24>>2]=3430932;e=3430932;f=3430928;g=3430940;break}case 3:{c[a+24>>2]=3430936;e=3430932;f=3430928;g=3430932;break}case 4:{c[a+24>>2]=3430936;e=3430932;f=335408+(b<<2)|0;g=3430928;break}case 5:{c[a+24>>2]=0;f=335408+(b<<2)|0;e=f;g=3430940;break}case 6:{c[a+24>>2]=3430936;f=335408+(b<<2)|0;e=f;g=3430928;break}case 7:{f=335408+(b<<2)|0;c[a+24>>2]=f;e=f;g=3430928;break}default:{}}c[a+280>>2]=f;c[a+152>>2]=e;c[a+28>>2]=g;return}function Jf(b){b=b|0;var d=0,e=0,f=0,g=0;g=c[b+48>>2]|0;f=g>>>(c[b+100>>2]|0);d=(c[b+104>>2]|0)+f|0;if(d>>>0<94){e=a[17888+d>>0]|0;d=a[17760+d>>0]|0}else{e=-120;d=0}a[b+72>>0]=d;a[b+73>>0]=e;d=(c[b+108>>2]|0)+f|0;a[b+84>>0]=a[17760+d>>0]|0;a[b+85>>0]=a[17888+d>>0]|0;d=(c[b+112>>2]|0)+f|0;a[b+92>>0]=a[17760+d>>0]|0;a[b+93>>0]=a[17888+d>>0]|0;f=(c[b+116>>2]|0)+f|0;a[b+94>>0]=a[17760+f>>0]|0;a[b+95>>0]=a[17888+f>>0]|0;f=g>>>(c[b+228>>2]|0);d=(c[b+232>>2]|0)+f|0;if(d>>>0<94){e=a[17888+d>>0]|0;d=a[17760+d>>0]|0}else{e=-120;d=0}a[b+200>>0]=d;a[b+201>>0]=e;d=(c[b+236>>2]|0)+f|0;a[b+212>>0]=a[17760+d>>0]|0;a[b+213>>0]=a[17888+d>>0]|0;d=(c[b+240>>2]|0)+f|0;a[b+220>>0]=a[17760+d>>0]|0;a[b+221>>0]=a[17888+d>>0]|0;f=(c[b+244>>2]|0)+f|0;a[b+222>>0]=a[17760+f>>0]|0;a[b+223>>0]=a[17888+f>>0]|0;f=g>>>(c[b+356>>2]|0);d=(c[b+360>>2]|0)+f|0;if(d>>>0<94){e=a[17888+d>>0]|0;d=a[17760+d>>0]|0}else{e=-120;d=0}a[b+328>>0]=d;a[b+329>>0]=e;d=(c[b+364>>2]|0)+f|0;a[b+340>>0]=a[17760+d>>0]|0;a[b+341>>0]=a[17888+d>>0]|0;d=(c[b+368>>2]|0)+f|0;a[b+348>>0]=a[17760+d>>0]|0;a[b+349>>0]=a[17888+d>>0]|0;f=(c[b+372>>2]|0)+f|0;a[b+350>>0]=a[17760+f>>0]|0;a[b+351>>0]=a[17888+f>>0]|0;f=g>>>(c[b+484>>2]|0);d=(c[b+488>>2]|0)+f|0;if(d>>>0<94){e=a[17888+d>>0]|0;d=a[17760+d>>0]|0}else{e=-120;d=0}a[b+456>>0]=d;a[b+457>>0]=e;g=(c[b+492>>2]|0)+f|0;a[b+468>>0]=a[17760+g>>0]|0;a[b+469>>0]=a[17888+g>>0]|0;g=(c[b+496>>2]|0)+f|0;a[b+476>>0]=a[17760+g>>0]|0;a[b+477>>0]=a[17888+g>>0]|0;g=(c[b+500>>2]|0)+f|0;a[b+478>>0]=a[17760+g>>0]|0;a[b+479>>0]=a[17888+g>>0]|0;return}function Kf(b,e,f){b=b|0;e=e|0;f=f|0;b=b&255;if(!(e&1)){a[335392+(b<<3)+4>>0]=f;return}else{Gf(c[335392+(b<<3)>>2]|0,d[335392+(b<<3)+4>>0]|0,f&255);return}}function Lf(a,b){a=a|0;b=b|0;Mf(c[335392+((a&255)<<3)>>2]|0,b);return}function Mf(b,c){b=b|0;c=c|0;a[b+4160>>0]=c&1;a[b+4161>>0]=c>>>1&1;a[b+4162>>0]=c>>>2&1;a[b+4163>>0]=c>>>3&1;a[b+4164>>0]=c>>>4&1;a[b+4165>>0]=c>>>5&1;a[b+4166>>0]=c>>>6&1;a[b+4167>>0]=c>>>7&1;return}function Nf(a){a=a|0;Of(c[a>>2]|0,c[857780]|0,c[857781]|0,0);return}function Of(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,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;k=a+256|0;l=a+17976|0;m=a+18356|0;x=a+18736|0;Pf(k,l);Pf(k,m);z=a+264|0;y=a+296|0;if(c[y>>2]&192){if((c[a+18772>>2]|0)==-1){Qf(k,x,c[a+1364>>2]|0,d[a+1374>>0]|0);Qf(k,a+18896|0,c[a+1368>>2]|0,d[a+1375>>0]|0);Qf(k,a+18816|0,c[a+1360>>2]|0,d[a+1373>>0]|0);Qf(k,a+18976|0,c[a+19100>>2]|0,d[a+19104>>0]|0)}}else Pf(k,x);c[a+17844>>2]=0;c[a+17848>>2]=0;if((f|0)>0){n=a+17908|0;o=a+17912|0;p=a+17916|0;q=a+1448|0;r=a+1444|0;s=a+1452|0;t=a+308|0;u=a+1440|0;v=a+1344|0;w=a+280|0;j=0;do{c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;g=(c[r>>2]|0)+(c[q>>2]|0)|0;c[r>>2]=g;i=c[s>>2]|0;if(g>>>0>=i>>>0)do{c[r>>2]=g-i;c[u>>2]=(c[u>>2]|0)+1;Rf(k,l);Rf(k,m);Rf(k,x);g=c[r>>2]|0;i=c[s>>2]|0}while(g>>>0>=i>>>0);Sf(k,l,0);Sf(k,m,1);Sf(k,x,2);g=(c[o>>2]|0)+(c[n>>2]|0)+(c[p>>2]|0)|0;c[b+(j<<2)>>2]=g;c[e+(j<<2)>>2]=g;g=c[t>>2]|0;if(((g|0?(c[v>>2]|0)==0:0)?(i=g-~~(+h[w>>3]*4096.0)|0,c[t>>2]=i,(i|0)<1):0)?(Tf(z),c[y>>2]&128|0):0)Uf(x);j=j+1|0}while((j|0)!=(f|0))}g=a+316|0;i=c[g>>2]|0;if(!i)return;if(c[a+1344>>2]|0)return;f=i-~~(+h[a+280>>3]*4096.0*+(f|0))|0;c[g>>2]=f;if((f|0)>=1)return;Vf(z);return}function Pf(a,b){a=a|0;b=b|0;var e=0,f=0;if((c[b+36>>2]|0)!=-1)return;f=c[b+364>>2]|0;e=d[b+368>>0]|0;Qf(a,b,f,e);Qf(a,b+160|0,f,e);Qf(a,b+80|0,f,e);Qf(a,b+240|0,f,e);return}function Qf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;h=g>>(d[e+4>>0]|0);f=(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f|0;if((f|0)<0)f=(c[b+17584>>2]|0)+f|0;c[e+36>>2]=(M(c[e+28>>2]|0,f)|0)>>>1;f=e+24|0;if((h|0)==(d[f>>0]|0|0))return;a[f>>0]=h;b=h&255;f=(c[e+8>>2]|0)+b|0;if(f>>>0<94){g=a[17888+f>>0]|0;f=a[17760+f>>0]|0}else{g=-120;f=0}a[e+60>>0]=f;a[e+61>>0]=g;f=(c[e+12>>2]|0)+b|0;a[e+62>>0]=a[17760+f>>0]|0;g=(c[e+16>>2]|0)+b|0;a[e+64>>0]=a[17760+g>>0]|0;h=(c[e+20>>2]|0)+b|0;a[e+66>>0]=a[17760+h>>0]|0;a[e+63>>0]=a[17888+f>>0]|0;a[e+65>>0]=a[17888+g>>0]|0;a[e+67>>0]=a[17888+h>>0]|0;return}function Rf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+1184|0;j=4;while(1){i=e+40|0;b=a[i>>0]|0;a:do switch(b<<24>>24){case 4:{b=c[k>>2]|0;f=d[e+60>>0]|0;if(((1<>2]|0,h=((M(d[28256+((b>>>f&7)+(d[e+61>>0]|0))>>0]|0,~h)|0)>>4)+h|0,c[l>>2]=h,(h|0)<1):0){c[l>>2]=0;a[i>>0]=3;i=0;b=3}else{i=0;b=4}break}case 3:{b=c[k>>2]|0;f=d[e+62>>0]|0;g=((1<>0]&8)){if(g){i=0;b=3;break a}g=e+48|0;h=(c[g>>2]|0)+(d[28256+((b>>>f&7)+(d[e+63>>0]|0))>>0]|0)|0;c[g>>2]=h;if((h|0)<(c[e+52>>2]|0)){i=0;b=3;break a}a[i>>0]=2;i=0;b=2;break a}else{if(g){i=0;b=3;break a}g=e+48|0;h=((d[28256+((b>>>f&7)+(d[e+63>>0]|0))>>0]|0)<<2)+(c[g>>2]|0)|0;c[g>>2]=h;if((h|0)<(c[e+52>>2]|0)){i=0;b=3;break a}a[i>>0]=2;i=0;b=2;break a}}case 2:{h=a[e+68>>0]|0;b=c[k>>2]|0;f=d[e+64>>0]|0;g=((1<>2]|0)+(d[28256+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)|0;c[i>>2]=(b|0)<1023?b:1023;i=0;b=2;break a}if(!g?(n=e+48|0,g=((d[28256+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)<<2)+(c[n>>2]|0)|0,c[n>>2]=g,(g|0)>831):0){c[n>>2]=1023;b=h&255;if(!(b&1)){c[e+32>>2]=0;c[n>>2]=511;a[i>>0]=4;i=h&2;b=4;break a}else{i=(a[e+69>>0]&1)==0?b&2|1:0;b=2;break a}}else{i=0;b=2}break}case 1:{b=c[k>>2]|0;f=d[e+66>>0]|0;if(((1<>2]|0)+(d[28256+((b>>>f&7)+(d[e+67>>0]|0))>>0]|0)|0,c[m>>2]=h,(h|0)>1022):0){c[m>>2]=1023;a[i>>0]=0;i=0;b=0}else{i=0;b=1}break}default:i=0}while(0);f=c[e+48>>2]|0;g=e+69|0;h=a[g>>0]|0;if((a[e+68>>0]&8)==0|(h&2)==0)b=f;else b=(b&255)>1?f^1023:f;c[e+56>>2]=(c[e+44>>2]|0)+b;a[g>>0]=i^h&255;j=j+-1|0;if(!j)break;else e=e+80|0}return}function Sf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(c[b+17588>>2]|0)>>>(d[e+360>>0]|0);if(a[e+376>>0]|0)return;o=b+17648|0;p=b+17644|0;m=b+17640|0;l=b+17636|0;q=e+352|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[c[e+348>>2]>>2]=c[q>>2];g=(c[e+76>>2]&n)+(c[e+56>>2]|0)|0;k=e+324|0;h=e+328|0;i=c[h>>2]|0;j=i+(c[k>>2]|0)|0;c[k>>2]=i;k=c[e+332>>2]|0;if(!k){c[p>>2]=i;c[m>>2]=i;c[o>>2]=i}else c[k>>2]=(c[k>>2]|0)+i;c[h>>2]=0;if(g>>>0<832){k=a[e+321>>0]|0;c[h>>2]=Zf(c[e+32>>2]|0,g,(k<<24>>24==0?0:j)<<(k&255))|0}g=(c[e+156>>2]&n)+(c[e+136>>2]|0)|0;if(g>>>0<832){k=_f(c[e+112>>2]|0,g,c[l>>2]|0)|0;l=c[e+336>>2]|0;c[l>>2]=(c[l>>2]|0)+k}g=(c[e+236>>2]&n)+(c[e+216>>2]|0)|0;if(g>>>0<832){l=_f(c[e+192>>2]|0,g,c[m>>2]|0)|0;m=c[e+340>>2]|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[e+316>>2]&n)+(c[e+296>>2]|0)|0;if(g>>>0<832){n=_f(c[e+272>>2]|0,g,c[p>>2]|0)|0;p=c[e+344>>2]|0;c[p>>2]=(c[p>>2]|0)+n}c[q>>2]=c[o>>2];g=e+356|0;h=c[g>>2]|0;if(!h){f=e+32|0;c[f>>2]=(c[f>>2]|0)+(c[e+36>>2]|0);f=e+192|0;c[f>>2]=(c[f>>2]|0)+(c[e+196>>2]|0);f=e+112|0;c[f>>2]=(c[f>>2]|0)+(c[e+116>>2]|0);f=e+272|0;c[f>>2]=(c[f>>2]|0)+(c[e+276>>2]|0);return}if((f|0)==2?(c[b+40>>2]&192|0)!=0:0){$f(b,e,h,c[b+1124>>2]|0);$f(b,e+160|0,c[g>>2]|0,c[b+1128>>2]|0);$f(b,e+80|0,c[g>>2]|0,c[b+1120>>2]|0);$f(b,e+240|0,c[g>>2]|0,c[e+372>>2]|0);return}else{ag(b,e);return}}function Tf(a){a=a|0;var b=0,d=0;if(c[a+32>>2]&4|0)Wf(a,1);d=1024-(c[a+40>>2]|0)|0;c[a+44>>2]=d;b=c[a+1080>>2]|0;if(!b)return;d=M(c[a+24>>2]|0,d)|0;za[b&63](c[a>>2]|0,0,d,c[a+4>>2]|0);return}function Uf(a){a=a|0;if(!(c[a+72>>2]|0)){Xf(a,0);Yf(a,0)}if(!(c[a+232>>2]|0)){Xf(a,2);Yf(a,2)}if(!(c[a+152>>2]|0)){Xf(a,1);Yf(a,1)}if(c[a+312>>2]|0)return;Xf(a,3);Yf(a,3);return}function Vf(a){a=a|0;var b=0,e=0;if(c[a+32>>2]&8|0)Wf(a,2);e=4096-((d[a+48>>0]|0)<<4)|0;c[a+52>>2]=e;b=c[a+1080>>2]|0;if(!b)return;e=M(c[a+24>>2]|0,e)|0;za[b&63](c[a>>2]|0,1,e,c[a+4>>2]|0);return}function Wf(b,e){b=b|0;e=e|0;var f=0;f=b+31|0;e=d[f>>0]|e;a[f>>0]=e;f=b+29|0;if(a[f>>0]|0)return;if(!(e&d[b+30>>0]))return;a[f>>0]=1;e=c[b+1084>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,1);return}function Xf(b,e){b=b|0;e=e|0;var f=0;f=b+(e*80|0)+72|0;if(c[f>>2]|0)return;c[f>>2]=1;c[b+(e*80|0)+32>>2]=0;a[b+(e*80|0)+69>>0]=(d[b+(e*80|0)+68>>0]|0)>>>1&2;a[b+(e*80|0)+40>>0]=4;return}function Yf(b,e){b=b|0;e=e|0;var f=0;f=b+(e*80|0)+72|0;if(!(c[f>>2]|0))return;c[f>>2]=0;b=b+(e*80|0)+40|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[497296+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[501392+(a<<2)>>2]|0;return d|0}function _f(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[497296+((((d<<15)+(a&67043328)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[501392+(a<<2)>>2]|0;return d|0}function $f(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;e=c[366224+((f<<4&32512)+e+(c[a+17592>>2]|0)<<2)>>2]|0;if(!e){f=b+32|0;a=f;f=c[f>>2]|0;b=b+36|0;b=c[b>>2]|0;b=f+b|0;c[a>>2]=b;return}f=e+(f<<1)|0;e=f>>>12&7;f=f&4095;e=(c[(c[b>>2]|0)+((e<<2|(d[28416+(f>>>8)>>0]|0))<<2)>>2]|0)+((c[a+1200+(f<<2)>>2]|0)>>>(e^7))|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;g=b+32|0;a=g;f=(M(c[b+28>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=f+b|0;c[a>>2]=b;return}function ag(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;f=c[b+372>>2]|0;e=c[366224+((f<<4&32512)+(c[b+356>>2]|0)+(c[a+17592>>2]|0)<<2)>>2]|0;if(!e){g=b+32|0;c[g>>2]=(c[g>>2]|0)+(c[b+36>>2]|0);g=b+192|0;c[g>>2]=(c[g>>2]|0)+(c[b+196>>2]|0);g=b+112|0;c[g>>2]=(c[g>>2]|0)+(c[b+116>>2]|0);g=b+272|0;a=g;g=c[g>>2]|0;b=b+276|0;b=c[b>>2]|0;b=g+b|0;c[a>>2]=b;return}e=e+(f<<1)|0;g=e>>>12&7;e=e&4095;f=g<<2|(d[28416+(e>>>8)>>0]|0);g=(c[a+1200+(e<<2)>>2]|0)>>>(g^7);e=(c[(c[b>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+28>>2]|0,e)|0)>>>1;e=b+32|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+160>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+188>>2]|0,e)|0)>>>1;e=b+192|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+80>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+108>>2]|0,e)|0)>>>1;e=b+112|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+240>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;g=b+272|0;h=g;a=(M(c[b+268>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=a+b|0;c[h>>2]=b;return}function bg(a,b,d){a=a|0;b=b|0;d=d|0;Of(c[528016+((a&255)*28|0)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function cg(b,d,e){b=b|0;d=d|0;e=e|0;b=c[528016+((b&255)*28|0)+4>>2]|0;if(!b){e=e<<2;nz(c[d>>2]|0,0,e|0)|0;nz(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3432161]|0){case 1:{dg(b,d,e);return}case 0:{eg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function dg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=c[e>>2]|0;aa=e+4|0;ba=c[aa>>2]|0;e=f<<2;nz(ca|0,0,e|0)|0;nz(c[aa>>2]|0,0,e|0)|0;if(a[b+1049269>>0]|0)return;nz(528464,0,e|0)|0;nz(528528,0,e|0)|0;nz(528592,0,e|0)|0;aa=(f|0)<16?f:16;if(aa|0){o=b+36|0;p=b+16|0;q=b+48|0;r=b+52|0;s=b+22|0;t=b+23|0;u=b+72|0;v=b+88|0;w=b+51|0;x=b+71|0;y=b+56|0;z=b+27|0;A=b+28|0;B=b+80|0;C=b+60|0;D=b+70|0;E=b+64|0;F=b+1049268|0;G=b+100|0;H=b+292|0;I=b+68|0;J=b+69|0;K=b+76|0;L=b+17|0;N=b+40|0;O=b+18|0;P=b+19|0;Q=b+44|0;R=b+20|0;S=b+21|0;T=b+49|0;U=b+50|0;V=b+89|0;W=b+90|0;X=b+24|0;Y=b+25|0;Z=b+26|0;k=aa;l=528464;m=528592;n=528528;while(1){j=(c[o>>2]|0)+1|0;c[o>>2]=j;if((j|0)>=((a[L>>0]&15)<<8|d[p>>0]|0)){a[q>>0]=a[q>>0]^1;c[o>>2]=0}j=(c[N>>2]|0)+1|0;c[N>>2]=j;if((j|0)>=((a[P>>0]&15)<<8|d[O>>0]|0)){a[T>>0]=a[T>>0]^1;c[N>>2]=0}j=(c[Q>>2]|0)+1|0;c[Q>>2]=j;if((j|0)>=((a[S>>0]&15)<<8|d[R>>0]|0)){a[U>>0]=a[U>>0]^1;c[Q>>2]=0}j=(c[r>>2]|0)+1|0;c[r>>2]=j;if((j|0)>=(a[s>>0]&31|0)?(c[r>>2]=0,j=a[w>>0]^1,a[w>>0]=j,j<<24>>24):0){j=c[u>>2]|0;c[u>>2]=((j>>>3^j)<<17&131072^j)>>1}h=c[u>>2]|0;j=a[t>>0]|0;i=j&255;j=(i>>>3|h)&1&((j|a[q>>0])&255)&255;a[v>>0]=j;a[V>>0]=(i>>>4|h)&1&(i>>>1|d[T>>0]);a[W>>0]=(i>>>5|h)&1&(i>>>2|d[U>>0]);do if(((a[x>>0]|0)==0?(i=(c[y>>2]|0)+1|0,c[y>>2]=i,(i|0)>=(M(d[A>>0]<<8|d[z>>0],c[B>>2]|0)|0)):0)?(c[y>>2]=0,_=(a[C>>0]|0)+-1<<24>>24,a[C>>0]=_,$=_<<24>>24,_<<24>>24<0):0){g=(a[J>>0]|0)==0;if(a[I>>0]|0){if(!g)a[D>>0]=a[D>>0]^a[K>>0];a[x>>0]=1;a[C>>0]=0;break}e=a[K>>0]|0;if(!g?(e&255)+1&$|0:0)a[D>>0]=a[D>>0]^e;a[C>>0]=e&_}while(0);g=d[D>>0]^a[C>>0];c[E>>2]=g;e=d[X>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;do if(!((i?3:1)&h))c[l>>2]=c[G+((j<<24>>24==0?0:e&15)<<2)>>2];else{e=j<<24>>24!=0;if(!i){c[l>>2]=c[H+((e?g:0)<<2)>>2];break}if(e)e=g>>>(h&3^3);else e=0;c[l>>2]=c[H+(e<<2)>>2]}while(0);l=l+4|0;e=d[Y>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;g=a[V>>0]|0;do if((i?3:1)&h){e=g<<24>>24!=0;if(i){if(e)e=(c[E>>2]|0)>>>(h&3^3);else e=0;c[n>>2]=c[H+128+(e<<2)>>2];break}else{if(e)e=c[E>>2]|0;else e=0;c[n>>2]=c[H+128+(e<<2)>>2];break}}else c[n>>2]=c[G+64+((g<<24>>24==0?0:e&15)<<2)>>2];while(0);n=n+4|0;e=d[Z>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;g=a[W>>0]|0;do if((i?3:1)&h){e=g<<24>>24!=0;if(i){if(e)e=(c[E>>2]|0)>>>(h&3^3);else e=0;c[m>>2]=c[H+256+(e<<2)>>2];break}else{if(e)e=c[E>>2]|0;else e=0;c[m>>2]=c[H+256+(e<<2)>>2];break}}else c[m>>2]=c[G+128+((g<<24>>24==0?0:e&15)<<2)>>2];while(0);k=k+-1|0;if(!k)break;else m=m+4|0}}if((f|0)<=0)return;k=b+1049256|0;l=b+1049252|0;m=b+1049260|0;n=b+1049264|0;o=b+1049253|0;i=b+1049254|0;h=0;do{g=ca+(h<<2)|0;j=ba+(h<<2)|0;if(c[k>>2]|0){e=a[l>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[528464+(h<<2)>>2]|0);e=a[l>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[528464+(h<<2)>>2]|0)}if(c[m>>2]|0){e=a[o>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[528528+(h<<2)>>2]|0);e=a[o>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[528528+(h<<2)>>2]|0)}if(c[n>>2]|0){e=a[i>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[528592+(h<<2)>>2]|0);e=a[i>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[528592+(h<<2)>>2]|0)}h=h+1|0}while((h|0)<(aa|0));return}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+16|0;m=t;if((e|0)<=0){k=t;return}n=a+64|0;o=m+4|0;p=a+216|0;q=a+220|0;r=a+224|0;s=a+244|0;i=a+236|0;j=a+248|0;l=a+240|0;h=0;do{if(!(c[n>>2]|0)){fg(a,m);c[b+(h<<2)>>2]=c[m>>2];f=c[o>>2]|0}else{g=c[p>>2]|0;f=c[q>>2]|0;if(f>>>0>>0)do{c[q>>2]=(c[r>>2]|0)+f;c[i>>2]=c[s>>2];c[l>>2]=c[j>>2];fg(a,s);g=c[p>>2]|0;f=c[q>>2]|0}while(f>>>0>>0);g=f-g|0;c[q>>2]=g;f=c[r>>2]|0;c[b+(h<<2)>>2]=~~((+(c[s>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[i>>2]|0))/+(f>>>0));f=c[r>>2]|0;g=c[q>>2]|0;f=~~((+(c[j>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[l>>2]|0))/+(f>>>0))}c[d+(h<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));k=t;return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+156|0;d=(c[n>>2]|0)+(c[a+60>>2]|0)|0;o=d>>>24;c[n>>2]=d&16777215;n=a+200|0;d=(c[n>>2]|0)+o|0;c[n>>2]=d;if(d>>>0>65535?(g=c[a+196>>2]|0,h=a+188|0,i=a+168|0,j=a+164|0,k=a+172|0,l=a+180|0,m=a+184|0,g|0):0){e=c[h>>2]|0;do{do if(!e){f=c[j>>2]|0;if(!(c[i>>2]|0)){f=f+63&63;c[j>>2]=f;break}else{f=f+1&63;c[j>>2]=f;break}}else f=c[j>>2]|0;while(0);if(f&32){if(!(c[k>>2]|0)){c[h>>2]=1;e=1;f=0}else{f=c[m>>2]|0;if((c[l>>2]|0)!=(f|0))c[i>>2]=c[i>>2]^1;if(f){c[h>>2]=1;e=1}f=(c[i>>2]|0)==0?31:0}c[j>>2]=f}d=d-g|0}while(d>>>0>65535);c[n>>2]=d}f=a+208|0;g=(c[f>>2]|0)+o|0;c[f>>2]=g;e=a+204|0;d=c[e>>2]|0;if(g&64){if(d&1){d=d^147456;c[e>>2]=d}d=d>>>1;c[e>>2]=d;c[f>>2]=g-(c[a+212>>2]|0)}k=d&1;l=a+140|0;m=a+164|0;d=0;e=0;j=0;do{f=a+68+(j<<2)|0;g=(c[f>>2]|0)+o|0;c[f>>2]=g;do if(g&4096|0){h=c[a+92+(j<<2)>>2]|0;i=a+104+(j<<2)|0;if(h>>>0>1){c[i>>2]=(c[i>>2]|0)==0&1;c[f>>2]=g-h;break}else{c[i>>2]=1;break}}while(0);g=a+40+(j<<2)|0;c[g>>2]=0;do if(!(c[l>>2]&1<>2]|0)==0?(c[a+104+(j<<2)>>2]|0)==0:0)break;if(c[a+128+(j<<2)>>2]|k){f=c[a+80+(j<<2)>>2]|0;if(!(f&32))f=f&31;else f=c[m>>2]|0;n=c[(c[a>>2]|0)+(f<<2)>>2]|0;c[g>>2]=n;i=c[a+144+(j<<2)>>2]|0;d=((i&2|0)==0?0:n)+d|0;e=((i&1|0)==0?0:n)+e|0}}while(0);j=j+1|0}while((j|0)!=3);c[b>>2]=e<<5;c[b+4>>2]=d<<5;return}function gg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((b&255)>15){d=0;return d|0}l=b&255;m=528016+(l*28|0)|0;k=(d|0)/72|0;i=a[3432185]|0;b=i<<24>>24==1;h=c[857788]|0;i=i<<24>>24==2;k=i|b&(k|0)<(h|0)?h:k;j=528016+(l*28|0)+8|0;c[j>>2]=c[11071];c[j+4>>2]=c[11072];c[j+8>>2]=c[11073];c[j+12>>2]=c[11074];c[j+16>>2]=c[11075];if(f<<24>>24)c[j>>2]=f&255;a:do if(!(e<<24>>24)){e=(d|0)/2|0;b=i|b&(k|0)<(h|0)?h:(d|0)/16|0;c[g>>2]=b;switch(a[3432161]|0){case 1:{c[528016+(l*28|0)+4>>2]=hg(0,32,e,j)|0;break a}case 0:break;default:break a}b=ig(e,b)|0;c[528016+(l*28|0)+4>>2]=b;if(!b){d=0;return d|0}else{jg(b,1);break}}else{c[528016+(l*28|0)+4>>2]=0;c[g>>2]=0}while(0);c[m>>2]=kg(m,d,k)|0;d=k;return d|0}function hg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if(!b){b=ex(1049280)|0;nz(b|0,0,1049280)|0}c[b+8>>2]=f;c[b+1049272>>2]=0;c[b>>2]=3;a[b+1049268>>0]=d;d=(d&255)<16;c[b+80>>2]=d?2:1;c[b+92>>2]=d?43376:43656;c[b+96>>2]=d?43376:43936;c[b+84>>2]=0;a[b+76>>0]=d?15:31;f=c[f>>2]&128;a[b+1049252>>0]=f>>>6&255^3;a[b+1049253>>0]=3;a[b+1049254>>0]=f>>>7&255^3;Cg(b);yg(b,e);f=b+1049256|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return b|0}function ig(a,b){a=a|0;b=b|0;var d=0;d=ex(256)|0;if(!d){d=0;return d|0}nz(d|0,0,256)|0;jg(d,1);c[d+52>>2]=a;c[d+56>>2]=(b|0)==0?44100:b;Bg(d);c[d+144>>2]=3;c[d+148>>2]=3;c[d+152>>2]=3;return d|0}function jg(a,b){a=a|0;b=b|0;c[a>>2]=(b|0)==1?18032:18160;return}function kg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=ex(19120)|0;if(!f){f=0;return f|0}nz(f|0,0,19120)|0;lg();c[f+264>>2]=b;a[f+256>>0]=1;c[f+1388>>2]=f+17976;c[f+268>>2]=d;c[f+272>>2]=e;c[f+1344>>2]=0;c[f+1348>>2]=0;c[f+1352>>2]=44304;return f|0}function lg(){var b=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.0,x=0,z=0;b=0;do{t=b;b=b+1|0;u=~~+y(+(65536.0/+ma(+(+(b|0)*.03125*.125))));u=(u>>>4&1)+(u>>5)|0;s=u<<2;t=t<<1;c[501392+(t<<2)>>2]=s;v=t|1;c[501392+(v<<2)>>2]=0-s;s=u<<1;c[501392+(t+512<<2)>>2]=s;c[501392+(v+512<<2)>>2]=0-s;c[501392+(t+1024<<2)>>2]=u;c[501392+(v+1024<<2)>>2]=0-u;s=u>>1;c[501392+(t+1536<<2)>>2]=s;c[501392+(v+1536<<2)>>2]=0-s;s=u>>2;c[501392+(t+2048<<2)>>2]=s;c[501392+(v+2048<<2)>>2]=0-s;s=u>>3;c[501392+(t+2560<<2)>>2]=s;c[501392+(v+2560<<2)>>2]=0-s;s=u>>4;c[501392+(t+3072<<2)>>2]=s;c[501392+(v+3072<<2)>>2]=0-s;s=u>>5;c[501392+(t+3584<<2)>>2]=s;c[501392+(v+3584<<2)>>2]=0-s;s=u>>6;c[501392+(t+4096<<2)>>2]=s;c[501392+(v+4096<<2)>>2]=0-s;s=u>>7;c[501392+(t+4608<<2)>>2]=s;c[501392+(v+4608<<2)>>2]=0-s;s=u>>8;c[501392+(t+5120<<2)>>2]=s;c[501392+(v+5120<<2)>>2]=0-s;s=u>>9;c[501392+(t+5632<<2)>>2]=s;c[501392+(v+5632<<2)>>2]=0-s;u=u>>10;c[501392+(t+6144<<2)>>2]=u;c[501392+(v+6144<<2)>>2]=0-u}while((b|0)!=256);b=0;do{w=+D(+(+(b<<1|1|0)*3.141592653589793*.0009765625));v=~~(+K(+((w>0.0?1.0:-1.0)/w))*8.0/.6931471805599453*32.0*2.0);c[497296+(b<<2)>>2]=(v<<1&2)+v&-2|!(w>=0.0)&1;b=b+1|0}while((b|0)!=1024);e=0;do{f=e<<5;g=e+8|0;h=e+16|0;i=e+24|0;j=e+32|0;k=e+40|0;l=e+48|0;v=0;do{m=(v<<8)+f|0;n=(v&1|0)==0;o=(v&2|0)==0;p=(v&4|0)==0;q=(v&8|0)==0;r=(v&16|0)==0;s=(v&32|0)==0;t=(v&64|0)==0;u=0;do{if(n)b=0;else b=a[28688+(e<<3)+u>>0]|0;if(!o)b=(d[28688+(g<<3)+u>>0]|0)+(b&255)&255;if(!p)b=(d[28688+(h<<3)+u>>0]|0)+(b&255)&255;if(!q)b=(d[28688+(i<<3)+u>>0]|0)+(b&255)&255;if(!r)b=(d[28688+(j<<3)+u>>0]|0)+(b&255)&255;if(!s)b=(d[28688+(k<<3)+u>>0]|0)+(b&255)&255;if(!t)b=(d[28688+(l<<3)+u>>0]|0)+(b&255)&255;x=b&255;z=u+m|0;c[366224+(z<<2)>>2]=x;b=(u^7)+m|0;c[366224+(b+8<<2)>>2]=x;x=0-x|0;c[366224+(z+16<<2)>>2]=x;c[366224+(b+24<<2)>>2]=x;u=u+1|0}while((u|0)!=8);v=v+1|0}while((v|0)!=128);e=e+1|0}while((e|0)!=8);return}function mg(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432161]|0){case 1:{yg(b,d);return}case 0:{zg(b,d);return}default:return}}function ng(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432161]|0){case 1:{vg(b,d,e);return}case 0:{wg(b,d,e);return}default:return}}function og(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3432161]|0){case 1:{b=tg(b)|0;break a}case 0:{b=(ug(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function pg(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3432161]|0){case 1:{qg(b);return}case 0:{rg(b);return}default:return}}function qg(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+72>>2]=1;d=b+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+32>>2]=-1;sg(b,0,0);sg(b,1,0);sg(b,2,0);sg(b,3,0);sg(b,4,0);sg(b,5,0);sg(b,6,0);sg(b,7,0);sg(b,8,0);sg(b,9,0);sg(b,10,0);sg(b,11,0);sg(b,12,0);sg(b,13,0);c[b+4>>2]=1;if(!(a[b+1049268>>0]&32))return;a[b+1049269>>0]=1;return}function rg(b){b=b|0;var d=0,e=0;c[b+156>>2]=0;d=b+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+68>>2]=4096;c[b+92>>2]=0;c[b+104>>2]=0;c[b+80>>2]=0;c[b+72>>2]=4096;c[b+96>>2]=0;c[b+108>>2]=0;c[b+84>>2]=0;c[b+76>>2]=4096;c[b+100>>2]=0;c[b+112>>2]=0;c[b+88>>2]=0;c[b+140>>2]=0;d=b+4|0;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[b+252>>2]=0;c[b+204>>2]=65535;c[b+208>>2]=64;c[b+212>>2]=0;c[b+160>>2]=0;c[b+164>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;c[b+188>>2]=1;c[b+36>>2]=0;return}function sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;a[b+16+e>>0]=f;switch(e|0){case 7:{if((f&63|0)!=63)a[b+1049269>>0]=0;c[b+32>>2]=d[b+23>>0];return}case 13:{e=a[b+29>>0]|0;if(!(e&4))h=0;else h=a[b+76>>0]|0;a[b+70>>0]=h;g=e&255;if(!(g&8)){f=h;e=1}else{f=e&2;e=g&1}a[b+68>>0]=e;a[b+69>>0]=f;g=a[b+76>>0]|0;a[b+60>>0]=g;a[b+71>>0]=0;c[b+64>>2]=g<<24>>24^h&255;return}default:return}}function tg(b){b=b|0;var d=0,e=0;e=c[b+12>>2]|0;if((e|0)<=15){d=a[b+16+e>>0]|0;if(!(a[b+1049268>>0]&16))d=a[18016+e>>0]&d}else d=0;return d&255|0}function ug(b){b=b|0;return a[(c[b+252>>2]|0)+(b+4)>>0]|0}function vg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+12>>2]=d&15;return}b=c[a+12>>2]|0;if((b|0)>15)return;sg(a,b,d);return}function wg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+252>>2]=d&31;return}else{xg(a,c[a+252>>2]|0,d);return}}function xg(b,e,f){b=b|0;e=e|0;f=f|0;if(e>>>0>15)return;a[b+4+e>>0]=f;switch(e|0){case 5:case 3:case 1:case 4:case 2:case 0:{c[b+92+(e>>>1<<2)>>2]=(a[(e|1)+(b+4)>>0]&15)<<8|(d[(e&-2)+(b+4)>>0]|0);return}case 6:{c[b+212>>2]=(f|0)==0?1:f<<1&62;return}case 7:{c[b+116>>2]=f&1;c[b+120>>2]=f&2;c[b+124>>2]=f&4;c[b+128>>2]=f&8;c[b+132>>2]=f&16;c[b+136>>2]=f&32;return}case 10:case 9:case 8:{c[b+80+(e+-8<<2)>>2]=f<<1;return}case 12:case 11:{c[b+196>>2]=(d[b+16>>0]|0)<<8|(d[b+15>>0]|0);return}case 13:{c[b+172>>2]=f>>>3&1;e=f>>>2&1;c[b+176>>2]=e;c[b+180>>2]=f>>>1&1;c[b+184>>2]=f&1;c[b+168>>2]=e;c[b+188>>2]=0;c[b+200>>2]=65536-(c[b+196>>2]|0);c[b+164>>2]=(e|0)==0?31:0;return}default:return}}function yg(b,d){b=b|0;d=d|0;var e=0;if((a[b+1049268>>0]&-16)<<24>>24==16?(c[c[b+8>>2]>>2]&16|0)!=0:0)d=(d|0)/2|0;e=c[b+1049272>>2]|0;if(!e)return;xa[e&31](c[b+1049276>>2]|0,(d|0)/8|0);return}function zg(a,b){a=a|0;b=b|0;c[a+52>>2]=b;Ag(a);return}function Ag(a){a=a|0;var b=0,d=0;if(!(c[a+64>>2]|0)){b=~~(+((c[a+52>>2]|0)>>>0)*16777216.0/(+((c[a+56>>2]|0)>>>0)*8.0))>>>0;a=a+60|0;c[a>>2]=b;return}else{c[a+216>>2]=2147483648/((c[a+56>>2]|0)>>>0)|0;c[a+224>>2]=2147483648/((c[a+52>>2]|0)>>>3>>>0)|0;c[a+220>>2]=0;d=16777216;b=a+60|0;c[b>>2]=d;return}}function Bg(a){a=a|0;c[a+64>>2]=0;Ag(a);return}function Cg(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+8|0;f=a+92|0;e=a+84|0;b=a+96|0;Dg(+(c[(c[d>>2]|0)+4>>2]|0),c[f>>2]|0,a+100|0,c[e>>2]|0);Dg(+(c[(c[d>>2]|0)+4>>2]|0),c[b>>2]|0,a+292|0,0);Dg(+(c[(c[d>>2]|0)+8>>2]|0),c[f>>2]|0,a+164|0,c[e>>2]|0);Dg(+(c[(c[d>>2]|0)+8>>2]|0),c[b>>2]|0,a+420|0,0);Dg(+(c[(c[d>>2]|0)+12>>2]|0),c[f>>2]|0,a+228|0,c[e>>2]|0);Dg(+(c[(c[d>>2]|0)+12>>2]|0),c[b>>2]|0,a+548|0,0);return}function Dg(a,b,d,e){a=+a;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;p=k;k=k+256|0;n=p;o=b+16|0;m=c[o>>2]|0;if((m|0)<=0){k=p;return}j=1.0/a+1.0/+h[b+8>>3];i=(e|0)!=0;g=0.0;l=10.0;e=0;do{f=1.0/+h[b+24+(e<<3)>>3];a=j+f;if(!(i&(e|0)==0)){q=1.0/+h[b>>3];f=f+q;a=a+q}q=f/a;h[n+(e<<3)>>3]=q;l=qg?q:g;e=e+1|0}while((e|0)!=(m|0));a=g-l;e=0;do{c[d+(e<<2)>>2]=~~((+h[n+(e<<3)>>3]-l)/a*16384.0/3.0);e=e+1|0}while((e|0)<(c[o>>2]|0));k=p;return}function Eg(b){b=b|0;var d=0;b=b&255;Fg(c[528016+(b*28|0)>>2]|0);b=528016+(b*28|0)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3432161]|0){case 1:{Gg(d);break}case 0:{Hg(d);break}default:{}}c[b>>2]=0;return}function Fg(a){a=a|0;fx(a);return}function Gg(a){a=a|0;fx(a);return}function Hg(a){a=a|0;fx(a);return}function Ig(a){a=a|0;Jg(c[528016+((a&255)*28|0)>>2]|0);return}function Jg(a){a=a|0;var b=0,d=0;b=a+256|0;Kg(b,0,1);d=a+264|0;wa[c[(c[a+1352>>2]|0)+12>>2]&31](c[d>>2]|0);Lg(d,3);Mg(b,39,48);c[a+1444>>2]=0;c[a+1440>>2]=0;Ng(d,255);Og(d,a+17976|0,3);a=178;while(1){Pg(b,a,0);if(a>>>0>48)a=a+-1|0;else break}Pg(b,38,0);Pg(b,37,0);Pg(b,36,0);Pg(b,35,0);Pg(b,34,0);Pg(b,33,0);Pg(b,32,0);return}function Kg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;switch(d|0){case 0:{a[b+44>>0]=2;d=2;break}case 47:{a[b+44>>0]=0;d=0;break}case 45:{f=b+44|0;d=a[f>>0]|2;a[f>>0]=d;break}case 46:{f=b+44|0;d=a[f>>0]|1;a[f>>0]=d;break}default:d=a[b+44>>0]|0}f=d&3;d=M(c[18288+(f<<2)>>2]|0,e)|0;Yg(b,d,d,M(c[18304+(f<<2)>>2]|0,e)|0);return}function Lg(b,c){b=b|0;c=c|0;a[b+30>>0]=c;Wf(b,0);Ng(b,0);return}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;switch(d|0){case 40:{d=e&3;if((d|0)==3)return;if(e&4)d=(a[b>>0]&4)==0?d:d+3|0;d=(c[b+1132>>2]|0)+((d&255)*380|0)|0;if(!(e&16))Yf(d,0);else Xf(d,0);if(!(e&32))Yf(d,2);else Xf(d,2);if(!(e&64))Yf(d,1);else Xf(d,1);if(!(e&128)){Yf(d,3);return}else{Xf(d,3);return}}case 34:{if(!(a[b>>0]&2))return;if(!(e&8)){c[b+17600>>2]=0;return}else{c[b+17600>>2]=c[b+17604+((e&7)<<2)>>2];return}}case 36:{b=b+48|0;c[b>>2]=c[b>>2]&3|e<<2;return}case 37:{b=b+48|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 38:{a[b+56>>0]=e;return}case 39:{b=b+8|0;Xg(b,c[b>>2]|0,e);return}default:return}}function Ng(b,e){b=b|0;e=e|0;var f=0;f=b+31|0;e=(e^255)&d[f>>0];a[f>>0]=e;f=b+29|0;if(!(a[f>>0]|0))return;if(e&d[b+30>>0]|0)return;a[f>>0]=0;e=c[b+1084>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,0);return}function Og(b,d,e){b=b|0;d=d|0;e=e|0;c[b+32>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;a[b+48>>0]=0;c[b+52>>2]=0;b=0;do{c[d+(b*380|0)+352>>2]=0;c[d+(b*380|0)+324>>2]=0;c[d+(b*380|0)+328>>2]=0;c[d+(b*380|0)+364>>2]=0;c[d+(b*380|0)+36>>2]=-1;c[d+(b*380|0)+72>>2]=0;c[d+(b*380|0)+32>>2]=0;a[d+(b*380|0)+68>>0]=0;a[d+(b*380|0)+69>>0]=0;a[d+(b*380|0)+40>>0]=0;c[d+(b*380|0)+48>>2]=1023;c[d+(b*380|0)+56>>2]=1023;c[d+(b*380|0)+116>>2]=-1;c[d+(b*380|0)+152>>2]=0;c[d+(b*380|0)+112>>2]=0;a[d+(b*380|0)+148>>0]=0;a[d+(b*380|0)+149>>0]=0;a[d+(b*380|0)+120>>0]=0;c[d+(b*380|0)+128>>2]=1023;c[d+(b*380|0)+136>>2]=1023;c[d+(b*380|0)+196>>2]=-1;c[d+(b*380|0)+232>>2]=0;c[d+(b*380|0)+192>>2]=0;a[d+(b*380|0)+228>>0]=0;a[d+(b*380|0)+229>>0]=0;a[d+(b*380|0)+200>>0]=0;c[d+(b*380|0)+208>>2]=1023;c[d+(b*380|0)+216>>2]=1023;c[d+(b*380|0)+276>>2]=-1;c[d+(b*380|0)+312>>2]=0;c[d+(b*380|0)+272>>2]=0;a[d+(b*380|0)+308>>0]=0;a[d+(b*380|0)+309>>0]=0;a[d+(b*380|0)+280>>0]=0;c[d+(b*380|0)+288>>2]=1023;c[d+(b*380|0)+296>>2]=1023;b=b+1|0}while((b|0)!=(e|0));return}function Pg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d&3;if((f|0)==3)return;l=(d|0)>255?f+3|0:f;i=b+1132|0;j=c[i>>2]|0;k=j+(l*380|0)|0;f=d>>>2;g=f&3;h=j+(l*380|0)+(g*80|0)|0;do switch(((d&240)+-48|0)>>>4&268435455|0){case 0:{Qg(b+8|0,k,h,e);return}case 1:{Rg(h,e);return}case 2:{Sg(k,h,e);return}case 3:{Tg(h,e);if(!(a[b>>0]&2))return;c[j+(l*380|0)+(g*80|0)+76>>2]=e<<24>>31;return}case 4:{Ug(h,e);return}case 5:{Vg(h,e);return}case 6:{a[j+(l*380|0)+(g*80|0)+68>>0]=e&15;a[j+(l*380|0)+(g*80|0)+69>>0]=e>>>1&2;return}case 7:{switch(f&3){case 0:{k=a[b+45>>0]|0;d=((k&255)<<8&1792)+e|0;k=(k&255)>>>3;e=k&255;a[j+(l*380|0)+368>>0]=k<<2&255|a[28416+(d>>>7)>>0];c[j+(l*380|0)+364>>2]=(c[b+1200+(d<<1<<2)>>2]|0)>>>(7-e|0);c[j+(l*380|0)+372>>2]=d|e<<11;c[j+(l*380|0)+36>>2]=-1;return}case 1:{a[b+45>>0]=e&63;return}case 2:{if((d|0)>=256)return;k=a[b+1116>>0]|0;d=((k&255)<<8&1792)+e|0;k=(k&255)>>>3;e=k&255;a[b+1117+l>>0]=k<<2&255|a[28416+(d>>>7)>>0];c[b+1104+(l<<2)>>2]=(c[b+1200+(d<<1<<2)>>2]|0)>>>(7-e|0);c[b+1120+(l<<2)>>2]=d|e<<11;c[(c[i>>2]|0)+796>>2]=-1;return}case 3:{if((d|0)>=256)return;a[b+1116>>0]=e&63;return}default:{}}break}case 8:switch(f&3){case 0:{d=e>>>3&7;a[j+(l*380|0)+320>>0]=e&7;a[j+(l*380|0)+321>>0]=(d|0)==0?0:d+6&255;Wg(b,k,l);return}case 1:{if(!(a[b>>0]&2))return;c[j+(l*380|0)+356>>2]=e<<5&224;a[j+(l*380|0)+360>>0]=a[45603+(e>>>4&3)>>0]|0;d=l<<1;c[b+1136+(d<<2)>>2]=e<<24>>31;c[b+1136+((d|1)<<2)>>2]=e<<25>>31;return}default:return}default:return}while(0)}function Qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=e&15;c[d+28>>2]=(f|0)==0?1:f<<1;c[d>>2]=a+56+((e>>>4&7)<<7);c[b+36>>2]=-1;return}function Rg(a,b){a=a|0;b=b|0;c[a+44>>2]=b<<3&1016;return}function Sg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+4|0;i=a[j>>0]|0;g=f&31;g=(g|0)==0?0:(g<<1)+32|0;h=e+8|0;c[h>>2]=g;f=3-(f>>>6)&255;a[j>>0]=f;if(i<<24>>24!=f<<24>>24){c[b+36>>2]=-1;g=c[h>>2]|0}g=g+(d[e+24>>0]|0)|0;if(g>>>0>=94){i=-120;f=0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}i=a[17888+g>>0]|0;f=a[17760+g>>0]|0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}function Tg(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+12>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+62>>0]=a[17760+e>>0]|0;a[b+63>>0]=a[17888+e>>0]|0;return}function Ug(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+16>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+64>>0]=a[17760+e>>0]|0;a[b+65>>0]=a[17888+e>>0]|0;return}function Vg(b,e){b=b|0;e=e|0;c[b+52>>2]=c[29136+(e>>4<<2)>>2];e=(e<<2&60)+34|0;c[b+20>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+66>>0]=a[17760+e>>0]|0;a[b+67>>0]=a[17888+e>>0]|0;return}function Wg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+17652+(e<<2)|0;e=d+332|0;f=d+336|0;g=d+340|0;i=d+348|0;switch(a[d+320>>0]|0){case 0:{c[e>>2]=b+17640;c[g>>2]=b+17648;c[f>>2]=b+17644;e=b+17636|0;break}case 1:{j=b+17648|0;c[e>>2]=j;c[g>>2]=j;c[f>>2]=b+17644;e=b+17636|0;break}case 2:{j=b+17644|0;c[e>>2]=j;c[g>>2]=b+17648;c[f>>2]=j;e=b+17636|0;break}case 3:{c[e>>2]=b+17640;c[g>>2]=b+17648;e=b+17644|0;c[f>>2]=e;break}case 4:{c[e>>2]=b+17640;c[g>>2]=h;c[f>>2]=b+17644;e=b+17648|0;break}case 5:{c[e>>2]=0;c[g>>2]=h;c[f>>2]=h;e=b+17636|0;break}case 6:{c[e>>2]=b+17640;c[g>>2]=h;c[f>>2]=h;e=b+17648|0;break}case 7:{c[e>>2]=h;c[g>>2]=h;c[f>>2]=h;e=b+17648|0;break}default:{j=d+344|0;c[j>>2]=h;return}}c[i>>2]=e;j=d+344|0;c[j>>2]=h;return}function Xg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[a+32>>2]=e;if(e&32|0)Ng(a,2);if(e&16|0)Ng(a,1);f=a+52|0;g=(c[f>>2]|0)==0;if(!(e&2)){if(!g?(c[f>>2]=0,j=c[a+1080>>2]|0,j|0):0)za[j&63](b,1,0,c[a+4>>2]|0)}else if(g?(h=4096-((d[a+48>>0]|0)<<4)|0,c[f>>2]=h,i=c[a+1080>>2]|0,i|0):0){j=M(c[a+24>>2]|0,h)|0;za[i&63](b,1,j,c[a+4>>2]|0)}h=a+44|0;f=(c[h>>2]|0)==0;if(!(e&1)){if(f)return;c[h>>2]=0;f=c[a+1080>>2]|0;if(!f)return;za[f&63](b,0,0,c[a+4>>2]|0);return}else{if(!f)return;g=1024-(c[a+40>>2]|0)|0;c[h>>2]=g;f=c[a+1080>>2]|0;if(!f)return;e=M(c[a+24>>2]|0,g)|0;za[f&63](b,0,e,c[a+4>>2]|0);return}}function Yg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0;i=a+8|0;g=c[a+16>>2]|0;if(!g)f=0.0;else f=+(c[a+12>>2]|0)/+(g|0)/+(b|0);b=a+24|0;h[b>>3]=f;c[a+1192>>2]=~~(f*65536.0)>>>0;c[a+1196>>2]=196608;c[a+32>>2]=d;if(e|0)xa[c[c[a+1096>>2]>>2]&31](c[i>>2]|0,(c[a+12>>2]<<1|0)/(e|0)|0);Zg(i);f=+h[b>>3];b=0;do{c[a+1200+(b<<2)>>2]=~~(+(b|0)*32.0*f*64.0)>>>0;b=b+1|0}while((b|0)!=4096);c[a+17584>>2]=~~(f*131072.0*64.0)>>>0;c[a+17604>>2]=~~(f*155344.59259259258)>>>0;c[a+17608>>2]=~~(f*217885.9220779221)>>>0;c[a+17612>>2]=~~(f*236298.81690140846)>>>0;c[a+17616>>2]=~~(f*250406.20895522388)>>>0;c[a+17620>>2]=~~(f*270600.2580645161)>>>0;c[a+17624>>2]=~~(f*381300.36363636365)>>>0;c[a+17628>>2]=~~(f*2097152.0)>>>0;c[a+17632>>2]=~~(f*3355443.2)>>>0;return}function Zg(a){a=a|0;var b=0,e=0.0,f=0;e=+h[a+16>>3];b=0;do{f=~~(e*(+(d[29232+b>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+56+(b<<2)>>2]=f;c[a+568+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[29232+(b+32)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+184+(b<<2)>>2]=f;c[a+696+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[29232+(b+64)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+312+(b<<2)>>2]=f;c[a+824+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[29232+(b+96)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+440+(b<<2)>>2]=f;c[a+952+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);return}function _g(a,b,d){a=a|0;b=b|0;d=d|0;$g(c[528016+((a&255)*28|0)>>2]|0,b&1,d);return}function $g(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=b+256|0;if(!(e&1)){a[b+292>>0]=f;e=f&255;if((f&255)<16){ya[c[(c[b+1352>>2]|0)+4>>2]&63](c[b+264>>2]|0,0,e);return}if((f+-45&255)>=3)return;Kg(i,e,1);return}else{g=b+264|0;h=d[b+292>>0]|0;a[b+h>>0]=f;switch((h&240)<<24>>24){case 0:{ya[c[(c[b+1352>>2]|0)+4>>2]&63](c[g>>2]|0,e,f&255);return}case 32:{Nf(c[g>>2]|0);Mg(i,h,f&255);return}default:{Nf(c[g>>2]|0);Pg(i,h,f&255);return}}}}function ah(b){b=b|0;a[3432161]=(b&255)<2?b:0;return}function bh(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;ch(c[528016+(b*28|0)>>2]|0,d);b=c[528016+(b*28|0)+4>>2]|0;if(!b)return;switch(a[3432161]|0){case 1:{dh(b,e);return}case 0:{eh(b,e);return}default:return}}function ch(b,c){b=b|0;c=c|0;a[b+18352>>0]=c&1;a[b+18732>>0]=c>>>1&1;a[b+19112>>0]=c>>>2&1;return}function dh(a,b){a=a|0;b=b|0;c[a+1049256>>2]=(b&1)+-1;c[a+1049260>>2]=(b>>>1&1)+-1;c[a+1049264>>2]=(b>>>2&1)+-1;return}function eh(a,b){a=a|0;b=b|0;if(!a)return;c[a+140>>2]=b;return}function fh(b,d){b=b|0;d=d|0;b=c[528016+((b&255)*28|0)+4>>2]|0;if(!((b|0)!=0&(a[3432161]|0)==1))return;gh(b,d);return}function gh(a,b){a=a|0;b=b|0;c[a+1049272>>2]=5;c[a+1049276>>2]=b;return}function hh(b,d,e){b=b|0;d=d|0;e=e|0;b=528656+((b&255)<<3)|0;switch(a[3432162]|0){case 1:{ih(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{jh(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function ih(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((f|0)<=0)return;q=b+6008|0;r=b+6012|0;s=b+184|0;t=b+368|0;h=b+552|0;i=b+736|0;j=b+920|0;k=b+5986|0;l=(a[b+1688>>0]&32)==0;m=b+1104|0;n=b+1288|0;o=b+1472|0;p=b+1716|0;g=0;do{c[q>>2]=0;c[r>>2]=0;wh(b);xh(b,b);xh(b,s);xh(b,t);xh(b,h);xh(b,i);xh(b,j);do if(!(a[k>>0]|0))if(l){xh(b,m);xh(b,n);xh(b,o);break}else{yh(b,b,c[p>>2]&1);break}while(0);u=(c[r>>2]|0)+(c[q>>2]|0)|0;c[d+(g<<2)>>2]=u;c[e+(g<<2)>>2]=u;zh(b);g=g+1|0}while((g|0)!=(f|0));return}function jh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+16|0;m=t;if((e|0)<=0){k=t;return}n=a+308|0;o=m+4|0;p=a+8|0;q=a+12|0;r=a+16|0;s=a+36|0;i=a+28|0;j=a+40|0;l=a+32|0;h=0;do{if(!(c[n>>2]|0)){kh(a,m);c[b+(h<<2)>>2]=c[m>>2];f=c[o>>2]|0}else{g=c[p>>2]|0;f=c[q>>2]|0;if(f>>>0>>0)do{c[q>>2]=(c[r>>2]|0)+f;c[i>>2]=c[s>>2];c[l>>2]=c[j>>2];kh(a,s);g=c[p>>2]|0;f=c[q>>2]|0}while(f>>>0>>0);g=f-g|0;c[q>>2]=g;f=c[r>>2]|0;c[b+(h<<2)>>2]=~~((+(c[s>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[i>>2]|0))/+(f>>>0));f=c[r>>2]|0;g=c[q>>2]|0;f=~~((+(c[j>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[l>>2]|0))/+(f>>>0))}c[d+(h<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));k=t;return}function kh(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;lh(b);mh(b);h=b+296|0;i=b+304|0;e=0;do{m=b+388+(e*76|0)|0;nh(m,c[h>>2]|0);oh(m,c[i>>2]|0);e=e+1|0}while((e|0)!=18);m=b+3740|0;j=0;h=0;i=0;do{do if((c[m>>2]&1<>2]|0)!=7):0){e=qh(b+388+(l*76|0)|0,ph(b+388+(k*76|0)|0)|0)|0;f=+g[b+44+(i<<3)>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+44+(i<<3)+4>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);i=i+1|0}while((i|0)!=6);if(a[b>>0]|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=c[m>>2]|0;do if((c[b+340>>2]|0)<16){if((e&64|0)==0?(c[b+1436>>2]|0)!=7:0){e=qh(b+1376|0,ph(b+1300|0)|0)|0;f=+g[b+92>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+96>>2]*n)|0;h=h+~~(f*n)|0;break}}}else if((e&8192|0)==0?(c[b+1436>>2]|0)!=7:0){e=(qh(b+1376|0,ph(b+1300|0)|0)|0)<<1;f=+g[b+116>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+120>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);i=c[m>>2]|0;do if((c[b+344>>2]|0)<16){if((i&128|0)==0?(c[b+1588>>2]|0)!=7:0){e=qh(b+1528|0,ph(b+1452|0)|0)|0;f=+g[b+100>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+104>>2]*n)|0;h=h+~~(f*n)|0;break}}}else{do if((i&512|0)==0?(c[b+1512>>2]|0)!=7:0){e=(rh(b+1452|0,c[b+1712>>2]|0,c[b+312>>2]&1)|0)<<1;f=+g[b+124>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+128>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);if((i&4096|0)==0?(c[b+1588>>2]|0)!=7:0){e=(sh(b+1528|0,c[b+312>>2]&1)|0)<<1;f=+g[b+132>>2];if(f==1.0){j=j-e|0;h=h-e|0;break}else{n=+(0-e|0);j=j+~~(+g[b+136>>2]*n)|0;h=h+~~(f*n)|0;break}}}while(0);i=c[m>>2]|0;if((c[b+348>>2]|0)<16){if(i&256|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}if((c[b+1740>>2]|0)==7){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=qh(b+1680|0,ph(b+1604|0)|0)|0;f=+g[b+108>>2];if(f==1.0){b=e+j|0;m=e+h|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}else{n=+(e|0);b=j+~~(+g[b+112>>2]*n)|0;m=h+~~(f*n)|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}}do if((i&2048|0)==0?(c[b+1664>>2]|0)!=7:0){e=(th(b+1604|0)|0)<<1;f=+g[b+140>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+144>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);if(i&1024|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}if((c[b+1740>>2]|0)==7){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=(uh(b+1680|0,c[b+1484>>2]|0)|0)<<1;f=+g[b+148>>2];if(f==1.0){b=j-e|0;m=h-e|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}else{n=+(0-e|0);b=j+~~(+g[b+152>>2]*n)|0;m=h+~~(f*n)|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}}function lh(a){a=a|0;var b=0,d=0,e=0;e=a+292|0;b=(c[857736]|0)+(c[e>>2]|0)&65535;c[e>>2]=b;e=a+300|0;d=(c[857737]|0)+(c[e>>2]|0)&65535;c[e>>2]=d;c[a+304>>2]=c[533024+(d>>>8<<2)>>2];c[a+296>>2]=c[534048+(b>>>8<<2)>>2];return}function mh(a){a=a|0;var b=0;b=a+312|0;a=c[b>>2]|0;if(a&1){a=a^134230048;c[b>>2]=a}c[b>>2]=a>>>1;return}function nh(a,b){a=a|0;b=b|0;var d=0;d=c[a+28>>2]|0;if(!(c[(c[a>>2]|0)+44>>2]|0)){b=a+24|0;d=(c[b>>2]|0)+d|0;c[b>>2]=d}else{d=(M(d,b)|0)>>>8;b=a+24|0;d=(c[b>>2]|0)+d|0;c[b>>2]=d}d=d&262143;c[b>>2]=d;c[a+32>>2]=d>>>9;return}function oh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+60|0;a:do switch(c[j>>2]|0){case 1:{e=a+64|0;i=c[e>>2]|0;f=b[530720+(i>>>15<<1)>>1]|0;g=a+68|0;i=(c[g>>2]|0)+i|0;c[e>>2]=i;if((i&4194304|0)==0?(c[(c[a>>2]|0)+16>>2]|0)!=15:0){e=f&65535;break a}c[e>>2]=0;c[j>>2]=2;c[g>>2]=vh(a)|0;e=0;break}case 2:{f=a+64|0;k=c[f>>2]|0;e=k>>>15;g=a+68|0;k=(c[g>>2]|0)+k|0;c[f>>2]=k;h=c[a>>2]|0;i=c[18320+(c[h+24>>2]<<2)>>2]|0;if(k>>>0>=i>>>0){k=(c[h+8>>2]|0)==0;c[f>>2]=i;if(k){c[j>>2]=4;c[g>>2]=vh(a)|0;break a}else{c[j>>2]=3;c[g>>2]=vh(a)|0;break a}}break}case 3:{e=(c[a+64>>2]|0)>>>15;if(!(c[(c[a>>2]|0)+8>>2]|0)){c[j>>2]=4;c[a+68>>2]=vh(a)|0}break}case 5:case 4:{k=a+64|0;e=c[k>>2]|0;c[k>>2]=(c[a+68>>2]|0)+e;if(e>>>0>4194303){c[j>>2]=7;e=127}else e=e>>>15;break}case 6:{k=a+64|0;e=c[k>>2]|0;f=a+68|0;c[k>>2]=(c[f>>2]|0)+e;if(e>>>0>4194303){c[j>>2]=1;c[f>>2]=vh(a)|0;e=127}else e=e>>>15;break}default:e=127}while(0);k=((c[a+52>>2]|0)+e<<1)+((c[(c[a>>2]|0)+40>>2]|0)==0?0:d)|0;c[a+72>>2]=(k>>>0<255?k:255)|3;return}function ph(a){a=a|0;var d=0,f=0,g=0,h=0;f=a+12|0;g=c[f>>2]|0;c[a+16>>2]=g;h=c[a+72>>2]|0;if(h>>>0>254){h=0;c[f>>2]=h;h=h+g|0;h=h>>1;g=a+8|0;c[g>>2]=h;return h|0}d=c[(c[a>>2]|0)+4>>2]|0;if(!d)d=(c[a+20>>2]|0)+(c[a+32>>2]<<1)|0;else d=(c[a+20>>2]|0)+(((c[a+32>>2]|0)+(c[a+8>>2]<<2>>7-d)&511)<<1)|0;h=b[528672+(h+(e[d>>1]|0)<<1)>>1]|0;c[f>>2]=h;h=h+g|0;h=h>>1;g=a+8|0;c[g>>2]=h;return h|0}function qh(a,d){a=a|0;d=d|0;var f=0;f=c[a+72>>2]|0;if(f>>>0>254)d=0;else d=b[528672+(f+(e[(c[a+20>>2]|0)+(((c[a+32>>2]|0)+(d<<3)&511)<<1)>>1]|0)<<1)>>1]|0;c[a+12>>2]=d;f=a+16|0;a=d+(c[f>>2]|0)>>1;c[f>>2]=a;return a|0}function rh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;f=c[a+72>>2]|0;if(f>>>0>254){f=0;return f|0}a=c[a+32>>2]|0;e=(e|0)!=0;f=b[528672+((((a>>>1^a>>>8|a>>>2)&1|0)==((d>>>4&1^1)&d>>>2|0)?(e?64:128):e?576:640)+f<<1)>>1]|0;return f|0}function sh(a,d){a=a|0;d=d|0;var e=0;e=c[a+72>>2]|0;if(e>>>0>254){e=0;return e|0}d=(d|0)!=0;e=b[528672+(e+((c[a+32>>2]&128|0)==0?(d?512:592):d?0:80)<<1)>>1]|0;return e|0}function th(a){a=a|0;var d=0;d=c[a+72>>2]|0;if(d>>>0>254){d=0;return d|0}d=b[528672+(d+(e[(c[a+20>>2]|0)+(c[a+32>>2]<<1)>>1]|0)<<1)>>1]|0;return d|0}function uh(a,d){a=a|0;d=d|0;var e=0;e=c[a+72>>2]|0;if(e>>>0>254){e=0;return e|0}a=c[a+32>>2]|0;e=b[528672+((((d>>>1^d>>>8|d>>>2)&1|0)==((a>>>4&1^1)&a>>>2|0)?16:528)+e<<1)>>1]|0;return e|0}function vh(a){a=a|0;var b=0;switch(c[a+60>>2]|0){case 1:{b=c[530976+(c[(c[a>>2]|0)+16>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 2:{b=c[532e3+(c[(c[a>>2]|0)+20>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 6:{b=c[133240]|0;return b|0}case 4:{b=c[532e3+(c[(c[a>>2]|0)+28>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 5:{if(c[a+48>>2]|0){b=c[532320+(c[a+56>>2]<<2)>>2]|0;return b|0}b=c[a>>2]|0;if(!(c[b+8>>2]|0)){b=c[532448+(c[a+56>>2]<<2)>>2]|0;return b|0}else{b=c[532e3+(c[b+28>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}}default:{b=0;return b|0}}return 0}function wh(a){a=a|0;var b=0,e=0;b=a+1700|0;e=(c[b>>2]|0)+(c[a+1704>>2]|0)|0;e=e>>>0>3523215359?e+771751936|0:e;c[b>>2]=e;c[a+1692>>2]=(d[29616+(e>>>24)>>0]|0)>>>1;e=a+1708|0;b=(c[e>>2]|0)+(c[a+1712>>2]|0)|0;c[e>>2]=b;c[a+1696>>2]=b>>>24&7;return}function xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(a[d+182>>0]|0)return;h=b+1692|0;e=(c[d+48>>2]|0)+(c[d+44>>2]|0)+(c[d+72>>2]&c[h>>2])|0;j=d+28|0;f=c[j>>2]|0;g=d+32|0;i=c[g>>2]|0;c[j>>2]=i;c[g>>2]=0;if(e>>>0<176){j=a[d+24>>0]|0;c[g>>2]=Ah(c[d+16>>2]|0,e,(j<<24>>24==0?0:i+f|0)<<(j&255),c[d+80>>2]|0)|0}f=b+6016|0;c[f>>2]=0;e=(c[d+132>>2]|0)+(c[d+128>>2]|0)+(c[d+156>>2]&c[h>>2])|0;if(e>>>0>=176)return;j=Bh(c[d+100>>2]|0,e,i,c[d+164>>2]|0)|0;i=b+6008|0;c[i>>2]=(c[i>>2]|0)+j;c[f>>2]=j;return}function yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+1692|0;f=(c[d+1152>>2]|0)+(c[d+1148>>2]|0)+(c[d+1176>>2]&c[i>>2])|0;k=d+1132|0;g=c[k>>2]|0;h=d+1136|0;j=c[h>>2]|0;c[k>>2]=j;c[h>>2]=0;if(f>>>0<176){k=a[d+1128>>0]|0;c[h>>2]=Ah(c[d+1120>>2]|0,f,(k<<24>>24==0?0:j+g|0)<<(k&255),c[d+1184>>2]|0)|0}g=c[i>>2]|0;f=(c[d+1236>>2]|0)+(c[d+1232>>2]|0)+(c[d+1260>>2]&g)|0;if(f>>>0<176?(a[b+1665>>0]|0)==0:0){j=(Bh(c[d+1204>>2]|0,f,j,c[d+1268>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+j}f=(c[b+1336>>2]|0)+(c[b+1332>>2]|0)+(c[b+1360>>2]&g)|0;if(f>>>0<176?(a[b+1669>>0]|0)==0:0){j=c[b+1304>>2]|0;k=c[b+1572>>2]|0;j=((k>>>21|j>>>19|k>>>19|j>>>18^j>>>23)&1|0)==0?208:564;k=(e|0)!=0;j=(Bh(((j&512|0)==0?(k?52:j):k?720:j)<<16,f,0,c[b+1368>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+j}f=(c[b+1420>>2]|0)+(c[b+1416>>2]|0)+(c[b+1444>>2]&g)|0;if(f>>>0<176?(a[b+1666>>0]|0)==0:0){k=(c[b+1304>>2]&16777216)+16777216|0;e=(Bh((e|0)==0?k:k^16777216,f,0,c[b+1452>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e}f=(c[b+1520>>2]|0)+(c[b+1516>>2]|0)+(c[b+1544>>2]&g)|0;if(f>>>0<176?(a[b+1667>>0]|0)==0:0){e=(Bh(c[b+1488>>2]|0,f,0,c[b+1552>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e}f=(c[b+1604>>2]|0)+(c[b+1600>>2]|0)+(c[b+1628>>2]&g)|0;if(f>>>0>=176)return;if(a[b+1668>>0]|0)return;e=c[b+1304>>2]|0;k=c[b+1572>>2]|0;e=(Bh(((k>>>19|k>>>21)&1|0)==0?(e>>>18^e>>>23|e>>>19)<<25&33554432|16777216:50331648,f,0,c[b+1636>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e;return}function zh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=b+1676|0;f=(c[m>>2]|0)+(c[b+1680>>2]|0)|0;c[m>>2]=f;p=b+1684|0;e=c[p>>2]|0;if(f>>>0>=e>>>0){q=b+1672|0;l=b+1688|0;do{c[m>>2]=f-e;c[q>>2]=(c[q>>2]|0)+1;h=0;do{i=h>>>1;j=h&1;k=b+(i*184|0)+(j*84|0)+37|0;a:do switch(a[k>>0]|0){case 5:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+56>>0]|0;if(((1<>2]|0)+(d[29360+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+57>>0]|0))>>0]|0)|0,c[n>>2]=g,(g|0)>254):0){c[n>>2]=255;a[k>>0]=4;c[b+(i*184|0)+(j*84|0)+16>>2]=0}break}case 4:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+58>>0]|0;if(((1<>2]|0,j=((M(d[29360+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+59>>0]|0))>>0]|0,~g)|0)>>2)+g|0,c[o>>2]=j,(j|0)<1):0){c[o>>2]=0;a[k>>0]=3}break}case 3:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+60>>0]|0;if(((1<>2]|0)+(d[29360+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+61>>0]|0))>>0]|0)|0,c[t>>2]=g,g>>>0>=(c[b+(i*184|0)+(j*84|0)+52>>2]|0)>>>0):0)a[k>>0]=2;break}case 2:{if((a[b+(i*184|0)+(j*84|0)+36>>0]|0)==0?(r=c[q>>2]|0,s=d[b+(i*184|0)+(j*84|0)+62>>0]|0,((1<>2]|0)+(d[29360+((r>>>s&7)+(d[b+(i*184|0)+(j*84|0)+63>>0]|0))>>0]|0)|0;c[t>>2]=(k|0)<255?k:255}break}case 1:{if((j|0)==0?!(h>>>0>11&(a[l>>0]&32)!=0):0)break a;if(!(a[b+(i*184|0)+(j*84|0)+36>>0]|0)){e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+64>>0]|0;if((1<>2]|0)+(d[29360+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+65>>0]|0))>>0]|0)|0;c[g>>2]=t;if((t|0)<=254)break a;c[g>>2]=255;a[k>>0]=0;break a}g=c[q>>2]|0;if(!(a[b+(i*184|0)+181>>0]|0)){e=d[b+(i*184|0)+(j*84|0)+62>>0]|0;if((1<>2]|0)+(d[29360+((g>>>e&7)+(d[b+(i*184|0)+(j*84|0)+63>>0]|0))>>0]|0)|0;c[f>>2]=t;if((t|0)<=254)break a;c[f>>2]=255;a[k>>0]=0;break a}else{e=d[b+(i*184|0)+(j*84|0)+64>>0]|0;if((1<>2]|0)+(d[29360+((g>>>e&7)+(d[b+(i*184|0)+(j*84|0)+65>>0]|0))>>0]|0)|0;c[f>>2]=t;if((t|0)<=254)break a;c[f>>2]=255;a[k>>0]=0;break a}}default:{}}while(0);h=h+1|0}while((h|0)!=18);f=c[m>>2]|0;e=c[p>>2]|0}while(f>>>0>=e>>>0)}k=b+1696|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h*184|0)+(i*84|0)+76>>0]|0){e=c[b+(h*184|0)+168>>2]|0;f=a[18384+((e>>>3&56)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h*184|0)+(i*84|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*184|0)+(i*84|0)+20|0;break}else{g=(e<<1)+(f<<24>>24)|0;e=b+(h*184|0)+(i*84|0)+16|0;f=e;g=M((c[b+1888+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h*184|0)+(i*84|0)+15>>0]|0)|0;break}}else{g=b+(h*184|0)+(i*84|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*184|0)+(i*84|0)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=18);t=b+1720|0;s=(c[t>>2]|0)+(c[b+1724>>2]|0)|0;e=s>>>16;c[t>>2]=s&65535;if(!e)return;g=b+1716|0;f=c[g>>2]|0;do{t=f>>>1;f=(f&1|0)==0?t:t^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function Ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[535072+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<5)|0;if(a>>>0>5631){e=0;return e|0}e=c[543264+(a<<2)>>2]|0;return e|0}function Bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[535072+((((d<<17)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<5)|0;if(a>>>0>5631){e=0;return e|0}e=c[543264+(a<<2)>>2]|0;return e|0}function Ch(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((b&255)>1){f=0;return f|0}f=b&255;e=528656+(f<<3)|0;f=528656+(f<<3)+4|0;a[f>>0]=d>>>31;b=d&2147483647;d=(b>>>0)/72|0;h=a[3432185]|0;g=c[857788]|0;d=h<<24>>24==2|h<<24>>24==1&(d|0)<(g|0)?g:d;switch(a[3432162]|0){case 1:{b=Dh(b,d)|0;c[e>>2]=b;if(!b){h=0;return h|0}Eh(b,a[f>>0]|0);Gh(c[e>>2]|0,e);h=d;return h|0}case 0:{b=Hh(b,d)|0;c[e>>2]=b;if(!b){h=0;return h|0}Ih(b,a[f>>0]|0);if(!(a[f>>0]|0)){h=d;return h|0}Jh(c[e>>2]|0);h=d;return h|0}default:{h=d;return h|0}}return 0}function Dh(a,b){a=a|0;b=b|0;return Fi(a,b)|0}function Eh(b,c){b=b|0;c=c|0;a[b+5986>>0]=c;return}function Fh(b,d){b=b|0;d=d|0;switch(a[3432162]|0){case 1:{ih(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}case 0:{jh(c[b>>2]|0,c[857780]|0,c[857781]|0,0);return}default:return}}function Gh(a,b){a=a|0;b=b|0;Ei(a,b);return}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0;Lh(a,b);a=gx()|0;if(!a){e=0;return e|0}b=a+1756|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1808|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1860|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1912|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1964|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2016|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2068|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2120|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2172|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2224|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2276|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2328|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2380|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2432|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2484|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2536|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2588|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2640|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2692|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2744|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2796|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2848|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2900|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2952|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3004|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3056|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3108|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3160|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3212|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3264|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3316|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3368|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3420|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3472|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3524|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3576|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3628|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3680|0;d=3430952;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Mh(a+44|0);Mh(a+52|0);Mh(a+60|0);Mh(a+68|0);Mh(a+76|0);Mh(a+84|0);Mh(a+92|0);Mh(a+100|0);Mh(a+108|0);Mh(a+116|0);Mh(a+124|0);Mh(a+132|0);Mh(a+140|0);Mh(a+148|0);c[a+3740>>2]=0;Nh(a);Oh(a);e=a;return e|0}function Ih(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k;k=k+112|0;d=h;e=d+52|0;b=0;do{Kh(18448+(b<<3)|0,d);f=b<<1;g=a+1756+(f*52|0)|0;i=d;j=g+52|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=a+1756+((f|1)*52|0)|0;i=e;j=g+52|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=b+1|0}while((b|0)!=19);k=h;return}function Kh(b,e){b=b|0;e=e|0;var f=0,g=0;c[e+40>>2]=(d[b>>0]|0)>>>7;f=b+1|0;c[e+92>>2]=(d[f>>0]|0)>>>7;c[e+44>>2]=(d[b>>0]|0)>>>6&1;c[e+96>>2]=(d[f>>0]|0)>>>6&1;c[e+8>>2]=(d[b>>0]|0)>>>5&1;c[e+60>>2]=(d[f>>0]|0)>>>5&1;c[e+32>>2]=(d[b>>0]|0)>>>4&1;c[e+84>>2]=(d[f>>0]|0)>>>4&1;c[e+12>>2]=a[b>>0]&15;c[e+64>>2]=a[f>>0]&15;f=b+2|0;c[e+36>>2]=(d[f>>0]|0)>>>6;g=b+3|0;c[e+88>>2]=(d[g>>0]|0)>>>6;c[e>>2]=a[f>>0]&63;c[e+4>>2]=a[g>>0]&7;c[e+48>>2]=(d[g>>0]|0)>>>3&1;c[e+100>>2]=(d[g>>0]|0)>>>4&1;g=b+4|0;c[e+16>>2]=(d[g>>0]|0)>>>4;f=b+5|0;c[e+68>>2]=(d[f>>0]|0)>>>4;c[e+20>>2]=a[g>>0]&15;c[e+72>>2]=a[f>>0]&15;f=b+6|0;c[e+24>>2]=(d[f>>0]|0)>>>4;b=b+7|0;c[e+76>>2]=(d[b>>0]|0)>>>4;c[e+28>>2]=a[f>>0]&15;c[e+80>>2]=a[b>>0]&15;return}function Lh(a,b){a=a|0;b=b|0;if((c[11081]|0)!=(a|0)){c[11081]=a;oi();pi();qi();ri();si();ti();ui();vi()}if((c[11080]|0)==(b|0))return;c[11080]=b;wi();return}function Mh(a){a=a|0;g[a+4>>2]=1.0;g[a>>2]=1.0;return}function Nh(b){b=b|0;var d=0;if(!b)return;a[b+1>>0]=0;c[b+4>>2]=0;c[b+292>>2]=0;c[b+300>>2]=0;c[b+312>>2]=65535;Qh(b+388|0,0);Qh(b+464|0,1);Qh(b+540|0,0);Qh(b+616|0,1);Qh(b+692|0,0);Qh(b+768|0,1);Qh(b+844|0,0);Qh(b+920|0,1);Qh(b+996|0,0);Qh(b+1072|0,1);Qh(b+1148|0,0);Qh(b+1224|0,1);Qh(b+1300|0,0);Qh(b+1376|0,1);Qh(b+1452|0,0);Qh(b+1528|0,1);Qh(b+1604|0,0);Qh(b+1680|0,1);c[b+352>>2]=0;Rh(b,0,0);c[b+356>>2]=0;Rh(b,1,0);c[b+360>>2]=0;Rh(b,2,0);c[b+364>>2]=0;Rh(b,3,0);c[b+368>>2]=0;Rh(b,4,0);c[b+372>>2]=0;Rh(b,5,0);c[b+376>>2]=0;Rh(b,6,0);c[b+380>>2]=0;Rh(b,7,0);c[b+384>>2]=0;Rh(b,8,0);d=0;do{Sh(b,d,0);d=d+1|0}while((d|0)!=64);c[b+8>>2]=2147483648/((c[11080]|0)>>>0)|0;c[b+16>>2]=2147483648/((((c[11081]|0)>>>0)/72|0)>>>0)|0;c[b+12>>2]=0;b=b+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Oh(a){a=a|0;var b=0;b=0;do{Ph(a,b,565792+(b*52|0)|0);b=b+1|0}while((b|0)!=38);return}function Ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+1756+(b*52|0)|0;a=d;b=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));return}function Qh(a,b){a=a|0;b=b|0;c[a+4>>2]=b;c[a+20>>2]=961120;c[a+24>>2]=0;c[a+28>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+8>>2]=0;c[a+60>>2]=7;c[a+64>>2]=4194304;c[a+68>>2]=0;b=a+32|0;c[a+72>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=3430952;return}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+316+(b<<2)>>2]=d;e=d<<1;d=b<<1;c[a+388+(d*76|0)>>2]=a+1756+(e*52|0);c[a+388+((d|1)*76|0)>>2]=a+1756+((e|1)*52|0);return} -function Cv(b,d,f){b=+b;d=+d;f=f|0;c[f+56>>2]=~~(+((((a[f+3>>0]|0)==1?255:511)&e[f+4>>1])+1|0)*b*.00390625*16384.0/d)>>>0;return}function Dv(b){b=b|0;var e=0,f=0,g=0;f=a[b+7>>0]|0;g=f&255;if(f<<24>>24==8){f=d[b+6>>0]|0;c[b+48>>2]=f;g=b+52|0;c[g>>2]=f;return}e=d[b+6>>0]|0;if((f&255)<8){c[b+48>>2]=e;g=(M(g+-1|0,e)|0)/7|0;f=f<<24>>24==0?0:g;g=b+52|0;c[g>>2]=f;return}else{c[b+48>>2]=(M(15-g|0,e)|0)/7|0;f=e;g=b+52|0;c[g>>2]=f;return}}function Ev(b,c,d){b=b|0;c=c|0;d=d|0;b=b&255;if(!(c&1)){a[3363728+(b*632|0)+8>>0]=d;return}else{Bv(3363728+(b*632|0)|0,d&255);return}}function Fv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a&255;a=3363728+(g*632|0)|0;g=3363728+(g*632|0)+4|0;if((c[g>>2]|0)!=(b|0)){h=hx(c[a>>2]|0,b)|0;c[a>>2]=h;c[g>>2]=b;nz(h|0,-1,b|0)|0}if(b>>>0>>0)return;mz((c[a>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Gv(b,c){b=b|0;c=c|0;b=b&255;a[3363728+(b*632|0)+121>>0]=c&1;a[3363728+(b*632|0)+193>>0]=c>>>1&1;a[3363728+(b*632|0)+265>>0]=c>>>2&1;a[3363728+(b*632|0)+337>>0]=c>>>3&1;a[3363728+(b*632|0)+409>>0]=c>>>4&1;a[3363728+(b*632|0)+481>>0]=c>>>5&1;a[3363728+(b*632|0)+553>>0]=c>>>6&1;a[3363728+(b*632|0)+625>>0]=c>>>7&1;return}function Hv(){var b=0;if((a[3432194]|0)==0?(b=ax()|0,b|0):0){c[857888]=b;b=0;return b|0}Sv();b=1;return b|0}function Iv(){return 3397024}function Jv(){return c[857888]|0}function Kv(){var a=0;a=c[11105]|0;if((a|0)>=0)return a|0;a=$w(_w()|0)|0;c[11105]=a;return a|0}function Lv(){return c[857852]|0}function Mv(){return c[857782]|0}function Nv(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=k;k=k+16|0;b=a+8|0;d=a;h=Uw(c[857865]|0,c[857866]|0)|0;f=Uw(c[857867]|0,c[857868]|0)|0;g=Uw(c[857871]|0,c[857872]|0)|0;e=Uw(c[857869]|0,c[857870]|0)|0;Vw(3390880,h);Vw(3391904,g);Vw(3392928,f);Vw(3393952,c[857875]|0);mz(3432198,e|0,(Ww(e)|0)<<2|0)|0;c[d>>2]=1;sy(3394976,15,47163,d);Xw();c[b>>2]=3388576;sy(3396e3,1020,47166,b);k=a;return 44436}function Ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=k;k=k+16|0;f=e+8|0;Rv();Bw();sy(3388832,1020,46092,e);Cw();c[857782]=a;Dw();c[f>>2]=b;c[f+4>>2]=d;sy(3389856,1020,46104,f);d=((Ew()|0)<<24>>24==0)<<31>>31;k=e;return d|0}function Pv(a){a=a|0;if((Kv()|0)<(a|0)){a=-1;return a|0}zw(a);a=0;return a|0}function Qv(b,d){b=b|0;d=d|0;ew();a[3432181]=d;c[11105]=-1;return 0}function Rv(){Sv();Tv();Uv();return}function Sv(){if((a[3432189]|0)==-1)return;Xv(2);a[3432189]=-1;return}function Tv(){if((a[3432188]|0)==-1)return;c[857791]=0;fx(c[857858]|0);c[857858]=0;fx(c[857860]|0);c[857860]=0;fx(c[857861]|0);c[857861]=0;if(!(a[3432188]|0))Vv();a[3432188]=-1;return}function Uv(){var a=0,b=0,d=0;fx(c[857889]|0);c[857889]=0;fx(c[857890]|0);c[857890]=0;d=0;do{a=3377840+(d*24|0)+20|0;b=c[a>>2]|0;if(b|0){fx(b);c[a>>2]=0}d=d+1|0}while((d|0)!=41);d=0;do{a=3378824+(d*24|0)+20|0;b=c[a>>2]|0;if(b|0){fx(b);c[a>>2]=0}d=d+1|0}while((d|0)!=41);return}function Vv(){c[857862]=0;fx(c[857865]|0);c[857865]=0;fx(c[857866]|0);c[857866]=0;fx(c[857867]|0);c[857867]=0;fx(c[857868]|0);c[857868]=0;fx(c[857869]|0);c[857869]=0;fx(c[857870]|0);c[857870]=0;fx(c[857871]|0);c[857871]=0;fx(c[857872]|0);c[857872]=0;fx(c[857873]|0);c[857873]=0;fx(c[857874]|0);c[857874]=0;fx(c[857875]|0);c[857875]=0;return}function Wv(){var a=0.0;a=+g[857789];if(a>0.0)g[857886]=a;else a=+g[857886];g[857789]=a;g[857849]=a*(a*+g[857848]);return}function Xv(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,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,ba=0;switch(f<<24>>24){case 0:{f=0;g=3373904;while(1){c[g>>2]=0;b[g+4>>1]=0;a[g+6>>0]=-1;a[g+7>>0]=0;a[g+8>>0]=0;c[g+12>>2]=8;c[g+44>>2]=0;f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}c[844952]=0;b[1689906]=0;a[3379814]=-1;a[3379815]=0;a[3379816]=0;c[844955]=8;c[844963]=0;c[844964]=0;b[1689930]=0;a[3379862]=-1;a[3379863]=0;a[3379864]=0;c[844967]=8;c[844975]=0;c[844976]=0;b[1689954]=0;a[3379910]=-1;a[3379911]=0;a[3379912]=0;c[844979]=8;c[844987]=0;f=0;g=3375872;while(1){c[g>>2]=0;b[g+4>>1]=0;a[g+6>>0]=-1;a[g+7>>0]=1;a[g+8>>0]=0;c[g+12>>2]=8;c[g+44>>2]=0;f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}c[844988]=0;b[1689978]=0;a[3379958]=-1;a[3379959]=1;a[3379960]=0;c[844991]=8;c[844999]=0;c[845e3]=0;b[1690002]=0;a[3380006]=-1;a[3380007]=1;a[3380008]=0;c[845003]=8;c[845011]=0;c[845012]=0;b[1690026]=0;a[3380054]=-1;a[3380055]=1;a[3380056]=0;c[845015]=8;c[845023]=0;if(!(c[857794]|0))f=0;else{cu(a[3377841]|0);a[3378825]=a[3377841]|0;l=(c[857794]|0)>>>30&1;m=l+1&255;f=0;k=0;n=0;do{g=3373904+(n*1968|0)|0;h=3373904+(n*1968|0)+6|0;a[h>>0]=0;i=Zv(n<<7&255,0)|0;j=c[857794]&n<<31;if(!(a[3432193]|0)){aa=d[3431207]|0;c[g>>2]=_t(k,j|i&2147483647,d[3431206]|0,e[1715602]|0,aa>>>1&1,aa>>>2&1,aa>>>3&1,aa&1)|0;c[3373904+(n*1968|0)+12>>2]=9;g=_v(a[h>>0]|0,k,m)|0;f=(k<<24>>24==0|(j|0)==0?g&65535:0)+f|0}else{c[g>>2]=0;g=0}b[3373904+(n*1968|0)+4>>1]=g;k=k+1<<24>>24;n=k&255}while(l>>>0>=n>>>0)}h=c[857795]|0;if(h){g=a[3377865]|0;if(!(a[3432193]|0)){fj(g);g=a[3377865]|0;h=c[857795]|0}a[3378849]=g;l=h>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+48|0;h=3373904+(j*1968|0)+54|0;a[h>>0]=1;i=Zv((j<<7|1)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=Ch(k,i)|0;c[3373904+(j*1968|0)+60>>2]=10;g=_v(a[h>>0]|0,k,m)|0;f=f+((g&65535)>>>1&65535)|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+52>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[857802]|0){zl(a[3377889]|0);Al(b[1688946]&255);a[3378873]=a[3377889]|0;b[1689438]=b[1688946]|0;i=(c[857802]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+102|0;a[aa>>0]=2;c[3373904+(g*1968|0)+96>>2]=Sk(h,Zv((g<<7|2)&255,0)|0)|0;c[3373904+(g*1968|0)+108>>2]=11;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+100>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857803]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+150|0;a[aa>>0]=3;c[3373904+(g*1968|0)+144>>2]=yf(h,Zv((g<<7|3)&255,0)|0)|0;c[3373904+(g*1968|0)+156>>2]=12;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+148>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857805]|0;if(g){i=g>>>30&1;j=i+1&255;g=0;h=0;do{aa=3373904+(h*1968|0)+198|0;a[aa>>0]=4;$=Zv((h<<7|4)&255,0)|0;c[3373904+(h*1968|0)+192>>2]=Fs(g,$,c[857806]|0)|0;c[3373904+(h*1968|0)+204>>2]=13;aa=_v(a[aa>>0]|0,g,j)|0;b[3373904+(h*1968|0)+196>>1]=aa;f=f+(aa&65535)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[857807]|0){a[3374150]=5;c[843536]=xs(Zv(5,0)|0)|0;c[843539]=14;aa=_v(a[3374150]|0,0,1)|0;b[1687074]=aa;f=f+(aa&65535)|0}if(c[857808]|0){ah(a[3377985]|0);a[3378969]=a[3377985]|0;b[1689486]=b[1688994]|0;i=(c[857808]|0)>>>30&1;j=i+1&255;g=0;h=0;do{_=3373904+(h*1968|0)+294|0;a[_>>0]=6;aa=3373904+(h*1968|0)+332|0;c[aa>>2]=3379808+(h*144|0);a[3379808+(h*144|0)+6>>0]=-122;$=Zv((h<<7|6)&255,0)|0;c[3373904+(h*1968|0)+288>>2]=gg(g,$,b[3377840+(h*984|0)+148>>1]&1,a[3431286]|0,c[aa>>2]|0)|0;c[3373904+(h*1968|0)+300>>2]=15;c[(c[aa>>2]|0)+12>>2]=16;fh(g,c[aa>>2]|0);$=3373904+(h*1968|0)+292|0;b[$>>1]=_v(a[_>>0]|0,g,j)|0;_=_v(a[(c[aa>>2]|0)+6>>0]|0,g,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[857809]|0){Pj(a[3378009]|0);a[3378993]=a[3378009]|0;b[1689498]=b[1689006]|0;i=(c[857809]|0)>>>30&1;j=i+1&255;g=0;h=0;do{_=3373904+(h*1968|0)+342|0;a[_>>0]=7;aa=3373904+(h*1968|0)+380|0;c[aa>>2]=3379808+(h*144|0)+48;a[3379808+(h*144|0)+54>>0]=-121;$=Zv((h<<7|7)&255,0)|0;c[3373904+(h*1968|0)+336>>2]=vj(g,$,b[3377840+(h*984|0)+172>>1]&1,a[3431287]|0,c[aa>>2]|0)|0;c[3373904+(h*1968|0)+348>>2]=17;c[(c[aa>>2]|0)+12>>2]=18;Vj(g,c[aa>>2]|0);$=3373904+(h*1968|0)+340|0;b[$>>1]=_v(a[_>>0]|0,g,j)|0;_=_v(a[(c[aa>>2]|0)+6>>0]|0,g,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[857810]|0){ok(a[3378033]|0);a[3379017]=a[3378033]|0;b[1689510]=b[1689018]|0;i=(c[857810]|0)>>>30&1;j=i+1&255;h=0;g=0;do{_=3373904+(g*1968|0)+390|0;a[_>>0]=8;aa=3373904+(g*1968|0)+428|0;c[aa>>2]=3379808+(g*144|0)+96;a[3379808+(g*144|0)+102>>0]=-120;$=Zv((g<<7|8)&255,0)|0;c[3373904+(g*1968|0)+384>>2]=ak(h,$,b[3377840+(g*984|0)+196>>1]&1,c[aa>>2]|0)|0;c[3373904+(g*1968|0)+396>>2]=($|0)<0?20:19;c[(c[aa>>2]|0)+12>>2]=21;$=3373904+(g*1968|0)+388|0;b[$>>1]=_v(a[_>>0]|0,h,j)|0;_=_v(a[(c[aa>>2]|0)+6>>0]|0,h,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857811]|0){nn(a[3378057]|0);a[3379041]=a[3378057]|0;l=(c[857811]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+432|0;h=3373904+(j*1968|0)+438|0;a[h>>0]=9;i=Zv((j<<7|9)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=Km(k,i)|0;aa=(i|0)<0;c[3373904+(j*1968|0)+444>>2]=aa?23:22;g=_v(a[h>>0]|0,k,m)|0;f=(k<<24>>24==0|aa^1?(g&65535)<<1:0)+f|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+436>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[857812]|0;if(g){l=g>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+480|0;h=3373904+(j*1968|0)+486|0;a[h>>0]=10;i=Zv((j<<7|10)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=Nl(k,i)|0;c[3373904+(j*1968|0)+492>>2]=24;g=_v(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+484>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[857813]|0;if(g){l=g>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+528|0;h=3373904+(j*1968|0)+534|0;a[h>>0]=11;i=Zv((j<<7|11)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=sn(k,i)|0;c[3373904+(j*1968|0)+540>>2]=25;g=_v(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+532>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[857814]|0){mf(a[3378129]|0);a[3379113]=a[3378129]|0;l=(c[857814]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+576|0;h=3373904+(j*1968|0)+582|0;a[h>>0]=12;i=Zv((j<<7|12)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=ne(k,i)|0;c[3373904+(j*1968|0)+588>>2]=26;g=_v(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+580>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[857815]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+630|0;a[aa>>0]=13;c[3373904+(g*1968|0)+624>>2]=jv(h,Zv((g<<7|13)&255,0)|0)|0;c[3373904+(g*1968|0)+636>>2]=27;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+628>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857816]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+678|0;a[aa>>0]=14;c[3373904+(g*1968|0)+672>>2]=Nu(h,Zv((g<<7|14)&255,0)|0)|0;c[3373904+(g*1968|0)+684>>2]=28;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+676>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857817]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+726|0;a[aa>>0]=15;c[3373904+(g*1968|0)+720>>2]=xv(h,Zv((g<<7|15)&255,0)|0)|0;c[3373904+(g*1968|0)+732>>2]=29;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+724>>1]=aa;f=(((aa&65535)<<5>>>0)/19|0)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857818]|0){a[3374678]=16;c[843668]=Rs(Zv(16,0)|0)|0;c[843671]=30;aa=_v(a[3374678]|0,0,1)|0;b[1687338]=aa;f=((aa&65535)<<1)+f|0}if(c[857819]|0){a[3374726]=17;c[843680]=js(Zv(17,0)|0)|0;c[843683]=31;aa=_v(a[3374726]|0,0,1)|0;b[1687362]=aa;f=f+(aa&65535)|0}if(c[857820]|0){Zn(a[3378273]|0);a[3379257]=a[3378273]|0;l=(c[857820]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3373904+(j*1968|0)+864|0;h=3373904+(j*1968|0)+870|0;a[h>>0]=18;i=Zv((j<<7|18)&255,0)|0;if(!(a[3432193]|0)){c[g>>2]=Un(k,i,a[3431284]|0,a[3431285]|0)|0;c[3373904+(j*1968|0)+876>>2]=32;g=_v(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3373904+(j*1968|0)+868>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[857823]|0){cp(b[1689150]&255);b[1689642]=b[1689150]|0;i=(c[857823]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+918|0;a[aa>>0]=19;Zv((g<<7|19)&255,0)|0;c[3373904+(g*1968|0)+912>>2]=$o(h)|0;c[3373904+(g*1968|0)+924>>2]=33;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+916>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857824]|0){lr(a[3378321]|0);mr(b[1689162]|0);a[3379305]=a[3378321]|0;b[1689654]=b[1689162]|0;i=(c[857824]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+966|0;a[aa>>0]=20;c[3373904+(g*1968|0)+960>>2]=Iq(h,Zv((g<<7|20)&255,0)|0)|0;c[3373904+(g*1968|0)+972>>2]=34;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+964>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857825]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1014|0;a[aa>>0]=21;c[3373904+(g*1968|0)+1008>>2]=Qp(h,Zv((g<<7|21)&255,0)|0)|0;c[3373904+(g*1968|0)+1020>>2]=35;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1012>>1]=aa;f=((aa&65535)<<2)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857826]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1062|0;a[aa>>0]=22;c[3373904+(g*1968|0)+1056>>2]=lu(h,Zv((g<<7|22)&255,0)|0)|0;c[3373904+(g*1968|0)+1068>>2]=36;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1060>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857827]|0){Er(b[1689198]|0);b[1689690]=b[1689198]|0;i=(c[857827]|0)>>>30&1;j=i+1&255;h=0;g=0;do{$=3373904+(g*1968|0)+1104|0;aa=3373904+(g*1968|0)+1110|0;a[aa>>0]=23;Z=Zv((g<<7|23)&255,0)|0;_=d[3431312]|0;c[$>>2]=tr(h,Z,_&3,_>>>2&1,_>>>3&1)|0;c[3373904+(g*1968|0)+1116>>2]=37;Fr(h,$);aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1108>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857829]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3373904+(g*1968|0)+1152|0;aa=3373904+(g*1968|0)+1158|0;a[aa>>0]=24;c[$>>2]=Mr(h,Zv((g<<7|24)&255,0)|0)|0;c[3373904+(g*1968|0)+1164>>2]=38;Wr(h,$);aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1156>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857830]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1206|0;a[aa>>0]=25;c[3373904+(g*1968|0)+1200>>2]=ep(h,Zv((g<<7|25)&255,0)|0)|0;c[3373904+(g*1968|0)+1212>>2]=39;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1204>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857831]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1254|0;a[aa>>0]=26;c[3373904+(g*1968|0)+1248>>2]=Gp(h,Zv((g<<7|26)&255,0)|0)|0;c[3373904+(g*1968|0)+1260>>2]=40;Ap(h,d[3431313]|0);aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1252>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857832]|0){Io(a[3378489]|0);a[3379473]=a[3378489]|0;i=(c[857832]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1302|0;a[aa>>0]=27;c[3373904+(g*1968|0)+1296>>2]=to(h,Zv((g<<7|27)&255,0)|0)|0;c[3373904+(g*1968|0)+1308>>2]=41;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1300>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857833]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1350|0;a[aa>>0]=28;$=Zv((g<<7|28)&255,0)|0;c[3373904+(g*1968|0)+1344>>2]=co(h,$,d[3431314]|0)|0;c[3373904+(g*1968|0)+1356>>2]=42;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1348>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857834]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1398|0;a[aa>>0]=29;c[3373904+(g*1968|0)+1392>>2]=tp(h,Zv((g<<7|29)&255,0)|0)|0;c[3373904+(g*1968|0)+1404>>2]=43;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1396>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857835]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1446|0;a[aa>>0]=30;c[3373904+(g*1968|0)+1440>>2]=Yr(h,Zv((g<<7|30)&255,0)|0)|0;c[3373904+(g*1968|0)+1452>>2]=44;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1444>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857836]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1494|0;a[aa>>0]=31;c[3373904+(g*1968|0)+1488>>2]=ms(h,Zv((g<<7|31)&255,0)|0)|0;c[3373904+(g*1968|0)+1500>>2]=45;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1492>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[857837]|0){Et(b[1689306]&255);b[1689798]=b[1689306]|0;i=(c[857837]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1542|0;a[aa>>0]=32;c[3373904+(g*1968|0)+1536>>2]=ht(h,Zv((g<<7|32)&255,0)|0)|0;c[3373904+(g*1968|0)+1548>>2]=46;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1540>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857839]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1590|0;a[aa>>0]=33;c[3373904+(g*1968|0)+1584>>2]=Cc(h,Zv((g<<7|33)&255,0)|0)|0;c[3373904+(g*1968|0)+1596>>2]=47;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1588>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857840]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1638|0;a[aa>>0]=34;c[3373904+(g*1968|0)+1632>>2]=Oc(h,Zv((g<<7|34)&255,0)|0)|0;c[3373904+(g*1968|0)+1644>>2]=48;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1636>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857841]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1686|0;a[aa>>0]=35;c[3373904+(g*1968|0)+1680>>2]=Uc(h,Zv((g<<7|35)&255,0)|0)|0;c[3373904+(g*1968|0)+1692>>2]=49;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1684>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857842]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3373904+(g*1968|0)+1728|0;aa=3373904+(g*1968|0)+1734|0;a[aa>>0]=36;_=Zv((g<<7|36)&255,0)|0;c[$>>2]=Fd(h,_,d[3431376]|0)|0;c[3373904+(g*1968|0)+1740>>2]=50;Kd(h,$);aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1732>>1]=aa;f=((aa&65535)<<3)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857843]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3373904+(g*1968|0)+1776|0;aa=3373904+(g*1968|0)+1782|0;a[aa>>0]=37;c[$>>2]=kd(h,Zv((g<<7|37)&255,0)|0)|0;c[3373904+(g*1968|0)+1788>>2]=51;Cd(h,$);aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1780>>1]=aa;f=((aa&65535)<<4)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857845]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1830|0;a[aa>>0]=38;c[3373904+(g*1968|0)+1824>>2]=wc(h,Zv((g<<7|38)&255,0)|0)|0;c[3373904+(g*1968|0)+1836>>2]=52;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1828>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857846]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1878|0;a[aa>>0]=39;$=Zv((g<<7|39)&255,0)|0;c[3373904+(g*1968|0)+1872>>2]=Pd(h,$,d[3431378]<<2)|0;c[3373904+(g*1968|0)+1884>>2]=53;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1876>>1]=aa;f=((aa&65535)<<3)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[857847]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3373904+(g*1968|0)+1926|0;a[aa>>0]=40;c[3373904+(g*1968|0)+1920>>2]=bd(h,Zv((g<<7|40)&255,0)|0)|0;c[3373904+(g*1968|0)+1932>>2]=54;aa=_v(a[aa>>0]|0,h,j)|0;b[3373904+(g*1968|0)+1924>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}a[3432197]=0;g=0;do{a[3381920+(g<<1)>>0]=0;g=g+1|0}while((g|0)!=255);nz(3380128,0,1536)|0;c[857883]=0;c[857884]=0;c[857885]=0;Xv(1);if((f+-1|0)>>>0<511){i=b[1689906]|0;do{g=3373904;h=0;while(1){aa=g+4|0;b[aa>>1]=e[aa>>1]<<1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=(i&65535)<<1;b[1689930]=e[1689930]<<1;b[1689954]=e[1689954]<<1;g=3375872;h=0;while(1){aa=g+4|0;b[aa>>1]=e[aa>>1]<<1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=i&65535;b[1689978]=e[1689978]<<1;b[1690002]=e[1690002]<<1;b[1690026]=e[1690026]<<1;f=f<<1}while((f+-1|0)>>>0<511);b[1689906]=i}if(f>>>0>768){i=b[1689906]|0;while(1){g=3373904;h=0;while(1){aa=g+4|0;b[aa>>1]=(e[aa>>1]|0)>>>1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}b[1689930]=(e[1689930]|0)>>>1;b[1689954]=(e[1689954]|0)>>>1;g=3375872;h=0;while(1){aa=g+4|0;b[aa>>1]=(e[aa>>1]|0)>>>1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=(i&65535)>>>1;b[1689978]=(e[1689978]|0)>>>1;b[1690002]=(e[1690002]|0)>>>1;b[1690026]=(e[1690026]|0)>>>1;if(f>>>0<=1537)break;else f=f>>>1}b[1689906]=i}f=0;do{aa=3373904+(f*1968|0)|0;bw(aa);bw(aa+48|0);bw(aa+96|0);bw(aa+144|0);bw(aa+192|0);bw(aa+240|0);bw(aa+288|0);bw(aa+336|0);bw(aa+384|0);bw(aa+432|0);bw(aa+480|0);bw(aa+528|0);bw(aa+576|0);bw(aa+624|0);bw(aa+672|0);bw(aa+720|0);bw(aa+768|0);bw(aa+816|0);bw(aa+864|0);bw(aa+912|0);bw(aa+960|0);bw(aa+1008|0);bw(aa+1056|0);bw(aa+1104|0);bw(aa+1152|0);bw(aa+1200|0);bw(aa+1248|0);bw(aa+1296|0);bw(aa+1344|0);bw(aa+1392|0);bw(aa+1440|0);bw(aa+1488|0);bw(aa+1536|0);bw(aa+1584|0);bw(aa+1632|0);bw(aa+1680|0);bw(aa+1728|0);bw(aa+1776|0);bw(aa+1824|0);bw(aa+1872|0);bw(aa+1920|0);bw(3379808+(f*144|0)|0);bw(3379808+(f*144|0)+48|0);bw(3379808+(f*144|0)+96|0);f=f+1|0}while((f|0)!=2);cw();return}case 1:{k=0;do{h=k&255;f=0;g=3373904+(k*1968|0)|0;while(1){i=a[g+6>>0]|0;a:do if(i<<24>>24!=-1){aa=a[3432193]|0;j=aa<<24>>24!=0;if(!((aa|i)<<24>>24)){au(h);break}if(!(i<<24>>24!=1|j)){_i(h);break}switch(i<<24>>24){case 2:{el(h);break a}case 3:{Ef(h);break a}case 4:{Hs(h);break a}case 5:{zs(h);break a}case 6:{Ig(h);break a}case 7:{Gj(h);break a}case 8:{kk(h);break a}case 9:{if(j)break a;Xm(h);break a}default:{if(!(i<<24>>24!=10|j)){rm(h);break a}if(!(i<<24>>24!=11|j)){Mn(h);break a}switch(i<<24>>24){case 12:{if(!j)Ue(h);if(!(a[3432188]|0))break a;dw(12,h,1,5,1);dw(12,h,0,-67,-64);dw(12,h,1,4,0);break a}case 13:{nv(h);break a}case 14:{Qu(h);break a}case 15:{Av(h);break a}case 16:{Ts(h);break a}case 17:{ks(h);break a}default:{if(!(i<<24>>24!=18|j)){Xn(h);break a}do switch(i<<24>>24){case 19:{ap(h);break a}case 20:{er(h);break a}case 21:{Up(h);break a}case 22:{ju(h);break a}case 23:{wr(h);break a}case 24:{Or(h);break a}case 25:{hp(h);break a}case 26:{Jp(h);break a}case 27:{Do(h);break a}case 28:{fo(h);break a}case 29:{qp(h);break a}case 30:{$r(h);break a}case 31:{os(h);break a}case 32:{mt(h);break a}case 33:{Dc(h);break a}case 34:{Pc(h);break a}case 35:{Vc(h);break a}case 36:{Hd(h);break a}case 37:{od(h);break a}case 38:{yc(h);break a}case 39:{Rd(h);break a}case 40:{$c(h);break a}default:break a}while(0)}}}}}while(0);f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}k=k+1|0}while((k|0)!=2);Xv(16);Xv(32);f=a[3432197]|0;if(f<<24>>24){f=f&255;g=0;do{Ro(a[3381664+g>>0]|0);g=g+1|0}while((g|0)!=(f|0))}f=0;do{c[3380128+(f*24|0)+16>>2]=0;c[3380128+(f*24|0)+20>>2]=0;f=f+1|0}while((f|0)!=64);b[1715768]=0;return}case 2:{l=0;do{h=l&255;f=0;g=3373904+(l*1968|0)|0;while(1){i=g+6|0;j=a[i>>0]|0;if(j<<24>>24!=-1){aa=a[3432193]|0;k=aa<<24>>24!=0;b:do if(!((aa|j)<<24>>24))$t(h);else{if(!(j<<24>>24!=1|k)){Vi(h);break}switch(j<<24>>24){case 2:{bl(h);break b}case 3:{Cf(h);break b}case 4:{Gs(h);break b}case 5:{ys(h);break b}case 6:{Eg(h);break b}case 7:{Ej(h);break b}case 8:{ik(h);break b}default:{if(!(j<<24>>24!=9|k)){Um(h);break b}if(!(j<<24>>24!=10|k)){nm(h);break b}if(!(j<<24>>24!=11|k)){Kn(h);break b}if(!(j<<24>>24!=12|k)){Pe(h);break b}switch(j<<24>>24){case 17:break b;case 13:{mv(h);break b}case 14:{Pu(h);break b}case 15:{zv(h);break b}case 16:{Ss(h);break b}default:{if(!(j<<24>>24!=18|k)){Wn(h);break b}do switch(j<<24>>24){case 40:{cd(h);break b}case 20:{br(h);break b}case 21:{Tp(h);break b}case 22:{mu(h);break b}case 39:{Qd(h);break b}case 24:{Nr(h);break b}case 25:{gp(h);break b}case 26:{Ip(h);break b}case 27:{Bo(h);break b}case 28:{eo(h);break b}case 29:{vp(h);break b}case 38:{xc(h);break b}case 31:{ns(h);break b}case 32:{lt(h);break b}case 33:{Fc(h);break b}case 37:{nd(h);break b}case 36:{Gd(h);break b}default:break b}while(0)}}}}}while(0);a[i>>0]=-1}f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}l=l+1|0}while((l|0)!=2);f=a[3432197]|0;if(f<<24>>24){f=f&255;g=0;do{aa=a[3381664+g>>0]|0;Qo(aa);a[3381920+((aa&255)<<1)>>0]=0;g=g+1|0}while((g|0)!=(f|0))}a[3432197]=0;f=0;do{fx(c[3380128+(f*24|0)+4>>2]|0);fx(c[3380128+(f*24|0)+12>>2]|0);f=f+1|0}while((f|0)!=64);fx(c[857885]|0);return}case 16:{aa=0;do{h=3377840+(aa*984|0)+8|0;i=3377840+(aa*984|0)+32|0;j=3377840+(aa*984|0)+56|0;k=3377840+(aa*984|0)+80|0;l=3377840+(aa*984|0)+104|0;m=3377840+(aa*984|0)+128|0;n=3377840+(aa*984|0)+152|0;o=3377840+(aa*984|0)+160|0;p=3377840+(aa*984|0)+176|0;q=3377840+(aa*984|0)+180|0;r=3377840+(aa*984|0)+184|0;s=3377840+(aa*984|0)+200|0;t=3377840+(aa*984|0)+204|0;u=3377840+(aa*984|0)+208|0;v=3377840+(aa*984|0)+224|0;w=3377840+(aa*984|0)+248|0;x=3377840+(aa*984|0)+272|0;y=3377840+(aa*984|0)+296|0;z=3377840+(aa*984|0)+320|0;A=3377840+(aa*984|0)+324|0;B=3377840+(aa*984|0)+344|0;C=3377840+(aa*984|0)+368|0;D=3377840+(aa*984|0)+392|0;E=3377840+(aa*984|0)+440|0;F=3377840+(aa*984|0)+464|0;G=3377840+(aa*984|0)+488|0;H=3377840+(aa*984|0)+512|0;I=3377840+(aa*984|0)+968|0;J=3377840+(aa*984|0)+944|0;K=3377840+(aa*984|0)+584|0;L=3377840+(aa*984|0)+608|0;M=3377840+(aa*984|0)+632|0;N=3377840+(aa*984|0)+656|0;O=3377840+(aa*984|0)+680|0;P=3377840+(aa*984|0)+704|0;Q=3377840+(aa*984|0)+728|0;R=3377840+(aa*984|0)+752|0;S=3377840+(aa*984|0)+776|0;T=3377840+(aa*984|0)+800|0;U=3377840+(aa*984|0)+824|0;V=3377840+(aa*984|0)+848|0;W=3377840+(aa*984|0)+872|0;X=3377840+(aa*984|0)+896|0;Y=3377840+(aa*984|0)+920|0;Z=aa&255;f=3373904+(aa*1968|0)|0;g=0;while(1){_=a[f+6>>0]|0;c:do if(_<<24>>24!=-1){ba=a[3432193]|0;$=ba<<24>>24!=0;if(!((ba|_)<<24>>24)){du(Z,c[h>>2]|0);break}if(!(_<<24>>24!=1|$)){gj(Z,c[i>>2]|0);break}switch(_<<24>>24){case 2:{Dl(Z,c[j>>2]|0);break c}case 3:{Lf(Z,c[k>>2]|0);break c}case 4:{Ks(Z,c[l>>2]|0);break c}case 5:{Ds(Z,c[m>>2]|0);break c}case 6:{bh(Z,c[n>>2]|0,c[o>>2]|0);break c}case 7:{Tj(Z,c[q>>2]<<6&8128|c[p>>2]&63,c[r>>2]|0);break c}case 8:{rk(Z,c[t>>2]<<6&8128|c[s>>2]&63,c[u>>2]|0);break c}default:{if(!(_<<24>>24!=9|$)){on(Z,c[v>>2]|0);break c}if(!(_<<24>>24!=10|$)){vm(Z,c[w>>2]|0);break c}if(!(_<<24>>24!=11|$)){Rn(Z,c[x>>2]|0);break c}if(!(_<<24>>24!=12|$)){nf(Z,c[y>>2]|0);break c}switch(_<<24>>24){case 17:break c;case 13:{pv(Z,c[z>>2]|0,c[A>>2]|0);break c}case 14:{Su(Z,c[B>>2]|0);break c}case 15:{Gv(Z,c[C>>2]|0);break c}case 16:{Xs(Z,c[D>>2]|0);break c}default:{if(!(_<<24>>24!=18|$)){_n(Z,c[E>>2]|0);break c}do switch(_<<24>>24){case 19:{bp(Z,c[F>>2]|0);break c}case 20:{nr(Z,c[G>>2]|0);break c}case 21:{aq(Z,c[H>>2]|0);break c}case 40:{ed(Z,c[I>>2]|0);break c}case 39:{Vd(Z,c[J>>2]|0);break c}case 24:{Vr(Z,c[K>>2]|0);break c}case 25:{pp(Z,c[L>>2]|0);break c}case 26:{Lp(Z,c[M>>2]|0);break c}case 27:{Jo(Z,c[N>>2]|0);break c}case 28:{io(Z,c[O>>2]|0);break c}case 29:{zp(Z,c[P>>2]|0);break c}case 30:{bs(Z,c[Q>>2]|0);break c}case 31:{ts(Z,c[R>>2]|0);break c}case 32:{Dt(Z,c[S>>2]|0);break c}case 33:{Jc(Z,c[T>>2]|0);break c}case 34:{Rc(Z,c[U>>2]|0);break c}case 35:{Yc(Z,c[V>>2]|0);break c}case 36:{Jd(Z,c[W>>2]|0);break c}case 37:{Bd(Z,c[X>>2]|0);break c}case 38:{Bc(Z,c[Y>>2]|0);break c}default:break c}while(0)}}}}}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}aa=aa+1|0}while((aa|0)!=2);return}case 32:{f=3373904;g=0;while(1){h=a[f+6>>0]|0;do if(h<<24>>24!=-1){i=a[3432193]|0;if(!((i|h)<<24>>24)){eu(0,c[844465]|0);break}if(!(h<<24>>24!=1|i<<24>>24!=0))jj(0,c[844471]|0)}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}f=3375872;g=0;while(1){h=a[f+6>>0]|0;do if(h<<24>>24!=-1){i=a[3432193]|0;if(!((i|h)<<24>>24)){eu(1,c[844711]|0);break}if(!(h<<24>>24!=1|i<<24>>24!=0))jj(1,c[844717]|0)}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}return}default:return}}function Yv(a,b,d){a=a|0;b=b|0;d=d|0;d=d<<2;nz(c[b>>2]|0,0,d|0)|0;nz(c[b+4>>2]|0,0,d|0)|0;return}function Zv(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=e&255;m=g&127;a:do switch(e&127){case 0:{e=c[857794]|0;if((f|0)==0|(e|0)<0){k=1;l=0}else switch(a[3431206]|0){case 15:{k=1;l=(d[3431207]|0)>>>1&4|1;break a}case 16:switch(b[1715602]|0){case 9:{k=1;l=7;break a}case 34:{k=1;l=6;break a}default:{k=1;l=0;break a}}case 17:{k=1;l=(d[3431207]|0)>>>3&1|2;break a}default:{k=1;l=0;break a}}break}case 1:{k=1;l=0;e=c[857795]|0;break}case 2:{k=0;l=0;e=c[857802]|0;break}case 3:{k=0;l=0;e=c[857803]|0;break}case 4:{k=0;l=0;e=c[857805]|0;break}case 5:if(!(g&128)){k=0;l=0;e=c[857807]|0;break a}else{f=0;return f|0}case 6:{k=0;l=0;e=c[857808]|0;break}case 7:{k=0;l=0;e=c[857809]|0;break}case 8:{k=1;l=0;e=c[857810]|0;break}case 9:{k=1;l=0;e=c[857811]|0;break}case 10:{k=0;l=0;e=c[857812]|0;break}case 11:{k=0;l=0;e=c[857813]|0;break}case 12:{k=0;l=0;e=c[857814]|0;break}case 13:{k=0;l=0;e=c[857815]|0;break}case 14:{k=0;l=0;e=c[857816]|0;break}case 15:{k=0;l=0;e=c[857817]|0;break}case 16:if(!(g&128)){k=1;l=0;e=c[857818]|0;break a}else{f=0;return f|0}case 17:if(!(g&128)){k=0;l=0;e=c[857819]|0;break a}else{f=0;return f|0}case 18:{k=0;l=a[3431284]|0;e=c[857820]|0;break}case 19:{k=0;l=0;e=c[857823]|0;break}case 20:{k=1;l=0;e=c[857824]|0;break}case 21:{k=0;l=0;e=c[857825]|0;break}case 22:{k=1;l=0;e=c[857826]|0;break}case 23:{k=0;l=0;e=c[857827]|0;break}case 24:{k=1;l=0;e=c[857829]|0;break}case 25:{k=0;l=0;e=c[857830]|0;break}case 26:{k=0;l=0;e=c[857831]|0;break}case 27:{k=0;l=0;e=c[857832]|0;break}case 28:{k=0;l=a[3431314]|0;e=c[857833]|0;break}case 29:{k=0;l=0;e=c[857834]|0;break}case 30:{k=0;l=0;e=c[857835]|0;break}case 31:if(!(g&128)){k=0;l=0;e=c[857836]|0;break a}else{f=0;return f|0}case 32:{k=0;l=0;e=c[857837]|0;break}case 33:{k=0;l=0;e=c[857839]|0;break}case 34:{k=0;l=0;e=c[857840]|0;break}case 35:{k=0;l=0;e=c[857841]|0;break}case 36:{k=0;l=0;e=c[857842]|0;break}case 37:{k=1;l=0;e=c[857843]|0;break}case 38:{k=0;l=0;e=c[857845]|0;break}case 39:{k=0;l=0;e=c[857846]|0;break}case 40:{k=0;l=0;e=c[857847]|0;break}default:{f=0;return f|0}}while(0);b:do if(g&128){if(!(e&1073741824)){f=0;return f|0}g=a[3431428]|0;if(g<<24>>24){j=c[857858]|0;g=g&255;h=0;while(1){i=h+1|0;if((m|0)==(d[j+(h<<3)>>0]|0))break;if(i>>>0>>0)h=i;else break b}m=c[j+(h<<3)+4>>2]|0;e=(m|0)==0?e:m}}while(0);if(f|0)a[f>>0]=l;if(!(k<<24>>24)){f=e&1073741823;return f|0}else{f=e&-1073741825;return f|0}return 0}function _v(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=d&255;g=b[40320+((k&127)<<1)>>1]|0;switch(d<<24>>24){case 0:{if((Zv((k<<7|k)&255,0)|0)<0)i=1;else j=6;break}case 24:{h=c[857869]|0;if(!h)j=6;else{j=(_y(h)|0)==0;g=j?110:g;j=6}break}case -122:{g=(g&65535)>>>1;j=6;break}default:j=6}if((j|0)==6)if((f&255)>1){i=e;g=(((g&65535)>>>0)/((f&255)>>>0)|0)&65535}else i=e;f=a[3431436]|0;if(!(f<<24>>24)){k=g;return k|0}h=0;e=c[857860]|0;while(1){if((a[e>>0]|0)==d<<24>>24?(a[e+1>>0]&1)==i<<24>>24:0)break;h=h+1<<24>>24;if((h&255)>=(f&255)){j=17;break}else e=e+4|0}if((j|0)==17)return g|0;h=b[e+2>>1]|0;e=h&65535;if(e&32768|0){k=((M(e&32767,g&65535)|0)+128|0)>>>8&65535;return k|0}if((k&128|0)==0|(a[3432187]|0)==0){k=h;return k|0}k=e<<1&65535;return k|0}function $v(b,d){b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;e=c[857782]|0;if(e>>>0<=d>>>0)if((e|0)!=(d|0)){if(e>>>0>>0){d=3;f=5}}else{d=2;f=5}else{d=1;f=5}if((f|0)==5)a[b+8>>0]=d;c[b+16>>2]=1;f=b+20|0;b=b+24|0;c[b>>2]=(c[b>>2]|0)-(c[f>>2]|0);c[f>>2]=0;return}function aw(a,b,d){a=a|0;b=b|0;d=d|0;xm(a,b,d);if(!(a&1)){nz(c[b+4>>2]|0,0,d<<2|0)|0;return}else{nz(c[b>>2]|0,0,d<<2|0)|0;return}}function bw(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(!d){a[b+8>>0]=-1;return}e=c[857782]|0;a:do if(d>>>0>=e>>>0){if((d|0)==(e|0)){a[b+8>>0]=2;f=13;break}f=b+8|0;if(d>>>0>e>>>0){a[f>>0]=3;e=f;d=3;f=10;break}else{d=a[f>>0]|0;switch(d<<24>>24){case 3:case 1:{e=f;f=10;break a}default:{f=14;break a}}}}else{e=b+8|0;a[e>>0]=1;d=1;f=10}while(0);b:do if((f|0)==10){switch(a[3432184]|0){case 2:break;case 1:{if(d<<24>>24!=3){f=14;break b}break}default:{f=14;break b}}a[e>>0]=0;f=13}while(0);if((f|0)==13){f=b+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0}else if((f|0)==14?(f=b+16|0,c[f>>2]=0,c[f+4>>2]=0,c[f+8>>2]=0,c[f+12>>2]=0,c[f+16>>2]=0,d<<24>>24==1):0){ya[c[b+12>>2]&63](a[b+7>>0]|0,3431556,1);c[b+36>>2]=c[c[857889]>>2];c[b+40>>2]=c[c[857890]>>2];return}c[b+36>>2]=0;c[b+40>>2]=0;return}function cw(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[857877]=0;c[857876]=0;e=0;d=0;b=0;f=0;do{if((a[3373904+(f*48|0)+6>>0]|0)!=-1){i=b&65535;g=3382432+(i*12|0)|0;h=(d|0)==0;c[(h?3431508:d+8|0)>>2]=g;c[g>>2]=3373904+(f*48|0);c[3382432+(i*12|0)+4>>2]=3377840+(f*24|0);e=h?g:e;b=b+1<<16>>16;d=g}if((a[3375872+(f*48|0)+6>>0]|0)!=-1){g=b&65535;i=3382432+(g*12|0)|0;h=(d|0)==0;c[(h?3431508:d+8|0)>>2]=i;c[i>>2]=3375872+(f*48|0);c[3382432+(g*12|0)+4>>2]=3378824+(f*24|0);e=h?i:e;b=b+1<<16>>16;d=i}f=f+1|0}while((f|0)!=41);if(d|0)c[d+8>>2]=0;if(!e)return;d=0;do{switch(a[(c[e>>2]|0)+6>>0]|0){case 16:case 5:break;default:{i=3382432+((b&65535)*12|0)|0;c[((d|0)==0?3431504:d+8|0)>>2]=i;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];b=b+1<<16>>16;d=i}}e=c[e+8>>2]|0}while((e|0)!=0);if(!d)return;c[d+8>>2]=0;return}function dw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;do switch(a<<24>>24){case 0:{bu(b,c&255,e);return}case 1:{bj(b,0,d);bj(b,1,e);return}case 2:{c=(c&255)<<1;xl(b,c,d);xl(b,c|1,e);return}case 3:{Kf(b,0,d);Kf(b,1,e);return}case 40:{_c(b,d&255,e);return}case 5:{As(b,d&255,e);return}case 6:{_g(b,0,d);_g(b,1,e);return}case 7:{c=(c&255)<<1;Lj(b,c,d);Lj(b,c|1,e);return}case 8:{c=(c&255)<<1;mk(b,c,d);mk(b,c|1,e);return}case 9:{Zm(b,0,d);Zm(b,1,e);return}case 10:{sm(b,0,d);sm(b,1,e);return}case 11:{Nn(b,0,d);Nn(b,1,e);return}case 12:{c=(c&255)<<1;Xe(b,c,d);Xe(b,c|1,e);return}case 13:{c=(c&255)<<1;fv(b,c,d);fv(b,c|1,e);return}case 14:{c=(c&255)<<1;Du(b,c,d);Du(b,c|1,e);return}case 15:{Ev(b,0,d);Ev(b,1,e);return}case 16:{Us(b,d&255,e);return}case 17:{ls(b,c,((d&255)<<8|e&255)&65535);return}case 18:{Yn(b,0,d);Yn(b,1,e);return}case 19:{Yo(b,d&255,e);return}case 20:{jr(b,d&255,e);return}case 21:{Vp(b,d&255,e);return}case 22:{ru(b,d,e);return}case 23:{zr(b,d,e);return}case 24:{Rr(b,d&255,e);return}case 25:{c=(c&255)<<1;op(b,c,d);op(b,c|1,e);return}case 26:{Ep(b,(c&255)<<8|d&255,e);return}case 27:{Fo(b,d&255,e);return}case 28:{$n(b,(c&255)<<8|d&255,e);return}case 29:{wp(b,d&255,e);return}case 30:{as(b,d&255,e);return}case 31:{qs(b,0,c);qs(b,1,d);qs(b,2,e);return}case 32:{pt(b,(c&255)<<8|d&255,e);return}case 33:{Ec(b,d|-128,e);return}case 34:{Kc(b,(c&255)<<8|d&255,e);return}case 35:{Wc(b,d);Xc(b,e);return}case 36:{Id(b,d&255,e);return}case 37:{a=c&255;if(!(a&128)){qd(b,a,e);return}else{zd(b,a&127,((d&255)<<8|e&255)&65535);return}}case 38:{zc(b,(c&255)<<8|d&255,e);return}case 39:{Sd(b,c&255,((d&255)<<8|e&255)&65535);return}default:return}while(0)}function ew(){var e=0,f=0,h=0.0,i=0.0,k=0,l=0,m=0;if((a[3432189]|0)!=-1)return;a[3432190]=0;g[857789]=1.0;a[3432191]=0;c[857790]=0;a[3432192]=1;a:do if(!(b[1716077]|0))k=16;else{e=0;f=0;do{b:do if(Zv(f,0)|0){switch(f&127){case 18:case 0:{e=e|4;break b}case 1:break;default:k=7}if((k|0)==7?(k=0,(f+-9&255)>=4):0){e=e|1;break}e=e|2}while(0);f=f+1<<24>>24}while((f&255)<41);if(!(a[3432182]|0)){f=e&255;e=(f&1|0)==0?e:f&253;f=e&255;if(e<<24>>24!=4){if((f&5|0)==5)e=f&251}else e=1}l=e&255;switch(((l>>>1&2|l&251)&255)<<24>>24){case 1:case 0:{k=16;break a}case 2:{a[3432189]=1;l=1;break a}case 3:{a[3432189]=2;l=2;break a}default:{l=a[3432189]|0;break a}}}while(0);if((k|0)==16){a[3432189]=0;l=0}k=l<<24>>24!=0;a[3432193]=k&1;f=a[3431288]|0;e=f&255;h=+g[857784];h=+ma(+(+(((f&255)<193?e:f<<24>>24==-63?-64:e|-256)|0)*.03125))*h;g[857848]=h;e=(g[j>>2]=h,c[j>>2]|0);do if(k){i=+g[857785];if(i>0.0){g[857848]=i;e=(g[j>>2]=i,c[j>>2]|0);break}if(i<0.0){i=-(i*h);g[857848]=i;e=(g[j>>2]=i,c[j>>2]|0)}}while(0);c[857849]=e;e=c[857786]|0;if(!e)e=0;else{e=((M(e,d[3431291]|0)|0)+8|0)>>>4;e=e-(a[3431290]|0)|0;e=(e|0)>1?e:1}c[857850]=e;f=c[857787]|0;e=c[857800]|0;if((f|0)!=0&(e|0)!=0){m=fw(e,f)|0;k=(e>>>0)/(m>>>0)|0;e=(f>>>0)/(m>>>0)|0}else{k=1;e=1}f=M(k,c[857782]|0)|0;k=M(c[857851]|0,e)|0;m=fw(f,k)|0;c[857891]=(f>>>0)/(m>>>0)|0;c[857892]=(k>>>0)/(m>>>0)|0;c[857852]=0;a[3432194]=0;m=c[857804]|0;c[857853]=m;c[857854]=0;c[857855]=0;a[3432195]=0;c[857856]=0;if(m>>>0>=(c[857792]|0)>>>0)a[3432195]=1;c:do if(!(a[3432186]|0))switch(l<<24>>24){case 2:{Wv();break c}case 1:{Wv();break c}default:break c}while(0);Xv(0);if(a[3432193]|0)a[3432191]=1;b[1716078]=-1;a[3432196]=1;gw(0);a[3432196]=0;a[3432192]=0;a[3432191]=1;return}function fw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b|a;if(!((a|0)!=0&(b|0)!=0))return c|0;if(!(c&1)){c=0;do{a=a>>>1;b=b>>>1;c=c+1|0}while(((b|a)&1|0)==0)}else c=0;while(1)if(!(a&1))a=a>>>1;else break;do{while(1)if(!(b&1))b=b>>>1;else break;e=a>>>0>>0;d=a;a=e?a:b;b=(e?b-d|0:d-b|0)>>>1}while((b|0)!=0);e=a<>>0>1&(a[3432197]|0)!=0){e=b+-1|0;f=0;do{Mo(a[3381664+f>>0]|0,e);f=f+1|0}while(f>>>0<(d[3432197]|0)>>>0)}if(!(a[3432188]|0))hw(b);else iw(b);e=(b|0)!=0;if(e&(a[3432197]|0)!=0){f=0;do{Mo(a[3381664+f>>0]|0,1);f=f+1|0}while(f>>>0<(d[3432197]|0)>>>0)}if(!(e&(a[3432191]|0)!=0)){f=c[857855]|0;f=f+b|0;c[857855]=f;f=c[857852]|0;b=f+b|0;c[857852]=b;return}a[3432191]=0;f=c[857855]|0;f=f+b|0;c[857855]=f;f=c[857852]|0;b=f+b|0;c[857852]=b;return}function hw(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(a[3432195]|0)return;f=ow((c[857855]|0)+e|0)|0;g=c[857854]|0;if((g|0)>(f|0))return;o=f;f=c[857853]|0;a:while(1){n=(c[857861]|0)+f|0;h=a[n>>0]|0;i=h&255;b:do if((h+-112&255)<32){switch((i&240)<<24>>24){case 112:{c[857854]=g+1+(i&15);break}case -128:{h=pw()|0;if(c[857802]|0){dw(2,0,0,42,h);f=c[857853]|0;g=c[857854]|0}c[857854]=g+(i&15);break}default:{}}f=f+1|0;c[857853]=f;h=o}else{do switch(h<<24>>24){case 48:{if(!(c[857794]&1073741824))i=285;else{g=1;i=44}break}case 63:{if(!(c[857794]&1073741824))i=285;else{g=1;i=108}break}case -95:{if(!(c[857795]&1073741824))i=286;else{g=1;i=47}break}case -93:case -94:{if(!(c[857802]&1073741824)){j=0;i=30}else{j=1;h=i+176&255;i=30}break}case -92:{if(!(c[857803]&1073741824))i=286;else{g=1;i=111}break}case -91:{if(!(c[857808]&1073741824))i=286;else{g=1;i=123}break}case -89:case -90:{if(!(c[857809]&1073741824)){j=0;i=30}else{j=1;h=i+176&255;i=30}break}case -87:case -88:{if(!(c[857810]&1073741824)){j=0;i=30}else{j=1;h=i+176&255;i=30}break}case -86:{if(!(c[857811]&1073741824))i=286;else{g=1;i=132}break}case -85:{if(!(c[857812]&1073741824))i=286;else{g=1;i=135}break}case -84:{if(!(c[857813]&1073741824))i=286;else{g=1;i=138}break}case -81:case -82:{if(!(c[857814]&1073741824)){j=0;i=30}else{j=1;h=i+176&255;i=30}break}case -83:{if(!(c[857817]&1073741824))i=286;else{g=1;i=144}break}default:{j=0;i=30}}while(0);c:do if((i|0)==30){i=h&255;do switch(h<<24>>24){case 80:{g=j;i=44;break c}case 81:{g=j;i=47;break c}case 79:{g=j;i=108;break c}case 84:{g=j;i=111;break c}case 85:{g=j;i=123;break c}case 90:{g=j;i=132;break c}case 91:{g=j;i=135;break c}case 92:{g=j;i=138;break c}case 93:{g=j;i=144;break c}case 102:{j=c[857798]|0;if(!j){if((c[857797]|0)!=(g|0))c[857797]=g;a[3432195]=1;h=o;break b}c[857853]=j;i=c[857799]|0;c[857854]=g-i;h=qw(i)|0;h=(c[857855]|0)-h|0;c[857855]=h;h=ow(h+e|0)|0;g=c[857856]|0;o=g+1|0;c[857856]=o;f=a[3432190]|0;if(((c[857850]|0)+-1|0)>>>0>>0){if(!(f<<24>>24)){o=M(g,i)|0;c[857790]=qw((c[857797]|0)+o|0)|0}a[3432190]=1;f=1}if(f<<24>>24==0|(c[857783]|0)!=0){f=j;break b}a[3432195]=1;f=j;break b}case 98:{c[857854]=g+735;f=f+1|0;c[857853]=f;h=o;break b}case 99:{c[857854]=g+882;f=f+1|0;c[857853]=f;h=o;break b}case 97:{h=n+1|0;c[857854]=g+((rw(a[h>>0]|0,a[h+1>>0]|0)|0)&65535);f=f+3|0;c[857853]=f;h=o;break b}case 83:case 82:{if((a[3373904+((j&255)*1968|0)+102>>0]|0)!=-1){dw(2,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 103:{l=a[n+2>>0]|0;k=sw(n+3|0)|0;m=k&2147483647;k=(k|0)<0?1:j;j=l&255;d:do switch((l&255)>>>6&3){case 1:case 0:{tw(l,m,n+7|0);break}case 2:{if(!(c[857856]|0)){g=sw(n+7|0)|0;h=sw(n+11|0)|0;i=m+-8|0;f=n+15|0;do switch(l<<24>>24){case -128:{if((a[3373904+((k&255)*1968|0)+198>>0]|0)==-1)break d;Js(k,g,h,i,f);break d}case -127:{if((a[3373904+((k&255)*1968|0)+342>>0]|0)==-1)break d;Qj(k,g,h,i,f);break d}case -125:case -126:{if((a[3373904+((k&255)*1968|0)+390>>0]|0)==-1)break d;pk(k,j+127&255,g,h,i,f);break d}case -124:{if((a[3373904+((k&255)*1968|0)+630>>0]|0)==-1)break d;ov(k,g,h,i,f);break d}case -123:{if((a[3373904+((k&255)*1968|0)+678>>0]|0)==-1)break d;Ru(k,g,h,i,f);break d}case -122:{if((a[3373904+((k&255)*1968|0)+726>>0]|0)==-1)break d;Fv(k,g,h,i,f);break d}case -109:{if((a[3373904+((k&255)*1968|0)+1926>>0]|0)==-1)break d;dd(k,g,h,i,f);break d}case -120:{if((a[3432189]|0)==1?1:(a[3373904+((k&255)*1968|0)+534>>0]|0)==-1)break d;Pn(k,g,h,i,f);break d}case -119:{if((a[3373904+((k&255)*1968|0)+1014>>0]|0)==-1)break d;$p(k,g,h,i,f);break d}case -118:{if((a[3373904+((k&255)*1968|0)+1062>>0]|0)==-1)break d;su(k,g,h,i,f);break d}case -117:{if((a[3373904+((k&255)*1968|0)+1158>>0]|0)==-1)break d;Ur(k,g,h,i,f);break d}case -116:{if((a[3373904+((k&255)*1968|0)+1254>>0]|0)==-1)break d;Kp(k,g,h,i,f);break d}case -115:{if((a[3373904+((k&255)*1968|0)+1350>>0]|0)==-1)break d;ho(k,g,h,i,f);break d}case -114:{if((a[3373904+((k&255)*1968|0)+1398>>0]|0)==-1)break d;yp(k,g,h,i,f);break d}case -113:{if((a[3373904+((k&255)*1968|0)+1494>>0]|0)==-1)break d;ss(k,g,h,i,f);break d}case -112:{if((a[3373904+((k&255)*1968|0)+1782>>0]|0)==-1)break d;Ad(k,g,h,i,f);break d}case -111:{if((a[3373904+((k&255)*1968|0)+1830>>0]|0)==-1)break d;Ac(k,g,h,i,f);break d}case -110:{if((a[3373904+((k&255)*1968|0)+1878>>0]|0)==-1)break d;Ud(k,g,h,i,f);break d}default:break d}while(0)}break}case 3:{f=n+7|0;if(!(j&32)){i=(rw(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;g=9;f=-2}else{i=sw(f)|0;g=11;f=-4}h=m+f|0;f=n+g|0;switch(l<<24>>24){case -64:{if((a[3373904+((k&255)*1968|0)+246>>0]|0)==-1)break d;Cs(k,i,h,f);break d}case -63:{if((a[3373904+((k&255)*1968|0)+774>>0]|0)==-1)break d;Ws(k,i,h,f);break d}case -62:{if((a[3373904+((k&255)*1968|0)+966>>0]|0)==-1)break d;kr(k,i,h,f);break d}case -32:{if((a[3373904+((k&255)*1968|0)+1542>>0]|0)==-1)break d;Ct(k,i,h,f);break d}default:break d}}default:{i=105;break a}}while(0);f=m+7+(c[857853]|0)|0;c[857853]=f;h=o;break b}case -32:{c[845036]=sw(n+1|0)|0;f=f+5|0;c[857853]=f;h=o;break b}case -64:{g=n+1|0;g=rw(a[g>>0]|0,a[g+1>>0]|0)|0;h=(g&65535)>>>15;if((a[3373904+((h&65535)*1968|0)+198>>0]|0)!=-1){Is(h&255,g&32767,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -80:{if((a[3373904+((j&255)*1968|0)+246>>0]|0)!=-1){dw(5,j,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -63:{if((a[3373904+((j&255)*1968|0)+246>>0]|0)!=-1){f=n+1|0;f=(rw(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;Bs(j,f,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case 87:case 86:{if((a[3373904+((j&255)*1968|0)+342>>0]|0)!=-1){dw(7,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 89:case 88:{if((a[3373904+((j&255)*1968|0)+390>>0]|0)!=-1){dw(8,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 95:case 94:{if((a[3373904+((j&255)*1968|0)+582>>0]|0)!=-1){dw(12,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -48:{if((a[3373904+((j&255)*1968|0)+630>>0]|0)!=-1){f=a[n+1>>0]|0;dw(13,(f&255)>>>7,f&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -47:{if((a[3373904+((j&255)*1968|0)+678>>0]|0)!=-1){f=a[n+1>>0]|0;dw(14,(f&255)>>>7,f&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -79:{if((a[3373904+((j&255)*1968|0)+774>>0]|0)!=-1){dw(16,j,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -62:{if((a[3373904+((j&255)*1968|0)+774>>0]|0)!=-1){f=n+1|0;f=(rw(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;Vs(j,f,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -78:{if((a[3373904+((j&255)*1968|0)+822>>0]|0)!=-1){f=a[n+1>>0]|0;dw(17,j,(f&255)>>>4,f&15,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 104:{l=a[n+2>>0]|0;i=(l&255)>>>7;j=l&127;g=n+3|0;g=uw(a[g>>0]|0,a[g+1>>0]|0,a[g+2>>0]|0)|0;k=n+6|0;k=uw(a[k>>0]|0,a[k+1>>0]|0,a[k+2>>0]|0)|0;h=n+9|0;h=uw(a[h>>0]|0,a[h+1>>0]|0,a[h+2>>0]|0)|0;h=(h|0)==0?h+16777216|0:h;g=vw(j,g)|0;if(!g){f=f+12|0;c[857853]=f;h=o;break b}switch(l&127){case 1:{if((a[3373904+((i&255)*1968|0)+246>>0]|0)!=-1)Cs(i,k,h,g);break}case 2:{if((a[3373904+((i&255)*1968|0)+774>>0]|0)!=-1)Ws(i,k,h,g);break}case 6:{if((a[3373904+((i&255)*1968|0)+1542>>0]|0)!=-1)Ct(i,k,h,g);break}case 7:{if((a[3373904+((i&255)*1968|0)+966>>0]|0)!=-1){b[1716078]=((c[3380128+((j&255)*24|0)+8>>2]|0)>>>0)/(h>>>0)|0;kr(i,k,h,g)}break}default:{}}f=(c[857853]|0)+12|0;c[857853]=f;h=o;break b}case -96:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+870>>0]|0)!=-1){dw(18,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -77:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+918>>0]|0)!=-1){dw(19,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -76:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+966>>0]|0)!=-1){dw(20,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -75:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1014>>0]|0)!=-1){dw(21,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -61:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1014>>0]|0)!=-1){f=n+2|0;_p(h,g&127,rw(a[f>>0]|0,a[f+1>>0]|0)|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -74:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1062>>0]|0)!=-1){dw(22,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -73:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1110>>0]|0)!=-1){dw(23,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -72:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1158>>0]|0)!=-1){dw(24,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -46:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1206>>0]|0)!=-1){dw(25,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -45:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1254>>0]|0)!=-1){dw(26,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -71:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1302>>0]|0)!=-1){dw(27,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -44:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1350>>0]|0)!=-1){dw(28,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -70:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1398>>0]|0)!=-1){dw(29,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -69:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1446>>0]|0)!=-1){dw(30,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -60:{if((a[3373904+((j&255)*1968|0)+1494>>0]|0)!=-1){dw(31,j,a[n+1>>0]|0,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -59:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1542>>0]|0)!=-1){dw(32,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -68:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1590>>0]|0)!=-1){dw(33,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -58:{g=n+1|0;h=a[g>>0]|0;i=(h&255)>>>7;if((a[3373904+((i&255)*1968|0)+1590>>0]|0)!=-1){f=(ww(h,a[g+1>>0]|0)|0)&32767;Ic(i,f,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -57:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1638>>0]|0)!=-1){dw(34,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -67:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1686>>0]|0)!=-1){dw(35,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -43:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1734>>0]|0)!=-1){dw(36,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -66:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1782>>0]|0)!=-1){dw(37,h,g&127,0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -42:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1782>>0]|0)!=-1){dw(37,h,g|-128,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -56:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1830>>0]|0)!=-1){dw(38,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[857853]|0}f=f+4|0;c[857853]=f;h=o;break b}case -31:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1878>>0]|0)!=-1){Sd(h,(g&255)<<8&32512|d[n+2>>0],(d[n+3>>0]<<8|d[n+4>>0])&65535);f=c[857853]|0}f=f+5|0;c[857853]=f;h=o;break b}case -65:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3373904+((h&255)*1968|0)+1926>>0]|0)!=-1){dw(40,h,0,g&127,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case -112:{g=a[n+1>>0]|0;if(g<<24>>24==-1){f=f+5|0;c[857853]=f;h=o;break b}f=3381920+((g&255)<<1)|0;if(!(a[f>>0]|0)){Po(g);Ro(g);a[f>>0]=1;m=a[3432197]|0;a[3381664+(m&255)>>0]=g;a[3432197]=m+1<<24>>24}h=a[n+2>>0]|0;f=n+3|0;So(g,h&127,(h&255)>>>7,ww(a[f>>0]|0,a[f+1>>0]|0)|0);f=(c[857853]|0)+5|0;c[857853]=f;h=o;break b}case -111:{g=a[n+1>>0]|0;if(g<<24>>24!=-1?(p=g&255,a[3381920+(p<<1)>>0]|0):0){h=a[n+2>>0]|0;h=(h&255)>63?0:h;a[3381920+(p<<1)+1>>0]=h;h=h&255;b[1716078]=c[3380128+(h*24|0)>>2];To(g,c[3380128+(h*24|0)+12>>2]|0,c[3380128+(h*24|0)+8>>2]|0,a[n+3>>0]|0,a[n+4>>0]|0);f=f+5|0;c[857853]=f;h=o;break b}f=f+5|0;c[857853]=f;h=o;break b}case -110:{g=a[n+1>>0]|0;if(g<<24>>24!=-1?a[3381920+((g&255)<<1)>>0]|0:0){Vo(g,sw(n+2|0)|0);f=f+6|0;c[857853]=f;h=o;break b}f=f+6|0;c[857853]=f;h=o;break b}case -109:{g=a[n+1>>0]|0;if((g<<24>>24!=-1?(q=g&255,a[3381920+(q<<1)>>0]|0):0)?c[3380128+((d[3381920+(q<<1)+1>>0]|0)*24|0)>>2]|0:0){m=sw(n+2|0)|0;h=a[n+6>>0]|0;Wo(g,m,h,sw(n+7|0)|0);f=f+11|0;c[857853]=f;h=o;break b}f=f+11|0;c[857853]=f;h=o;break b}case -108:{g=a[n+1>>0]|0;if(!(a[3381920+((g&255)<<1)>>0]|0)){f=f+2|0;c[857853]=f;h=o;break b}if(g<<24>>24==-1){f=0;do{Xo(f);f=f+1<<24>>24}while(f<<24>>24!=-1);f=c[857853]|0}else Xo(g);f=f+2|0;c[857853]=f;h=o;break b}case -107:{g=a[n+1>>0]|0;if((g<<24>>24!=-1?(r=g&255,a[3381920+(r<<1)>>0]|0):0)?(s=d[3381920+(r<<1)+1>>0]|0,t=c[3380128+(s*24|0)>>2]|0,t|0):0){f=n+2|0;f=rw(a[f>>0]|0,a[f+1>>0]|0)|0;b[1716078]=t;f=f&65535;h=c[3380128+(s*24|0)+4>>2]|0;f=t>>>0>f>>>0?f:0;n=d[n+4>>0]|0;Wo(g,c[h+(f*12|0)+8>>2]|0,(n<<7|n&16|15)&255,c[h+(f*12|0)>>2]|0);f=(c[857853]|0)+5|0;c[857853]=f;h=o;break b}f=f+5|0;c[857853]=f;h=o;break b}default:switch((h&255)>>>4&15){case 3:{i=285;break c}case 11:case 10:case 5:case 4:{i=286;break c}case 2:case 1:case 0:{f=f+1|0;c[857853]=f;h=o;break b}case 13:case 12:{f=f+4|0;c[857853]=f;h=o;break b}case 15:case 14:{f=f+5|0;c[857853]=f;h=o;break b}default:{a[3432195]=1;a[3432194]=1;h=o;break b}}}while(0)}while(0);switch(i|0){case 44:{if((a[3373904+((g&255)*1968|0)+6>>0]|0)!=-1){dw(0,g,0,0,a[n+1>>0]|0);f=c[857853]|0}f=f+2|0;c[857853]=f;h=o;break b}case 47:{if((a[3373904+((g&255)*1968|0)+54>>0]|0)!=-1){dw(1,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 108:{if((a[3373904+((g&255)*1968|0)+6>>0]|0)!=-1){dw(0,g,1,0,a[n+1>>0]|0);f=c[857853]|0}f=f+2|0;c[857853]=f;h=o;break b}case 111:{if((a[3373904+((g&255)*1968|0)+150>>0]|0)!=-1){dw(3,g,1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 123:{if((a[3373904+((g&255)*1968|0)+294>>0]|0)!=-1){dw(6,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 132:{if((a[3373904+((g&255)*1968|0)+438>>0]|0)!=-1){dw(9,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 135:{if((a[3373904+((g&255)*1968|0)+486>>0]|0)!=-1){dw(10,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 138:{if((a[3373904+((g&255)*1968|0)+534>>0]|0)!=-1){dw(11,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 144:{if((a[3373904+((g&255)*1968|0)+726>>0]|0)!=-1){dw(15,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[857853]|0}f=f+3|0;c[857853]=f;h=o;break b}case 285:{f=f+2|0;c[857853]=f;h=o;break b}case 286:{f=f+3|0;c[857853]=f;h=o;break b}}}while(0);if(f>>>0>=(c[857792]|0)>>>0){i=291;break}if(a[3432195]|0){i=293;break}g=c[857854]|0;if((g|0)>(h|0)){i=293;break}else o=h}if((i|0)!=105)if((i|0)==291){a[3432195]=1;return}else if((i|0)==293)return}function iw(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=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;E=k;k=k+16|0;t=E;B=E+8|0;if(a[3432195]|0){k=E;return}switch(a[3432188]|0){case 1:{if(!b){c[857448]=-1;c[857449]=-1;c[857450]=-1;c[857451]=-1;c[857452]=-1;c[857453]=-1;c[857454]=-1;c[857455]=-1;c[857456]=-1;c[857457]=-1;c[857458]=-1;c[857459]=-1;c[857460]=0;c[857461]=0;c[857462]=0;c[857463]=0;l=c[857853]|0;e=c[857854]|0;g=c[857804]|0;c[857853]=g;i=c[857861]|0;f=e;a:while(1){f=f+(jw(B)|0)|0;c[857854]=f;h=g+(c[B>>2]|0)|0;c[857853]=h;g=a[i+h>>0]|0;if(g<<24>>24<0){h=h+1|0;c[857853]=h}else g=a[45768]|0;switch(((g&-16&255)+-128|0)>>>4&268435455|0){case 7:{if(g<<24>>24==-1)if((a[i+h>>0]|0)==47)break a;else o=h;else{m=1;w=13}break}case 6:case 3:case 2:case 1:case 0:{m=2;w=13;break}case 5:case 4:{m=1;w=13;break}default:{n=h;w=14}}if((w|0)==13){n=h+m|0;c[857853]=n;w=14}if((w|0)==14){w=0;if((g&255)<240){a[45768]=g;o=n}else o=n}g=o}c[857797]=f;c[857799]=f;c[857853]=l;c[857854]=e}else e=c[857854]|0;f=kw((c[857855]|0)+b|0)|0;e=e+(jw(B)|0)|0;if((e|0)>(f|0)){k=E;return}g=c[857853]|0;b:while(1){c[857854]=e;h=g+(c[B>>2]|0)|0;c[857853]=h;v=c[857861]|0;g=a[v+h>>0]|0;if(g<<24>>24<0){h=h+1|0;c[857853]=h}else g=a[45768]|0;l=g&255;t=l&15;i=a[3432213]&32;do if(i<<24>>24)if(t>>>0<11){r=(t>>>0)/6|0;a[3432215]=r;r=t+(M(r,-6)|0)|0;break}else{s=t+245&255;r=(s>>>0)%3|0;a[3432215]=0;r=(s+-3|0)>>>0<3&(r|0)==0?8:r+6|0;break}else{r=(t>>>0)/9|0;a[3432215]=r;r=t-(0-r&9)|0}while(0);a[3432215]=0;q=r&255;s=i<<24>>24!=0&q>>>0>5;i=l&240;c:do switch((i+-128|0)>>>4&268435455|0){case 4:{w=68;break b}case 7:{if(g<<24>>24!=-1){u=h+1|0;w=71;break c}if((a[v+h>>0]|0)==47){i=c[857887]|0;if((i|0)==1){w=38;break b}l=c[857804]|0;c[857853]=l;j=c[857799]|0;c[857854]=e-j;j=lw(j)|0;j=(c[857855]|0)-j|0;c[857855]=j;j=kw(j+b|0)|0;x=(c[857856]|0)+1|0;c[857856]=x;if((i+-1|0)>>>0>>0){a[3432190]=1;e=1}else e=a[3432190]|0;if(e<<24>>24==0|(c[857783]|0)!=0)x=l;else{w=37;break b}}else{j=f;x=h}break}case 1:case 0:{m=a[v+h>>0]|0;e=mw(m,a[3429840+q>>0]|0)|0;if((i|0)==128)l=0;else l=(a[v+(h+1)>>0]|0)!=0&1;o=e&255;if(s)n=(e&65535)>>>8&255;else n=(((l&255)<<13|e&65535)&65535)>>>8&255;p=l<<24>>24!=0;a[3432215]=0;e=3429808+q|0;i=(a[e>>0]|0)==-1;do if(!p){if(i){a[3432215]=1;e=3429808+(q|16)|0;if((a[e>>0]|0)==-1){a[3432215]=-1;break}else i=1}else i=0;a[e>>0]=-1;if(s){C=0;w=55}else{y=i;z=0;w=54}}else{if(i){i=e;e=0}else{i=3429808+(q|16)|0;y=(a[i>>0]|0)==-1;z=y&1;a[3432215]=z;i=y?i:e;e=z}a[i>>0]=m;if(!s){nw(e,r&255,g,a[3429792+t>>0]|0,a[v+(h+1)>>0]|0);e=a[3432215]|0}y=e;z=l&255;w=54}while(0);if((w|0)==54?(w=0,dw(9,y,0,(r|160)&255,o),dw(9,a[3432215]|0,0,(r|176)&255,n),s):0){C=z;w=55}if((w|0)==55){m=t^15;e=a[3432215]|0;i=3432213+(e&255)|0;l=(1<>0]&255;a[i>>0]=l;if(p){dw(9,e,0,-67,l);e=a[3432215]|0;l=3432213+(e&255)|0;i=l;l=a[l>>0]|0}w=(C<>0]=w;dw(9,e,0,-67,w)}u=(c[857853]|0)+2|0;w=71;break}case 3:{switch(a[v+h>>0]|0){case 105:{A=3429840+q|0;a[A>>0]=0-(d[v+(h+1)>>0]|0);w=63;break}case 103:{u=(a[v+(h+1)>>0]|0)==0?-64:-32;a[3432213]=u;a[3432214]=u;dw(9,0,0,-67,u);dw(9,a[3432215]|0,0,-67,a[3432214]|0);break}case 104:{A=3429840+q|0;a[A>>0]=a[v+(h+1)>>0]|0;w=63;break}default:{}}if((w|0)==63){a[3432215]=0;m=(r|160)&255;l=(r|176)&255;e=0;do{i=a[3429808+((e&255)<<4|q)>>0]|0;if(!(s|i<<24>>24==-1)){w=mw(i,a[A>>0]|0)|0;dw(9,e,0,m,w&255);dw(9,a[3432215]|0,0,l,(w&65535)>>>8&255|32);e=a[3432215]|0}e=e+1<<24>>24;a[3432215]=e}while((e&255)<2)}u=(c[857853]|0)+2|0;w=71;break}case 6:case 2:{u=h+2|0;w=71;break}case 5:{u=h+1|0;w=71;break}default:{D=h;w=72}}while(0);if((w|0)==71){c[857853]=u;D=u;w=72}if((w|0)==72){w=0;if((g&255)<240){a[45768]=g;j=f;x=D}else{j=f;x=D}}if(a[3432195]|0){w=98;break}e=jw(B)|0;e=(c[857854]|0)+e|0;if((e|0)>(j|0)){w=98;break}else{f=j;g=x}}if((w|0)==37){a[3432195]=1;k=E;return}else if((w|0)==38){a[3432195]=1;k=E;return}else if((w|0)==68){a[3429792+t>>0]=a[v+h>>0]|0;a[3432215]=0;ra()}else if((w|0)==98){k=E;return}break}case 2:{if(!b){e=-1;do{dw(9,0,0,e,0);e=e+-1<<24>>24}while((e&255)>31);dw(9,0,0,8,0);dw(9,0,0,1,0);e=1}else e=0;o=kw((c[857855]|0)+b|0)|0;f=c[857854]|0;if((f|0)>(o|0)){k=E;return}n=0;m=e;l=c[857853]|0;while(1){h=c[857861]|0;e=a[h+l>>0]|0;g=e<<24>>24==0?0:e<<24>>24==1?-1:e;b=m<<24>>24==0|(g&255)<(n&255);n=b?n:g;m=b?0:m;i=l+1|0;j=h+i|0;g=b?g:-1;d:while(1){switch(g<<24>>24){case 0:{w=84;break d}case 3:case 2:{w=87;break d}case 4:{w=89;break d}case 1:break;default:{r=l;s=e;w=90;break d}}q=d[j>>0]|d[j+1>>0]<<8;if((q&-256)<<16>>16==-17152)g=-1;else{w=86;break}}if((w|0)==84){w=0;c[857854]=f+1+(d[j>>0]|0);p=l+2|0}else if((w|0)==86){w=0;c[857854]=f+1+(q&65535);p=l+3|0}else if((w|0)==87){w=0;b=g&1;a[3432215]=b;if(b<<24>>24!=0&(a[3432158]|0)==0){Xy(45769);a[3432158]=1;p=(c[857853]|0)+1|0}else p=i}else if((w|0)==89){c[857853]=i;r=i;s=a[j>>0]|0;w=90}if((w|0)==90){if(!(a[3432215]|0)){dw(9,0,0,s,a[h+(r+1)>>0]|0);e=c[857853]|0}else e=r;p=e+2|0}c[857853]=p;if(p>>>0>=(c[857882]|0)>>>0){w=94;break}if(a[3432195]|0){w=98;break}f=c[857854]|0;if((f|0)>(o|0)){w=98;break}else l=p}if((w|0)==94){e=c[857797]|0;f=c[857854]|0;if((e|0)!=(f|0)){c[t>>2]=e;c[t+4>>2]=f;Wy(45809,t);c[857797]=c[857854]}a[3432195]=1;k=E;return}else if((w|0)==98){k=E;return}break}default:{k=E;return}}}function jw(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=c[857853]|0;g=c[857861]|0;b=0;e=f;do{h=d[g+e>>0]|0;b=h&127|b<<7;e=e+1|0}while((h&128|0)!=0);if(!a)return b|0;c[a>>2]=e-f;return b|0}function kw(a){a=a|0;a=gz(c[857851]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=ez(a|0,x|0,c[857782]|0,0)|0;return a|0}function lw(a){a=a|0;a=gz(c[857782]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=ez(a|0,x|0,c[857851]|0,0)|0;return a|0}function mw(a,b){a=a|0;b=b|0;var c=0.0;a=a&255;c=+ma(+((+(b<<24>>24)*.00390625+ +(a+-69|0))/12.0))*440.0;b=((a>>>0)/12|0)+255|0;a=b<<24;b=(a|0)<0?0:(a|0)>117440512?7:b;return (b<<10|~~(c*+vy(20-(b<<24>>24)|0)/49715.90277777778+.5)&65535)&65535|0}function nw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ra()}function ow(a){a=a|0;a=gz(c[857892]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=ez(a|0,x|0,c[857891]|0,0)|0;return a|0}function pw(){var b=0;b=c[845036]|0;if(b>>>0>=(c[845034]|0)>>>0){b=-128;return b|0}c[845036]=b+1;b=a[(c[845035]|0)+b>>0]|0;return b|0}function qw(a){a=a|0;a=gz(c[857891]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=ez(a|0,x|0,c[857892]|0,0)|0;return a|0}function rw(a,b){a=a|0;b=b|0;return ((b&255)<<8|a&255)&65535|0}function sw(a){a=a|0;return (d[a+2>>0]|0)<<16|(d[a+3>>0]|0)<<24|(d[a+1>>0]|0)<<8|(d[a>>0]|0)|0}function tw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=e&255;p=i&63;if(c[857856]|0)return;if(e<<24>>24==127){xw(f,g);return}e=3380128+(p*24|0)+20|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;e=3380128+(p*24|0)|0;l=c[e>>2]|0;if(n>>>0<=l>>>0)return;h=l+1|0;c[e>>2]=h;if((b[1716078]|0)!=-1)b[1716078]=h;e=3380128+(p*24|0)+4|0;c[e>>2]=hx(c[e>>2]|0,h*12|0)|0;i=(i&64|0)!=0;if(i)k=sw(g+1|0)|0;else k=f;m=3380128+(p*24|0)+12|0;n=3380128+(p*24|0)+8|0;c[m>>2]=hx(c[m>>2]|0,(c[n>>2]|0)+k|0)|0;h=c[e>>2]|0;e=h+(l*12|0)|0;j=c[n>>2]|0;c[h+(l*12|0)+8>>2]=j;do if(i){h=h+(l*12|0)+4|0;c[h>>2]=(c[m>>2]|0)+j;if(!((yw(e,f,g)|0)<<24>>24)){c[h>>2]=0;c[e>>2]=0;break}else{o=14;break}}else{c[e>>2]=f;o=(c[m>>2]|0)+j|0;c[h+(l*12|0)+4>>2]=o;mz(o|0,g|0,f|0)|0;o=14}while(0);if((o|0)==14){if((k|0)!=(c[e>>2]|0))Xy(45859);c[n>>2]=(c[n>>2]|0)+k}e=a[3432197]|0;if(!(e<<24>>24))return;i=0;do{h=a[3381664+i>>0]|0;if((p|0)==(d[3381920+((h&255)<<1)+1>>0]|0))Uo(h,c[m>>2]|0,c[n>>2]|0);i=i+1|0}while(i>>>0<(e&255)>>>0);return}function uw(a,b,c){a=a|0;b=b|0;c=c|0;return (b&255)<<8|(c&255)<<16|a&255|0}function vw(a,b){a=a|0;b=b|0;if((a&255)>63){b=0;return b|0}a=a&255;if((c[3380128+(a*24|0)+8>>2]|0)>>>0<=b>>>0){b=0;return b|0}b=(c[3380128+(a*24|0)+12>>2]|0)+b|0;return b|0}function ww(a,b){a=a|0;b=b|0;return ((a&255)<<8|b&255)&65535|0}function xw(d,e){d=d|0;e=e|0;var f=0,g=0;a[3431532]=a[e>>0]|0;a[3431533]=a[e+1>>0]|0;g=a[e+2>>0]|0;a[3431534]=g;a[3431535]=a[e+3>>0]|0;f=rw(a[e+4>>0]|0,a[e+5>>0]|0)|0;b[1715768]=f;f=M(((g&255)+7|0)>>>3,f&65535)|0;g=hx(c[857885]|0,f)|0;c[857885]=g;mz(g|0,e+6|0,f|0)|0;if((f+6|0)>>>0<=d>>>0)return;Xy(46061);return}function yw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=a[g>>0]|0;l=sw(g+1|0)|0;c[e>>2]=l;switch(z<<24>>24){case 0:{i=a[g+5>>0]|0;j=a[g+6>>0]|0;y=j&255;z=a[g+7>>0]|0;k=rw(a[g+8>>0]|0,a[g+9>>0]|0)|0;if(z<<24>>24==2){h=c[857885]|0;if(!(b[1715768]|0)){c[e>>2]=0;Xy(45905);z=0;return z|0}if(i<<24>>24==(a[3431534]|0)?j<<24>>24==(a[3431535]|0):0){x=h;w=h}else{c[e>>2]=0;Xy(45965);z=0;return z|0}}else{x=0;w=0}v=i&255;t=(v+7|0)>>>3;u=g+f|0;v=v-y|0;i=c[e+4>>2]|0;s=i+l|0;if(!((f|0)>10&(l|0)>0)){z=1;return z|0}q=j<<24>>24==0;r=(t|0)==1;o=k&65535;p=t&255;j=0;h=0;n=i;i=g+10|0;while(1){if(q)k=0;else{g=0;m=y;k=0;while(1){l=m>>>0<8?m:8;m=m-l|0;f=(1<>0]<>8&f;if(j>>>0>7){j=j+-8|0;i=i+1|0;if(!j)j=0;else e=d[i>>0]<>8&f|e}k=e<>24){case 0:{h=k+o|0;break}case 1:{h=(k<>0]|0;break a}case 2:{h=x+(k<<1)|0;h=(rw(a[h>>0]|0,a[h+1>>0]|0)|0)&65535;break a}default:break a}default:{}}while(0);a[n>>0]=h;if(!r)a[n+1>>0]=h>>>8;n=n+t|0;if(!(i>>>0>>0&n>>>0>>0)){h=1;break}}return h|0}case 1:{h=a[g+5>>0]|0;i=a[g+6>>0]|0;u=i&255;k=(rw(a[g+8>>0]|0,a[g+9>>0]|0)|0)&65535;v=c[857885]|0;if(!(b[1715768]|0)){c[e>>2]=0;Xy(45905);z=0;return z|0}j=h&255;if(!(h<<24>>24==(a[3431534]|0)?i<<24>>24==(a[3431535]|0):0)){c[e>>2]=0;Xy(45965);z=0;return z|0}s=(j+7|0)>>>3;t=g+f|0;h=c[e+4>>2]|0;r=h+l|0;if(!((f|0)>10&(l|0)>0)){z=1;return z|0}p=i<<24>>24==0;q=s&255;o=(1<>>0<8?g:8;g=g-l|0;f=(1<>0]<>8&f;if(j>>>0>7){j=j+-8|0;i=i+1|0;if(!j)j=0;else e=d[i>>0]<>8&f|e}k=e<>0]|0);a[n>>0]=h;break}case 2:{z=v+(k<<1)|0;h=o&h+((rw(a[z>>0]|0,a[z+1>>0]|0)|0)&65535);a[n>>0]=h;a[n+1>>0]=h>>>8;break}default:{}}n=n+s|0;if(!(i>>>0>>0&n>>>0>>0)){h=1;break}}return h|0}default:{Xy(46022);z=0;return z|0}}return 0}function zw(b){b=b|0;var d=0;if((a[3432189]|0)==-1)return;d=c[857856]|0;d=M(qw(c[857799]|0)|0,d)|0;d=b-d-(c[857855]|0)|0;a[3432192]=1;if((d|0)<0){Aw();d=(b|0)>0?b:0}gw(d);a[3432192]=0;return}function Aw(){var b=0;b=a[3432192]|0;c[857853]=c[857804];c[857854]=0;c[857855]=0;a[3432195]=0;a[3432194]=0;c[857856]=0;Xv(1);if(a[3432193]|0)a[3432191]=1;a[3432196]=1;gw(0);a[3432196]=0;a[3432190]=0;g[857789]=1.0;c[857790]=0;c[857849]=c[857848];c[857852]=0;a[3432192]=b;return}function Bw(){var e=0,f=0,h=0,i=0,j=0,k=0;c[857782]=44100;c[857783]=5e3;g[857784]=1.0;b[1716077]=0;a[3432182]=0;g[857785]=0.0;a[3432183]=0;c[857786]=2;c[857787]=0;c[857887]=1;a[3432184]=0;a[3432185]=0;c[857788]=0;a[3432186]=0;a[3432187]=0;j=0;do{f=3377840+(j*984|0)|0;h=j&255;e=3373904+(j*1968|0)|0;i=0;while(1){a[f+(i*24|0)>>0]=0;a[f+(i*24|0)+1>>0]=0;b[f+(i*24|0)+4>>1]=0;a[f+(i*24|0)+2>>0]=0;k=f+(i*24|0)+8|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[e+6>>0]=-1;a[e+7>>0]=h;c[e+44>>2]=0;i=i+1|0;if((i|0)==41)break;else e=e+48|0}b[3377840+(j*984|0)+460>>1]=3;b[3377840+(j*984|0)+484>>1]=-31817;a[3379808+(j*144|0)+6>>0]=-1;a[3379808+(j*144|0)+7>>0]=h;c[3379808+(j*144|0)+44>>2]=0;a[3379808+(j*144|0)+54>>0]=-1;a[3379808+(j*144|0)+55>>0]=h;c[3379808+(j*144|0)+92>>2]=0;a[3379808+(j*144|0)+102>>0]=-1;a[3379808+(j*144|0)+103>>0]=h;c[3379808+(j*144|0)+140>>2]=0;e=3377840+(j*984|0)+2|0;a[e>>0]=4;k=ex(8)|0;f=3377840+(j*984|0)+20|0;c[f>>2]=k;b[k>>1]=0;if((d[e>>0]|0)>1){h=1;do{b[(c[f>>2]|0)+(h<<1)>>1]=0;h=h+1|0}while(h>>>0<(d[e>>0]|0)>>>0)}e=3377840+(j*984|0)+26|0;a[e>>0]=14;k=ex(28)|0;f=3377840+(j*984|0)+44|0;c[f>>2]=k;b[k>>1]=0;if((d[e>>0]|0)>1){h=1;do{b[(c[f>>2]|0)+(h<<1)>>1]=0;h=h+1|0}while(h>>>0<(d[e>>0]|0)>>>0)}j=j+1|0}while((j|0)!=2);c[845024]=0;c[845025]=0;c[845026]=0;c[845027]=0;c[845028]=0;c[845029]=0;c[845030]=0;c[845031]=0;c[845024]=3432217;a[3432188]=-1;return}function Cw(){var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+80|0;n=r;o=r+64|0;a[3432216]=0;p=ex((py(3388832)|0)+1|0)|0;ty(p,3388832)|0;q=Ay(p,46243)|0;fx(p);if(!q){xy(46246,20,1,44464)|0;k=r;return}a:do if(!(Ky(q)|0)){p=n;e=0;do{b:while(1){if(!(Jy(n,q)|0))break a;c:do if((a[n>>0]|0)!=59){f=(py(n)|0)+-1|0;h=n+f|0;if((a[h>>0]|0)<32)do{a[h>>0]=0;if(!f)break c;f=f+-1|0;h=n+f|0}while((a[h>>0]|0)<32);if(f|0){l=n;d:while(1){f=a[l>>0]|0;switch(f<<24>>24){case 59:break c;case 91:{j=19;break d}case 32:break;default:{j=18;break d}}l=l+1|0}if((j|0)==18){j=0;i=qy(n,61)|0}else if((j|0)==19){j=0;f=91;i=qy(n,93)|0}if(i|0)break b}}while(0);if(Ky(q)|0)break a}e:do if(f<<24>>24==91){f=l+1|0;e=qy(n,93)|0;if(e|0)a[e>>0]=0;if((Qw(f,46267)|0)<<24>>24){e=0;while(1){if(!((Qw(f,Rw(e)|0)|0)<<24>>24))break;e=e+1<<24>>24;if((e&255)>=41){e=-1;break e}}e=e|-128;if(e<<24>>24==-1)e=-1;else j=177}else{e=0;j=177}}else{i=i-p|0;a[n+i>>0]=0;f=n+(i+-1)|0;if((a[f>>0]|0)==32)do{a[f>>0]=0;f=f+-1|0}while((a[f>>0]|0)==32);if((a[h>>0]|0)==32)do{a[h>>0]=0;h=h+-1|0}while((a[h>>0]|0)==32);j=n+(i+1)|0;while(1)if((a[j>>0]|0)==32)j=j+1|0;else break;switch(e<<24>>24){case 0:{if(!((Qw(l,46275)|0)<<24>>24)){c[857782]=zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46286)|0)<<24>>24)){c[857787]=zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46299)|0)<<24>>24)){a[3432187]=Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46312)|0)<<24>>24)){a[3432216]=Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46325)|0)<<24>>24)){zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46334)|0)<<24>>24)){zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46345)|0)<<24>>24)){zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46357)|0)<<24>>24)){Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46369)|0)<<24>>24)){g[857784]=+Yy(j);e=0;j=177;break e}if(!((Qw(l,46376)|0)<<24>>24)){zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46385)|0)<<24>>24)){c[857786]=zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46394)|0)<<24>>24)){c[857887]=zx(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46406)|0)<<24>>24)){a[3432184]=Ax(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46421)|0)<<24>>24)){a[3432185]=Ax(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46434)|0)<<24>>24)){c[857788]=Ax(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46447)|0)<<24>>24)){Ax(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46460)|0)<<24>>24)){a[3432183]=Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46474)|0)<<24>>24)){a[3432186]=Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46487)|0)<<24>>24)){Ax(j,0)|0;e=0;j=177;break e}if(!((Qw(l,46502)|0)<<24>>24)){b[1716077]=zx(j,16)|0;e=0;j=177;break e}if(!((Qw(l,46509)|0)<<24>>24)){a[3432182]=Sw(j)|0;e=0;j=177;break e}if(!((Qw(l,46517)|0)<<24>>24)){g[857785]=+Yy(j);e=0;j=177;break e}if((Qw(l,46526)|0)<<24>>24){e=0;j=177;break e}Sw(j)|0;e=0;j=177;break e}case -88:case -89:case -90:case -91:case -92:case -93:case -94:case -95:case -96:case -97:case -98:case -99:case -100:case -101:case -102:case -103:case -104:case -105:case -106:case -107:case -108:case -109:case -110:case -111:case -112:case -113:case -114:case -115:case -116:case -117:case -118:case -119:case -120:case -121:case -122:case -123:case -124:case -125:case -126:case -127:case -128:break;default:{j=177;break e}}h=e&127;m=h&255;if(!((Qw(l,46537)|0)<<24>>24)){a[3377840+(m*24|0)>>0]=Sw(j)|0;j=177;break}if(!((Qw(l,46546)|0)<<24>>24)){a[3377840+(m*24|0)+1>>0]=Ax(j,0)|0;j=177;break}if(!((Qw(l,46559)|0)<<24>>24)){if(!(a[40416+m>>0]|0)){j=177;break}h=zx(j,0)|0;i=3377840+(m*24|0)+8|0;c[i>>2]=h;f=a[40464+m>>0]|0;if((f&255)>=32){j=177;break}c[i>>2]=(1<<(f&255))+-1&h;j=177;break}if(!((Tw(l,46568,6)|0)<<24>>24)){i=a[40416+m>>0]|0;if(!(i<<24>>24)){j=177;break}f=Ax(l+6|0,o)|0;h=c[o>>2]|0;if(!h){j=177;break}if(a[h>>0]|0){j=177;break}f=f&255;if(f>>>0>=(i&255)>>>0){j=177;break}l=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24)){l=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&-65|(l&255)<<6;j=177;break e}if(!((Qw(l,46583)|0)<<24>>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}if(!((Qw(l,46595)|0)<<24>>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=(l&255)<<1|b[j>>1]&-3&65535;j=177;break e}if((Qw(l,46602)|0)<<24>>24){j=177;break e}m=3377840+(m*24|0)+4|0;b[m>>1]=((Sw(j)|0)&255)<<2|b[m>>1]&-5&65535;j=177;break e}case 6:{if((Qw(l,46615)|0)<<24>>24){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}case 8:case 7:{if(!((Qw(l,46615)|0)<<24>>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}if(!((Qw(l,46625)|0)<<24>>24)){j=zx(j,0)|0;c[3377840+(m*24|0)+8>>2]=(1<>0])+-1&j;j=177;break e}if(!((Qw(l,46637)|0)<<24>>24)){j=zx(j,0)|0;c[3377840+(m*24|0)+12>>2]=(2<>0])+-1&j;j=177;break e}if(!((Tw(l,46650,8)|0)<<24>>24)){f=Ax(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=177;break e}if(a[h>>0]|0){j=177;break e}f=f&255;if(f>>>0>=(d[40416+m>>0]|0)>>>0){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24){if((Qw(l,46669)|0)<<24>>24){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+12|0;c[j>>2]=c[j>>2]&-65|(l&255)<<6;j=177;break e}f=Ax(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=177;break e}if(a[h>>0]|0){j=177;break e}f=f&255;if(f>>>0>=(d[40416+m>>0]|0)>>>0){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+12|0;c[j>>2]=c[j>>2]&~(1<>24)if((Qw(l,46683)|0)<<24>>24)if((Qw(l,46690)|0)<<24>>24)if((Qw(l,46698)|0)<<24>>24)if((Qw(l,46705)|0)<<24>>24){if(h<<24>>24!=11){j=177;break e}if(!((Qw(l,46669)|0)<<24>>24))f=5;else{j=177;break e}}else f=4;else f=3;else f=2;else f=1;else f=0;l=f+((h&255)<12?9:18)|0;i=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24)){j=zx(j,0)|0;c[3377840+(m*24|0)+8>>2]=(1<>0])+-1&j;j=177;break e}if(!((Qw(l,46712)|0)<<24>>24)){j=zx(j,0)|0;c[3377840+(m*24|0)+12>>2]=(1<>0])+-1&j;j=177;break e}if(!((Tw(l,46650,8)|0)<<24>>24)){f=Ax(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=177;break e}if(a[h>>0]|0){j=177;break e}f=f&255;if(f>>>0>=(d[40416+(m+-1)>>0]|0)>>>0){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24){if((Tw(l,46747,8)|0)<<24>>24){j=177;break e}f=Ax(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=177;break e}if(a[h>>0]|0){j=177;break e}f=f&255;if(f>>>0>=(d[40464+m>>0]|0)>>>0){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+12|0;c[j>>2]=c[j>>2]&~(1<>24)if((Qw(f,46734)|0)<<24>>24){if(!((Qw(f,46737)|0)<<24>>24)){f=20;break}if(!((Qw(f,46741)|0)<<24>>24)){f=21;break}if(!((Qw(f,46744)|0)<<24>>24))f=22;else{j=177;break e}}else f=19;else f=18;while(0);l=Sw(j)|0;j=3377840+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}if(!((Qw(l,46769)|0)<<24>>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=(l&255)<<1|b[j>>1]&-3&65535;j=177;break e}if((Qw(l,46783)|0)<<24>>24){j=177;break e}m=3377840+(m*24|0)+4|0;b[m>>1]=((Sw(j)|0)&255)<<2|b[m>>1]&-5&65535;j=177;break e}case 20:{if(!((Qw(l,46794)|0)<<24>>24)){l=(Ax(j,0)|0)&3;j=3377840+(m*24|0)+4|0;b[j>>1]=l|b[j>>1]&32764;j=177;break e}if(!((Qw(l,46805)|0)<<24>>24)){l=Ax(j,0)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=l<<2&12|b[j>>1]&32755;j=177;break e}if(!((Qw(l,46813)|0)<<24>>24)){l=Ax(j,0)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=l<<4&4080|b[j>>1]&28687;j=177;break e}if((Qw(l,46821)|0)<<24>>24){j=177;break e}m=3377840+(m*24|0)+4|0;b[m>>1]=(Ax(j,0)|0)<<12&4096|b[m>>1]&28671;j=177;break e}case 23:{if(!((Qw(l,46829)|0)<<24>>24)){l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}if((Qw(l,46841)|0)<<24>>24){j=177;break e}m=3377840+(m*24|0)+4|0;b[m>>1]=((Sw(j)|0)&255)<<1|b[m>>1]&-3&65535;j=177;break e}case 32:{if((Qw(l,46853)|0)<<24>>24){j=177;break e}l=Sw(j)|0;j=3377840+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=177;break e}default:{j=177;break e}}}while(0)}while((Ky(q)|0)==0)}while(0);e=3378824;f=3377840;h=0;while(1){a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;b[e+4>>1]=b[f+4>>1]|0;c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];h=h+1<<24>>24;if((h&255)>=41)break;else{e=e+24|0;f=f+24|0}}Gy(q)|0;if((c[857788]|0)>=1){k=r;return}c[857788]=c[857782];k=r;return}function Dw(){if(b[1716077]|0)b[1716077]=0;c[857889]=ex(1024)|0;c[857890]=ex(1024)|0;if((c[857788]|0)>=1){a[3432189]=-1;return}c[857788]=c[857782];a[3432189]=-1;return}function Ew(){var a=0,b=0;a=Fw()|0;b=Ka()|0;if(!b){b=0;return b|0}a=Gw(b,a)|0;Va(b);b=a;return b|0}function Fw(){var a=0,b=0;a=Ay(3389856,46110)|0;if(!a){a=-1;return a|0}b=Pw(a)|0;Gy(a)|0;a=b;return a|0}function Gw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=k;k=k+16|0;g=h+8|0;f=h;e=h+12|0;Ta(b,0);Hw(b,e)|0;if((c[e>>2]|0)!=544040790){b=0;k=h;return b|0}if((a[3432188]|0)!=-1)Tv();a[3432188]=0;c[857882]=d;Ta(b,0);Iw(b);c[857851]=44100;d=c[857882]|0;e=c[857792]|0;if(!d){c[857882]=e;d=e}if((e+-1|0)>>>0>=d>>>0){c[f>>2]=e;c[f+4>>2]=d;Wy(46113,f);c[857792]=c[857882]}if(!((c[857798]|0)==0|(c[857799]|0)!=0)){Xy(46170);c[857798]=0}d=c[857804]|0;if(d>>>0<64){c[g>>2]=d;Wy(46205,g);c[857804]=64};c[857879]=0;c[857880]=0;c[857881]=0;c[857857]=0;c[857858]=0;c[857859]=0;c[857860]=0;g=c[857792]|0;c[857882]=g;g=ex(g)|0;c[857861]=g;if(!g){b=0;k=h;return b|0}Ta(b,0);Pa(b,c[857861]|0,c[857882]|0)|0;d=c[857838]|0;if(d|0){f=c[857861]|0;g=sw(f+d|0)|0;g=g>>>0<12?g:12;c[857879]=g;g=g+d|0;d=d+4|0;if(d>>>0>>0){e=3431520;while(1){i=sw(f+d|0)|0;c[e>>2]=(i|0)==0?0:i+d|0;d=d+4|0;if(d>>>0>=g>>>0)break;else e=e+4|0}}Jw(c[857880]|0);Kw(c[857881]|0)}if((Lw(b,c[857796]|0)|0)<<24>>24!=16){if(c[857796]|0){i=1;k=h;return i|0}}else c[857796]=0;c[857865]=Mw()|0;c[857866]=Mw()|0;c[857867]=Mw()|0;c[857868]=Mw()|0;c[857869]=Mw()|0;c[857870]=Mw()|0;c[857871]=Mw()|0;c[857872]=Mw()|0;c[857873]=Mw()|0;c[857874]=Mw()|0;c[857875]=Mw()|0;i=1;k=h;return i|0}function Hw(a,b){a=a|0;b=b|0;var e=0,f=0;e=k;k=k+16|0;f=e;a=Pa(a,f,4)|0;c[b>>2]=(d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0);k=e;return a|0}function Iw(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=k;k=k+240|0;m=n;Pa(d,m,228)|0;e=0;do{d=m+e|0;switch(e&2147483647|0){case 40:{b[d>>1]=rw(a[d>>0]|0,a[d+1>>0]|0)|0;break}case 148:case 124:case 120:break;default:c[d>>2]=sw(d)|0}e=e+4|0}while(e>>>0<228);d=c[m+8>>2]|0;if(d>>>0>=257)if(d>>>0>=272)if(d>>>0<336)j=11;else e=0;else j=9;else{c[m+36>>2]=0;j=9}if((j|0)==9){b[m+40>>1]=0;a[m+42>>0]=0;i=c[m+16>>2]|0;c[m+44>>2]=i;c[m+48>>2]=i;j=11}if((j|0)==11){c[m+52>>2]=0;a[m+43>>0]=0;c[m+56>>2]=0;c[m+60>>2]=0;e=1}if(c[m+12>>2]|0){d=m+40|0;if(!(b[d>>1]|0))b[d>>1]=9;d=m+42|0;if(!(a[d>>0]|0))a[d>>0]=16}h=m+4|0;d=c[h>>2]|0;if(d|0)c[h>>2]=d+4;i=m+20|0;d=c[i>>2]|0;if(d|0)c[i>>2]=d+20;g=m+28|0;d=c[g>>2]|0;if(d|0)c[g>>2]=d+28;f=m+52|0;if(!e){d=c[f>>2]|0;if(!d)d=0;else j=26}else{c[f>>2]=12;d=12;j=26}if((j|0)==26){d=d+52|0;c[f>>2]=d}d=e?64:d;d=(d|0)==0?64:d;if(d>>>0<228)nz(m+d|0,0,228-d|0)|0;d=m+127|0;if(!(a[d>>0]|0))a[d>>0]=16;e=m+188|0;d=c[e>>2]|0;if(d|0?(l=d+188|0,c[e>>2]=l,l>>>0<228):0)nz(m+l|0,0,40-d|0)|0;d=c[h>>2]|0;if((c[i>>2]|0)>>>0>=d>>>0)c[i>>2]=0;if((c[g>>2]|0)>>>0>=d>>>0)c[g>>2]=0;if((c[f>>2]|0)>>>0>=d>>>0)c[f>>2]=64;if((c[e>>2]|0)>>>0>>0){mz(3431164,m|0,228)|0;k=n;return}c[e>>2]=0;mz(3431164,m|0,228)|0;k=n;return}function Jw(b){b=b|0;var e=0,f=0,g=0,h=0;if(!((b|0)!=0&(c[857882]|0)>>>0>b>>>0)){a[3431428]=0;c[857858]=0;return}f=c[857861]|0;e=a[f+b>>0]|0;a[3431428]=e;if(!(e<<24>>24)){c[857858]=0;return}h=ex((e&255)<<3)|0;c[857858]=h;e=b+1|0;a[h>>0]=a[f+e>>0]|0;g=c[857861]|0;c[h+4>>2]=sw(g+(b+2)|0)|0;if((d[3431428]|0)<=1)return;f=1;do{b=e;e=e+5|0;h=c[857858]|0;a[h+(f<<3)>>0]=a[g+e>>0]|0;c[h+(f<<3)+4>>2]=sw(g+(b+6)|0)|0;f=f+1|0}while(f>>>0<(d[3431428]|0)>>>0);return}function Kw(e){e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0&(c[857882]|0)>>>0>e>>>0){g=c[857861]|0;f=a[g+e>>0]|0;a[3431436]=f;if(f<<24>>24){f=ex((f&255)<<2)|0;c[857860]=f;i=c[857861]|0;h=e+1|0;e=f;f=0;while(1){a[e+(f<<2)>>0]=a[g+h>>0]|0;a[e+(f<<2)+1>>0]=a[i+(h+1)>>0]|0;g=i+(h+2)|0;b[e+(f<<2)+2>>1]=rw(a[g>>0]|0,a[g+1>>0]|0)|0;f=f+1|0;if(f>>>0>=(d[3431436]|0)>>>0)break;h=h+4|0;g=i;e=c[857860]|0}return}}else a[3431436]=0;c[857860]=0;return}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=k;k=k+16|0;e=g+4|0;f=g;if(b){Ta(a,b);Hw(a,f)|0;h=(c[f>>2]|0)==540238919;d=h?0:16;if(h){c[857862]=540238919;h=(Hw(a,3431452)|0)+(b+4)|0;h=(Hw(a,3431456)|0)+h|0;c[e>>2]=h;h=(c[857864]|0)+h|0;c[f>>2]=h;c[857865]=Nw(a,e,h)|0;c[857866]=Nw(a,e,h)|0;c[857867]=Nw(a,e,h)|0;c[857868]=Nw(a,e,h)|0;c[857869]=Nw(a,e,h)|0;c[857870]=Nw(a,e,h)|0;c[857871]=Nw(a,e,h)|0;c[857872]=Nw(a,e,h)|0;c[857873]=Nw(a,e,h)|0;c[857874]=Nw(a,e,h)|0;c[857875]=Nw(a,e,h)|0;h=d;k=g;return h|0}}else d=0;a=3431448;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));h=d;k=g;return h|0}function Mw(){var a=0;a=ex(4)|0;c[a>>2]=0;return a|0}function Nw(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=k;k=k+16|0;j=n;f=c[d>>2]|0;if(f>>>0>=e>>>0){m=0;k=n;return m|0}l=ex((e-f|0)>>>1<<2)|0;if(!l){m=0;k=n;return m|0}Ta(a,f);h=0;i=l+-4|0;do{i=i+4|0;Ow(a,j);g=b[j>>1]|0;c[i>>2]=g&65535;f=f+2|0;h=h+1|0;if(f>>>0>=e>>>0){m=5;break}}while(g<<16>>16!=0);if((m|0)==5)c[i>>2]=0;m=hx(l,h<<2)|0;c[d>>2]=f;k=n;return m|0}function Ow(a,c){a=a|0;c=c|0;var e=0,f=0;e=k;k=k+16|0;f=e;Pa(a,f,2)|0;b[c>>1]=(d[f+1>>0]|0)<<8|(d[f>>0]|0);k=e;return}function Pw(d){d=d|0;var e=0,f=0,g=0,h=0;g=k;k=k+16|0;e=g;f=g+4|0;if((Uy(f,2,1,d)|0?(h=ww(a[f>>0]|0,a[f+1>>0]|0)|0,b[f>>1]=h,h<<16>>16==8075):0)?(My(d,-4,2)|0,Uy(e,4,1,d)|0):0){h=c[e>>2]|0;k=g;return h|0}My(d,0,2)|0;h=Vy(d)|0;c[e>>2]=h;k=g;return h|0}function Qw(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=Bx(a[b>>0]|0)|0;d=d<<24;f=d>>24;e=(Bx(a[c>>0]|0)|0)<<24>>24;if((f|0)<(e|0)){f=-1;return f|0}while(1){if((f|0)>(e|0)){b=1;d=6;break}if(!d){b=0;d=6;break}b=b+1|0;c=c+1|0;d=Bx(a[b>>0]|0)|0;d=d<<24;f=d>>24;e=(Bx(a[c>>0]|0)|0)<<24>>24;if((f|0)<(e|0)){b=-1;d=6;break}}if((d|0)==6)return b|0;return 0}function Rw(a){a=a|0;if((a&255)>=41){a=0;return a|0}a=c[40512+((a&255)<<2)>>2]|0;return a|0}function Sw(a){a=a|0;if(!((Qw(a,46863)|0)<<24>>24)){a=1;return a|0}if(!((Qw(a,46868)|0)<<24>>24)){a=0;return a|0}a=(Ax(a,0)|0)!=0&1;return a|0}function Tw(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){h=Bx(a[b>>0]|0)|0;h=h<<24;g=h>>24;f=(Bx(a[c>>0]|0)|0)<<24>>24;if((g|0)<(f|0)){b=-1;c=6;break}if((g|0)>(f|0)){b=1;c=6;break}if(!h){b=0;c=6;break}e=e+1|0;if(e>>>0>=d>>>0){b=0;c=6;break}else{b=b+1|0;c=c+1|0}}if((c|0)==6)return b|0;return 0}function Uw(b,d){b=b|0;d=d|0;if((b|0)!=0?(c[b>>2]|0)!=0:0){if((d|0)!=0?(c[d>>2]|0)!=0:0)b=(a[3432216]|0)==0?b:d}else b=d;return ((b|0)==0?3431572:b)|0}function Vw(a,b){a=a|0;b=b|0;mz(a|0,b|0,((Ww(b)|0)<<2)+4|0)|0;return}function Ww(a){a=a|0;var b=0;if(!(c[a>>2]|0)){a=0;return a|0}b=0;do{b=b+1|0;a=a+4|0}while((c[a>>2]|0)!=0);return b|0}function Xw(){var b=0,c=0,d=0,e=0,f=0;e=k;k=k+16|0;d=e;a[3388576]=0;c=0;do{b=Zv(c,d)|0;if(!b)b=0;else{f=(Zv(c|-128,0)|0)==0;b=f?b:b|1073741824}Yw(c,a[d>>0]|0,b);c=c+1<<24>>24}while((c&255)<41);k=e;return}function Yw(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!d)return;e=b<<24>>24==0&(d|0)<0?d&-1073741825:d;d=py(3388576)|0;if(!d)d=0;else{f=3388576+d|0;a[f>>0]=a[47169]|0;a[f+1>>0]=a[47170]|0;a[f+2>>0]=a[47171]|0;d=d+2|0}if(e&1073741824){f=3388576+d|0;a[f>>0]=a[47172]|0;a[f+1>>0]=a[47173]|0;a[f+2>>0]=a[47174]|0;d=d+2|0}f=Zw((e|0)<0?b|-128:b,c)|0;mz(3388576+d|0,f|0,(py(f)|0)+1|0)|0;return}function Zw(a,b){a=a|0;b=b|0;var c=0,d=0;c=a&255;d=c&127;a:do if(d>>>0>40)b=0;else{b:do switch(a&127){case 4:{b=47377;break a}case 0:{if(c&128|0){b=47209;break a}switch(b<<24>>24){case 1:{b=47215;break a}case 2:{b=47223;break a}case 3:{b=47232;break a}case 4:{b=46874;break a}case 5:{b=47240;break a}case 6:{b=47248;break a}case 7:{b=47256;break a}default:{b=46874;break a}}}case 1:{if(c&128|0){b=47204;break a}break}case 8:{b=(c&128|0)==0?46932:47175;break a}case 18:switch(b<<24>>24){case 0:{b=47386;break a}case 1:{b=47265;break a}case 2:{b=47275;break a}case 3:{b=47285;break a}case 4:{b=47292;break a}case 16:{b=47302;break a}case 17:{b=47309;break a}case 18:{b=47316;break a}case 19:{b=47323;break a}default:break b}case 19:{b=47330;break a}case 20:{b=(c&128|0)==0?47016:47183;break a}case 28:{switch(b<<24>>24){case 1:case 0:{b=47083;break a}case 2:break;default:break b}b=47337;break a}case 33:{b=47348;break a}case 34:{b=47359;break a}case 37:{b=(c&128|0)==0?47197:47139;break a}case 40:{b=47367;break a}default:{}}while(0);b=Rw(d&255)|0}while(0);return b|0}function _w(){var a=0,b=0;a=c[857850]|0;b=c[857799]|0;do if(!a)if(!b){b=0;a=c[857797]|0;break}else{b=-1e3;return b|0}else{a=(M(b,a+-1|0)|0)+(c[857797]|0)|0;if(!b)b=0;else b=((c[857783]|0)>>>0)/1e3|0}while(0);b=a+(M(b,c[857851]|0)|0)|0;return b|0}function $w(a){a=a|0;a=gz(c[857891]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=ez(a|0,x|0,c[857892]|0,0)|0;return a|0}function ax(){var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;l=o;if(!(a[3432190]|0))f=0;else f=((c[857782]|0)>>>0)/44100|0;j=bx()|0;c[857878]=(a[3432195]|0)==0?c[857877]|0:c[857876]|0;m=l+4|0;e=0;while(1){gw(1);c[l>>2]=0;c[m>>2]=0;g=c[857878]|0;if(!g){g=0;h=0}else{do{if(!(a[c[g+4>>2]>>0]|0))cx(c[g>>2]|0,l);g=c[g+8>>2]|0}while((g|0)!=0);g=c[l>>2]|0;h=c[m>>2]|0}i=(M(g>>5,j)|0)>>11;c[l>>2]=i;g=(M(h>>5,j)|0)>>11;c[m>>2]=g;if(a[3432183]|0){g=0-g|0;c[m>>2]=g}h=d[3432181]|0;b[3397024+(e<<2)>>1]=dx(i<>1]=dx(g<>>0)/100|0}if((f|0)!=0?((e>>>0)%(f>>>0)|0|0)==0:0)g=bx()|0;else g=j;if((a[3432195]|0)!=0&(a[3432194]|0)==0)break;e=e+1|0;if(e>>>0<8192)j=g;else{n=20;break}}if((n|0)==20){k=o;return e|0}a[3432194]=1;n=e;k=o;return n|0}function bx(){var b=0.0,d=0,e=0;if(!(a[3432190]|0)){b=+g[857849];b=b*256.0;b=b+.5;e=~~b;return e|0}d=c[857790]|0;e=c[857852]|0;if(!d){c[857790]=e;d=e}b=1.0-+((e-d|0)>>>0)/+((c[857782]|0)>>>0)/(+((c[857783]|0)>>>0)*1.0000000474974513e-03);g[857789]=b;if(b<0.0){g[857789]=0.0;a[3432195]=1;b=0.0}b=b*(+g[857848]*b);g[857849]=b;b=b*256.0;b=b+.5;e=~~b;return e|0}function cx(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=k;k=k+16|0;z=I;A=c[857889]|0;B=c[857890]|0;C=A+4|0;D=B+4|0;E=A+8|0;F=B+8|0;G=z+4|0;H=d+4|0;do{a:do switch(a[b+8>>0]|0){case 0:{y=b+24|0;f=c[y>>2]|0;j=b+20|0;c[j>>2]=f;w=b+16|0;g=(c[w>>2]|0)+1|0;c[w>>2]=g;g=hz(gz(c[b>>2]|0,0,g|0,0)|0,x|0,c[857782]|0,0)|0;c[y>>2]=g;if(f>>>0>=g>>>0){f=b+4|0;g=M(c[b+28>>2]|0,e[f>>1]|0)|0;c[d>>2]=g+(c[d>>2]|0);f=M(c[b+32>>2]|0,e[f>>1]|0)|0;c[H>>2]=f+(c[H>>2]|0);f=b;g=j;break a}i=g-f|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,3431556,i);if((i|0)==1){f=b+4|0;g=M(c[A>>2]|0,e[f>>1]|0)|0;c[d>>2]=g+(c[d>>2]|0);f=M(c[B>>2]|0,e[f>>1]|0)|0;c[H>>2]=f+(c[H>>2]|0);c[b+28>>2]=c[A>>2];c[b+32>>2]=c[B>>2];f=b;g=j;break a}f=c[A>>2]|0;if((i|0)==2){g=b+4|0;f=(M((c[C>>2]|0)+f|0,e[g>>1]|0)|0)>>1;c[d>>2]=f+(c[d>>2]|0);f=(M((c[D>>2]|0)+(c[B>>2]|0)|0,e[g>>1]|0)|0)>>1;c[H>>2]=f+(c[H>>2]|0);c[b+28>>2]=c[C>>2];c[b+32>>2]=c[D>>2];f=b;g=j;break a}g=c[B>>2]|0;if((i|0)>1){h=1;do{f=(c[A+(h<<2)>>2]|0)+f|0;g=(c[B+(h<<2)>>2]|0)+g|0;h=h+1|0}while((h|0)<(i|0))}y=b+4|0;f=(M(f,e[y>>1]|0)|0)/(i|0)|0;c[d>>2]=(c[d>>2]|0)+f;f=(M(g,e[y>>1]|0)|0)/(i|0)|0;c[H>>2]=(c[H>>2]|0)+f;f=i+-1|0;c[b+28>>2]=c[A+(f<<2)>>2];c[b+32>>2]=c[B+(f<<2)>>2];f=b;g=j;break}case 1:{f=b+16|0;p=gz(c[f>>2]<<11|0,0,c[b>>2]|0,0)|0;p=hz(p|0,x|0,c[857782]|0,0)|0;w=(p+2047|0)>>>11;r=b+28|0;c[A>>2]=c[r>>2];t=b+32|0;c[B>>2]=c[t>>2];v=b+36|0;c[C>>2]=c[v>>2];y=b+40|0;c[D>>2]=c[y>>2];c[z>>2]=E;c[G>>2]=F;s=b+24|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,z,w-(c[s>>2]|0)|0);n=c[s>>2]<<11;g=b+20|0;c[g>>2]=p>>>11;c[s>>2]=w;n=p+2048-n|0;p=b+4|0;s=n>>>11;w=(n+2047|0)>>>11;n=n&2047;q=A+(s<<2)|0;j=c[q>>2]|0;o=2048-n|0;j=gz(o|0,0,j|0,((j|0)<0)<<31>>31|0)|0;m=x;u=A+(w<<2)|0;l=c[u>>2]|0;l=gz(n|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=az(j|0,m|0,l|0,x|0)|0;m=x;s=B+(s<<2)|0;j=c[s>>2]|0;j=gz(o|0,0,j|0,((j|0)<0)<<31>>31|0)|0;o=x;w=B+(w<<2)|0;i=c[w>>2]|0;n=gz(i|0,((i|0)<0)<<31>>31|0,n|0,0)|0;n=az(j|0,o|0,n|0,x|0)|0;o=x;m=gz(l|0,m|0,e[p>>1]|0,0)|0;m=ez(m|0,x|0,2048,0)|0;c[d>>2]=(c[d>>2]|0)+m;p=gz(n|0,o|0,e[p>>1]|0,0)|0;p=ez(p|0,x|0,2048,0)|0;c[H>>2]=(c[H>>2]|0)+p;c[r>>2]=c[q>>2];c[t>>2]=c[s>>2];c[v>>2]=c[u>>2];c[y>>2]=c[w>>2];c[f>>2]=(c[f>>2]|0)+1;f=b;break}case 2:{g=b+16|0;y=M(c[b>>2]|0,c[g>>2]|0)|0;f=b+24|0;c[f>>2]=(y>>>0)/((c[857782]|0)>>>0)|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,3431556,1);y=b+4|0;w=M(c[A>>2]|0,e[y>>1]|0)|0;c[d>>2]=w+(c[d>>2]|0);y=M(c[B>>2]|0,e[y>>1]|0)|0;c[H>>2]=y+(c[H>>2]|0);c[g>>2]=(c[g>>2]|0)+1;g=b+20|0;c[g>>2]=c[f>>2];f=b;break}case 3:{l=c[b>>2]|0;t=b+16|0;v=gz((c[t>>2]<<11)+2048|0,0,l|0,0)|0;v=hz(v|0,x|0,c[857782]|0,0)|0;u=b+24|0;c[u>>2]=(v+2047|0)>>>11;v=b+28|0;c[A>>2]=c[v>>2];w=b+32|0;c[B>>2]=c[w>>2];c[z>>2]=C;c[G>>2]=D;g=b+20|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,z,(c[u>>2]|0)-(c[g>>2]|0)|0);p=gz(c[t>>2]<<11|0,0,l|0,0)|0;r=c[857782]|0;p=hz(p|0,x|0,r|0,0)|0;q=c[g>>2]<<11;o=p-q|0;f=o+2048|0;y=b+4|0;l=kz(l|0,0,11)|0;r=hz(l|0,x|0,r|0,0)|0;l=f+r|0;n=0-o&2047;if(!n){i=0;j=0;h=0;f=0}else{h=f>>>11;i=c[A+(h<<2)>>2]|0;i=gz(i|0,((i|0)<0)<<31>>31|0,n|0,0)|0;j=x;h=c[B+(h<<2)>>2]|0;h=gz(h|0,((h|0)<0)<<31>>31|0,n|0,0)|0;f=x}m=l&2047;s=l>>>11;if(m){l=c[A+(s<<2)>>2]|0;l=gz(l|0,((l|0)<0)<<31>>31|0,m|0,0)|0;i=az(l|0,x|0,i|0,j|0)|0;j=x;l=c[B+(s<<2)>>2]|0;l=gz(l|0,((l|0)<0)<<31>>31|0,m|0,0)|0;h=az(l|0,x|0,h|0,f|0)|0;n=m+n|0;f=x}l=(o+4095|0)>>>11;n=n+(s-l<<11)|0;if(s>>>0>l>>>0){m=(p+2048-q+r|0)>>>11;do{r=c[A+(l<<2)>>2]|0;r=kz(r|0,((r|0)<0)<<31>>31|0,11)|0;i=az(r|0,x|0,i|0,j|0)|0;j=x;r=c[B+(l<<2)>>2]|0;r=kz(r|0,((r|0)<0)<<31>>31|0,11)|0;h=az(r|0,x|0,h|0,f|0)|0;f=x;l=l+1|0}while((l|0)!=(m|0))}q=gz(i|0,j|0,e[y>>1]|0,0)|0;r=((n|0)<0)<<31>>31;q=ez(q|0,x|0,n|0,r|0)|0;c[d>>2]=(c[d>>2]|0)+q;f=gz(h|0,f|0,e[y>>1]|0,0)|0;f=ez(f|0,x|0,n|0,r|0)|0;c[H>>2]=(c[H>>2]|0)+f;c[v>>2]=c[A+(s<<2)>>2];c[w>>2]=c[B+(s<<2)>>2];c[t>>2]=(c[t>>2]|0)+1;c[g>>2]=c[u>>2];f=b;break}default:{f=b+16|0;c[f>>2]=(c[f>>2]|0)+(c[857782]|0);f=b;g=b+20|0}}while(0);h=c[g>>2]|0;f=c[f>>2]|0;if(h>>>0>=f>>>0){c[g>>2]=h-f;y=b+24|0;c[y>>2]=(c[y>>2]|0)-f;y=b+16|0;c[y>>2]=(c[y>>2]|0)-(c[857782]|0)}b=c[b+44>>2]|0}while((b|0)!=0);k=I;return}function dx(a){a=a|0;a=(a|0)>-32768?a:-32768;return ((a|0)<32767?a:32767)&65535|0}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=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;x=k;k=k+16|0;o=x;do if(a>>>0<245){l=a>>>0<11?16:a+11&-8;a=l>>>3;n=c[857894]|0;d=n>>>a;if(d&3|0){b=(d&1^1)+a|0;a=3431616+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[857894]=n&~(1<>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;k=x;return w|0}m=c[857896]|0;if(l>>>0>m>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=3431616+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=n&~(1<>2]=b;c[a>>2]=d;a=n}w=e<<3;h=w-l|0;c[g+4>>2]=l|3;f=g+l|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(m|0){e=c[857899]|0;b=m>>>3;d=3431616+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[857896]=h;c[857899]=f;w=i;k=x;return w|0}g=c[857895]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[3431880+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-l|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-l|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+l|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=3431880+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[857895]=g&~(1<>2]|0)==(i|0)?w:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){w=j+l|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=l|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(m|0){e=c[857899]|0;b=m>>>3;d=3431616+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[857896]=j;c[857899]=h}w=i+8|0;k=x;return w|0}else n=l}else n=l}else n=l}else if(a>>>0<=4294967231){a=a+11|0;l=a&-8;e=c[857895]|0;if(e){f=0-l|0;a=a>>>8;if(a)if(l>>>0>16777215)j=31;else{n=(a+1048320|0)>>>16&8;s=a<>>16&4;s=s<>>16&2;j=14-(i|n|j)+(s<>>15)|0;j=l>>>(j+7|0)&1|j<<1}else j=0;d=c[3431880+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;s=61}else{a=0;i=l<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-l|0;if(h>>>0>>0)if(!h){a=d;f=0;s=65;break a}else{a=d;f=h}s=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(s|0)==0|(s|0)==(d|0)?g:s;if(!d){d=g;s=61;break}else i=i<<1}}while(0);if((s|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;n=n>>>h;g=n>>>5&8;n=n>>>g;i=n>>>2&4;n=n>>>i;j=n>>>1&2;n=n>>>j;d=n>>>1&1;a=0;d=c[3431880+((g|h|i|j|d)+(n>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else s=65}if((s|0)==65){g=d;while(1){n=(c[g+4>>2]&-8)-l|0;d=n>>>0>>0;f=d?n:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[857896]|0)-l|0)>>>0:0)?(m=i+l|0,m>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(g){a=c[i+28>>2]|0;d=3431880+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?w:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){w=h+l|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=l|3;c[m+4>>2]=h|1;c[m+h>>2]=h;b=h>>>3;if(h>>>0<256){d=3431616+(b<<1<<2)|0;a=c[857894]|0;b=1<>2]|0}c[a>>2]=m;c[b+12>>2]=m;c[m+8>>2]=b;c[m+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=3431880+(d<<2)|0;c[m+28>>2]=d;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break b}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=m;c[v>>2]=m;c[m+8>>2]=w;c[m+12>>2]=b;c[m+24>>2]=0}while(0);w=i+8|0;k=x;return w|0}else n=l}else n=l}else n=-1;while(0);d=c[857896]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[857899]|0;if(b>>>0>15){w=a+n|0;c[857899]=w;c[857896]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[857896]=0;c[857899]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;k=x;return w|0}h=c[857897]|0;if(h>>>0>n>>>0){u=h-n|0;c[857897]=u;w=c[857900]|0;v=w+n|0;c[857900]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;k=x;return w|0}if(!(c[858012]|0)){c[858014]=4096;c[858013]=4096;c[858015]=-1;c[858016]=-1;c[858017]=0;c[858005]=0;c[858012]=o&-16^1431655768;a=4096}else a=c[858014]|0;i=n+48|0;j=n+47|0;g=a+j|0;f=0-a|0;l=g&f;if(l>>>0<=n>>>0){w=0;k=x;return w|0}a=c[858004]|0;if(a|0?(m=c[858002]|0,o=m+l|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;k=x;return w|0}d:do if(!(c[858005]&4)){d=c[857900]|0;e:do if(d){e=3432024;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(r=e+4|0,(a+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){s=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=oz(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[r>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;s=145;break d}}else{e=a;s=136}}else b=0}else s=128;while(0);do if((s|0)==128){d=oz(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[858013]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+l|0,p=c[858002]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){r=c[858004]|0;if(r|0?q>>>0<=p>>>0|q>>>0>r>>>0:0){b=0;break}a=oz(b|0)|0;if((a|0)==(d|0)){h=b;g=d;s=145;break d}else{e=a;s=136}}else b=0}while(0);do if((s|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;s=145;break d}a=c[858014]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;s=145;break d}if((oz(a|0)|0)==(-1|0)){oz(d|0)|0;b=0;break}else{h=a+b|0;g=e;s=145;break d}}while(0);c[858005]=c[858005]|4;s=143}else{b=0;s=143}while(0);if(((s|0)==143?l>>>0<2147483647:0)?(v=oz(l|0)|0,r=oz(0)|0,t=r-v|0,u=t>>>0>(n+40|0)>>>0,!((v|0)==(-1|0)|u^1|v>>>0>>0&((v|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=u?t:b;g=v;s=145}if((s|0)==145){b=(c[858002]|0)+h|0;c[858002]=b;if(b>>>0>(c[858003]|0)>>>0)c[858003]=b;j=c[857900]|0;f:do if(j){b=3432024;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){s=154;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((s|0)==154?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[857897]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[857900]=v;c[857897]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[857901]=c[858016];break}if(g>>>0<(c[857898]|0)>>>0)c[857898]=g;d=g+h|0;b=3432024;while(1){if((c[b>>2]|0)==(d|0)){s=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((s|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;g:do if((j|0)==(b|0)){w=(c[857897]|0)+i|0;c[857897]=w;c[857900]=l;c[l+4>>2]=w|1}else{if((c[857899]|0)==(b|0)){w=(c[857896]|0)+i|0;c[857896]=w;c[857899]=l;c[l+4>>2]=w|1;c[l+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[857894]=c[857894]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=3431880+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){w=g+16|0;c[((c[w>>2]|0)==(b|0)?w:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[857895]=c[857895]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;b=f>>>3;if(f>>>0<256){d=3431616+(b<<1<<2)|0;a=c[857894]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;e=14-(u|v|e)+(w<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3431880+(e<<2)|0;c[l+28>>2]=e;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[857895]|0;d=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break g}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=l;c[v>>2]=l;c[l+8>>2]=w;c[l+12>>2]=b;c[l+24>>2]=0}while(0);w=m+8|0;k=x;return w|0}b=3432024;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(c[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[857900]=v;c[857897]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[857901]=c[858016];d=a+4|0;c[d>>2]=27;c[b>>2]=c[858006];c[b+4>>2]=c[858007];c[b+8>>2]=c[858008];c[b+12>>2]=c[858009];c[858006]=g;c[858007]=h;c[858009]=0;c[858008]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=3431616+(b<<1<<2)|0;a=c[857894]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;e=14-(u|v|e)+(w<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3431880+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[857895]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=b;c[j+24>>2]=0}}else{w=c[857898]|0;if((w|0)==0|g>>>0>>0)c[857898]=g;c[858006]=g;c[858007]=h;c[858009]=0;c[857903]=c[858012];c[857902]=-1;c[857907]=3431616;c[857906]=3431616;c[857909]=3431624;c[857908]=3431624;c[857911]=3431632;c[857910]=3431632;c[857913]=3431640;c[857912]=3431640;c[857915]=3431648;c[857914]=3431648;c[857917]=3431656;c[857916]=3431656;c[857919]=3431664;c[857918]=3431664;c[857921]=3431672;c[857920]=3431672;c[857923]=3431680;c[857922]=3431680;c[857925]=3431688;c[857924]=3431688;c[857927]=3431696;c[857926]=3431696;c[857929]=3431704;c[857928]=3431704;c[857931]=3431712;c[857930]=3431712;c[857933]=3431720;c[857932]=3431720;c[857935]=3431728;c[857934]=3431728;c[857937]=3431736;c[857936]=3431736;c[857939]=3431744;c[857938]=3431744;c[857941]=3431752;c[857940]=3431752;c[857943]=3431760;c[857942]=3431760;c[857945]=3431768;c[857944]=3431768;c[857947]=3431776;c[857946]=3431776;c[857949]=3431784;c[857948]=3431784;c[857951]=3431792;c[857950]=3431792;c[857953]=3431800;c[857952]=3431800;c[857955]=3431808;c[857954]=3431808;c[857957]=3431816;c[857956]=3431816;c[857959]=3431824;c[857958]=3431824;c[857961]=3431832;c[857960]=3431832;c[857963]=3431840;c[857962]=3431840;c[857965]=3431848;c[857964]=3431848;c[857967]=3431856;c[857966]=3431856;c[857969]=3431864;c[857968]=3431864;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[857900]=v;c[857897]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[857901]=c[858016]}while(0);b=c[857897]|0;if(b>>>0>n>>>0){u=b-n|0;c[857897]=u;w=c[857900]|0;v=w+n|0;c[857900]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;k=x;return w|0}}c[858034]=12;w=0;k=x;return w|0}function fx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[857898]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[857899]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[857896]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[857894]=c[857894]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=3431880+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[857895]=c[857895]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[857900]|0)==(j|0)){j=(c[857897]|0)+b|0;c[857897]=j;c[857900]=i;c[i+4>>2]=j|1;if((i|0)!=(c[857899]|0))return;c[857899]=0;c[857896]=0;return}if((c[857899]|0)==(j|0)){j=(c[857896]|0)+b|0;c[857896]=j;c[857899]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[857894]=c[857894]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=3431880+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[857895]=c[857895]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[857899]|0)){c[857896]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=3431616+(a<<1<<2)|0;b=c[857894]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=3431880+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[857895]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[857902]|0)+-1|0;c[857902]=j;if(j|0)return;a=3432032;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[857902]=-1;return}function gx(){var a=0;a=ex(3744)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;nz(a|0,0,3744)|0;return a|0}function hx(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=ex(b)|0;return b|0}if(b>>>0>4294967231){c[858034]=12;b=0;return b|0}d=ix(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=ex(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;mz(d|0,a|0,(e>>>0>>0?e:b)|0)|0;fx(a);b=d;return b|0}function ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[858014]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;jx(k,d);return a|0}if((c[857900]|0)==(i|0)){k=(c[857897]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[857900]=e;c[857897]=d;return a|0}if((c[857899]|0)==(i|0)){e=(c[857896]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[857896]=d;c[857899]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[857894]=c[857894]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=3431880+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[857895]=c[857895]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;jx(i,k);return a|0}return 0}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[857899]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[857896]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[857894]=c[857894]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=3431880+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[857895]=c[857895]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[857900]|0)==(i|0)){i=(c[857897]|0)+b|0;c[857897]=i;c[857900]=h;c[h+4>>2]=i|1;if((h|0)!=(c[857899]|0))return;c[857899]=0;c[857896]=0;return}if((c[857899]|0)==(i|0)){i=(c[857896]|0)+b|0;c[857896]=i;c[857899]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[857894]=c[857894]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=3431880+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[857895]=c[857895]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[857899]|0)){c[857896]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=3431616+(b<<1<<2)|0;a=c[857894]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=3431880+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[857895]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function kx(a){a=a|0;var b=0,d=0;b=k;k=k+16|0;d=b;c[d>>2]=px(c[a+60>>2]|0)|0;a=nx(ia(6,d|0)|0)|0;k=b;return a|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=k;k=k+48|0;l=n+32|0;g=n+16|0;f=n;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=nx(ea(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[l>>2]=c[h>>2];c[l+4>>2]=f;c[l+8>>2]=b;g=nx(ea(146,l|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}k=n;return d|0}function mx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=k;k=k+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((nx(ca(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;k=f;return a|0}function nx(a){a=a|0;if(a>>>0>4294963200){c[858034]=0-a;a=-1}return a|0}function ox(){return 3432136}function px(a){a=a|0;return a|0}function qx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=k;k=k+32|0;f=l+16|0;i=l;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=nx(da(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;k=l;return f|0}function rx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=k;k=k+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,ha(54,f|0)|0):0)a[b+75>>0]=-1;f=lx(b,d,e)|0;k=g;return f|0}function sx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=k;k=k+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;tx(h);d=ux(h,d,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));k=j;return d|0}function tx(a){a=a|0;var b=0;c[a+104>>2]=0;b=c[a+8>>2]|0;c[a+108>>2]=b-(c[a+4>>2]|0);c[a+100>>2]=b;return}function ux(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[858034]=22;g=0;f=0}else{q=b+4|0;r=b+100|0;do{h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0}while((wx(h)|0)!=0);b:do switch(h|0){case 43:case 45:{h=((h|0)==45)<<31>>31;i=c[q>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[q>>2]=i+1;p=h;h=d[i>>0]|0;break b}else{p=h;h=vx(b)|0;break b}}default:p=0}while(0);i=(e|0)==0;do if((e|16|0)==16&(h|0)==48){h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;if((h|32|0)!=120)if(i){i=8;n=43;break}else{i=e;n=28;break}h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;if((d[40689+h>>0]|0)>15){if(!(c[r>>2]|0)){g=0;f=0;break a}c[q>>2]=(c[q>>2]|0)+-2;g=0;f=0;break a}else{i=16;n=43}}else{i=i?10:e;if(i>>>0>(d[40689+h>>0]|0)>>>0)n=28;else{if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;tx(b);c[858034]=22;g=0;f=0;break a}}while(0);c:do if((n|0)==28)if((i|0)==10){h=h+-48|0;if(h>>>0<10){e=0;j=h;do{e=(e*10|0)+j|0;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;j=h+-48|0;i=j>>>0<10}while(i&e>>>0<429496729);if(i){m=e;e=0;do{i=gz(m|0,e|0,10,0)|0;k=x;l=((j|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&i>>>0>~j>>>0){i=10;k=m;n=72;break c}m=az(i|0,k|0,j|0,l|0)|0;e=x;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;j=h+-48|0}while(j>>>0<10&(e>>>0<429496729|(e|0)==429496729&m>>>0<2576980378));if(j>>>0>9){j=p;i=e;h=m}else{i=10;k=m;n=72}}else{j=p;i=0;h=e}}else{j=p;i=0;h=0}}else n=43;while(0);d:do if((n|0)==43){if(!(i+-1&i)){o=a[47396+((i*23|0)>>>5&7)>>0]|0;j=a[40689+h>>0]|0;e=j&255;if(i>>>0>e>>>0){k=0;do{k=e|k<>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;j=a[40689+h>>0]|0;e=j&255}while(k>>>0<134217728&i>>>0>e>>>0);l=e;e=0}else{l=e;e=0;k=0}m=jz(-1,-1,o|0)|0;n=x;if(i>>>0<=l>>>0|(n>>>0>>0|(n|0)==(e|0)&m>>>0>>0)){n=72;break}while(1){k=kz(k|0,e|0,o|0)|0;e=x;k=k|j&255;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;j=a[40689+h>>0]|0;if(i>>>0<=(j&255)>>>0|(e>>>0>n>>>0|(e|0)==(n|0)&k>>>0>m>>>0)){n=72;break d}}}e=a[40689+h>>0]|0;j=e&255;if(i>>>0>j>>>0){k=0;do{k=j+(M(k,i)|0)|0;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;e=a[40689+h>>0]|0;j=e&255}while(k>>>0<119304647&i>>>0>j>>>0);l=0}else{k=0;l=0}if(i>>>0>j>>>0){n=hz(-1,-1,i|0,0)|0;o=x;m=l;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){e=m;n=72;break d}j=gz(k|0,m|0,i|0,0)|0;l=x;e=e&255;if(l>>>0>4294967295|(l|0)==-1&j>>>0>~e>>>0){e=m;n=72;break d}k=az(j|0,l|0,e|0,0)|0;j=x;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0;e=a[40689+h>>0]|0;if(i>>>0<=(e&255)>>>0){e=j;n=72;break}else m=j}}else{e=l;n=72}}while(0);if((n|0)==72)if(i>>>0>(d[40689+h>>0]|0)>>>0){do{h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=vx(b)|0}while(i>>>0>(d[40689+h>>0]|0)>>>0);c[858034]=34;j=(f&1|0)==0&0==0?p:0;i=g;h=f}else{j=p;i=e;h=k}if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if(!(i>>>0>>0|(i|0)==(g|0)&h>>>0>>0)){if(!((f&1|0)!=0|0!=0|(j|0)!=0)){c[858034]=34;f=az(f|0,g|0,-1,-1)|0;g=x;break}if(i>>>0>g>>>0|(i|0)==(g|0)&h>>>0>f>>>0){c[858034]=34;break}}f=((j|0)<0)<<31>>31;f=bz(h^j|0,i^f|0,j|0,f|0)|0;g=x}while(0);x=g;return f|0}function vx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=xx(b)|0;if((e|0)>=0){f=c[f>>2]|0;j=c[b+8>>2]|0;if(f){g=b+4|0;i=c[g>>2]|0;h=f-(c[b+108>>2]|0)|0;f=j;if((j-i|0)<(h|0))k=9;else c[b+100>>2]=i+(h+-1)}else{g=b+4|0;f=j;k=9}if((k|0)==9)c[b+100>>2]=j;if(!f)f=c[g>>2]|0;else{j=c[g>>2]|0;b=b+108|0;c[b>>2]=f+1-j+(c[b>>2]|0);f=j}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function wx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function xx(a){a=a|0;var b=0,e=0;e=k;k=k+16|0;b=e;if((yx(a)|0)==0?(va[c[a+32>>2]&7](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;k=e;return a|0}function yx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)va[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function zx(a,b){a=a|0;b=b|0;b=sx(a,0,b,-1,0)|0;return b|0}function Ax(a,b){a=a|0;b=b|0;b=sx(a,b,0,-2147483648,0)|0;return b|0}function Bx(a){a=a|0;var b=0;b=(Cx(a)|0)==0;return (b?a:a&95)|0}function Cx(a){a=a|0;return (a+-97|0)>>>0<26|0}function Dx(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function Ex(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Fx(a){a=a|0;return (a+-48|0)>>>0<10|0}function Gx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k;k=k+128|0;l=p+124|0;m=p;n=m;q=44716;r=n+124|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));if((d+-1|0)>>>0>2147483646)if(!d){g=l;h=1;o=4}else c[858034]=75;else{g=b;h=d;o=4}if((o|0)==4?(r=-2-g|0,r=h>>>0>r>>>0?r:h,c[m+48>>2]=r,i=m+20|0,c[i>>2]=g,c[m+44>>2]=g,q=g+r|0,j=m+16|0,c[j>>2]=q,c[m+28>>2]=q,Hx(m,e,f)|0,r|0):0){r=c[i>>2]|0;a[r+(((r|0)==(c[j>>2]|0))<<31>>31)>>0]=0}k=p;return}function Hx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+224|0;n=r+208|0;o=r+160|0;p=r+80|0;q=r;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((Ix(0,d,n,p,o)|0)<0)e=-1;else{e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=q;i=b+28|0;c[i>>2]=q;j=b+20|0;c[j>>2]=q;c[f>>2]=80;l=b+16|0;c[l>>2]=q+80;e=Ix(b,d,n,p,o)|0;if(h){va[c[b+36>>2]&7](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[l>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=Ix(b,d,n,p,o)|0;q=c[b>>2]|0;c[b>>2]=q|m;e=(q&32|0)==0?e:-1}k=r;return e|0} -function Aa(a){a=a|0;var b=0;b=k;k=k+a|0;k=k+15&-16;return b|0}function Ba(){return k|0}function Ca(a){a=a|0;k=a}function Da(a,b){a=a|0;b=b|0;k=a;l=b}function Ea(a,b){a=a|0;b=b|0;if(!m){m=a;n=b}}function Fa(a){a=a|0;x=a}function Ga(){return x|0}function Ha(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=a+(d[b>>0]|0)|0;h=h>>>0>65520?h+-65521|0:h;f=h+e|0;g=f<<16;h=(f>>>0>65520?g+983040|0:g)|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=a+(d[b>>0]|0)|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{f=347;g=b;while(1){w=a+(d[g>>0]|0)|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}c=c+-5552|0;b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=16;else h=19}else h=16;if((h|0)==16){g=c+-16|0;h=g&-16;f=b;while(1){c=c+-16|0;i=a+(d[f>>0]|0)|0;j=i+(d[f+1>>0]|0)|0;k=j+(d[f+2>>0]|0)|0;l=k+(d[f+3>>0]|0)|0;m=l+(d[f+4>>0]|0)|0;n=m+(d[f+5>>0]|0)|0;o=n+(d[f+6>>0]|0)|0;p=o+(d[f+7>>0]|0)|0;q=p+(d[f+8>>0]|0)|0;r=q+(d[f+9>>0]|0)|0;s=r+(d[f+10>>0]|0)|0;t=s+(d[f+11>>0]|0)|0;u=t+(d[f+12>>0]|0)|0;v=u+(d[f+13>>0]|0)|0;w=v+(d[f+14>>0]|0)|0;a=w+(d[f+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else f=f+16|0}c=g-h|0;if(!c)h=21;else{b=b+(h+16)|0;h=19}}if((h|0)==19)while(1){c=c+-1|0;a=a+(d[b>>0]|0)|0;e=a+e|0;if(!c){h=21;break}else b=b+1|0}if((h|0)==21){e=(e>>>0)%65521|0;a=(a>>>0)%65521|0}w=e<<16|a;return w|0}function Ia(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else a=Ja(a,b,c)|0;return a|0}function Ja(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;a=~a;if(!e){h=a;h=~h;return h|0}while(1){if(!(b&3))break;a=c[16+((a&255^(d[b>>0]|0))<<2)>>2]^a>>>8;e=e+-1|0;if(!e){f=16;break}else b=b+1|0}if((f|0)==16){h=~a;return h|0}if(e>>>0>31){g=e+-32|0;h=g&-32;f=b+(h+32)|0;while(1){i=c[b>>2]^a;i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+4>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+8>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+12>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+16>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+20>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+24>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+28>>2];a=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else b=b+32|0}b=f;e=g-h|0}if(e>>>0>3){h=e+-4|0;g=h>>>2;f=b;while(1){i=c[f>>2]^a;a=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}b=b+(g+1<<2)|0;e=h&3}if(!e){i=a;i=~i;return i|0}while(1){a=c[16+((a&255^(d[b>>0]|0))<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}i=~a;return i|0}function Ka(){return La()|0}function La(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+128|0;s=t+80|0;i=t;p=ex(116)|0;if(!p){s=0;k=t;return s|0}c[p+32>>2]=0;c[p+36>>2]=0;c[p+40>>2]=0;l=p+68|0;c[p>>2]=0;m=p+72|0;n=p+12|0;c[n>>2]=0;o=p+16|0;c[o>>2]=0;q=p+4|0;c[q>>2]=0;r=p+64|0;b=p+56|0;c[p+100>>2]=0;c[p+104>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[p+108>>2]=-1;c[p+76>>2]=Ia(0,0,0)|0;c[p+80>>2]=0;c[p+88>>2]=0;b=ex((py(3389856)|0)+1|0)|0;c[p+84>>2]=b;if(!b){Ma(p)|0;s=0;k=t;return s|0}ty(b,3389856)|0;j=p+92|0;a[j>>0]=0;h=i+80|0;d=i;g=46110;e=0;f=-1;while(1){b=a[g>>0]|0;if(b<<24>>24==114){a[j>>0]=114;b=a[g>>0]|0}switch(b<<24>>24){case 97:case 119:{a[j>>0]=119;b=a[g>>0]|0;break}default:{}}a:do if((b+-48&255)<10)f=(b<<24>>24)+-48|0;else switch(b<<24>>24){case 102:{e=1;b=104;break a}case 104:{e=2;b=104;break a}case 82:{e=3;b=104;break a}default:{a[d>>0]=b;d=d+1|0;b=a[g>>0]|0;break a}}while(0);if((d|0)!=(h|0)&b<<24>>24!=0)g=g+1|0;else break}b:do switch(a[j>>0]|0){case 0:{Ma(p)|0;s=0;k=t;return s|0}case 119:{h=Xa(p,f,8,-15,8,e,45102,56)|0;l=ex(16384)|0;c[m>>2]=l;c[n>>2]=l;if((h|0)!=0|(l|0)==0){Ma(p)|0;s=0;k=t;return s|0}break}default:{n=ex(16384)|0;c[l>>2]=n;c[p>>2]=n;if((Fb(p)|0)==0?c[l>>2]|0:0)break b;Ma(p)|0;s=0;k=t;return s|0}}while(0);c[o>>2]=16384;c[858034]=0;b=Ay(3389856,i)|0;c[r>>2]=b;if(!b){Ma(p)|0;s=0;k=t;return s|0}if((a[j>>0]|0)==119){c[s>>2]=31;c[s+4>>2]=139;c[s+8>>2]=8;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s+32>>2]=0;c[s+36>>2]=3;Ny(b,45108,s);c[p+96>>2]=10;s=p;k=t;return s|0}else{Na(p);s=Vy(c[r>>2]|0)|0;c[p+96>>2]=s-(c[q>>2]|0);s=p;k=t;return s|0}return 0}function Ma(b){b=b|0;var d=0,e=0,f=0;if(!b){b=-2;return b|0}d=c[b+80>>2]|0;if(d|0)fx(d);a:do if(!(c[b+28>>2]|0))d=0;else switch(a[b+92>>0]|0){case 119:{d=Ya(b)|0;break a}case 114:{d=Jb(b)|0;break a}default:{d=0;break a}}while(0);e=c[b+64>>2]|0;if((e|0)!=0?(Gy(e)|0)!=0:0)d=(c[858034]|0)==29?d:-1;f=c[b+56>>2]|0;e=c[b+68>>2]|0;if(e|0)fx(e);e=c[b+72>>2]|0;if(e|0)fx(e);e=c[b+84>>2]|0;if(e|0)fx(e);fx(b);b=(f|0)<0?f:d;return b|0}function Na(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+4|0;f=c[i>>2]|0;do if(f>>>0<2){if(!f)h=b+68|0;else{h=b+68|0;a[c[h>>2]>>0]=a[c[b>>2]>>0]|0}c[858034]=0;g=b+64|0;e=Uy((c[h>>2]|0)+f|0,1,16384>>>f,c[g>>2]|0)|0;if((e|0)==0?Ly(c[g>>2]|0)|0:0)c[b+56>>2]=-1;f=(c[i>>2]|0)+e|0;c[i>>2]=f;e=c[h>>2]|0;c[b>>2]=e;if(f>>>0>=2){g=b;break}c[b+88>>2]=f;return}else{g=b;e=c[b>>2]|0}while(0);if((a[e>>0]|0)==31?(a[e+1>>0]|0)==-117:0){c[i>>2]=f+-2;c[g>>2]=e+2;i=Oa(b)|0;e=Oa(b)|0;if(!((i|0)==8&(e&224|0)==0)){c[b+56>>2]=-3;return}Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;if(e&4|0?(d=Oa(b)|0,d=((Oa(b)|0)<<8)+d|0,d|0):0)do d=d+-1|0;while(!((Oa(b)|0)==-1|(d|0)==0));if(e&8|0)do{}while(((Oa(b)|0)+1|0)>>>0>1);if(e&16|0)do{}while(((Oa(b)|0)+1|0)>>>0>1);if(e&2|0){Oa(b)|0;Oa(b)|0}c[b+56>>2]=(c[b+60>>2]|0)==0?0:-3;return}c[b+88>>2]=1;return}function Oa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;g=a+60|0;if(c[g>>2]|0){h=-1;return h|0}h=a+4|0;e=c[h>>2]|0;do if(!e){c[858034]=0;b=a+68|0;f=a+64|0;e=Uy(c[b>>2]|0,1,16384,c[f>>2]|0)|0;c[h>>2]=e;if(e|0){b=c[b>>2]|0;c[a>>2]=b;f=a;break}c[g>>2]=1;if(!(Ly(c[f>>2]|0)|0)){h=-1;return h|0}c[a+56>>2]=-1;h=-1;return h|0}else{f=a;b=c[a>>2]|0}while(0);c[h>>2]=e+-1;c[f>>2]=b+1;h=d[b>>0]|0;return h|0}function Pa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b){e=-2;return e|0}if((a[b+92>>0]|0)!=114){e=-2;return e|0}r=b+56|0;switch(c[r>>2]|0){case 1:{e=0;return e|0}case -1:case -3:{e=-1;return e|0}default:{f=b+12|0;c[f>>2]=d;s=b+16|0;c[s>>2]=e;a:do if(e){h=b+108|0;g=c[h>>2]|0;do if((g|0)==-1){i=d;q=b+104|0;h=e}else{i=d+1|0;a[d>>0]=g;c[f>>2]=(c[f>>2]|0)+1;g=(c[s>>2]|0)+-1|0;c[s>>2]=g;c[h>>2]=-1;d=b+104|0;c[d>>2]=(c[d>>2]|0)+1;if(!(c[b+112>>2]|0))if(!g){d=i;t=11;break a}else{q=d;h=g;break}c[r>>2]=1;e=1;return e|0}while(0);k=b+88|0;m=b+4|0;o=b+60|0;p=b+100|0;l=b+68|0;n=b+64|0;g=b+76|0;d=i;j=h;while(1){h=c[m>>2]|0;if(c[k>>2]|0){t=15;break}if(!h)if(!(c[o>>2]|0)){c[858034]=0;h=Uy(c[l>>2]|0,1,16384,c[n>>2]|0)|0;c[m>>2]=h;if((h|0)==0?(c[o>>2]=1,Ly(c[n>>2]|0)|0):0){t=24;break}c[b>>2]=c[l>>2];j=c[s>>2]|0}else h=0;c[p>>2]=(c[p>>2]|0)+h;c[q>>2]=(c[q>>2]|0)+j;h=Gb(b)|0;c[r>>2]=h;c[p>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[s>>2]|0);if((h|0)==1){j=c[f>>2]|0;c[g>>2]=Ia(c[g>>2]|0,d,j-d|0)|0;d=j;j=Qa(b)|0;if((j|0)!=(c[g>>2]|0)){t=28;break}Qa(b)|0;Na(b);if(c[r>>2]|0)break a;Eb(b)|0;c[g>>2]=Ia(0,0,0)|0;h=c[r>>2]|0}if(h|0)break a;if(c[o>>2]|0)break a;h=c[s>>2]|0;if(!h)break a;else j=h}if((t|0)==15){h=h>>>0>j>>>0?j:h;if(h){mz(c[f>>2]|0,c[b>>2]|0,h|0)|0;g=i+h|0;c[f>>2]=g;c[b>>2]=(c[b>>2]|0)+h;d=(c[s>>2]|0)-h|0;c[s>>2]=d;c[m>>2]=(c[m>>2]|0)-h;if(!d)d=0;else{f=g;t=17}}else{f=i;d=j;t=17}if((t|0)==17){d=Uy(f,1,d,c[n>>2]|0)|0;d=(c[s>>2]|0)-d|0;c[s>>2]=d}d=e-d|0;c[p>>2]=(c[p>>2]|0)+d;c[q>>2]=(c[q>>2]|0)+d;if(d|0){e=d;return e|0}c[o>>2]=1;e=0;return e|0}else if((t|0)==24){c[r>>2]=-1;break}else if((t|0)==28){c[r>>2]=-3;break}}else t=11;while(0);if((t|0)==11)g=b+76|0;c[g>>2]=Ia(c[g>>2]|0,d,(c[f>>2]|0)-d|0)|0;d=c[s>>2]|0;b:do if((d|0)==(e|0)){switch(c[r>>2]|0){case -1:case -3:{d=-1;break}default:break b}return d|0}while(0);e=e-d|0;return e|0}}return 0}function Qa(a){a=a|0;var b=0,d=0;b=Oa(a)|0;b=((Oa(a)|0)<<8)+b|0;b=b+((Oa(a)|0)<<16)|0;d=Oa(a)|0;if((d|0)!=-1){d=d<<24;d=b+d|0;return d|0}c[a+56>>2]=-3;d=d<<24;d=b+d|0;return d|0}function Ra(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b){e=-2;return e|0}if((a[b+92>>0]|0)!=119){e=-2;return e|0}c[b>>2]=d;n=b+4|0;c[n>>2]=e;a:do if(!e)f=0;else{o=b+16|0;h=b+72|0;i=b+12|0;j=b+64|0;k=b+100|0;l=b+104|0;m=b+56|0;g=c[o>>2]|0;f=e;while(1){if(!g){g=c[h>>2]|0;c[i>>2]=g;if((xy(g,1,16384,c[j>>2]|0)|0)!=16384)break;c[o>>2]=16384;f=c[n>>2]|0;g=16384}c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=(c[l>>2]|0)+g;p=hb(b,0)|0;c[m>>2]=p;f=c[n>>2]|0;c[k>>2]=(c[k>>2]|0)-f;g=c[o>>2]|0;c[l>>2]=(c[l>>2]|0)-g;if((p|0)!=0|(f|0)==0)break a}c[m>>2]=-1;f=c[n>>2]|0}while(0);p=b+76|0;c[p>>2]=Ia(c[p>>2]|0,d,e)|0;p=e-f|0;return p|0}function Sa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b){n=-2;return n|0}if((a[b+92>>0]|0)!=119){n=-2;return n|0}c[b+4>>2]=0;j=b+16|0;k=b+72|0;l=b+64|0;m=b+104|0;h=b+56|0;i=b+12|0;f=0;d=c[j>>2]|0;while(1){e=16384-d|0;g=(e|0)==0;if(!g){if((xy(c[k>>2]|0,1,e,c[l>>2]|0)|0)!=(e|0)){n=6;break}c[i>>2]=c[k>>2];c[j>>2]=16384;d=16384}if(f|0){n=9;break}c[m>>2]=(c[m>>2]|0)+d;d=hb(b,4)|0;c[h>>2]=d;e=c[j>>2]|0;c[m>>2]=(c[m>>2]|0)-e;if(!(g&(d|0)==-5)){if(d>>>0>=2)break}else{c[h>>2]=0;d=0}f=((e|0)!=0|(d|0)==1)&1;d=e}if((n|0)==6){c[h>>2]=-1;n=-1;return n|0}else if((n|0)==9)d=c[h>>2]|0;n=(d|0)==1?0:d;return n|0}function Ta(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)return;h=b+56|0;switch(c[h>>2]|0){case -3:case -1:return;default:{}}if((a[b+92>>0]|0)==119){e=d-(c[b+100>>2]|0)|0;if((e|0)<0)return;f=b+68|0;d=c[f>>2]|0;do if(!d){d=ex(16384)|0;c[f>>2]=d;if(!d)return;else{nz(d|0,0,16384)|0;break}}while(0);if((e|0)<=0)return;d=Ra(b,d,(e|0)<16384?e:16384)|0;if(!d)return;d=e-d|0;while(1){if((d|0)<=0){e=30;break}e=Ra(b,c[f>>2]|0,(d|0)<16384?d:16384)|0;if(!e){e=30;break}else d=d-e|0}if((e|0)==30)return}if((d|0)<0)return;if(c[b+88>>2]|0){c[b+108>>2]=-1;c[b+4>>2]=0;c[b>>2]=c[b+68>>2];if((My(c[b+64>>2]|0,d,0)|0)<0)return;c[b+104>>2]=d;c[b+100>>2]=d;return}g=b+104|0;e=c[g>>2]|0;if((e|0)>(d|0)){if((Ua(b)|0)<0)return}else d=d-e|0;if(!d)return;i=b+72|0;e=c[i>>2]|0;if(!e){e=ex(16384)|0;c[i>>2]=e;if(!e)return}f=b+108|0;if((c[f>>2]|0)!=-1){c[f>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;d=d+-1|0;if(c[b+112>>2]|0)c[h>>2]=1}if((d|0)<=0)return;while(1){h=Pa(b,e,(d|0)<16384?d:16384)|0;d=d-h|0;if(!((h|0)>0&(d|0)>0))break;e=c[i>>2]|0}return}function Ua(b){b=b|0;if(!b){b=-1;return b|0}if((a[b+92>>0]|0)!=114){b=-1;return b|0}c[b+56>>2]=0;c[b+60>>2]=0;c[b+108>>2]=-1;c[b+4>>2]=0;c[b>>2]=c[b+68>>2];c[b+76>>2]=Ia(0,0,0)|0;if(!(c[b+88>>2]|0))Eb(b)|0;c[b+100>>2]=0;c[b+104>>2]=0;b=My(c[b+64>>2]|0,c[b+96>>2]|0,0)|0;return b|0}function Va(b){b=b|0;var d=0;if(!b)return;if((a[b+92>>0]|0)==119?(Sa(b)|0)==0:0){d=b+64|0;Wa(c[d>>2]|0,c[b+76>>2]|0);Wa(c[d>>2]|0,c[b+100>>2]|0)}Ma(b)|0;return}function Wa(a,b){a=a|0;b=b|0;Ty(b&255,a);Ty(b>>>8&255,a);Ty(b>>>16&255,a);Ty(b>>>24,a);return}function Xa(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!i){h=-6;return h|0}if((j|0)!=56|(a[i>>0]|0)!=49){h=-6;return h|0}if(!b){h=-2;return h|0}n=b+24|0;c[n>>2]=0;m=b+32|0;i=c[m>>2]|0;if(!i){c[m>>2]=5;c[b+40>>2]=0;i=5}j=b+36|0;if(!(c[j>>2]|0))c[j>>2]=4;l=(d|0)==-1?6:d;if((f|0)<0){k=0;j=0-f|0}else{j=(f|0)>15;k=j?2:1;j=j?f+-16|0:f}if(h>>>0>4|(l>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(j&-8|0)!=8))){h=-2;return h|0}d=(j|0)==8?9:j;j=b+40|0;f=va[i&7](c[j>>2]|0,1,5824)|0;if(!f){h=-4;return h|0}c[b+28>>2]=f;c[f>>2]=b;c[f+24>>2]=k;c[f+28>>2]=0;c[f+48>>2]=d;k=1<>2]=k;c[f+52>>2]=k+-1;d=g+7|0;c[f+80>>2]=d;d=1<>2]=d;c[f+84>>2]=d+-1;c[f+88>>2]=((g+9|0)>>>0)/3|0;d=f+56|0;c[d>>2]=va[c[m>>2]&7](c[j>>2]|0,k,2)|0;k=f+64|0;c[k>>2]=va[c[m>>2]&7](c[j>>2]|0,c[e>>2]|0,2)|0;e=f+68|0;c[e>>2]=va[c[m>>2]&7](c[j>>2]|0,c[i>>2]|0,2)|0;i=1<>2]=i;i=va[c[m>>2]&7](c[j>>2]|0,i,4)|0;c[f+8>>2]=i;j=c[g>>2]|0;c[f+12>>2]=j<<2;if((c[d>>2]|0?c[k>>2]|0:0)?!((i|0)==0|(c[e>>2]|0)==0):0){c[f+5796>>2]=i+(j>>>1<<1);c[f+5784>>2]=i+(j*3|0);c[f+132>>2]=l;c[f+136>>2]=h;a[f+36>>0]=8;h=Za(b)|0;return h|0}c[f+4>>2]=666;c[n>>2]=45142;Ya(b)|0;h=-4;return h|0}function Ya(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;xa[c[b>>2]&31](c[e>>2]|0,d);d=b;b=c[f>>2]|0}xa[c[d>>2]&31](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function Za(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){f=-2;return f|0}f=c[a+28>>2]|0;if(!f){f=-2;return f|0}if(!(c[a+32>>2]|0)){f=-2;return f|0}if(!(c[a+36>>2]|0)){f=-2;return f|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[f+20>>2]=0;c[f+16>>2]=c[f+8>>2];d=f+24|0;b=c[d>>2]|0;e=0-b|0;if((b|0)<0){c[d>>2]=e;b=e}c[f+4>>2]=(b|0)==0?113:42;if((b|0)==2)b=Ia(0,0,0)|0;else b=Ha(0,0,0)|0;c[a+48>>2]=b;c[f+40>>2]=0;jb(f);_a(f);f=0;return f|0}function _a(a){a=a|0;var d=0,f=0;c[a+60>>2]=c[a+44>>2]<<1;f=a+68|0;d=a+76|0;b[(c[f>>2]|0)+((c[d>>2]|0)+-1<<1)>>1]=0;nz(c[f>>2]|0,0,(c[d>>2]<<1)+-2|0)|0;d=c[a+132>>2]|0;c[a+128>>2]=e[8208+(d*12|0)+2>>1];c[a+140>>2]=e[8208+(d*12|0)>>1];c[a+144>>2]=e[8208+(d*12|0)+4>>1];c[a+124>>2]=e[8208+(d*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;return}function $a(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;g=a+116|0;k=a+108|0;l=a+92|0;h=a+44|0;j=a+56|0;while(1){d=c[g>>2]|0;if(d>>>0<2){cb(a);d=c[g>>2]|0;if(!(d|b)){d=0;e=20;break}if(!d){e=15;break}}d=(c[k>>2]|0)+d|0;c[k>>2]=d;c[g>>2]=0;f=c[l>>2]|0;e=f+i|0;if(!((d|0)!=0&d>>>0>>0)){c[g>>2]=d-e;c[k>>2]=e;if((f|0)>-1)d=(c[j>>2]|0)+f|0;else d=0;qb(a,d,i,0);c[l>>2]=c[k>>2];fb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=20;break}d=c[k>>2]|0;f=c[l>>2]|0}e=d-f|0;if(e>>>0>=((c[h>>2]|0)+-262|0)>>>0){if((f|0)>-1)d=(c[j>>2]|0)+f|0;else d=0;qb(a,d,e,0);c[l>>2]=c[k>>2];fb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=20;break}}}if((e|0)==15){f=c[l>>2]|0;if((f|0)>-1)e=(c[j>>2]|0)+f|0;else e=0;d=(b|0)==4;qb(a,e,(c[k>>2]|0)-f|0,d&1);c[l>>2]=c[k>>2];fb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){l=d?2:0;return l|0}else{l=d?3:1;return l|0}}else if((e|0)==20)return d|0;return 0}function ab(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;u=e+116|0;w=(f|0)==0;x=e+72|0;y=e+88|0;C=e+56|0;F=e+108|0;A=e+84|0;B=e+68|0;k=e+64|0;l=e+52|0;m=e+96|0;n=e+44|0;o=e+112|0;p=e+5796|0;q=e+5792|0;r=e+5784|0;s=e+5788|0;t=e+136|0;v=e+128|0;E=e+92|0;g=0;while(1){if((c[u>>2]|0)>>>0<262){cb(e);h=c[u>>2]|0;if(w&h>>>0<262){g=0;D=31;break}if(!h){D=26;break}if(h>>>0>2)D=6}else D=6;if((D|0)==6){D=0;j=c[F>>2]|0;g=(c[x>>2]<>2]^(d[(c[C>>2]|0)+(j+2)>>0]|0))&c[A>>2];c[x>>2]=g;g=b[(c[B>>2]|0)+(g<<1)>>1]|0;b[(c[k>>2]|0)+((c[l>>2]&j)<<1)>>1]=g;b[(c[B>>2]|0)+(c[x>>2]<<1)>>1]=c[F>>2];g=g&65535}do if((g|0)!=0?(z=(c[F>>2]|0)-g|0,z>>>0<=((c[n>>2]|0)+-262|0)>>>0):0){h=c[t>>2]|0;if((h&-2|0)!=2){h=db(e,g)|0;c[m>>2]=h;break}if((z|0)==1&(h|0)==3){h=eb(e,g)|0;c[m>>2]=h}else D=13}else D=13;while(0);if((D|0)==13){D=0;h=c[m>>2]|0}do if(h>>>0>2){h=h+253|0;i=(c[F>>2]|0)-(c[o>>2]|0)|0;b[(c[p>>2]|0)+(c[q>>2]<<1)>>1]=i;G=c[r>>2]|0;j=c[q>>2]|0;c[q>>2]=j+1;a[G+j>>0]=h;h=e+148+((d[8848+(h&255)>>0]|0|256)+1<<2)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;i=i+65535&65535;i=e+2440+((d[8336+(i>>>0<256?i:(i>>>7)+256|0)>>0]|0)<<2)|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;i=(c[q>>2]|0)==((c[s>>2]|0)+-1|0)&1;h=c[m>>2]|0;j=(c[u>>2]|0)-h|0;c[u>>2]=j;if(!(j>>>0>2?h>>>0<=(c[v>>2]|0)>>>0:0)){j=(c[F>>2]|0)+h|0;c[F>>2]=j;c[m>>2]=0;G=c[C>>2]|0;h=d[G+j>>0]|0;c[x>>2]=h;c[x>>2]=(h<>2]^(d[G+(j+1)>>0]|0))&c[A>>2];break}c[m>>2]=h+-1;do{g=c[F>>2]|0;G=g+1|0;c[F>>2]=G;g=(c[x>>2]<>2]^(d[(c[C>>2]|0)+(g+3)>>0]|0))&c[A>>2];c[x>>2]=g;g=b[(c[B>>2]|0)+(g<<1)>>1]|0;b[(c[k>>2]|0)+((c[l>>2]&G)<<1)>>1]=g;b[(c[B>>2]|0)+(c[x>>2]<<1)>>1]=c[F>>2];G=(c[m>>2]|0)+-1|0;c[m>>2]=G}while((G|0)!=0);j=(c[F>>2]|0)+1|0;c[F>>2]=j;g=g&65535}else{i=a[(c[C>>2]|0)+(c[F>>2]|0)>>0]|0;b[(c[p>>2]|0)+(c[q>>2]<<1)>>1]=0;G=c[r>>2]|0;j=c[q>>2]|0;c[q>>2]=j+1;a[G+j>>0]=i;i=e+148+((i&255)<<2)|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;i=(c[q>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[u>>2]=(c[u>>2]|0)+-1;j=(c[F>>2]|0)+1|0;c[F>>2]=j}while(0);if(i|0){h=c[E>>2]|0;if((h|0)>-1)i=(c[C>>2]|0)+h|0;else i=0;qb(e,i,j-h|0,0);c[E>>2]=c[F>>2];fb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;D=31;break}}}if((D|0)==26){i=c[E>>2]|0;if((i|0)>-1)h=(c[C>>2]|0)+i|0;else h=0;g=(f|0)==4;qb(e,h,(c[F>>2]|0)-i|0,g&1);c[E>>2]=c[F>>2];fb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){G=g?2:0;return G|0}else{G=g?3:1;return G|0}}else if((D|0)==31)return g|0;return 0}function bb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;x=e+116|0;C=(f|0)==0;D=e+72|0;E=e+88|0;I=e+56|0;L=e+108|0;G=e+84|0;H=e+68|0;n=e+64|0;o=e+52|0;p=e+96|0;q=e+120|0;r=e+112|0;s=e+100|0;t=e+128|0;u=e+104|0;v=e+44|0;w=e+5796|0;y=e+5792|0;z=e+5784|0;A=e+5788|0;B=e+136|0;K=e+92|0;g=0;a:while(1){if((c[x>>2]|0)>>>0<262){cb(e);h=c[x>>2]|0;if(C&h>>>0<262){g=0;J=45;break}if(!h){J=38;break}if(h>>>0>2)J=6}else J=6;if((J|0)==6){J=0;m=c[L>>2]|0;g=(c[D>>2]<>2]^(d[(c[I>>2]|0)+(m+2)>>0]|0))&c[G>>2];c[D>>2]=g;g=b[(c[H>>2]|0)+(g<<1)>>1]|0;b[(c[n>>2]|0)+((c[o>>2]&m)<<1)>>1]=g;b[(c[H>>2]|0)+(c[D>>2]<<1)>>1]=c[L>>2];g=g&65535}h=c[p>>2]|0;c[q>>2]=h;c[s>>2]=c[r>>2];c[p>>2]=2;if(!g)i=2;else{do if(h>>>0<(c[t>>2]|0)>>>0?(F=(c[L>>2]|0)-g|0,F>>>0<=((c[v>>2]|0)+-262|0)>>>0):0){h=c[B>>2]|0;if((h&-2|0)==2)if((F|0)==1&(h|0)==3){i=eb(e,g)|0;J=14}else i=2;else{i=db(e,g)|0;J=14}if((J|0)==14){J=0;c[p>>2]=i;if(i>>>0>=6)break;h=c[B>>2]|0}if((h|0)!=1){if((i|0)!=3)break;if(((c[L>>2]|0)-(c[r>>2]|0)|0)>>>0<=4096){i=3;break}}c[p>>2]=2;i=2}else i=2;while(0);h=c[q>>2]|0}do if(h>>>0<3|i>>>0>h>>>0){if(!(c[u>>2]|0)){c[u>>2]=1;c[L>>2]=(c[L>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;break}m=a[(c[I>>2]|0)+((c[L>>2]|0)+-1)>>0]|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=0;k=c[z>>2]|0;l=c[y>>2]|0;c[y>>2]=l+1;a[k+l>>0]=m;m=e+148+((m&255)<<2)|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if((c[y>>2]|0)==((c[A>>2]|0)+-1|0)){h=c[K>>2]|0;if((h|0)>-1)i=(c[I>>2]|0)+h|0;else i=0;qb(e,i,(c[L>>2]|0)-h|0,0);c[K>>2]=c[L>>2];fb(c[e>>2]|0)}c[L>>2]=(c[L>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;J=45;break a}}else{k=c[L>>2]|0;m=k+-3+(c[x>>2]|0)|0;l=h+253|0;k=k+65535-(c[s>>2]|0)|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=k;j=c[z>>2]|0;h=c[y>>2]|0;c[y>>2]=h+1;a[j+h>>0]=l;l=e+148+((d[8848+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[8336+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[y>>2]|0;l=c[A>>2]|0;h=c[q>>2]|0;c[x>>2]=1-h+(c[x>>2]|0);h=h+-2|0;c[q>>2]=h;do{i=c[L>>2]|0;j=i+1|0;c[L>>2]=j;if(j>>>0<=m>>>0){g=(c[D>>2]<>2]^(d[(c[I>>2]|0)+(i+3)>>0]|0))&c[G>>2];c[D>>2]=g;g=b[(c[H>>2]|0)+(g<<1)>>1]|0;b[(c[n>>2]|0)+((c[o>>2]&j)<<1)>>1]=g;b[(c[H>>2]|0)+(c[D>>2]<<1)>>1]=c[L>>2];g=g&65535;h=c[q>>2]|0}h=h+-1|0;c[q>>2]=h}while((h|0)!=0);c[u>>2]=0;c[p>>2]=2;j=(c[L>>2]|0)+1|0;c[L>>2]=j;if((k|0)==(l+-1|0)){h=c[K>>2]|0;if((h|0)>-1)i=(c[I>>2]|0)+h|0;else i=0;qb(e,i,j-h|0,0);c[K>>2]=c[L>>2];fb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;J=45;break a}}}while(0)}if((J|0)==38){if(c[u>>2]|0){J=a[(c[I>>2]|0)+((c[L>>2]|0)+-1)>>0]|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=0;G=c[z>>2]|0;H=c[y>>2]|0;c[y>>2]=H+1;a[G+H>>0]=J;J=e+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;c[u>>2]=0}i=c[K>>2]|0;if((i|0)>-1)h=(c[I>>2]|0)+i|0;else h=0;g=(f|0)==4;qb(e,h,(c[L>>2]|0)-i|0,g&1);c[K>>2]=c[L>>2];fb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){L=g?2:0;return L|0}else{L=g?3:1;return L|0}}else if((J|0)==45)return g|0;return 0}function cb(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=a+44|0;p=c[i>>2]|0;q=a+60|0;r=a+116|0;s=a+108|0;t=p+-262|0;u=a+56|0;v=a+112|0;w=a+92|0;j=a+76|0;k=a+68|0;l=a+72|0;m=a+88|0;n=a+84|0;o=a+64|0;f=c[r>>2]|0;g=p;while(1){h=c[s>>2]|0;f=(c[q>>2]|0)-f-h|0;if(h>>>0>=(t+g|0)>>>0){h=c[u>>2]|0;mz(h|0,h+p|0,p|0)|0;c[v>>2]=(c[v>>2]|0)-p;c[s>>2]=(c[s>>2]|0)-p;c[w>>2]=(c[w>>2]|0)-p;h=c[j>>2]|0;g=h;h=(c[k>>2]|0)+(h<<1)|0;do{h=h+-2|0;x=e[h>>1]|0;b[h>>1]=p>>>0>x>>>0?0:x-p&65535;g=g+-1|0}while((g|0)!=0);g=p;h=(c[o>>2]|0)+(p<<1)|0;do{h=h+-2|0;x=e[h>>1]|0;b[h>>1]=p>>>0>x>>>0?0:x-p&65535;g=g+-1|0}while((g|0)!=0);f=f+p|0}g=c[a>>2]|0;if(!(c[g+4>>2]|0)){f=13;break}f=gb(g,(c[u>>2]|0)+(c[s>>2]|0)+(c[r>>2]|0)|0,f)|0;f=(c[r>>2]|0)+f|0;c[r>>2]=f;if(f>>>0>2?(h=c[u>>2]|0,x=c[s>>2]|0,g=d[h+x>>0]|0,c[l>>2]=g,c[l>>2]=(g<>2]^(d[h+(x+1)>>0]|0))&c[n>>2],f>>>0>=262):0){f=13;break}if(!(c[(c[a>>2]|0)+4>>2]|0)){f=13;break}g=c[i>>2]|0}if((f|0)==13)return}function db(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=c[b+124>>2]|0;s=c[b+56>>2]|0;m=c[b+108>>2]|0;t=s+m|0;i=c[b+120>>2]|0;v=c[b+144>>2]|0;u=(c[b+44>>2]|0)+-262|0;u=m>>>0>u>>>0?m-u|0:0;m=c[b+64>>2]|0;n=c[b+52>>2]|0;w=c[b+116>>2]|0;v=v>>>0>w>>>0?w:v;o=b+112|0;p=t+1|0;q=t+258|0;f=a[t+i>>0]|0;k=a[t+(i+-1)>>0]|0;l=d;d=i;j=i>>>0<(c[b+140>>2]|0)>>>0?j:j>>>2;while(1){b=s+l|0;if((((a[b+d>>0]|0)==f<<24>>24?(a[b+(d+-1)>>0]|0)==k<<24>>24:0)?(a[b>>0]|0)==(a[t>>0]|0):0)?(r=b+1|0,(a[r>>0]|0)==(a[p>>0]|0)):0){h=2;i=r;do{g=t+h|0;b=g+1|0;if((a[b>>0]|0)!=(a[i+2>>0]|0))break;b=g+2|0;if((a[b>>0]|0)!=(a[i+3>>0]|0))break;b=g+3|0;if((a[b>>0]|0)!=(a[i+4>>0]|0))break;b=g+4|0;if((a[b>>0]|0)!=(a[i+5>>0]|0))break;b=g+5|0;if((a[b>>0]|0)!=(a[i+6>>0]|0))break;b=g+6|0;if((a[b>>0]|0)!=(a[i+7>>0]|0))break;b=g+7|0;g=i;i=i+8|0;if((a[b>>0]|0)!=(a[i>>0]|0))break;x=h;h=h+8|0;b=t+h|0}while(x>>>0<250?(a[b>>0]|0)==(a[g+9>>0]|0):0);b=b-q|0;g=b+258|0;if((g|0)>(d|0)){c[o>>2]=l;if((g|0)>=(v|0)){d=g;b=20;break}f=a[t+g>>0]|0;b=a[t+(b+257)>>0]|0;d=g}else b=k}else b=k;l=e[m+((l&n)<<1)>>1]|0;if(u>>>0>=l>>>0){b=20;break}j=j+-1|0;if(!j){b=20;break}else k=b}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+56>>2]|0;i=e+(c[b+108>>2]|0)|0;j=i+258|0;e=e+d|0;if((a[e>>0]|0)!=(a[i>>0]|0)){d=2;return d|0}if((a[e+1>>0]|0)!=(a[i+1>>0]|0)){d=2;return d|0}h=2;g=e+2|0;do{f=i+h|0;e=f+1|0;if((a[e>>0]|0)!=(a[g+1>>0]|0))break;e=f+2|0;if((a[e>>0]|0)!=(a[g+2>>0]|0))break;e=f+3|0;if((a[e>>0]|0)!=(a[g+3>>0]|0))break;e=f+4|0;if((a[e>>0]|0)!=(a[g+4>>0]|0))break;e=f+5|0;if((a[e>>0]|0)!=(a[g+5>>0]|0))break;e=f+6|0;if((a[e>>0]|0)!=(a[g+6>>0]|0))break;e=f+7|0;if((a[e>>0]|0)!=(a[g+7>>0]|0))break;h=h+8|0;e=i+h|0;g=g+8|0}while(h>>>0<258?(a[e>>0]|0)==(a[g>>0]|0):0);e=e-j+258|0;if((e|0)<3){d=2;return d|0}c[b+112>>2]=d;d=c[b+116>>2]|0;d=e>>>0>d>>>0?d:e;return d|0}function fb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[b>>2]|0;f=c[d+20>>2]|0;e=a+16|0;g=c[e>>2]|0;f=f>>>0>g>>>0?g:f;if(!f)return;g=a+12|0;mz(c[g>>2]|0,c[d+16>>2]|0,f|0)|0;c[g>>2]=(c[g>>2]|0)+f;g=(c[b>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+f;a=a+20|0;c[a>>2]=(c[a>>2]|0)+f;c[e>>2]=(c[e>>2]|0)-f;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)-f;a=c[b>>2]|0;if(c[a+20>>2]|0)return;c[a+16>>2]=c[a+8>>2];return}function gb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=f>>>0>d>>>0?d:f;if(!g){b=0;return b|0}c[e>>2]=f-g;switch(c[(c[a+28>>2]|0)+24>>2]|0){case 1:{d=a+48|0;e=c[a>>2]|0;c[d>>2]=Ha(c[d>>2]|0,e,g)|0;d=a;break}case 2:{d=a+48|0;e=c[a>>2]|0;c[d>>2]=Ia(c[d>>2]|0,e,g)|0;d=a;break}default:{d=a;e=c[a>>2]|0}}mz(b|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+g;b=g;return b|0}function hb(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){x=-2;return x|0}x=c[d+28>>2]|0;if(e>>>0>4|(x|0)==0){x=-2;return x|0}do if(c[d+12>>2]|0){if((c[d>>2]|0)==0?c[d+4>>2]|0:0)break;t=x+4|0;f=c[t>>2]|0;u=(e|0)!=4;if(!(u&(f|0)==666)){v=d+16|0;if(!(c[v>>2]|0)){c[d+24>>2]=45162;x=-5;return x|0}c[x>>2]=d;w=x+40|0;s=c[w>>2]|0;c[w>>2]=e;do if((f|0)==42){if((c[x+24>>2]|0)!=2){g=(c[x+48>>2]<<12)+-30720|0;if((c[x+136>>2]|0)<=1?(h=c[x+132>>2]|0,(h|0)>=2):0)f=(h|0)<6?64:(h|0)==6?128:192;else f=0;f=f|g;o=x+108|0;f=(c[o>>2]|0)==0?f:f|32;c[t>>2]=113;ib(x,(((f>>>0)%31|0)^31)+f|0);f=d+48|0;if(c[o>>2]|0){ib(x,(c[f>>2]|0)>>>16);ib(x,c[f>>2]&65535)}c[f>>2]=Ha(0,0,0)|0;f=c[t>>2]|0;l=29;break}h=d+48|0;c[h>>2]=Ia(0,0,0)|0;j=x+8|0;g=c[j>>2]|0;k=x+20|0;f=c[k>>2]|0;c[k>>2]=f+1;a[g+f>>0]=31;f=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=-117;g=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[g+f>>0]=8;f=x+28|0;g=c[f>>2]|0;if(!g){r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[f+r>>0]=0;r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[f+r>>0]=0;r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[x+132>>2]|0;if((f|0)==9)f=2;else f=((f|0)<2?1:(c[x+136>>2]|0)>1)?4:0;r=c[j>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;a[r+q>>0]=f;q=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[q+r>>0]=3;c[t>>2]=113;break}n=(((c[g+44>>2]|0)==0?0:2)|(c[g>>2]|0)!=0|((c[g+16>>2]|0)==0?0:4)|((c[g+28>>2]|0)==0?0:8)|((c[g+36>>2]|0)==0?0:16))&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[(c[f>>2]|0)+4>>2]&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+4>>2]|0)>>>8&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=(c[(c[f>>2]|0)+4>>2]|0)>>>16&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+4>>2]|0)>>>24&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[x+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[x+136>>2]|0)>1)?4:0;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=c[(c[f>>2]|0)+12>>2]&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[f>>2]|0;if(c[g+16>>2]|0){g=c[g+20>>2]&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+20>>2]|0)>>>8&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[f>>2]|0}if(c[g+44>>2]|0)c[h>>2]=Ia(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[x+32>>2]=0;c[t>>2]=69;l=31}else l=29;while(0);if((l|0)==29)if((f|0)==69){f=x+28|0;l=31}else l=48;do if((l|0)==31){g=c[f>>2]|0;if(!(c[g+16>>2]|0)){c[t>>2]=73;l=50;break}n=x+20|0;i=c[n>>2]|0;o=x+32|0;j=c[o>>2]|0;a:do if(j>>>0<(c[g+20>>2]&65535)>>>0){k=x+12|0;l=x+8|0;m=d+48|0;h=i;while(1){if((i|0)==(c[k>>2]|0)){if(i>>>0>h>>>0&(c[g+44>>2]|0)!=0)c[m>>2]=Ia(c[m>>2]|0,(c[l>>2]|0)+h|0,i-h|0)|0;fb(d);i=c[n>>2]|0;g=c[f>>2]|0;if((i|0)==(c[k>>2]|0)){h=i;break a}h=i;j=c[o>>2]|0}g=a[(c[g+16>>2]|0)+j>>0]|0;j=c[l>>2]|0;c[n>>2]=i+1;a[j+i>>0]=g;j=(c[o>>2]|0)+1|0;c[o>>2]=j;g=c[f>>2]|0;if(j>>>0>=(c[g+20>>2]&65535)>>>0)break a;i=c[n>>2]|0}}else h=i;while(0);if((c[g+44>>2]|0)!=0?(p=c[n>>2]|0,p>>>0>h>>>0):0){g=d+48|0;c[g>>2]=Ia(c[g>>2]|0,(c[x+8>>2]|0)+h|0,p-h|0)|0;g=c[f>>2]|0}if((c[o>>2]|0)==(c[g+20>>2]|0)){c[o>>2]=0;c[t>>2]=73;l=50;break}else{f=c[t>>2]|0;l=48;break}}while(0);if((l|0)==48)if((f|0)==73){g=x+28|0;f=g;g=c[g>>2]|0;l=50}else l=65;do if((l|0)==50){if(!(c[g+28>>2]|0)){c[t>>2]=91;l=67;break}k=x+20|0;h=c[k>>2]|0;j=x+12|0;l=x+32|0;m=x+8|0;n=d+48|0;g=h;while(1){if((h|0)==(c[j>>2]|0)){if(h>>>0>g>>>0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,h-g|0)|0;fb(d);i=c[k>>2]|0;if((i|0)==(c[j>>2]|0)){h=1;g=i;break}else{g=i;h=i}}o=c[(c[f>>2]|0)+28>>2]|0;p=c[l>>2]|0;c[l>>2]=p+1;p=a[o+p>>0]|0;o=c[m>>2]|0;c[k>>2]=h+1;a[o+h>>0]=p;if(!(p<<24>>24)){h=0;break}h=c[k>>2]|0}if(c[(c[f>>2]|0)+44>>2]|0?(q=c[k>>2]|0,q>>>0>g>>>0):0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,q-g|0)|0;if(!h){c[l>>2]=0;c[t>>2]=91;l=67;break}else{f=c[t>>2]|0;l=65;break}}while(0);if((l|0)==65)if((f|0)==91){f=x+28|0;l=67}else{i=f;l=82}do if((l|0)==67){if(!(c[(c[f>>2]|0)+36>>2]|0)){c[t>>2]=103;l=84;break}l=x+20|0;h=c[l>>2]|0;j=x+12|0;k=x+32|0;m=x+8|0;n=d+48|0;g=h;while(1){if((h|0)==(c[j>>2]|0)){if(h>>>0>g>>>0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,h-g|0)|0;fb(d);i=c[l>>2]|0;if((i|0)==(c[j>>2]|0)){h=1;g=i;break}else{g=i;h=i}}p=c[(c[f>>2]|0)+36>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[p+q>>0]|0;p=c[m>>2]|0;c[l>>2]=h+1;a[p+h>>0]=q;if(!(q<<24>>24)){h=0;break}h=c[l>>2]|0}if(c[(c[f>>2]|0)+44>>2]|0?(r=c[l>>2]|0,r>>>0>g>>>0):0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,r-g|0)|0;if(!h){c[t>>2]=103;l=84;break}else{i=c[t>>2]|0;l=82;break}}while(0);if((l|0)==82?(i|0)==103:0){f=x+28|0;l=84}do if((l|0)==84){if(!(c[(c[f>>2]|0)+44>>2]|0)){c[t>>2]=113;break}j=x+20|0;f=c[j>>2]|0;g=f+2|0;i=x+12|0;h=c[i>>2]|0;if(g>>>0>h>>>0){fb(d);f=c[j>>2]|0;g=f+2|0;h=c[i>>2]|0}if(g>>>0<=h>>>0){r=d+48|0;q=c[r>>2]&255;p=x+8|0;o=c[p>>2]|0;c[j>>2]=f+1;a[o+f>>0]=q;o=(c[r>>2]|0)>>>8&255;p=c[p>>2]|0;q=c[j>>2]|0;c[j>>2]=q+1;a[p+q>>0]=o;c[r>>2]=Ia(0,0,0)|0;c[t>>2]=113}}while(0);j=x+20|0;do if(!(c[j>>2]|0)){f=c[d+4>>2]|0;if(u&(s|0)>=(e|0)&(f|0)==0){c[d+24>>2]=45162;x=-5;return x|0}}else{fb(d);if(c[v>>2]|0){f=c[d+4>>2]|0;break}c[w>>2]=-1;x=0;return x|0}while(0);g=(c[t>>2]|0)==666;f=(f|0)==0;if(g)if(f)l=100;else{c[d+24>>2]=45162;x=-5;return x|0}else if(f)l=100;else l=101;if((l|0)==100?!(((e|0)==0|g)&(c[x+116>>2]|0)==0):0)l=101;if((l|0)==101){f=ua[c[8208+((c[x+132>>2]|0)*12|0)+8>>2]&3](x,e)|0;if((f|1|0)==3)c[t>>2]=666;if((f|2|0)==2){if(c[v>>2]|0){x=0;return x|0}c[w>>2]=-1;x=0;return x|0}if((f|0)==1){if((e|0)!=1){lb(x,0,0,0);if((e|0)==3){e=x+68|0;t=x+76|0;b[(c[e>>2]|0)+((c[t>>2]|0)+-1<<1)>>1]=0;nz(c[e>>2]|0,0,(c[t>>2]<<1)+-2|0)|0}}else ob(x);fb(d);if(!(c[v>>2]|0)){c[w>>2]=-1;x=0;return x|0}}}if(u){x=0;return x|0}i=x+24|0;f=c[i>>2]|0;if((f|0)<1){x=1;return x|0}g=d+48|0;h=c[g>>2]|0;if((f|0)==2){w=x+8|0;t=c[w>>2]|0;u=c[j>>2]|0;c[j>>2]=u+1;a[t+u>>0]=h;u=(c[g>>2]|0)>>>8&255;t=c[w>>2]|0;v=c[j>>2]|0;c[j>>2]=v+1;a[t+v>>0]=u;v=(c[g>>2]|0)>>>16&255;t=c[w>>2]|0;u=c[j>>2]|0;c[j>>2]=u+1;a[t+u>>0]=v;u=(c[g>>2]|0)>>>24&255;t=c[w>>2]|0;v=c[j>>2]|0;c[j>>2]=v+1;a[t+v>>0]=u;v=d+8|0;t=c[v>>2]&255;u=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[u+x>>0]=t;x=(c[v>>2]|0)>>>8&255;u=c[w>>2]|0;t=c[j>>2]|0;c[j>>2]=t+1;a[u+t>>0]=x;t=(c[v>>2]|0)>>>16&255;u=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[u+x>>0]=t;v=(c[v>>2]|0)>>>24&255;w=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[w+x>>0]=v}else{ib(x,h>>>16);ib(x,c[g>>2]&65535)}fb(d);f=c[i>>2]|0;if((f|0)>0)c[i>>2]=0-f;x=(c[j>>2]|0)==0&1;return x|0}}while(0);c[d+24>>2]=45129;x=-2;return x|0}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;f=b+20|0;b=c[f>>2]|0;c[f>>2]=b+1;a[g+b>>0]=d>>>8;e=c[e>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[e+b>>0]=d;return}function jb(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=44216;c[a+2852>>2]=a+2440;c[a+2860>>2]=44236;c[a+2864>>2]=a+2684;c[a+2872>>2]=44256;b[a+5816>>1]=0;c[a+5820>>2]=0;c[a+5812>>2]=8;kb(a);return}function kb(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function lb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+5820|0;k=c[j>>2]|0;l=d+5816|0;i=h<>1]|0);b[l>>1]=i;if((k|0)>13){k=d+8|0;o=c[k>>2]|0;n=d+20|0;m=c[n>>2]|0;c[n>>2]=m+1;a[o+m>>0]=i;m=(e[l>>1]|0)>>>8&255;i=c[k>>2]|0;k=c[n>>2]|0;c[n>>2]=k+1;a[i+k>>0]=m;k=c[j>>2]|0;b[l>>1]=(h&65535)>>>(16-k|0);l=k+-13|0;c[j>>2]=l;mb(d,f,g);return}else{o=k+3|0;c[j>>2]=o;mb(d,f,g);return}}function mb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;nb(b);c[b+5812>>2]=8;g=b+8|0;i=c[g>>2]|0;f=b+20|0;b=c[f>>2]|0;c[f>>2]=b+1;a[i+b>>0]=e;b=c[g>>2]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[b+i>>0]=e>>>8;i=e&65535^65535;b=c[g>>2]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[b+h>>0]=i;h=c[g>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[h+b>>0]=i>>>8;if(!e)return;b=e;while(1){b=b+-1|0;e=a[d>>0]|0;h=c[g>>2]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[h+i>>0]=e;if(!b)break;else d=d+1|0}return}function nb(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;do if((g|0)<=8){f=d+5816|0;if((g|0)>0){j=b[f>>1]&255;i=c[d+8>>2]|0;d=d+20|0;g=c[d>>2]|0;c[d>>2]=g+1;d=j;g=i+g|0;break}else{j=f;b[j>>1]=0;c[h>>2]=0;return}}else{f=d+5816|0;k=b[f>>1]&255;j=d+8|0;g=c[j>>2]|0;i=d+20|0;d=c[i>>2]|0;c[i>>2]=d+1;a[g+d>>0]=k;d=(e[f>>1]|0)>>>8&255;j=c[j>>2]|0;g=c[i>>2]|0;c[i>>2]=g+1;g=j+g|0}while(0);a[g>>0]=d;k=f;b[k>>1]=0;c[h>>2]=0;return}function ob(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=d+5820|0;g=c[j>>2]|0;i=d+5816|0;f=2<>1]|0);b[i>>1]=f;if((g|0)>13){g=d+8|0;l=c[g>>2]|0;k=d+20|0;h=c[k>>2]|0;c[k>>2]=h+1;a[l+h>>0]=f;h=(e[i>>1]|0)>>>8&255;f=c[g>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=h;g=c[j>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;c[j>>2]=g;if((g|0)>9){l=d+8|0;g=c[l>>2]|0;h=d+20|0;k=c[h>>2]|0;c[h>>2]=k+1;a[g+k>>0]=f;k=(e[i>>1]|0)>>>8&255;l=c[l>>2]|0;f=c[h>>2]|0;c[h>>2]=f+1;a[l+f>>0]=k;b[i>>1]=0;f=(c[j>>2]|0)+-9|0}else f=g+7|0;c[j>>2]=f;pb(d);h=d+5812|0;g=c[j>>2]|0;if(((c[h>>2]|0)+11-g|0)>=9){c[h>>2]=7;return}f=2<>1]|0);b[i>>1]=f;if((g|0)>13){g=d+8|0;m=c[g>>2]|0;k=d+20|0;l=c[k>>2]|0;c[k>>2]=l+1;a[m+l>>0]=f;l=(e[i>>1]|0)>>>8&255;f=c[g>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=l;g=c[j>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;c[j>>2]=g;if((g|0)>9){m=d+8|0;g=c[m>>2]|0;k=d+20|0;l=c[k>>2]|0;c[k>>2]=l+1;a[g+l>>0]=f;l=(e[i>>1]|0)>>>8&255;m=c[m>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[m+f>>0]=l;b[i>>1]=0;f=(c[j>>2]|0)+-9|0}else f=g+7|0;c[j>>2]=f;pb(d);c[h>>2]=7;return}function pb(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=d+5820|0;f=c[g>>2]|0;do if((f|0)!=16)if((f|0)>7){f=d+5816|0;i=b[f>>1]&255;h=c[d+8>>2]|0;j=d+20|0;d=c[j>>2]|0;c[j>>2]=d+1;a[h+d>>0]=i;b[f>>1]=(e[f>>1]|0)>>>8;d=(c[g>>2]|0)+-8|0;break}else return;else{j=d+5816|0;l=b[j>>1]&255;i=d+8|0;k=c[i>>2]|0;f=d+20|0;h=c[f>>2]|0;c[f>>2]=h+1;a[k+h>>0]=l;h=(e[j>>1]|0)>>>8&255;i=c[i>>2]|0;d=c[f>>2]|0;c[f>>2]=d+1;a[i+d>>0]=h;b[j>>1]=0;d=0}while(0);c[g>>2]=d;return}function qb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[d+132>>2]|0)>0){if(g|0?(c[(c[d>>2]|0)+44>>2]|0)==2:0)rb(d);sb(d,d+2840|0);sb(d,d+2852|0);k=tb(d)|0;i=((c[d+5800>>2]|0)+10|0)>>>3;j=((c[d+5804>>2]|0)+10|0)>>>3;i=j>>>0>i>>>0?i:j;k=k+1|0}else{j=g+5|0;i=j;k=1}do if(!((f|0)!=0&(g+4|0)>>>0<=i>>>0)){n=d+5820|0;l=c[n>>2]|0;m=(l|0)>13;if((j|0)==(i|0)?1:(c[d+136>>2]|0)==4){f=h+2|0;g=d+5816|0;i=f<>1]|0);b[g>>1]=i;if(m){l=d+8|0;m=c[l>>2]|0;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[m+k>>0]=i;k=(e[g>>1]|0)>>>8&255;l=c[l>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;a[l+m>>0]=k;m=c[n>>2]|0;b[g>>1]=(f&65535)>>>(16-m|0);f=m+-13|0}else f=l+3|0;c[n>>2]=f;ub(d,9440,9184);break}else{f=h+4|0;g=d+5816|0;i=f<>1]|0);b[g>>1]=i;if(m){l=d+8|0;m=c[l>>2]|0;o=d+20|0;j=c[o>>2]|0;c[o>>2]=j+1;a[m+j>>0]=i;j=(e[g>>1]|0)>>>8&255;l=c[l>>2]|0;m=c[o>>2]|0;c[o>>2]=m+1;a[l+m>>0]=j;m=c[n>>2]|0;b[g>>1]=(f&65535)>>>(16-m|0);f=m+-13|0}else f=l+3|0;c[n>>2]=f;vb(d,(c[d+2844>>2]|0)+1|0,(c[d+2856>>2]|0)+1|0,k);ub(d,d+148|0,d+2440|0);break}}else lb(d,f,g,h);while(0);kb(d);if(!h)return;nb(d);return}function rb(a){a=a|0;var d=0;do if(((((((((((((((((((b[a+148>>1]|0)==0?(b[a+152>>1]|0)==0:0)?(b[a+156>>1]|0)==0:0)?(b[a+160>>1]|0)==0:0)?(b[a+164>>1]|0)==0:0)?(b[a+168>>1]|0)==0:0)?(b[a+172>>1]|0)==0:0)?(b[a+176>>1]|0)==0:0)?(b[a+180>>1]|0)==0:0)?(b[a+204>>1]|0)==0:0)?(b[a+208>>1]|0)==0:0)?(b[a+212>>1]|0)==0:0)?(b[a+216>>1]|0)==0:0)?(b[a+220>>1]|0)==0:0)?(b[a+224>>1]|0)==0:0)?(b[a+228>>1]|0)==0:0)?(b[a+232>>1]|0)==0:0)?(b[a+236>>1]|0)==0:0)?(b[a+240>>1]|0)==0:0){if(b[a+244>>1]|0){d=0;break}if(b[a+248>>1]|0){d=0;break}if(b[a+252>>1]|0){d=0;break}if(b[a+256>>1]|0){d=0;break}if(b[a+260>>1]|0){d=0;break}if(b[a+264>>1]|0){d=0;break}if(b[a+268>>1]|0){d=0;break}d=(b[a+272>>1]|0)==0&1}else d=0;while(0);c[(c[a>>2]|0)+44>>2]=d;return}function sb(d,f){d=d|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;o=c[f>>2]|0;p=f+8|0;h=c[p>>2]|0;n=c[h>>2]|0;h=c[h+12>>2]|0;q=d+5200|0;c[q>>2]=0;r=d+5204|0;c[r>>2]=573;if((h|0)>0){g=-1;i=0;do{if(!(b[o+(i<<2)>>1]|0))b[o+(i<<2)+2>>1]=0;else{g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[d+2908+(g<<2)>>2]=i;a[d+5208+i>>0]=0;g=i}i=i+1|0}while((i|0)!=(h|0));i=c[q>>2]|0;if((i|0)<2)j=8;else k=g}else{g=-1;i=0;j=8}if((j|0)==8){k=d+5800|0;l=(n|0)==0;m=d+5804|0;do{s=(g|0)<2;j=g+1|0;g=s?j:g;j=s?j:0;i=i+1|0;c[q>>2]=i;c[d+2908+(i<<2)>>2]=j;b[o+(j<<2)>>1]=1;a[d+5208+j>>0]=0;c[k>>2]=(c[k>>2]|0)+-1;if(!l)c[m>>2]=(c[m>>2]|0)-(e[n+(j<<2)+2>>1]|0);i=c[q>>2]|0}while((i|0)<2);k=g}j=f+4|0;c[j>>2]=k;g=c[q>>2]|0;if((g|0)>1){g=g>>>1;while(1){yb(d,o,g);if((g|0)>1)g=g+-1|0;else break}g=c[q>>2]|0}i=d+2912|0;while(1){s=c[i>>2]|0;c[q>>2]=g+-1;c[i>>2]=c[d+2908+(g<<2)>>2];yb(d,o,1);m=c[i>>2]|0;n=(c[r>>2]|0)+-1|0;c[r>>2]=n;c[d+2908+(n<<2)>>2]=s;n=(c[r>>2]|0)+-1|0;c[r>>2]=n;c[d+2908+(n<<2)>>2]=m;b[o+(h<<2)>>1]=(e[o+(m<<2)>>1]|0)+(e[o+(s<<2)>>1]|0);n=a[d+5208+s>>0]|0;l=a[d+5208+m>>0]|0;a[d+5208+h>>0]=(((n&255)<(l&255)?l:n)&255)+1;n=h&65535;b[o+(m<<2)+2>>1]=n;b[o+(s<<2)+2>>1]=n;c[i>>2]=h;yb(d,o,1);g=c[q>>2]|0;if((g|0)<=1)break;else h=h+1|0}q=c[i>>2]|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;c[d+2908+(s<<2)>>2]=q;zb(d,c[f>>2]|0,c[j>>2]|0,c[p>>2]|0);Ab(o,k,d+2876|0);return}function tb(a){a=a|0;var d=0;xb(a,a+148|0,c[a+2844>>2]|0);xb(a,a+2440|0,c[a+2856>>2]|0);sb(a,a+2864|0);if(!(b[a+2746>>1]|0))if(!(b[a+2690>>1]|0))if(!(b[a+2742>>1]|0))if(!(b[a+2694>>1]|0))if(!(b[a+2738>>1]|0))if(!(b[a+2698>>1]|0))if(!(b[a+2734>>1]|0))if(!(b[a+2702>>1]|0))if(!(b[a+2730>>1]|0))if(!(b[a+2706>>1]|0))if(!(b[a+2726>>1]|0))if(!(b[a+2710>>1]|0))if(!(b[a+2722>>1]|0))if(!(b[a+2714>>1]|0))if(!(b[a+2718>>1]|0))d=(b[a+2686>>1]|0)==0?2:3;else d=4;else d=5;else d=6;else d=7;else d=8;else d=9;else d=10;else d=11;else d=12;else d=13;else d=14;else d=15;else d=16;else d=17;else d=18;a=a+5800|0;c[a>>2]=(d*3|0)+17+(c[a>>2]|0);return d|0}function ub(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=f+5792|0;if(!(c[w>>2]|0)){m=f+5820|0;i=f+5816|0;o=i;n=m;m=c[m>>2]|0;i=b[i>>1]|0}else{x=f+5796|0;y=f+5784|0;n=f+5820|0;o=f+5816|0;u=f+8|0;v=f+20|0;t=0;do{p=b[(c[x>>2]|0)+(t<<1)>>1]|0;r=p&65535;q=d[(c[y>>2]|0)+t>>0]|0;t=t+1|0;do if(!(p<<16>>16)){l=e[g+(q<<2)+2>>1]|0;m=c[n>>2]|0;j=e[g+(q<<2)>>1]|0;k=j<>1]|0);i=k&65535;b[o>>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;s=c[v>>2]|0;c[v>>2]=s+1;a[i+s>>0]=k;s=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=s;m=c[n>>2]|0;i=j>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0;s=23;break}else{m=m+l|0;s=23;break}}else{p=d[8848+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;m=c[n>>2]|0;i=e[g+(i<<2)>>1]|0;k=i<>1]|0);j=k&65535;b[o>>1]=j;if((m|0)>(16-l|0)){m=c[u>>2]|0;j=c[v>>2]|0;c[v>>2]=j+1;a[m+j>>0]=k;k=(e[o>>1]|0)>>>8&255;j=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[j+m>>0]=k;m=c[n>>2]|0;j=i>>>(16-m|0)&65535;b[o>>1]=j;m=l+-16+m|0}else m=m+l|0;c[n>>2]=m;l=c[10592+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[10752+(p<<2)>>2]|0)|0;i=k<>1]=j;if((m|0)>(16-l|0)){j=c[u>>2]|0;q=c[v>>2]|0;c[v>>2]=q+1;a[j+q>>0]=i;q=(e[o>>1]|0)>>>8&255;j=c[u>>2]|0;i=c[v>>2]|0;c[v>>2]=i+1;a[j+i>>0]=q;i=c[n>>2]|0;j=(k&65535)>>>(16-i|0)&65535;b[o>>1]=j;i=l+-16+i|0}else i=l+m|0;c[n>>2]=i;m=i}p=r+-1|0;q=d[8336+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;l=e[h+(q<<2)+2>>1]|0;k=e[h+(q<<2)>>1]|0;j=k<>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;r=c[v>>2]|0;c[v>>2]=r+1;a[i+r>>0]=j;r=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=r;m=c[n>>2]|0;i=k>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0}else m=m+l|0;c[n>>2]=m;l=c[9312+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[10880+(q<<2)>>2]|0)|0;j=k<>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;s=c[v>>2]|0;c[v>>2]=s+1;a[i+s>>0]=j;s=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=s;m=c[n>>2]|0;i=(k&65535)>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0;s=23;break}else{m=l+m|0;s=23;break}}}while(0);if((s|0)==23){s=0;c[n>>2]=m}}while(t>>>0<(c[w>>2]|0)>>>0)}k=g+1026|0;l=e[k>>1]|0;j=e[g+1024>>1]|0;i=j<>1]=i;if((m|0)>(16-l|0)){y=f+8|0;g=c[y>>2]|0;w=f+20|0;x=c[w>>2]|0;c[w>>2]=x+1;a[g+x>>0]=i;x=(e[o>>1]|0)>>>8&255;y=c[y>>2]|0;g=c[w>>2]|0;c[w>>2]=g+1;a[y+g>>0]=x;g=c[n>>2]|0;b[o>>1]=j>>>(16-g|0);g=l+-16+g|0;c[n>>2]=g;g=b[k>>1]|0;g=g&65535;f=f+5812|0;c[f>>2]=g;return}else{g=m+l|0;c[n>>2]=g;g=b[k>>1]|0;g=g&65535;f=f+5812|0;c[f>>2]=g;return}}function vb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f+5820|0;l=c[p>>2]|0;k=g+-257|0;q=f+5816|0;j=k<>1]|0);b[q>>1]=j;if((l|0)>11){o=f+8|0;l=c[o>>2]|0;m=f+20|0;n=c[m>>2]|0;c[m>>2]=n+1;a[l+n>>0]=j;n=(e[q>>1]|0)>>>8&255;j=c[o>>2]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[j+o>>0]=n;o=c[p>>2]|0;j=(k&65535)>>>(16-o|0);b[q>>1]=j;k=o+-11|0}else k=l+5|0;c[p>>2]=k;o=h+-1|0;j=o<>1]=j;if((k|0)>11){l=f+8|0;h=c[l>>2]|0;m=f+20|0;n=c[m>>2]|0;c[m>>2]=n+1;a[h+n>>0]=j;n=(e[q>>1]|0)>>>8&255;j=c[l>>2]|0;l=c[m>>2]|0;c[m>>2]=l+1;a[j+l>>0]=n;l=c[p>>2]|0;j=(o&65535)>>>(16-l|0);b[q>>1]=j;l=l+-11|0}else l=k+5|0;c[p>>2]=l;k=i+-4|0;j=k<>1]=j;if((l|0)>12){n=f+8|0;l=c[n>>2]|0;h=f+20|0;m=c[h>>2]|0;c[h>>2]=m+1;a[l+m>>0]=j;m=(e[q>>1]|0)>>>8&255;j=c[n>>2]|0;n=c[h>>2]|0;c[h>>2]=n+1;a[j+n>>0]=m;n=c[p>>2]|0;j=(k&65535)>>>(16-n|0);b[q>>1]=j;k=n+-12|0}else k=l+4|0;c[p>>2]=k;if((i|0)<=0){p=f+148|0;q=g+-1|0;wb(f,p,q);q=f+2440|0;wb(f,q,o);return}m=f+8|0;n=f+20|0;h=0;do{l=e[f+2684+((d[10720+h>>0]|0)<<2)+2>>1]|0;j=l<>1]=j;if((k|0)>13){k=c[m>>2]|0;r=c[n>>2]|0;c[n>>2]=r+1;a[k+r>>0]=j;r=(e[q>>1]|0)>>>8&255;j=c[m>>2]|0;k=c[n>>2]|0;c[n>>2]=k+1;a[j+k>>0]=r;k=c[p>>2]|0;j=l>>>(16-k|0);b[q>>1]=j;k=k+-13|0}else k=k+3|0;c[p>>2]=k;h=h+1|0}while((h|0)!=(i|0));q=f+148|0;r=g+-1|0;wb(f,q,r);r=f+2440|0;wb(f,r,o);return}function wb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=b[f+2>>1]|0;i=h<<16>>16==0;if((g|0)<0)return;D=d+5820|0;E=d+5816|0;v=d+8|0;w=d+20|0;x=d+2754|0;y=d+2752|0;z=d+2758|0;A=d+2756|0;B=d+2750|0;C=d+2748|0;l=-1;t=h&65535;h=0;u=0;k=i?138:7;j=i?3:4;while(1){s=u;u=u+1|0;q=b[f+(u<<2)+2>>1]|0;p=t;t=q&65535;m=h+1|0;r=(p|0)==(t|0);if((m|0)<(k|0)&r){i=l;h=m}else{if((m|0)<(j|0)){n=d+2684+(p<<2)+2|0;o=d+2684+(p<<2)|0;h=c[D>>2]|0;i=b[E>>1]|0;do{l=e[n>>1]|0;k=e[o>>1]|0;j=k<>1]=i;if((h|0)>(16-l|0)){h=c[v>>2]|0;i=c[w>>2]|0;c[w>>2]=i+1;a[h+i>>0]=j;j=(e[E>>1]|0)>>>8&255;i=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[i+h>>0]=j;h=c[D>>2]|0;i=k>>>(16-h|0)&65535;b[E>>1]=i;h=l+-16+h|0}else h=h+l|0;c[D>>2]=h;m=m+-1|0}while((m|0)!=0)}else{do if(!p)if((h|0)<10){k=e[x>>1]|0;l=c[D>>2]|0;i=e[y>>1]|0;j=i<>1]|0);b[E>>1]=j;if((l|0)>(16-k|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=j;n=(e[E>>1]|0)>>>8&255;j=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[j+o>>0]=n;o=c[D>>2]|0;j=i>>>(16-o|0);b[E>>1]=j;k=k+-16+o|0}else k=l+k|0;c[D>>2]=k;i=h+-2|0;h=i<>1]=h;if((k|0)>13){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-13|0;break}else{h=k+3|0;break}}else{k=e[z>>1]|0;l=c[D>>2]|0;i=e[A>>1]|0;j=i<>1]|0);b[E>>1]=j;if((l|0)>(16-k|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=j;n=(e[E>>1]|0)>>>8&255;j=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[j+o>>0]=n;o=c[D>>2]|0;j=i>>>(16-o|0);b[E>>1]=j;k=k+-16+o|0}else k=l+k|0;c[D>>2]=k;i=h+-10|0;h=i<>1]=h;if((k|0)>9){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-9|0;break}else{h=k+7|0;break}}else{if((p|0)==(l|0)){h=m;i=c[D>>2]|0}else{i=e[d+2684+(p<<2)+2>>1]|0;j=c[D>>2]|0;k=e[d+2684+(p<<2)>>1]|0;l=k<>1]|0);b[E>>1]=l;if((j|0)>(16-i|0)){n=c[v>>2]|0;m=c[w>>2]|0;c[w>>2]=m+1;a[n+m>>0]=l;m=(e[E>>1]|0)>>>8&255;n=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[n+o>>0]=m;o=c[D>>2]|0;b[E>>1]=k>>>(16-o|0);i=i+-16+o|0}else i=j+i|0;c[D>>2]=i}l=e[B>>1]|0;j=e[C>>1]|0;k=j<>1]|0);b[E>>1]=k;if((i|0)>(16-l|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=k;n=(e[E>>1]|0)>>>8&255;k=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[k+o>>0]=n;o=c[D>>2]|0;k=j>>>(16-o|0);b[E>>1]=k;j=l+-16+o|0}else j=i+l|0;c[D>>2]=j;i=h+-3|0;h=i<>1]=h;if((j|0)>14){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-14|0;break}else{h=j+2|0;break}}while(0);c[D>>2]=h}j=q<<16>>16==0;i=p;k=j?138:r?6:7;j=j|r?3:4;h=0}if((s|0)==(g|0))break;else l=i}return}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=b[c+2>>1]|0;g=f<<16>>16==0;r=d+1|0;b[c+(r<<2)+2>>1]=-1;if((d|0)<0)return;o=a+2752|0;p=a+2756|0;q=a+2748|0;k=0;m=f&65535;n=0;l=-1;d=g?138:7;g=g?3:4;while(1){n=n+1|0;i=b[c+(n<<2)+2>>1]|0;f=m;m=i&65535;h=k+1|0;j=(f|0)==(m|0);if((h|0)<(d|0)&j)f=l;else{do if((h|0)>=(g|0))if(!f)if((k|0)<10){b[o>>1]=(b[o>>1]|0)+1<<16>>16;break}else{b[p>>1]=(b[p>>1]|0)+1<<16>>16;break}else{d=a+2684+(f<<2)|0;if((f|0)!=(l|0))b[d>>1]=(b[d>>1]|0)+1<<16>>16;b[q>>1]=(b[q>>1]|0)+1<<16>>16;break}else{l=a+2684+(f<<2)|0;b[l>>1]=h+(e[l>>1]|0)}while(0);d=i<<16>>16==0;h=0;g=d|j?3:4;d=d?138:j?6:7}if((n|0)==(r|0))break;else{k=h;l=f}}return}function yb(a,e,f){a=a|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;g=a+2908+(f<<2)|0;r=c[g>>2]|0;p=a+5208+r|0;h=f<<1;q=a+5200|0;i=c[q>>2]|0;if((h|0)>(i|0)){a=g;c[a>>2]=r;return}o=e+(r<<2)|0;g=i;while(1){do if((h|0)<(g|0)){i=h|1;g=a+2908+(i<<2)|0;j=c[g>>2]|0;k=b[e+(j<<2)>>1]|0;n=a+2908+(h<<2)|0;l=c[n>>2]|0;m=b[e+(l<<2)>>1]|0;if((k&65535)>=(m&65535)){if(k<<16>>16!=m<<16>>16){j=h;g=n;break}if((d[a+5208+j>>0]|0)>(d[a+5208+l>>0]|0)){j=h;g=n;break}}j=i}else{j=h;g=a+2908+(h<<2)|0}while(0);i=b[o>>1]|0;g=c[g>>2]|0;h=b[e+(g<<2)>>1]|0;if((i&65535)<(h&65535))break;if(i<<16>>16==h<<16>>16?(d[p>>0]|0)<=(d[a+5208+g>>0]|0):0)break;c[a+2908+(f<<2)>>2]=g;h=j<<1;g=c[q>>2]|0;if((h|0)>(g|0)){f=j;break}else f=j}a=a+2908+(f<<2)|0;c[a>>2]=r;return}function zb(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[g>>2]|0;r=c[g+4>>2]|0;s=c[g+8>>2]|0;m=c[g+16>>2]|0;g=a+2876|0;h=g+32|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));g=a+5204|0;b[d+(c[a+2908+(c[g>>2]<<2)>>2]<<2)+2>>1]=0;g=c[g>>2]|0;if((g|0)>=572)return;t=a+5800|0;o=(q|0)==0;p=a+5804|0;k=0;do{h=g;g=g+1|0;j=c[a+2908+(g<<2)>>2]|0;l=d+(j<<2)+2|0;n=e[d+((e[l>>1]|0)<<2)+2>>1]|0;i=(m|0)>(n|0);n=i?n+1|0:m;k=k+((i^1)&1)|0;b[l>>1]=n;if((j|0)<=(f|0)){l=a+2876+(n<<1)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((j|0)<(s|0))i=0;else i=c[r+(j-s<<2)>>2]|0;l=e[d+(j<<2)>>1]|0;n=M(i+n|0,l)|0;c[t>>2]=n+(c[t>>2]|0);if(!o){n=M(i+(e[q+(j<<2)+2>>1]|0)|0,l)|0;c[p>>2]=n+(c[p>>2]|0)}}}while((h|0)<571);if(!k)return;l=a+2876+(m<<1)|0;while(1){h=m;while(1){g=h+-1|0;i=a+2876+(g<<1)|0;j=b[i>>1]|0;if(!(j<<16>>16))h=g;else break}b[i>>1]=j+-1<<16>>16;h=a+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[l>>1]|0)+-1<<16>>16;b[l>>1]=h;if((k|0)>2)k=k+-2|0;else break}if(!m)return;g=573;while(1){if(h<<16>>16){l=m&65535;k=h&65535;do{do{g=g+-1|0;h=c[a+2908+(g<<2)>>2]|0}while((h|0)>(f|0));i=d+(h<<2)+2|0;j=e[i>>1]|0;if((m|0)!=(j|0)){s=M(m-j|0,e[d+(h<<2)>>1]|0)|0;c[t>>2]=s+(c[t>>2]|0);b[i>>1]=l}k=k+-1|0}while((k|0)!=0)}h=m+-1|0;if(!h)break;m=h;h=b[a+2876+(h<<1)>>1]|0}return}function Ab(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;i=k;k=k+32|0;h=i;f=0;g=1;do{f=(f&65534)+(e[d+(g+-1<<1)>>1]|0)<<1;b[h+(g<<1)>>1]=f;g=g+1|0}while((g|0)!=16);if((c|0)<0){k=i;return}f=0;while(1){d=b[a+(f<<2)+2>>1]|0;g=d&65535;if(d<<16>>16){j=h+(g<<1)|0;d=b[j>>1]|0;b[j>>1]=d+1<<16>>16;b[a+(f<<2)>>1]=Bb(d&65535,g)|0}if((f|0)==(c|0))break;else f=f+1|0}k=i;return}function Bb(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){c=c|a&1;if((b|0)>1){c=c<<1;b=b+-1|0;a=a>>>1}else break}return c&2147483647|0}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;return ex(M(c,b)|0)|0}function Db(a,b){a=a|0;b=b|0;fx(b);return}function Eb(a){a=a|0;var b=0;if(!a){b=-2;return b|0}b=c[a+28>>2]|0;if(!b){b=-2;return b|0}c[b+28>>2]=0;c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+48>>2]=1;c[b>>2]=0;c[b+4>>2]=0;c[b+12>>2]=0;c[b+20>>2]=32768;c[b+32>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;a=b+1328|0;c[b+108>>2]=a;c[b+80>>2]=a;c[b+76>>2]=a;b=0;return b|0}function Fb(a){a=a|0;var b=0,d=0;if(!a){a=-2;return a|0}c[a+24>>2]=0;d=a+32|0;b=c[d>>2]|0;if(!b){c[d>>2]=5;c[a+40>>2]=0;b=5}d=a+36|0;if(!(c[d>>2]|0))c[d>>2]=4;b=va[b&7](c[a+40>>2]|0,1,9520)|0;if(!b){a=-4;return a|0}c[a+28>>2]=b;c[b+8>>2]=0;c[b+36>>2]=15;c[b+52>>2]=0;a=Eb(a)|0;return a|0}function Gb(f){f=f|0;var g=0,h=0,i=0,j=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,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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=k;k=k+16|0;Y=xa;if(!f){wa=-2;k=xa;return wa|0}wa=c[f+28>>2]|0;if(!wa){wa=-2;k=xa;return wa|0}va=f+12|0;i=c[va>>2]|0;if(!i){wa=-2;k=xa;return wa|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){wa=-2;k=xa;return wa|0}g=c[wa>>2]|0;if((g|0)==11){c[wa>>2]=12;g=12;h=c[f>>2]|0;i=c[va>>2]|0}ia=f+16|0;w=c[ia>>2]|0;da=f+4|0;ea=c[da>>2]|0;fa=wa+56|0;ra=wa+60|0;ka=wa+8|0;qa=wa+16|0;x=wa+12|0;sa=wa+4|0;y=wa+64|0;z=wa+104|0;A=wa+92|0;B=wa+96|0;C=wa+100|0;D=wa+72|0;E=wa+80|0;F=wa+88|0;G=wa+32|0;ta=wa+24|0;ua=f+48|0;H=wa+76|0;I=wa+84|0;J=wa+68|0;K=wa+44|0;L=f+24|0;M=wa+1328|0;N=wa+108|0;O=wa+112|0;P=wa+752|0;Q=wa+48|0;la=f+20|0;ma=wa+28|0;R=Y+1|0;S=Y+2|0;T=Y+3|0;U=wa+52|0;ga=wa+40|0;V=wa+36|0;W=wa+20|0;m=0;v=w;j=c[ra>>2]|0;l=c[fa>>2]|0;q=ea;a:while(1){b:do switch(g|0){case 26:{na=w;oa=v;ja=j;ha=l;ca=q;X=h;pa=1;break a}case 27:{u=300;break a}case 28:{g=-4;u=313;break a}case 0:{n=c[ka>>2]|0;if(!n){c[wa>>2]=12;n=w;p=v;g=q;break b}if(j>>>0<16){o=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=o;pa=m;break a}g=g+-1|0;h=o+1|0;l=((d[o>>0]|0)<>>0<16)o=h;else break}}else g=q;if((n&2|0)!=0&(l|0)==35615){n=Ia(0,0,0)|0;c[ta>>2]=n;a[Y>>0]=31;a[R>>0]=-117;c[ta>>2]=Ia(n,Y,2)|0;c[wa>>2]=1;n=w;p=v;j=0;l=0;break b}c[qa>>2]=0;o=c[G>>2]|0;if(o){c[o+48>>2]=-1;n=c[ka>>2]|0}if(n&1|0?((((l<<8&65280)+(l>>>8)|0)>>>0)%31|0|0)==0:0){if((l&15|0)!=8){c[L>>2]=45198;c[wa>>2]=27;n=w;p=v;break b}o=l>>>4;n=o&15;if((n+8|0)>>>0>(c[V>>2]|0)>>>0){c[L>>2]=45225;c[wa>>2]=27;n=w;p=v;j=j+-4|0;l=o;break b}else{c[W>>2]=256<>2]=n;c[ua>>2]=n;c[wa>>2]=l>>>12&2^11;n=w;p=v;j=0;l=0;break b}}c[L>>2]=45175;c[wa>>2]=27;n=w;p=v;break}case 1:{if(j>>>0<16){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<16)n=h;else break}}else g=q;c[qa>>2]=l;if((l&255|0)!=8){c[L>>2]=45198;c[wa>>2]=27;n=w;p=v;break b}if(l&57344|0){c[L>>2]=45245;c[wa>>2]=27;n=w;p=v;break b}j=c[G>>2]|0;if(!j)j=l;else{c[j>>2]=l>>>8&1;j=c[qa>>2]|0}if(j&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0}c[wa>>2]=2;j=0;l=0;u=48;break}case 2:{if(j>>>0<32){g=q;u=48}else{g=q;u=51}break}case 3:{if(j>>>0<16){g=q;u=57}else{g=q;u=60}break}case 4:{g=q;n=c[qa>>2]|0;u=65;break}case 5:{g=q;u=77;break}case 6:{g=q;n=c[qa>>2]|0;u=87;break}case 7:{g=q;u=101;break}case 8:{g=q;u=115;break}case 9:{if(j>>>0<32){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>=32)break;else n=h}}else g=q;j=lz(l|0)|0;c[ta>>2]=j;c[ua>>2]=j;c[wa>>2]=10;j=0;l=0;u=130;break}case 10:{g=q;u=130;break}case 12:case 11:{g=q;u=133;break}case 13:{t=j&7;l=l>>>t;j=j-t|0;if(j>>>0<32){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}else g=q;n=l&65535;if((n|0)==(l>>>16^65535|0)){c[y>>2]=n;c[wa>>2]=14;j=0;l=0;u=151;break b}else{c[L>>2]=45309;c[wa>>2]=27;n=w;p=v;break b}}case 14:{g=q;n=c[y>>2]|0;u=151;break}case 15:{if(j>>>0<14){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<14)n=h;else break}}else g=q;s=(l&31)+257|0;c[B>>2]=s;t=l>>>5&31;c[C>>2]=t+1;n=(l>>>10&15)+4|0;c[A>>2]=n;l=l>>>14;j=j+-14|0;if(s>>>0>286|t>>>0>29){c[L>>2]=45338;c[wa>>2]=27;n=w;p=v;break b}else{c[z>>2]=0;c[wa>>2]=16;o=0;u=163;break b}}case 16:{o=c[z>>2]|0;n=c[A>>2]|0;if(o>>>0>>0){g=q;u=163}else{g=q;m=o;u=168}break}case 17:{g=q;o=c[z>>2]|0;u=174;break}case 18:{g=q;u=215;break}case 19:{g=q;o=c[D>>2]|0;u=234;break}case 20:{g=q;u=241;break}case 21:{g=q;o=c[D>>2]|0;u=254;break}case 22:{g=q;u=264;break}case 23:{if(!w){na=0;oa=v;ja=j;ha=l;ca=q;X=h;pa=m;break a}a[i>>0]=c[y>>2];c[wa>>2]=18;n=w+-1|0;i=i+1|0;p=v;g=q;break}case 24:{if(c[ka>>2]|0){if(j>>>0<32){g=q;n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}else g=q;n=v-w|0;c[la>>2]=(c[la>>2]|0)+n;c[ma>>2]=(c[ma>>2]|0)+n;if(n|0){o=c[ta>>2]|0;p=i+(0-n)|0;if(!(c[qa>>2]|0))n=Ha(o,p,n)|0;else n=Ia(o,p,n)|0;c[ta>>2]=n;c[ua>>2]=n}t=(c[qa>>2]|0)==0;v=lz(l|0)|0;if(((t?v:l)|0)==(c[ta>>2]|0)){n=w;j=0;l=0}else{c[L>>2]=45475;c[wa>>2]=27;n=w;p=w;break b}}else{n=v;g=q}c[wa>>2]=25;o=n;u=290;break}case 25:{o=v;g=q;u=290;break}default:{u=312;break a}}while(0);do if((u|0)==48){u=0;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}g=g+-1|0;n=h+1|0;l=((d[h>>0]|0)<>>0>=32){h=n;u=51;break}else h=n}}else if((u|0)==130){if(!(c[x>>2]|0)){u=131;break a}u=Ha(0,0,0)|0;c[ta>>2]=u;c[ua>>2]=u;c[wa>>2]=11;u=133}else if((u|0)==151){u=0;if(!n){c[wa>>2]=11;n=w;p=v;break}o=n>>>0>g>>>0?g:n;o=o>>>0>w>>>0?w:o;if(!o){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}mz(i|0,h|0,o|0)|0;c[y>>2]=(c[y>>2]|0)-o;n=w-o|0;i=i+o|0;p=v;g=g-o|0;h=h+o|0}else if((u|0)==163){u=0;while(1){if(j>>>0<3){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}p=j+8|0;l=((d[h>>0]|0)<>2]=q;b[wa+112+((e[11008+(o<<1)>>1]|0)<<1)>>1]=l&7;l=l>>>3;j=p+-3|0;if(q>>>0>>0)o=q;else{m=q;u=168;break}}}else if((u|0)==290){u=0;if(!(c[ka>>2]|0)){u=298;break a}if(!(c[qa>>2]|0)){u=298;break a}if(j>>>0<32){n=h;while(1){if(!g){na=w;oa=o;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}if((l|0)==(c[ma>>2]|0)){j=0;l=0;u=298;break a}c[L>>2]=45496;c[wa>>2]=27;n=w;p=o}while(0);do if((u|0)==51){j=c[G>>2]|0;if(j|0)c[j+4>>2]=l;if(c[qa>>2]&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;a[S>>0]=l>>>16;a[T>>0]=l>>>24;c[ta>>2]=Ia(c[ta>>2]|0,Y,4)|0}c[wa>>2]=3;j=0;l=0;u=57}else if((u|0)==133){u=0;if(c[sa>>2]|0){t=j&7;c[wa>>2]=24;n=w;p=v;j=j-t|0;l=l>>>t;break}if(j>>>0<3){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}o=j+8|0;l=((d[h>>0]|0)<>2]=l&1;switch(l>>>1&3){case 0:{j=13;break}case 1:{Hb(wa);j=18;break}case 2:{j=15;break}case 3:{c[L>>2]=45290;j=27;break}default:{u=142;break a}}c[wa>>2]=j;n=w;p=v;j=o+-3|0;l=l>>>3}else if((u|0)==168){u=0;if(m>>>0<19)do{t=m;m=m+1|0;c[z>>2]=m;b[wa+112+((e[11008+(t<<1)>>1]|0)<<1)>>1]=0}while((m|0)!=19);c[N>>2]=M;c[H>>2]=M;c[I>>2]=7;m=Kb(0,O,19,N,I,P)|0;if(!m){c[z>>2]=0;c[wa>>2]=17;m=0;o=0;u=174;break}else{c[L>>2]=45374;c[wa>>2]=27;n=w;p=v;break}}while(0);c:do if((u|0)==57){u=0;n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>=16){u=60;break}else n=h}}else if((u|0)==174){u=0;n=c[B>>2]|0;p=(c[C>>2]|0)+n|0;do if(o>>>0

>>0){s=o;d:while(1){r=c[H>>2]|0;q=(1<>2])+-1|0;n=q&l;o=d[r+(n<<2)+1>>0]|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;if(j>>>0>>0)n=h;else break}}q=b[r+(n<<2)+2>>1]|0;if((q&65535)<16){if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}c[z>>2]=s+1;b[wa+112+(s<<1)>>1]=q;j=j-o|0;l=l>>>o}else{switch(q<<16>>16){case 16:{q=o+2|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}q=l>>>o;j=j-o|0;if(!s){u=192;break d}r=e[wa+112+(s+-1<<1)>>1]|0;j=j+-2|0;l=q>>>2;n=(q&3)+3|0;break}case 17:{q=o+3|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=l>>>o;r=0;j=-3-o+j|0;l=n>>>3;n=(n&7)+3|0;break}default:{q=o+7|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=l>>>o;r=0;j=-7-o+j|0;l=n>>>7;n=(n&127)+11|0}}if((n+s|0)>>>0>p>>>0){u=205;break}o=r&65535;c[z>>2]=s+1;b[wa+112+(s<<1)>>1]=o;n=n+-1|0;do{t=c[z>>2]|0;n=n+-1|0;c[z>>2]=t+1;b[wa+112+(t<<1)>>1]=o}while((n|0)!=0)}s=c[z>>2]|0;n=c[B>>2]|0;p=(c[C>>2]|0)+n|0;if(s>>>0>=p>>>0){u=209;break}}if((u|0)==192){u=0;c[L>>2]=45399;c[wa>>2]=27;n=w;p=v;l=q;break c}else if((u|0)==205){u=0;c[L>>2]=45399;c[wa>>2]=27;n=w;p=v;break c}else if((u|0)==209){u=0;if((c[wa>>2]|0)==27){n=w;p=v;break c}else{m=n;break}}}else m=n;while(0);c[N>>2]=M;c[H>>2]=M;c[I>>2]=9;m=Kb(1,O,m,N,I,P)|0;if(m|0){c[L>>2]=45425;c[wa>>2]=27;n=w;p=v;break}c[E>>2]=c[N>>2];c[F>>2]=6;m=Kb(2,wa+112+(c[B>>2]<<1)|0,c[C>>2]|0,N,F,P)|0;if(!m){c[wa>>2]=18;m=0;u=215;break}else{c[L>>2]=45453;c[wa>>2]=27;n=w;p=v;break}}while(0);do if((u|0)==60){j=c[G>>2]|0;if(j|0){c[j+8>>2]=l&255;c[(c[G>>2]|0)+12>>2]=l>>>8}n=c[qa>>2]|0;if(n&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0}c[wa>>2]=4;j=0;l=0;u=65}else if((u|0)==215){u=0;if(w>>>0>257&g>>>0>5){c[va>>2]=i;c[ia>>2]=w;c[f>>2]=h;c[da>>2]=g;c[fa>>2]=l;c[ra>>2]=j;Lb(f,v);n=c[ia>>2]|0;i=c[va>>2]|0;p=v;j=c[ra>>2]|0;l=c[fa>>2]|0;g=c[da>>2]|0;h=c[f>>2]|0;break}t=c[H>>2]|0;q=(1<>2])+-1|0;o=q&l;p=a[t+(o<<2)+1>>0]|0;n=p&255;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;n=p&255;if(j>>>0>>0)n=h;else{s=n;r=p;break}}}else{s=n;r=p}n=b[t+(o<<2)+2>>1]|0;p=a[t+(o<<2)>>0]|0;o=p&255;if(p<<24>>24!=0&(o&240|0)==0){q=n&65535;p=(1<>>s)+q|0;o=a[t+(n<<2)+1>>0]|0;if((s+(o&255)|0)>>>0>j>>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>s)+q|0;o=a[t+(n<<2)+1>>0]|0;if((s+(o&255)|0)>>>0>j>>>0)n=h;else break}}p=a[t+(n<<2)>>0]|0;j=j-s|0;l=l>>>s;q=p&255;n=b[t+(n<<2)+2>>1]|0}else{q=o;o=r}t=o&255;l=l>>>t;j=j-t|0;c[y>>2]=n&65535;if(!(p<<24>>24)){c[wa>>2]=23;n=w;p=v;break}if(q&32|0){c[wa>>2]=11;n=w;p=v;break}if(!(q&64)){o=q&15;c[D>>2]=o;c[wa>>2]=19;u=234;break}else{c[L>>2]=45519;c[wa>>2]=27;n=w;p=v;break}}while(0);if((u|0)==65){u=0;if(!(n&1024)){n=c[G>>2]|0;if(n)c[n+16>>2]=0}else{if(j>>>0<16){o=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=o;pa=m;break a}g=g+-1|0;h=o+1|0;l=((d[o>>0]|0)<>>0>=16)break;else o=h}}c[y>>2]=l;j=c[G>>2]|0;if(!j)j=n;else{c[j+20>>2]=l;j=c[qa>>2]|0}if(!(j&512)){j=0;l=0}else{a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0;j=0;l=0}}c[wa>>2]=5;u=77}else if((u|0)==234){u=0;if(o){if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}c[y>>2]=(c[y>>2]|0)+(l&(1<>>o}c[wa>>2]=20;u=241}do if((u|0)==77){u=0;n=c[qa>>2]|0;if(n&1024){p=c[y>>2]|0;q=p>>>0>g>>>0?g:p;if(!q)o=p;else{o=c[G>>2]|0;if((o|0)!=0?(Z=c[o+16>>2]|0,(Z|0)!=0):0){n=(c[o+20>>2]|0)-p|0;t=c[o+24>>2]|0;mz(Z+n|0,h|0,((n+q|0)>>>0>t>>>0?t-n|0:q)|0)|0;n=c[qa>>2]|0}if(n&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,q)|0;o=(c[y>>2]|0)-q|0;c[y>>2]=o;h=h+q|0;g=g-q|0}if(o){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}}c[y>>2]=0;c[wa>>2]=6;u=87}else if((u|0)==241){u=0;s=c[E>>2]|0;q=(1<>2])+-1|0;p=q&l;o=a[s+(p<<2)+1>>0]|0;n=o&255;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;n=o&255;if(j>>>0>>0)n=h;else{r=n;break}}}else r=n;n=b[s+(p<<2)+2>>1]|0;p=d[s+(p<<2)>>0]|0;if(!(p&240)){q=n&65535;p=(1<>>r)+q|0;o=a[s+(n<<2)+1>>0]|0;if((r+(o&255)|0)>>>0>j>>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>r)+q|0;o=a[s+(n<<2)+1>>0]|0;if((r+(o&255)|0)>>>0>j>>>0)n=h;else break}}j=j-r|0;l=l>>>r;p=d[s+(n<<2)>>0]|0;n=b[s+(n<<2)+2>>1]|0}t=o&255;l=l>>>t;j=j-t|0;if(!(p&64)){c[J>>2]=n&65535;o=p&15;c[D>>2]=o;c[wa>>2]=21;u=254;break}else{c[L>>2]=45547;c[wa>>2]=27;n=w;p=v;break}}while(0);do if((u|0)==87){u=0;if(!(n&2048)){n=c[G>>2]|0;if(n)c[n+28>>2]=0}else{if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}p=0;do{n=p;p=p+1|0;n=a[h+n>>0]|0;o=c[G>>2]|0;if((o|0?(_=c[o+28>>2]|0,_|0):0)?($=c[y>>2]|0,$>>>0<(c[o+32>>2]|0)>>>0):0){c[y>>2]=$+1;a[_+$>>0]=n}n=n<<24>>24!=0}while(n&g>>>0>p>>>0);if(c[qa>>2]&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,p)|0;g=g-p|0;h=h+p|0;if(n){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}}c[y>>2]=0;c[wa>>2]=7;u=101}else if((u|0)==254){u=0;if(!o)n=c[J>>2]|0;else{if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=(c[J>>2]|0)+(l&(1<>2]=n;j=j-o|0;l=l>>>o}if(n>>>0>(v-w+(c[K>>2]|0)|0)>>>0){c[L>>2]=45569;c[wa>>2]=27;n=w;p=v;break}else{c[wa>>2]=22;u=264;break}}while(0);if((u|0)==101){u=0;if(!(c[qa>>2]&4096)){n=c[G>>2]|0;if(n)c[n+36>>2]=0}else{if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break}p=0;do{n=p;p=p+1|0;n=a[h+n>>0]|0;o=c[G>>2]|0;if((o|0?(aa=c[o+36>>2]|0,aa|0):0)?(ba=c[y>>2]|0,ba>>>0<(c[o+40>>2]|0)>>>0):0){c[y>>2]=ba+1;a[aa+ba>>0]=n}n=n<<24>>24!=0}while(n&g>>>0>p>>>0);if(c[qa>>2]&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,p)|0;g=g-p|0;h=h+p|0;if(n){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break}}c[wa>>2]=8;u=115}else if((u|0)==264){u=0;if(!w){na=0;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break}n=v-w|0;o=c[J>>2]|0;if(o>>>0>n>>>0){n=o-n|0;o=c[Q>>2]|0;if(n>>>0>o>>>0){n=n-o|0;p=n;n=(c[ga>>2]|0)-n|0}else{p=n;n=o-n|0}o=c[y>>2]|0;q=(c[U>>2]|0)+n|0;n=p>>>0>o>>>0?o:p}else{t=c[y>>2]|0;q=i+(0-o)|0;n=t;o=t}r=n>>>0>w>>>0?w:n;c[y>>2]=o-r;o=r;p=i;n=q;while(1){a[p>>0]=a[n>>0]|0;o=o+-1|0;if(!o)break;else{p=p+1|0;n=n+1|0}}n=w-r|0;i=i+r|0;if(!(c[y>>2]|0)){c[wa>>2]=18;p=v}else p=v}do if((u|0)==115){u=0;o=c[qa>>2]|0;if(o&512){if(j>>>0<16){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<16)n=h;else break}}if((l|0)==(c[ta>>2]&65535|0)){j=0;l=0}else{c[L>>2]=45270;c[wa>>2]=27;n=w;p=v;break}}n=c[G>>2]|0;if(n|0){c[n+44>>2]=o>>>9&1;c[(c[G>>2]|0)+48>>2]=1}n=Ia(0,0,0)|0;c[ta>>2]=n;c[ua>>2]=n;c[wa>>2]=11;n=w;p=v}while(0);v=p;w=n;q=g;g=c[wa>>2]|0}if((u|0)==131){c[va>>2]=i;c[ia>>2]=w;c[f>>2]=h;c[da>>2]=g;c[fa>>2]=l;c[ra>>2]=j;wa=2;k=xa;return wa|0}else if((u|0)!=142)if((u|0)==298){c[wa>>2]=26;na=w;oa=o;ja=j;ha=l;ca=g;X=h;pa=1}else if((u|0)==300){na=w;oa=v;ja=j;ha=l;ca=q;X=h;pa=-3}else if((u|0)==312){wa=-2;k=xa;return wa|0}else if((u|0)==313){k=xa;return g|0}c[va>>2]=i;c[ia>>2]=na;c[f>>2]=X;c[da>>2]=ca;c[fa>>2]=ha;c[ra>>2]=ja;if(!(c[ga>>2]|0)){if((c[wa>>2]|0)>>>0<24?(oa|0)!=(c[ia>>2]|0):0)u=304}else u=304;if((u|0)==304?Ib(f,oa)|0:0){c[wa>>2]=28;wa=-4;k=xa;return wa|0}j=ea-(c[da>>2]|0)|0;i=oa-(c[ia>>2]|0)|0;oa=f+8|0;c[oa>>2]=(c[oa>>2]|0)+j;c[la>>2]=(c[la>>2]|0)+i;c[ma>>2]=(c[ma>>2]|0)+i;if((i|0)!=0&(c[ka>>2]|0)!=0){h=c[ta>>2]|0;g=(c[va>>2]|0)+(0-i)|0;if(!(c[qa>>2]|0))g=Ha(h,g,i)|0;else g=Ia(h,g,i)|0;c[ta>>2]=g;c[ua>>2]=g}c[f+44>>2]=((c[sa>>2]|0)==0?0:64)+(c[ra>>2]|0)+((c[wa>>2]|0)==11?128:0);wa=(pa|(i|j)|0)==0?-5:pa;k=xa;return wa|0}function Hb(a){a=a|0;c[a+76>>2]=11056;c[a+84>>2]=9;c[a+80>>2]=13104;c[a+88>>2]=5;return}function Ib(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28>>2]|0;j=i+52|0;d=c[j>>2]|0;if(!d){d=va[c[a+32>>2]&7](c[a+40>>2]|0,1<>2],1)|0;c[j>>2]=d;if(!d){j=1;return j|0}}h=i+40|0;e=c[h>>2]|0;if(!e){e=1<>2];c[h>>2]=e;c[i+48>>2]=0;c[i+44>>2]=0}b=b-(c[a+16>>2]|0)|0;if(b>>>0>=e>>>0){mz(d|0,(c[a+12>>2]|0)+(0-e)|0,e|0)|0;c[i+48>>2]=0;c[i+44>>2]=c[h>>2];j=0;return j|0}f=i+48|0;k=c[f>>2]|0;g=e-k|0;g=g>>>0>b>>>0?b:g;e=a+12|0;mz(d+k|0,(c[e>>2]|0)+(0-b)|0,g|0)|0;d=b-g|0;if(d|0){mz(c[j>>2]|0,(c[e>>2]|0)+(0-d)|0,d|0)|0;c[f>>2]=d;c[i+44>>2]=c[h>>2];k=0;return k|0}d=(c[f>>2]|0)+g|0;k=c[h>>2]|0;c[f>>2]=(d|0)==(k|0)?0:d;d=i+44|0;e=c[d>>2]|0;if(e>>>0>=k>>>0){k=0;return k|0}c[d>>2]=e+g;k=0;return k|0}function Jb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){xa[d&31](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}xa[d&31](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function Kb(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var 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,J=0,K=0;K=k;k=k+64|0;H=K+32|0;F=K;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;c[H+24>>2]=0;c[H+28>>2]=0;E=(g|0)==0;if(!E){l=0;do{J=H+(e[f+(l<<1)>>1]<<1)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[H+30>>1]|0;l=c[i>>2]|0;if(!(m<<16>>16))if(!(b[H+28>>1]|0))I=76;else{o=14;m=0;n=16}else{o=15;n=15}}else{l=c[i>>2]|0;I=76}if((I|0)==76)if(!(b[H+26>>1]|0))if(!(b[H+24>>1]|0))if(!(b[H+22>>1]|0))if(!(b[H+20>>1]|0))if(!(b[H+18>>1]|0))if(!(b[H+16>>1]|0))if(!(b[H+14>>1]|0))if(!(b[H+12>>1]|0))if(!(b[H+10>>1]|0))if(!(b[H+8>>1]|0))if(!(b[H+6>>1]|0))if(!(b[H+4>>1]|0))if(!(b[H+2>>1]|0)){J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;c[i>>2]=1;i=0;k=K;return i|0}else{o=1;m=0;n=16}else{o=2;m=0;n=16}else{o=3;m=0;n=16}else{o=4;m=0;n=16}else{o=5;m=0;n=16}else{o=6;m=0;n=16}else{o=7;m=0;n=16}else{o=8;m=0;n=16}else{o=9;m=0;n=16}else{o=10;m=0;n=16}else{o=11;m=0;n=16}else{o=12;m=0;n=16}else{o=13;m=0;n=16}l=l>>>0>o>>>0?o:l;D=b[H+2>>1]|0;if(!(D<<16>>16))if(!(b[H+4>>1]|0))if(!(b[H+6>>1]|0))if(!(b[H+8>>1]|0))if(!(b[H+10>>1]|0))if(!(b[H+12>>1]|0))if(!(b[H+14>>1]|0))if(!(b[H+16>>1]|0))if(!(b[H+18>>1]|0))if(!(b[H+20>>1]|0))if(!(b[H+22>>1]|0))if(!(b[H+24>>1]|0))if(!(b[H+26>>1]|0))p=(b[H+28>>1]|0)==0?n:14;else p=13;else p=12;else p=11;else p=10;else p=9;else p=8;else p=7;else p=6;else p=5;else p=4;else p=3;else p=2;else p=1;J=l>>>0

>>0?p:l;B=D&65535;l=2-B|0;if((l|0)<0){i=-1;k=K;return i|0}C=e[H+4>>1]|0;l=(l<<1)-C|0;if((l|0)<0){i=-1;k=K;return i|0}A=e[H+6>>1]|0;l=(l<<1)-A|0;if((l|0)<0){i=-1;k=K;return i|0}z=e[H+8>>1]|0;l=(l<<1)-z|0;if((l|0)<0){i=-1;k=K;return i|0}y=e[H+10>>1]|0;l=(l<<1)-y|0;if((l|0)<0){i=-1;k=K;return i|0}x=e[H+12>>1]|0;l=(l<<1)-x|0;if((l|0)<0){i=-1;k=K;return i|0}w=e[H+14>>1]|0;l=(l<<1)-w|0;if((l|0)<0){i=-1;k=K;return i|0}v=e[H+16>>1]|0;l=(l<<1)-v|0;if((l|0)<0){i=-1;k=K;return i|0}u=e[H+18>>1]|0;l=(l<<1)-u|0;if((l|0)<0){i=-1;k=K;return i|0}t=e[H+20>>1]|0;l=(l<<1)-t|0;if((l|0)<0){i=-1;k=K;return i|0}s=e[H+22>>1]|0;l=(l<<1)-s|0;if((l|0)<0){i=-1;k=K;return i|0}r=e[H+24>>1]|0;l=(l<<1)-r|0;if((l|0)<0){i=-1;k=K;return i|0}q=e[H+26>>1]|0;l=(l<<1)-q|0;if((l|0)<0){i=-1;k=K;return i|0}n=e[H+28>>1]|0;l=(l<<1)-n|0;if((l|0)<0){i=-1;k=K;return i|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){i=-1;k=K;return i|0}if(l|0?(d|0)==0|(o|0)!=1:0){i=-1;k=K;return i|0}b[F+2>>1]=0;b[F+4>>1]=D;D=C+B|0;b[F+6>>1]=D;D=D+A|0;b[F+8>>1]=D;D=D+z|0;b[F+10>>1]=D;D=D+y|0;b[F+12>>1]=D;D=D+x|0;b[F+14>>1]=D;D=D+w|0;b[F+16>>1]=D;D=D+v|0;b[F+18>>1]=D;D=D+u|0;b[F+20>>1]=D;D=D+t|0;b[F+22>>1]=D;D=D+s|0;b[F+24>>1]=D;D=D+r|0;b[F+26>>1]=D;D=D+q|0;b[F+28>>1]=D;b[F+30>>1]=D+n;if(!E){l=0;do{m=b[f+(l<<1)>>1]|0;if(m<<16>>16){D=F+((m&65535)<<1)|0;E=b[D>>1]|0;b[D>>1]=E+1<<16>>16;b[j+((E&65535)<<1)>>1]=l}l=l+1|0}while((l|0)!=(g|0))}a:do switch(d|0){case 0:{y=j;z=j;A=19;B=0;break}case 1:{if(J>>>0>10)l=1;else{y=12718;z=12846;A=256;B=1;break a}k=K;return l|0}default:{y=13296;z=13424;A=-1;B=0}}while(0);D=1<>2]|0;C=-1;q=0;n=0;l=J;r=0;b:while(1){x=1<>1]|0;s=p&65535;do if((A|0)>(s|0))v=0;else{if((A|0)>=(s|0)){v=96;p=0;break}v=b[y+(s<<1)>>1]&255;p=b[z+(s<<1)>>1]|0}while(0);t=1<>>n;s=x;do{s=s-t|0;F=s+u|0;a[m+(F<<2)>>0]=v;a[m+(F<<2)+1>>0]=l;b[m+(F<<2)+2>>1]=p}while((s|0)!=0);p=1<>>1;q=(p|0)==0?0:(p+-1&q)+p|0;s=r+1|0;g=H+(w<<1)|0;F=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=F;if(!(F<<16>>16)){if((w|0)==(o|0))break b;w=e[f+(e[j+(s<<1)>>1]<<1)>>1]|0}if(w>>>0>J>>>0?(G=q&E,(G|0)!=(C|0)):0)break;r=s}n=(n|0)==0?J:n;m=m+(x<<2)|0;l=w-n|0;c:do if(w>>>0>>0){p=1<>1]|0)|0;if((p|0)<1)break c;l=l+1|0;r=l+n|0;if(r>>>0>=o>>>0)break;else p=p<<1}}while(0);p=(1<>>0>1455){l=1;I=49;break}a[(c[h>>2]|0)+(G<<2)>>0]=l;a[(c[h>>2]|0)+(G<<2)+1>>0]=d;C=c[h>>2]|0;b[C+(G<<2)+2>>1]=(m-C|0)>>>2;C=G;D=p;r=s;p=w}if((I|0)==49){k=K;return l|0}if(q|0)while(1){if((n|0)==0|(q&E|0)==(C|0))p=l;else{m=c[h>>2]|0;n=0;o=J;p=d}l=q>>>n;a[m+(l<<2)>>0]=64;a[m+(l<<2)+1>>0]=p;b[m+(l<<2)+2>>1]=0;l=1<>>1;q=(l|0)==0?0:(l+-1&q)+l|0;if(!q)break;else l=p}c[h>>2]=(c[h>>2]|0)+(D<<2);c[i>>2]=J;i=0;k=K;return i|0}function Lb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;C=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;D=e+12|0;h=(c[D>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=h+(q+-257)|0;v=c[C+40>>2]|0;w=c[C+44>>2]|0;x=c[C+48>>2]|0;G=C+56|0;H=C+60|0;y=c[C+76>>2]|0;z=c[C+80>>2]|0;A=(1<>2])+-1|0;B=(1<>2])+-1|0;q=h+(q-f)|0;r=(c[C+52>>2]|0)+-1|0;s=(x|0)==0;t=x+v|0;u=q-x|0;g=c[G>>2]|0;f=c[H>>2]|0;a:while(1){if(f>>>0<15){p=i+2|0;j=p;g=((d[i+1>>0]|0)<>0]|0)<>0]|0;k=b[y+(p<<2)+2>>1]|0;p=d[y+(p<<2)+1>>0]|0;g=g>>>p;f=f-p|0;do if(i<<24>>24){i=i&255;while(1){if(i&16|0)break;if(i&64|0){K=54;break a}p=(g&(1<>0]|0;k=b[y+(p<<2)+2>>1]|0;p=d[y+(p<<2)+1>>0]|0;g=g>>>p;f=f-p|0;if(!(i<<24>>24)){K=6;break}else i=i&255}if((K|0)==6){i=k&255;K=7;break}m=k&65535;k=i&15;if(k){i=j+1|0;if(f>>>0>>0){j=i;g=((d[i>>0]|0)<>>k;f=f-k|0}if(f>>>0<15){p=j+2|0;i=p;g=((d[j+1>>0]|0)<>0]|0)<>1]|0;p=d[z+(k<<2)+1>>0]|0;g=g>>>p;f=f-p|0;k=d[z+(k<<2)>>0]|0;if(!(k&16))do{if(k&64|0){j=i;i=45547;K=56;break a}k=(g&(1<>1]|0;p=d[z+(k<<2)+1>>0]|0;g=g>>>p;f=f-p|0;k=d[z+(k<<2)>>0]|0}while((k&16|0)==0);n=j&65535;o=k&15;if(f>>>0>>0){k=i+1|0;g=((d[k>>0]|0)<>>0>>0){i=j;g=((d[j>>0]|0)<>>o;f=f-o|0;n=h;j=n-q|0;if(p>>>0<=j>>>0){l=h+(0-p)|0;while(1){a[h+1>>0]=a[l+1>>0]|0;a[h+2>>0]=a[l+2>>0]|0;j=l+3|0;k=h+3|0;a[k>>0]=a[j>>0]|0;m=m+-3|0;if(m>>>0<=2)break;else{l=j;h=k}}if(!m){h=k;break}j=h+4|0;a[j>>0]=a[l+4>>0]|0;if((m|0)==1){h=j;break}h=h+5|0;a[h>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>w>>>0){j=i;i=45569;K=56;break a}do if(s){k=r+(v-l)|0;if(m>>>0>l>>>0){j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);h=h+q+(p-n)|0;k=h+(0-p)|0}else j=m}else{if(x>>>0>=l>>>0){k=r+(x-l)|0;if(m>>>0<=l>>>0){j=m;break}j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);h=h+q+(p-n)|0;k=h+(0-p)|0;break}k=r+(t-l)|0;l=l-x|0;if(m>>>0>l>>>0){j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);n=p-n|0;o=h+u+n|0;if(j>>>0>x>>>0){l=r;m=x;k=o;do{l=l+1|0;k=k+1|0;a[k>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);h=h+q+n|0;j=j-x|0;k=h+(0-p)|0}else{k=r;h=o}}else j=m}while(0);if(j>>>0>2)do{a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;k=k+3|0;h=h+3|0;a[h>>0]=a[k>>0]|0;j=j+-3|0}while(j>>>0>2);if(j){l=h+1|0;a[l>>0]=a[k+1>>0]|0;if((j|0)==1)h=l;else{h=h+2|0;a[h>>0]=a[k+2>>0]|0}}}else{i=k&255;K=7}while(0);if((K|0)==7){K=0;h=h+1|0;a[h>>0]=i;i=j}if(!(h>>>0>>0&i>>>0>>0)){K=58;break}}if((K|0)==54)if(!(i&32)){i=45519;K=56}else i=11;else if((K|0)==58){B=f>>>3;B=0-B|0;B=i+B|0;K=f&7;C=1<>2]=A;e=h+1|0;c[D>>2]=e;D=J;J=B;D=D+5|0;J=D-J|0;c[I>>2]=J;I=F;J=h;I=I+257|0;J=I-J|0;c[E>>2]=J;c[G>>2]=C;c[H>>2]=K;return}if((K|0)==56){c[e+24>>2]=i;i=27}c[C>>2]=i;z=j;B=h;C=g;K=f;A=K>>>3;A=0-A|0;A=z+A|0;K=K&7;z=1<>2]=z;e=B+1|0;c[D>>2]=e;D=J;J=A;D=D+5|0;J=D-J|0;c[I>>2]=J;I=F;J=B;I=I+257|0;J=I-J|0;c[E>>2]=J;c[G>>2]=C;c[H>>2]=K;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[47472+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[47472+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[80272+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[D>>2]|0)+ca|0;c[D>>2]=ca;ca=(c[G>>2]|0)+(c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[G>>2]=ca;ca=(c[I>>2]|0)+(c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)|0;c[I>>2]=ca;ca=c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[47472+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[47472+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[80272+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[(c[80272+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)+ca+(c[G>>2]|0)|0;c[G>>2]=ca;ca=(c[I>>2]|0)+(c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)|0;c[I>>2]=ca;ca=c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[47472+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[47472+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);c[s>>2]=c[b>>2];c[b>>2]=c[(c[80272+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[G>>2]|0)+(c[(c[80272+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[G>>2]=ca;ca=(c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(c[s>>2]|0)+(c[I>>2]|0)|0;c[I>>2]=ca;ca=c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[47472+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[47472+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[47472+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[80272+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[D>>2]|0)+ca|0;c[D>>2]=ca;ca=(c[(c[80272+(((c[G>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)+(c[I>>2]|0)|0;c[I>>2]=ca;ca=c[(c[80272+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Qb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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,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,ba=0,ca=0,da=0;ba=b+312|0;ca=b+372|0;do if((c[ca>>2]|0)==536870912){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else if((e|0)>0){f=b+480|0;break}else return;while(0);B=b+96|0;C=b+144|0;D=a+7400|0;E=b+360|0;F=a+7404|0;G=b+204|0;H=b+252|0;I=a+7408|0;J=b+420|0;K=b+468|0;L=a+7412|0;M=b+148|0;N=b+364|0;O=b+256|0;P=b+472|0;Q=b+124|0;R=b+156|0;S=b+108|0;T=a+7416|0;U=b+340|0;V=b+324|0;W=a+7420|0;X=b+232|0;Y=b+264|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;i=a+7428|0;j=b+160|0;k=b+164|0;l=b+376|0;m=b+380|0;n=b+152|0;o=b+268|0;p=b+272|0;q=b+368|0;r=b+484|0;s=b+488|0;t=b+260|0;u=b+4|0;v=b+36|0;w=b+20|0;x=b+476|0;y=b+24|0;z=b+28|0;A=d+4|0;h=0;do{c[D>>2]=c[C>>2];c[F>>2]=c[E>>2];c[I>>2]=c[H>>2];c[L>>2]=c[K>>2];c[C>>2]=(c[C>>2]|0)+(c[M>>2]|0);c[E>>2]=(c[E>>2]|0)+(c[N>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[O>>2]|0);c[K>>2]=(c[K>>2]|0)+(c[P>>2]|0);a=(c[S>>2]|0)+(c[47472+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[Q>>2]&4)a=(a|0)>4095?0:a^4095;c[T>>2]=a;a=(c[V>>2]|0)+(c[47472+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[U>>2]&4)a=(a|0)>4095?0:a^4095;c[W>>2]=a;a=(c[Z>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[X>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[i>>2]=a;g=(c[R>>2]|0)+(c[j>>2]|0)|0;c[R>>2]=g;if((g|0)>=(c[k>>2]|0))wa[c[14e3+(c[n>>2]<<2)>>2]&31](B);g=(c[ca>>2]|0)+(c[l>>2]|0)|0;c[ca>>2]=g;if((g|0)>=(c[m>>2]|0))wa[c[14e3+(c[q>>2]<<2)>>2]&31](ba);g=(c[Y>>2]|0)+(c[o>>2]|0)|0;c[Y>>2]=g;if((g|0)>=(c[p>>2]|0))wa[c[14e3+(c[t>>2]<<2)>>2]&31](G);g=(c[f>>2]|0)+(c[r>>2]|0)|0;c[f>>2]=g;if((g|0)>=(c[s>>2]|0))wa[c[14e3+(c[x>>2]<<2)>>2]&31](J);c[D>>2]=(c[D>>2]|0)+((c[u>>2]|0)+(c[b>>2]|0)>>c[v>>2]);a=c[b>>2]|0;c[u>>2]=a;c[b>>2]=c[(c[80272+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2];a=(c[F>>2]|0)+a|0;c[F>>2]=a;g=(c[L>>2]|0)+(c[(c[80272+(((c[I>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;c[L>>2]=g;g=(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[W>>2]<<2)>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;a=g>>15;c[w>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;da=24}}else{a=12287;da=24}if((da|0)==24){da=0;c[w>>2]=a}g=(c[d>>2]|0)+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[y>>2]&a);g=(c[A>>2]|0)+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[z>>2]&c[w>>2]);h=h+1|0}while((h|0)<(e|0));return}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0,da=0,ea=0;ba=b+312|0;ca=b+372|0;if((c[ca>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else da=4;do if((da|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);C=b+96|0;D=b+144|0;E=a+7400|0;F=b+360|0;G=a+7404|0;H=b+204|0;I=b+252|0;J=a+7408|0;K=b+420|0;L=b+468|0;M=a+7412|0;N=b+148|0;O=b+364|0;P=b+256|0;Q=b+472|0;R=b+124|0;S=b+156|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;j=a+7428|0;k=b+160|0;l=b+164|0;m=b+376|0;n=b+380|0;o=b+152|0;p=b+268|0;q=b+272|0;r=b+368|0;s=b+484|0;t=b+488|0;u=b+260|0;v=b+4|0;w=b+36|0;x=b+20|0;y=b+476|0;z=b+24|0;A=b+28|0;B=d+4|0;i=0;do{c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];c[J>>2]=c[I>>2];c[M>>2]=c[L>>2];c[D>>2]=(c[D>>2]|0)+(c[N>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[O>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[P>>2]|0);c[L>>2]=(c[L>>2]|0)+(c[Q>>2]|0);a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[47472+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[j>>2]=a;h=(c[S>>2]|0)+(c[k>>2]|0)|0;c[S>>2]=h;if((h|0)>=(c[l>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](C);h=(c[ca>>2]|0)+(c[m>>2]|0)|0;c[ca>>2]=h;if((h|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](ba);h=(c[g>>2]|0)+(c[p>>2]|0)|0;c[g>>2]=h;if((h|0)>=(c[q>>2]|0))wa[c[14e3+(c[u>>2]<<2)>>2]&31](H);h=(c[f>>2]|0)+(c[s>>2]|0)|0;c[f>>2]=h;if((h|0)>=(c[t>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31](K);c[E>>2]=(c[E>>2]|0)+((c[v>>2]|0)+(c[b>>2]|0)>>c[w>>2]);ea=c[b>>2]|0;c[v>>2]=ea;c[b>>2]=c[(c[80272+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];ea=(c[G>>2]|0)+ea|0;c[G>>2]=ea;h=(c[J>>2]|0)+(c[v>>2]|0)|0;c[J>>2]=h;a=(c[M>>2]|0)+(c[v>>2]|0)|0;c[M>>2]=a;h=(c[(c[80272+((ea>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[80272+((a>>>14&4095)<<2)>>2]|0)+(c[j>>2]<<2)>>2]|0)+(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=h>>15;c[x>>2]=a;if((h|0)<=402653183){if((h|0)<-402620416){a=-12287;da=25}}else{a=12287;da=25}if((da|0)==25){da=0;c[x>>2]=a}ea=(c[d>>2]|0)+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+(c[z>>2]&a);ea=(c[B>>2]|0)+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+(c[A>>2]&c[x>>2]);i=i+1|0}while((i|0)<(e|0));return}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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,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,ba=0,ca=0,da=0;ba=b+312|0;ca=b+372|0;if((c[ca>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else da=4;do if((da|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);C=b+96|0;D=b+144|0;E=a+7400|0;F=b+360|0;G=a+7404|0;H=b+204|0;I=b+252|0;J=a+7408|0;K=b+420|0;L=b+468|0;M=a+7412|0;N=b+148|0;O=b+364|0;P=b+256|0;Q=b+472|0;R=b+124|0;S=b+156|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;j=a+7428|0;k=b+160|0;l=b+164|0;m=b+376|0;n=b+380|0;o=b+152|0;p=b+268|0;q=b+272|0;r=b+368|0;s=b+484|0;t=b+488|0;u=b+260|0;v=b+4|0;w=b+36|0;x=b+20|0;y=b+476|0;z=b+24|0;A=b+28|0;B=d+4|0;i=0;do{c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];c[J>>2]=c[I>>2];c[M>>2]=c[L>>2];c[D>>2]=(c[D>>2]|0)+(c[N>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[O>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[P>>2]|0);c[L>>2]=(c[L>>2]|0)+(c[Q>>2]|0);a=(c[T>>2]|0)+(c[47472+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[47472+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[j>>2]=a;h=(c[S>>2]|0)+(c[k>>2]|0)|0;c[S>>2]=h;if((h|0)>=(c[l>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](C);h=(c[ca>>2]|0)+(c[m>>2]|0)|0;c[ca>>2]=h;if((h|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](ba);h=(c[g>>2]|0)+(c[p>>2]|0)|0;c[g>>2]=h;if((h|0)>=(c[q>>2]|0))wa[c[14e3+(c[u>>2]<<2)>>2]&31](H);h=(c[f>>2]|0)+(c[s>>2]|0)|0;c[f>>2]=h;if((h|0)>=(c[t>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31](K);c[E>>2]=(c[E>>2]|0)+((c[v>>2]|0)+(c[b>>2]|0)>>c[w>>2]);h=c[b>>2]|0;c[v>>2]=h;c[b>>2]=c[(c[80272+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];h=(c[G>>2]|0)+h|0;c[G>>2]=h;h=(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[80272+(((c[M>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[j>>2]<<2)>>2]|0)+(c[(c[80272+(((c[J>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=h>>15;c[x>>2]=a;if((h|0)<=402653183){if((h|0)<-402620416){a=-12287;da=25}}else{a=12287;da=25}if((da|0)==25){da=0;c[x>>2]=a}h=(c[d>>2]|0)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[z>>2]&a);h=(c[B>>2]|0)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[A>>2]&c[x>>2]);i=i+1|0}while((i|0)<(e|0));return}function Tb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0,da=0;ba=b+96|0;ca=b+156|0;if(((c[ca>>2]|0)==536870912?(h=b+372|0,(c[h>>2]|0)==536870912):0)?(f=b+264|0,(c[f>>2]|0)==536870912):0){g=b+480|0;if(!((c[g>>2]|0)!=536870912&(e|0)>0))return}else da=5;do if((da|0)==5)if((e|0)>0){f=b+264|0;g=b+480|0;h=b+372|0;break}else return;while(0);D=b+144|0;E=a+7400|0;F=b+312|0;G=b+360|0;H=a+7404|0;I=b+204|0;J=b+252|0;K=a+7408|0;L=b+420|0;M=b+468|0;N=a+7412|0;O=b+148|0;P=b+364|0;Q=b+256|0;R=b+472|0;S=b+124|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;k=a+7428|0;l=b+160|0;m=b+164|0;n=b+376|0;o=b+380|0;p=b+152|0;q=b+268|0;r=b+272|0;s=b+368|0;t=b+484|0;u=b+488|0;v=b+260|0;w=b+4|0;x=b+36|0;y=b+20|0;z=b+476|0;A=b+24|0;B=b+28|0;C=d+4|0;j=0;do{c[E>>2]=c[D>>2];c[H>>2]=c[G>>2];c[K>>2]=c[J>>2];c[N>>2]=c[M>>2];c[D>>2]=(c[D>>2]|0)+(c[O>>2]|0);c[G>>2]=(c[G>>2]|0)+(c[P>>2]|0);c[J>>2]=(c[J>>2]|0)+(c[Q>>2]|0);c[M>>2]=(c[M>>2]|0)+(c[R>>2]|0);a=(c[T>>2]|0)+(c[47472+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[S>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[47472+(c[h>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[k>>2]=a;i=(c[ca>>2]|0)+(c[l>>2]|0)|0;c[ca>>2]=i;if((i|0)>=(c[m>>2]|0))wa[c[14e3+(c[p>>2]<<2)>>2]&31](ba);i=(c[h>>2]|0)+(c[n>>2]|0)|0;c[h>>2]=i;if((i|0)>=(c[o>>2]|0))wa[c[14e3+(c[s>>2]<<2)>>2]&31](F);i=(c[f>>2]|0)+(c[q>>2]|0)|0;c[f>>2]=i;if((i|0)>=(c[r>>2]|0))wa[c[14e3+(c[v>>2]<<2)>>2]&31](I);i=(c[g>>2]|0)+(c[t>>2]|0)|0;c[g>>2]=i;if((i|0)>=(c[u>>2]|0))wa[c[14e3+(c[z>>2]<<2)>>2]&31](L);c[E>>2]=(c[E>>2]|0)+((c[w>>2]|0)+(c[b>>2]|0)>>c[x>>2]);i=c[b>>2]|0;c[w>>2]=i;c[b>>2]=c[(c[80272+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];i=(c[(c[80272+(((c[N>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[k>>2]<<2)>>2]|0)+i+(c[(c[80272+(((c[H>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[80272+(((c[K>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=i>>15;c[y>>2]=a;if((i|0)<=402653183){if((i|0)<-402620416){a=-12287;da=26}}else{a=12287;da=26}if((da|0)==26){da=0;c[y>>2]=a}i=(c[d>>2]|0)+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+(c[A>>2]&a);i=(c[C>>2]|0)+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+(c[B>>2]&c[y>>2]);j=j+1|0}while((j|0)<(e|0));return}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[47472+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[47472+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[80272+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[m>>2]|0)+g|0;c[m>>2]=g;g=(c[p>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;c[p>>2]=g;g=(c[r>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[r>>2]=g;g=c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[47472+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[47472+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[80272+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+g+(c[p>>2]|0)|0;c[p>>2]=g;g=(c[r>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[r>>2]=g;g=c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[47472+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[47472+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);c[ca>>2]=c[b>>2];c[b>>2]=c[(c[80272+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[p>>2]|0)+(c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;c[p>>2]=g;g=(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)+(c[ca>>2]|0)+(c[r>>2]|0)|0;c[r>>2]=g;g=c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[47472+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[47472+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[47472+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[47472+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[80272+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[m>>2]|0)+g|0;c[m>>2]=g;g=(c[(c[80272+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)+(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+(c[r>>2]|0)|0;c[r>>2]=g;g=c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;do if((c[ja>>2]|0)==536870912){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else if((e|0)>0){f=b+480|0;break}else return;while(0);j=b+96|0;k=b+144|0;l=a+7400|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+420|0;s=b+468|0;t=a+7412|0;u=b+40|0;v=b+148|0;w=b+364|0;x=b+256|0;y=b+472|0;z=b+124|0;A=b+156|0;B=b+108|0;C=b+196|0;D=a+7416|0;E=b+340|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;i=0;do{c[l>>2]=c[k>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];g=(M(c[a+6376+(i<<2)>>2]|0,c[u>>2]|0)|0)>>9;h=c[v>>2]|0;if(!g){c[k>>2]=(c[k>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[w>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[x>>2]|0);g=(c[s>>2]|0)+(c[y>>2]|0)|0}else{h=((M(g,h)|0)>>9)+h|0;c[k>>2]=h+(c[k>>2]|0);h=c[w>>2]|0;la=(M(h,g)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+la;la=c[x>>2]|0;h=(M(la,g)|0)>>9;c[p>>2]=(c[p>>2]|0)+la+h;h=c[y>>2]|0;g=(M(h,g)|0)>>9;g=(c[s>>2]|0)+h+g|0}c[s>>2]=g;h=c[a+5352+(i<<2)>>2]|0;g=(c[B>>2]|0)+(c[47472+(c[A>>2]>>16<<2)>>2]|0)|0;if(c[z>>2]&4){c[D>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=12}}else ka=12;if((ka|0)==12){ka=0;g=(h>>c[C>>2])+g|0}c[D>>2]=g;g=(c[F>>2]|0)+(c[47472+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[E>>2]&4){c[H>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=16}}else ka=16;if((ka|0)==16){ka=0;g=(h>>c[G>>2])+g|0}c[H>>2]=g;g=(c[K>>2]|0)+(c[47472+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=20}}else ka=20;if((ka|0)==20){ka=0;g=(h>>c[L>>2])+g|0}c[N>>2]=g;g=(c[P>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=24}}else ka=24;if((ka|0)==24){ka=0;g=(h>>c[Q>>2])+g|0}c[R>>2]=g;la=(c[A>>2]|0)+(c[S>>2]|0)|0;c[A>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](j);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[J>>2]|0)+(c[X>>2]|0)|0;c[J>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](o);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](r);c[l>>2]=(c[l>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);g=c[b>>2]|0;c[ba>>2]=g;c[b>>2]=c[(c[80272+(((c[l>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[D>>2]<<2)>>2];g=(c[n>>2]|0)+g|0;c[n>>2]=g;h=(c[t>>2]|0)+(c[(c[80272+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;c[t>>2]=h;h=(c[(c[80272+((g>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)|0;g=h>>15;c[da>>2]=g;if((h|0)<=402653183){if((h|0)<-402620416){g=-12287;ka=35}}else{g=12287;ka=35}if((ka|0)==35){ka=0;c[da>>2]=g}la=(c[d>>2]|0)+(i<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(i<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);i=i+1|0}while((i|0)<(e|0));return}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;if((c[ja>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else ka=4;do if((ka|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);k=b+96|0;l=b+144|0;m=a+7400|0;n=b+360|0;o=a+7404|0;p=b+204|0;q=b+252|0;r=a+7408|0;s=b+420|0;t=b+468|0;u=a+7412|0;v=b+40|0;w=b+148|0;x=b+364|0;y=b+256|0;z=b+472|0;A=b+124|0;B=b+156|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;j=0;do{c[m>>2]=c[l>>2];c[o>>2]=c[n>>2];c[r>>2]=c[q>>2];c[u>>2]=c[t>>2];h=(M(c[a+6376+(j<<2)>>2]|0,c[v>>2]|0)|0)>>9;i=c[w>>2]|0;if(!h){c[l>>2]=(c[l>>2]|0)+i;c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[y>>2]|0);h=(c[t>>2]|0)+(c[z>>2]|0)|0}else{i=((M(h,i)|0)>>9)+i|0;c[l>>2]=i+(c[l>>2]|0);i=c[x>>2]|0;la=(M(i,h)|0)>>9;c[n>>2]=(c[n>>2]|0)+i+la;la=c[y>>2]|0;i=(M(la,h)|0)>>9;c[q>>2]=(c[q>>2]|0)+la+i;i=c[z>>2]|0;h=(M(i,h)|0)>>9;h=(c[t>>2]|0)+i+h|0}c[t>>2]=h;i=c[a+5352+(j<<2)>>2]|0;h=(c[C>>2]|0)+(c[47472+(c[B>>2]>>16<<2)>>2]|0)|0;if(c[A>>2]&4){c[E>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;h=(i>>c[D>>2])+h|0}c[E>>2]=h;h=(c[G>>2]|0)+(c[47472+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;h=(i>>c[H>>2])+h|0}c[I>>2]=h;h=(c[K>>2]|0)+(c[47472+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;h=(i>>c[L>>2])+h|0}c[N>>2]=h;h=(c[P>>2]|0)+(c[47472+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=25}}else ka=25;if((ka|0)==25){ka=0;h=(i>>c[Q>>2])+h|0}c[R>>2]=h;la=(c[B>>2]|0)+(c[S>>2]|0)|0;c[B>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](k);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[g>>2]|0)+(c[X>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](p);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](s);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);la=c[b>>2]|0;c[ba>>2]=la;c[b>>2]=c[(c[80272+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];la=(c[o>>2]|0)+la|0;c[o>>2]=la;i=(c[r>>2]|0)+(c[ba>>2]|0)|0;c[r>>2]=i;h=(c[u>>2]|0)+(c[ba>>2]|0)|0;c[u>>2]=h;i=(c[(c[80272+((la>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[80272+((h>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[80272+((i>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;h=i>>15;c[da>>2]=h;if((i|0)<=402653183){if((i|0)<-402620416){h=-12287;ka=36}}else{h=12287;ka=36}if((ka|0)==36){ka=0;c[da>>2]=h}la=(c[d>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&h);la=(c[ha>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);j=j+1|0}while((j|0)<(e|0));return} -function Ix(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=k;k=k+64|0;C=G+56|0;D=G+40|0;A=G;E=G+48|0;F=G+60|0;c[C>>2]=e;w=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;j=0;e=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[858034]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[C>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=93;break a}l=r;b:while(1){switch(j<<24>>24){case 37:{v=10;break b}case 0:{j=l;break b}default:{}}u=l+1|0;c[C>>2]=u;j=a[u>>0]|0;l=u}c:do if((v|0)==10){v=0;j=l;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[C>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-r|0;if(w)Kx(d,r,j)}while((j|0)!=0);l=c[C>>2]|0;j=a[l+1>>0]|0;if(!(Fx(j)|0)){s=-1;p=m;j=1}else{u=(a[l+2>>0]|0)==36;s=u?j+-48|0:-1;p=u?1:m;j=u?3:1}n=l+j|0;c[C>>2]=n;j=a[n>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=n;j=a[n>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<>24==42){l=o+1|0;j=a[l>>0]|0;if((Fx(j)|0)!=0?(a[o+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;j=c[g+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;l=o+3|0}else{if(p|0){e=-1;break}if(w){n=(c[f>>2]|0)+(4-1)&~(4-1);j=c[n>>2]|0;c[f>>2]=n+4;n=0}else{j=0;n=0}}c[C>>2]=l;u=(j|0)<0;t=u?0-j|0:j;m=u?m|8192:m;u=n}else{j=Lx(C)|0;if((j|0)<0){e=-1;break}t=j;u=p;l=c[C>>2]|0}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[C>>2]=j;p=Lx(C)|0;j=c[C>>2]|0;break}n=l+2|0;j=a[n>>0]|0;if(Fx(j)|0?(a[l+3>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;p=c[g+((a[n>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[C>>2]=j;break}if(u|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;c[C>>2]=n;p=j;j=n}else{p=-1;j=l}while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}l=j+1|0;c[C>>2]=l;n=a[(a[j>>0]|0)+-65+(40960+(q*58|0))>>0]|0;o=n&255;if((o+-1|0)>>>0<8){q=o;j=l}else break}if(!(n<<24>>24)){e=-1;break}l=(s|0)>-1;do if(n<<24>>24==19)if(l){e=-1;break a}else v=52;else{if(l){c[i+(s<<2)>>2]=o;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=D;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=52;break}if(!w){e=0;break a}Mx(D,o,f);v=53}while(0);if((v|0)==52){v=0;if(w)v=53;else j=0}d:do if((v|0)==53){v=0;j=a[j>>0]|0;j=(q|0)!=0&(j&15|0)==3?j&-33:j;l=m&-65537;s=(m&8192|0)==0?m:l;e:do switch(j|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[D>>2]>>2]=e;j=0;break d}case 1:{c[c[D>>2]>>2]=e;j=0;break d}case 2:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[D>>2]>>1]=e;j=0;break d}case 4:{a[c[D>>2]>>0]=e;j=0;break d}case 6:{c[c[D>>2]>>2]=e;j=0;break d}case 7:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=120;l=p>>>0>8?p:8;m=s|8;v=65;break}case 88:case 120:{l=p;m=s;v=65;break}case 111:{l=D;j=c[l>>2]|0;l=c[l+4>>2]|0;o=Ox(j,l,y)|0;m=z-o|0;q=0;n=47405;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=71;break}case 105:case 100:{l=D;j=c[l>>2]|0;l=c[l+4>>2]|0;if((l|0)<0){j=bz(0,0,j|0,l|0)|0;l=x;m=D;c[m>>2]=j;c[m+4>>2]=l;m=1;n=47405;v=70;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?47405:47407):47406;v=70;break e}}case 117:{l=D;m=0;n=47405;j=c[l>>2]|0;l=c[l+4>>2]|0;v=70;break}case 99:{a[A>>0]=c[D>>2];r=A;q=0;n=47405;o=1;j=z;break}case 109:{j=Qx(c[858034]|0)|0;v=75;break}case 115:{j=c[D>>2]|0;j=(j|0)==0?47415:j;v=75;break}case 67:{c[E>>2]=c[D>>2];c[B>>2]=0;c[D>>2]=E;p=-1;m=E;v=80;break}case 83:if(!p){Sx(d,32,t,0,s);j=0;v=90;break e}else{m=c[D>>2]|0;v=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=Ux(d,+h[D>>3],t,p,s,j)|0;break d}default:{q=0;n=47405;o=p;l=s;j=z}}while(0);f:do if((v|0)==65){s=D;r=c[s>>2]|0;s=c[s+4>>2]|0;o=Nx(r,s,y,j&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?47405:47405+(j>>>4)|0;p=l;j=r;l=s;v=71}else if((v|0)==70){o=Px(j,l,y)|0;q=m;m=s;v=71}else if((v|0)==75){v=0;s=Rx(j,0,p)|0;m=(s|0)==0;r=j;q=0;n=47405;o=m?p:s-j|0;j=m?j+p|0:s}else if((v|0)==80){v=0;o=m;j=0;while(1){l=c[o>>2]|0;if(!l)break;l=Tx(F,l)|0;n=(l|0)<0;if(n|l>>>0>(p-j|0)>>>0){v=84;break}j=l+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((v|0)==84){v=0;if(n){e=-1;break a}}Sx(d,32,t,j,s);if(!j){j=0;v=90}else{n=0;while(1){l=c[m>>2]|0;if(!l){v=90;break f}l=Tx(F,l)|0;n=l+n|0;if((n|0)>(j|0)){v=90;break f}Kx(d,F,l);if(n>>>0>=j>>>0){v=90;break}else m=m+4|0}}}while(0);if((v|0)==71){v=0;l=(j|0)!=0|(l|0)!=0;j=(p|0)!=0|l;l=z-o+((l^1)&1)|0;r=j?o:y;o=j?((p|0)>(l|0)?p:l):0;l=(p|0)>-1?m&-65537:m;j=z}else if((v|0)==90){v=0;Sx(d,32,t,j,s^8192);j=(t|0)>(j|0)?t:j;break}p=j-r|0;o=(o|0)<(p|0)?p:o;s=o+q|0;j=(t|0)<(s|0)?s:t;Sx(d,32,j,s,l);Kx(d,n,q);Sx(d,48,j,s,l^65536);Sx(d,48,o,p,0);Kx(d,r,p);Sx(d,32,j,s,l^8192)}while(0);m=u}g:do if((v|0)==93)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;Mx(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}l=0;while(1){j=e+1|0;if(l|0){e=-1;break g}if(j>>>0>=10){e=1;break g}e=j;l=c[i+(j<<2)>>2]|0}}while(0);k=G;return e|0}function Jx(){return 0}function Kx(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))cy(b,d,a)|0;return}function Lx(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=a[e>>0]|0;if(!(Fx(f<<24>>24)|0))d=0;else{d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((Fx(f<<24>>24)|0)!=0)}return d|0}function Mx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function Nx(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[41424+(b&15)>>0]|0|f;b=jz(b|0,c|0,4)|0;c=x}while(!((b|0)==0&(c|0)==0));return e|0}function Ox(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=jz(b|0,c|0,3)|0;c=x}while(!((b|0)==0&(c|0)==0));return d|0}function Px(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=hz(b|0,c|0,10,0)|0;f=c;c=x;g=gz(b|0,c|0,-10,-1)|0;g=az(e|0,f|0,g|0,x|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(M(c,-10)|0)|48}while(g>>>0>=10);return d|0}function Qx(a){a=a|0;return Zx(a,c[11257]|0)|0}function Rx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24)break a;b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);b:do if((i|0)==5){do if(f){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e)break;else break b;f=M(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e)break;while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function Sx(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;g=k;k=k+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){c=c-d|0;nz(f|0,b<<24>>24|0,(c>>>0<256?c:256)|0)|0;if(c>>>0>255){d=c;do{Kx(a,f,256);d=d+-256|0}while(d>>>0>255);c=c&255}Kx(a,f,c)}k=g;return}function Tx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Yx(a,b)|0;return a|0}function Ux(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=k;k=k+560|0;m=H+32|0;v=H+536|0;G=H;F=G;n=H+540|0;c[v>>2]=0;E=n+12|0;Vx(e)|0;j=x;if((j|0)<0){e=-e;Vx(e)|0;D=1;C=47422;j=x}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?47423:47428):47425}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;Sx(b,32,f,j,h&-65537);Kx(b,C,D);Kx(b,e!=e|0.0!=0.0?(G?47464:47449):G?47441:47445,3);Sx(b,32,f,j,h^8192)}else{r=+Wx(e,v)*2.0;j=r!=0.0;if(j)c[v>>2]=(c[v>>2]|0)+-1;u=i|32;if((u|0)==97){p=i&32;s=(p|0)==0?C:C+9|0;q=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);l=c[v>>2]|0;j=(l|0)<0?0-l|0:l;j=Px(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(l>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;l=(g|0)<1;m=(h&8|0)==0;n=G;do{D=~~e;j=n+1|0;a[n>>0]=p|d[41424+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(m&(l&e==0.0)):0){a[j>>0]=46;n=n+2|0}else n=j}while(e!=0.0);if((g|0)!=0?(-2-F+n|0)<(g|0):0){l=E;m=o;j=g+2+l-m|0}else{l=E;m=o;j=l-F-m+n|0}E=j+q|0;Sx(b,32,f,E,h);Kx(b,s,q);Sx(b,48,f,E,h^65536);F=n-F|0;Kx(b,G,F);G=l-m|0;Sx(b,48,j-(F+G)|0,0,0);Kx(b,o,G);Sx(b,32,f,E,h^8192);j=E;break}l=(g|0)<0?6:g;if(j){j=(c[v>>2]|0)+-28|0;c[v>>2]=j;e=r*268435456.0}else{e=r;j=c[v>>2]|0}B=(j|0)<0?m:m+288|0;m=B;do{z=~~e>>>0;c[m>>2]=z;m=m+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){p=B;while(1){o=(j|0)<29?j:29;j=m+-4|0;if(j>>>0>=p>>>0){n=0;do{t=kz(c[j>>2]|0,0,o|0)|0;t=az(t|0,x|0,n|0,0)|0;w=x;n=hz(t|0,w|0,1e9,0)|0;y=gz(n|0,x|0,-1e9,-1)|0;y=az(t|0,w|0,y|0,x|0)|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=p>>>0);if(n){y=p+-4|0;c[y>>2]=n;n=y}else n=p}else n=p;a:do if(m>>>0>n>>>0){j=m;while(1){m=j+-4|0;if(c[m>>2]|0){m=j;break a}if(m>>>0>n>>>0)j=m;else break}}while(0);j=(c[v>>2]|0)-o|0;c[v>>2]=j;if((j|0)>0)p=n;else break}}else n=B;if((j|0)<0){g=((l+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=M(y&o,p)|0;j=j+4|0}while(j>>>0>>0);n=(c[n>>2]|0)==0?n+4|0:n;if(q){c[m>>2]=q;m=m+4|0}}else n=(c[n>>2]|0)==0?n+4|0:n;j=t?B:n;m=(m-j>>2|0)>(g|0)?j+(g<<2)|0:m;j=(c[v>>2]|0)+s|0;c[v>>2]=j}while((j|0)<0);t=n}else t=n;if(t>>>0>>0){j=(z-t>>2)*9|0;o=c[t>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;j=j+1|0}while(o>>>0>=n>>>0)}}else j=0;v=(u|0)==103;w=(l|0)!=0;n=l-((u|0)==102?0:j)+((w&v)<<31>>31)|0;if((n|0)<(((m-z>>2)*9|0)+-9|0)){y=n+9216|0;n=(y|0)/9|0;g=B+4+(n+-1024<<2)|0;n=y+(M(n,-9)|0)|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[g>>2]|0;n=(p>>>0)/(o>>>0)|0;s=M(n,o)|0;p=p-s|0;q=(g+4|0)==(m|0);if(!(q&(p|0)==0)){e=(n&1|0)==0?9007199254740992.0:9007199254740994.0;y=o>>>1;r=p>>>0>>0?.5:q&(p|0)==(y|0)?1.0:1.5;if(D){y=(a[C>>0]|0)==45;r=y?-r:r;e=y?-e:e}c[g>>2]=s;if(e+r!=e){y=s+o|0;c[g>>2]=y;if(y>>>0>999999999){o=g;j=t;while(1){n=o+-4|0;c[o>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}y=(c[n>>2]|0)+1|0;c[n>>2]=y;if(y>>>0>999999999)o=n;else{o=j;break}}}else{n=g;o=t}j=(z-o>>2)*9|0;q=c[o>>2]|0;if(q>>>0>=10){p=10;do{p=p*10|0;j=j+1|0}while(q>>>0>=p>>>0)}}else{n=g;o=t}}else{n=g;o=t}y=n+4|0;m=m>>>0>y>>>0?y:m}else o=t;g=0-j|0;b:do if(m>>>0>o>>>0)while(1){n=m+-4|0;if(c[n>>2]|0){y=m;u=1;break b}if(n>>>0>o>>>0)m=n;else{y=n;u=0;break}}else{y=m;u=0}while(0);do if(v){l=l+((w^1)&1)|0;if((l|0)>(j|0)&(j|0)>-5){p=i+-1|0;l=l+-1-j|0}else{p=i+-2|0;l=l+-1|0}if(!(h&8)){if(u?(A=c[y+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;m=10;do{m=m*10|0;n=n+1|0}while(!((A>>>0)%(m>>>0)|0|0))}else n=0;else n=9;m=((y-z>>2)*9|0)+-9|0;if((p|32|0)==102){i=m-n|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}else{i=m+j-n|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}}}else p=i;while(0);t=(l|0)!=0;q=t?1:h>>>3&1;s=(p|32|0)==102;if(s){w=0;j=(j|0)>0?j:0}else{m=(j|0)<0?g:j;m=Px(m,((m|0)<0)<<31>>31,E)|0;n=E;if((n-m|0)<2)do{m=m+-1|0;a[m>>0]=48}while((n-m|0)<2);a[m+-1>>0]=(j>>31&2)+43;j=m+-2|0;a[j>>0]=p;w=j;j=n-j|0}j=D+1+l+q+j|0;Sx(b,32,f,j,h);Kx(b,C,D);Sx(b,48,f,j,h^65536);if(s){q=o>>>0>B>>>0?B:o;s=G+9|0;o=s;p=G+8|0;n=q;do{m=Px(c[n>>2]|0,0,s)|0;if((n|0)==(q|0)){if((m|0)==(s|0)){a[p>>0]=48;m=p}}else if(m>>>0>G>>>0){nz(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}Kx(b,m,o-m|0);n=n+4|0}while(n>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))Kx(b,47453,1);if(n>>>0>>0&(l|0)>0)while(1){m=Px(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){nz(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}Kx(b,m,(l|0)<9?l:9);n=n+4|0;m=l+-9|0;if(!(n>>>0>>0&(l|0)>9)){l=m;break}else l=m}Sx(b,48,l+9|0,9,0)}else{v=u?y:o+4|0;if(o>>>0>>0&(l|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;q=0-F|0;s=G+8|0;p=o;do{m=Px(c[p>>2]|0,0,g)|0;if((m|0)==(g|0)){a[s>>0]=48;m=s}do if((p|0)==(o|0)){n=m+1|0;Kx(b,m,1);if(t&(l|0)<1){m=n;break}Kx(b,47453,1);m=n}else{if(m>>>0<=G>>>0)break;nz(G|0,48,m+q|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=u-m|0;Kx(b,m,(l|0)>(F|0)?F:l);l=l-F|0;p=p+4|0}while(p>>>0>>0&(l|0)>-1)}Sx(b,48,l+18|0,18,0);Kx(b,w,E-w|0)}Sx(b,32,f,j,h^8192)}while(0);k=H;return ((j|0)<(f|0)?f:j)|0}function Vx(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;x=c[j+4>>2]|0;return b|0}function Wx(a,b){a=+a;b=b|0;return +(+Xx(a,b))}function Xx(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=jz(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+Xx(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function Yx(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[11257]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[858034]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[858034]=84;b=-1;break}}else b=1;while(0);return b|0}function Zx(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[41440+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=41536;else{b=f;g=5}if((g|0)==5){f=41536;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return _x(f,c[e+20>>2]|0)|0}function _x(a,b){a=a|0;b=b|0;return $x(a,b)|0}function $x(a,b){a=a|0;b=b|0;if(!b)b=0;else b=ay(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function ay(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=by(c[b+8>>2]|0,o)|0;f=by(c[b+12>>2]|0,o)|0;g=by(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=by(c[b+(g<<2)>>2]|0,o)|0;g=by(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Ex(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=by(c[b+(f<<2)>>2]|0,o)|0;f=by(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function by(a,b){a=a|0;b=b|0;var c=0;c=lz(a|0)|0;return ((b|0)==0?a:c)|0}function cy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(dy(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=va[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=va[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);mz(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function dy(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;mz(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function fy(b){b=b|0;var e=0.0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;i=b+100|0;do{f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=vx(b)|0}while((wx(f)|0)!=0);a:do switch(f|0){case 43:case 45:{h=1-(((f|0)==45&1)<<1)|0;f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;g=d[f>>0]|0;break a}else{g=vx(b)|0;break a}}default:{g=f;h=1}}while(0);f=0;while(1){if((g|32|0)!=(a[47455+f>>0]|0))break;do if(f>>>0<7){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0;break}else{g=vx(b)|0;break}}while(0);f=f+1|0;if(f>>>0>=8){f=8;break}}b:do switch(f&2147483647|0){case 8:{k=27;break}case 3:{k=20;break}default:{if(f>>>0>3)if((f|0)==8){k=27;break b}else{k=20;break b}c:do if(!f){f=0;do{if((g|32|0)!=(a[47464+f>>0]|0)){k=36;break c}do if(f>>>0<2){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0;break}else{g=vx(b)|0;break}}while(0);f=f+1|0}while(f>>>0<3)}else k=36;while(0);d:do if((k|0)==36){switch(f|0){case 3:break d;case 0:break;default:{if(c[i>>2]|0)c[j>>2]=(c[j>>2]|0)+-1;c[858034]=22;tx(b);e=0.0;break b}}if((g|0)==48){f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=vx(b)|0;if((f|32|0)==120){e=+gy(b,h);break b}if(!(c[i>>2]|0))f=48;else{c[j>>2]=(c[j>>2]|0)+-1;f=48}}else f=g;e=+hy(b,f,h);break b}while(0);f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=vx(b)|0;if((f|0)!=40){if(!(c[i>>2]|0)){e=q;break b}c[j>>2]=(c[j>>2]|0)+-1;e=q;break b}f=1;while(1){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0}else g=vx(b)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;f=f+1|0}if((g|0)!=41){g=(c[i>>2]|0)==0;if(!g)c[j>>2]=(c[j>>2]|0)+-1;if(f){do{f=f+-1|0;if(!g)c[j>>2]=(c[j>>2]|0)+-1}while((f|0)!=0);e=q}else e=q}else e=q}}while(0);if((k|0)==20){g=(c[i>>2]|0)==0;if(!g)c[j>>2]=(c[j>>2]|0)+-1;if(f>>>0>3){do{if(!g)c[j>>2]=(c[j>>2]|0)+-1;f=f+-1|0}while(f>>>0>3);k=27}else k=27}if((k|0)==27)e=+(h|0)*r;return +e}function gy(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;w=a+4|0;g=c[w>>2]|0;y=a+100|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=vx(a)|0;i=0;a:while(1){switch(g|0){case 46:{z=10;break a}case 48:break;default:{n=0;k=i;j=0;i=0;break a}}g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=vx(a)|0;i=1}if((z|0)==10){g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=vx(a)|0;if((g|0)==48){j=0;i=0;do{g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=vx(a)|0;j=az(j|0,i|0,-1,-1)|0;i=x}while((g|0)==48);n=1;k=1}else{n=1;k=i;j=0;i=0}}m=0;l=1.0;e=0.0;t=0;q=n;r=k;k=0;s=0;while(1){o=g+-48|0;n=g|32;if(o>>>0>=10){p=(g|0)==46;if(!(p|(n+-97|0)>>>0<6))break;if(p)if(!q){q=1;h=l;n=t;p=r;j=s;i=k;o=s}else{g=46;break}else z=24}else z=24;if((z|0)==24){z=0;g=(g|0)>57?n+-87|0:o;do if(!((k|0)<0|(k|0)==0&s>>>0<8))if((k|0)<0|(k|0)==0&s>>>0<14){l=l*.0625;h=l;e=e+l*+(g|0);g=t;break}else{g=(m|0)!=0|(g|0)==0;m=g?m:1;h=l;e=g?e:e+l*.5;g=t;break}else{h=l;g=g+(t<<4)|0}while(0);o=az(s|0,k|0,1,0)|0;n=g;p=1;k=x}g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=vx(a)|0;l=h;t=n;r=p;s=o}do if(!r){if(c[y>>2]|0?(u=c[w>>2]|0,c[w>>2]=u+-2,q|0):0)c[w>>2]=u+-3;e=+(b|0)*0.0}else{m=(q|0)==0;n=m?s:j;m=m?k:i;if((k|0)<0|(k|0)==0&s>>>0<8){i=t;j=s;while(1){i=i<<4;u=j;j=az(j|0,k|0,1,0)|0;if(!((k|0)<0|(k|0)==0&u>>>0<7)){j=i;break}else k=x}}else j=t;if(!((g|32|0)==112?(v=iy(a)|0,f=x,!((v|0)==0&(f|0)==-2147483648)):0))if(!(c[y>>2]|0)){g=0;f=0}else{c[w>>2]=(c[w>>2]|0)+-1;g=0;f=0}else g=v;i=kz(n|0,m|0,2)|0;i=az(i|0,x|0,-32,-1)|0;i=az(i|0,x|0,g|0,f|0)|0;f=x;if(!j){e=+(b|0)*0.0;break}if((f|0)>0|(f|0)==0&i>>>0>1074){c[858034]=34;e=+(b|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}if((f|0)<-1|(f|0)==-1&i>>>0<4294966116){c[858034]=34;e=+(b|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((j|0)>-1){g=j;do{y=!(e>=.5);g=g<<1|(y^1)&1;e=e+(y?e:e+-1.0);i=az(i|0,f|0,-1,-1)|0;f=x}while((g|0)>-1);l=e;j=g}else l=e;g=az(i|0,f|0,1106,0)|0;y=x;do if((y|0)<0|(y|0)==0&g>>>0<53){if((g|0)>0)if((g|0)<53){f=g;g=84-g|0}else{f=g;z=60;break}else{f=0;g=84}e=+(b|0);h=+ky(+jy(1.0,g),e)}else{f=53;z=60}while(0);if((z|0)==60){h=0.0;e=+(b|0)}z=(j&1|0)==0&(l!=0.0&(f|0)<32);e=(z?0.0:l)*e+(h+e*+((j+(z&1)|0)>>>0))-h;if(!(e!=0.0))c[858034]=34;e=+my(e,i)}while(0);return +e}function hy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0.0;E=k;k=k+512|0;D=E;B=a+4|0;C=a+100|0;g=0;a:while(1){switch(b|0){case 46:{w=7;break a}case 48:break;default:{s=0;n=g;g=0;m=0;break a}}b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;g=1}if((w|0)==7){b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;if((b|0)==48){g=0;b=0;while(1){g=az(g|0,b|0,-1,-1)|0;m=x;b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;if((b|0)==48)b=m;else{s=1;n=1;break}}}else{s=1;n=g;g=0;m=0}}c[D>>2]=0;j=b+-48|0;i=(b|0)==46;b:do if(i|j>>>0<10){y=D+496|0;t=0;h=0;w=0;A=n;u=i;v=j;n=0;i=0;c:while(1){do if(u)if(!s){s=1;p=w;j=A;g=n;m=i}else break c;else{n=az(n|0,i|0,1,0)|0;i=x;p=(b|0)!=48;if((h|0)>=125){if(!p){p=w;j=A;break}c[y>>2]=c[y>>2]|1;p=w;j=A;break}j=D+(h<<2)|0;if(!t)b=v;else b=b+-48+((c[j>>2]|0)*10|0)|0;c[j>>2]=b;t=t+1|0;j=(t|0)==9;t=j?0:t;h=h+(j&1)|0;p=p?n:w;j=1}while(0);b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;v=b+-48|0;u=(b|0)==46;if(!(u|v>>>0<10)){w=31;break b}else{w=p;A=j}}b=t;p=w;j=(A|0)!=0;w=37}else{t=0;h=0;p=0;j=n;n=0;i=0;w=31}while(0);do if((w|0)==31){A=(s|0)==0;g=A?n:g;m=A?i:m;j=(j|0)!=0;if(!(j&(b|32|0)==101))if((b|0)>-1){b=t;w=37;break}else{b=t;w=39;break}j=iy(a)|0;b=x;if((j|0)==0&(b|0)==-2147483648)if(!(c[C>>2]|0)){j=0;b=0}else{c[B>>2]=(c[B>>2]|0)+-1;j=0;b=0}g=az(j|0,b|0,g|0,m|0)|0;b=t;m=x;w=41}while(0);if((w|0)==37)if(c[C>>2]|0){c[B>>2]=(c[B>>2]|0)+-1;if(j)w=41;else w=40}else w=39;if((w|0)==39)if(j)w=41;else w=40;do if((w|0)==40){c[858034]=22;tx(a);f=0.0}else if((w|0)==41){j=c[D>>2]|0;if(!j){f=+(e|0)*0.0;break}if(((i|0)<0|(i|0)==0&n>>>0<10)&((g|0)==(n|0)&(m|0)==(i|0))){f=+(e|0)*+(j>>>0);break}if((m|0)>0|(m|0)==0&g>>>0>537){c[858034]=34;f=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}if((m|0)<-1|(m|0)==-1&g>>>0<4294966116){c[858034]=34;f=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){j=D+(h<<2)|0;i=c[j>>2]|0;while(1){i=i*10|0;if((b|0)>=8)break;else b=b+1|0}c[j>>2]=i}h=h+1|0}if((p|0)<9?(p|0)<=(g|0)&(g|0)<18:0){if((g|0)==9){f=+(e|0)*+((c[D>>2]|0)>>>0);break}if((g|0)<9){f=+(e|0)*+((c[D>>2]|0)>>>0)/+(c[43344+(8-g<<2)>>2]|0);break}a=(M(g,-3)|0)+80|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){f=+(e|0)*+(b>>>0)*+(c[43344+(g+-10<<2)>>2]|0);break}}b=(g|0)%9|0;if(!b)i=0;else{p=(g|0)>-1?b:b+9|0;m=c[43344+(8-p<<2)>>2]|0;if(h){n=1e9/(m|0)|0;j=0;i=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(m>>>0)|0;C=C-(M(a,m)|0)|0;a=a+j|0;c[B>>2]=a;j=M(n,C)|0;a=(b|0)==(i|0)&(a|0)==0;g=a?g+-9|0:g;i=a?i+1&127:i;b=b+1|0}while((b|0)!=(h|0));if(!j)b=h;else{c[D+(h<<2)>>2]=j;b=h+1|0}}else{i=0;b=0}h=b;g=9-p+g|0}b=0;d:while(1){s=(g|0)<18;t=(g|0)==18;u=D+(i<<2)|0;while(1){if(!s){if(!t)break d;if((c[u>>2]|0)>>>0>=9007199){g=18;break d}}j=0;v=h;h=h+127|0;while(1){n=h&127;m=D+(n<<2)|0;h=kz(c[m>>2]|0,0,29)|0;h=az(h|0,x|0,j|0,0)|0;j=x;if(j>>>0>0|(j|0)==0&h>>>0>1e9){p=hz(h|0,j|0,1e9,0)|0;a=gz(p|0,x|0,-1e9,-1)|0;h=az(h|0,j|0,a|0,x|0)|0}else p=0;c[m>>2]=h;a=(n|0)==(i|0);m=(n|0)!=(v+127&127|0)|a?v:(h|0)==0?n:v;if(a)break;else{j=p;v=m;h=n+-1|0}}b=b+-29|0;if(!p)h=v;else break}i=i+127&127;h=m+127&127;j=D+((m+126&127)<<2)|0;if((i|0)==(m|0))c[j>>2]=c[j>>2]|c[D+(h<<2)>>2];else h=v;c[D+(i<<2)>>2]=p;g=g+9|0}e:while(1){t=h+1&127;u=D+((h+127&127)<<2)|0;while(1){n=(g|0)==18;s=(g|0)>27?9:1;v=i;while(1){m=0;while(1){i=m+v&127;if((i|0)==(h|0)){w=89;break}i=c[D+(i<<2)>>2]|0;j=c[45084+(m<<2)>>2]|0;if(i>>>0>>0){w=89;break}if(i>>>0>j>>>0)break;if((m+1|0)>>>0<2)m=1;else{w=89;break}}if((w|0)==89?(w=0,n):0)break e;b=s+b|0;if((v|0)==(h|0))v=h;else break}n=(1<>>s;m=0;i=v;j=v;do{B=D+(j<<2)|0;C=c[B>>2]|0;a=(C>>>s)+m|0;c[B>>2]=a;m=M(C&n,p)|0;a=(j|0)==(i|0)&(a|0)==0;g=a?g+-9|0:g;i=a?i+1&127:i;j=j+1&127}while((j|0)!=(h|0));if(m|0){if((t|0)!=(i|0))break;c[u>>2]=c[u>>2]|1}}c[D+(h<<2)>>2]=m;h=t}f=0.0;g=h;i=0;do{j=i+v&127;h=g+1&127;if((j|0)==(g|0)){c[D+(h+-1<<2)>>2]=0;g=h}f=f*1.0e9+ +((c[D+(j<<2)>>2]|0)>>>0);i=i+1|0}while((i|0)!=2);q=+(e|0);l=f*q;i=b+53|0;m=b+1127|0;n=(b|0)<-1074;j=n?((m|0)>0?m:0):53;if((j|0)<53){F=+ky(+jy(1.0,105-j|0),l);o=+ly(l,+jy(1.0,53-j|0));r=F;f=o;o=F+(l-o)}else{r=0.0;f=0.0;o=l}h=v+2&127;if((h|0)!=(g|0)){h=c[D+(h<<2)>>2]|0;do if(h>>>0>=5e8){if((h|0)!=5e8){f=q*.75+f;break}if((v+3&127|0)==(g|0)){f=q*.5+f;break}else{f=q*.75+f;break}}else{if((h|0)==0?(v+3&127|0)==(g|0):0)break;f=q*.25+f}while(0);if((53-j|0)>1?!(+ly(f,1.0)!=0.0):0)l=f+1.0;else l=f}else l=f;f=o+l-r;do if((i&2147483644)>>>0>1019){D=!(+z(+f)>=9007199254740992.0);b=b+((D^1)&1)|0;f=D?f:f*.5;if((b|0)<=971?!(l!=0.0&(n&((j|0)!=(m|0)|D))):0)break;c[858034]=34}while(0);f=+my(f,b)}while(0);k=E;return +f}function iy(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;b=c[i>>2]|0;j=a+100|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;switch(b|0){case 43:case 45:{e=(b|0)==45&1;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=vx(a)|0;if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=14}else f=12;break}default:if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else f=14;else{e=0;f=12}}if((f|0)==12){h=0;while(1){h=b+-48+(h*10|0)|0;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;f=d[b>>0]|0}else f=vx(a)|0;g=(f+-48|0)>>>0<10;if(!(g&(h|0)<214748364))break;else b=f}b=((h|0)<0)<<31>>31;if(g){do{k=gz(h|0,b|0,10,0)|0;g=x;f=az(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;h=az(f|0,x|0,k|0,g|0)|0;b=x;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[i>>2]=f+1;f=d[f>>0]|0}else f=vx(a)|0;g=(f+-48|0)>>>0<10}while(g&((b|0)<21474836|(b|0)==21474836&h>>>0<2061584302));if(g){do{f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[i>>2]=f+1;f=d[f>>0]|0}else f=vx(a)|0}while((f+-48|0)>>>0<10);f=h}else f=h}else f=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(e|0)==0;k=bz(0,0,f|0,b|0)|0;e=j?b:x;b=j?f:k}else if((f|0)==14){c[i>>2]=(c[i>>2]|0)+-1;e=-2147483648;b=0}x=e;return b|0}function jy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=kz(b+1023|0,0,52)|0;e=x;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function ky(a,b){a=+a;b=+b;return +(+Dx(a,b))}function ly(a,b){a=+a;b=+b;return +(+ny(a,b))}function my(a,b){a=+a;b=b|0;return +(+jy(a,b))}function ny(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=jz(i|0,l|0,52)|0;e=e&2047;m=jz(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=kz(n|0,o|0,1)|0;k=x;a:do if(!((g|0)==0&(k|0)==0)?(f=oy(b)|0,d=x&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=kz(i|0,l|0,1)|0;f=x;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=kz(i|0,l|0,12)|0;f=x;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=kz(d|0,f|0,1)|0;f=x}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=kz(i|0,l|0,1-e|0)|0;g=x}else g=l&1048575|1048576;if(!m){f=kz(n|0,o|0,12)|0;k=x;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=kz(f|0,k|0,1)|0;k=x}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=kz(n|0,o|0,1-d|0)|0;m=d;l=x}else l=o&1048575|1048576;f=bz(i|0,g|0,n|0,l|0)|0;d=x;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=kz(f|0,d|0,1)|0;g=x;e=e+-1|0;f=bz(i|0,g|0,n|0,l|0)|0;d=x;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=kz(f|0,d|0,1)|0;d=x;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=az(f|0,d|0,0,-1048576)|0;d=x;e=kz(e|0,0,52)|0;d=d|x;e=o|e}else{e=jz(f|0,d|0,1-e|0)|0;d=x}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function oy(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;x=c[j+4>>2]|0;return b|0}function py(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function qy(b,c){b=b|0;c=c|0;b=ry(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(py(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=M(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function sy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=k;k=k+16|0;g=f;c[g>>2]=e;Gx(a,b,d,g);k=f;return}function ty(a,b){a=a|0;b=b|0;uy(a,b);return a|0}function uy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=d;a:do if(!((f^b)&3)){if(!(f&3))e=d;else while(1){f=a[d>>0]|0;a[b>>0]=f;if(!(f<<24>>24))break a;d=d+1|0;b=b+1|0;if(!(d&3)){e=d;break}}d=c[e>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))while(1){e=e+4|0;f=b+4|0;c[b>>2]=d;d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){b=f;break}else b=f}g=b;h=10}else{e=d;g=b;h=10}while(0);if((h|0)==10?(h=a[e>>0]|0,a[g>>0]=h,h<<24>>24):0){b=g;do{e=e+1|0;b=b+1|0;h=a[e>>0]|0;a[b>>0]=h}while(h<<24>>24!=0)}return}function vy(a){a=a|0;return +(+jy(1.0,a))}function wy(a){a=a|0;var b=0;b=py(a)|0;return ((xy(a,1,b,44588)|0)!=(b|0))<<31>>31|0}function xy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M(c,b)|0;a=cy(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function yy(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;c[((a|0)==0?45072:a+116|0)>>2]=b}return}function zy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k;k=k+16|0;j=m;l=e&255;a[j>>0]=l;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(dy(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=l;break}if((va[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);k=m;return f|0}function Ay(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=k;k=k+48|0;h=i+32|0;g=i+16|0;e=i;if(qy(47468,a[d>>0]|0)|0){f=By(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=nx(ga(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;fa(221,g|0)|0}b=Cy(e,d)|0;if(!b){c[h>>2]=e;ia(6,h|0)|0;b=0}}else b=0}else{c[858034]=22;b=0}k=i;return b|0}function By(b){b=b|0;var c=0,d=0,e=0;d=(qy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(qy(b,120)|0)==0;d=e?d:d|128;b=(qy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function Cy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=k;k=k+64|0;j=l+40|0;h=l+24|0;g=l+16|0;f=l;i=l+56|0;if(qy(47468,a[d>>0]|0)|0){e=ex(1156)|0;if(!e)e=0;else{nz(e|0,0,124)|0;if(!(qy(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(qy(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;fa(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=fa(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;fa(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(ha(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=6;c[e+36>>2]=1;c[e+40>>2]=2;c[e+12>>2]=4;if(!(c[858019]|0))c[e+76>>2]=-1;Dy(e)|0}}else{c[858034]=22;e=0}k=l;return e|0}function Dy(a){a=a|0;var b=0;Ey();b=c[858037]|0;c[a+56>>2]=b;if(b|0)c[b+52>>2]=a;c[858037]=a;Fy();return a|0}function Ey(){aa(3432140);return}function Fy(){ja(3432140);return}function Gy(a){a=a|0;var b=0,d=0,e=0;yy(a);e=(c[a>>2]&1|0)!=0;if(!e){Ey();d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[858037]|0)==(a|0))c[858037]=b;Fy()}b=Hy(a)|0;b=ta[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)fx(d);if(!e)fx(a);return b|0}function Hy(a){a=a|0;var b=0;if(!a){if(!(c[11178]|0))a=0;else a=Hy(c[11178]|0)|0;Ey();b=c[858037]|0;if(b)do{if((c[b+20>>2]|0)>>>0>(c[b+28>>2]|0)>>>0)a=Iy(b)|0|a;b=c[b+56>>2]|0}while((b|0)!=0);Fy()}else a=Iy(a)|0;return a|0}function Iy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(va[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)va[c[a+40>>2]&7](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=e+4|0;k=e+8|0;i=63;f=b;while(1){g=c[j>>2]|0;m=g;n=(c[k>>2]|0)-m|0;l=Rx(g,10,n)|0;h=(l|0)==0;l=h?n:1-m+l|0;l=l>>>0>>0?l:i;mz(f|0,g|0,l|0)|0;g=(c[j>>2]|0)+l|0;c[j>>2]=g;f=f+l|0;i=i-l|0;if(!(h&(i|0)!=0)){g=9;break}if(g>>>0>=(c[k>>2]|0)>>>0){g=xx(e)|0;if((g|0)<0){g=6;break}}else{c[j>>2]=g+1;g=d[g>>0]|0}h=f+1|0;a[f>>0]=g;i=i+-1|0;if((g&255|0)==10|(i|0)==0){f=h;g=9;break}else f=h}if((g|0)==6)if((f|0)!=(b|0)?(c[e>>2]&16|0)!=0:0)g=9;else b=0;if((g|0)==9)if(!b)b=0;else a[f>>0]=0;return b|0}function Ky(a){a=a|0;return (c[a>>2]|0)>>>4&1|0}function Ly(a){a=a|0;return (c[a>>2]|0)>>>5&1|0}function My(a,b,c){a=a|0;b=b|0;c=c|0;return Oy(a,b,c)|0}function Ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=k;k=k+16|0;f=e;c[f>>2]=d;Hx(a,b,f)|0;k=e;return}function Oy(a,b,c){a=a|0;b=b|0;c=c|0;return Py(a,b,c)|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(va[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((va[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Qy(){var a=0,b=0,d=0;b=3430896;b=gz(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=az(b|0,x|0,1,0)|0;a=x;d=3430896;c[d>>2]=b;c[d+4>>2]=a;a=jz(b|0,a|0,33)|0;return a|0}function Ry(a){a=a|0;return Sy(a)|0}function Sy(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=va[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function Ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;do if((c[d+76>>2]|0)>=0?(Jx()|0)!=0:0){e=b&255;if((b&255|0)!=(a[d+75>>0]|0)?(h=d+20|0,i=c[h>>2]|0,i>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=i+1;a[i>>0]=e;break}zy(d,b)|0}else j=3;while(0);do if((j|0)==3){e=b&255;if((b&255|0)!=(a[d+75>>0]|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=e;break}zy(d,b)|0}while(0);return}function Uy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=M(e,d)|0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;mz(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=j-i|0;b=b+i|0}else g=j;a:do if(g){i=f+32|0;while(1){if(yx(f)|0)break;h=va[c[i>>2]&7](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g)break a;else b=b+h|0}e=((j-g|0)>>>0)/(d>>>0)|0}while(0);return e|0}function Vy(a){a=a|0;return Ry(a)|0}function Wy(a,b){a=a|0;b=b|0;var d=0,e=0;d=k;k=k+16|0;e=d;c[e>>2]=b;Hx(44588,a,e)|0;k=d;return}function Xy(b){b=b|0;var d=0;do if((wy(b)|0)>=0){if((a[44663]|0)!=10?(d=c[11152]|0,d>>>0<(c[11151]|0)>>>0):0){c[11152]=d+1;a[d>>0]=10;break}zy(44588,10)|0}while(0);return}function Yy(a){a=a|0;return +(+Zy(a))}function Zy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=k;k=k+128|0;b=e;d=b;f=d+124|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));c[b+4>>2]=a;c[b+8>>2]=-1;c[b+44>>2]=a;c[b+76>>2]=-1;tx(b);g=+fy(b);k=e;return +g}function _y(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=44424;b=2;while(1){d=c[a>>2]|0;e=c[f>>2]|0;if((e|0)==0|((d|0)==0|(d|0)!=(e|0))){g=4;break}b=b+-1|0;if(!b){a=0;break}else{f=f+4|0;a=a+4|0}}if((g|0)==4)a=d-e|0;return a|0}function $y(){}function az(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (x=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (x=d,a-c>>>0|0)|0}function cz(a){a=a|0;return (a?31-(P(a^a-1)|0)|0:32)|0}function dz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (x=n,f)|0}else{if(!g){n=0;f=0;return (x=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (x=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(P(i|0)|0)-(P(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (x=n,f)|0}g=h-1|0;if(g&h|0){i=(P(h|0)|0)+33-(P(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (x=o,p)|0}else{p=cz(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (x=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (x=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (x=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((cz(i|0)|0)>>>0);return (x=o,p)|0}g=(P(i|0)|0)-(P(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (x=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=az(m|0,l|0,-1,-1)|0;d=x;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;bz(k|0,d|0,e|0,n|0)|0;p=x;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=bz(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=x;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (x=o,p)|0}function ez(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;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=bz(j^a|0,i^b|0,j|0,i|0)|0;g=x;a=f^j;b=e^i;return bz((dz(h,g,bz(f^c|0,e^d|0,f|0,e|0)|0,x,0)|0)^a|0,x^b|0,a|0,b|0)|0}function fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=M(e,f)|0;d=a>>>16;a=(c>>>16)+(M(e,d)|0)|0;e=b>>>16;b=M(e,f)|0;return (x=(a>>>16)+(M(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function gz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=fz(e,f)|0;a=x;return (x=(M(b,f)|0)+(M(d,e)|0)+a|a&0,c|0|0)|0}function hz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dz(a,b,c,d,0)|0}function iz(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b>>c;return a>>>c|(b&(1<>c-32|0}function jz(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b>>>c;return a>>>c|(b&(1<>>c-32|0}function kz(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b<>>32-c;return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function mz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ka(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function nz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function oz(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){U()|0;ba(12);return -1}c[i>>2]=b;if((b|0)>(T()|0)?(S()|0)==0:0){c[i>>2]=d;ba(12);return -1}return d|0}function pz(a,b){a=a|0;b=b|0;return ta[a&7](b|0)|0}function qz(a,b,c){a=a|0;b=b|0;c=c|0;return ua[a&3](b|0,c|0)|0}function rz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return va[a&7](b|0,c|0,d|0)|0}function sz(a,b){a=a|0;b=b|0;wa[a&31](b|0)}function tz(a,b,c){a=a|0;b=b|0;c=c|0;xa[a&31](b|0,c|0)}function uz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya[a&63](b|0,c|0,d|0)}function vz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;za[a&63](b|0,c|0,d|0,e|0)}function wz(a){a=a|0;Q(0);return 0}function xz(a,b){a=a|0;b=b|0;Q(1);return 0}function yz(a,b,c){a=a|0;b=b|0;c=c|0;Q(2);return 0}function zz(a){a=a|0;Q(3)}function Az(a,b){a=a|0;b=b|0;Q(4)}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;Q(5)}function Cz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q(6)} +function Zr(b){b=b|0;var d=0,e=0,f=0,g=0;e=b&255;f=1421632+(e<<4)|0;switch(a[3416891]|0){case 1:{lr(c[f>>2]|0);break}case 0:{Hr(c[f>>2]|0);_r(c[1421632+(e<<4)+4>>2]|0);break}default:{}}g=1421632+(e<<4)+8|0;b=c[g>>2]|0;if(b|0)$r(b);b=1421632+(e<<4)+12|0;d=c[b>>2]|0;if(!d){c[f>>2]=0;f=1421632+(e<<4)+4|0;c[f>>2]=0;c[g>>2]=0;return}Iy(d);c[b>>2]=0;c[f>>2]=0;f=1421632+(e<<4)+4|0;c[f>>2]=0;c[g>>2]=0;return}function _r(a){a=a|0;Iy(a);return}function $r(a){a=a|0;Iy(a);return}function as(b){b=b|0;var d=0;b=b&255;d=1421632+(b<<4)|0;switch(a[3416891]|0){case 1:{mr(c[d>>2]|0);break}case 0:{bs(c[d>>2]|0);cs(c[1421632+(b<<4)+4>>2]|0);break}default:{}}b=c[1421632+(b<<4)+8>>2]|0;if(!b)return;Sr(b);return}function bs(a){a=a|0;var b=0;c[a+36>>2]=0;c[a+16>>2]=0;c[a+224>>2]=0;c[a+228>>2]=0;c[a+232>>2]=0;c[a+288>>2]=1;c[a+292>>2]=1;b=a+320|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;es(a,16384,0);es(a,16385,0);es(a,16386,0);es(a,16387,0);es(a,16388,0);es(a,16389,0);es(a,16390,0);es(a,16391,0);es(a,16405,0);if(c[a>>2]|0)es(a,16405,15);b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;Yr(a,+h[a+80>>3]);return}function cs(d){d=d|0;var e=0,f=0.0,g=0;c[d+262176>>2]=0;Qr(d);e=d+262296|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d+262312>>2]=4;c[d+262316>>2]=428;c[d+262356>>2]=0;c[d+262368>>2]=0;c[d+262372>>2]=0;c[d+262324>>2]=0;c[d+262360>>2]=0;a[d+262396>>0]=0;a[d+262397>>0]=0;c[d+262380>>2]=0;c[d+262392>>2]=4;c[d+262388>>2]=0;ds(d,16392,0);ds(d,16393,0);ds(d,16394,0);ds(d,16395,0);ds(d,16396,0);ds(d,16397,0);ds(d,16398,0);ds(d,16399,0);ds(d,16400,0);ds(d,16401,0);ds(d,16402,0);ds(d,16403,0);ds(d,16404,0);ds(d,16405,0);ds(d,16406,0);ds(d,16407,0);a[d+262292>>0]=0;ds(d,16405,0);if(c[d+262144>>2]|0)ds(d,16405,15);c[d+262240>>2]=0;c[d+262236>>2]=0;c[d+262232>>2]=0;c[d+262320>>2]=0;b[d+262256>>1]=0;a[d+262264>>0]=0;c[d+262268>>2]=0;c[d+262272>>2]=0;c[d+262260>>2]=0;c[d+262252>>2]=256;c[d+262224>>2]=0;a[d+262293>>0]=0;c[d+262248>>2]=0;c[d+262220>>2]=0;c[d+262244>>2]=0;e=d+262340|0;c[e>>2]=1;c[d+262344>>2]=2;if(!(c[d+262164>>2]|0)){e=d+262280|0;e=c[e>>2]|0;f=+(e>>>0);Vr(d,f);return}g=rA()|0;c[e>>2]=c[e>>2]|g;e=d+262280|0;e=c[e>>2]|0;f=+(e>>>0);Vr(d,f);return}function ds(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;switch(f|0){case 16405:{i=g>>>2&1;a[e+262364>>0]=i;h=g>>>3&1;a[e+262365>>0]=h;if(!(i<<24>>24))c[e+262368>>2]=0;if(!(h<<24>>24))c[e+262372>>2]=0;h=e+262293|0;if(g&16){if(!(a[h>>0]|0)){a[h>>0]=1;a[e+262366>>0]=1;c[e+262244>>2]=c[e+262224>>2]<<6|49152;c[e+262248>>2]=c[e+262220>>2]<<4|1;a[e+262292>>0]=0}}else{a[h>>0]=0;a[e+262366>>0]=0}a[e+262217>>0]=g;return}case 16407:{i=g>>>6&1;a[e+262397>>0]=i;h=e+262396|0;if(!i)f=0;else f=a[h>>0]|0;a[h>>0]=f;c[e+262380>>2]=0;h=e+262392|0;if(!(g&128)){c[h>>2]=4;c[e+262388>>2]=1;return}else{c[h>>2]=5;g=e+262388|0;c[g>>2]=0;zr(e,0);c[g>>2]=(c[g>>2]|0)+1;return}}default:{h=f+-16392|0;if(h>>>0>11)return;i=g&255;a[e+262204+h>>0]=g;do switch(f|0){case 16392:{a[e+262333>>0]=g>>>7&1;c[e+262328>>2]=g&127;return}case 16403:{c[e+262220>>2]=i;return}case 16394:{h=e+262320|0;f=c[h>>2]&1792|g;c[h>>2]=f;h=e+262296|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16395:{f=e+262320|0;h=c[f>>2]&255|g<<8&1792;c[f>>2]=h;f=e+262296|0;if((c[f>>2]|0)>>>0>h>>>0)c[f>>2]=h;a[e+262332>>0]=1;if(!(a[e+262364>>0]|0))return;c[e+262368>>2]=d[35424+(g>>>3&31)>>0];return}case 16396:{i=g&15;c[e+262336>>2]=i;c[e+262352>>2]=i;a[e+262349>>0]=g>>>4&1;a[e+262348>>0]=g>>>5&1;return}case 16402:{c[e+262224>>2]=i;return}case 16398:{if(!(c[e+262156>>2]|0))h=2;else h=(g&128|0)==0?2:64;c[e+262344>>2]=h;f=c[35168+(c[e+262284>>2]<<6)+((g&15)<<2)>>2]|0;c[e+262312>>2]=f;h=e+262300|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16399:{if(a[e+262365>>0]|0)c[e+262372>>2]=d[35424+(g>>>3&31)>>0];a[e+262350>>0]=1;return}case 16400:{c[e+262288>>2]=g>>>6&3;f=c[35296+(c[e+262284>>2]<<6)+((g&15)<<2)>>2]|0;c[e+262316>>2]=f;h=e+262304|0;if((c[h>>2]|0)>>>0<=f>>>0)return;c[h>>2]=f;return}case 16401:{if(!(c[e+262152>>2]|0))return;b[e+262256>>1]=g>>>1&63;c[e+262260>>2]=g&1;a[e+262264>>0]=1;return}default:return}while(0)}}}function es(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((e&-8|0)!=16384){if((e|0)!=16405)return;i=f&1;a[b+344>>0]=i;e=f>>>1&1;a[b+345>>0]=e;if(!(i<<24>>24))c[b+336>>2]=0;if(!(e<<24>>24))c[b+340>>2]=0;a[b+61>>0]=f;return}i=e&15;h=i>>>2;a:do switch(e&15){case 4:case 0:{g=f&15;c[b+248+(h<<2)>>2]=g;a[b+304+h>>0]=f>>>4&1;a[b+306+h>>0]=f>>>5&1;c[b+312+(h<<2)>>2]=g;g=f>>>6;e=b+240+(h<<2)|0;c[e>>2]=g&3;if(c[b+12>>2]|0)switch(g&3){case 1:{c[e>>2]=2;break a}case 2:{c[e>>2]=1;break a}default:break a}break}case 5:case 1:{a[b+272+h>>0]=f>>>7&1;c[b+280+(h<<2)>>2]=f>>>4&7;a[b+274+h>>0]=f>>>3&1;c[b+296+(h<<2)>>2]=f&7;a[b+276+h>>0]=1;Br(b,h);break}case 6:case 2:{g=b+256+(h<<2)|0;c[g>>2]=c[g>>2]&1792|f;Br(b,h);e=b+224+(h<<2)|0;g=c[g>>2]|0;if((c[e>>2]|0)>(g|0))c[e>>2]=g;break}case 7:case 3:{e=b+256+(h<<2)|0;c[e>>2]=c[e>>2]&255|f<<8&1792;if(c[b+8>>2]|0)c[b+232+(h<<2)>>2]=0;a[b+308+h>>0]=1;if(a[b+344+h>>0]|0)c[b+336+(h<<2)>>2]=d[35424+(f>>>3&31)>>0];Br(b,h);g=b+224+(h<<2)|0;e=c[e>>2]|0;if((c[g>>2]|0)>(e|0))c[g>>2]=e;break}default:return}while(0);a[b+40+i>>0]=f;return}function fs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;f=1421632+(b<<4)|0;switch(d>>>5&7){case 0:switch(a[3416891]|0){case 1:{Zq(c[f>>2]|0,d,e);return}case 0:{d=d|16384;e=e&255;es(c[f>>2]|0,d,e);ds(c[1421632+(b<<4)+4>>2]|0,d,e);return}default:return}case 1:{b=c[1421632+(b<<4)+8>>2]|0;if(!b)return;if((d|0)==63){Tr(b,16419,e&255);return}else{Tr(b,d&31|16512,e&255);return}}case 3:case 2:{b=c[1421632+(b<<4)+8>>2]|0;if(!b)return;Tr(b,d|16384,e&255);return}default:return}}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a&255;if(b>>>0>65535)return;do if(b>>>0<32768)if((d+b|0)>>>0<32769)return;else{a=32768-b|0;b=32768;f=e+a|0;a=d-a|0;break}else{f=e;a=d}while(0);h=(b+a|0)>>>0>65536;e=65536-b|0;d=a-e|0;e=h?e:a;a=c[1421632+(g<<4)+12>>2]|0;PA(a+(b+-32768)|0,f|0,e|0)|0;if((d|0)==0|h^1)return;PA(a|0,f+e|0,(d>>>0<32768?d:32768)|0)|0;return}function hs(b){b=b|0;a[3416891]=(b&255)<2?b:0;return}function is(a){a=a|0;b[24702]=a;return}function js(b,d){b=b|0;d=d|0;var e=0;b=b&255;e=1421632+(b<<4)|0;switch(a[3416891]|0){case 1:{or(c[e>>2]|0,d);break}case 0:{ks(c[e>>2]|0,d&3);ls(c[1421632+(b<<4)+4>>2]|0,d>>>2&7);break}default:{}}b=c[1421632+(b<<4)+8>>2]|0;if(!b)return;ms(b,d>>>5&1);return}function ks(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function ls(a,b){a=a|0;b=b|0;c[a+262176>>2]=b;return}function ms(a,b){a=a|0;b=b|0;c[a+16>>2]=b&1;return}function ns(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b&255;s=1421664+(r<<6)|0;g=c[e>>2]|0;e=c[e+4>>2]|0;if(!(a[s>>0]&2)){if(!f)return;b=f;while(1){b=b+-1|0;c[g>>2]=0;c[e>>2]=0;if(!b)break;else{e=e+4|0;g=g+4|0}}return}q=1421664+(r<<6)+14|0;b=d[q>>0]|0;if(f){k=1421664+(r<<6)+30|0;l=1421664+(r<<6)+29|0;m=1421664+(r<<6)+13|0;n=1421664+(r<<6)+32|0;o=1421664+(r<<6)+31|0;p=1421664+(r<<6)+36|0;j=f;while(1){f=a[k>>0]|0;do if(b)if((f&255)<2){f=a[m>>0]|0;i=13}else{h=f;f=f&255;i=14}else{if(!(f<<24>>24)){i=a[l>>0]|0;f=a[((i&255)>>>4)+(1421664+(r<<6)+20)>>0]|0;a[m>>0]=f;i=i+16&127;a[l>>0]=i;i=i&255;if((i>>>4|0)!=(i&15|0)){i=13;break}a[k>>0]=1;i=13;break}if(f<<24>>24>-1){f=f+1<<24>>24;a[k>>0]=f}h=f;f=f&255;i=14}while(0);if((i|0)==13){f=(os(s,(f&255)>>>b&15)|0)<<16>>16;c[n>>2]=f}else if((i|0)==14){if(h<<24>>24==2)f=c[n>>2]|0;else{a[k>>0]=f+255;f=((c[p>>2]|0)*15|0)/16|0;c[p>>2]=f;f=f<<4;c[n>>2]=f}f=f<<16>>16}b=b^4;c[g>>2]=(a[o>>0]&2)==0?f:0;c[e>>2]=(a[o>>0]&1)==0?f:0;j=j+-1|0;if(!j)break;else{e=e+4|0;g=g+4|0}}}a[q>>0]=b;return}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;d=0-e|0;i=a+40|0;g=c[i>>2]|0;f=b&255;a=a+36|0;b=((c[a>>2]|0)*245|0)+(c[1421792+((g<<4|f&15)<<2)>>2]<<8)>>8;c[a>>2]=b;if((b|0)<(e|0)){if((b|0)<(d|0))h=4}else{d=e+-1|0;h=4}if((h|0)==4){c[a>>2]=d;b=d}d=(c[35728+((f&7)<<2)>>2]|0)+g|0;c[i>>2]=d;if((d|0)<=48)if((d|0)<0)d=0;else{i=b<<4;i=i&65535;return i|0}else d=48;c[i>>2]=d;i=b<<4;i=i&65535;return i|0}function ps(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((b&255)>1){e=0;return e|0}h=b&255;qs();c[1421664+(h<<6)+48>>2]=d;a[1421664+(h<<6)+52>>0]=e;c[1421664+(h<<6)+4>>2]=d;a[1421664+(h<<6)+12>>0]=f;a[1421664+(h<<6)+44>>0]=d;a[1421664+(h<<6)+45>>0]=d>>>8;a[1421664+(h<<6)+46>>0]=d>>>16;a[1421664+(h<<6)+47>>0]=d>>>24;c[1421664+(h<<6)+56>>2]=0;b=(g|0)==0?10:12;a[1421664+(h<<6)+15>>0]=b;if(!(a[3416892]|0))b=2048;else b=1<<(b&255)+-1;c[1421664+(h<<6)+16>>2]=b;e=c[35456+(e<<2)>>2]|0;c[1421664+(h<<6)+8>>2]=e;c[1421664+(h<<6)+36>>2]=-2;c[1421664+(h<<6)+40>>2]=0;e=rs(d,e)|0;return e|0}function qs(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(c[853949]|0)return;b=0;do{e=~~+y(+(+B(1.1,+(+(b|0)))*16.0));f=(e|0)/2|0;g=(e|0)/4|0;h=(e|0)/8|0;d=b<<4;a=0;do{j=M(c[35472+(a<<4)+4>>2]|0,e)|0;i=M(c[35472+(a<<4)+8>>2]|0,f)|0;c[1421792+(a+d<<2)>>2]=M(j+h+i+(M(c[35472+(a<<4)+12>>2]|0,g)|0)|0,c[35472+(a<<4)>>2]|0)|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);c[853949]=1;return}function rs(a,b){a=a|0;b=b|0;return (((b>>>1)+a|0)>>>0)/(b>>>0)|0|0}function ss(b){b=b|0;var e=0,f=0,g=0,h=0;b=b&255;g=c[1421664+(b<<6)+48>>2]|0;c[1421664+(b<<6)+4>>2]=g;a[1421664+(b<<6)+44>>0]=g;a[1421664+(b<<6)+45>>0]=g>>>8;a[1421664+(b<<6)+46>>0]=g>>>16;a[1421664+(b<<6)+47>>0]=g>>>24;e=c[35456+((d[1421664+(b<<6)+52>>0]|0)<<2)>>2]|0;c[1421664+(b<<6)+8>>2]=e;f=c[1421664+(b<<6)+56>>2]|0;if(f|0){h=c[1421664+(b<<6)+60>>2]|0;g=rs(g,e)|0;xa[f&31](h,g)}c[1421664+(b<<6)+36>>2]=-2;c[1421664+(b<<6)+40>>2]=0;a[1421664+(b<<6)>>0]=0;a[1421664+(b<<6)+13>>0]=0;a[1421664+(b<<6)+21>>0]=0;a[1421664+(b<<6)+20>>0]=0;a[1421664+(b<<6)+29>>0]=0;a[1421664+(b<<6)+30>>0]=-1;a[1421664+(b<<6)+31>>0]=0;return}function ts(a,b){a=a|0;b=b|0;var d=0,e=0;d=a&255;a=c[35456+(b<<2)>>2]|0;c[1421664+(d<<6)+8>>2]=a;b=c[1421664+(d<<6)+56>>2]|0;if(!b)return;e=c[1421664+(d<<6)+60>>2]|0;d=rs(c[1421664+(d<<6)+4>>2]|0,a)|0;xa[b&31](e,d);return}function us(a){a=a|0;var b=0,e=0,f=0;a=a&255;b=(d[1421664+(a<<6)+45>>0]|0)<<8|(d[1421664+(a<<6)+44>>0]|0)|(d[1421664+(a<<6)+46>>0]|0)<<16|(d[1421664+(a<<6)+47>>0]|0)<<24;c[1421664+(a<<6)+4>>2]=b;e=c[1421664+(a<<6)+56>>2]|0;if(!e)return;f=c[1421664+(a<<6)+60>>2]|0;b=rs(b,c[1421664+(a<<6)+8>>2]|0)|0;xa[e&31](f,b);return}function vs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=b&255;switch(b<<24>>24){case 0:{ws(a,c);return}case 1:{xs(a,c);return}case 2:{ys(a,c);return}case 10:case 9:case 8:{zs(a,d&3,c);return}case 11:{zs(a,d&3,c);us(a);return}case 12:{ts(a,c&255);return}default:return}}function ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b&255;g=1421664+(f<<6)|0;h=d&255;if(h&1|0){a[g>>0]=a[g>>0]&-7;return}b=a[g>>0]|0;e=b&255;if(!(h&2)){b=e&253;a[g>>0]=b}else{if(!(e&2)){b=(e|2)&255;a[g>>0]=b;c[1421664+(f<<6)+36>>2]=-2;e=1421664+(f<<6)+40|0;c[e>>2]=0;i=1421664+(f<<6)+14|0;a[i>>0]=0;a[1421664+(f<<6)+20>>0]=d;a[1421664+(f<<6)+29>>0]=1;a[1421664+(f<<6)+30>>0]=0;d=i}else{d=1421664+(f<<6)+14|0;e=1421664+(f<<6)+40|0}c[e>>2]=0;a[d>>0]=0}i=b&255;a[g>>0]=(h&4|0)==0?i&251:i|4;return}function xs(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;b=b&255;e=1421664+(b<<6)+30|0;f=1421664+(b<<6)+29|0;if((d[e>>0]|0)>1){a[f>>0]=0;g=0}else g=a[f>>0]&15;a[1421664+(b<<6)+28>>0]=c;a[(g&255)+(1421664+(b<<6)+20)>>0]=c;g=a[f>>0]|0;c=g+1<<24>>24&-9;b=c&255;a[f>>0]=(b>>>4|0)==(b&7|0)?(b&240|g&7)&255:c;a[e>>0]=0;return}function ys(b,c){b=b|0;c=c|0;a[1421664+((b&255)<<6)+31>>0]=c;return}function zs(b,c,d){b=b|0;c=c|0;d=d|0;a[(c&255)+(1421664+((b&255)<<6)+44)>>0]=d;return}function As(b){b=b|0;a[3416892]=b&1;return}function Bs(a,b){a=a|0;b=b|0;a=a&255;c[1421664+(a<<6)+56>>2]=5;c[1421664+(a<<6)+60>>2]=b;return}function Cs(a){a=a|0;if(!(c[853950]|0))Ds();c[a>>2]=-2;c[a+4>>2]=0;return}function Ds(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=0;do{d=~~+y(+(+B(1.1,+(+(b|0)))*16.0));e=(d|0)/2|0;f=(d|0)/4|0;g=(d|0)/8|0;h=b<<4;a=0;do{j=M(c[35472+(a<<4)+4>>2]|0,d)|0;i=M(c[35472+(a<<4)+8>>2]|0,e)|0;c[1424928+(a+h<<2)>>2]=M(j+g+i+(M(c[35472+(a<<4)+12>>2]|0,f)|0)|0,c[35472+(a<<4)>>2]|0)|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);c[853950]=1;return}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;e=c[g>>2]|0;d=b&255;b=(c[a>>2]|0)+(c[1424928+((e<<4|d&15)<<2)>>2]|0)|0;c[a>>2]=b;if((b|0)<=2047)if((b|0)<-2048){b=-2048;f=3}else a=b;else{b=2047;f=3}if((f|0)==3){c[a>>2]=b;a=b}b=(c[35728+((d&7)<<2)>>2]|0)+e|0;c[g>>2]=b;if((b|0)<=48)if((b|0)<0)b=0;else{g=a&65535;return g|0}else b=48;c[g>>2]=b;g=a&65535;return g|0}function Fs(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+32|0;q=r;m=d&255;o=1428064+(m*168|0)|0;p=f<<2;QA(c[e>>2]|0,0,p|0)|0;n=(f|0)==0;l=1428064+(m*168|0)|0;if((a[1428064+(m*168|0)+28>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{j=(i|0)<16?i:16;Gs(o,l,q,j);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(j|0)){d=g;break}else d=g}}i=i-j|0}while((i|0)!=0)}j=1428064+(m*168|0)+32|0;if((a[1428064+(m*168|0)+60>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{l=(i|0)<16?i:16;Gs(o,j,q,l);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(l|0)){d=g;break}else d=g}}i=i-l|0}while((i|0)!=0)}j=1428064+(m*168|0)+64|0;if((a[1428064+(m*168|0)+92>>0]|0)==0?!n:0){i=f;d=c[e>>2]|0;do{l=(i|0)<16?i:16;Gs(o,j,q,l);if((i|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(l|0)){d=g;break}else d=g}}i=i-l|0}while((i|0)!=0)}j=1428064+(m*168|0)+96|0;if(a[1428064+(m*168|0)+124>>0]|0){o=e+4|0;o=c[o>>2]|0;q=c[e>>2]|0;PA(o|0,q|0,p|0)|0;k=r;return}if(!n){d=c[e>>2]|0;do{i=(f|0)<16?f:16;Gs(o,j,q,i);if((f|0)>0){h=0;while(1){g=d+4|0;c[d>>2]=(c[d>>2]|0)+(b[q+(h<<1)>>1]|0);h=h+1|0;if((h|0)>=(i|0)){d=g;break}else d=g}}f=f-i|0}while((f|0)!=0)}o=e+4|0;o=c[o>>2]|0;q=c[e>>2]|0;PA(o|0,q|0,p|0)|0;k=r;return}function Gs(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(a[e>>0]|0))h=f;else{m=c[e+4>>2]|0;n=e+8|0;h=c[n>>2]|0;j=c[e+12>>2]|0;a:do if(!g)g=0;else{k=e+16|0;l=e+24|0;while(1){o=(Es(k,((Hs(d,((h|0)/2|0)+m|0)|0)&255)>>>(h<<2&4^4)&255)|0)<<16>>16;i=f+2|0;b[f>>1]=(M(c[l>>2]|0,o)|0)>>>1;g=g+-1|0;h=h+1|0;if((h|0)>=(j|0))break;if(!g){f=i;g=0;break a}else f=i}a[e>>0]=0;f=i}while(0);c[n>>2]=h;h=f}if(!g)return;QA(h|0,0,g<<1|0)|0;return}function Hs(b,e){b=b|0;e=e|0;var f=0;f=a[b+137>>0]|0;if(!(f<<24>>24))e=c[b+132>>2]|e;else{f=e>>>0<1024&f<<24>>24<0;e=(d[(e>>>(f?8:16)&3)+(b+138)>>0]|0)<<16|(f?1023:65535)&e}if(e>>>0>=(c[b+152>>2]|0)>>>0){b=0;return b|0}b=a[(c[b+156>>2]|0)+e>>0]|0;return b|0}function Is(d,e){d=d|0;e=e|0;var f=0;if((d&255)>1){e=0;return e|0}f=d&255;Ds();b[1428064+(f*168|0)+128>>1]=-1;c[1428064+(f*168|0)+132>>2]=0;a[1428064+(f*168|0)+137>>0]=0;d=1428064+(f*168|0)+138|0;b[d>>1]=0;b[d+2>>1]=0>>>16;c[1428064+(f*168|0)+148>>2]=e;d=e&2147483647;c[1428064+(f*168|0)+144>>2]=d;e=e>>>31;a[1428064+(f*168|0)+136>>0]=e;c[1428064+(f*168|0)+160>>2]=0;e=(d>>>0)/(((e|0)==0?165:132)>>>0)|0;return e|0}function Js(a){a=a|0;var b=0;a=a&255;b=1428064+(a*168|0)+156|0;Iy(c[b>>2]|0);c[b>>2]=0;c[1428064+(a*168|0)+152>>2]=0;return}function Ks(d){d=d|0;var e=0;d=d&255;b[1428064+(d*168|0)+128>>1]=-1;c[1428064+(d*168|0)+132>>2]=0;a[1428064+(d*168|0)+137>>0]=0;e=1428064+(d*168|0)+138|0;b[e>>1]=0;b[e+2>>1]=0>>>16;e=c[1428064+(d*168|0)+148>>2]|0;c[1428064+(d*168|0)+144>>2]=e&2147483647;a[1428064+(d*168|0)+136>>0]=e>>>31;c[1428064+(d*168|0)+24>>2]=0;Cs(1428064+(d*168|0)+16|0);a[1428064+(d*168|0)>>0]=0;c[1428064+(d*168|0)+56>>2]=0;Cs(1428064+(d*168|0)+48|0);a[1428064+(d*168|0)+32>>0]=0;c[1428064+(d*168|0)+88>>2]=0;Cs(1428064+(d*168|0)+80|0);a[1428064+(d*168|0)+64>>0]=0;c[1428064+(d*168|0)+120>>2]=0;Cs(1428064+(d*168|0)+112|0);a[1428064+(d*168|0)+96>>0]=0;return}function Ls(a,b){a=a|0;b=b|0;c[a+132>>2]=b;return}function Ms(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=k;k=k+16|0;g=m;l=d+128|0;f=e&255;if((b[l>>1]|0)!=-1){h=f>>>4;a:do if((e&255)>31){switch(h&15){case 2:case 4:case 8:break a;default:{}}c[g>>2]=h;oA(48768,49929,g)}while(0);j=35760+((f&15)<<2)|0;i=0;e=h;while(1){do if(e&1|0){g=b[l>>1]<<3;n=((Hs(d,g)|0)&255)<<16;f=((Hs(d,g|1)|0)&255)<<8;f=n&196608|f|(Hs(d,g|2)|0)&255;n=((Hs(d,g|3)|0)&255)<<16;h=((Hs(d,g|4)|0)&255)<<8;g=n&196608|h|(Hs(d,g|5)|0)&255;h=d+(i<<5)|0;if(g>>>0<=f>>>0){a[h>>0]=0;break}if(!(a[h>>0]|0)){a[h>>0]=1;c[d+(i<<5)+4>>2]=f;c[d+(i<<5)+8>>2]=0;c[d+(i<<5)+12>>2]=(g-f<<1)+2;Cs(d+(i<<5)+16|0);c[d+(i<<5)+24>>2]=c[j>>2]}}while(0);i=i+1|0;if((i|0)==4)break;else e=e>>1}b[l>>1]=-1;k=m;return}if(f&128|0){b[l>>1]=f&127;k=m;return}if(f&8|0)a[d>>0]=0;if(f&16|0)a[d+32>>0]=0;if(f&32|0)a[d+64>>0]=0;if(!(f&64)){k=m;return}a[d+96>>0]=0;k=m;return}function Ns(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;f=1428064+(b*168|0)|0;do switch(d|0){case 0:{Ms(f,e);return}case 8:{d=1428064+(b*168|0)+144|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 9:{d=1428064+(b*168|0)+144|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 10:{d=1428064+(b*168|0)+144|0;c[d>>2]=c[d>>2]&-16711681|(e&255)<<16;return}case 11:{d=1428064+(b*168|0)+144|0;c[d>>2]=c[d>>2]&16777215|(e&127)<<24;Os(f);return}case 12:{Ps(f,e&255);return}case 14:{a[1428064+(b*168|0)+137>>0]=e;return}case 15:{Ls(f,(e&255)<<18);return}case 19:case 18:case 17:case 16:{a[(d&3)+(1428064+(b*168|0)+138)>>0]=e;return}default:return}while(0)}function Os(b){b=b|0;var d=0;d=c[b+160>>2]|0;if(!d)return;xa[d&31](c[b+164>>2]|0,((c[b+144>>2]|0)>>>0)/(((a[b+136>>0]|0)==0?165:132)>>>0)|0);return}function Ps(b,c){b=b|0;c=c|0;a[b+136>>0]=c;Os(b);return}function Qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1428064+(a*168|0)+152|0;if((c[g>>2]|0)!=(b|0)){i=1428064+(a*168|0)+156|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[1428064+(a*168|0)+156>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Rs(b,c){b=b|0;c=c|0;b=b&255;a[1428064+(b*168|0)+28>>0]=c&1;a[1428064+(b*168|0)+60>>0]=c>>>1&1;a[1428064+(b*168|0)+92>>0]=c>>>2&1;a[1428064+(b*168|0)+124>>0]=c>>>3&1;return}function Ss(a,b){a=a|0;b=b|0;a=a&255;c[1428064+(a*168|0)+160>>2]=5;c[1428064+(a*168|0)+164>>2]=b;return}function Ts(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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,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;V=b&255;g=c[e>>2]|0;e=c[e+4>>2]|0;U=1428400+(V*263360|0)+48|0;if((a[U>>0]|0)!=0?(a[1428400+(V*263360|0)+56>>0]|0)==0:0)b=c[1428400+(V*263360|0)+32>>2]|0;else b=0;T=1428400+(V*263360|0)+49|0;if((a[T>>0]|0)!=0?(a[1428400+(V*263360|0)+57>>0]|0)==0:0)b=(c[1428400+(V*263360|0)+36>>2]|0)+b|0;S=1428400+(V*263360|0)+50|0;if((a[S>>0]|0)!=0?(a[1428400+(V*263360|0)+58>>0]|0)==0:0)b=(c[1428400+(V*263360|0)+40>>2]|0)+b|0;R=1428400+(V*263360|0)+51|0;if((a[R>>0]|0)!=0?(a[1428400+(V*263360|0)+59>>0]|0)==0:0)b=(c[1428400+(V*263360|0)+44>>2]|0)+b|0;if((f|0)<=0)return;m=1428400+(V*263360|0)|0;n=1428400+(V*263360|0)+68|0;o=1428400+(V*263360|0)+4|0;p=1428400+(V*263360|0)+8|0;q=1428400+(V*263360|0)+12|0;r=1428400+(V*263360|0)+72|0;s=1428400+(V*263360|0)+55|0;t=1428400+(V*263360|0)+54|0;u=1428400+(V*263360|0)+53|0;v=1428400+(V*263360|0)+52|0;w=1428400+(V*263360|0)+76|0;x=1428400+(V*263360|0)+80|0;y=1428400+(V*263360|0)+84|0;z=1428400+(V*263360|0)+88|0;A=1428400+(V*263360|0)+111|0;B=1428400+(V*263360|0)+28|0;C=1428400+(V*263360|0)+110|0;D=1428400+(V*263360|0)+24|0;E=1428400+(V*263360|0)+109|0;F=1428400+(V*263360|0)+20|0;G=1428400+(V*263360|0)+108|0;H=1428400+(V*263360|0)+16|0;I=1428400+(V*263360|0)+120|0;J=1428400+(V*263360|0)+59|0;K=1428400+(V*263360|0)+58|0;L=1428400+(V*263360|0)+57|0;M=1428400+(V*263360|0)+56|0;N=1428400+(V*263360|0)+44|0;O=1428400+(V*263360|0)+40|0;P=1428400+(V*263360|0)+36|0;Q=1428400+(V*263360|0)+32|0;l=f;k=e;while(1){h=c[m>>2]|0;i=c[n>>2]|0;j=c[o>>2]|0;a:do if(h>>>0>>0){f=c[p>>2]|0;if((h|0)>(j|0)){e=c[q>>2]|0;if((j|0)<=(f|0)){if((j|0)<=(e|0)){c[m>>2]=h-j;c[o>>2]=0;c[p>>2]=f-j;c[q>>2]=e-j;c[n>>2]=i-j;f=(c[r>>2]|0)+j|0;c[r>>2]=f;j=(a[u>>0]|0)==0;if(j)e=2147483647;else e=c[F>>2]|0;c[o>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[E>>0]|0;if(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[T>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[T>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[L>>0]|0)==0:0){e=c[P>>2]|0;if(!(a[T>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[T>>0]=a[T>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=66;b:do if((W|0)==66){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break b;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break b;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break b}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=23;c:do if((W|0)==23){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break c;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break c;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break c}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=44;d:do if((W|0)==44){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break d;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break d;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break d}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}else{e=c[q>>2]|0;if((h|0)<=(f|0)){if((h|0)<=(e|0)){c[m>>2]=0;c[o>>2]=j-h;c[p>>2]=f-h;c[q>>2]=e-h;c[n>>2]=i-h;f=(c[r>>2]|0)+h|0;c[r>>2]=f;j=(a[v>>0]|0)==0;if(j)e=2147483647;else e=c[H>>2]|0;c[m>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[G>>0]|0;if(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[U>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[U>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[M>>0]|0)==0:0){e=c[Q>>2]|0;if(!(a[U>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[U>>0]=a[U>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=148;e:do if((W|0)==148){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break e;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break e;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break e}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=105;f:do if((W|0)==105){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break f;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break f;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break f}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=126;g:do if((W|0)==126){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break g;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break g;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break g}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}}else{f=c[p>>2]|0;if(i>>>0<=j>>>0){e=c[q>>2]|0;if(i>>>0<=f>>>0){if(i>>>0<=e>>>0){c[m>>2]=h-i;c[o>>2]=j-i;c[p>>2]=f-i;c[q>>2]=e-i;c[r>>2]=(c[r>>2]|0)+i;c[n>>2]=1;c[k>>2]=b;c[g>>2]=b;e=l+-1|0;g=g+4|0;f=k+4|0;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=313;h:do if((W|0)==313){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break h;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break h;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break h}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=270;i:do if((W|0)==270){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break i;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break i;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break i}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=291;j:do if((W|0)==291){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break j;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break j;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break j}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}e=c[q>>2]|0;if((j|0)<=(f|0)){if((j|0)<=(e|0)){c[m>>2]=h-j;c[o>>2]=0;c[p>>2]=f-j;c[q>>2]=e-j;c[n>>2]=i-j;f=(c[r>>2]|0)+j|0;c[r>>2]=f;j=(a[u>>0]|0)==0;if(j)e=2147483647;else e=c[F>>2]|0;c[o>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[E>>0]|0;if(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0){e=l;f=k;break}e=e&255;do if(!(e&32)){if(e&64|0)if((d[T>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else{e=l;f=k;break a}e=d[T>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else{e=l;f=k;break a}else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else{e=l;f=k;break a}}while(0);do if(!j?(a[L>>0]|0)==0:0){e=c[P>>2]|0;if(!(a[T>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[T>>0]=a[T>>0]^1;e=l;f=k;break}c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=231;k:do if((W|0)==231){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break k;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break k;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break k}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}if((f|0)>(e|0)){c[m>>2]=h-e;c[o>>2]=j-e;c[p>>2]=f-e;c[q>>2]=0;c[n>>2]=i-e;f=(c[r>>2]|0)+e|0;c[r>>2]=f;j=(a[s>>0]|0)==0;if(j)e=2147483647;else e=c[B>>2]|0;c[q>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[A>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=188;l:do if((W|0)==188){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[R>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break l;e=d[R>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break l;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break l}while(0);do if(!j?(a[J>>0]|0)==0:0){e=c[N>>2]|0;if(!(a[R>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[R>>0]=a[R>>0]^1}while(0);if(!(a[I>>0]&2)){e=l;f=k;break}if(!(a[T>>0]|0)){e=l;f=k;break}a[T>>0]=0;if(j){e=l;f=k;break}if(a[J>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[P>>2]|0)|0;break}else{c[m>>2]=h-f;c[o>>2]=j-f;c[p>>2]=0;c[q>>2]=e-f;c[n>>2]=i-f;f=(c[r>>2]|0)+f|0;c[r>>2]=f;j=(a[t>>0]|0)==0;if(j)e=2147483647;else e=c[D>>2]|0;c[p>>2]=e;h=(((c[w>>2]|0)+f|0)>>>0)%15|0;c[w>>2]=h;X=(((c[x>>2]|0)+f|0)>>>0)%31|0;c[x>>2]=X;i=(((c[y>>2]|0)+f|0)>>>0)%511|0;c[y>>2]=i;f=(((c[z>>2]|0)+f|0)>>>0)%131071|0;c[z>>2]=f;c[r>>2]=0;e=a[C>>0]|0;if(!(e<<24>>24>=0?(a[1428400+(V*263360|0)+159+X>>0]|0)==0:0))W=209;m:do if((W|0)==209){W=0;e=e&255;do if(!(e&32)){if(e&64|0)if((d[S>>0]|0)==((a[1428400+(V*263360|0)+144+h>>0]|0)==0|0))break;else break m;e=d[S>>0]|0;if((a[I>>0]|0)<0)if((e|0)==((a[1428400+(V*263360|0)+190+i>>0]|0)==0|0))break;else break m;else if((e|0)==((a[1428400+(V*263360|0)+701+f>>0]|0)==0|0))break;else break m}while(0);do if(!j?(a[K>>0]|0)==0:0){e=c[O>>2]|0;if(!(a[S>>0]|0)){b=e+b|0;break}else{b=b-e|0;break}}while(0);a[S>>0]=a[S>>0]^1}while(0);if(!(a[I>>0]&4)){e=l;f=k;break}if(!(a[U>>0]|0)){e=l;f=k;break}a[U>>0]=0;if(j){e=l;f=k;break}if(a[K>>0]|0){e=l;f=k;break}e=l;f=k;b=b-(c[Q>>2]|0)|0;break}}while(0);if((e|0)>0){l=e;k=f}else break}return}function Us(b,d){b=b|0;d=d|0;if((b&255)>1){d=0;return d|0}b=b&255;h[1428400+(b*263360|0)+136>>3]=1.0/+(d|0);Vs(1428400+(b*263360|0)+144|0,4,3,1,4);Vs(1428400+(b*263360|0)+159|0,5,3,2,8);Vs(1428400+(b*263360|0)+190|0,9,8,1,384);Vs(1428400+(b*263360|0)+701|0,17,16,1,114688);Ws(1428400+(b*263360|0)+131772|0,9,8,384);Ws(1428400+(b*263360|0)+132283|0,17,16,114688);c[1428400+(b*263360|0)+60>>2]=(d<<8|0)/(d|0)|0;c[1428400+(b*263360|0)+16>>2]=4;c[1428400+(b*263360|0)+20>>2]=4;c[1428400+(b*263360|0)+24>>2]=4;c[1428400+(b*263360|0)+28>>2]=4;c[1428400+(b*263360|0)+100>>2]=28;a[1428400+(b*263360|0)+122>>0]=9;a[1428400+(b*263360|0)+129>>0]=3;return d|0}function Vs(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=1<>0]=b&1;g=g+1|0;if((g|0)==(h|0))break;else{c=c+1|0;b=(b>>e)+f+(b<>0]=g?b>>>6:b;f=f+1|0;if((f|0)==(h|0))break;else{c=c+1|0;b=(b>>1)+e+(b<>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[1428400+(d*263360|0)+16>>2]=4;c[1428400+(d*263360|0)+32>>2]=0;a[1428400+(d*263360|0)+48>>0]=0;a[1428400+(d*263360|0)+52>>0]=0;c[1428400+(d*263360|0)+20>>2]=4;c[1428400+(d*263360|0)+36>>2]=0;a[1428400+(d*263360|0)+49>>0]=0;a[1428400+(d*263360|0)+53>>0]=0;c[1428400+(d*263360|0)+24>>2]=4;c[1428400+(d*263360|0)+40>>2]=0;a[1428400+(d*263360|0)+50>>0]=0;a[1428400+(d*263360|0)+54>>0]=0;c[1428400+(d*263360|0)+28>>2]=4;c[1428400+(d*263360|0)+44>>2]=0;a[1428400+(d*263360|0)+51>>0]=0;a[1428400+(d*263360|0)+55>>0]=0;b=1428400+(d*263360|0)+100|0;d=1428400+(d*263360|0)+64|0;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=28;return}function Ys(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=b&255;g=1428400+(k*263360|0)+129|0;a:while(1){switch(e&15){case 0:{g=3;break a}case 1:{g=5;break a}case 2:{g=7;break a}case 3:{g=8;break a}case 4:{g=9;break a}case 5:{g=11;break a}case 6:{g=13;break a}case 7:{g=14;break a}case 8:{g=15;break a}case 10:{g=17;break a}case 14:{g=18;break a}case 15:break;default:{g=78;break a}}if((a[g>>0]|0)==f<<24>>24){g=78;break}a[g>>0]=f;if(f&3){g=78;break}Ys(b,14,0);e=10;f=0}switch(g|0){case 3:{e=1428400+(k*263360|0)+104|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;f=a[1428400+(k*263360|0)+120>>0]|0;e=(f&255)>>>3&2;b=1;g=24;break}}case 5:{e=1428400+(k*263360|0)+108|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;e=1;f=a[1428400+(k*263360|0)+120>>0]|0;g=25;break}}case 7:{e=1428400+(k*263360|0)+105|0;if((a[e>>0]|0)==f<<24>>24)return;else g=37;break}case 8:{e=1428400+(k*263360|0)+109|0;if((a[e>>0]|0)==f<<24>>24)return;else g=37;break}case 9:{e=1428400+(k*263360|0)+106|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;f=a[1428400+(k*263360|0)+120>>0]|0;e=f&8;b=4;g=24;break}}case 11:{e=1428400+(k*263360|0)+110|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;e=4;j=a[1428400+(k*263360|0)+120>>0]|0;g=52;break}}case 13:{e=1428400+(k*263360|0)+107|0;if((a[e>>0]|0)==f<<24>>24)return;else g=64;break}case 14:{e=1428400+(k*263360|0)+111|0;if((a[e>>0]|0)==f<<24>>24)return;else g=64;break}case 15:{e=1428400+(k*263360|0)+120|0;if((a[e>>0]|0)==f<<24>>24)return;else{a[e>>0]=f;c[1428400+(k*263360|0)+100>>2]=(f&1)==0?28:114;e=15;g=25;break}}case 17:{k=1428400+(k*263360|0)+128|0;a[k>>0]=a[k>>0]&31;return}case 18:{e=1428400+(k*263360|0)+126|0;b=a[e>>0]|0;if(b&255&~(f&255)|0)a[e>>0]=b&f;a[1428400+(k*263360|0)+127>>0]=f;return}case 78:return}if((g|0)==24){e=(e|b)&255;if(!(e&1))g=36;else g=25}else if((g|0)==37){a[e>>0]=f;e=2;f=a[1428400+(k*263360|0)+120>>0]|0;g=38}else if((g|0)==64){a[e>>0]=f;i=a[1428400+(k*263360|0)+120>>0]|0}b:do if((g|0)==25){b=d[1428400+(k*263360|0)+104>>0]|0;if(!(f&64))g=M(c[1428400+(k*263360|0)+100>>2]|0,b+1|0)|0;else g=b+4|0;b=a[1428400+(k*263360|0)+108>>0]|0;h=(b&15)*744|0;i=1428400+(k*263360|0)+32|0;c[i>>2]=h;c[1428400+(k*263360|0)+16>>2]=g;j=1428400+(k*263360|0)|0;if((g|0)<(c[j>>2]|0))c[j>>2]=g;b=b&255;do if(!((b&16|0)!=0|(b&15|0)==0))if(b&32){g=g>>>0<(c[1428400+(k*263360|0)+60>>2]|0)>>>8>>>0;a[1428400+(k*263360|0)+52>>0]=(g^1)&1;if(g)break;else{g=36;break b}}else{a[1428400+(k*263360|0)+52>>0]=1;g=36;break b}else a[1428400+(k*263360|0)+52>>0]=0;while(0);a[1428400+(k*263360|0)+48>>0]=1;c[j>>2]=2147483647;c[i>>2]=h>>>1;g=36}while(0);if((g|0)==36)if(!(e&2))g=51;else g=38;c:do if((g|0)==38){b=f&255;do if(b&16){g=d[1428400+(k*263360|0)+105>>0]<<8|d[1428400+(k*263360|0)+104>>0];if(!(b&64)){g=M(c[1428400+(k*263360|0)+100>>2]|0,g+1|0)|0;break}else{g=g+7|0;break}}else g=M((d[1428400+(k*263360|0)+105>>0]|0)+1|0,c[1428400+(k*263360|0)+100>>2]|0)|0;while(0);b=a[1428400+(k*263360|0)+109>>0]|0;h=(b&15)*744|0;i=1428400+(k*263360|0)+36|0;c[i>>2]=h;c[1428400+(k*263360|0)+20>>2]=g;j=1428400+(k*263360|0)+4|0;if((g|0)<(c[j>>2]|0))c[j>>2]=g;b=b&255;do if(!((b&16|0)!=0|(b&15|0)==0))if(b&32){g=g>>>0<(c[1428400+(k*263360|0)+60>>2]|0)>>>8>>>0;a[1428400+(k*263360|0)+53>>0]=(g^1)&1;if(g)break;else{g=51;break c}}else{a[1428400+(k*263360|0)+53>>0]=1;g=51;break c}else a[1428400+(k*263360|0)+53>>0]=0;while(0);a[1428400+(k*263360|0)+49>>0]=1;c[j>>2]=2147483647;c[i>>2]=h>>>1;g=51}while(0);if((g|0)==51)if(!(e&4))g=63;else{j=f;g=52}d:do if((g|0)==52){f=d[1428400+(k*263360|0)+106>>0]|0;if(!(j&32))b=M(c[1428400+(k*263360|0)+100>>2]|0,f+1|0)|0;else b=f+4|0;f=a[1428400+(k*263360|0)+110>>0]|0;g=(f&15)*744|0;h=1428400+(k*263360|0)+40|0;c[h>>2]=g;c[1428400+(k*263360|0)+24>>2]=b;i=1428400+(k*263360|0)+8|0;if((b|0)<(c[i>>2]|0))c[i>>2]=b;f=f&255;do if(!((f&16|0)!=0|(f&15|0)==0)){if(f&32|0?b>>>0<(c[1428400+(k*263360|0)+60>>2]|0)>>>8>>>0:0)break;a[1428400+(k*263360|0)+54>>0]=1;f=j;g=63;break d}while(0);b=(j&255)>>>2&1;a[1428400+(k*263360|0)+54>>0]=b;if(!(b<<24>>24)){a[1428400+(k*263360|0)+50>>0]=1;c[i>>2]=2147483647;c[h>>2]=g>>>1;f=j;g=63}else{f=j;g=63}}while(0);if((g|0)==63)if(!(e&8))return;else i=f;e=i&255;do if(e&8){f=d[1428400+(k*263360|0)+107>>0]<<8|d[1428400+(k*263360|0)+106>>0];if(!(e&32)){f=M(c[1428400+(k*263360|0)+100>>2]|0,f+1|0)|0;break}else{f=f+7|0;break}}else f=M((d[1428400+(k*263360|0)+107>>0]|0)+1|0,c[1428400+(k*263360|0)+100>>2]|0)|0;while(0);e=a[1428400+(k*263360|0)+111>>0]|0;b=(e&15)*744|0;g=1428400+(k*263360|0)+44|0;c[g>>2]=b;c[1428400+(k*263360|0)+28>>2]=f;h=1428400+(k*263360|0)+12|0;if((f|0)<(c[h>>2]|0))c[h>>2]=f;e=e&255;do if(!((e&16|0)!=0|(e&15|0)==0)){if(e&32|0?f>>>0<(c[1428400+(k*263360|0)+60>>2]|0)>>>8>>>0:0)break;a[1428400+(k*263360|0)+55>>0]=1;return}while(0);j=(i&255)>>>1&1;a[1428400+(k*263360|0)+55>>0]=j;if(j<<24>>24)return;a[1428400+(k*263360|0)+51>>0]=1;c[h>>2]=2147483647;c[g>>2]=b>>>1;return}function Zs(b,c){b=b|0;c=c|0;b=b&255;a[1428400+(b*263360|0)+56>>0]=c&1;a[1428400+(b*263360|0)+57>>0]=c>>>1&1;a[1428400+(b*263360|0)+58>>0]=c>>>2&1;a[1428400+(b*263360|0)+59>>0]=c>>>3&1;return}function _s(a){a=a|0;var b=0,d=0,e=0;b=a+68|0;c[a+88>>2]=0;c[a+92>>2]=0;c[a+96>>2]=0;d=a;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;$s(a,0);at(a,0);return}function $s(a,b){a=a|0;b=b|0;c[a+52>>2]=b+4095&4095;c[a+56>>2]=c[a+48>>2];bt(a);return}function at(a,b){a=a|0;b=b|0;b=b&15;b=(b|0)==0?16:b;c[a+64>>2]=b;c[a+60>>2]=b;return}function bt(a){a=a|0;var b=0;b=((c[a+52>>2]|0)>>>1)+1|0;c[a+100>>2]=b;c[a+104>>2]=8388352/(b|0)|0;return}function ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+76>>2]|0;f=c[a+72>>2]|0;if(!(e|f)){d=d<<2;QA(c[b>>2]|0,0,d|0)|0;QA(c[b+4>>2]|0,0,d|0)|0;return}g=dt(a,e)|0;a=dt(a,f)|0;if((d|0)<=0)return;f=b+4|0;e=0;do{c[(c[b>>2]|0)+(e<<2)>>2]=g;c[(c[f>>2]|0)+(e<<2)>>2]=a;e=e+1|0}while((e|0)!=(d|0));return}function dt(a,b){a=a|0;b=b|0;if(!b){b=0;return b|0}b=(M(((b&2048|0)==0?b&4095:b|-4096)-(c[a+100>>2]|0)|0,c[a+104>>2]|0)|0)>>8;return b|0}function et(a,b,c){a=a|0;b=b|0;c=c|0;ct(1955120+((a&255)*112|0)|0,b,c);return}function ft(b){b=b|0;var d=0,e=0;e=a[3416903]|0;d=c[853966]|0;c[488807]=b;_s(1955120);return (e<<24>>24==2|(e&1)!=0&(d|0)>22020?d:22020)|0}function gt(a){a=a|0;_s(1955120+((a&255)*112|0)|0);return}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;a=1955120+(e*112|0)|0;if((c[1955120+(e*112|0)+108>>2]|0)==1)switch(b<<24>>24){case 0:{c[1955120+(e*112|0)+76>>2]=d&65535;return}case 1:{c[1955120+(e*112|0)+72>>2]=d&65535;return}case 2:{$s(a,d&65535);return}case 3:{d=d&65535;c[1955120+(e*112|0)+76>>2]=d;c[1955120+(e*112|0)+72>>2]=d;return}default:return}switch(b<<24>>24){case 0:{at(a,(d&65535)>>>8);return}case 1:{$s(a,d&65535);return}case 2:{c[1955120+(e*112|0)+76>>2]=d&65535;return}case 3:{a=d&65535;c[1955120+(e*112|0)+72>>2]=a;b=1955120+(e*112|0)+68|0;if(c[b>>2]|0)return;if((c[1955120+(e*112|0)+76>>2]|0)!=(a|0))return;c[1955120+(e*112|0)+100>>2]=a;c[b>>2]=1;return}case 4:{a=d&65535;c[1955120+(e*112|0)+76>>2]=a;c[1955120+(e*112|0)+72>>2]=a;b=1955120+(e*112|0)+68|0;if(c[b>>2]|0)return;c[1955120+(e*112|0)+100>>2]=a;c[b>>2]=1;return}default:return}}function it(a,b){a=a|0;b=b|0;var d=0;if((a&255)>1){b=0;return b|0}d=a&255;c[1955344+(d*720|0)+580>>2]=0;c[1955344+(d*720|0)+584>>2]=0;a=0;do{c[1955344+(d*720|0)+588+(a<<2)>>2]=~~(+A(+(+(a|0)))*45.25483399593904);a=a+1|0}while((a|0)!=33);QA(1955344+(d*720|0)|0,0,576)|0;b=(b|0)/166|0;return b|0}function jt(a){a=a|0;a=1955344+((a&255)*720|0)+580|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function kt(a){a=a|0;var b=0;b=1955344+((a&255)*720|0)|0;QA(b|0,0,576)|0;a=127;while(1){lt(b,a&255,0);if(!a)break;else a=a+-1|0}lt(b,-128,288);lt(b,-127,288);lt(b,-126,288);lt(b,-125,288);lt(b,-124,288);lt(b,-123,288);lt(b,-122,288);lt(b,-121,288);lt(b,-120,288);lt(b,-119,288);lt(b,-118,288);lt(b,-117,288);lt(b,-116,288);lt(b,-115,288);lt(b,-114,288);lt(b,-113,288);return}function lt(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e&255;do if(e<<24>>24<=-1)if((e&255)<144){e=g&15;break}else{h=(e+70&255)<16;e=h?g+-186|0:99;g=h?9:99;h=6;break}else{e=g>>>3;g=g&7;h=6}while(0);a:do if((h|0)==6)switch(g&127){case 8:break a;case 0:{c[d+((e+1&15)*36|0)>>2]=(f&127)<<16;return}case 1:{c[d+(e*36|0)+4>>2]=f&65535;return}case 2:{c[d+(e*36|0)+12>>2]=f&65535;return}case 3:{a[d+(e*36|0)+18>>0]=(f&65535)>>>15;c[d+(e*36|0)+28>>2]=0;return}case 4:{b[d+(e*36|0)+8>>1]=f;return}case 5:{b[d+(e*36|0)+10>>1]=f;return}case 6:{b[d+(e*36|0)+16>>1]=f;return}default:return}while(0);h=(f&63)+-16|0;h=(h|0)<32?h:32;h=(h|0)>0?h:0;c[d+(e*36|0)+24>>2]=c[d+588+(h<<2)>>2];c[d+(e*36|0)+20>>2]=c[d+588+(32-h<<2)>>2];return}function mt(a,c,d){a=a|0;c=c|0;d=d|0;a=a&255;switch(c|0){case 0:{c=1955344+(a*720|0)+576|0;b[c>>1]=(d&255)<<8|b[c>>1]&255;return}case 1:{c=1955344+(a*720|0)+576|0;b[c>>1]=b[c>>1]&-256&65535|d&255;return}case 2:{lt(1955344+(a*720|0)|0,d,b[1955344+(a*720|0)+576>>1]|0);return}default:return}}function nt(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=d&255;B=g<<2;QA(c[f>>2]|0,0,B|0)|0;A=f+4|0;QA(c[A>>2]|0,0,B|0)|0;B=1955344+(d*720|0)+584|0;if(!(c[B>>2]|0))return;y=(g|0)<1;z=1955344+(d*720|0)+580|0;l=1955344+(d*720|0)|0;m=0;while(1){a:do if(a[l+18>>0]|0?!((a[l+32>>0]|0)!=0|y):0){q=l+28|0;r=l+12|0;s=l+4|0;t=l+20|0;u=l+16|0;v=l+24|0;w=l+10|0;x=l+8|0;k=c[f>>2]|0;n=g;p=c[A>>2]|0;while(1){o=n;n=n+-1|0;j=c[q>>2]|0;h=j>>>12;i=c[r>>2]|0;j=i+(j&4095)|0;c[q>>2]=j;d=c[s>>2]|0;if(h){d=d+h|0;c[s>>2]=d;if((i|0)!=0?(C=e[w>>1]|0,d>>>0>=C>>>0):0){h=b[x>>1]|0;if(!(h<<16>>16))break;j=h&65535;d=d-j|0;d=(d>>>0>>0?d:C-j|0)&65535;c[s>>2]=d}}j=a[(c[z>>2]|0)+(((d|c[l>>2])>>>0)%((c[B>>2]|0)>>>0)|0)>>0]|0;i=M(c[t>>2]|0,j)|0;i=(M(i,e[u>>1]|0)|0)>>14;c[k>>2]=i+(c[k>>2]|0);j=M(c[v>>2]|0,j)|0;j=(M(j,e[u>>1]|0)|0)>>14;c[p>>2]=j+(c[p>>2]|0);if((o|0)<=1)break a;else{k=k+4|0;p=p+4|0}}c[s>>2]=d+-1;c[q>>2]=j+4096}while(0);m=m+1|0;if((m|0)==16)break;else l=l+36|0}return}function ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1955344+(a*720|0)+584|0;if((c[g>>2]|0)!=(b|0)){i=1955344+(a*720|0)+580|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[1955344+(a*720|0)+580>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function pt(b,c){b=b|0;c=c|0;b=b&255;a[1955344+(b*720|0)+32>>0]=c&1;a[1955344+(b*720|0)+68>>0]=c>>>1&1;a[1955344+(b*720|0)+104>>0]=c>>>2&1;a[1955344+(b*720|0)+140>>0]=c>>>3&1;a[1955344+(b*720|0)+176>>0]=c>>>4&1;a[1955344+(b*720|0)+212>>0]=c>>>5&1;a[1955344+(b*720|0)+248>>0]=c>>>6&1;a[1955344+(b*720|0)+284>>0]=c>>>7&1;a[1955344+(b*720|0)+320>>0]=c>>>8&1;a[1955344+(b*720|0)+356>>0]=c>>>9&1;a[1955344+(b*720|0)+392>>0]=c>>>10&1;a[1955344+(b*720|0)+428>>0]=c>>>11&1;a[1955344+(b*720|0)+464>>0]=c>>>12&1;a[1955344+(b*720|0)+500>>0]=c>>>13&1;a[1955344+(b*720|0)+536>>0]=c>>>14&1;a[1955344+(b*720|0)+572>>0]=c>>>15&1;return}function qt(b,d){b=b|0;d=d|0;var e=0,f=0;e=b&255;f=1956784+(e<<5)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=1956848+(e<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;switch(a[3416893]|0){case 1:{f=it(b,d)|0;return f|0}case 0:{if((d|0)<1e7){a[3416894]=1;d=d*15|0}f=rt(b,d)|0;return f|0}default:{f=0;return f|0}}return 0}function rt(a,b){a=a|0;b=b|0;var c=0;c=1956912+((a&255)*6292|0)|0;QA(c|0,0,6292)|0;st(a,0);tt(c);ut(c);return (b|0)/2496|0|0}function st(a,b){a=a|0;b=b|0;c[1956912+((a&255)*6292|0)+12>>2]=b;return}function tt(a){a=a|0;var c=0,d=0,e=0;c=a+22|0;d=35824;e=c+66|0;do{b[c>>1]=b[d>>1]|0;c=c+2|0;d=d+2|0}while((c|0)<(e|0));c=a+118|0;d=35904;e=c+66|0;do{b[c>>1]=b[d>>1]|0;c=c+2|0;d=d+2|0}while((c|0)<(e|0));c=0;do{e=32-c|0;b[a+414+(c<<1)>>1]=b[35824+(e<<1)>>1]|0;b[a+218+(c<<1)>>1]=b[35984+(c<<1)>>1]|0;b[a+610+(c<<1)>>1]=b[35984+(e<<1)>>1]|0;b[a+414+(c+48<<1)>>1]=b[35904+(e<<1)>>1]|0;c=c+1|0}while((c|0)!=33);return}function ut(a){a=a|0;var b=0,d=0,e=0;QA(a+5268|0,0,1024)|0;b=0;do{d=b;b=b+1|0;e=d<<3;c[a+5268+(e<<2)>>2]=a+806+((b&15)<<4);c[a+5268+((e|1)<<2)>>2]=a+806+(d<<4)+2;c[a+5268+((e|2)<<2)>>2]=a+806+(d<<4)+6;c[a+5268+((e|3)<<2)>>2]=a+806+(d<<4)+4;c[a+5268+((e|4)<<2)>>2]=a+806+(d<<4)+8;c[a+5268+((e|5)<<2)>>2]=a+806+(d<<4)+10;c[a+5268+((e|6)<<2)>>2]=a+806+(d<<4)+12;c[a+5268+((e|7)<<2)>>2]=0;c[a+5268+(d+128<<2)>>2]=a+1110+(d<<1);c[a+5268+(d+186<<2)>>2]=a+806+(d<<4)+14}while((b|0)!=16);c[a+6076>>2]=a+1062;c[a+6080>>2]=a+1064;c[a+6084>>2]=a+1066;c[a+6088>>2]=a+1068;c[a+6124>>2]=a+1070;c[a+5844>>2]=a+1142;c[a+6092>>2]=a+1078;c[a+6096>>2]=a+1080;c[a+6100>>2]=a+1082;c[a+6104>>2]=a+1084;c[a+6128>>2]=a+1086;c[a+5848>>2]=a+1144;c[a+6108>>2]=a+1094;c[a+6112>>2]=a+1096;c[a+6116>>2]=a+1098;c[a+6120>>2]=a+1100;c[a+6132>>2]=a+1102;c[a+5852>>2]=a+1146;c[a+5856>>2]=a+1188;c[a+6136>>2]=a+1186;c[a+6172>>2]=a+5256;c[a+6176>>2]=a+5254;c[a+6140>>2]=a+3252;c[a+6156>>2]=a+4812;c[a+6180>>2]=a+4814;c[a+6144>>2]=a+4036;c[a+6160>>2]=a+5032;c[a+6184>>2]=a+5034;c[a+6148>>2]=a+3644;c[a+6164>>2]=a+4922;c[a+6188>>2]=a+4924;c[a+6152>>2]=a+4428;c[a+6168>>2]=a+5142;c[a+6192>>2]=a+5144;return}function vt(b){b=b|0;switch(a[3416893]|0){case 1:{jt(b);return}case 0:{wt(b);return}default:return}}function wt(a){a=a|0;Iy(c[1956912+((a&255)*6292|0)>>2]|0);return}function xt(b){b=b|0;switch(a[3416893]|0){case 1:{kt(b);return}case 0:{yt(b);zt(b);return}default:return}}function yt(d){d=d|0;d=d&255;a[1956912+(d*6292|0)+5264>>0]=0;b[1956912+(d*6292|0)+20>>1]=0;b[1956912+(d*6292|0)+18>>1]=0;b[1956912+(d*6292|0)+5252>>1]=0;c[1956912+(d*6292|0)+5260>>2]=0;return}function zt(b){b=b|0;var c=0;c=b&255;b=1956912+(c*6292|0)|0;c=1956912+(c*6292|0)+5264|0;if(a[c>>0]|0)return;do At(b);while(!(a[c>>0]|0));return}function At(a){a=a|0;switch(b[a+5252>>1]|0){case 788:case 1714:{Et(a);return}case 57:{Ct(a);return}case 79:{Dt(a);return}default:{Bt(a);return}}}function Bt(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=d+5252|0;g=(b[e>>1]|0)==1562;l=d+5260|0;f=c[l>>2]|0;if((f|0)>1){c[l>>2]=0;b[e>>1]=b[d+5254>>1]|0;return}if((f|0)==1){c[l>>2]=2;return}k=d+1186|0;QA(d+808|0,0,302)|0;QA(k|0,0,4066)|0;b[d+1110>>1]=288;b[d+1148>>1]=0;b[d+1112>>1]=288;b[d+1150>>1]=0;b[d+1114>>1]=288;b[d+1152>>1]=0;b[d+1116>>1]=288;b[d+1154>>1]=0;b[d+1118>>1]=288;b[d+1156>>1]=0;b[d+1120>>1]=288;b[d+1158>>1]=0;b[d+1122>>1]=288;b[d+1160>>1]=0;b[d+1124>>1]=288;b[d+1162>>1]=0;b[d+1126>>1]=288;b[d+1164>>1]=0;b[d+1128>>1]=288;b[d+1166>>1]=0;b[d+1130>>1]=288;b[d+1168>>1]=0;b[d+1132>>1]=288;b[d+1170>>1]=0;b[d+1134>>1]=288;b[d+1172>>1]=0;b[d+1136>>1]=288;b[d+1174>>1]=0;b[d+1138>>1]=288;b[d+1176>>1]=0;b[d+1140>>1]=288;b[d+1178>>1]=0;b[d+1142>>1]=288;b[d+1180>>1]=0;b[d+1144>>1]=288;b[d+1182>>1]=0;b[d+1146>>1]=288;b[d+1184>>1]=0;b[d+806>>1]=-32768;b[d+822>>1]=-32768;b[d+838>>1]=-32768;b[d+854>>1]=-32768;b[d+870>>1]=-32768;b[d+886>>1]=-32768;b[d+902>>1]=-32768;b[d+918>>1]=-32768;b[d+934>>1]=-32768;b[d+950>>1]=-32768;b[d+966>>1]=-32768;b[d+982>>1]=-32768;b[d+998>>1]=-32768;b[d+1014>>1]=-32768;b[d+1030>>1]=-32768;b[d+1046>>1]=-32768;b[d+1066>>1]=-32768;b[d+1082>>1]=-32768;b[d+1098>>1]=-32768;e=d+4812|0;if(g){b[e>>1]=1;b[d+4036>>1]=3955;b[d+4428>>1]=4004;e=79;f=0;g=1346;h=4004;i=3955;j=0}else{b[e>>1]=0;e=57;f=46;g=1370;h=3601;i=3506;j=48}b[d+5032>>1]=f;b[d+4922>>1]=0;b[d+5142>>1]=j;b[d+3252>>1]=i;b[d+3644>>1]=h;b[k>>1]=g;b[d+5254>>1]=e;b[d+4814>>1]=16383;b[d+5034>>1]=16383;b[d+4924>>1]=16383;b[d+5144>>1]=16383;b[d+5256>>1]=1;a[d+5264>>0]=0;c[l>>2]=1;return}function Ct(a){a=a|0;var d=0;c[a+3248>>2]=0;c[a+3244>>2]=95;d=Mt(b[a+3252>>1]|0)|0;if(d|0)PA(a+3254|0,d|0,190)|0;c[a+3640>>2]=0;c[a+3636>>2]=95;d=Mt(b[a+3644>>1]|0)|0;if(!d){d=a+5254|0;b[d>>1]=788;a=a+5252|0;b[a>>1]=788;return}PA(a+3646|0,d|0,190)|0;d=a+5254|0;b[d>>1]=788;a=a+5252|0;b[a>>1]=788;return}function Dt(a){a=a|0;var d=0,e=0,f=0;c[a+3248>>2]=0;c[a+3244>>2]=45;d=Mt(b[a+3252>>1]|0)|0;if(d|0){f=a+3254|0;e=f+90|0;do{b[f>>1]=b[d>>1]|0;f=f+2|0;d=d+2|0}while((f|0)<(e|0))}c[a+4032>>2]=0;c[a+4028>>2]=44;d=Mt(b[a+4036>>1]|0)|0;if(d|0){f=a+4038|0;e=f+88|0;do{b[f>>1]=b[d>>1]|0;f=f+2|0;d=d+2|0}while((f|0)<(e|0))}c[a+3640>>2]=0;c[a+3636>>2]=45;d=Mt(b[a+3644>>1]|0)|0;if(d|0){f=a+3646|0;e=f+90|0;do{b[f>>1]=b[d>>1]|0;f=f+2|0;d=d+2|0}while((f|0)<(e|0))}c[a+4424>>2]=0;c[a+4420>>2]=44;d=Mt(b[a+4428>>1]|0)|0;if(!d){f=a+5254|0;b[f>>1]=1714;f=a+5252|0;b[f>>1]=1714;return}f=a+4430|0;e=f+88|0;do{b[f>>1]=b[d>>1]|0;f=f+2|0;d=d+2|0}while((f|0)<(e|0));f=a+5254|0;b[f>>1]=1714;f=a+5252|0;b[f>>1]=1714;return}function Et(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=k;k=k+16|0;n=p;c[n>>2]=0;a[d+5264>>0]=-128;l=d+5252|0;o=d+1186|0;m=((b[l>>1]|0)==1714?64196:64172)+(e[o>>1]|0)&65535;m=m<<16>>16>0?m:0;b[d+1190>>1]=m<<16>>16<1024?m:1024;b[d+1148>>1]=Ft(d,0,n)|0;b[d+1150>>1]=Ft(d,1,n)|0;b[d+1152>>1]=Ft(d,2,n)|0;b[d+1154>>1]=Ft(d,3,n)|0;b[d+1156>>1]=Ft(d,4,n)|0;b[d+1158>>1]=Ft(d,5,n)|0;b[d+1160>>1]=Ft(d,6,n)|0;b[d+1162>>1]=Ft(d,7,n)|0;b[d+1164>>1]=Ft(d,8,n)|0;b[d+1166>>1]=Ft(d,9,n)|0;b[d+1168>>1]=Ft(d,10,n)|0;b[d+1170>>1]=Ft(d,11,n)|0;b[d+1172>>1]=Ft(d,12,n)|0;b[d+1174>>1]=Ft(d,13,n)|0;b[d+1176>>1]=Ft(d,14,n)|0;b[d+1178>>1]=Ft(d,15,n)|0;m=d+5260|0;i=c[m>>2]|0;j=(i|0)/3|0;Gt(d,i+(M(j,-3)|0)|0,j);n=(Ht(o,c[n>>2]|0)|0)<<16>>16<<14;o=d+5256|0;j=0;do{f=(j|0)==0?n:0;h=(j|0)==1?n:0;g=0;do{q=(b[d+1110+(g<<1)>>1]|0)+-272<<16>>16;i=b[d+1148+(g<<1)>>1]|0;q=((q&65535)<97?q:97)&65535;f=f-(M(b[d+22+(j*392|0)+(q<<1)>>1]|0,i)|0)|0;h=h-(M(b[d+22+(j*392|0)+196+(q<<1)>>1]|0,i)|0)|0;g=g+1|0}while((g|0)!=19);f=(f|0)>-536870911?f:-536870911;f=(f|0)<536870911?f:536870911;h=(h|0)>-536870911?h:-536870911;h=It(d+3244+(j*392|0)|0,((h|0)<536870911?h:536870911)>>>14&65535)|0;if((b[l>>1]|0)==1714)g=It(d+4028+(j*392|0)|0,f>>>14&65535)|0;else g=f<<2;i=d+4812+(j*110|0)|0;h=Jt(i,h)|0;f=d+5032+(j*110|0)|0;h=(Jt(f,g)|0)+h|0;q=h+8192>>14;b[d+18+(j<<1)>>1]=(h|0)>536862719?32767:((q|0)>-32767?q:-32767)&65535;if(b[o>>1]|0){Kt(i);Kt(f)}j=j+1|0}while((j|0)!=2);b[o>>1]=0;q=c[m>>2]|0;c[m>>2]=q+1;if((q|0)<=4){k=p;return}c[m>>2]=0;b[l>>1]=b[d+5254>>1]|0;k=p;return}function Ft(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;if(c[a+12>>2]&1<>1]|0;h=a+806+(d<<4)+2|0;i=(M((Lt(a,b[a+806+(d<<4)>>1]|0,b[h>>1]|0)|0)<<16>>16,i)|0)>>>14;g=M(b[a+806+(d<<4)+14>>1]<<2,i<<16>>16)|0;c[f>>2]=g+(c[f>>2]|0);g=a+806+(d<<4)+4|0;f=((e[g>>1]|0)>>>4|b[h>>1]<<12)+(e[a+806+(d<<4)+6>>1]|0)|0;if((f>>12|0)>=(b[a+806+(d<<4)+10>>1]|0))f=f-(b[a+806+(d<<4)+8>>1]<<12)|0;d=(f|0)>-134217728?f:-134217728;d=(d|0)<134217727?d:134217727;b[h>>1]=d>>>12;b[g>>1]=d<<4;i=i&65535;return i|0}function Gt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d+16|0;if(c[a+12>>2]&1<>1]=0;return}if(!e){f=a+1062+(d<<4)+14|0;e=b[f>>1]|0;if(e<<16>>16==(b[a+1062+(d<<4)+2>>1]|0))b[a+1062+(d<<4)+10>>1]=0;g=a+1062+(d<<4)+8|0;if(b[g>>1]|0){b[a+1148+(h<<1)>>1]=0;b[g>>1]=0;b[a+1062+(d<<4)+12>>1]=10;b[a+1062+(d<<4)+10>>1]=b[a+1062+(d<<4)+6>>1]|0;e=b[a+1062+(d<<4)>>1]|0;b[f>>1]=e}e=((Lt(a,b[a+1062+(d<<4)+4>>1]|0,e)|0)&65535)>>>8&65535}else{g=b[a+1062+(d<<4)+4>>1]|0;f=a+1062+(d<<4)+14|0;e=b[f>>1]|0;b[f>>1]=e+1<<16>>16;e=(Lt(a,g,e)|0)<<16>>16>>4}i=e<<24;f=i>>28;e=f<<1;g=a+1062+(d<<4)+12|0;e=(M(((e|0)>-1?e:0-e|0)|1,b[g>>1]|0)|0)>>1;h=a+1148+(h<<1)|0;e=((i|0)<268435456?0-e|0:e)+(b[h>>1]|0)|0;e=(e|0)>-32768?e:-32768;b[h>>1]=(M((e|0)<32767?e:32767,b[a+1062+(d<<4)+10>>1]|0)|0)>>>16;h=(M(b[g>>1]|0,b[36064+(f+8<<1)>>1]|0)|0)>>>6;d=h<<16;b[g>>1]=(d|0)>131072e3?2e3:(d|0)<65536?1:h&65535;return}function Ht(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+2056|0;g=b[e>>1]|0;f=a+8+(g<<16>>16<<1)|0;d=b[f>>1]|0;i=a+6|0;h=b[i>>1]|0;b[i>>1]=d;d=h+(d<<16>>16)>>1;c=((M(b[a+2>>1]<<2,d)|0)+c|0)>>>16&65535;b[e>>1]=g+1<<16>>16;b[f>>1]=c;if((b[e>>1]|0)<(b[a+4>>1]|0)){i=d&65535;return i|0}b[e>>1]=0;i=d&65535;return i|0}function It(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;i=b[a+10>>1]|0;if((e|0)>1){k=e+-1|0;g=a+4|0;h=0;j=0;f=c[g>>2]|0;e=i;do{i=f+1|0;c[g>>2]=i;h=h-(M(e<<2,b[a+200+(f<<1)>>1]|0)|0)|0;f=(i|0)<(k|0)?i:0;c[g>>2]=f;j=j+1|0;e=b[a+10+(j<<1)>>1]|0}while((j|0)!=(k|0))}else{f=a+4|0;h=0;e=i;g=f;f=c[f>>2]|0}e=h-(M(d<<16>>16<<2,e)|0)|0;c[g>>2]=f+1;b[a+200+(f<<1)>>1]=d;if((c[g>>2]|0)<((c[a>>2]|0)+-1|0))return e|0;c[g>>2]=0;return e|0}function Jt(a,c){a=a|0;c=c|0;var d=0,e=0;d=a+4|0;e=b[d>>1]|0;b[d>>1]=e+1<<16>>16;b[a+8+(e<<16>>16<<1)>>1]=c>>>16;if((b[d>>1]|0)>50)b[d>>1]=0;d=a+6|0;c=b[d>>1]|0;e=c+1<<16>>16;b[d>>1]=e;c=M(b[a+2>>1]|0,b[a+8+(c<<16>>16<<1)>>1]|0)|0;if(e<<16>>16<=50)return c|0;b[d>>1]=0;return c|0}function Kt(a){a=a|0;var c=0;c=((b[a+4>>1]|0)-(b[a>>1]|0)|0)%51|0;b[a+6>>1]=(c|0)<0?c+51|0:c;return}function Lt(a,b,e){a=a|0;b=b|0;e=e|0;if(!(c[a+8>>2]|0)){e=0;return e|0}b=b&65535;if(!(b&32768)){e=0;return e|0}e=d[(c[a>>2]|0)+(b<<16&2147418112|e&65535)>>0]|0;e=(e<<8|e)&65535;return e|0}function Mt(a){a=a|0;var b=0;b=a&65535;if((a+-3886&65535)<209){b=36096+(b+-3886<<1)|0;return b|0}if((a+-3317&65535)>=569){b=0;return b|0}b=36528+(((b+-3411|0)/95|0)*190|0)|0;return b|0}function Nt(c,d,e){c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;switch(a[3416893]|0){case 1:{mt(c,d,e);return}case 0:{a:do if(a[3416894]|0)switch(d|0){case 0:{j=3416864+((c&255)<<1)|0;b[j>>1]=(e&255)<<8|b[j>>1]&255;break a}case 1:{j=3416864+((c&255)<<1)|0;b[j>>1]=b[j>>1]&-256&65535|e&255;break a}case 2:{f=e&255;if(e<<24>>24<0)break a;g=f>>>3;switch(e&7){case 1:{j=c&255;b[1956784+(j<<5)+(g<<1)>>1]=b[3416864+(j<<1)>>1]|0;break a}case 2:{h=c&255;i=1956848+(h<<5)+(g<<1)|0;j=3416864+(h<<1)|0;if((b[i>>1]|0)==0?b[j>>1]|0:0)Ot(c,(f&248|1)&255,b[1956784+(h<<5)+(g<<1)>>1]|0);b[i>>1]=b[j>>1]|0;break a}case 3:{Ot(c,(f&248|1)&255,b[1956784+((c&255)<<5)+(g<<1)>>1]|0);break a}default:break a}}default:break a}while(0);Pt(c,d,e);if(!((d|0)==2&e<<24>>24==-29))return;zt(c);return}default:return}}function Ot(d,e,f){d=d|0;e=e|0;f=f|0;var g=0;g=d&255;d=c[1956912+(g*6292|0)+5268+((e&255)<<2)>>2]|0;if(d|0)b[d>>1]=f;a[1956912+(g*6292|0)+5264>>0]=0;return}function Pt(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;e=a&255;switch(c|0){case 0:{e=1956912+(e*6292|0)+16|0;b[e>>1]=(d&255)<<8|b[e>>1]&255;return}case 1:{e=1956912+(e*6292|0)+16|0;b[e>>1]=b[e>>1]&-256&65535|d&255;return}case 2:{Ot(a,d,b[1956912+(e*6292|0)+16>>1]|0);return}default:return}}function Qt(b,c,d){b=b|0;c=c|0;d=d|0;switch(a[3416893]|0){case 1:{nt(b,c,d);return}case 0:{Rt(b,c,d);return}default:return}}function Rt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=a&255;h=1956912+(a*6292|0)|0;g=e<<2;QA(c[d>>2]|0,0,g|0)|0;i=d+4|0;QA(c[i>>2]|0,0,g|0)|0;if(!e)return;g=1956912+(a*6292|0)+18|0;f=1956912+(a*6292|0)+20|0;a=0;do{At(h);c[(c[d>>2]|0)+(a<<2)>>2]=b[g>>1];c[(c[i>>2]|0)+(a<<2)>>2]=b[f>>1];a=a+1|0}while((a|0)!=(e|0));return}function St(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(a[3416893]|0){case 1:{ot(b,c,d,e,f);return}case 0:{Tt(b,c,d,e,f);return}default:return}}function Tt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1956912+(a*6292|0)|0;h=1956912+(a*6292|0)+4|0;if((c[h>>2]|0)!=(b|0)){i=Ky(c[g>>2]|0,b)|0;c[g>>2]=i;c[h>>2]=b;QA(i|0,-1,b|0)|0;c[1956912+(a*6292|0)+8>>2]=-1}if(b>>>0>>0)return;PA((c[g>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Ut(b,c){b=b|0;c=c|0;switch(a[3416893]|0){case 1:{pt(b,c);return}case 0:{st(b,c);return}default:return}}function Vt(b){b=b|0;a[3416893]=(b&255)<2?b:0;return}function Wt(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=f&255;q=1969504+(w*160|0)|0;r=c[g>>2]|0;p=c[g+4>>2]|0;v=h<<2;QA(r|0,0,v|0)|0;QA(p|0,0,v|0)|0;if(!(a[1969504+(w*160|0)+130>>0]|0))return;m=(h|0)>0;v=1969504+(w*160|0)+136|0;k=0;do{a:do if((a[1969504+(w*160|0)+(k<<4)>>0]|0?(a[1969504+(w*160|0)+(k<<4)+12>>0]|0)==0:0)?(u=d[1969504+(w*160|0)+(k<<4)+2>>0]|0,t=d[1969504+(w*160|0)+(k<<4)+1>>0]|0,s=M(u&15,t)|0,t=M(u>>>4,t)|0,u=1969504+(w*160|0)+(k<<4)+10|0,m):0){n=1969504+(w*160|0)+(k<<4)+4|0;o=1969504+(w*160|0)+(k<<4)+8|0;l=0;do{Xt(q,(c[n>>2]|0)>>>11&65535,b[o>>1]|0);i=c[v>>2]|0;f=c[n>>2]|0;j=a[i+(f>>>11&65535)>>0]|0;g=j&255;if(j<<24>>24==-1){f=e[u>>1]|0;j=f<<11;c[n>>2]=j;f=a[i+f>>0]|0;if(f<<24>>24==-1)break a;else{g=f&255;f=j}}c[n>>2]=f+(e[o>>1]|0);if(!(g&128)){j=(M(g,s)|0)>>>5;i=r+(l<<2)|0;c[i>>2]=(c[i>>2]|0)-j;i=(M(g,t)|0)>>>5;j=p+(l<<2)|0;c[j>>2]=(c[j>>2]|0)-i}else{i=g&127;g=(M(i,s)|0)>>>5;j=r+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+g;i=(M(i,t)|0)>>>5;j=p+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+i}l=l+1|0}while((l|0)<(h|0))}while(0);k=k+1|0}while((k|0)!=8);if(!h)return;i=1969504+(w*160|0)+148|0;j=c[i>>2]|0;k=c[1969504+(w*160|0)+144>>2]|0;if(k>>>0<=j>>>0)return;l=1969504+(w*160|0)+152|0;f=(h<<11)+(e[l>>1]|0)|0;b[l>>1]=f;g=f&65535;if(g>>>0<=2047)return;h=g>>>11;b[l>>1]=f&2047;h=(h+j|0)>>>0>k>>>0?k-j|0:h;PA((c[v>>2]|0)+j|0,(c[1969504+(w*160|0)+156>>2]|0)+(j-(c[1969504+(w*160|0)+140>>2]|0))|0,h|0)|0;c[i>>2]=(c[i>>2]|0)+h;return}function Xt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+140|0;d=(d&65535)>2047?(d&65535)>>>11:1;e=a+148|0;f=c[e>>2]|0;if(f>>>0<=b>>>0)if((b-f|0)>>>0>(d*5|0)>>>0)return;else{a=f-(d<<2)|0;g=c[g>>2]|0;c[e>>2]=a>>>0>>0?g:a;return}if((f-b|0)>>>0>(d*5|0)>>>0)return;d=d<<2;if((f+d|0)>>>0<(c[a+144>>2]|0)>>>0){PA((c[a+136>>2]|0)+f|0,(c[a+156>>2]|0)+(f-(c[g>>2]|0))|0,d|0)|0;c[e>>2]=(c[e>>2]|0)+d;return}else{Yt(a);return}}function Yt(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+148|0;d=c[b>>2]|0;e=a+144|0;f=c[e>>2]|0;if(f>>>0<=d>>>0)return;PA((c[a+136>>2]|0)+d|0,(c[a+156>>2]|0)+(d-(c[a+140>>2]|0))|0,f-d|0)|0;c[b>>2]=c[e>>2];return}function Zt(b){b=b|0;c[492409]=65536;c[492410]=Hy(65536)|0;a[1969516]=0;a[1969532]=0;a[1969548]=0;a[1969564]=0;a[1969580]=0;a[1969596]=0;a[1969612]=0;a[1969628]=0;return ((b&2147483647)>>>0)/384|0|0}function _t(a){a=a|0;a=1969504+((a&255)*160|0)+136|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function $t(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=d&255;QA(c[1969504+(m*160|0)+136>>2]|0,0,c[1969504+(m*160|0)+132>>2]|0)|0;a[1969504+(m*160|0)+130>>0]=0;a[1969504+(m*160|0)+128>>0]=0;a[1969504+(m*160|0)+129>>0]=0;l=1969504+(m*160|0)|0;k=1969504+(m*160|0)+16|0;j=1969504+(m*160|0)+32|0;i=1969504+(m*160|0)+48|0;h=1969504+(m*160|0)+64|0;g=1969504+(m*160|0)+80|0;f=1969504+(m*160|0)+96|0;e=1969504+(m*160|0)+112|0;d=1969504+(m*160|0)+140|0;c[1969504+(m*160|0)+156>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b[d+12>>1]=0;return}function au(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0;i=e&255;h=1969504+(i*160|0)+128|0;e=d[h>>0]|0;do switch(f|0){case 0:{a[1969504+(i*160|0)+(e<<4)+1>>0]=g;return}case 1:{a[1969504+(i*160|0)+(e<<4)+2>>0]=g;return}case 2:{i=1969504+(i*160|0)+(e<<4)+8|0;b[i>>1]=b[i>>1]&-256&65535|g&255;return}case 3:{i=1969504+(i*160|0)+(e<<4)+8|0;b[i>>1]=(g&255)<<8|b[i>>1]&255;return}case 4:{i=1969504+(i*160|0)+(e<<4)+10|0;b[i>>1]=b[i>>1]&-256&65535|g&255;return}case 5:{i=1969504+(i*160|0)+(e<<4)+10|0;b[i>>1]=(g&255)<<8|b[i>>1]&255;return}case 6:{a[1969504+(i*160|0)+(e<<4)+3>>0]=g;if(a[1969504+(i*160|0)+(e<<4)>>0]|0)return;c[1969504+(i*160|0)+(e<<4)+4>>2]=(g&255)<<19;return}case 7:{e=g&255;a[1969504+(i*160|0)+130>>0]=(g&255)>>>7;if(!(e&64)){a[1969504+(i*160|0)+129>>0]=e&15;return}else{a[h>>0]=e&7;return}}case 8:{e=~(g&255);g=g&1^1;a[1969504+(i*160|0)>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+4>>2]=d[1969504+(i*160|0)+3>>0]<<19;g=e>>>1&1;a[1969504+(i*160|0)+16>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+20>>2]=d[1969504+(i*160|0)+19>>0]<<19;g=e>>>2&1;a[1969504+(i*160|0)+32>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+36>>2]=d[1969504+(i*160|0)+35>>0]<<19;g=e>>>3&1;a[1969504+(i*160|0)+48>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+52>>2]=d[1969504+(i*160|0)+51>>0]<<19;g=e>>>4&1;a[1969504+(i*160|0)+64>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+68>>2]=d[1969504+(i*160|0)+67>>0]<<19;g=e>>>5&1;a[1969504+(i*160|0)+80>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+84>>2]=d[1969504+(i*160|0)+83>>0]<<19;g=e>>>6&1;a[1969504+(i*160|0)+96>>0]=g;if(!(g<<24>>24))c[1969504+(i*160|0)+100>>2]=d[1969504+(i*160|0)+99>>0]<<19;g=e>>>7&1;a[1969504+(i*160|0)+112>>0]=g;if(g<<24>>24)return;c[1969504+(i*160|0)+116>>2]=d[1969504+(i*160|0)+115>>0]<<19;return}default:return}while(0)}function bu(b,e,f){b=b|0;e=e|0;f=f|0;b=b&255;Yt(1969504+(b*160|0)|0);a[(c[1969504+(b*160|0)+136>>2]|0)+((d[1969504+(b*160|0)+129>>0]|0)<<12|e)>>0]=f;return}function cu(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=a&255;e=(d[1969504+(h*160|0)+129>>0]|0)<<12|e;a=c[1969504+(h*160|0)+132>>2]|0;if(a>>>0<=e>>>0)return;a=(e+f|0)>>>0>a>>>0?a-e|0:f;Yt(1969504+(h*160|0)|0);c[1969504+(h*160|0)+140>>2]=e;f=1969504+(h*160|0)+148|0;c[f>>2]=e;i=a+e|0;c[1969504+(h*160|0)+144>>2]=i;b[1969504+(h*160|0)+152>>1]=0;c[1969504+(h*160|0)+156>>2]=g;a=(e+64|0)>>>0>i>>>0?a&65535:64;PA((c[1969504+(h*160|0)+136>>2]|0)+e|0,g|0,a|0)|0;c[f>>2]=(c[f>>2]|0)+a;return}function du(b,c){b=b|0;c=c|0;b=b&255;a[1969504+(b*160|0)+12>>0]=c&1;a[1969504+(b*160|0)+28>>0]=c>>>1&1;a[1969504+(b*160|0)+44>>0]=c>>>2&1;a[1969504+(b*160|0)+60>>0]=c>>>3&1;a[1969504+(b*160|0)+76>>0]=c>>>4&1;a[1969504+(b*160|0)+92>>0]=c>>>5&1;a[1969504+(b*160|0)+108>>0]=c>>>6&1;a[1969504+(b*160|0)+124>>0]=c>>>7&1;return}function eu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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;y=b&255;z=c[1969824+(y*60|0)+36>>2]|0;u=f<<2;QA(c[e>>2]|0,0,u|0)|0;A=e+4|0;QA(c[A>>2]|0,0,u|0)|0;u=1969824+(y*60|0)+24|0;v=1969824+(y*60|0)+32|0;w=1969824+(y*60|0)+28|0;x=(f|0)>0;t=c[1969824+(y*60|0)>>2]|0;s=0;do{i=t+(s<<3)|0;o=i+134|0;h=a[o>>0]|0;b=h&255;if((b&1|0)==0?(a[1969824+(y*60|0)+44+s>>0]|0)==0:0){m=(c[u>>2]|0)+((c[v>>2]&b)<>2])|0;p=i+133|0;q=i+132|0;r=1969824+(y*60|0)+4+s|0;g=d[q>>0]<<8|d[p>>0]<<16|d[r>>0];n=d[i+4>>0]<<8|d[i+5>>0]<<16;do if(x){j=(a[i+6>>0]|0)+1&255;k=i+2|0;l=i+3|0;i=i+7|0;h=0;while(1){if((g>>>16|0)==(j|0)){b=a[o>>0]|0;if(!(b&2))g=n;else{h=8;break}}B=(d[m+(g>>>8&z)>>0]<<24^-2147483648)>>24;C=M(B,a[k>>0]&127)|0;b=(c[e>>2]|0)+(h<<2)|0;c[b>>2]=C+(c[b>>2]|0);B=M(B,a[l>>0]&127)|0;b=(c[A>>2]|0)+(h<<2)|0;c[b>>2]=B+(c[b>>2]|0);g=g+(d[i>>0]|0)&16777215;h=h+1|0;if((h|0)>=(f|0)){h=10;break}}if((h|0)==8){b=b|1;a[o>>0]=b;break}else if((h|0)==10){b=a[o>>0]|0;break}}else b=h;while(0);a[q>>0]=g>>>8;a[p>>0]=g>>>16;a[r>>0]=(b&1)==0?g&255:0}s=s+1|0}while((s|0)!=16);return}function fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((a&255)>1){d=0;return d|0}a=a&255;c[1969824+(a*60|0)+40>>2]=d;c[1969824+(a*60|0)+20>>2]=524288;e=Hy(524288)|0;c[1969824+(a*60|0)+24>>2]=e;c[1969824+(a*60|0)>>2]=Hy(2048)|0;QA(e|0,-128,524288)|0;e=d&255;c[1969824+(a*60|0)+28>>2]=e;d=d>>16;c[1969824+(a*60|0)+36>>2]=524287;c[1969824+(a*60|0)+32>>2]=524287>>>e&((d|0)==0?112:d);d=1969824+(a*60|0)+44|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;d=(b|0)/128|0;return d|0}function gu(a){a=a|0;var b=0;a=a&255;b=1969824+(a*60|0)+24|0;Iy(c[b>>2]|0);c[b>>2]=0;Iy(c[1969824+(a*60|0)>>2]|0);return}function hu(a){a=a|0;QA(c[1969824+((a&255)*60|0)>>2]|0,-1,2048)|0;return}function iu(b,d,e){b=b|0;d=d|0;e=e|0;a[(c[1969824+((b&255)*60|0)>>2]|0)+(d&2047)>>0]=e;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=a&255;a=1969824+(h*60|0)+20|0;if((c[a>>2]|0)!=(b|0)){i=1969824+(h*60|0)+24|0;g=Ky(c[i>>2]|0,b)|0;c[i>>2]=g;c[a>>2]=b;QA(g|0,-128,b|0)|0;g=c[1969824+(h*60|0)+40>>2]>>16;a=1;while(1)if(a>>>0>>0)a=a<<1;else break;i=a+-1|0;c[1969824+(h*60|0)+36>>2]=i;c[1969824+(h*60|0)+32>>2]=i>>>(c[1969824+(h*60|0)+28>>2]|0)&((g|0)==0?112:g)}if(b>>>0>>0)return;PA((c[1969824+(h*60|0)+24>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function ku(b,c){b=b|0;c=c|0;b=b&255;a[1969824+(b*60|0)+44>>0]=c&1;a[1969824+(b*60|0)+45>>0]=c>>>1&1;a[1969824+(b*60|0)+46>>0]=c>>>2&1;a[1969824+(b*60|0)+47>>0]=c>>>3&1;a[1969824+(b*60|0)+48>>0]=c>>>4&1;a[1969824+(b*60|0)+49>>0]=c>>>5&1;a[1969824+(b*60|0)+50>>0]=c>>>6&1;a[1969824+(b*60|0)+51>>0]=c>>>7&1;a[1969824+(b*60|0)+52>>0]=c>>>8&1;a[1969824+(b*60|0)+53>>0]=c>>>9&1;a[1969824+(b*60|0)+54>>0]=c>>>10&1;a[1969824+(b*60|0)+55>>0]=c>>>11&1;a[1969824+(b*60|0)+56>>0]=c>>>12&1;a[1969824+(b*60|0)+57>>0]=c>>>13&1;a[1969824+(b*60|0)+58>>0]=c>>>14&1;a[1969824+(b*60|0)+59>>0]=c>>>15&1;return}function lu(a){a=a|0;c[492489]=0;c[492504]=0;c[492516]=0;c[492528]=0;c[492540]=0;c[492552]=0;c[492564]=0;c[492576]=0;c[492588]=0;c[492589]=65536;c[492590]=Hy(65536)|0;mu(0);nu(a);return}function mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=a&255;QA(c[1969952+(a*412|0)+408>>2]|0,0,c[1969952+(a*412|0)+404>>2]|0)|0;j=1969952+(a*412|0)+8|0;i=1969952+(a*412|0)+36|0;c[1969952+(a*412|0)+68>>2]=0;c[1969952+(a*412|0)+72>>2]=0;h=1969952+(a*412|0)+84|0;c[1969952+(a*412|0)+116>>2]=0;c[1969952+(a*412|0)+120>>2]=0;g=1969952+(a*412|0)+132|0;c[1969952+(a*412|0)+164>>2]=0;c[1969952+(a*412|0)+168>>2]=0;f=1969952+(a*412|0)+180|0;c[1969952+(a*412|0)+212>>2]=0;c[1969952+(a*412|0)+216>>2]=0;e=1969952+(a*412|0)+228|0;c[1969952+(a*412|0)+260>>2]=0;c[1969952+(a*412|0)+264>>2]=0;d=1969952+(a*412|0)+276|0;c[1969952+(a*412|0)+308>>2]=0;c[1969952+(a*412|0)+312>>2]=0;b=1969952+(a*412|0)+324|0;c[1969952+(a*412|0)+356>>2]=0;c[1969952+(a*412|0)+360>>2]=0;a=1969952+(a*412|0)+372|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function nu(a){a=a|0;var b=0.0;if(!a)return;b=32563.19921875/+(a|0);g[492488]=b;c[492500]=~~(b*+((c[492501]|0)>>>0));c[492512]=~~(b*+((c[492513]|0)>>>0));c[492524]=~~(b*+((c[492525]|0)>>>0));c[492536]=~~(b*+((c[492537]|0)>>>0));c[492548]=~~(b*+((c[492549]|0)>>>0));c[492560]=~~(b*+((c[492561]|0)>>>0));c[492572]=~~(b*+((c[492573]|0)>>>0));c[492584]=~~(b*+((c[492585]|0)>>>0));return}function ou(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0;k=a&255;a=1969952+(k*412|0)|0;e=1969952+(k*412|0)+12|0;f=c[e>>2]|0;h=1969952+(k*412|0)+20+(f*48|0)|0;l=d&255;do switch(b|0){case 0:{c[h>>2]=l;j=c[1969952+(k*412|0)+20+(f*48|0)+4>>2]|0;c[1969952+(k*412|0)+20+(f*48|0)+8>>2]=(M(j&15,l)|0)>>>5;c[1969952+(k*412|0)+20+(f*48|0)+12>>2]=(M(j>>>4,l)|0)>>>5;return}case 1:{c[1969952+(k*412|0)+20+(f*48|0)+4>>2]=l;j=c[h>>2]|0;c[1969952+(k*412|0)+20+(f*48|0)+8>>2]=(M(j,d&15)|0)>>>5;c[1969952+(k*412|0)+20+(f*48|0)+12>>2]=(M(j,l>>>4)|0)>>>5;return}case 2:{j=1969952+(k*412|0)+20+(f*48|0)+32|0;l=c[j>>2]&65280|l;c[j>>2]=l;c[1969952+(k*412|0)+20+(f*48|0)+28>>2]=~~(+g[a>>2]*+(l>>>0));return}case 3:{j=1969952+(k*412|0)+20+(f*48|0)+32|0;l=c[j>>2]&255|l<<8;c[j>>2]=l;c[1969952+(k*412|0)+20+(f*48|0)+28>>2]=~~(+g[a>>2]*+(l>>>0));return}case 4:{k=1969952+(k*412|0)+20+(f*48|0)+20|0;c[k>>2]=c[k>>2]&65280|l;return}case 5:{k=1969952+(k*412|0)+20+(f*48|0)+20|0;c[k>>2]=c[k>>2]&255|l<<8;return}case 6:{c[1969952+(k*412|0)+20+(f*48|0)+16>>2]=l<<19;return}case 7:{if(!(d&64))c[1969952+(k*412|0)+16>>2]=d<<12&61440;else c[e>>2]=d&7;a=1969952+(k*412|0)+8|0;if(!(d&128)){c[a>>2]=0;return}else{c[a>>2]=255;return}}case 8:{f=1969952+(k*412|0)+56|0;if(!(c[f>>2]|0))c[1969952+(k*412|0)+44>>2]=c[1969952+(k*412|0)+36>>2];h=1969952+(k*412|0)+104|0;if(!(c[h>>2]|0))c[1969952+(k*412|0)+92>>2]=c[1969952+(k*412|0)+84>>2];b=1969952+(k*412|0)+152|0;if(!(c[b>>2]|0))c[1969952+(k*412|0)+140>>2]=c[1969952+(k*412|0)+132>>2];d=1969952+(k*412|0)+200|0;if(!(c[d>>2]|0))c[1969952+(k*412|0)+188>>2]=c[1969952+(k*412|0)+180>>2];i=1969952+(k*412|0)+248|0;if(!(c[i>>2]|0))c[1969952+(k*412|0)+236>>2]=c[1969952+(k*412|0)+228>>2];j=1969952+(k*412|0)+296|0;if(!(c[j>>2]|0))c[1969952+(k*412|0)+284>>2]=c[1969952+(k*412|0)+276>>2];a=1969952+(k*412|0)+344|0;if(!(c[a>>2]|0))c[1969952+(k*412|0)+332>>2]=c[1969952+(k*412|0)+324>>2];e=1969952+(k*412|0)+392|0;if(!(c[e>>2]|0))c[1969952+(k*412|0)+380>>2]=c[1969952+(k*412|0)+372>>2];l=l^255;c[f>>2]=l&1;c[h>>2]=l&2;c[b>>2]=l&4;c[d>>2]=l&8;c[i>>2]=l&16;c[j>>2]=l&32;c[a>>2]=l&64;c[e>>2]=l&128;return}default:return}while(0)}function pu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b&255;v=f<<2;QA(d|0,0,v|0)|0;QA(e|0,0,v|0)|0;if(!(c[1969952+(r*412|0)+8>>2]|0))return;t=(f|0)>0;u=1969952+(r*412|0)+408|0;v=1969952+(r*412|0)+4|0;o=0;do{if(c[1969952+(r*412|0)+20+(o*48|0)+36>>2]|0?(c[1969952+(r*412|0)+20+(o*48|0)+44>>2]|0)==0:0){p=1969952+(r*412|0)+20+(o*48|0)+24|0;g=c[p>>2]|0;b=g>>>11;q=1969952+(r*412|0)+20+(o*48|0)+20|0;s=c[u>>2]|0;a:do if(t){k=1969952+(r*412|0)+20+(o*48|0)+40|0;l=1969952+(r*412|0)+20+(o*48|0)+28|0;m=1969952+(r*412|0)+20+(o*48|0)+8|0;n=1969952+(r*412|0)+20+(o*48|0)+12|0;j=0;do{i=a[s+b>>0]|0;h=i&255;b:do if(i<<24>>24!=-1){if(!(h&128)){c[k>>2]=h;if(!(i<<24>>24))if(!(c[v>>2]|0))h=0;else{c[k>>2]=-127;h=-127}w=M(c[m>>2]|0,h)|0;i=d+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+w;h=M(c[n>>2]|0,h)|0;i=e+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+h}else{i=h&127;c[k>>2]=i;h=M(c[m>>2]|0,i)|0;w=d+(j<<2)|0;c[w>>2]=(c[w>>2]|0)-h;i=M(c[n>>2]|0,i)|0;w=e+(j<<2)|0;c[w>>2]=(c[w>>2]|0)-i}g=(c[l>>2]|0)+g&134217727;c[p>>2]=g;h=g>>>11;b=b+1|0;if(b>>>0>>0){while(1){if((a[s+b>>0]|0)==-1)break;b=b+1|0;if(b>>>0>=h>>>0){b=h;h=j;break b}}b=c[q>>2]|0;g=b<<11;c[p>>2]=g;h=j}else{b=h;h=j}}else{b=c[q>>2]|0;g=b<<11;c[p>>2]=g;if((a[s+b>>0]|0)==-1)break a;h=j+-1|0}while(0);j=h+1|0}while((j|0)<(f|0))}while(0);if((a[s+b>>0]|0)==-1)c[p>>2]=c[q>>2]<<11}o=o+1|0}while((o|0)!=8);return}function qu(a,b,d){a=a|0;b=b|0;d=d|0;pu(a,c[b>>2]|0,c[b+4>>2]|0,d);return}function ru(b){b=b|0;var d=0,e=0,f=0;d=((b&2147483647)>>>0)/384|0;f=a[3416903]|0;e=c[853966]|0;d=f<<24>>24==2|(f&1)!=0&(d|0)<(e|0)?e:d;lu(d);c[492489]=b>>>31;return d|0}function su(a){a=a|0;a=1969952+((a&255)*412|0)+408|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function tu(a){a=a|0;mu(a);return}function uu(a,b,c){a=a|0;b=b|0;c=c|0;ou(a,b,c&255);return}function vu(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;a[(c[1969952+(b*412|0)+408>>2]|0)+(c[1969952+(b*412|0)+16>>2]|d)>>0]=e;return}function wu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a&255;a=c[1969952+(f*412|0)+16>>2]|b;b=c[1969952+(f*412|0)+404>>2]|0;if(b>>>0<=a>>>0)return;PA((c[1969952+(f*412|0)+408>>2]|0)+a|0,e|0,((a+d|0)>>>0>b>>>0?b-a|0:d)|0)|0;return}function xu(a,b){a=a|0;b=b|0;a=a&255;c[1969952+(a*412|0)+64>>2]=b&1;c[1969952+(a*412|0)+112>>2]=b>>>1&1;c[1969952+(a*412|0)+160>>2]=b>>>2&1;c[1969952+(a*412|0)+208>>2]=b>>>3&1;c[1969952+(a*412|0)+256>>2]=b>>>4&1;c[1969952+(a*412|0)+304>>2]=b>>>5&1;c[1969952+(a*412|0)+352>>2]=b>>>6&1;c[1969952+(a*412|0)+400>>2]=b>>>7&1;return}function yu(a,b,c){a=a|0;b=b|0;c=c|0;zu(1970784+((a&255)*535376|0)|0,b,c);return}function zu(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if((g|0)<=0)return;o=d+4400|0;p=d+533392|0;n=c[f+4>>2]|0;l=c[f>>2]|0;m=0;while(1){k=0;h=0;f=0;i=a[o>>0]|0;do{c[853951]=d+4144+((i&255)<<1);if((a[d+48+(k<<7)+33>>0]|0)!=0?(a[d+48+(k<<7)+34>>0]|0)==0:0){i=Au(d,d+48+(k<<7)|0)|0;j=d+48+(k<<7)+12|0;if(!(a[49963]|0)){q=e[d+48+(k<<7)+20>>1]|0;Bu(p,(M(c[d+8552+((q<<13&57344|b[j>>1]&255)<<2)>>2]|0,i)|0)>>10,q>>>3&15)}q=e[d+48+(k<<7)+22>>1]|0;q=q&7936|b[j>>1]&255|q&57344;f=((M(c[d+8552+(q<<2)>>2]|0,i)|0)>>12)+f|0;h=((M(c[d+270696+(q<<2)>>2]|0,i)|0)>>12)+h|0;i=a[o>>0]|0}i=i+1&63;a[o>>0]=i;k=k+1|0}while((k|0)!=32);if(!(a[49963]|0)){Cu(p);j=0;do{i=e[d+48+(j<<7)+22>>1]|0;if(i&224){q=b[d+535336+(j<<1)>>1]|0;k=i<<8&65280;f=((M(c[d+8552+(k<<2)>>2]|0,q)|0)>>12)+f|0;h=((M(c[d+270696+(k<<2)>>2]|0,q)|0)>>12)+h|0}j=j+1|0}while((j|0)!=16)}c[l>>2]=f;c[n>>2]=h;m=m+1|0;if((m|0)==(g|0))break;else{n=n+4|0;l=l+4|0}}return}function Au(f,g){f=f|0;g=g|0;var h=0,i=0,j=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=k;k=k+32|0;r=A+20|0;s=A+16|0;w=A+8|0;x=A;h=c[g+48>>2]|0;c[w>>2]=r;c[w+4>>2]=s;t=g+40|0;c[x>>2]=t;p=g+44|0;c[x+4>>2]=p;i=b[g>>1]|0;if(i&384){f=0;k=A;return f|0}z=g+18|0;if(!(b[z>>1]&224))v=i;else{h=(M(Fu(g+88|0)|0,h)|0)>>12;v=b[g>>1]|0}i=v&16;o=c[t>>2]|0;if(!(i<<16>>16)){l=o>>>11&524286;c[r>>2]=l;n=(c[p>>2]|0)>>>11&524286}else{l=o>>>12;c[r>>2]=l;n=(c[p>>2]|0)>>>12}c[s>>2]=n;q=b[g+14>>1]|0;j=q&65535;if(q<<16>>16){q=d[f+4400>>0]|0;q=(((b[f+4144+((q+j&63)<<1)>>1]|0)+(b[f+4144+(((j>>>6)+q&63)<<1)>>1]|0)|0)/2|0)<<10>>26-(j>>>12)<<(((i&65535)>>>4^1)&65535);l=q+l|0;c[r>>2]=l;n=q+n|0;c[s>>2]=n}q=v&65535;j=c[f+4404>>2]|0;m=q<<16&983040|e[g+2>>1];i=m+l|0;if(!(q&16)){q=o&4095;i=(M(q,b[j+(n+m&524286)>>1]|0)|0)+(M(4096-q|0,b[j+(i&524286)>>1]|0)|0)|0}else{q=o&4095;i=(M(q,a[j+(n+m&524287)>>0]|0)|0)+(M(4096-q|0,a[j+(i&524287)>>0]|0)|0)<<8}i=i>>12;i=(v&512)==0?i:i^32767;i=(v&1024)==0?i:(i<<16^-2147483648)>>16;q=g+32|0;n=(a[q>>0]|0)==0;m=(n?h:0-h|0)+o|0;c[t>>2]=m;o=m+4096|0;c[p>>2]=o;t=m>>>12;c[r>>2]=t;c[s>>2]=o>>>12;o=g+4|0;if((!(t>>>0<(e[o>>1]|0)>>>0|n^1)?b[g+10>>1]&16384:0)?(u=g+56|0,(c[u>>2]|0)==0):0)c[u>>2]=1;n=g+6|0;h=0;j=(v&65535)>>>5&255;a:while(1){b:do switch(j&3){case 0:{v=c[c[w+(h<<2)>>2]>>2]|0;if(v>>>0>=(e[o>>1]|0)>>>0?v>>>0>=(e[n>>1]|0)>>>0:0)Gu(g,0);break}case 1:{j=e[n>>1]|0;if((c[c[w+(h<<2)>>2]>>2]|0)>>>0>=j>>>0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(c[v>>2]|0)-(j<<12)+(e[o>>1]<<12)}break}case 2:{j=e[o>>1]|0;do if((c[c[w+(h<<2)>>2]>>2]|0)>>>0>=j>>>0){l=c[x+(h<<2)>>2]|0;m=c[l>>2]|0;if(a[q>>0]|0)if((m|0)<0)break;else break b;else{c[l>>2]=(j<<12)-m+(e[n>>1]<<12);a[q>>0]=1;break b}}while(0);if(a[q>>0]|0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(c[v>>2]|0)-(j<<12)+(e[n>>1]<<12)}break}case 3:{l=c[c[w+(h<<2)>>2]>>2]|0;j=e[n>>1]|0;if(l>>>0>=j>>>0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(j<<13)-(c[v>>2]|0);a[q>>0]=1;break b}j=e[o>>1]|0;if(l>>>0>=j>>>0?(c[c[x+(h<<2)>>2]>>2]|0)>=0:0)break b;if(a[q>>0]|0){v=c[x+(h<<2)>>2]|0;c[v>>2]=(j<<13)-(c[v>>2]|0);a[q>>0]=0}break}default:{y=35;break a}}while(0);h=h+1|0;if(h>>>0>=2)break;j=(e[g>>1]|0)>>>5&255}j=g+12|0;do if(!(b[j>>1]&256)){if(b[z>>1]&7)i=(M(Hu(g+104|0)|0,i)|0)>>12;z=(c[g+56>>2]|0)==0;h=Iu(g)|0;if(z){i=(M(h,i)|0)>>12;break}else{i=(M(c[f+4456+(h>>2<<2)>>2]|0,i)|0)>>12;break}}while(0);h=e[j>>1]|0;if(h&512|0){f=i;k=A;return f|0}if(!(h&256)){f=(M(c[f+8552+((h&255|57344)<<2)>>2]|0,i)|0)>>>13&65535;b[c[853951]>>1]=f;f=i;k=A;return f|0}else{f=(M(c[f+237928>>2]|0,i)|0)>>>13&65535;b[c[853951]>>1]=f;f=i;k=A;return f|0}return 0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;d=a+1876+(d<<2)|0;c[d>>2]=(c[d>>2]|0)+b;return}function Cu(a){a=a|0;var d=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;if(c[a+1976>>2]|0)return;O=a+1944|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[O+24>>2]=0;c[O+28>>2]=0;O=a+1980|0;Q=a+1872|0;a:do if((c[O>>2]|0)>0){P=a+8|0;L=a+12|0;f=0;k=0;I=0;d=0;J=0;K=0;b:while(1){D=a+208+(J<<2<<1)|0;u=e[D>>1]|0;o=u>>>8;v=u&128;q=b[D+2>>1]|0;p=q&65535;h=p>>>6&63;i=p&32;j=p&31;B=e[D+4>>1]|0;z=B&16384;y=B&8192;M=B&4096;N=B>>>8&15;G=B&128;w=B&64;s=B>>>4;H=s&3;t=B&8;n=B&4;l=B&2;m=B&1;D=e[D+6>>1]|0;F=D>>>15;r=D>>>9&63;A=D>>>2&31;C=D&2;D=D&1;do if(h>>>0>=32)if(h>>>0>=48)if(h>>>0<50){g=0;break}else{d=54;break b}else{g=c[a+1876+(h+-32<<2)>>2]<<4;break}else g=c[a+1744+(h<<2)>>2]|0;while(0);g=g<<8>>8;if(!i)E=g;else{c[a+1744+(j<<2)>>2]=f;E=(h|0)==(j|0)?f:g}if(!l){if(!m)g=c[a+1232+(((c[Q>>2]|0)+o&127)<<2)>>2]<<8>>8;else g=K;i=(n|0)==0?g:0-g|0}else i=0;if(!(p&32768))h=c[a+1232+(((c[Q>>2]|0)+o&127)<<2)>>2]<<8>>8;else h=E;switch((q&65535)>>>13&3){case 0:{g=k;break}case 1:{g=b[a+16+(r<<1)>>1]>>3;break}case 2:{g=I>>>11&8191;break}case 3:{g=I>>>4&4095;break}default:{d=21;break b}}I=(t|0)==0?I:E;switch(s&3){case 0:{l=(K|0)<8388607?K:8388607;l=(l|0)>-8388608?l:-8388608;break}case 1:{l=K<<1;l=(l|0)<8388607?l:8388607;l=(l|0)>-8388608?l:-8388608;break}case 2:{l=K<<9>>8;break}case 3:{l=K<<8>>8;break}default:{d=27;break b}}K=g<<19>>19;K=JA(K|0,((K|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;K=MA(K|0,x|0,12)|0;K=i+K|0;if(v|0)c[a+1232+(((c[Q>>2]|0)+u&127)<<2)>>2]=l;do if(w)if((H|0)==3){k=l&4095;break}else{k=l>>>11&8191;break}while(0);i=(y|0)==0;j=(z|0)==0;do if(B&24576){g=e[a+144+(A<<1)>>1]|0;if(!(B&32768)){h=((C|0)==0?0:d&4095)+D+((c[Q>>2]|0)+g)|0;g=(c[L>>2]|0)+-1|0}else{h=65535;g=((C|0)==0?0:d&4095)+D+g|0}h=(c[P>>2]<<12)+(g&h)|0;h=h>>>0>524287?0:h;g=(J&1|0)==0;do if(!(g|i)){f=b[(c[a>>2]|0)+(h<<1)>>1]|0;if(!F){f=Du(f)|0;break}else{f=(f&65535)<<8;break}}while(0);if(!(g|j))if(!F){F=Eu(l)|0;b[(c[a>>2]|0)+(h<<1)>>1]=F;break}else{b[(c[a>>2]|0)+(h<<1)>>1]=l>>>8;break}}while(0);do if(G)if((H|0)==3){d=l>>>12&4095;break}else{d=E>>16;break}while(0);if(M|0){N=a+1944+(N<<1)|0;b[N>>1]=(l>>>8)+(e[N>>1]|0)}J=J+1|0;if((J|0)>=(c[O>>2]|0))break a}if((d|0)!=21)if((d|0)!=27)if((d|0)==54)return}while(0);c[Q>>2]=(c[Q>>2]|0)+-1;d=a+1876|0;f=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));return}function Du(a){a=a|0;var b=0,c=0,d=0;d=a&65535;c=d>>>15;a=d>>>11&15;b=a>>>0>11;d=d<<11&4192256|c<<22;return ((b?d:d^4194304)|c<<23)<<8>>8>>(b?11:a)|0}function Eu(a){a=a|0;var b=0,c=0,d=0,e=0;b=a<<1^a;if(!(b&8388608)){b=b&16777215;d=0;while(1){d=d+1|0;c=d>>>0<12;if(!((b&4194304|0)==0&c))break;else b=b<<1}if(c){c=d;b=a<>>8&32768|b>>>11&2047)&65535|0}function Fu(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+((c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]|0)+128<<2)>>2]<<4|0}function Gu(d,e){d=d|0;e=e|0;if(!e)a[d+33>>0]=0;else c[d+56>>2]=3;b[d>>1]=b[d>>1]&-2049;return}function Hu(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+(c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]<<2)>>2]<<4|0}function Iu(d){d=d|0;var f=0,g=0,h=0;h=d+52|0;g=d+56|0;a:do switch(c[g>>2]|0){case 0:{f=(c[h>>2]|0)+(c[d+64>>2]|0)|0;c[h>>2]=f;if((f|0)>67043327){if(!(b[d+10>>1]&16384))c[g>>2]=(c[d+68>>2]|0)>67108863?2:1;c[h>>2]=67043328;f=67043328}if(a[d+84>>0]|0){d=4092;return d|0}break}case 1:{f=(c[h>>2]|0)-(c[d+68>>2]|0)|0;f=(f|0)>0?f:0;c[h>>2]=f;if((f>>>21|0)<=(c[d+80>>2]|0))c[g>>2]=2;break}case 2:{if((e[d+8>>1]|0)>=2048){f=(c[h>>2]|0)-(c[d+72>>2]|0)|0;f=(f|0)>0?f:0;c[h>>2]=f;break a}d=c[h>>2]>>16<<2;return d|0}case 3:{f=(c[h>>2]|0)-(c[d+76>>2]|0)|0;c[h>>2]=f;if((f|0)<1){c[h>>2]=0;Gu(d,0);f=c[h>>2]|0}break}default:{d=4096;return d|0}}while(0);d=f>>16<<2;return d|0}function Ju(a,b){a=a|0;b=b|0;var d=0;d=a&255;if((a&255)>1){d=0;return d|0}Ku(1970784+(d*535376|0)|0,(b|0)<1e6?b<<9:b);d=c[1970784+(d*535376|0)+4416>>2]|0;return d|0}function Ku(d,e){d=d|0;e=e|0;var f=0,i=0.0,j=0.0,k=0.0,l=0,m=0.0;QA(d|0,0,535376)|0;l=d+533392|0;Lu(l);c[d+4412>>2]=e;c[d+4416>>2]=(e|0)/512|0;a[d+4454>>0]=0;a[d+4455>>0]=0;a[d+4420>>0]=0;a[d+4421>>0]=0;c[d+4408>>2]=524288;e=Hy(524288)|0;c[d+4404>>2]=e;c[d+533396>>2]=262144;c[l>>2]=e;e=0;do{c[d+4456+(e<<2)>>2]=~~(+B(10.0,+(+((e*3|0)+-3069|0)*.03125/20.0))*4096.0);e=e+1|0}while((e|0)!=1024);f=0;do{e=f>>>13&7;j=(f&1|0)==0?0.0:-.4000000059604645;j=(f&2|0)==0?j:j+-.800000011920929;j=(f&4|0)==0?j:j+-1.5;j=(f&8|0)==0?j:j+-3.0;j=(f&16|0)==0?j:j+-6.0;j=(f&32|0)==0?j:j+-12.0;j=(f&64|0)==0?j:j+-24.0;j=+B(10.0,+(((f&128|0)==0?j:j+-48.0)/20.0));k=(f&256|0)==0?0.0:-3.0;k=(f&512|0)==0?k:k+-6.0;k=(f&1024|0)==0?k:k+-12.0;k=+B(10.0,+(((f&2048|0)==0?k:k+-24.0)/20.0));l=(f&4096|0)==0;if(!e)i=0.0;else i=+B(10.0,+(+g[37488+(e<<2)>>2]/20.0));m=(f&3840|0)==3840?0.0:k*4.0;k=i;c[d+8552+(f<<2)>>2]=~~((l?m:4.0)*j*k*4096.0)>>>0;c[d+270696+(f<<2)>>2]=~~((l?4.0:m)*j*k*4096.0)>>>0;f=f+1|0}while((f|0)!=65536);c[d+533136>>2]=0;c[d+532880>>2]=0;c[d+533140>>2]=0;c[d+532884>>2]=0;e=2;do{if((e|1|0)==63)f=67108864;else f=~~(1023.0e3/(+h[37520+(e<<3)>>3]*44100.0)*65536.0);c[d+532880+(e<<2)>>2]=f;c[d+533136+(e<<2)>>2]=~~(1023.0e3/(+h[38032+(e<<3)>>3]*44100.0)*65536.0);e=e+1|0}while((e|0)!=64);e=0;do{c[d+48+(e<<7)+120>>2]=e;a[d+48+(e<<7)+33>>0]=0;c[d+48+(e<<7)+36>>2]=0;c[d+48+(e<<7)+56>>2]=3;e=e+1|0}while((e|0)!=32);Mu();b[d+32>>1]=0;c[d+532852>>2]=65535;c[d+532856>>2]=65535;c[d+532860>>2]=65535;return}function Lu(a){a=a|0;QA(a|0,0,1984)|0;c[a+12>>2]=32768;c[a+1976>>2]=1;return}function Mu(){var b=0,d=0.0,e=0,f=0,h=0,i=0;if(a[3416895]|0)return;f=0;do{i=f>>>0<128;c[3041536+(f<<2)>>2]=255-f;c[3042560+(f<<2)>>2]=i?f:f+-256|0;c[3043584+(f<<2)>>2]=i?255:0;c[3044608+(f<<2)>>2]=i?127:-128;e=f<<1;b=255-e|0;h=i?b:e+-256|0;do if(!i)if(f>>>0<192){b=256-e|0;break}else{b=e+-511|0;break}else b=f>>>0<64?e:b;while(0);c[3045632+(f<<2)>>2]=h;c[3046656+(f<<2)>>2]=b;i=(rA()|0)&255;c[3047680+(f<<2)>>2]=i;c[3048704+(f<<2)>>2]=128-i;f=f+1|0}while((f|0)!=256);e=0;do{d=+g[38544+(e<<2)>>2];b=-128;do{c[3049728+(e<<10)+(b+128<<2)>>2]=~~(+ma(+(d*+(b|0)*.0078125/1200.0))*256.0)>>>0;b=b+1|0}while((b|0)!=128);d=+g[38576+(e<<2)>>2];b=0;do{c[3057920+(e<<10)+(b<<2)>>2]=~~(+B(10.0,+(-(d*+(b|0))*.00390625/20.0))*256.0)>>>0;b=b+1|0}while((b|0)!=256);e=e+1|0}while((e|0)!=8);a[3416895]=1;return}function Nu(a){a=a|0;a=1970784+((a&255)*535376|0)+4404|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Ou(b){b=b|0;var d=0;d=b&255;b=0;do{c[1970784+(d*535376|0)+48+(b<<7)+120>>2]=b;a[1970784+(d*535376|0)+48+(b<<7)+33>>0]=0;c[1970784+(d*535376|0)+48+(b<<7)+36>>2]=0;c[1970784+(d*535376|0)+48+(b<<7)+56>>2]=3;b=b+1|0}while((b|0)!=32);b=1970784+(d*535376|0)+533392|0;Lu(b);c[1970784+(d*535376|0)+533396>>2]=(c[1970784+(d*535376|0)+4408>>2]|0)>>>1;c[b>>2]=c[1970784+(d*535376|0)+4404>>2];return}function Pu(a,d){a=a|0;d=d|0;var e=0,f=0;f=d&65535;if(f>>>0<1024){d=b[a+48+(f>>>5<<7)+(d&31)>>1]|0;return d|0}if(f>>>0<1536){e=d&63;if(f>>>0>=1072){d=0;return d|0}Qu(a,e);d=b[a+e>>1]|0;return d|0}if(f>>>0<1792){d=b[a+4144+((f+-1536|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<1920){d=b[a+533408+((f+-1792|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<1984){d=b[a+533536+((f+-1920|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<2048){d=b[a+533536+((f+-1984|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<3072){d=b[a+533600+((f+-2048|0)>>>1<<1)>>1]|0;return d|0}if(f>>>0<3584){e=c[a+534624+((d>>>2&127)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}}if(f>>>0<3712){e=c[a+535136+((d>>>2&31)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}}if(f>>>0>=3776){if(f>>>0>=3808){d=-1;return d|0}d=b[a+535336+((f+-3776|0)>>>1<<1)>>1]|0;return d|0}e=c[a+535268+((d>>>2&15)<<2)>>2]|0;if(!(d&2)){d=e>>>16&65535;return d|0}else{d=e&65535;return d|0}return 0}function Qu(f,g){f=f|0;g=g|0;var h=0,i=0,j=0;switch(g&63){case 5:case 4:{h=f+4|0;i=f+4455|0;j=a[i>>0]|0;g=(d[(j&255)+(f+4422)>>0]|b[h>>1]&-256&65535)&65535;if(j<<24>>24!=(a[f+4454>>0]|0))a[i>>0]=j+1&31;b[h>>1]=g;return}case 9:case 8:{j=f+8|0;i=(e[j>>1]|0)>>>11&65535;b[j>>1]=(c[f+48+(i<<7)+40>>2]|0)>>>17&1920|c[f+48+(i<<7)+56>>2]<<5&96|31-((c[f+48+(i<<7)+52>>2]|0)>>>21)&31;return}case 44:case 45:{b[f+44>>1]=b[f+532878>>1]|0;return}case 42:case 43:{b[f+42>>1]=b[f+532876>>1]|0;return}default:return}}function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=1970784+((a&255)*535376|0)|0;d=b&65534;e=(Pu(a,d)|0)&65535;if(!(b&1)){c=e&255|(c&255)<<8;c=c&65535;Su(a,d,c);return}else{c=e&65280|c&255;c=c&65535;Su(a,d,c);return}}function Su(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;e=c&65535;if(e>>>0<1024){f=e>>>5;e=c&31;b[a+48+(f<<7)+e>>1]=d;Tu(a,f,e);return}if(e>>>0<1536){c=c&63;if(e>>>0>=1072)return;b[a+c>>1]=d;Uu(a,c);return}if(e>>>0<1792){b[a+4144+((e+-1536|0)>>>1<<1)>>1]=d;return}if(e>>>0<1920){b[a+533408+((e+-1792|0)>>>1<<1)>>1]=d;return}if(e>>>0<1984){b[a+533536+((e+-1920|0)>>>1<<1)>>1]=d;return}if(e>>>0<2048){b[a+533536+((e+-1984|0)>>>1<<1)>>1]=d;return}if(e>>>0>=3072)return;b[a+533600+((e+-2048|0)>>>1<<1)>>1]=d;if((e|0)!=3056)return;Vu(a+533392|0);return}function Tu(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;g=a+48+(d<<7)|0;switch(e&63){case 1:case 0:{if(!(b[g>>1]&4096))return;e=0;do{f=a+48+(e<<7)|0;d=b[f>>1]|0;if((d&2048)!=0?(c[a+48+(e<<7)+56>>2]|0)==3:0){Wu(a,f);d=b[f>>1]|0}if(!(d&2048))Gu(f,1);e=e+1|0}while((e|0)!=32);b[g>>1]=b[g>>1]&-4097;return}case 17:case 16:{c[a+48+(d<<7)+48>>2]=Xu(b[a+48+(d<<7)+16>>1]|0)|0;return}case 11:case 10:{g=b[a+48+(d<<7)+10>>1]|0;c[a+48+(d<<7)+76>>2]=Yu(a,0,g&31)|0;c[a+48+(d<<7)+80>>2]=(g&65535)>>>5&31^31;return}case 19:case 18:{Zu(g);return}default:return}}function Uu(a,d){a=a|0;d=d|0;switch(d&63){case 46:case 47:{d=a+532878|0;b[d>>1]=b[d>>1]&~b[a+46>>1];return}case 3:case 2:{d=b[a+2>>1]|0;c[a+533400>>2]=d&63;switch((d&65535)>>>7&3){case 0:{c[a+533404>>2]=8192;return}case 1:{c[a+533404>>2]=16384;return}case 2:{c[a+533404>>2]=32768;return}case 3:{c[a+533404>>2]=65536;return}default:{}}break}case 42:case 43:{b[a+532876>>1]=b[a+42>>1]|0;return}case 9:case 8:{d=a+8|0;b[d>>1]=b[d>>1]&30720;return}default:return}}function Vu(a){a=a|0;var d=0,e=0;c[a+1976>>2]=0;d=127;while(1){e=a+208+(d<<2<<1)|0;if(b[e>>1]|0)break;if(b[e+2>>1]|0)break;if(b[e+4>>1]|0)break;if(b[e+6>>1]|0)break;if(!d){d=-1;break}else d=d+-1|0}c[a+1980>>2]=d+1;return}function Wu(d,f){d=d|0;f=f|0;var g=0,h=0;a[f+33>>0]=1;h=e[f>>1]|0;g=h<<16&983040|(e[f+2>>1]|0);c[f+36>>2]=(c[d+4404>>2]|0)+((h&16|0)==0?g&524286:g);c[f+40>>2]=0;c[f+44>>2]=4096;c[f+48>>2]=Xu(b[f+16>>1]|0)|0;$u(d,f);c[f+56>>2]=0;c[f+52>>2]=25100288;b[f+124>>1]=0;a[f+32>>0]=0;Zu(f);return}function Xu(a){a=a|0;var b=0,c=0;b=a&65535;c=b>>>11<<28;a=c>>28;b=b&1023|1024;return ((c|0)>-805306368?b<>>(-2-a|0))|0}function Yu(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+533136+(((d|0)>0?d:0)<<2)>>2]|0}function Zu(a){a=a|0;var b=0,c=0,d=0;c=a+18|0;b=e[c>>1]|0;d=b>>>5&7;if(d){_u(a+88|0,b>>>10&31,b>>>8&3,d,0);b=e[c>>1]|0}c=b&7;if(!c)return;_u(a+104|0,b>>>10&31,b>>>3&3,c,1);return}function _u(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+4>>2]=~~(+g[38608+(b<<2)>>2]*256.0/44100.0*256.0)>>>0;a:do if(!f){switch(d|0){case 0:{b=3042560;break}case 1:{b=3044608;break}case 2:{b=3046656;break}case 3:{b=3048704;break}default:{b=3049728;break a}}c[a+8>>2]=b;b=3049728}else{switch(d|0){case 0:{b=3041536;break}case 1:{b=3043584;break}case 2:{b=3045632;break}case 3:{b=3047680;break}default:{b=3057920;break a}}c[a+8>>2]=b;b=3057920}while(0);c[a+12>>2]=b+(e<<10);return}function $u(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=e[f+16>>1]|0;i=b[f+10>>1]|0;j=i&65535;h=j>>>10&15;if((h|0)==15)g=0;else g=(g>>>11<<28>>28)+(g>>>9&1)+(h<<1)|0;c[f+52>>2]=25100288;h=b[f+8>>1]|0;c[f+64>>2]=av(d,g,h&31)|0;k=h&65535;c[f+68>>2]=bv(d,g,k>>>6&31)|0;c[f+72>>2]=bv(d,g,k>>>11)|0;c[f+76>>2]=Yu(d,g,i&31)|0;c[f+80>>2]=j>>>5&31^31;a[f+84>>0]=h&32;return}function av(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+532880+(((d|0)>0?d:0)<<2)>>2]|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<1)+b|0;d=(d|0)<63?d:63;return c[a+533136+(((d|0)>0?d:0)<<2)>>2]|0}function cv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=a&255;f=c[1970784+(a*535376|0)+4408>>2]|0;if(f>>>0<=b>>>0)return;PA((c[1970784+(a*535376|0)+4404>>2]|0)+b|0,e|0,((d+b|0)>>>0>f>>>0?f-b|0:d)|0)|0;return}function dv(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[1970784+(b*535376|0)+48+(d<<7)+34>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function ev(b){b=b|0;a[49963]=b&1;return}function fv(a,b){a=a|0;b=b|0;var d=0;d=Hy(180)|0;if(!d)return d|0;g[d+12>>2]=+(a&134217727|0)*.0625/+(b|0);gv(d,15);hv(d,9,16);Rh(d+140|0);Rh(d+148|0);Rh(d+156|0);Rh(d+164|0);b=c[853952]|0;if((a|0)<0&(b|0)!=0){c[b+172>>2]=128;c[d+172>>2]=129;c[d+176>>2]=b;c[b+176>>2]=d;c[853952]=0;return d|0}else{c[d+172>>2]=0;c[d+176>>2]=0;c[853952]=d;return d|0}return 0}function gv(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function hv(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24>>2]=b;c[a+28>>2]=d;return}function iv(a){a=a|0;c[a+16>>2]=255;c[a+32>>2]=1;c[a+36>>2]=15;c[a+76>>2]=0;c[a+92>>2]=1;g[a+124>>2]=1.1754943508222875e-38;c[a+40>>2]=1;c[a+44>>2]=15;c[a+80>>2]=0;c[a+96>>2]=1;g[a+128>>2]=1.1754943508222875e-38;c[a+48>>2]=1;c[a+52>>2]=15;c[a+84>>2]=0;c[a+100>>2]=1;g[a+132>>2]=1.1754943508222875e-38;c[a+56>>2]=1;c[a+60>>2]=15;c[a+72>>2]=16;c[a+88>>2]=0;c[a+104>>2]=1;g[a+136>>2]=1.1754943508222875e-38;c[a+64>>2]=0;c[a+68>>2]=32768;g[a+8>>2]=0.0;return}function jv(a){a=a|0;Iy(a);return}function kv(a,b){a=a|0;b=b|0;var d=0,e=0;do if(!(b&128)){d=a+64|0;e=c[d>>2]|0;if((e|0)<5&(e&1|0)==0){e=a+32+(e<<2)|0;c[e>>2]=c[e>>2]&15|b<<4&1008;break}else{c[a+32+(e<<2)>>2]=b&15;break}}else{e=b>>>4&7;d=a+64|0;c[d>>2]=e;e=a+32+(e<<2)|0;c[e>>2]=c[e>>2]&1008|b&15}while(0);d=c[d>>2]|0;switch(d|0){case 4:case 2:case 0:{d=a+32+(d<<2)|0;if(c[d>>2]|0)return;c[d>>2]=1;return}case 6:{c[a+68>>2]=32768;c[a+72>>2]=16<<(c[a+56>>2]&3);return}default:return}}function lv(a,b){a=a|0;b=b|0;c[a+16>>2]=b;return}function mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ja=a+172|0;ia=c[ja>>2]|0;e=(ia&1|0)==0;if(!(ia&128)){f=a;ga=a;e=0}else{ia=c[a+176>>2]|0;f=e?ia:a;ga=e?a:ia;e=ia}if((d|0)<=0)return;ha=b+4|0;ia=a+60|0;C=f+68|0;D=a+120|0;E=a+56|0;F=a+16|0;G=a+12|0;H=a+8|0;I=a+20|0;J=e+120|0;K=a+72|0;L=a+84|0;N=a+88|0;O=a+104|0;P=a+68|0;Q=a+28|0;R=a+24|0;S=a+108|0;T=ga+124|0;U=a+36|0;V=a+112|0;W=ga+128|0;X=a+44|0;Y=ga+92|0;Z=a+116|0;_=ga+132|0;$=a+52|0;aa=ga+96|0;ba=ga+100|0;ca=a+76|0;da=a+80|0;ea=e+108|0;fa=e+112|0;s=e+116|0;t=a+32|0;u=a+124|0;v=a+92|0;w=a+40|0;x=a+128|0;y=a+96|0;z=a+48|0;A=a+132|0;B=a+100|0;r=0;do{do if(c[ga>>2]&1){h=+g[T>>2];e=c[38736+(c[U>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[S>>2]=~~(h*+(e|0))<<16>>16;break}else{c[S>>2]=M(c[Y>>2]|0,e)|0;break}}else c[S>>2]=0;while(0);do if(c[ga>>2]&2){h=+g[W>>2];e=c[38736+(c[X>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[V>>2]=~~(h*+(e|0))<<16>>16;break}else{c[V>>2]=M(c[aa>>2]|0,e)|0;break}}else c[V>>2]=0;while(0);do if(c[ga>>2]&4){h=+g[_>>2];e=c[38736+(c[$>>2]<<2)>>2]|0;if(h!=1.1754943508222875e-38){c[Z>>2]=~~(h*+(e|0))<<16>>16;break}else{c[Z>>2]=M(c[ba>>2]|0,e)|0;break}}else c[Z>>2]=0;while(0);if(c[ga>>2]&8){e=M((c[C>>2]<<1&2)+-1|0,c[38736+(c[ia>>2]<<2)>>2]|0)|0;c[D>>2]=e;if(c[E>>2]&4|0){e=e>>1;ka=13}}else{e=0;ka=13}if((ka|0)==13){ka=0;c[D>>2]=e}c[(c[b>>2]|0)+(r<<2)>>2]=0;c[(c[ha>>2]|0)+(r<<2)>>2]=0;e=c[ja>>2]|0;if(!e){i=0;do{e=c[F>>2]|0;do if((e>>i&17|0)==17){h=+g[a+140+(i<<3)>>2];e=a+108+(i<<2)|0;f=c[e>>2]|0;if(h==1.0){q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+f;e=c[e>>2]|0;break}else{q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+~~(h*+(f|0));e=~~(+g[a+140+(i<<3)+4>>2]*+(c[e>>2]|0));break}}else{q=a+108+(i<<2)|0;p=(c[b>>2]|0)+(r<<2)|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]&0-(e>>>(i+4|0)&1));e=c[q>>2]&0-((c[F>>2]|0)>>>i&1)}while(0);q=(c[ha>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+e;i=i+1|0}while((i|0)!=4)}else{k=c[F>>2]|0;if(!(e&1)){f=(c[b>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[S>>2]&0-(k>>>4&1));f=(c[ha>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ea>>2]&0-(c[F>>2]&1));f=(c[b>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[V>>2]&0-((c[F>>2]|0)>>>5&1));f=(c[ha>>2]|0)+(r<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[fa>>2]&0-((c[F>>2]|0)>>>1&1));f=s;i=2;j=Z;e=(c[F>>2]|0)>>>6}else{f=D;i=3;j=J;e=k>>>7}q=(c[b>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+(c[j>>2]&0-(e&1));q=(c[ha>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+(c[f>>2]&0-((c[F>>2]|0)>>>i&1))}l=+g[G>>2]+ +g[H>>2];n=~~l;c[I>>2]=n;h=+(n|0);l=l-h;g[H>>2]=l;i=(c[ca>>2]|0)-n|0;c[ca>>2]=i;j=(c[da>>2]|0)-n|0;c[da>>2]=j;k=(c[L>>2]|0)-n|0;c[L>>2]=k;o=c[K>>2]|0;p=(o|0)==128;if(p)q=k;else q=(c[N>>2]|0)-n|0;c[N>>2]=q;m=h-l;l=l+h;if((i|0)<1){e=c[t>>2]|0;if((e|0)>5){f=c[v>>2]|0;h=(m+ +(i<<1|0))*+(f|0)/l;f=0-f|0}else{h=1.1754943508222875e-38;f=1}c[v>>2]=f;g[u>>2]=h;c[ca>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+i}else g[u>>2]=1.1754943508222875e-38;if((j|0)<1){e=c[w>>2]|0;if((e|0)>5){i=c[y>>2]|0;g[x>>2]=(m+ +(j<<1|0))*+(i|0)/l;c[y>>2]=0-i}else{c[y>>2]=1;g[x>>2]=1.1754943508222875e-38}c[da>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+j}else g[x>>2]=1.1754943508222875e-38;if((k|0)<1){e=c[z>>2]|0;if((e|0)>5){j=c[B>>2]|0;g[A>>2]=(m+ +(k<<1|0))*+(j|0)/l;c[B>>2]=0-j}else{c[B>>2]=1;g[A>>2]=1.1754943508222875e-38}c[L>>2]=(M(((n|0)/(e|0)|0)+1|0,e)|0)+k}else g[A>>2]=1.1754943508222875e-38;if((q|0)<1){e=0-(c[O>>2]|0)|0;c[O>>2]=e;if(!p)c[N>>2]=(M(((n|0)/(o|0)|0)+1|0,o)|0)+q;if((e|0)==1){a:do if(!(c[E>>2]&4)){f=c[P>>2]|0;e=f&1}else{e=c[R>>2]|0;switch(e|0){case 9:case 3:{f=c[P>>2]|0;q=f&e;e=(q|0)!=(e|0)&(q|0)!=0&1;break a}default:{f=c[P>>2]|0;e=f&e;e=e>>8^e;e=e>>4^e;e=e>>2^e;e=(e>>>1^e)&1;break a}}}while(0);c[P>>2]=e<<(c[Q>>2]|0)+-1|f>>1}}r=r+1|0}while((r|0)!=(d|0));return}function nv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;qj(a+140|0,b);qj(a+148|0,c);qj(a+156|0,d);qj(a+164|0,e);return}function ov(a,b){a=a|0;b=b|0;if(!(c[a+144>>2]|0))return;c[a+148>>2]=b&255;return}function pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a+200>>2]=2;d=b&255;g=(d&128|0)==0;if(g)e=c[a+96>>2]|0;else{e=d>>>4&7;c[a+96>>2]=e;f=a+64+(e<<2)|0;c[f>>2]=c[f>>2]&1008|d&15}f=(e|0)/2|0;switch(e|0){case 4:case 2:case 0:{b=a+64+(e<<2)|0;if(g){g=c[b>>2]&15|d<<4&1008;c[b>>2]=g;b=g}else b=c[b>>2]|0;if(!b)b=(c[a+204>>2]|0)==0?0:1024;c[a+152+(f<<2)>>2]=b;if((e|0)!=4)return;if((c[a+88>>2]&3|0)!=3)return;c[a+164>>2]=c[a+160>>2]<<1;return}case 7:case 5:case 3:case 1:{d=d&15;c[a+100+(f<<2)>>2]=c[a+(d<<2)>>2];b=a+64+(e<<2)|0;if(!g)return;c[b>>2]=c[b>>2]&1008|d;return}case 6:{b=a+88|0;if(g){g=c[b>>2]&1008|d&15;c[b>>2]=g;b=g}else b=c[b>>2]|0;b=b&3;if((b|0)==3)b=c[a+160>>2]<<1;else b=32<>2]=b;c[a+116>>2]=c[a+128>>2];return}default:return}}function qv(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=b+224|0;i=c[b+228>>2]|0;if((a[Y>>0]|0)>=0){if(((((c[b+152>>2]|0)==0?(c[b+100>>2]|0)==0:0)?(c[b+156>>2]|0)==0:0)?(c[b+104>>2]|0)==0:0)?(c[b+160>>2]|0)==0:0)h=(c[b+108>>2]|0)!=0&1;else h=1;if(!(c[b+112>>2]|h)){Y=g<<2;QA(d|0,0,Y|0)|0;QA(f|0,0,Y|0)|0;return}}if((g|0)<=0)return;q=b+200|0;r=b+168|0;s=b+184|0;t=b+152|0;u=b+180|0;v=b+116|0;w=b+132|0;x=b+136|0;y=b+88|0;z=b+196|0;A=b+164|0;B=b+128|0;C=b+208|0;D=b+144|0;E=e[1708434]|0;F=b+148|0;G=b+100|0;H=b+140|0;I=i+112|0;J=b+112|0;K=b+172|0;L=b+188|0;N=b+156|0;O=b+176|0;P=b+192|0;Q=b+160|0;R=i+220|0;S=b+212|0;T=i+100|0;U=b+216|0;V=b+104|0;W=i+104|0;X=b+108|0;p=i+108|0;o=b+220|0;i=1;l=1;while(1){h=c[q>>2]|0;if((h|0)>0)c[q>>2]=h+-1;n=c[r>>2]|0;c[r>>2]=n+-1;if((n|0)<2){c[s>>2]=c[s>>2]^1;c[r>>2]=c[t>>2]}n=c[K>>2]|0;c[K>>2]=n+-1;if((n|0)<2){c[L>>2]=c[L>>2]^1;c[K>>2]=c[N>>2]}n=c[O>>2]|0;c[O>>2]=n+-1;if((n|0)<2){c[P>>2]=c[P>>2]^1;c[O>>2]=c[Q>>2]}n=c[u>>2]|0;c[u>>2]=n+-1;if((n|0)<2){h=c[v>>2]|0;n=((c[y>>2]|0)>>>2&(c[x>>2]&h|0)!=0|0)==((c[w>>2]&h|0)!=0|0);h=h>>>1;c[v>>2]=h;if(!n){h=c[B>>2]|h;c[v>>2]=h}c[z>>2]=h&1;c[u>>2]=c[A>>2]}h=a[Y>>0]|0;do if(h<<24>>24){if(h&1){h=((c[z>>2]|0)==0?-1:1)&c[R>>2];if(!(c[D>>2]|0)){i=1;b=1}else{b=c[F>>2]|0;i=b>>>7&1;b=b>>>3&1}j=(M(c[I>>2]|0,h)|0)&0-i;k=(M(c[J>>2]|0,h)|0)&0-b;h=b;break}if(!(c[D>>2]|0))m=i;else{l=c[F>>2]|0;m=l>>>7&1;l=l>>>3&1}i=c[t>>2]|0;n=(i|0)==0;h=c[C>>2]|0;i=(n|(i|0)>(E|0)?((c[s>>2]|0)==0?-1:1):0)&h;if(n)if(!h){h=0;j=0}else{j=M(c[G>>2]|0,m)|0;h=M(c[T>>2]|0,l)|0}else{j=M(M(i,m)|0,c[G>>2]|0)|0;h=M(M(i,l)|0,c[T>>2]|0)|0}b=c[N>>2]|0;n=(b|0)==0;i=c[S>>2]|0;b=(n|(b|0)>(E|0)?((c[L>>2]|0)==0?-1:1):0)&i;if(n){if(i){j=(M(c[V>>2]|0,m)|0)+j|0;h=(M(c[W>>2]|0,l)|0)+h|0}}else{j=(M(M(b,m)|0,c[V>>2]|0)|0)+j|0;h=(M(M(b,l)|0,c[W>>2]|0)|0)+h|0}b=c[Q>>2]|0;n=(b|0)==0;i=c[U>>2]|0;b=(n|(b|0)>(E|0)?((c[P>>2]|0)==0?-1:1):0)&i;if(!n){j=(M(M(b,m)|0,c[X>>2]|0)|0)+j|0;k=(M(M(b,l)|0,c[p>>2]|0)|0)+h|0;i=m;h=l;break}if(!i){k=h;i=m;h=l}else{j=(M(c[X>>2]|0,m)|0)+j|0;k=(M(c[p>>2]|0,l)|0)+h|0;i=m;h=l}}else{n=(c[D>>2]|0)==0;b=c[t>>2]|0;j=(b|0)>1;k=c[C>>2]|0;if(n)h=l;else{h=c[F>>2]|0;i=h>>>4&1;h=h&1}if(!j)if(!k){b=0;j=0}else{j=c[G>>2]|0;b=M(j,h)|0;j=M(j,i)|0}else{j=M(c[G>>2]|0,(j&(b|0)<=(E|0)?0:(c[s>>2]|0)==0?-1:1)&k)|0;b=M(j,h)|0;j=M(j,i)|0}k=c[N>>2]|0;l=(k|0)>1;m=c[S>>2]|0;if(!n){h=c[F>>2]|0;i=h>>>5&1;h=h>>>1&1}if(!l){if(m){m=c[V>>2]|0;b=(M(m,h)|0)+b|0;j=(M(m,i)|0)+j|0}}else{m=M(c[V>>2]|0,(l&(k|0)<=(E|0)?0:(c[L>>2]|0)==0?-1:1)&m)|0;b=(M(m,h)|0)+b|0;j=(M(m,i)|0)+j|0}k=c[Q>>2]|0;l=(k|0)>1;m=c[U>>2]|0;if(!n){h=c[F>>2]|0;i=h>>>6&1;h=h>>>2&1}if(!l){if(m){m=c[X>>2]|0;b=(M(m,h)|0)+b|0;j=(M(m,i)|0)+j|0}}else{m=M(c[X>>2]|0,(l&(k|0)<=(E|0)?0:(c[P>>2]|0)==0?-1:1)&m)|0;b=(M(m,h)|0)+b|0;j=(M(m,i)|0)+j|0}if(!n){h=c[F>>2]|0;i=h>>>7&1;h=h>>>3&1}n=M(c[J>>2]|0,((c[z>>2]|0)==0?-1:1)&c[o>>2])|0;k=(M(n,h)|0)+b|0;j=(M(n,i)|0)+j|0}while(0);n=(c[H>>2]|0)==0;c[d>>2]=(n?j:0-j|0)>>1;c[f>>2]=(n?k:0-k|0)>>1;if((g|0)>1){f=f+4|0;d=d+4|0;g=g+-1|0;l=h}else break}return}function rv(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;m=o;n=Hy(232)|0;if(!n){n=0;k=o;return n|0}QA(n|0,0,232)|0;c[a>>2]=n;l=0;a=0;do{j=1<>2]=j;j=a+1|0;if((a|0)>0){a=j;break}else a=j}l=l+1|0}while(l>>>0<16);if((a|0)<2)while(1){c[m+(a<<2)>>2]=c[m>>2];if((a|0)<1)a=a+1|0;else break}n=sv(n,b,1<>2]|0,c[m+4>>2]|0,f,(g|0)==0&1,(h|0)==0?8:1,i)|0;k=o;return n|0}function sv(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0;m=tv(d&2147483647,b,i)|0;l=c[853953]|0;if((d|0)<0&(l|0)!=0){a[l+224>>0]=-128;a[b+224>>0]=-127;c[b+228>>2]=l;c[l+228>>2]=b;d=0}else d=b;c[853953]=d;uv(b);c[b+128>>2]=e;c[b+132>>2]=f;c[b+136>>2]=g;c[b+140>>2]=h;c[b+144>>2]=i;d=b+120|0;if(!j){i=c[d>>2]|0;h=j+-1|0;j=b+124|0;c[j>>2]=h;j=b+204|0;c[j>>2]=k;k=(m|0)/(i|0)|0;return k|0}else{c[d>>2]=j;i=j;h=j+-1|0;j=b+124|0;c[j>>2]=h;j=b+204|0;c[j>>2]=k;k=(m|0)/(i|0)|0;return k|0}return 0}function tv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d+96|0;c[d+64>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d+68>>2]=15;c[d+72>>2]=0;c[d+76>>2]=15;c[d+80>>2]=0;c[d+84>>2]=15;c[d+88>>2]=0;c[d+92>>2]=15;f=d+152|0;c[d+184>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d+208>>2]=-1;c[d+172>>2]=0;c[d+188>>2]=0;c[d+212>>2]=-1;c[d+176>>2]=0;c[d+192>>2]=0;c[d+216>>2]=-1;c[d+180>>2]=0;c[d+220>>2]=-1;c[d+120>>2]=8;c[d+128>>2]=65536;c[d+132>>2]=4;c[d+136>>2]=8;c[d+140>>2]=0;c[d+144>>2]=e;c[d+200>>2]=1;c[d+148>>2]=255;c[d+204>>2]=1;c[d+116>>2]=65536;c[d+196>>2]=0;a[d+224>>0]=0;c[d+228>>2]=0;return (b|0)/2|0|0}function uv(a){a=a|0;var b=0,d=0.0;b=0;d=8192.0;while(1){c[a+(b<<2)>>2]=d>8192.0?8192:~~(d+.5);b=b+1|0;if((b|0)==15)break;else d=d/1.258925412}c[a+60>>2]=0;return}function vv(a){a=a|0;Iy(a);return}function wv(a){a=a|0;var b=0,d=0,e=0;b=a+96|0;c[a+64>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[a+68>>2]=15;c[a+72>>2]=0;c[a+76>>2]=15;c[a+80>>2]=0;c[a+84>>2]=15;c[a+88>>2]=0;c[a+92>>2]=15;b=a+200|0;d=a+152|0;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[b>>2]=1;c[a+148>>2]=255;e=c[a+128>>2]|0;c[a+116>>2]=e;c[a+196>>2]=e&1;return}function xv(a,c,d){a=a|0;c=c|0;d=d|0;b[1708434]=~~(+(a|0)/((c|0)==0?16.0:2.0)/+(d|0));return}function yv(a,b){a=a|0;b=b|0;c[a+208>>2]=(b&1)+-1;c[a+212>>2]=(b>>>1&1)+-1;c[a+216>>2]=(b>>>2&1)+-1;c[a+220>>2]=(b>>>3&1)+-1;return}function zv(b,d,e){b=b|0;d=d|0;e=e|0;b=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:{qv(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 1:{mv(c[b>>2]|0,d,e);return}default:return}}function Av(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0;if((b&255)>1){f=0;return f|0}k=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:{f=rv(k,d,e,f,g,h,i,j)|0;xv(d&1073741823,i,c[853960]|0);return f|0}case 1:{g=c[853960]|0;b=fv(d,g)|0;c[k>>2]=b;if(!b){f=0;return f|0}hv(b,f,e);f=g;return f|0}default:{f=0;return f|0}}return 0}function Bv(b){b=b|0;b=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:{vv(c[b>>2]|0);return}case 1:{jv(c[b>>2]|0);return}default:return}}function Cv(b){b=b|0;b=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:{wv(c[b>>2]|0);return}case 1:{iv(c[b>>2]|0);return}default:return}}function Dv(b,d,e){b=b|0;d=d|0;e=e|0;b=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:switch(d|0){case 0:{pv(c[b>>2]|0,e);return}case 1:{ov(c[b>>2]|0,e);return}default:return}case 1:switch(d|0){case 0:{kv(c[b>>2]|0,e&255);return}case 1:{lv(c[b>>2]|0,e&255);return}default:return}default:return}}function Ev(b){b=b|0;a[3416896]=(b&255)<2?b:0;return}function Fv(b,d){b=b|0;d=d|0;b=3415816+((b&255)<<2)|0;switch(a[3416896]|0){case 0:{yv(c[b>>2]|0,d);return}case 1:{gv(c[b>>2]|0,d&15^15);return}default:return}}function Gv(d,e){d=d|0;e=e|0;if((a[3416896]|0)!=1)return;nv(c[3415816+((d&255)<<2)>>2]|0,b[e>>1]|0,b[e+2>>1]|0,b[e+4>>1]|0,b[e+6>>1]|0);return}function Hv(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d&255;p=3066112+(i*132|0)|0;q=3066112+(i*132|0)+16|0;d=c[q>>2]|0;n=3066112+(i*132|0)+46|0;o=c[3066112+(i*132|0)+4>>2]|0;g=c[p>>2]|0;k=c[e>>2]|0;j=c[e+4>>2]|0;m=3066112+(i*132|0)+12|0;h=(f|0)==0;if(!(a[m>>0]|0)){e=f<<2;if(h){o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}QA(k|0,0,e|0)|0;QA(j|0,0,e|0)|0;o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}if(h){o=g;n=d;c[q>>2]=n;c[p>>2]=o;return}l=3066112+(i*132|0)+64|0;i=3066112+(i*132|0)+52|0;e=b[n>>1]|0;do{h=e<<16>>16<<7;c[k>>2]=h;k=k+4|0;c[j>>2]=h;j=j+4|0;f=f+-1|0;g=g+o|0;a:do if(!(a[l>>0]|0)){h=c[i>>2]|0;if(g>>>0>1048575&(h|0)!=0)do{r=g>>>20;r=(r|0)>(d|0)?d:r;g=g-(r<<20)|0;d=d-r|0;if(!d){Iv(p);if(!(a[m>>0]|0)){d=0;break a}e=b[n>>1]|0;d=c[q>>2]|0;h=c[i>>2]|0}}while(g>>>0>1048575&(h|0)!=0)}else{if(!d){Iv(p);d=c[q>>2]|0}d=d+-1|0;if(!d){Iv(p);d=c[q>>2]|0}d=d+-1|0;if(!d){Iv(p);d=c[q>>2]|0}d=d+-1|0;if(!d){Iv(p);d=c[q>>2]|0}d=d+-1|0;if(!d){Iv(p);d=c[q>>2]|0}}while(0)}while((f|0)!=0);c[q>>2]=d;c[p>>2]=g;return}function Iv(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+12|0;g=a[j>>0]|0;a:do switch(g<<24>>24|0){case 0:{c[e+16>>2]=4;f=g;break}case 1:{a[e+11>>0]=0;if(a[e+64>>0]|0)Jv(e);c[e+16>>2]=c[e+24>>2];f=a[e+23>>0]|0;a[j>>0]=f;break}case 2:{if(!(c[e+52>>2]|0))f=16;else f=a[e+8>>0]|0;a[e+28>>0]=f;c[e+16>>2]=70;a[j>>0]=3;f=3;break}case 3:{a[e+11>>0]=1;c[e+16>>2]=44;a[j>>0]=4;f=4;break}case 4:{f=c[e+52>>2]|0;f=a[((f|0)==0?e+8|0:f)>>0]|0;a[e+29>>0]=f;a[e+11>>0]=1;c[e+16>>2]=28;f=(d[e+28>>0]|0)>(f&255)?0:5;a[j>>0]=f;break}case 5:{a[e+11>>0]=1;c[e+16>>2]=32;a[j>>0]=6;f=6;break}case 6:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else f=f+((d[e+28>>0]<<1)+5)|0;c[e+36>>2]=d[f>>0]<<9;a[e+11>>0]=1;c[e+16>>2]=44;a[j>>0]=7;f=7;break}case 7:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else f=f+((d[e+28>>0]<<1)+6)|0;i=e+36|0;c[i>>2]=c[i>>2]|d[f>>0]<<1;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=8;f=8;break}case 8:{f=e+36|0;c[f>>2]=(c[f>>2]|0)+1;a[e+32>>0]=0;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=9;f=9;break}case 9:{i=e+22|0;g=a[i>>0]|0;if(g<<24>>24){a[i>>0]=g+-1<<24>>24;c[e+36>>2]=c[e+40>>2]}g=c[e+52>>2]|0;if(!g)g=e+8|0;else{k=e+36|0;h=c[k>>2]|0;c[k>>2]=h+1;g=g+(h&131071)|0}h=a[g>>0]|0;g=h&255;a[e+30>>0]=h;a[e+11>>0]=1;switch((h&255)>>>6&3){case 0:{c[e+16>>2]=(g<<10&64512)+1024;if(!(h<<24>>24))f=(a[e+32>>0]|0)==0?9:0;else f=9;a[j>>0]=f;b[e+46>>1]=0;a[e+44>>0]=0;break}case 1:{a[e+31>>0]=(g&63)+1;b[e+20>>1]=256;c[e+16>>2]=36;a[j>>0]=11;f=11;break}case 2:{a[e+31>>0]=(g&63)+1;c[e+16>>2]=36;a[j>>0]=10;f=10;break}case 3:{a[i>>0]=(g&7)+1;c[e+40>>2]=c[e+36>>2];c[e+16>>2]=36;a[j>>0]=9;f=9;break}default:{}}if(h<<24>>24)a[e+32>>0]=1;break}case 10:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else{i=e+36|0;k=c[i>>2]|0;c[i>>2]=k+1;f=f+(k&131071)|0}b[e+20>>1]=(d[f>>0]|0)+1;a[e+11>>0]=1;c[e+16>>2]=36;a[j>>0]=11;f=11;break}case 11:{f=c[e+52>>2]|0;if(!f)f=e+8|0;else{i=e+36|0;k=c[i>>2]|0;c[i>>2]=k+1;f=f+(k&131071)|0}i=a[f>>0]|0;a[e+45>>0]=i;Kv(e,(i&255)>>>4);a[e+11>>0]=1;c[e+16>>2]=d[e+31>>0]<<2;i=e+20|0;k=(b[i>>1]|0)+-1<<16>>16;b[i>>1]=k;if(!(k<<16>>16)){a[j>>0]=9;f=9;break a}else{a[j>>0]=12;f=12;break a}}case 12:{Kv(e,a[e+45>>0]&15);c[e+16>>2]=d[e+31>>0]<<2;i=e+20|0;k=(b[i>>1]|0)+-1<<16>>16;b[i>>1]=k;if(!(k<<16>>16)){a[j>>0]=9;f=9;break a}else{a[j>>0]=11;f=11;break a}}default:f=g}while(0);if(!(a[e+11>>0]|0))return;a[e+23>>0]=f;k=e+16|0;c[e+24>>2]=(c[k>>2]|0)+-21;a[j>>0]=1;c[k>>2]=21;return}function Jv(b){b=b|0;var c=0,d=0;c=b+129|0;d=a[c>>0]|0;if(d<<24>>24==(a[b+130>>0]|0))return;a[b+8>>0]=a[(d&255)+(b+65)>>0]|0;a[c>>0]=d+1&63;return}function Kv(d,f){d=d|0;f=f|0;var g=0,h=0;g=d+44|0;h=a[g>>0]|0;d=d+46|0;b[d>>1]=(c[38800+(h<<24>>24<<6)+(f<<2)>>2]|0)+(e[d>>1]|0);d=(c[39824+(f<<2)>>2]|0)+(h&255)|0;a[g>>0]=d;d=d<<24;if((d|0)>=0)if((d|0)>251658240)d=15;else return;else d=0;a[g>>0]=d;return}function Lv(a){a=a|0;Mv(3066112+((a&255)*132|0)|0);return}function Mv(b){b=b|0;var d=0,e=0;c[b>>2]=0;a[b+8>>0]=0;a[b+11>>0]=0;a[b+12>>0]=0;d=b+16|0;e=b+36|0;a[b+66>>0]=0;a[b+65>>0]=0;a[b+129>>0]=0;a[b+130>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;if(!(a[b+64>>0]|0))return;c[d>>2]=-1;return}function Nv(b,d){b=b|0;d=d|0;var e=0;if((b&255)>1){d=0;return d|0}b=b&255;a[3066112+(b*132|0)+64>>0]=d>>>31;c[3066112+(b*132|0)+4>>2]=4194304;a[3066112+(b*132|0)+12>>0]=0;e=3066112+(b*132|0)+48|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[3066112+(b*132|0)+9>>0]=1;a[3066112+(b*132|0)+10>>0]=1;Mv(3066112+(b*132|0)|0);d=d>>>2&536870911;return d|0}function Ov(a){a=a|0;a=3066112+((a&255)*132|0)+56|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Pv(b,c){b=b|0;c=c|0;var d=0,e=0;b=b&255;e=3066112+(b*132|0)+9|0;d=a[e>>0]|0;c=c<<24>>24!=0;a[e>>0]=c&1;if(c|d<<24>>24==0)return;Mv(3066112+(b*132|0)|0);return}function Qv(b,d){b=b|0;d=d|0;var e=0,f=0;e=b&255;b=3066112+(e*132|0)+10|0;f=a[b>>0]|0;d=d<<24>>24!=0;a[b>>0]=d&1;b=3066112+(e*132|0)+12|0;if((a[b>>0]|f)<<24>>24!=0|d^1)return;if(!(a[3066112+(e*132|0)+9>>0]|0))return;a[b>>0]=2;c[3066112+(e*132|0)+16>>2]=0;return}function Rv(b,c){b=b|0;c=c|0;var e=0;b=b&255;if(!(a[3066112+(b*132|0)+64>>0]|0)){a[3066112+(b*132|0)+8>>0]=c;return}else{e=3066112+(b*132|0)+130|0;a[(d[e>>0]|0)+(3066112+(b*132|0)+65)>>0]=c;a[e>>0]=(a[e>>0]|0)+1&63;return}}function Sv(a,b){a=a|0;b=b|0;a=a&255;c[3066112+(a*132|0)+52>>2]=(c[3066112+(a*132|0)+56>>2]|0)+b;c[3066112+(a*132|0)+60>>2]=b;return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;switch(b<<24>>24){case 0:{Pv(a,c);break}case 1:{Qv(a,c);break}case 2:{Rv(a,c);break}case 3:{Sv(a,(c&255)<<17);break}default:{}}return}function Uv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3066112+(a*132|0)+48|0;if((c[g>>2]|0)!=(b|0)){i=3066112+(a*132|0)+56|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0;c[3066112+(a*132|0)+52>>2]=h+(c[3066112+(a*132|0)+60>>2]|0)}if(b>>>0>>0)return;PA((c[3066112+(a*132|0)+56>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Vv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;G=b&255;H=3066384+(G*11480|0)|0;I=3066384+(G*11480|0)+11472|0;QA(c[I>>2]|0,0,f<<3|0)|0;J=(f|0)>0;F=(f|0)<1;E=J^1;D=0;b=c[I>>2]|0;a:while(1){b:do if(!(a[3066384+(G*11480|0)+11376+(D*3|0)+2>>0]|0))switch(a[3066384+(G*11480|0)+11376+(D*3|0)>>0]|0){case 0:{q=D+12|0;r=D+24|0;s=D+36|0;if((a[3066384+(G*11480|0)+4848+(D*136|0)+64>>0]|0)==0|F)break b;t=3066384+(G*11480|0)+4848+(D*136|0)+27|0;u=3066384+(G*11480|0)+4848+(D*136|0)+28|0;v=3066384+(G*11480|0)+4848+(q*136|0)+28|0;w=3066384+(G*11480|0)+4848+(r*136|0)+28|0;y=3066384+(G*11480|0)+4848+(s*136|0)+28|0;z=3066384+(G*11480|0)+4848+(D*136|0)+29|0;A=3066384+(G*11480|0)+4848+(q*136|0)+29|0;B=3066384+(G*11480|0)+4848+(r*136|0)+29|0;C=3066384+(G*11480|0)+4848+(s*136|0)+29|0;p=0;while(1){do switch(a[t>>0]|0){case 0:{h=Wv(H,D,-1,-1)|0;g=x;Xv(H,D,h,g);g=Wv(H,q,Wv(H,r,h,g)|0,x)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 1:{h=Wv(H,r,Wv(H,D,-1,-1)|0,x)|0;g=x;Xv(H,D,h,g);g=Wv(H,q,h,g)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 2:{h=Wv(H,D,-1,-1)|0;g=x;Xv(H,D,h,g);g=Wv(H,q,DA(Wv(H,r,-2,-1)|0,x|0,h|0,g|0)|0,x)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 3:{h=Wv(H,D,-1,-1)|0;g=x;Xv(H,D,h,g);g=DA(Wv(H,q,Wv(H,r,-2,-1)|0,x)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 4:{g=Wv(H,D,-1,-1)|0;h=x;Xv(H,D,g,h);h=Wv(H,r,g,h)|0;g=x;g=DA(Wv(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 5:{h=Wv(H,r,Wv(H,D,-1,-1)|0,x)|0;g=x;Xv(H,D,h,g);g=DA(Wv(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;i=0;k=0;m=0;l=0;j=0;o=0;K=23;break}case 6:{o=Wv(H,D,-1,-1)|0;j=x;Xv(H,D,o,j);j=Wv(H,r,o,j)|0;o=x;g=Wv(H,q,-2,-1)|0;h=x;i=0;k=0;m=0;l=0;K=23;break}case 7:{j=Wv(H,r,Wv(H,D,-1,-1)|0,x)|0;o=x;Xv(H,D,j,o);g=Wv(H,q,-2,-1)|0;h=x;i=0;k=0;m=0;l=0;K=23;break}case 8:{i=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,i,k);g=Wv(H,q,Wv(H,r,-2,-1)|0,x)|0;h=x;m=0;l=0;j=0;o=0;K=23;break}case 9:{i=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,i,k);h=Wv(H,r,-2,-1)|0;g=x;g=DA(Wv(H,q,-2,-1)|0,x|0,h|0,g|0)|0;h=x;m=0;l=0;j=0;o=0;K=23;break}case 10:{o=Wv(H,D,-1,-1)|0;j=x;Xv(H,D,o,j);j=Wv(H,r,o,j)|0;o=x;g=-2;h=-1;i=0;k=0;m=Wv(H,q,-2,-1)|0;l=x;K=23;break}case 11:{j=Wv(H,r,Wv(H,D,-1,-1)|0,x)|0;o=x;Xv(H,D,j,o);g=-2;h=-1;i=0;k=0;m=Wv(H,q,-2,-1)|0;l=x;K=23;break}case 12:{l=Wv(H,D,-1,-1)|0;m=x;Xv(H,D,l,m);j=Wv(H,r,l,m)|0;o=x;g=l;h=m;i=0;k=0;m=Wv(H,q,l,m)|0;l=x;K=23;break}case 13:{i=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,i,k);g=-2;h=-1;m=Wv(H,q,Wv(H,r,-2,-1)|0,x)|0;l=x;j=0;o=0;K=23;break}case 14:{i=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,i,k);j=Wv(H,r,i,k)|0;o=x;g=Wv(H,q,-2,-1)|0;h=x;m=0;l=0;K=23;break}case 15:{i=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,i,k);j=Wv(H,r,-2,-1)|0;o=x;g=-2;h=-1;m=Wv(H,q,-2,-1)|0;l=x;K=23;break}default:{n=0;k=0;m=0;l=0;j=0;g=0;h=0;i=0}}while(0);if((K|0)==23){K=0;h=Wv(H,s,g,h)|0;n=i;g=o;i=x}o=c[3066384+(G*11480|0)+3248+(d[u>>0]<<2)>>2]|0;o=JA(n|0,k|0,o|0,((o|0)<0)<<31>>31|0)|0;L=x;M=c[3066384+(G*11480|0)+3248+(d[v>>0]<<2)>>2]|0;M=JA(m|0,l|0,M|0,((M|0)<0)<<31>>31|0)|0;L=DA(M|0,x|0,o|0,L|0)|0;o=x;M=c[3066384+(G*11480|0)+3248+(d[w>>0]<<2)>>2]|0;M=JA(j|0,g|0,M|0,((M|0)<0)<<31>>31|0)|0;M=DA(L|0,o|0,M|0,x|0)|0;o=x;L=c[3066384+(G*11480|0)+3248+(d[y>>0]<<2)>>2]|0;L=JA(h|0,i|0,L|0,((L|0)<0)<<31>>31|0)|0;L=DA(M|0,o|0,L|0,x|0)|0;L=MA(L|0,x|0,16)|0;o=b+4|0;c[b>>2]=(c[b>>2]|0)+L;L=c[3066384+(G*11480|0)+3248+(d[z>>0]<<2)>>2]|0;k=JA(n|0,k|0,L|0,((L|0)<0)<<31>>31|0)|0;n=x;L=c[3066384+(G*11480|0)+3248+(d[A>>0]<<2)>>2]|0;m=JA(m|0,l|0,L|0,((L|0)<0)<<31>>31|0)|0;n=DA(m|0,x|0,k|0,n|0)|0;m=x;l=c[3066384+(G*11480|0)+3248+(d[B>>0]<<2)>>2]|0;l=JA(j|0,g|0,l|0,((l|0)<0)<<31>>31|0)|0;l=DA(n|0,m|0,l|0,x|0)|0;m=x;n=c[3066384+(G*11480|0)+3248+(d[C>>0]<<2)>>2]|0;n=JA(h|0,i|0,n|0,((n|0)<0)<<31>>31|0)|0;n=DA(l|0,m|0,n|0,x|0)|0;n=MA(n|0,x|0,16)|0;c[o>>2]=(c[o>>2]|0)+n;p=p+1|0;if((p|0)==(f|0))break b;else b=b+8|0}}case 1:{i=D+24|0;b=0;do{k=b*12|0;j=k+D|0;k=i+k|0;c:do if(!((a[3066384+(G*11480|0)+4848+(j*136|0)+64>>0]|0)==0|E)){l=3066384+(G*11480|0)+4848+(j*136|0)+27|0;m=3066384+(G*11480|0)+4848+(j*136|0)+28|0;n=3066384+(G*11480|0)+4848+(k*136|0)+28|0;o=3066384+(G*11480|0)+4848+(j*136|0)+29|0;p=3066384+(G*11480|0)+4848+(k*136|0)+29|0;g=c[I>>2]|0;h=0;while(1){switch(a[l>>0]&3){case 0:{t=Wv(H,j,-1,-1)|0;s=x;Xv(H,j,t,s);q=0;r=0;s=Wv(H,k,t,s)|0;t=x;break}case 1:{s=Wv(H,k,Wv(H,j,-1,-1)|0,x)|0;t=x;Xv(H,j,s,t);q=0;r=0;break}case 2:{q=Wv(H,j,-1,-1)|0;r=x;Xv(H,j,q,r);s=Wv(H,k,-2,-1)|0;t=x;break}case 3:{t=Wv(H,j,-1,-1)|0;s=x;Xv(H,j,t,s);q=t;r=s;s=Wv(H,k,t,s)|0;t=x;break}default:{K=33;break a}}M=c[3066384+(G*11480|0)+3248+(d[m>>0]<<2)>>2]|0;M=JA(q|0,r|0,M|0,((M|0)<0)<<31>>31|0)|0;C=x;L=c[3066384+(G*11480|0)+3248+(d[n>>0]<<2)>>2]|0;L=JA(s|0,t|0,L|0,((L|0)<0)<<31>>31|0)|0;C=DA(L|0,x|0,M|0,C|0)|0;C=MA(C|0,x|0,16)|0;M=g+4|0;c[g>>2]=(c[g>>2]|0)+C;C=c[3066384+(G*11480|0)+3248+(d[o>>0]<<2)>>2]|0;C=JA(q|0,r|0,C|0,((C|0)<0)<<31>>31|0)|0;L=x;B=c[3066384+(G*11480|0)+3248+(d[p>>0]<<2)>>2]|0;B=JA(s|0,t|0,B|0,((B|0)<0)<<31>>31|0)|0;L=DA(B|0,x|0,C|0,L|0)|0;L=MA(L|0,x|0,16)|0;c[M>>2]=(c[M>>2]|0)+L;h=h+1|0;if((h|0)>=(f|0))break c;else g=g+8|0}}while(0);b=b+1|0}while(b>>>0<2);break}case 2:{n=D+12|0;o=D+24|0;if(!((a[3066384+(G*11480|0)+4848+(D*136|0)+64>>0]|0)==0|F)){p=3066384+(G*11480|0)+4848+(D*136|0)+27|0;q=3066384+(G*11480|0)+4848+(D*136|0)+28|0;r=3066384+(G*11480|0)+4848+(n*136|0)+28|0;s=3066384+(G*11480|0)+4848+(o*136|0)+28|0;t=3066384+(G*11480|0)+4848+(D*136|0)+29|0;u=3066384+(G*11480|0)+4848+(n*136|0)+29|0;v=3066384+(G*11480|0)+4848+(o*136|0)+29|0;g=0;while(1){switch(a[p>>0]&7){case 0:{i=Wv(H,D,-1,-1)|0;h=x;Xv(H,D,i,h);h=Wv(H,o,i,h)|0;i=x;j=0;k=0;l=0;m=0;break}case 1:{h=Wv(H,o,Wv(H,D,-1,-1)|0,x)|0;i=x;Xv(H,D,h,i);j=0;k=0;l=0;m=0;break}case 2:{i=Wv(H,D,-1,-1)|0;h=x;Xv(H,D,i,h);h=DA(Wv(H,o,-2,-1)|0,x|0,i|0,h|0)|0;i=x;j=0;k=0;l=0;m=0;break}case 3:{j=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,j,k);h=Wv(H,o,-2,-1)|0;i=x;l=0;m=0;break}case 4:{m=Wv(H,D,-1,-1)|0;l=x;Xv(H,D,m,l);h=-2;i=-1;j=0;k=0;l=Wv(H,o,m,l)|0;m=x;break}case 5:{l=Wv(H,o,Wv(H,D,-1,-1)|0,x)|0;m=x;Xv(H,D,l,m);h=-2;i=-1;j=0;k=0;break}case 6:{j=Wv(H,D,-1,-1)|0;k=x;Xv(H,D,j,k);h=-2;i=-1;l=Wv(H,o,-2,-1)|0;m=x;break}case 7:{m=Wv(H,D,-1,-1)|0;l=x;Xv(H,D,m,l);h=-2;i=-1;j=m;k=l;l=Wv(H,o,m,l)|0;m=x;break}default:{K=47;break a}}z=Wv(H,n,h,i)|0;A=x;M=c[3066384+(G*11480|0)+3248+(d[q>>0]<<2)>>2]|0;M=JA(j|0,k|0,M|0,((M|0)<0)<<31>>31|0)|0;B=x;C=c[3066384+(G*11480|0)+3248+(d[r>>0]<<2)>>2]|0;C=JA(z|0,A|0,C|0,((C|0)<0)<<31>>31|0)|0;B=DA(C|0,x|0,M|0,B|0)|0;M=x;C=c[3066384+(G*11480|0)+3248+(d[s>>0]<<2)>>2]|0;C=JA(l|0,m|0,C|0,((C|0)<0)<<31>>31|0)|0;C=DA(B|0,M|0,C|0,x|0)|0;C=MA(C|0,x|0,16)|0;M=b+4|0;c[b>>2]=(c[b>>2]|0)+C;C=c[3066384+(G*11480|0)+3248+(d[t>>0]<<2)>>2]|0;C=JA(j|0,k|0,C|0,((C|0)<0)<<31>>31|0)|0;B=x;L=c[3066384+(G*11480|0)+3248+(d[u>>0]<<2)>>2]|0;L=JA(z|0,A|0,L|0,((L|0)<0)<<31>>31|0)|0;B=DA(L|0,x|0,C|0,B|0)|0;C=x;L=c[3066384+(G*11480|0)+3248+(d[v>>0]<<2)>>2]|0;L=JA(l|0,m|0,L|0,((L|0)<0)<<31>>31|0)|0;L=DA(B|0,C|0,L|0,x|0)|0;L=MA(L|0,x|0,16)|0;c[M>>2]=(c[M>>2]|0)+L;g=g+1|0;if((g|0)>=(f|0))break;else b=b+8|0}b=c[I>>2]|0}Yv(H,D+36|0,b,f);break b}case 3:{Yv(H,D,b,f);Yv(H,D+12|0,b,f);Yv(H,D+24|0,b,f);Yv(H,D+36|0,b,f);break b}default:break b}while(0);D=D+1|0;b=c[I>>2]|0;if(D>>>0>=12){K=53;break}}if((K|0)!=33)if((K|0)!=47)if((K|0)==53){if(!J)return;h=e+4|0;g=0;while(1){c[(c[e>>2]|0)+(g<<2)>>2]=c[b>>2]>>2;c[(c[h>>2]|0)+(g<<2)>>2]=c[b+4>>2]>>2;g=g+1|0;if((g|0)==(f|0))break;else b=b+8|0}return}}function Wv(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+4848+(e*136|0)|0;_v(h);$v(a,h);h=aw(a,h)|0;i=((h|0)<0)<<31>>31;switch(f|0){case -2:{if((g|0)==-1){f=0;g=0}else j=5;break}case -1:{if((g|0)==-1){g=a+4848+(e*136|0)+96|0;f=g;k=a+4848+(e*136|0)+104|0;l=c[k>>2]|0;k=c[k+4>>2]|0;f=DA(l|0,k|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=HA(f|0,x|0,2,0)|0;c[g>>2]=l;c[g+4>>2]=k;g=x}else j=5;break}default:j=5}if((j|0)==5){g=NA(f|0,g|0,8)|0;f=c[40208+(d[a+4848+(e*136|0)+24>>0]<<2)>>2]|0;f=JA(g|0,x|0,f|0,((f|0)<0)<<31>>31|0)|0;g=x}k=c[a+(d[a+4848+(e*136|0)+25>>0]<<2)>>2]|0;j=a+4848+(e*136|0)+56|0;m=j;n=c[m>>2]|0;m=c[m+4>>2]|0;l=DA(n|0,m|0,f|0,g|0)|0;l=MA(l|0,x|0,16)|0;l=b[k+((l&1023)<<1)>>1]|0;l=JA(l|0,((l|0)<0)<<31>>31|0,h|0,i|0)|0;l=LA(l|0,x|0,16)|0;k=x;i=DA(n|0,m|0,c[a+4848+(e*136|0)+48>>2]|0,0)|0;c[j>>2]=i;c[j+4>>2]=x;x=k;return l|0}function Xv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;f=NA(e|0,f|0,8)|0;e=c[40176+((d[a+4848+(b*136|0)+24>>0]|0)<<2)>>2]|0;e=JA(f|0,x|0,e|0,((e|0)<0)<<31>>31|0)|0;e=HA(e|0,x|0,16,0)|0;f=a+4848+(b*136|0)+104|0;c[f>>2]=e;c[f+4>>2]=x;return}function Yv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0;w=b+4848+(e*136|0)|0;if(!((g|0)>0?(a[b+4848+(e*136|0)+64>>0]|0)!=0:0))return;y=b+4848+(e*136|0)+56|0;q=b+4848+(e*136|0)+40|0;r=b+4848+(e*136|0)+36|0;s=b+4848+(e*136|0)+65|0;t=b+4848+(e*136|0)+32|0;u=b+4848+(e*136|0)+28|0;v=b+4848+(e*136|0)+29|0;p=b+4848+(e*136|0)+48|0;e=y;o=0;h=c[e>>2]|0;e=c[e+4>>2]|0;while(1){n=MA(h|0,e|0,16)|0;m=x;l=c[q>>2]|0;if(m>>>0>0|(m|0)==0&n>>>0>l>>>0){m=NA(l|0,0,16)|0;n=x;i=EA(h|0,e|0,m|0,n|0)|0;h=x;k=c[r>>2]|0;j=NA(k|0,0,16)|0;e=x;h=DA(j|0,e|0,i|0,h|0)|0;i=x;z=y;c[z>>2]=h;c[z+4>>2]=i;z=MA(h|0,i|0,16)|0;A=x;if(A>>>0>0|(A|0)==0&z>>>0>l>>>0){i=h&65535;h=i|j;A=y;c[A>>2]=h;c[A+4>>2]=e;if(k>>>0>l>>>0){j=i|m;e=y;c[e>>2]=j;c[e+4>>2]=n;e=n}else j=h}else{j=h;e=i}}else j=h;do if((a[s>>0]|0)!=8){i=c[t>>2]|0;e=MA(j|0,e|0,17)|0;e=e*3|0;h=e+i|0;if((j&65536|0)==0&0==0){A=((Zv(b,h)|0)&255)<<8;e=A|(Zv(b,i+1+e|0)|0)&-16&255;break}else{A=((Zv(b,h+2|0)|0)&255)<<8;e=((Zv(b,i+1+e|0)|0)&255)<<4&240|A;break}}else{A=c[t>>2]|0;e=MA(j|0,e|0,16)|0;e=((Zv(b,A+e|0)|0)&255)<<8}while(0);_v(w);$v(b,w);z=aw(b,w)|0;m=((z|0)<0)<<31>>31;h=c[b+3248+(d[u>>0]<<2)>>2]|0;h=JA(h|0,((h|0)<0)<<31>>31|0,z|0,m|0)|0;A=x;k=LA(h|0,A|0,16)|0;l=x;n=c[b+3248+(d[v>>0]<<2)>>2]|0;m=JA(n|0,((n|0)<0)<<31>>31|0,z|0,m|0)|0;z=x;n=LA(m|0,z|0,16)|0;h=(A|0)>1|(A|0)==1&h>>>0>65535;m=(z|0)>1|(z|0)==1&m>>>0>65535;z=m?0:x;A=(e&65535)<<16>>16;e=((A|0)<0)<<31>>31;l=JA((h?65536:k)|0,(h?0:l)|0,A|0,e|0)|0;l=MA(l|0,x|0,16)|0;h=f+4|0;c[f>>2]=(c[f>>2]|0)+l;e=JA((m?65536:n)|0,z|0,A|0,e|0)|0;e=MA(e|0,x|0,16)|0;c[h>>2]=(c[h>>2]|0)+e;h=y;h=DA(c[h>>2]|0,c[h+4>>2]|0,c[p>>2]|0,0)|0;e=x;A=y;c[A>>2]=h;c[A+4>>2]=e;o=o+1|0;if((o|0)==(g|0))break;else f=f+8|0}return}function Zv(b,d){b=b|0;d=d|0;d=d&8388607;if(d>>>0>=(c[b+11464>>2]|0)>>>0){b=0;return b|0}b=a[(c[b+11460>>2]|0)+d>>0]|0;return b|0}function _v(b){b=b|0;var d=0,e=0,f=0;f=b+72|0;switch(c[f>>2]|0){case 0:{d=b+68|0;b=(c[d>>2]|0)+(c[b+76>>2]|0)|0;c[d>>2]=b;if((b|0)<=16711679)return;c[d>>2]=16711680;c[f>>2]=1;return}case 1:{d=a[b+13>>0]|0;e=b+68|0;c[e>>2]=(c[e>>2]|0)-(c[b+80>>2]|0);if((cw(b)|0)<<24>>24)return;if((c[e>>2]>>16|0)>(255-((d&255)<<4)|0))return;c[f>>2]=2;return}case 2:{f=b+68|0;c[f>>2]=(c[f>>2]|0)-(c[b+84>>2]|0);cw(b)|0;return}case 3:{f=b+68|0;c[f>>2]=(c[f>>2]|0)-(c[b+88>>2]|0);cw(b)|0;return}default:return}}function $v(a,b){a=a|0;b=b|0;var e=0,f=0;f=b+112|0;e=(c[f>>2]|0)+(c[b+116>>2]|0)|0;c[f>>2]=e;f=d[b+3>>0]|0;e=e>>>8&255;c[b+120>>2]=c[(c[a+160+(f<<2)>>2]|0)+(e<<2)>>2];h[b+128>>3]=+h[(c[a+32+(f<<5)+((d[b+4>>0]|0)<<2)>>2]|0)+(e<<3)>>3];bw(b);return}function aw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;switch(a[e+5>>0]|0){case 3:{f=4277;h=4;break}case 1:{f=33124;h=4;break}case 2:{f=16742;h=4;break}default:{f=65536;g=0}}if((h|0)==4){g=65536-((M(c[e+120>>2]|0,f)|0)>>16)|0;f=g;g=((g|0)<0)<<31>>31}h=c[b+3824+(255-(c[e+68>>2]>>16)<<2)>>2]|0;g=JA(f|0,g|0,h|0,((h|0)<0)<<31>>31|0)|0;g=LA(g|0,x|0,16)|0;h=c[b+3312+(d[e+8>>0]<<2)>>2]|0;h=JA(g|0,x|0,h|0,((h|0)<0)<<31>>31|0)|0;h=MA(h|0,x|0,16)|0;return h|0}function bw(b){b=b|0;var e=0,f=0,g=0.0,i=0.0,j=0.0;e=c[b+20>>2]<<1;if((a[b+25>>0]|0)==7){g=.125;j=+h[39888+(d[b+15>>0]<<3)>>3]*+((e|4096)>>>0)*+h[40016+(d[b+45>>0]<<3)>>3]*+h[40048+(d[b+7>>0]<<3)>>3];i=+h[b+128>>3];i=j*i;g=i*g;f=~~g>>>0;e=b+48|0;c[e>>2]=f;return}else{j=.0001220703125;g=+h[b+128>>3];i=+h[39888+(d[b+15>>0]<<3)>>3]*+(e>>>0)*+h[40048+(d[b+7>>0]<<3)>>3]*1024.0;i=g*i;j=i*j;e=~~j>>>0;f=b+48|0;c[f>>2]=e;return}}function cw(b){b=b|0;var d=0;d=b+68|0;if((c[d>>2]|0)>=1){d=0;return d|0}a[b+64>>0]=0;c[d>>2]=0;d=1;return d|0}function dw(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;b=b&255;e=3066384+(b*11480|0)|0;a[(c&15)+(3066384+(b*11480|0)+11412)>>0]=d;switch(c&15){case 13:{gw(e,a[3066384+(b*11480|0)+11424>>0]|0,d);return}case 9:{fw(e,a[3066384+(b*11480|0)+11420>>0]|0,d);return}case 7:{ew(e,3,a[3066384+(b*11480|0)+11418>>0]|0,d);return}case 5:{ew(e,2,a[3066384+(b*11480|0)+11416>>0]|0,d);return}case 3:{ew(e,1,a[3066384+(b*11480|0)+11414>>0]|0,d);return}case 1:{ew(e,0,a[3066384+(b*11480|0)+11412>>0]|0,d);return}default:return}}function ew(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=e&255;g=i&15;h=c[40240+(g<<2)>>2]|0;i=i>>>4;if(34952>>>g&1|0)return;switch(i&15){case 14:case 13:case 12:case 10:case 9:case 0:{e=1;break}default:e=0}g=a[b+11376+(h*3|0)>>0]|0;switch(g<<24>>24){case 0:{j=(d|0)==0;k=8;break}case 1:{j=d>>>0<2;k=8;break}case 2:{j=(d|0)==0;k=8;break}default:{}}if((k|0)==8?(e|0)!=0&j:0)switch(g<<24>>24){case 0:{hw(b,h,i,f);hw(b,h+12|0,i,f);hw(b,h+24|0,i,f);hw(b,h+36|0,i,f);return}case 1:if(!d){hw(b,h,i,f);hw(b,h+24|0,i,f);return}else{hw(b,h+12|0,i,f);hw(b,h+36|0,i,f);return}case 2:{hw(b,h,i,f);hw(b,h+12|0,i,f);hw(b,h+24|0,i,f);return}default:return}hw(b,h+(d*12|0)|0,i,f);return}function fw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&15;if(34952>>>f&1|0)return;f=c[40304+(f<<2)>>2]|0;do switch((d&255)>>>4&15){case 0:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 1:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 2:{d=b+4848+(f*136|0)+32|0;c[d>>2]=c[d>>2]&-16711681|(e&255)<<16&8323072;a[b+4848+(f*136|0)+44>>0]=(e&255)>>>7;return}case 3:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 4:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 5:{d=b+4848+(f*136|0)+40|0;c[d>>2]=c[d>>2]&-16711681|(e&127)<<16;return}case 6:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-256|e&255;return}case 7:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-65281|(e&255)<<8;return}case 8:{d=b+4848+(f*136|0)+36|0;c[d>>2]=c[d>>2]&-16711681|(e&127)<<16;return}case 9:{d=e&255;a[b+4848+(f*136|0)+45>>0]=d&3;a[b+4848+(f*136|0)+65>>0]=d&4|8;a[b+4848+(f*136|0)+46>>0]=d>>>3&3;a[b+4848+(f*136|0)+47>>0]=(e&255)>>>5;return}default:return}while(0)}function gw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&255;if(!(f&240)){d=f&15;if(34952>>>d&1|0)return;f=c[40240+(d<<2)>>2]|0;a[b+11376+(f*3|0)>>0]=e&3;a[b+11376+(f*3|0)+1>>0]=(e&255)>>>7;return}switch(d<<24>>24){case 16:{c[b+11428>>2]=e&255;return}case 23:{e=b+11452|0;c[e>>2]=(c[e>>2]|0)+1&8388607;return}case 18:{c[b+11432>>2]=e&255;return}case 19:{d=e&255;if(d&16|0){f=b+11444|0;c[f>>2]=c[f>>2]&-2;f=b+11448|0;a[f>>0]=a[f>>0]&-2}if(d&32|0){f=b+11444|0;c[f>>2]=c[f>>2]&-3;f=b+11448|0;a[f>>0]=a[f>>0]&-3}a[b+11449>>0]=e;return}case 20:{b=b+11452|0;c[b>>2]=c[b>>2]&-256|e&255;return}case 21:{b=b+11452|0;c[b>>2]=c[b>>2]&-65281|(e&255)<<8;return}case 22:{f=b+11452|0;c[f>>2]=c[f>>2]&-16711681|(e&255)<<16&8323072;a[b+11456>>0]=(e&255)>>>7;return}default:return}}function hw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=b+4848+(d*136|0)|0;do switch(e|0){case 0:{e=f&255;a[g>>0]=(f&255)>>>7;a[b+4848+(d*136|0)+1>>0]=e>>>3&15;if(e&1|0){c[b+4848+(d*136|0)+48>>2]=0;f=b+4848+(d*136|0)+56|0;c[f>>2]=0;c[f+4>>2]=0;a[b+4848+(d*136|0)+64>>0]=1;bw(g);iw(b,g);jw(b,g);g=b+4848+(d*136|0)+96|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;return}if(!(a[b+4848+(d*136|0)+64>>0]|0))return;c[b+4848+(d*136|0)+72>>2]=3;return}case 1:{a[b+4848+(d*136|0)+2>>0]=f;return}case 2:{g=f&255;a[b+4848+(d*136|0)+3>>0]=g&3;a[b+4848+(d*136|0)+4>>0]=g>>>3&7;a[b+4848+(d*136|0)+5>>0]=(f&255)>>>6;return}case 3:{g=f&255;a[b+4848+(d*136|0)+7>>0]=g&15;a[b+4848+(d*136|0)+6>>0]=g>>>4&7;return}case 4:{a[b+4848+(d*136|0)+8>>0]=f&127;return}case 5:{a[b+4848+(d*136|0)+10>>0]=f&31;a[b+4848+(d*136|0)+9>>0]=(f&255)>>>5;return}case 6:{a[b+4848+(d*136|0)+11>>0]=f&31;return}case 7:{a[b+4848+(d*136|0)+12>>0]=f&31;return}case 8:{a[b+4848+(d*136|0)+14>>0]=f&15;a[b+4848+(d*136|0)+13>>0]=(f&255)>>>4;return}case 9:{g=a[b+4848+(d*136|0)+16>>0]|0;c[b+4848+(d*136|0)+20>>2]=(g&255)<<8&3840|f&255;a[b+4848+(d*136|0)+15>>0]=(g&255)>>>4;return}case 10:{a[b+4848+(d*136|0)+16>>0]=f;return}case 11:{g=f&255;a[b+4848+(d*136|0)+25>>0]=g&7;a[b+4848+(d*136|0)+24>>0]=g>>>4&7;a[b+4848+(d*136|0)+26>>0]=(f&255)>>>7;return}case 12:{a[b+4848+(d*136|0)+27>>0]=f&15;return}case 13:{a[b+4848+(d*136|0)+28>>0]=(f&255)>>>4;a[b+4848+(d*136|0)+29>>0]=f&15;return}case 14:{a[b+4848+(d*136|0)+30>>0]=(f&255)>>>4;a[b+4848+(d*136|0)+31>>0]=f&15;return}default:return}while(0)}function iw(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0;i=d[e+13>>0]<<4;f=d[e+15>>0]|0;g=c[e+20>>2]|0;if((a[e+25>>0]|0)==7)g=lw(f,g&2047)|0;else g=kw(f,g)|0;j=d[e+9>>0]|0;f=mw(d[e+10>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(255.0/+h[b+176+(f<<3)>>3]*65536.0);c[e+76>>2]=f;f=mw(d[e+11>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(+(i|0)/+h[b+688+(f<<3)>>3]*65536.0);c[e+80>>2]=f;f=mw(d[e+12>>0]<<1,g,j)|0;if((f|0)<4)f=0;else f=~~(255.0/+h[b+688+(f<<3)>>3]*65536.0);c[e+84>>2]=f;f=mw(~~(+(d[e+14>>0]|0)*1.75),g,j)|0;if((f|0)<4){j=0;b=e+88|0;c[b>>2]=j;b=e+68|0;c[b>>2]=6225920;e=e+72|0;c[e>>2]=0;return}j=~~(255.0/+h[b+176+(f<<3)>>3]*65536.0);b=e+88|0;c[b>>2]=j;b=e+68|0;c[b>>2]=6225920;e=e+72|0;c[e>>2]=0;return}function jw(a,b){a=a|0;b=b|0;c[b+112>>2]=0;c[b+120>>2]=0;h[b+128>>3]=0.0;c[b+116>>2]=~~(+h[a+1200+((d[b+2>>0]|0)<<3)>>3]*256.0/44100.0*256.0);return}function kw(a,b){a=a|0;b=b|0;if((b|0)<1920)b=0;else b=(b|0)<2304?1:(b|0)<2688?2:3;return b|a<<2&28|0}function lw(a,b){a=a|0;b=b|0;if((b|0)<256)b=0;else b=(b|0)<768?1:(b|0)<1280?2:3;return b|a<<2&28|0}function mw(a,b,d){a=a|0;b=b|0;d=d|0;d=(c[40368+(b<<5)+(d<<2)>>2]|0)+a|0;d=(d|0)<63?d:63;return ((d|0)>0?d:0)|0}function nw(b,d){b=b|0;d=d|0;if((b&255)>15){d=0;return d|0}b=b&255;c[3066384+(b*11480|0)+11468>>2]=d;c[3066384+(b*11480|0)+11464>>2]=0;c[3066384+(b*11480|0)+11460>>2]=0;ow(3066384+(b*11480|0)|0);c[3066384+(b*11480|0)+11472>>2]=Hy(352800)|0;a[3066384+(b*11480|0)+11378>>0]=0;a[3066384+(b*11480|0)+11381>>0]=0;a[3066384+(b*11480|0)+11384>>0]=0;a[3066384+(b*11480|0)+11387>>0]=0;a[3066384+(b*11480|0)+11390>>0]=0;a[3066384+(b*11480|0)+11393>>0]=0;a[3066384+(b*11480|0)+11396>>0]=0;a[3066384+(b*11480|0)+11399>>0]=0;a[3066384+(b*11480|0)+11402>>0]=0;a[3066384+(b*11480|0)+11405>>0]=0;a[3066384+(b*11480|0)+11408>>0]=0;a[3066384+(b*11480|0)+11411>>0]=0;d=(d|0)/384|0;return d|0}function ow(a){a=a|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=k;k=k+32|0;x=y;f=Hy(2048)|0;c[a>>2]=f;q=a+4|0;c[q>>2]=Hy(2048)|0;r=a+8|0;c[r>>2]=Hy(2048)|0;s=a+12|0;c[s>>2]=Hy(2048)|0;j=a+16|0;c[j>>2]=Hy(2048)|0;l=a+20|0;c[l>>2]=Hy(2048)|0;m=a+24|0;c[m>>2]=Hy(2048)|0;n=a+28|0;c[n>>2]=Hy(2048)|0;d=0;do{c[a+32+(d>>>3<<5)+((d&7)<<2)>>2]=Hy(2048)|0;d=d+1|0}while((d|0)!=32);t=a+160|0;c[t>>2]=Hy(1024)|0;u=a+164|0;c[u>>2]=Hy(1024)|0;v=a+168|0;c[v>>2]=Hy(1024)|0;w=a+172|0;c[w>>2]=Hy(1024)|0;d=0;while(1){o=+D(+(+(d<<1|1|0)*3.141592653589793*.0009765625));p=+D(+(+(d<<2|1|0)*3.141592653589793*.0009765625));i=~~(o*32767.0);b[f+(d<<1)>>1]=i;g=d>>>0<512;e=o*o;if(g){b[(c[q>>2]|0)+(d<<1)>>1]=~~(e*32767.0);f=i}else{b[(c[q>>2]|0)+(d<<1)>>1]=~~(e*-32768.0);f=~~(o*-32767.0)}b[(c[r>>2]|0)+(d<<1)>>1]=f;b[(c[s>>2]|0)+(d<<1)>>1]=g?i:0;if(g){b[(c[j>>2]|0)+(d<<1)>>1]=~~(p*32767.0);f=~~(+z(+p)*32767.0)<<16>>16}else{b[(c[j>>2]|0)+(d<<1)>>1]=0;f=0}b[(c[l>>2]|0)+(d<<1)>>1]=f;b[(c[m>>2]|0)+(d<<1)>>1]=32767;b[(c[n>>2]|0)+(d<<1)>>1]=0;d=d+1|0;if((d|0)==1024)break;f=c[a>>2]|0}i=x+8|0;j=x+16|0;l=x+24|0;g=0;do{h[x>>3]=0.0;m=g&127;e=+(m|0)/127.0;n=g>>>0<128;h[i>>3]=n?e:e+-1.0;h[j>>3]=n?1.0:-1.0;e=+(g&63|0)*.015625;switch(g>>>6&33554431|0){case 0:break;case 1:{e=1.0-e;break}case 2:{e=0.0-e;break}case 3:{e=0.0-(1.0-e);break}default:e=0.0}h[l>>3]=e;f=0;e=0.0;while(1){h[(c[a+32+(f<<5)>>2]|0)+(g<<3)>>3]=1.0;p=+ma(+(e*3.378/1200.0));h[(c[a+32+(f<<5)+4>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*5.0646/1200.0));h[(c[a+32+(f<<5)+8>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*6.7495/1200.0));h[(c[a+32+(f<<5)+12>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*10.1143/1200.0));h[(c[a+32+(f<<5)+16>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*20.1699/1200.0));h[(c[a+32+(f<<5)+20>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*40.1076/1200.0));h[(c[a+32+(f<<5)+24>>2]|0)+(g<<3)>>3]=p;p=+ma(+(e*79.307/1200.0));h[(c[a+32+(f<<5)+28>>2]|0)+(g<<3)>>3]=p;d=f+1|0;if((d|0)==4)break;f=d;e=+h[x+(d<<3)>>3]}c[(c[t>>2]|0)+(g<<2)>>2]=0;c[(c[u>>2]|0)+(g<<2)>>2]=65536-(g<<8);c[(c[v>>2]|0)+(g<<2)>>2]=n?65536:0;s=m<<9;c[(c[w>>2]|0)+(g<<2)>>2]=n?65536-s|0:s;g=g+1|0}while((g|0)!=256);d=0;do{c[a+3824+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+(d|0)/2.6666666666666665/20.0)));d=d+1|0}while((d|0)!=256);d=0;do{c[a+3248+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+h[41392+(d<<3)>>3]/20.0)));d=d+1|0}while((d|0)!=16);d=0;do{c[a+3312+(d<<2)>>2]=~~(65536.0/+B(10.0,+(+(d|0)*.75/20.0)));d=d+1|0}while((d|0)!=128);e=16934400.0/+((c[a+11468>>2]|0)>>>0);d=0;do{h[a+1200+(d<<3)>>3]=e*+h[41520+(d<<3)>>3];d=d+1|0}while((d|0)!=256);d=0;do{h[a+176+(d<<3)>>3]=e*+h[43568+(d<<3)>>3]*44100.0/1.0e3;d=d+1|0}while((d|0)!=64);d=0;do{h[a+688+(d<<3)>>3]=e*+h[44080+(d<<3)>>3]*44100.0/1.0e3;d=d+1|0}while((d|0)!=64);k=y;return}function pw(a){a=a|0;var b=0,d=0;b=a&255;a=3066384+(b*11480|0)+11460|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+4|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+8|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+12|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+16|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+20|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+24|0;Iy(c[a>>2]|0);c[a>>2]=0;a=3066384+(b*11480|0)+28|0;Iy(c[a>>2]|0);c[a>>2]=0;a=0;do{d=3066384+(b*11480|0)+32+(a>>>3<<5)+((a&7)<<2)|0;Iy(c[d>>2]|0);c[d>>2]=0;a=a+1|0}while((a|0)!=32);d=3066384+(b*11480|0)+160|0;Iy(c[d>>2]|0);c[d>>2]=0;d=3066384+(b*11480|0)+164|0;Iy(c[d>>2]|0);c[d>>2]=0;d=3066384+(b*11480|0)+168|0;Iy(c[d>>2]|0);c[d>>2]=0;d=3066384+(b*11480|0)+172|0;Iy(c[d>>2]|0);c[d>>2]=0;d=3066384+(b*11480|0)+11472|0;Iy(c[d>>2]|0);c[d>>2]=0;return} +function Cm(d){d=d|0;var e=0;c[d+1596>>2]=0;c[d+1592>>2]=0;c[d+5736>>2]=1;a[d+5824>>0]=0;Dm(d,127);Em(d,1,0);Em(d,2,0);Em(d,3,0);Em(d,4,0);e=255;while(1){Em(d,e,0);if(e>>>0>32)e=e+-1|0;else break}b[d+78>>1]=0;a[d+42>>0]=0;c[d+52>>2]=511;b[d+158>>1]=0;a[d+122>>0]=0;c[d+132>>2]=511;b[d+254>>1]=0;a[d+218>>0]=0;c[d+228>>2]=511;b[d+334>>1]=0;a[d+298>>0]=0;c[d+308>>2]=511;b[d+430>>1]=0;a[d+394>>0]=0;c[d+404>>2]=511;b[d+510>>1]=0;a[d+474>>0]=0;c[d+484>>2]=511;b[d+606>>1]=0;a[d+570>>0]=0;c[d+580>>2]=511;b[d+686>>1]=0;a[d+650>>0]=0;c[d+660>>2]=511;b[d+782>>1]=0;a[d+746>>0]=0;c[d+756>>2]=511;b[d+862>>1]=0;a[d+826>>0]=0;c[d+836>>2]=511;b[d+958>>1]=0;a[d+922>>0]=0;c[d+932>>2]=511;b[d+1038>>1]=0;a[d+1002>>0]=0;c[d+1012>>2]=511;b[d+1134>>1]=0;a[d+1098>>0]=0;c[d+1108>>2]=511;b[d+1214>>1]=0;a[d+1178>>0]=0;c[d+1188>>2]=511;b[d+1310>>1]=0;a[d+1274>>0]=0;c[d+1284>>2]=511;b[d+1390>>1]=0;a[d+1354>>0]=0;c[d+1364>>2]=511;b[d+1486>>1]=0;a[d+1450>>0]=0;c[d+1460>>2]=511;b[d+1566>>1]=0;a[d+1530>>0]=0;c[d+1540>>2]=511;if(!(a[d+5820>>0]&2))return;e=c[d+5764>>2]|0;h[e+16>>3]=+h[d+5840>>3];c[e+4>>2]=d+5856;a[e+88>>0]=5;c[e+32>>2]=8388608;Pj(e,0,0);return}function Dm(b,e){b=b|0;e=e|0;var f=0;f=b+5822|0;e=(e^255)&(d[f>>0]|0);a[f>>0]=e;if(!(e&128))return;if(e&(d[b+5823>>0]|0)|0)return;a[f>>0]=e&127;e=c[b+5804>>2]|0;if(!e)return;xa[e&31](c[b+5808>>2]|0,0);return}function Em(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=f&255;k=g&255;switch(f>>>5&7){case 0:do switch(f&31){case 1:{if(!(a[e+5820>>0]&1))return;a[e+5748>>0]=g&32;return}case 2:{c[e+5752>>2]=1024-(k<<2);return}case 3:{c[e+5756>>2]=4096-(k<<4);return}case 4:{if(g&128|0){Dm(e,119);return}i=g&1;f=g>>>1&1;Dm(e,g&112);Fm(e,g&120^120);h=e+5761|0;if((f|0)!=(d[h>>0]|0))a[h>>0]=f;h=e+5760|0;if((i|0)==(d[h>>0]|0))return;a[h>>0]=i;return}case 6:{if(!(a[e+5820>>0]&4))return;h=c[e+5788>>2]|0;if(!h)return;xa[h&31](c[e+5792>>2]|0,g&255);return}case 7:{if(!(a[e+5820>>0]&2))return;Tj(c[e+5764>>2]|0,h+-7|0,k);return}case 8:{a[e+5824>>0]=g;if(!(a[e+5820>>0]&2))return;Tj(c[e+5764>>2]|0,h+-7|0,g&15);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:{if(!(a[e+5820>>0]&2))return;Tj(c[e+5764>>2]|0,h+-7|0,k);return}case 25:{if(!(a[e+5820>>0]&8))return;a[e+5769>>0]=g;h=c[e+5776>>2]|0;if(!h)return;xa[h&31](c[e+5780>>2]|0,d[e+5768>>0]&g&255);return}case 24:{if(!(a[e+5820>>0]&8))return;a[e+5768>>0]=g&15;return}default:return}while(0);case 1:{h=f&31;if(-4144960>>>h&1|0)return;Gm(e,c[32336+(h<<2)>>2]|0,k);return}case 2:{h=f&31;if(-4144960>>>h&1|0)return;Hm(e,c[32336+(h<<2)>>2]|0,k);return}case 3:{h=f&31;if(-4144960>>>h&1|0)return;Im(e,c[32336+(h<<2)>>2]|0,k);return}case 4:{h=f&31;if(-4144960>>>h&1|0)return;Jm(e,c[32336+(h<<2)>>2]|0,k);return}case 5:{if((h|0)!=189){i=f&15;if(i>>>0>8)return;j=e+(i*176|0)|0;do if(f&16){h=e+(i*176|0)+160|0;f=c[h>>2]&255|g<<8&7936;if(!(g&32)){Lm(j,-2);Lm(e+(i*176|0)+80|0,-2);break}else{Km(j,1);Km(e+(i*176|0)+80|0,1);break}}else{h=e+(i*176|0)+160|0;f=c[h>>2]&7936|k}while(0);if((c[h>>2]|0)==(f|0))return;c[h>>2]=f;g=c[32464+(f>>6<<2)>>2]|0;c[e+(i*176|0)+168>>2]=g;c[e+(i*176|0)+164>>2]=(c[e+1612+((f&1023)<<2)>>2]|0)>>>(7-(f>>10&255)|0);k=f>>>9;a[e+(i*176|0)+172>>0]=((a[e+5824>>0]&64)==0?k:f>>>8)&1|k&14;c[e+(i*176|0)+48>>2]=(g>>>(d[e+(i*176|0)+13>>0]|0))+(c[e+(i*176|0)+44>>2]|0);c[e+(i*176|0)+128>>2]=(g>>>(d[e+(i*176|0)+93>>0]|0))+(c[e+(i*176|0)+124>>2]|0);Mm(j,j);Mm(j,e+(i*176|0)+80|0);return}a[e+5716>>0]=g&128;a[e+5717>>0]=g>>>3&8;a[e+1608>>0]=g&63;if(!(g&32)){Lm(e+1056|0,-3);Lm(e+1136|0,-3);Lm(e+1232|0,-3);Lm(e+1312|0,-3);Lm(e+1408|0,-3);Lm(e+1488|0,-3);return}h=e+1056|0;if(!(g&16)){Lm(h,-3);Lm(e+1136|0,-3)}else{Km(h,2);Km(e+1136|0,2)}h=e+1232|0;if(!(g&1))Lm(h,-3);else Km(h,2);h=e+1312|0;if(!(g&8))Lm(h,-3);else Km(h,2);h=e+1408|0;if(!(g&4))Lm(h,-3);else Km(h,2);h=e+1488|0;if(!(g&2)){Lm(h,-3);return}else{Km(h,2);return}}case 6:{h=f&15;if(h>>>0>8)return;k=g>>>1&7;a[e+(h*176|0)+24>>0]=(k|0)==0?0:k+7&255;g=g&1;a[e+(h*176|0)+40>>0]=g;c[e+(h*176|0)+28>>2]=(g|0)==0?e+5848|0:e+5852|0;return}case 7:{if(!(a[e+5748>>0]|0))return;k=f&31;h=c[32336+(k<<2)>>2]|0;if(-4144960>>>k&1|0)return;b[e+(((h|0)/2|0)*176|0)+((h&1)*80|0)+78>>1]=g<<10&3072;return}default:{}}}function Fm(b,c){b=b|0;c=c|0;a[b+5823>>0]=c;Nm(b,0);Dm(b,0);return}function Gm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d|0)/2|0;d=d&1;a[b+(f*176|0)+(d*80|0)+15>>0]=a[33248+(e&15)>>0]|0;a[b+(f*176|0)+(d*80|0)+12>>0]=e>>>3&2^2;a[b+(f*176|0)+(d*80|0)+41>>0]=e&32;a[b+(f*176|0)+(d*80|0)+76>>0]=e&64;c[b+(f*176|0)+(d*80|0)+72>>2]=e<<24>>31;Mm(b+(f*176|0)|0,b+(f*176|0)+(d*80|0)|0);return}function Hm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)/2|0;d=d&1;g=c[33232+(e>>6<<2)>>2]|0;a[b+(f*176|0)+(d*80|0)+13>>0]=g;e=e<<2&252;c[b+(f*176|0)+(d*80|0)+44>>2]=e;c[b+(f*176|0)+(d*80|0)+48>>2]=((c[b+(f*176|0)+168>>2]|0)>>>(g&255))+e;return}function Im(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=(e|0)/2|0;i=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(j*176|0)+(i*80|0)>>2]=e;h=d[b+(j*176|0)+(i*80|0)+14>>0]|0;e=e+h|0;if(e>>>0<78){g=a[33072+e>>0]|0;e=a[32976+e>>0]|0}else{g=104;e=0}a[b+(j*176|0)+(i*80|0)+60>>0]=e;a[b+(j*176|0)+(i*80|0)+61>>0]=g;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(j*176|0)+(i*80|0)+4>>2]=f;f=f+h|0;a[b+(j*176|0)+(i*80|0)+62>>0]=a[32976+f>>0]|0;a[b+(j*176|0)+(i*80|0)+63>>0]=a[33072+f>>0]|0;return}function Jm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;g=(e|0)/2|0;e=e&1;c[b+(g*176|0)+(e*80|0)+56>>2]=c[33168+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g*176|0)+(e*80|0)+8>>2]=f;f=f+(d[b+(g*176|0)+(e*80|0)+14>>0]|0)|0;a[b+(g*176|0)+(e*80|0)+64>>0]=a[32976+f>>0]|0;a[b+(g*176|0)+(e*80|0)+65>>0]=a[33072+f>>0]|0;return}function Km(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+68|0;f=c[e>>2]|0;if(!f){c[b+16>>2]=0;a[b+42>>0]=4}c[e>>2]=f|d;return}function Lm(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+68|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+42|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Mm(b,e){b=b|0;e=e|0;var f=0,g=0;c[e+20>>2]=M(c[b+164>>2]|0,d[e+15>>0]|0)|0;b=(d[b+172>>0]|0)>>>(d[e+12>>0]|0);f=e+14|0;if((b|0)==(d[f>>0]|0|0))return;a[f>>0]=b;g=b&255;b=(c[e>>2]|0)+g|0;if(b>>>0<78){f=a[33072+b>>0]|0;b=a[32976+b>>0]|0}else{f=104;b=0}a[e+60>>0]=b;a[e+61>>0]=f;f=(c[e+4>>2]|0)+g|0;a[e+62>>0]=a[32976+f>>0]|0;a[e+63>>0]=a[33072+f>>0]|0;g=(c[e+8>>2]|0)+g|0;a[e+64>>0]=a[32976+g>>0]|0;a[e+65>>0]=a[33072+g>>0]|0;return}function Nm(b,e){b=b|0;e=e|0;var f=0;f=b+5822|0;e=d[f>>0]|0|e;a[f>>0]=e;if(e&128|0)return;if(!(e&(d[b+5823>>0]|0)))return;a[f>>0]=e|128;e=c[b+5804>>2]|0;if(!e)return;xa[e&31](c[b+5808>>2]|0,1);return}function Om(){var a=0;a=c[853936]|0;c[853936]=a+1;if((a|0)>0)return;Qm();return}function Pm(b){b=b|0;var d=0,e=0.0,f=0;d=c[b+5832>>2]|0;if(!d)e=0.0;else e=+((c[b+5828>>2]|0)>>>0)/72.0/+(d>>>0);f=b+5840|0;h[f>>3]=e;c[b+1612>>2]=~~(e*0.0*64.0)>>>0;d=1;while(1){c[b+1612+(d<<2)>>2]=~~(+(d|0)*64.0*e*64.0)>>>0;d=d+1|0;if((d|0)==1024)break;e=+h[f>>3]}a[b+173>>0]=0;a[b+349>>0]=0;a[b+525>>0]=0;a[b+701>>0]=0;a[b+877>>0]=0;a[b+1053>>0]=0;a[b+1229>>0]=0;a[b+1405>>0]=0;a[b+1581>>0]=0;d=b+1584|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;a[d+4>>0]=0;a[d+5>>0]=0;e=+h[f>>3];c[b+5724>>2]=~~(e*262144.0)>>>0;c[b+5732>>2]=~~(e*16384.0)>>>0;f=~~(e*65536.0)>>>0;c[b+5744>>2]=f;c[b+1600>>2]=f;c[b+1604>>2]=65536;return}function Qm(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<1;e=e<<1;c[1149040+(e<<2)>>2]=f;b=e|1;c[1149040+(b<<2)>>2]=0-f;c[1149040+(e+512<<2)>>2]=d;c[1149040+(b+512<<2)>>2]=0-d;f=d>>1;c[1149040+(e+1024<<2)>>2]=f;c[1149040+(b+1024<<2)>>2]=0-f;f=d>>2;c[1149040+(e+1536<<2)>>2]=f;c[1149040+(b+1536<<2)>>2]=0-f;f=d>>3;c[1149040+(e+2048<<2)>>2]=f;c[1149040+(b+2048<<2)>>2]=0-f;f=d>>4;c[1149040+(e+2560<<2)>>2]=f;c[1149040+(b+2560<<2)>>2]=0-f;f=d>>5;c[1149040+(e+3072<<2)>>2]=f;c[1149040+(b+3072<<2)>>2]=0-f;f=d>>6;c[1149040+(e+3584<<2)>>2]=f;c[1149040+(b+3584<<2)>>2]=0-f;f=d>>7;c[1149040+(e+4096<<2)>>2]=f;c[1149040+(b+4096<<2)>>2]=0-f;f=d>>8;c[1149040+(e+4608<<2)>>2]=f;c[1149040+(b+4608<<2)>>2]=0-f;f=d>>9;c[1149040+(e+5120<<2)>>2]=f;c[1149040+(b+5120<<2)>>2]=0-f;d=d>>10;c[1149040+(e+5632<<2)>>2]=d;c[1149040+(b+5632<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[1132656+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);b=0;do{if(!(b&512))a=c[1132656+(b<<2)>>2]|0;else a=6144;c[1132656+(b+1024<<2)>>2]=a;c[1132656+(b+2048<<2)>>2]=c[1132656+((b&511)<<2)>>2];if(!(b&256))a=c[1132656+((b&255)<<2)>>2]|0;else a=6144;c[1132656+(b+3072<<2)>>2]=a;b=b+1|0}while((b|0)!=1024);return}function Rm(a){a=a|0;Sm(c[3415736+((a&255)<<2)>>2]|0);return}function Sm(a){a=a|0;Tm(a);return}function Tm(a){a=a|0;Um();Iy(a);return}function Um(){var a=0;a=c[853936]|0;if(!a)return;c[853936]=a+-1;return}function Vm(a){a=a|0;Bm(c[3415736+((a&255)<<2)>>2]|0);return}function Wm(a,b,d){a=a|0;b=b|0;d=d|0;Xm(c[3415736+((a&255)<<2)>>2]|0,b&1,d&255);return}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;Ym(a,b,c);return}function Ym(b,e,f){b=b|0;e=e|0;f=f|0;if(!(e&1)){a[b+5821>>0]=f;return}e=c[b+5812>>2]|0;if(e|0)wa[e&31](c[b+5816>>2]|0);Em(b,d[b+5821>>0]|0,f);return}function Zm(a,b){a=a|0;b=b|0;_m(c[3415736+((a&255)<<2)>>2]|0,b);return}function _m(b,c){b=b|0;c=c|0;a[b+173>>0]=c&1;a[b+349>>0]=c>>>1&1;a[b+525>>0]=c>>>2&1;a[b+701>>0]=c>>>3&1;a[b+877>>0]=c>>>4&1;a[b+1053>>0]=c>>>5&1;a[b+1229>>0]=c>>>6&1;a[b+1405>>0]=c>>>7&1;a[b+1581>>0]=c>>>8&1;a[b+1584>>0]=c>>>9&1;a[b+1585>>0]=c>>>10&1;a[b+1586>>0]=c>>>11&1;a[b+1587>>0]=c>>>12&1;a[b+1588>>0]=c>>>13&1;a[b+1589>>0]=c>>>14&1;return}function $m(b,d,e){b=b|0;d=d|0;e=e|0;b=3415748+((b&255)<<2)|0;switch(a[3416885]|0){case 1:{an(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{bn(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function an(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=a[b+1608>>0]&32;if(!f){mn(b);return}if((f|0)<=0)return;p=b+5852|0;q=b+176|0;r=b+352|0;m=b+528|0;n=b+704|0;o=b+880|0;h=g<<24>>24==0;i=b+1056|0;j=b+1232|0;k=b+1408|0;l=b+5736|0;g=0;do{c[p>>2]=0;jm(b);km(b,b);km(b,q);km(b,r);km(b,m);km(b,n);km(b,o);if(h){km(b,i);km(b,j);km(b,k)}else lm(b,b,c[l>>2]&1);s=c[p>>2]|0;c[d+(g<<2)>>2]=s;c[e+(g<<2)>>2]=s;mm(b);g=g+1|0}while((g|0)!=(f|0));return}function bn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=k;k=k+4096|0;aa=ea+2048|0;da=ea;if(!f){i=b+3249|0;g=0;do{if(!(g>>>0>5&(a[i>>0]&32)!=0)){h=b+(g*168|0)|0;if(!(c[b+(g*168|0)+112>>2]|0))cn(h);if(!(c[h+1624>>2]|0))cn(h+1512|0)}g=g+1|0}while((g|0)!=9);k=ea;return}if((f|0)<=0){k=ea;return}ba=b+3249|0;m=b+3340|0;n=b+3348|0;ca=b+3024|0;x=b+1008|0;E=b+2520|0;F=b+2632|0;J=b+1344|0;K=b+1456|0;U=b+1176|0;V=b+1288|0;y=b+1120|0;s=b+2657|0;W=b+2800|0;z=b+2658|0;X=b+2968|0;t=b+1146|0;u=b+2640|0;G=b+1464|0;Q=b+2826|0;L=b+1296|0;A=b+1012|0;B=b+1064|0;r=b+1128|0;Y=b+2688|0;Z=b+2856|0;_=b+3037|0;O=b+2808|0;T=b+2976|0;o=f<<2;QA(d|0,0,o|0)|0;QA(e|0,0,o|0)|0;o=a[ba>>0]|0;h=((o&255)>>>6&1^1)&255;i=c[b+3344>>2]|0;j=c[b+3352>>2]|0;l=o<<24>>24<0;g=0;p=c[m>>2]|0;q=c[n>>2]|0;do{$=p+i|0;p=$>>>0>134217727?$+-134217728|0:$;c[aa+(g<<2)>>2]=c[1173616+(p>>>24<<2)>>2]>>h;$=q+j|0;q=$>>>0>889192447?$+-889192448|0:$;$=q>>>24;c[da+(g<<2)>>2]=c[1173648+((l?$:$+53|0)<<2)>>2];g=g+1|0}while((g|0)!=(f|0));$=b+3060|0;h=b+3258|0;v=b+3035|0;i=b+1145|0;w=b+1481|0;D=b+1313|0;C=b+1482|0;H=b+2825|0;I=b+1314|0;N=b+2993|0;P=b+2994|0;R=b+3034|0;S=b+3036|0;c[m>>2]=p;c[n>>2]=q;do if(o&32){a:do if(!(a[b+3033>>0]|0)){g=(c[F>>2]|0)!=5;if(a[h>>0]&1){if(!g)break;if(!(a[s>>0]|0))i=1176128;else{g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[u>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1174080}g=(a[z>>0]|0)==0?1178176:da;h=0;while(1){dn(b,E,c[i+(h<<2)>>2]|0);wa[c[33264+(c[F>>2]<<2)>>2]&31](E);en(E,0,c[g+(h<<2)>>2]|0);A=c[E>>2]<<1;B=d+(h<<2)|0;c[B>>2]=(c[B>>2]|0)+A;B=e+(h<<2)|0;c[B>>2]=(c[B>>2]|0)+A;h=h+1|0;if((h|0)==(f|0))break a}}if(!g?(c[y>>2]|0)==5:0)break;if((a[i>>0]|0)!=0?(c[y>>2]|0)!=5:0){g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[r>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=1174080}else l=1176128;if((a[s>>0]|0)!=0?(c[F>>2]|0)!=5:0){g=0;do{c[1180224+(g<<2)>>2]=(M((M(c[u>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=1180224}else j=1176128;i=(a[t>>0]|0)==0?1178176:da;g=(a[z>>0]|0)==0?1178176:da;h=0;do{dn(b,x,c[l+(h<<2)>>2]|0);wa[c[33264+(c[y>>2]<<2)>>2]&31](x);u=(M((c[x>>2]|0)+(c[A>>2]|0)|0,c[B>>2]|0)|0)/2|0;en(x,u,c[i+(h<<2)>>2]|0);dn(b,E,c[j+(h<<2)>>2]|0);wa[c[33264+(c[F>>2]<<2)>>2]&31](E);en(E,c[x>>2]<<16,c[g+(h<<2)>>2]|0);u=c[E>>2]<<1;z=d+(h<<2)|0;c[z>>2]=(c[z>>2]|0)+u;z=e+(h<<2)|0;c[z>>2]=(c[z>>2]|0)+u;h=h+1|0}while((h|0)!=(f|0))}while(0);if((a[v>>0]|0)==0?(c[K>>2]|0)!=5:0){if(!(a[w>>0]|0))i=1176128;else{g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[G>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1174080}g=(a[C>>0]|0)==0?1178176:da;h=0;do{dn(b,J,c[i+(h<<2)>>2]|0);wa[c[33264+(c[K>>2]<<2)>>2]&31](J);en(J,0,c[g+(h<<2)>>2]|0);F=c[J>>2]<<1;G=d+(h<<2)|0;c[G>>2]=(c[G>>2]|0)+F;G=e+(h<<2)|0;c[G>>2]=(c[G>>2]|0)+F;h=h+1|0}while((h|0)!=(f|0))}if((c[V>>2]|0)==5)if((c[W>>2]|0)==5?(c[X>>2]|0)==5:0)break;else n=1176128;else if(!(a[D>>0]|0))n=1176128;else{g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[L>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));n=1174080}if((a[H>>0]|0)!=0?(c[W>>2]|0)==5:0){g=0;do{c[1180224+(g<<2)>>2]=(M((M(c[O>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=1180224}else m=1176128;l=(a[I>>0]|0)==0?1178176:da;j=(a[Q>>0]|0)==0?1178176:da;if((a[N>>0]|0)!=0?(c[X>>2]|0)==5:0){g=0;do{c[1180224+(g<<2)>>2]=(M((M(c[T>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=1180224}else i=1176128;g=(a[P>>0]|0)==0?1178176:da;h=0;do{fn(b,U,c[n+(h<<2)>>2]|0,Y,c[m+(h<<2)>>2]|0,Z,c[i+(h<<2)>>2]|0);if(!(a[_>>0]|0)){wa[c[33264+(c[V>>2]<<2)>>2]&31](U);en(U,0,c[l+(h<<2)>>2]|0)}else c[U>>2]=0;if(!(a[R>>0]|0)){wa[c[33264+(c[W>>2]<<2)>>2]&31](Y);en(Y,0,c[j+(h<<2)>>2]|0)}else c[Y>>2]=0;if(!(a[S>>0]|0)){wa[c[33264+(c[X>>2]<<2)>>2]&31](Z);en(Z,0,c[g+(h<<2)>>2]|0)}else c[Z>>2]=0;Q=(c[Y>>2]|0)+(c[U>>2]|0)<<1;P=d+(h<<2)|0;c[P>>2]=Q+(c[P>>2]|0);T=e+(h<<2)|0;c[T>>2]=(c[T>>2]|0)+Q;Q=c[Z>>2]<<1;c[P>>2]=(c[P>>2]|0)+Q;c[T>>2]=(c[T>>2]|0)+Q;h=h+1|0}while((h|0)!=(f|0))}while(0);q=(f|0)<1;p=8;while(1){do if((a[ca+p>>0]|0)==0?!((p+-6|0)>>>0<3&(a[ba>>0]&32)!=0):0){r=b+(p*168|0)|0;s=r+1512|0;t=r+1624|0;g=(c[t>>2]|0)==5;if(!(a[$+(p+192)>>0]&1)){if(g?(c[b+(p*168|0)+112>>2]|0)==5:0)break;if(a[b+(p*168|0)+137>>0]|0){g=(c[b+(p*168|0)+112>>2]|0)==5;if(g|q)o=g?1176128:1174080;else{h=b+(p*168|0)+120|0;g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=1174080}}else o=1176128;if(a[r+1649>>0]|0){g=(c[t>>2]|0)==5;if(g|q)h=g?1176128:1180224;else{h=r+1632|0;g=0;do{c[1180224+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));h=1180224}}else h=1176128;j=(a[b+(p*168|0)+138>>0]|0)==0?1178176:da;i=(a[r+1650>>0]|0)==0?1178176:da;l=b+(p*168|0)+112|0;m=b+(p*168|0)+4|0;n=b+(p*168|0)+56|0;g=0;do{dn(b,r,c[o+(g<<2)>>2]|0);wa[c[33264+(c[l>>2]<<2)>>2]&31](r);Z=(M((c[r>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;en(r,Z,c[j+(g<<2)>>2]|0);dn(b,s,c[h+(g<<2)>>2]|0);wa[c[33264+(c[t>>2]<<2)>>2]&31](s);en(s,c[r>>2]<<16,c[i+(g<<2)>>2]|0);Z=c[s>>2]|0;_=d+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;_=e+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;g=g+1|0}while((g|0)!=(f|0))}else{if(g?(c[b+(p*168|0)+112>>2]|0)==5:0)break;if(a[b+(p*168|0)+137>>0]|0){g=(c[b+(p*168|0)+112>>2]|0)==5;if(g|q)o=g?1176128:1174080;else{h=b+(p*168|0)+120|0;g=0;do{c[1174080+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=1174080}}else o=1176128;if(a[r+1649>>0]|0){g=(c[t>>2]|0)==5;if(g|q)h=g?1176128:1180224;else{h=r+1632|0;g=0;do{c[1180224+(g<<2)>>2]=(M((M(c[h>>2]|0,c[aa+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));h=1180224}}else h=1176128;j=(a[b+(p*168|0)+138>>0]|0)==0?1178176:da;i=(a[r+1650>>0]|0)==0?1178176:da;l=b+(p*168|0)+112|0;m=b+(p*168|0)+4|0;n=b+(p*168|0)+56|0;g=0;do{dn(b,r,c[o+(g<<2)>>2]|0);wa[c[33264+(c[l>>2]<<2)>>2]&31](r);Z=(M((c[r>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;en(r,Z,c[j+(g<<2)>>2]|0);dn(b,s,c[h+(g<<2)>>2]|0);wa[c[33264+(c[t>>2]<<2)>>2]&31](s);en(s,0,c[i+(g<<2)>>2]|0);Z=(c[r>>2]|0)+(c[s>>2]|0)|0;_=d+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;_=e+(g<<2)|0;c[_>>2]=(c[_>>2]|0)+Z;g=g+1|0}while((g|0)!=(f|0))}}while(0);if(!p)break;else p=p+-1|0}k=ea;return}function cn(a){a=a|0;if((c[a+144>>2]|0)+1&c[a+148>>2]|0)return;if(!(+h[a+64>>3]>=1.0))return;c[a+112>>2]=1;h[a+24>>3]=1.0;h[a+32>>3]=1.0;return}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;c[b+12>>2]=g;f=c[b+16>>2]|0;c[e>>2]=f+g+((M(f,d)|0)/65536|0);d=b+140|0;c[d>>2]=(c[d>>2]|0)+(c[a+3356>>2]|0);return}function en(a,d,e){a=a|0;d=d|0;e=e|0;if((c[a+112>>2]|0)==5)return;c[a+4>>2]=c[a>>2];c[a>>2]=~~(+h[a+32>>3]*+h[a+40>>3]*+(b[(c[a+124>>2]|0)+((c[a+128>>2]&((c[a+12>>2]|0)+d|0)>>>16)<<1)>>1]|0)*+(e|0)*.0625);return}function fn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;j=(c[m>>2]|0)>>>16;i=g+8|0;k=(c[i>>2]|0)>>>16;j=((k<<2^k)&32|j<<5&128^j&136|0)==0?0:2;k=(rA()|0)&1;l=c[m>>2]|0;c[b+12>>2]=(52<<(j^k<<1)|j<<8)<<16;n=c[b+16>>2]|0;c[m>>2]=n+l+((M(n,d)|0)/65536|0);d=a+3356|0;a=b+140|0;c[a>>2]=(c[a>>2]|0)+(c[d>>2]|0);c[e+12>>2]=((l>>>24&1)+1^k)<<24;a=c[e+16>>2]|0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+a+((M(a,f)|0)/65536|0);f=e+140|0;c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[g+12>>2]=j<<24|16777216;f=c[g+16>>2]|0;c[i>>2]=(c[i>>2]|0)+f+((M(f,h)|0)/65536|0);h=g+140|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);return}function gn(b){b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+24|0;e=+h[r>>3];e=+h[b+64>>3]+e*(+h[b+72>>3]+e*(+h[b+88>>3]*e+ +h[b+80>>3]));h[r>>3]=e;j=b+140|0;k=c[j>>2]|0;l=k>>>16;if(!l){r=k&65535;c[j>>2]=r;return}m=b+144|0;n=c[b+148>>2]|0;o=b+112|0;p=b+32|0;q=b+160|0;g=b+164|0;f=c[m>>2]|0;b=0;i=f;do{i=i+1|0;if(!(n&i)){if(e>1.0){c[o>>2]=1;h[r>>3]=1.0;h[p>>3]=1.0;e=1.0}s=d[q>>0]|0;s=(s&127|0)==0?1:s<<1&255;a[q>>0]=s;if(c[g>>2]&(s&255))h[p>>3]=e}b=b+1|0}while((b|0)!=(l|0));c[m>>2]=f+l;s=k&65535;c[j>>2]=s;return}function hn(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=b+24|0;d=+h[p>>3];q=+h[b+48>>3];if(d>q){d=d*+h[b+96>>3];h[p>>3]=d}o=b+140|0;i=c[o>>2]|0;j=i>>>16;if(!j){p=i&65535;c[o>>2]=p;return}k=b+144|0;l=c[b+152>>2]|0;m=b+32|0;n=b+136|0;f=b+112|0;e=c[k>>2]|0;b=0;g=e;do{g=g+1|0;if(!(l&g)){do if(d<=q)if(!(a[n>>0]|0)){c[f>>2]=4;break}else{c[f>>2]=3;h[p>>3]=q;d=q;break}while(0);h[m>>3]=d}b=b+1|0}while((b|0)!=(j|0));c[k>>2]=e+j;p=i&65535;c[o>>2]=p;return}function jn(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+24|0;b=+h[n>>3];if(b>1.0e-08){b=b*+h[a+104>>3];h[n>>3]=b}k=a+140|0;l=c[k>>2]|0;m=l>>>16;if(!m){n=l&65535;c[k>>2]=n;return}g=a+144|0;i=c[a+156>>2]|0;j=a+32|0;e=a+112|0;d=c[g>>2]|0;a=0;f=d;do{f=f+1|0;if(!(i&f)){if(b<=1.0e-08){h[n>>3]=0.0;if((c[e>>2]|0)==2){c[e>>2]=5;b=0.0}else b=0.0}h[j>>3]=b}a=a+1|0}while((a|0)!=(m|0));c[g>>2]=d+m;n=l&65535;c[k>>2]=n;return}function kn(a){a=a|0;var b=0,d=0,e=0;b=a+140|0;d=c[b>>2]|0;e=d>>>16;if(!e){e=d&65535;c[b>>2]=e;return}a=a+144|0;c[a>>2]=(c[a>>2]|0)+e;e=d&65535;c[b>>2]=e;return}function ln(a){a=a|0;return}function mn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=b+1592|0;e=0;do{h=e>>>1;i=e&1;j=b+(h*176|0)+(i*80|0)+42|0;if(((a[j>>0]|0)==4?(k=c[f>>2]|0,l=d[b+(h*176|0)+(i*80|0)+60>>0]|0,((1<>2]|0,(((M(d[31856+((k>>>l&7)+(d[b+(h*176|0)+(i*80|0)+61>>0]|0))>>0]|0,~m)|0)>>3)+m|0)<1):0){c[g>>2]=0;a[j>>0]=3}e=e+1|0}while((e|0)!=18);return}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){e=0;return e|0}e=3415748+((b&255)<<2)|0;d=d&2147483647;b=(d>>>0)/72|0;g=a[3416903]|0;f=c[853966]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;switch(a[3416885]|0){case 1:{g=on(d,b)|0;c[e>>2]=g;qn(g,e);sn(c[e>>2]|0,e);un(c[e>>2]|0,e);g=b;return g|0}case 0:{c[e>>2]=vn(d,b,e)|0;g=b;return g|0}default:{g=b;return g|0}}return 0}function on(a,b){a=a|0;b=b|0;a=Am(a,b,1)|0;if(!a)return a|0;wn(a);return a|0}function pn(a,b,c){a=a|0;b=b|0;c=c|0;return}function qn(a,b){a=a|0;b=b|0;zm(a,6,b);return}function rn(a,b){a=a|0;b=b|0;return}function sn(a,b){a=a|0;b=b|0;ym(a,13,b);return}function tn(b){b=b|0;switch(a[3416885]|0){case 1:{an(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}case 0:{bn(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}default:return}}function un(a,b){a=a|0;b=b|0;xm(a,21,b);return}function vn(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0;w=k;k=k+224|0;p=w;v=Hy(3504)|0;o=v+3040|0;c[o>>2]=f;n=v+3044|0;c[n>>2]=g;c[v+3496>>2]=21;c[v+3500>>2]=i;x=+(f>>>0)/72.0;j=+(g|0);c[v+3356>>2]=~~(x*65536.0/j)>>>0;j=1.0/j;l=v+3360|0;h[l>>3]=j;m=v+3368|0;h[v+3488>>3]=j*(x*15.0*.0009765625*65536.0);g=15;i=f;while(1){g=g+-1|0;h[m+(g<<3)>>3]=j*(+h[33296+(g<<3)>>3]*(+(i>>>0)/72.0)*.0009765625*65536.0);if(!g)break;i=c[o>>2]|0;j=+h[l>>3]}g=(c[853939]|0)==0;if(g){c[293404]=8;c[293405]=4;c[293406]=0;c[293407]=-4;c[293408]=-8;c[293409]=-4;c[293410]=0;c[293411]=4}j=+(c[n>>2]|0);c[v+3344>>2]=~~(+((c[o>>2]|0)>>>0)/72.0*16384.0/j)>>>0;c[v+3340>>2]=0;if(!g){c[v+3352>>2]=~~(3290012057.6000004/j)>>>0;c[v+3348>>2]=0;k=w;return v|0}QA(1176128,0,2048)|0;c[p>>2]=-13;c[p+4>>2]=-12;c[p+8>>2]=-11;c[p+12>>2]=-10;c[p+16>>2]=-9;c[p+20>>2]=-8;c[p+24>>2]=-7;c[p+28>>2]=-6;c[p+32>>2]=-5;c[p+36>>2]=-4;c[p+40>>2]=-3;c[p+44>>2]=-2;c[p+48>>2]=-1;c[p+52>>2]=0;c[p+56>>2]=0;c[p+60>>2]=-1;c[p+64>>2]=-2;c[p+68>>2]=-3;c[p+72>>2]=-4;c[p+76>>2]=-5;c[p+80>>2]=-6;c[p+84>>2]=-7;c[p+88>>2]=-8;c[p+92>>2]=-9;c[p+96>>2]=-10;c[p+100>>2]=-11;c[p+104>>2]=-12;c[p+108>>2]=-13;c[p+112>>2]=-14;c[p+116>>2]=-15;c[p+120>>2]=-16;c[p+124>>2]=-17;c[p+128>>2]=-18;c[p+132>>2]=-19;c[p+136>>2]=-20;c[p+140>>2]=-21;c[p+144>>2]=-22;c[p+148>>2]=-23;c[p+152>>2]=-24;c[p+156>>2]=-25;c[p+160>>2]=-26;c[p+164>>2]=-25;c[p+168>>2]=-24;c[p+172>>2]=-23;c[p+176>>2]=-22;c[p+180>>2]=-21;c[p+184>>2]=-20;c[p+188>>2]=-19;c[p+192>>2]=-18;c[p+196>>2]=-17;c[p+200>>2]=-16;c[p+204>>2]=-15;c[p+208>>2]=-14;g=0;do{u=c[p+(g<<2)>>2]|0;c[1173648+(g<<2)>>2]=~~(+ma(+(+(u|0)*4.8/26.0/6.0))*65536.0);c[1173648+(g+53<<2)>>2]=~~(+ma(+(+((u|0)/4|0|0)*1.2/6.0/6.0))*65536.0);g=g+1|0}while((g|0)!=53);c[v+3352>>2]=~~(3290012057.6000004/j)>>>0;c[v+3348>>2]=0;c[853939]=1;g=0;do{c[1178176+(g<<2)>>2]=65536;g=g+1|0}while((g|0)!=512);g=0;do{t=g<<1;u=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[1182272+(t+1024<<1)>>1]=u;t=t|1;b[1182272+(t+1024<<1)>>1]=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[1182272+(g<<1)>>1]=u;g=g+1|0}while((g|0)!=512);g=0;do{b[1182272+(g+2048<<1)>>1]=(e[1182272+(g+128<<1)>>1]|0)+49152;b[1182272+(g+2176<<1)>>1]=(e[1182272+(g+256<<1)>>1]|0)+16384;g=g+1|0}while((g|0)!=128);a[1188528]=0;a[1188529]=24;a[1188530]=32;a[1188531]=37;a[1188532]=40;a[1188533]=43;a[1188534]=45;a[1188535]=47;a[1188536]=48;a[1188537]=50;a[1188538]=51;a[1188539]=52;a[1188540]=53;a[1188541]=54;a[1188542]=55;a[1188543]=56;u=6;g=0;i=24;f=32;l=37;m=40;n=43;o=45;p=47;q=48;r=50;s=51;t=52;while(1){y=u+1|0;z=(g&255)+-8|0;g=1188416+(u<<4)|0;a[g>>0]=(z|0)>0?z:0;z=(i&255)+-8|0;i=1188416+(u<<4)+1|0;a[i>>0]=(z|0)>0?z:0;z=(f&255)+-8|0;f=1188416+(u<<4)+2|0;a[f>>0]=(z|0)>0?z:0;l=(l&255)+-8|0;l=(l|0)>0?l:0;a[1188416+(u<<4)+3>>0]=l;m=(m&255)+-8|0;m=(m|0)>0?m:0;a[1188416+(u<<4)+4>>0]=m;n=(n&255)+-8|0;n=(n|0)>0?n:0;a[1188416+(u<<4)+5>>0]=n;o=(o&255)+-8|0;o=(o|0)>0?o:0;a[1188416+(u<<4)+6>>0]=o;p=(p&255)+-8|0;p=(p|0)>0?p:0;a[1188416+(u<<4)+7>>0]=p;q=(q&255)+-8|0;q=(q|0)>0?q:0;a[1188416+(u<<4)+8>>0]=q;r=(r&255)+-8|0;r=(r|0)>0?r:0;a[1188416+(u<<4)+9>>0]=r;s=(s&255)+-8|0;s=(s|0)>0?s:0;a[1188416+(u<<4)+10>>0]=s;t=(t&255)+-8|0;t=(t|0)>0?t:0;a[1188416+(u<<4)+11>>0]=t;z=(d[1188416+(y<<4)+12>>0]|0)+-8|0;a[1188416+(u<<4)+12>>0]=(z|0)>0?z:0;z=(d[1188416+(y<<4)+13>>0]|0)+-8|0;a[1188416+(u<<4)+13>>0]=(z|0)>0?z:0;z=(d[1188416+(y<<4)+14>>0]|0)+-8|0;a[1188416+(u<<4)+14>>0]=(z|0)>0?z:0;y=(d[1188416+(y<<4)+15>>0]|0)+-8|0;a[1188416+(u<<4)+15>>0]=(y|0)>0?y:0;if(!u)break;u=u+-1|0;g=a[g>>0]|0;i=a[i>>0]|0;f=a[f>>0]|0}k=w;return v|0}function wn(a){a=a|0;Cm(a);return}function xn(b){b=b|0;b=3415748+((b&255)<<2)|0;switch(a[3416885]|0){case 1:{yn(c[b>>2]|0);return}case 0:{zn(c[b>>2]|0);return}default:return}}function yn(a){a=a|0;Tm(a);return}function zn(a){a=a|0;Iy(a);return}function An(b){b=b|0;b=3415748+((b&255)<<2)|0;switch(a[3416885]|0){case 1:{wn(c[b>>2]|0);return}case 0:{Bn(c[b>>2]|0);return}default:return}}function Bn(b){b=b|0;var d=0,e=0;QA(b|0,0,3024)|0;QA(b+3060|0,0,278)|0;d=0;do{c[b+(d*168|0)+112>>2]=5;c[b+(d*168|0)+132>>2]=0;e=b+(d*168|0)+24|0;c[b+(d*168|0)+8>>2]=0;c[b+(d*168|0)+16>>2]=0;c[b+(d*168|0)+116>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+(d*168|0)+128>>2]=1023;c[b+(d*168|0)+124>>2]=1184320;c[b+(d*168|0)+120>>2]=0;e=b+(d*168|0)+140|0;c[b+(d*168|0)+164>>2]=0;d=d+1|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[e+20>>0]=0}while((d|0)!=18);a[b+3048>>0]=0;c[b+3052>>2]=0;c[b+3056>>2]=0;return}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;b=3415748+((b&255)<<2)|0;switch(a[3416885]|0){case 1:{Dn(c[b>>2]|0,d&1,e&255);return}case 0:{En(c[b>>2]|0,d&1,e);return}default:return}}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;Ym(a,b,c);return}function En(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+3056>>2]=d&255;return}else{Fn(a,c[a+3056>>2]|0,d);return}}function Fn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e&256;a[b+3060+e>>0]=f;do switch(e>>>4&15){case 0:{if((e|0)!=4)return;g=b+3048|0;if(f<<24>>24<0){a[g>>0]=a[g>>0]&-97;return}else{a[g>>0]=0;return}}case 3:case 2:{h=e&7;g=e+224&255;if(!(h>>>0<6&g>>>0<22))return;j=(k|0)!=0;f=d[33424+(j?g+22|0:g)>>0]|0;i=g|k;k=b+(((h>>>0<3?0:9)+f|0)*168|0)|0;Gn(b,i,k);Hn(b,i,k);In(b,j?f+238|0:f,g,k);return}case 5:case 4:{h=e&7;g=e+192&255;if(!(h>>>0<6&g>>>0<22))return;f=(k|0)!=0;k=d[33424+(f?g+22|0:g)>>0]|0;In(b,f?k+238|0:k,g,b+(((h>>>0<3?0:9)+k|0)*168|0)|0);return}case 7:case 6:{g=e+160&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|k;k=b+((d[33456+((k|0)==0?g:g+22|0)>>0]|0)*168|0)|0;Jn(b,f,k);Kn(b,f,k);return}case 9:case 8:{g=e+128&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|k;k=b+((d[33456+((k|0)==0?g:g+22|0)>>0]|0)*168|0)|0;Ln(b,f,k);Mn(b,f,k);return}case 10:{g=e+96&255;if(g>>>0>=9)return;f=(k|0)==0?g:g+18|0;j=k|(d[49915+g>>0]|0);k=g|k;In(b,k,j,b+(f*168|0)|0);In(b,k,j+3|0,b+((f+9|0)*168|0)|0);return}case 11:{g=c[b+3496>>2]|0;if(g|0)wa[g&31](c[b+3500>>2]|0);if((e|0)!=189){e=e+80&255;if(e>>>0>=9)return;g=(k|0)==0?e:e+18|0;i=k|(d[49915+e>>0]|0);j=b+(g*168|0)|0;if(!(f&32)){On(j,1);g=b+((g+9|0)*168|0)|0;On(g,1);h=i+3|0}else{Nn(b,i,j,1);h=i+3|0;g=b+((g+9|0)*168|0)|0;Nn(b,h,g,1)}k=e|k;In(b,k,i,j);In(b,k,h,g);return}h=f&255;g=b+1008|0;if((h&48|0)==48){Nn(b,16,g,2);In(b,6,16,g);k=b+2520|0;Nn(b,19,k,2);In(b,6,19,k)}else{On(g,2);On(b+2520|0,2)}g=b+2688|0;if((h&40|0)==40){Nn(b,20,g,2);In(b,7,20,g)}else On(g,2);g=b+1344|0;if((h&36|0)==36){Nn(b,18,g,2);In(b,8,18,g)}else On(g,2);g=b+2856|0;if((h&34|0)==34){Nn(b,21,g,2);In(b,8,21,g)}else On(g,2);g=b+1176|0;if((h&33|0)==33){Nn(b,17,g,2);In(b,7,17,g);return}else{On(g,2);return}}case 12:{g=e+64&255;if(g>>>0>=9)return;Pn(b,g|k,b+(((k|0)==0?g:g+18|0)*168|0)|0);return}case 15:case 14:{h=e&7;g=e+32&255;if(!(h>>>0<6&g>>>0<22))return;if(!(a[b+3061>>0]&32))return;a[b+3316+g>>0]=f&3;Qn(b,g,b+(((h>>>0<3?0:9)+(d[33424+g>>0]|0)|0)*168|0)|0);return}default:return}while(0)}function Gn(b,e,f){b=b|0;e=e|0;f=f|0;e=(d[e+32+(b+3060)>>0]|0)>>>5&1;a[f+136>>0]=e;b=f+112|0;switch(c[b>>2]|0){case 3:{if(e<<24>>24)return;c[b>>2]=4;return}case 4:{if(!(e<<24>>24))return;c[b>>2]=3;return}default:return}}function Hn(b,c,e){b=b|0;c=c|0;e=e|0;c=c+32+(b+3060)|0;a[e+137>>0]=(d[c>>0]|0)>>>6&1;a[e+138>>0]=(d[c>>0]|0)>>>7;return}function In(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0;j=d[e+176+(b+3060)>>0]|0;k=j<<8&768|(d[e+160+(b+3060)>>0]|0);l=j>>>2&7;c[g+120>>2]=k>>>7;e=(d[b+3068>>0]|0)>>>6&1;i=g+116|0;c[i>>2]=e&j|l<<1|(e^1)&j>>>1;j=f+32+(b+3060)|0;e=a[j>>0]|0;if(!(e&16)){c[i>>2]=l>>>1;e=a[j>>0]|0}c[g+16>>2]=~~(+h[b+3368+((e&15)<<3)>>3]*+(k<>>0))>>>0;j=d[f+64+(b+3060)>>0]|0;h[g+40>>3]=+ma(+(-14.0-(+h[33648+(j>>>6<<3)>>3]*+(d[(k>>>6)+(1188416+(l<<4))>>0]|0)+ +(j&63|0))*.125));Jn(b,f,g);Kn(b,f,g);Ln(b,f,g);return}function Jn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,i=0.0;f=(d[b+96+(a+3060)>>0]|0)>>>4;if(!f){h[e+64>>3]=0.0;h[e+72>>3]=1.0;f=e+80|0;c[e+148>>2]=0;c[e+164>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}g=c[e+116>>2]|0;i=+ma(+(+(f|0)+ +(g>>>2>>>0)+-1.0));i=+h[a+3360>>3]*(+h[33616+((g&3)<<3)>>3]*i);b=e+64|0;h[b>>3]=i*.0377;a=e+72|0;h[a>>3]=i*10.73+1.0;h[e+80>>3]=i*-17.57;h[e+88>>3]=i*7.42;f=g+(f<<2)|0;c[e+148>>2]=(f|0)<52?(1<<12-(f>>2))+-1|0:0;c[e+164>>2]=d[49924+((f|0)<49?4-(f&3)|0:0)>>0];if((f|0)<=61)return;h[b>>3]=2.0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function Kn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+96+(b+3060)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[33584+((g&3)<<3)>>3]*-7.4493*+h[b+3360>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}function Ln(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+128+(b+3060)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[33584+((g&3)<<3)>>3]*-7.4493*+h[b+3360>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0;a=(d[b+128+(a+3060)>>0]|0)>>>4;if((a|0)==15)e=0.0;else e=+ma(+(+(a|0)*-.5));h[c+48>>3]=e;return}function Nn(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=e+132|0;if(c[g>>2]|0)return;c[e+8>>2]=c[33552+((d[((b|0)>255?b+-234|0:b)+(a+3316)>>0]|0)<<2)>>2]<<16;c[e+112>>2]=0;c[g>>2]=f;return}function On(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+132|0;e=c[d>>2]|0;if(!e)return;e=e&~b;c[d>>2]=e;if(e|0)return;a=a+112|0;if((c[a>>2]|0)==5)return;c[a>>2]=2;return}function Pn(b,d,e){b=b|0;d=d|0;e=e|0;b=a[d+192+(b+3060)>>0]&14;if(!(b<<24>>24))b=0;else b=~~+Yz((b&255)>>>1|8);c[e+56>>2]=b;return}function Qn(a,b,e){a=a|0;b=b|0;e=e|0;b=a+3316+b|0;c[e+128>>2]=c[33488+((d[b>>0]|0)<<2)>>2];c[e+124>>2]=1182272+(c[33520+((d[b>>0]|0)<<2)>>2]<<1);return}function Rn(b){b=b|0;a[3416885]=(b&255)<2?b:0;return}function Sn(b,d){b=b|0;d=d|0;b=3415748+((b&255)<<2)|0;switch(a[3416885]|0){case 1:{_m(c[b>>2]|0,d);return}case 0:{Tn(c[b>>2]|0,d);return}default:return}}function Tn(b,c){b=b|0;c=c|0;a[b+3024>>0]=c&1;a[b+3025>>0]=c>>>1&1;a[b+3026>>0]=c>>>2&1;a[b+3027>>0]=c>>>3&1;a[b+3028>>0]=c>>>4&1;a[b+3029>>0]=c>>>5&1;a[b+3030>>0]=c>>>6&1;a[b+3031>>0]=c>>>7&1;a[b+3032>>0]=c>>>8&1;a[b+3033>>0]=c>>>9&1;a[b+3034>>0]=c>>>10&1;a[b+3035>>0]=c>>>11&1;a[b+3036>>0]=c>>>12&1;a[b+3037>>0]=c>>>13&1;return}function Un(a,b,d){a=a|0;b=b|0;d=d|0;Vn(c[3415760+((a&255)<<2)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function Vn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[b+5764>>2]|0;if((f|0)<=0)return;u=b+5852|0;v=b+5856|0;h=t+86|0;i=b+1589|0;j=b+176|0;k=b+352|0;l=b+528|0;m=b+704|0;n=b+880|0;o=(a[b+1608>>0]&32)==0;p=b+1056|0;q=b+1232|0;r=b+1408|0;s=b+5736|0;g=0;do{c[u>>2]=0;c[v>>2]=0;jm(b);if((a[h>>0]|0)<0?(a[i>>0]|0)==0:0)uj(t);km(b,b);km(b,j);km(b,k);km(b,l);km(b,m);km(b,n);if(o){km(b,p);km(b,q);km(b,r)}else lm(b,b,c[s>>2]&1);w=(c[v>>2]>>11)+(c[u>>2]|0)|0;c[d+(g<<2)>>2]=w;c[e+(g<<2)>>2]=w;mm(b);g=g+1|0}while((g|0)!=(f|0));return}function Wn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3415760+((b&255)<<2)|0;b=(d|0)/72|0;g=a[3416903]|0;f=c[853966]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;d=Xn(d,b)|0;c[e>>2]=d;Yn(d);$n(c[e>>2]|0,e);co(c[e>>2]|0,e);fo(c[e>>2]|0,e);ho(c[e>>2]|0,e);jo(c[e>>2]|0,e);d=b;return d|0}function Xn(b,d){b=b|0;d=d|0;b=Am(b,d,14)|0;if(!b){d=0;return d|0}d=b+5764|0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;c[(c[d>>2]|0)+92>>2]=14;c[(c[d>>2]|0)+96>>2]=15;c[(c[d>>2]|0)+100>>2]=b;a[(c[d>>2]|0)+104>>0]=16;a[(c[d>>2]|0)+105>>0]=8;mo(b);d=b;return d|0}function Yn(a){a=a|0;a=a+5764|0;c[c[a>>2]>>2]=0;c[(c[a>>2]|0)+24>>2]=0;return}function Zn(a,b){a=a|0;b=b|0;return}function _n(a){a=a|0;return 0}function $n(a,b){a=a|0;b=b|0;c[a+5776>>2]=16;c[a+5772>>2]=5;c[a+5780>>2]=b;return}function ao(a,b){a=a|0;b=b|0;return}function bo(a){a=a|0;return 0}function co(a,b){a=a|0;b=b|0;c[a+5788>>2]=17;c[a+5784>>2]=6;c[a+5792>>2]=b;return}function eo(a,b,c){a=a|0;b=b|0;c=c|0;return}function fo(a,b){a=a|0;b=b|0;zm(a,7,b);return}function go(a,b){a=a|0;b=b|0;return}function ho(a,b){a=a|0;b=b|0;ym(a,18,b);return}function io(a){a=a|0;Vn(c[a>>2]|0,c[853958]|0,c[853959]|0,0);return}function jo(a,b){a=a|0;b=b|0;xm(a,22,b);return}function ko(a,b){a=a|0;b=b|0;Nm(a,b&255);return}function lo(a,b){a=a|0;b=b|0;Dm(a,b&255);return}function mo(a){a=a|0;Cm(a);return}function no(a){a=a|0;oo(c[3415760+((a&255)<<2)>>2]|0);return}function oo(a){a=a|0;var b=0;b=a+5764|0;Iy(c[c[b>>2]>>2]|0);c[c[b>>2]>>2]=0;Tm(a);return}function po(a){a=a|0;mo(c[3415760+((a&255)<<2)>>2]|0);return}function qo(a,b,d){a=a|0;b=b|0;d=d|0;ro(c[3415760+((a&255)<<2)>>2]|0,b&1,d&255);return}function ro(a,b,c){a=a|0;b=b|0;c=c|0;Ym(a,b,c);return}function so(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;to(c[3415760+((a&255)<<2)>>2]|0,b,d,e,f);return}function to(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a=a+5764|0;g=c[a>>2]|0;if((c[g+24>>2]|0)!=(b|0)){g=Ky(c[g>>2]|0,b)|0;c[c[a>>2]>>2]=g;c[(c[a>>2]|0)+24>>2]=b;QA(c[c[a>>2]>>2]|0,-1,b|0)|0;Xj(c[a>>2]|0)}if(b>>>0>>0)return;PA((c[c[a>>2]>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function uo(a,b){a=a|0;b=b|0;_m(c[3415760+((a&255)<<2)>>2]|0,b);return}function vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=k;k=k+16|0;f=h;c[f>>2]=c[12177];c[f+4>>2]=c[12178];c[f+8>>2]=c[12179];c[f+12>>2]=c[12180];g=Hy(1049280)|0;if(!g){g=0;k=h;return g|0}QA(g|0,0,1049280)|0;c[a>>2]=g;e=e&255;c[f>>2]=e;jg(g,d,b,f)|0;if(!(e&16)){g=(b|0)/8|0;k=h;return g|0}else{g=(b|0)/16|0;k=h;return g|0}return 0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{fg(c[b>>2]|0,d,e);return}case 0:{gg(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function xo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((b&255)>1){e=0;return e|0}h=3415768+((b&255)<<2)|0;i=f&255;b=i&16;g=(d|0)/((b>>>1)+8|0)|0;k=a[3416903]|0;j=c[853966]|0;g=k<<24>>24==2|(k&1)!=0&(g|0)<(j|0)?j:g;switch(a[3416886]|0){case 1:{k=vo(h,d,e,f)|0;return k|0}case 0:{b=kg((b|0)==0?d:(d|0)/2|0,g)|0;c[h>>2]=b;if(!b){k=0;return k|0}lg(b,2-((e&255)>>>4&1)|0);yo(c[h>>2]|0,i&239);k=g;return k|0}default:{k=g;return k|0}}return 0}function yo(a,b){a=a|0;b=b|0;c[a+144>>2]=(((b&255)>>>6|1)^2)&255;c[a+148>>2]=3;c[a+152>>2]=((b&255)>>>7^3)&255;return}function zo(b){b=b|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{Ig(c[b>>2]|0);break}case 0:{Jg(c[b>>2]|0);break}default:{}}c[b>>2]=0;return}function Ao(b){b=b|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{sg(c[b>>2]|0);return}case 0:{tg(c[b>>2]|0);return}default:return}}function Bo(b,d,e){b=b|0;d=d|0;e=e|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{xg(c[b>>2]|0,d,e&255);return}case 0:{yg(c[b>>2]|0,d,e&255);return}default:return}}function Co(b){b=b|0;a[3416886]=(b&255)<2?b:0;return}function Do(b,d){b=b|0;d=d|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{fh(c[b>>2]|0,d);return}case 0:{gh(c[b>>2]|0,d);return}default:return}}function Eo(b,d){b=b|0;d=d|0;b=3415768+((b&255)<<2)|0;switch(a[3416886]|0){case 1:{ih(c[b>>2]|0,d);return}case 0:{jh(c[b>>2]|0,d);return}default:return}}function Fo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;h=b&255;b=e&511;if(b>>>0>503)if((c[1188544+(h*1996|0)+4>>2]|0)==2){a[b+-8+(1188544+(h*1996|0)+28)>>0]=f;return}else{a[1188544+(h*1996|0)+28+b>>0]=f;return}a[1188544+(h*1996|0)+28+b>>0]=f;if(b>>>0>=384)return;g=b>>>4;if((e&15|0)!=5)return;b=f&255;if(!(b&128)){c[1188544+(h*1996|0)+556+(g*60|0)+8>>2]=0;return}f=(e&496)+(1188544+(h*1996|0)+28)|0;c[1188544+(h*1996|0)+556+(g*60|0)+8>>2]=1;c[1188544+(h*1996|0)+556+(g*60|0)>>2]=0;c[1188544+(h*1996|0)+556+(g*60|0)+4>>2]=0;c[1188544+(h*1996|0)+556+(g*60|0)+12>>2]=0;c[1188544+(h*1996|0)+556+(g*60|0)+16>>2]=0;c[1188544+(h*1996|0)+556+(g*60|0)+20>>2]=0;c[1188544+(h*1996|0)+556+(g*60|0)+36>>2]=d[f+4>>0];c[1188544+(h*1996|0)+556+(g*60|0)+40>>2]=b;b=(d[f+10>>0]|0)<<8|(d[f+11>>0]|0);if((c[1188544+(h*1996|0)+4>>2]|0)==2){c[1188544+(h*1996|0)+556+(g*60|0)+52>>2]=b<<1;c[1188544+(h*1996|0)+556+(g*60|0)+44>>2]=((d[f+6>>0]|0)<<8|(d[f+7>>0]|0))<<1;c[1188544+(h*1996|0)+556+(g*60|0)+48>>2]=((d[f+8>>0]|0)<<8|(d[f+9>>0]|0))<<1;return}else{c[1188544+(h*1996|0)+556+(g*60|0)+52>>2]=b;c[1188544+(h*1996|0)+556+(g*60|0)+44>>2]=(d[f+6>>0]|0)<<8|(d[f+7>>0]|0);c[1188544+(h*1996|0)+556+(g*60|0)+48>>2]=(d[f+8>>0]|0)<<8|(d[f+9>>0]|0);return}}function Go(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,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.0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0;J=f&255;K=1188544+(J*1996|0)|0;Q=c[K>>2]|0;I=+(c[1188544+(J*1996|0)+16>>2]|0)*2.0/+(Q|0);Q=(Q|0)<(h|0)?Q:h;O=1188544+(J*1996|0)+8|0;E=Q<<1;QA(c[O>>2]|0,0,E|0)|0;P=1188544+(J*1996|0)+12|0;QA(c[P>>2]|0,0,E|0)|0;E=1188544+(J*1996|0)+24|0;if(!(c[E>>2]|0))return;F=1188544+(J*1996|0)+4|0;G=(c[F>>2]|0)==2?16:24;H=(Q|0)>0;D=0;do{f=(D<<4)+(1188544+(J*1996|0)+28)|0;v=1188544+(J*1996|0)+556+(D*60|0)+8|0;if((c[v>>2]|0?(a[1188544+(J*1996|0)+556+(D*60|0)+56>>0]|0)==0:0)?(L=d[f+2>>0]<<8|d[f+3>>0],L|0):0){w=~~(I*+(L|0));x=(d[f+1>>0]<<5>>>0)/24|0;q=(d[f>>0]<<5>>>0)/24|0;l=c[O>>2]|0;k=c[P>>2]|0;r=c[1188544+(J*1996|0)+556+(D*60|0)+44>>2]|0;s=(c[1188544+(J*1996|0)+556+(D*60|0)+48>>2]|0)-r|0;t=c[E>>2]|0;t=t+(Ho(K,r,c[1188544+(J*1996|0)+556+(D*60|0)+36>>2]|0,D)|0)|0;y=1188544+(J*1996|0)+556+(D*60|0)|0;j=c[y>>2]|0;z=1188544+(J*1996|0)+556+(D*60|0)+4|0;h=c[z>>2]|0;A=1188544+(J*1996|0)+556+(D*60|0)+12|0;f=c[A>>2]|0;B=1188544+(J*1996|0)+556+(D*60|0)+16|0;i=c[B>>2]|0;C=1188544+(J*1996|0)+556+(D*60|0)+20|0;m=c[C>>2]|0;u=1188544+(J*1996|0)+556+(D*60|0)+40|0;a:do if((c[u>>2]&8|0)!=0?(c[F>>2]|0)!=2:0)if(H){p=1188544+(J*1996|0)+556+(D*60|0)+52|0;o=0;while(1){n=j+w|0;j=n&65535;h=(n>>>16&32767)+h|0;if((h|0)>=(s|0)){if(!(c[u>>2]&16))break;h=(c[p>>2]|0)-r|0}i=a[t+h>>0]|0;R=i<<24>>24;m=R&7;n=b[1188544+(J*1996|0)+540+(m<<1)>>1]|0;n=(R>>3<>24<0?0-n|0:n)|0;i=n-f|0;m=((M(i,j)|0)>>16)+f|0;R=(M(m,x)|0)>>>10;b[l>>1]=R+(e[l>>1]|0);m=(M(m,q)|0)>>>10;b[k>>1]=m+(e[k>>1]|0);o=o+1|0;if((o|0)>=(Q|0)){k=i;i=f;f=n;break a}else{R=f;k=k+2|0;l=l+2|0;m=i;f=n;i=R}}c[v>>2]=0;k=m}else k=m;else N=15;while(0);b:do if((N|0)==15){N=0;if(H){p=1188544+(J*1996|0)+556+(D*60|0)+52|0;n=l;o=0;while(1){j=j+w|0;l=j>>>16&32767;j=j&65535;h=l+h|0;if((h|0)>=(s|0)){if(!(c[u>>2]&16))break;h=(c[p>>2]|0)-r|0}if(l){if((c[F>>2]|0)==2){l=a[t+(h^1)>>0]|0;R=c[u>>2]|0;l=(R&1|0)==0|(l&128|0)==0?l:0-(l&127)|0;l=(R&64|0)==0?l:0-l|0}else l=a[t+h>>0]|0;m=l-f|0;i=f;f=l}R=((M(m,j)|0)>>16)+i|0;l=(M(R,x)|0)>>>5;b[n>>1]=l+(e[n>>1]|0);R=(M(R,q)|0)>>>5;b[k>>1]=R+(e[k>>1]|0);o=o+1|0;if((o|0)>=(Q|0)){k=m;break b}else{k=k+2|0;n=n+2|0}}c[v>>2]=0;k=m}else k=m}while(0);c[y>>2]=j;c[z>>2]=h;c[A>>2]=f;c[B>>2]=i;c[C>>2]=k}D=D+1|0}while((D|0)!=(G|0));if(!H)return;k=c[g>>2]|0;i=c[g+4>>2]|0;j=0;h=c[O>>2]|0;f=c[P>>2]|0;while(1){c[k>>2]=b[h>>1]<<3;c[i>>2]=b[f>>1]<<3;j=j+1|0;if((j|0)>=(Q|0))break;else{k=k+4|0;i=i+4|0;h=h+2|0;f=f+2|0}}return}function Ho(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;e=(f<<16)+e|0;switch(c[d+4>>2]|0){case 0:{g=e>>>2&524288|e&524287;return g|0}case 1:{g=e>>>1&1572864|e&524287;return g|0}case 2:{g=((a[(b[49396+(((g|0)/4|0)<<1)>>1]|0)+(d+28)>>0]&3)<<17)+e|0;return g|0}default:{g=0;return g|0}}return 0}function Io(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((d&255)>1){f=0;return f|0}h=d&255;d=(e|0)<1e6?e:(e>>>0)/384|0;c[1188544+(h*1996|0)+16>>2]=d;g=1188544+(h*1996|0)|0;c[g>>2]=d;i=a[3416903]|0;e=c[853966]|0;if(i<<24>>24==2|(i&1)!=0&(d|0)<(e|0)){c[g>>2]=e;if((e|0)>16777215){i=0;return i|0}else d=e}c[1188544+(h*1996|0)+4>>2]=f;c[1188544+(h*1996|0)+20>>2]=0;c[1188544+(h*1996|0)+24>>2]=0;b[1188544+(h*1996|0)+540>>1]=0;b[1188544+(h*1996|0)+542>>1]=16;b[1188544+(h*1996|0)+544>>1]=48;b[1188544+(h*1996|0)+546>>1]=112;b[1188544+(h*1996|0)+548>>1]=240;b[1188544+(h*1996|0)+550>>1]=496;b[1188544+(h*1996|0)+552>>1]=1008;b[1188544+(h*1996|0)+554>>1]=2032;i=Hy(d<<2)|0;c[1188544+(h*1996|0)+8>>2]=i;c[1188544+(h*1996|0)+12>>2]=i+(d<<1);a[1188544+(h*1996|0)+612>>0]=0;a[1188544+(h*1996|0)+672>>0]=0;a[1188544+(h*1996|0)+732>>0]=0;a[1188544+(h*1996|0)+792>>0]=0;a[1188544+(h*1996|0)+852>>0]=0;a[1188544+(h*1996|0)+912>>0]=0;a[1188544+(h*1996|0)+972>>0]=0;a[1188544+(h*1996|0)+1032>>0]=0;a[1188544+(h*1996|0)+1092>>0]=0;a[1188544+(h*1996|0)+1152>>0]=0;a[1188544+(h*1996|0)+1212>>0]=0;a[1188544+(h*1996|0)+1272>>0]=0;a[1188544+(h*1996|0)+1332>>0]=0;a[1188544+(h*1996|0)+1392>>0]=0;a[1188544+(h*1996|0)+1452>>0]=0;a[1188544+(h*1996|0)+1512>>0]=0;a[1188544+(h*1996|0)+1572>>0]=0;a[1188544+(h*1996|0)+1632>>0]=0;a[1188544+(h*1996|0)+1692>>0]=0;a[1188544+(h*1996|0)+1752>>0]=0;a[1188544+(h*1996|0)+1812>>0]=0;a[1188544+(h*1996|0)+1872>>0]=0;a[1188544+(h*1996|0)+1932>>0]=0;a[1188544+(h*1996|0)+1992>>0]=0;i=d;return i|0}function Jo(a){a=a|0;var b=0;a=a&255;b=1188544+(a*1996|0)+24|0;Iy(c[b>>2]|0);c[b>>2]=0;Iy(c[1188544+(a*1996|0)+8>>2]|0);return}function Ko(a){a=a|0;a=a&255;QA(1188544+(a*1996|0)+28|0,0,512)|0;Lo(1188544+(a*1996|0)+556|0);Lo(1188544+(a*1996|0)+616|0);Lo(1188544+(a*1996|0)+676|0);Lo(1188544+(a*1996|0)+736|0);Lo(1188544+(a*1996|0)+796|0);Lo(1188544+(a*1996|0)+856|0);Lo(1188544+(a*1996|0)+916|0);Lo(1188544+(a*1996|0)+976|0);Lo(1188544+(a*1996|0)+1036|0);Lo(1188544+(a*1996|0)+1096|0);Lo(1188544+(a*1996|0)+1156|0);Lo(1188544+(a*1996|0)+1216|0);Lo(1188544+(a*1996|0)+1276|0);Lo(1188544+(a*1996|0)+1336|0);Lo(1188544+(a*1996|0)+1396|0);Lo(1188544+(a*1996|0)+1456|0);Lo(1188544+(a*1996|0)+1516|0);Lo(1188544+(a*1996|0)+1576|0);Lo(1188544+(a*1996|0)+1636|0);Lo(1188544+(a*1996|0)+1696|0);Lo(1188544+(a*1996|0)+1756|0);Lo(1188544+(a*1996|0)+1816|0);Lo(1188544+(a*1996|0)+1876|0);Lo(1188544+(a*1996|0)+1936|0);return}function Lo(a){a=a|0;c[a+8>>2]=0;c[a>>2]=0;a=a+24|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1188544+(a*1996|0)+20|0;if((c[g>>2]|0)!=(b|0)){i=1188544+(a*1996|0)+24|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[1188544+(a*1996|0)+24>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function No(b,c){b=b|0;c=c|0;b=b&255;a[1188544+(b*1996|0)+612>>0]=c&1;a[1188544+(b*1996|0)+672>>0]=c>>>1&1;a[1188544+(b*1996|0)+732>>0]=c>>>2&1;a[1188544+(b*1996|0)+792>>0]=c>>>3&1;a[1188544+(b*1996|0)+852>>0]=c>>>4&1;a[1188544+(b*1996|0)+912>>0]=c>>>5&1;a[1188544+(b*1996|0)+972>>0]=c>>>6&1;a[1188544+(b*1996|0)+1032>>0]=c>>>7&1;a[1188544+(b*1996|0)+1092>>0]=c>>>8&1;a[1188544+(b*1996|0)+1152>>0]=c>>>9&1;a[1188544+(b*1996|0)+1212>>0]=c>>>10&1;a[1188544+(b*1996|0)+1272>>0]=c>>>11&1;a[1188544+(b*1996|0)+1332>>0]=c>>>12&1;a[1188544+(b*1996|0)+1392>>0]=c>>>13&1;a[1188544+(b*1996|0)+1452>>0]=c>>>14&1;a[1188544+(b*1996|0)+1512>>0]=c>>>15&1;a[1188544+(b*1996|0)+1572>>0]=c>>>16&1;a[1188544+(b*1996|0)+1632>>0]=c>>>17&1;a[1188544+(b*1996|0)+1692>>0]=c>>>18&1;a[1188544+(b*1996|0)+1752>>0]=c>>>19&1;a[1188544+(b*1996|0)+1812>>0]=c>>>20&1;a[1188544+(b*1996|0)+1872>>0]=c>>>21&1;a[1188544+(b*1996|0)+1932>>0]=c>>>22&1;a[1188544+(b*1996|0)+1992>>0]=c>>>23&1;return}function Oo(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;k=d[f+1>>0]|0;j=c[33680+(k>>>4<<2)>>2]|0;k=c[33680+((k&15)<<2)>>2]|0;w=(h|0)>0;x=g+4|0;if(w){i=0;do{c[(c[g>>2]|0)+(i<<2)>>2]=0;c[(c[x>>2]|0)+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(h|0))}v=f+4|0;u=31-j+31|0;r=31-k+31|0;s=f+452|0;t=f+516|0;q=f+644|0;p=0;do{j=a[v+(p*56|0)+2>>0]|0;i=j&255;a:do if(i&128|0?(a[v+(p*56|0)+52>>0]|0)==0:0){o=d[v+(p*56|0)+3>>0]|0;n=i&31^31;i=u+n-(c[33680+(o>>>4<<2)>>2]|0)|0;o=r+n-(c[33680+((o&15)<<2)>>2]|0)|0;i=b[s+(((i|0)<31?i:31)<<1)>>1]|0;o=b[s+(((o|0)<31?o:31)<<1)>>1]|0;if(p>>>0>3?(y=d[v+(p*56|0)+40>>0]|0,y&128|0):0){m=c[t+((y&31^31)<<2)>>2]|0;if(!w)break;n=v+(p*56|0)+44|0;l=i<<16;f=o<<16;k=0;while(1){i=(c[n>>2]|0)+m|0;c[n>>2]=i;if(i>>>0>2047){j=((rA()|0)&1|0)==0;j=j?0:31;c[853944]=j;i=c[n>>2]|0}else j=c[853944]|0;c[n>>2]=i&2047;j=j+-16|0;i=(M(l,j)|0)>>16;o=(c[g>>2]|0)+(k<<2)|0;c[o>>2]=i+(c[o>>2]|0);j=(M(f,j)|0)>>16;o=(c[x>>2]|0)+(k<<2)|0;c[o>>2]=(c[o>>2]|0)+j;k=k+1|0;if((k|0)==(h|0))break a}}if(!(j&64)){f=c[q+(e[v+(p*56|0)>>1]<<2)>>2]|0;if(!w)break;l=v+(p*56|0)+48|0;k=i<<16;j=o<<16;i=0;do{n=c[l>>2]|0;c[l>>2]=n+f&131071;n=(d[(n>>>12&31)+(v+(p*56|0)+4)>>0]|0)+-16|0;m=(M(k,n)|0)>>16;o=(c[g>>2]|0)+(i<<2)|0;c[o>>2]=m+(c[o>>2]|0);n=(M(j,n)|0)>>16;o=(c[x>>2]|0)+(i<<2)|0;c[o>>2]=(c[o>>2]|0)+n;i=i+1|0}while((i|0)!=(h|0))}else{if(!w)break;f=v+(p*56|0)+38|0;k=i<<16;j=o<<16;i=0;do{o=(M(k,(b[f>>1]|0)+-16|0)|0)>>16;n=(c[g>>2]|0)+(i<<2)|0;c[n>>2]=o+(c[n>>2]|0);n=(M(j,(b[f>>1]|0)+-16|0)|0)>>16;o=(c[x>>2]|0)+(i<<2)|0;c[o>>2]=n+(c[o>>2]|0);i=i+1|0}while((i|0)!=(h|0))}}while(0);p=p+1|0}while((p|0)!=6);return}function Po(b,c){b=b|0;c=c|0;var d=0;d=Hy(17028)|0;if(!d){d=0;return d|0}QA(d|0,0,17028)|0;Qo(d,+(b&2147483647|0),+(c|0));a[d+56>>0]=0;a[d+112>>0]=0;a[d+168>>0]=0;a[d+224>>0]=0;a[d+280>>0]=0;a[d+336>>0]=0;return d|0}function Qo(a,d,e){a=a|0;d=+d;e=+e;var f=0,g=0;QA(a|0,0,17028)|0;d=d/e;e=d*4096.0;f=0;do{f=f+1|0;c[a+644+((f&4095)<<2)>>2]=~~(e/+(f|0))>>>0}while((f|0)!=4096);d=d*32.0;f=0;do{g=f;f=f+1|0;c[a+516+(g<<2)>>2]=~~(d/+(f|0))>>>0}while((f|0)!=32);d=341.3333333333333;f=0;while(1){b[a+452+(f<<1)>>1]=~~d;f=f+1|0;if((f|0)==31)break;else d=d/1.1885022274370185}b[a+514>>1]=0;return}function Ro(a){a=a|0;Iy(a);return}function So(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;b[d+42>>1]=0;a[d+44>>0]=0;c[d+48>>2]=0;c[d+52>>2]=0;i=d+60|0;b[d+98>>1]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;e=d+116|0;b[d+154>>1]=0;a[d+156>>0]=0;c[d+160>>2]=0;c[d+164>>2]=0;f=d+172|0;b[d+210>>1]=0;a[d+212>>0]=0;c[d+216>>2]=0;c[d+220>>2]=0;g=d+228|0;b[d+266>>1]=0;a[d+268>>0]=0;c[d+272>>2]=0;c[d+276>>2]=0;h=d+284|0;b[d+322>>1]=0;a[d+324>>0]=0;c[d+328>>2]=0;c[d+332>>2]=0;j=i;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[i+36>>0]=0;j=e;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[e+36>>0]=0;j=f;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[f+36>>0]=0;j=g;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[g+36>>0]=0;j=h;k=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[h+36>>0]=0;j=d;k=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));a[d+40>>0]=0;return}function To(b){b=b|0;return a[b>>0]|0}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;Vo(a,b,c&255);return}function Vo(c,e,f){c=c|0;e=e|0;f=f|0;var g=0,h=0;h=d[c>>0]|0;g=c+4+(h*56|0)|0;do switch(e&15){case 0:{a[c>>0]=f&7;return}case 1:{a[c+1>>0]=f;return}case 2:{b[g>>1]=f&4095|b[g>>1]&3840;return}case 3:{b[g>>1]=f<<8&3840|b[g>>1]&255;return}case 4:{e=c+4+(h*56|0)+2|0;if((f&64|0)==0&(a[e>>0]&64)!=0)a[c+4+(h*56|0)+36>>0]=0;a[e>>0]=f;return}case 5:{a[c+4+(h*56|0)+3>>0]=f;return}case 6:switch((a[c+4+(h*56|0)+2>>0]&-64)<<24>>24){case 0:{g=c+4+(h*56|0)+36|0;a[(a[g>>0]&31)+(c+4+(h*56|0)+4)>>0]=f&31;a[g>>0]=(a[g>>0]|0)+1&31;return}case -64:{b[c+4+(h*56|0)+38>>1]=f&31;return}case -128:{g=c+4+(h*56|0)+36|0;a[(a[g>>0]&31)+(c+4+(h*56|0)+4)>>0]=f&31;a[g>>0]=(a[g>>0]|0)+1&31;return}default:return}case 7:{a[c+4+(h*56|0)+40>>0]=f;return}case 8:{a[c+2>>0]=f;return}case 9:{a[c+3>>0]=f;return}default:return}while(0)}function Wo(b,c){b=b|0;c=c|0;a[b+56>>0]=c&1;a[b+112>>0]=c>>>1&1;a[b+168>>0]=c>>>2&1;a[b+224>>0]=c>>>3&1;a[b+280>>0]=c>>>4&1;a[b+336>>0]=c>>>5&1;return}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{Oo(c[b>>2]|0,d,e);return}case 0:{Yo(c[b>>2]|0,d,e);return}default:return}}function Yo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;if((e|0)<=0)return;z=b+24|0;A=b+1496|0;B=b+1528|0;q=b+1580|0;r=b+1608|0;s=b+208|0;t=b+236|0;v=b+372|0;w=b+16|0;x=b+188|0;y=b+1572|0;p=b+1600|0;n=c[d>>2]|0;o=0;m=c[d+4>>2]|0;while(1){k=0;i=0;l=0;do{do if(a[z+(l*184|0)+4>>0]|0){if((l|0)==1?c[q>>2]|0:0)break;if(!(a[r+l>>0]|0)){if(a[z+(l*184|0)+5>>0]|0){g=c[z+(l*184|0)+160>>2]|0;j=M(c[z+(l*184|0)+20>>2]|0,g)|0;g=M(c[z+(l*184|0)+24>>2]|0,g)|0;k=g+k+(g>>3)+(g>>4)+(g>>5)+(g>>7)+(g>>12)+(g>>14)+(g>>15)|0;i=j+i+(j>>3)+(j>>4)+(j>>5)+(j>>7)+(j>>12)+(j>>14)+(j>>15)|0;break}if(a[z+(l*184|0)+172>>0]|0){g=z+(l*184|0)+164|0;j=c[g>>2]|0;b=c[1192544+(j>>>17<<2)>>2]|0;d=M(c[z+(l*184|0)+20>>2]|0,b)|0;if(!(c[z+(l*184|0)+176>>2]|0)){D=M(c[z+(l*184|0)+24>>2]|0,b)|0;f=(d>>1)+(d>>12)+(d>>14)|0;b=(D>>1)+(D>>12)|0;d=D>>14}else{D=M(c[z+(l*184|0)+24>>2]|0,b)|0;f=(d>>11)+d+(d>>14)+(d>>15)|0;b=(D>>11)+D+(D>>14)|0;d=D>>15}c[g>>2]=(c[z+(l*184|0)+180>>2]|0)+j;k=b+d+k|0;i=f+i|0;break}d=c[z+(l*184|0)+168>>2]|0;if(d){f=z+(l*184|0)+164|0;g=c[f>>2]|0;b=c[z+(l*184|0)+28+(g>>>27<<2)>>2]|0;b=b-((c[z+(l*184|0)>>2]|0)>>>0<128?b>>2:0)|0;i=(M(b,c[z+(l*184|0)+20>>2]|0)|0)+i|0;b=(M(b,c[z+(l*184|0)+24>>2]|0)|0)+k|0;if((l|0)==0?(u=c[q>>2]|0,u|0):0){k=c[v>>2]|0;E=+h[w>>3]*134217728.0;c[x>>2]=(c[x>>2]|0)+(~~(E/+(((c[z>>2]|0)+(c[t+(k>>>27<<2)>>2]<<(u<<1)+-2)|0)>>>0)+.5)>>>0);c[v>>2]=k+(~~(E/+((M(c[y>>2]|0,c[s>>2]|0)|0)>>>0)+.5)>>>0);k=b;break}c[f>>2]=g+d;k=b}}}while(0);d=A+(l<<2)|0;b=c[d>>2]|0;if((b|0)<=0)if((b|0)<0){b=b+1|0;C=24}else b=0;else{b=b+-1|0;C=24}if((C|0)==24){C=0;c[d>>2]=b}f=B+(l<<2)|0;d=c[f>>2]|0;if((d|0)<=0)if((d|0)<0){d=d+1|0;C=29}else d=0;else{d=d+-1|0;C=29}if((C|0)==29){C=0;c[f>>2]=d}i=b+i|0;k=d+k|0;l=l+1|0}while((l|0)!=6);E=+h[p>>3];c[n>>2]=~~(E*+(i|0));c[m>>2]=~~(E*+(k|0));o=o+1|0;if((o|0)==(e|0))break;else{n=n+4|0;m=m+4|0}}return}function Zo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{b=d>>>4&134217727;g=a[3416903]|0;f=c[853966]|0;b=g<<24>>24==2|(g&1)!=0&(b|0)<(f|0)?f:b;d=Po(d,b)|0;c[e>>2]=d;if(!d){g=0;return g|0}break}case 0:{b=c[853960]|0;g=_o(d,b)|0;c[e>>2]=g;if(!g){g=0;return g|0}break}default:b=0}g=b;return g|0}function _o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0;e=Hy(1640)|0;if(!e){f=0;return f|0}f=e+8|0;h[f>>3]=+(b&2147483647|0);$o(e,b>>>31&255);b=e+1588|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;ap(e);bp(e);if(!(a[3416888]|0)){cp();dp();a[3416888]=1}g=+(d|0);h[e>>3]=g;h[e+16>>3]=+h[f>>3]/g;f=e;return f|0}function $o(b,c){b=b|0;c=c|0;a[b+1633>>0]=c;return}function ap(a){a=a|0;h[a+1592>>3]=.007627765064836002;ep(a);return}function bp(b){b=b|0;var d=0;c[b+1580>>2]=0;a[b+1632>>0]=0;QA(b+24|0,0,1552)|0;d=0;do{c[b+24+(d*184|0)+28>>2]=-14;c[b+24+(d*184|0)+32>>2]=-14;c[b+24+(d*184|0)+36>>2]=-14;c[b+24+(d*184|0)+40>>2]=-14;c[b+24+(d*184|0)+44>>2]=-14;c[b+24+(d*184|0)+48>>2]=-14;c[b+24+(d*184|0)+52>>2]=-14;c[b+24+(d*184|0)+56>>2]=-14;c[b+24+(d*184|0)+60>>2]=-14;c[b+24+(d*184|0)+64>>2]=-14;c[b+24+(d*184|0)+68>>2]=-14;c[b+24+(d*184|0)+72>>2]=-14;c[b+24+(d*184|0)+76>>2]=-14;c[b+24+(d*184|0)+80>>2]=-14;c[b+24+(d*184|0)+84>>2]=-14;c[b+24+(d*184|0)+88>>2]=-14;c[b+24+(d*184|0)+92>>2]=-14;c[b+24+(d*184|0)+96>>2]=-14;c[b+24+(d*184|0)+100>>2]=-14;c[b+24+(d*184|0)+104>>2]=-14;c[b+24+(d*184|0)+108>>2]=-14;c[b+24+(d*184|0)+112>>2]=-14;c[b+24+(d*184|0)+116>>2]=-14;c[b+24+(d*184|0)+120>>2]=-14;c[b+24+(d*184|0)+124>>2]=-14;c[b+24+(d*184|0)+128>>2]=-14;c[b+24+(d*184|0)+132>>2]=-14;c[b+24+(d*184|0)+136>>2]=-14;c[b+24+(d*184|0)+140>>2]=-14;c[b+24+(d*184|0)+144>>2]=-14;c[b+24+(d*184|0)+148>>2]=-14;c[b+24+(d*184|0)+152>>2]=-14;d=d+1|0}while((d|0)!=6);c[b+604>>2]=17;c[b+608>>2]=17;c[b+612>>2]=17;c[b+616>>2]=17;c[b+620>>2]=17;c[b+624>>2]=17;c[b+628>>2]=17;c[b+632>>2]=17;c[b+636>>2]=17;c[b+640>>2]=17;c[b+644>>2]=17;c[b+648>>2]=17;c[b+652>>2]=17;c[b+656>>2]=17;c[b+660>>2]=17;c[b+664>>2]=17;c[b+668>>2]=17;c[b+672>>2]=17;c[b+676>>2]=17;c[b+680>>2]=17;c[b+684>>2]=17;c[b+688>>2]=17;c[b+692>>2]=17;c[b+696>>2]=17;c[b+700>>2]=17;c[b+704>>2]=17;c[b+708>>2]=17;c[b+712>>2]=17;c[b+716>>2]=17;c[b+720>>2]=17;c[b+724>>2]=17;c[b+728>>2]=17;return}function cp(){var a=0;c[330904]=0;a=1;do{c[1323616+(a<<2)>>2]=~~(+B(10.0,+(+(91-a|0)*-1.0580999901/20.0))*32768.0);a=a+1|0}while((a|0)!=92);return}function dp(){var a=0,b=0,d=0;b=0;a=256;while(1){d=a&1;a=a>>>1;c[1192544+(b<<2)>>2]=(d|0)==0?-1:-18;b=b+1|0;if((b|0)==32768)break;else a=(a&1^d)<<14|a}return}function ep(a){a=a|0;var b=0.0,d=0;d=c[a+1588>>2]|0;do if(d){b=+h[a+1592>>3];if((d|0)==3){b=b/1.3333333333333333;break}else{b=b/+(d|0);break}}else b=.0078125;while(0);h[a+1600>>3]=b;return}function fp(b){b=b|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{Ro(c[b>>2]|0);break}case 0:{gp(c[b>>2]|0);break}default:{}}c[b>>2]=0;return}function gp(a){a=a|0;Iy(a);return}function hp(b){b=b|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{So(c[b>>2]|0);return}case 0:{ip(c[b>>2]|0);return}default:return}}function ip(a){a=a|0;var b=0,d=0;c[a+1564>>2]=0;c[a+1568>>2]=0;d=a+1496|0;b=a+1528|0;c[a+32>>2]=0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+216>>2]=0;c[a+228>>2]=0;c[a+232>>2]=0;c[a+400>>2]=0;c[a+412>>2]=0;c[a+416>>2]=0;c[a+584>>2]=0;c[a+596>>2]=0;c[a+600>>2]=0;c[a+768>>2]=0;c[a+780>>2]=0;c[a+784>>2]=0;c[a+952>>2]=0;c[a+964>>2]=0;c[a+968>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;return}function jp(b){b=b|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{b=To(c[b>>2]|0)|0;return b|0}case 0:{b=kp(c[b>>2]|0)|0;return b|0}default:{b=0;return b|0}}return 0}function kp(a){a=a|0;return c[a+1560>>2]&255|0}function lp(b,d,e){b=b|0;d=d|0;e=e|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{Uo(c[b>>2]|0,d,e);return}case 0:{mp(c[b>>2]|0,d,e);return}default:return}}function mp(a,b,c){a=a|0;b=b|0;c=c|0;np(a,b&255,c);return}function np(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0;a[(d&15)+(b+1616)>>0]=e;do switch(d&15){case 0:{c[b+1560>>2]=e&7;return}case 1:{i=e&255;f=i>>>4;j=b+1564|0;c[j>>2]=f;i=i&15;k=b+1568|0;c[k>>2]=i;e=c[b+32>>2]|0;c[b+44>>2]=c[1323616+(((c[b+36>>2]|0)+f<<1)+e<<2)>>2];c[b+48>>2]=c[1323616+(((c[b+40>>2]|0)+i<<1)+e<<2)>>2];e=c[b+216>>2]|0;c[b+228>>2]=c[1323616+(((c[b+220>>2]|0)+f<<1)+e<<2)>>2];c[b+232>>2]=c[1323616+(((c[b+224>>2]|0)+i<<1)+e<<2)>>2];e=c[b+400>>2]|0;c[b+412>>2]=c[1323616+(((c[b+404>>2]|0)+f<<1)+e<<2)>>2];c[b+416>>2]=c[1323616+(((c[b+408>>2]|0)+i<<1)+e<<2)>>2];e=c[b+584>>2]|0;c[b+596>>2]=c[1323616+(((c[b+588>>2]|0)+f<<1)+e<<2)>>2];c[b+600>>2]=c[1323616+(((c[b+592>>2]|0)+i<<1)+e<<2)>>2];e=c[b+768>>2]|0;c[b+780>>2]=c[1323616+(((c[b+772>>2]|0)+f<<1)+e<<2)>>2];c[b+784>>2]=c[1323616+(((c[b+776>>2]|0)+i<<1)+e<<2)>>2];e=c[b+952>>2]|0;c[b+964>>2]=c[1323616+(((c[b+956>>2]|0)+(c[j>>2]|0)<<1)+e<<2)>>2];c[b+968>>2]=c[1323616+(((c[b+960>>2]|0)+(c[k>>2]|0)<<1)+e<<2)>>2];return}case 2:{f=c[b+1560>>2]|0;k=b+24+(f*184|0)|0;d=c[k>>2]&-256|e&255;c[k>>2]=d;d=d+4095&4095;if(!d){c[b+24+(f*184|0)+168>>2]=0;return}else{c[b+24+(f*184|0)+168>>2]=~~(+h[b+16>>3]*134217728.0/+(d>>>0)+.5)>>>0;return}}case 3:{f=c[b+1560>>2]|0;k=b+24+(f*184|0)|0;d=c[k>>2]&-3841|(e&15)<<8;c[k>>2]=d;d=d+4095&4095;if(!d){c[b+24+(f*184|0)+168>>2]=0;return}else{c[b+24+(f*184|0)+168>>2]=~~(+h[b+16>>3]*134217728.0/+(d>>>0)+.5)>>>0;return}}case 4:{f=b+1560|0;i=c[f>>2]|0;d=b+24+(i*184|0)+4|0;if(a[b+1633>>0]|0?e<<24>>24==0&(a[d>>0]|0)!=0:0){if(!(c[b+1564>>2]&1))c[b+24+(i*184|0)+12>>2]=0;if(!(c[b+1568>>2]&1))c[b+24+(i*184|0)+16>>2]=0}j=e&255;a[d>>0]=(e&255)>>>7;d=b+24+(i*184|0)+5|0;if((j&64|0)==0&(a[d>>0]|0)!=0){e=b+24+(i*184|0)+160|0;l=~~(+(M(c[b+24+(i*184|0)+20>>2]|0,c[e>>2]|0)|0)*.305998999951);c[b+1496+(c[f>>2]<<2)>>2]=l;e=~~(+(M(c[b+24+(i*184|0)+24>>2]|0,c[e>>2]|0)|0)*.305998999951);c[b+1528+(c[f>>2]<<2)>>2]=e}a[d>>0]=j>>>6&1;if((j&192|0)==64?(c[b+24+(i*184|0)+156>>2]=0,k=b+1632|0,a[k>>0]|0):0){c[b+24+(i*184|0)+28>>2]=-14;c[b+24+(i*184|0)+32>>2]=-14;c[b+24+(i*184|0)+36>>2]=-14;c[b+24+(i*184|0)+40>>2]=-14;c[b+24+(i*184|0)+44>>2]=-14;c[b+24+(i*184|0)+48>>2]=-14;c[b+24+(i*184|0)+52>>2]=-14;c[b+24+(i*184|0)+56>>2]=-14;c[b+24+(i*184|0)+60>>2]=-14;c[b+24+(i*184|0)+64>>2]=-14;c[b+24+(i*184|0)+68>>2]=-14;c[b+24+(i*184|0)+72>>2]=-14;c[b+24+(i*184|0)+76>>2]=-14;c[b+24+(i*184|0)+80>>2]=-14;c[b+24+(i*184|0)+84>>2]=-14;c[b+24+(i*184|0)+88>>2]=-14;c[b+24+(i*184|0)+92>>2]=-14;c[b+24+(i*184|0)+96>>2]=-14;c[b+24+(i*184|0)+100>>2]=-14;c[b+24+(i*184|0)+104>>2]=-14;c[b+24+(i*184|0)+108>>2]=-14;c[b+24+(i*184|0)+112>>2]=-14;c[b+24+(i*184|0)+116>>2]=-14;c[b+24+(i*184|0)+120>>2]=-14;c[b+24+(i*184|0)+124>>2]=-14;c[b+24+(i*184|0)+128>>2]=-14;c[b+24+(i*184|0)+132>>2]=-14;c[b+24+(i*184|0)+136>>2]=-14;c[b+24+(i*184|0)+140>>2]=-14;c[b+24+(i*184|0)+144>>2]=-14;c[b+24+(i*184|0)+148>>2]=-14;c[b+24+(i*184|0)+152>>2]=-14;a[k>>0]=0}l=j&31;c[b+24+(i*184|0)+8>>2]=l;c[b+24+(i*184|0)+20>>2]=c[1323616+(((c[b+24+(i*184|0)+12>>2]|0)+(c[b+1564>>2]|0)<<1)+l<<2)>>2];c[b+24+(i*184|0)+24>>2]=c[1323616+(((c[b+24+(i*184|0)+16>>2]|0)+(c[b+1568>>2]|0)<<1)+l<<2)>>2];return}case 5:{l=c[b+1560>>2]|0;k=e&255;j=k>>>4;c[b+24+(l*184|0)+12>>2]=j;k=k&15;c[b+24+(l*184|0)+16>>2]=k;e=c[b+24+(l*184|0)+8>>2]|0;c[b+24+(l*184|0)+20>>2]=c[1323616+(((c[b+1564>>2]|0)+j<<1)+e<<2)>>2];c[b+24+(l*184|0)+24>>2]=c[1323616+(((c[b+1568>>2]|0)+k<<1)+e<<2)>>2];return}case 6:{j=c[b+1560>>2]|0;d=e&31;f=b+1632|0;a[f>>0]=0;i=b+24+(j*184|0)+4|0;if(!(a[i>>0]|0)){l=b+24+(j*184|0)+156|0;e=c[l>>2]|0;c[l>>2]=e+1;c[b+24+(j*184|0)+28+(e<<2)>>2]=17-(d&255);c[l>>2]=c[l>>2]&31}if(!(a[b+24+(j*184|0)+5>>0]|0))return;c[b+24+(j*184|0)+160>>2]=11-(((d&255)>6?d:6)&255);if(a[i>>0]|0)return;a[f>>0]=1;return}case 7:{f=c[b+1560>>2]|0;if(f>>>0<=3)return;a[b+24+(f*184|0)+172>>0]=(e&255)>>>7;d=e&31^31;c[b+24+(f*184|0)+176>>2]=d&255;g=+h[b+16>>3]*2048.0;if(!(d<<24>>24)){c[b+24+(f*184|0)+180>>2]=~~(g+.5)>>>0;return}else{c[b+24+(f*184|0)+180>>2]=~~(g/+(d&255)+.5)>>>0;return}}case 8:{c[b+1572>>2]=e&255;return}case 9:{d=e&255;if(!(d&128)){e=d&7;l=b+1580|0;b=d&4;b=(b|0)==0;b=b?e:0;c[l>>2]=b;return}c[b+372>>2]=0;e=d&7;l=b+1580|0;b=d&4;b=(b|0)==0;b=b?e:0;c[l>>2]=b;return}default:return}while(0)}function op(b){b=b|0;a[3416887]=(b&255)<2?b:0;return}function pp(b,d){b=b|0;d=d|0;b=3415780+((b&255)<<2)|0;switch(a[3416887]|0){case 1:{Wo(c[b>>2]|0,d);return}case 0:{qp(c[b>>2]|0,d);return}default:return}}function qp(a,b){a=a|0;b=b|0;rp(a,0,b&1);rp(a,1,b>>>1&1);rp(a,2,b>>>2&1);rp(a,3,b>>>3&1);rp(a,4,b>>>4&1);rp(a,5,b>>>5&1);return}function rp(b,d,e){b=b|0;d=d|0;e=e|0;a[b+1608+d>>0]=e;if(!(e<<24>>24))return;c[b+1496+(d<<2)>>2]=0;c[b+1528+(d<<2)>>2]=0;return}function sp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=b&255;q=1323984+(u*56|0)|0;v=1323984+(u*56|0)+32|0;if((a[v>>0]&-127)<<24>>24!=1)return;t=1323984+(u*56|0)+33|0;r=1323984+(u*56|0)+52|0;b=a[r>>0]|0;if(!(a[t>>0]|0))p=b&255;else p=0-(b&255)&65535;s=1323984+(u*56|0)+36|0;o=c[s>>2]|0;a:do if(e>>>0>32){g=b&255;i=M(e+-16+o|0,g)|0;f=c[1323984+(u*56|0)+8>>2]|0;b=c[853960]|0;i=tp(i,f,b)|0;j=1323984+(u*56|0)+40|0;n=1323984+(u*56|0)+44|0;h=c[n>>2]|0;if(h){k=p<<16>>16;l=1323984+(u*56|0)+48|0;m=c[j>>2]|0;do{if(m>>>0>=i>>>0)break a;m=m+g|0;c[j>>2]=m;c[l>>2]=(c[l>>2]|0)+k;h=h+-1|0;c[n>>2]=h}while((h|0)!=0)}}else{g=b&255;n=1323984+(u*56|0)+44|0;f=c[1323984+(u*56|0)+8>>2]|0;b=c[853960]|0}while(0);i=o+e|0;c[s>>2]=i;i=tp(M(i,g)|0,f,b)|0;up(q);b:do if(!(c[n>>2]|0))f=a[v>>0]|0;else{j=1323984+(u*56|0)+40|0;b=p<<16>>16;g=1323984+(u*56|0)+48|0;h=c[j>>2]|0;while(1){if(h>>>0>=i>>>0)break;up(q);h=(c[j>>2]|0)+(d[r>>0]|0)|0;c[j>>2]=h;c[g>>2]=(c[g>>2]|0)+b;f=a[v>>0]&-17;a[v>>0]=f;p=(c[n>>2]|0)+-1|0;c[n>>2]=p;if(!p)break b}return}while(0);if(f&4){g=c[1323984+(u*56|0)+28>>2]|0;c[n>>2]=g;c[s>>2]=0;c[1323984+(u*56|0)+40>>2]=0;if(!(a[t>>0]|0))b=0;else b=M(g+-1|0,d[r>>0]|0)|0;c[1323984+(u*56|0)+48>>2]=b;if(g|0)return}a[v>>0]=f&-2;return}function tp(a,b,c){a=a|0;b=b|0;c=c|0;b=JA(b|0,0,a|0,0)|0;b=DA(b|0,x|0,c>>>1|0,0)|0;c=KA(b|0,x|0,c|0,0)|0;return c|0}function up(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=e+32|0;if(a[o>>0]&16)return;f=(c[e+48>>2]|0)+(c[e+20>>2]|0)|0;if(f>>>0>=(c[e+12>>2]|0)>>>0)return;i=(c[e+16>>2]|0)+f|0;k=a[e>>0]|0;a:do switch(k<<24>>24){case 2:{n=b[e+2>>1]|0;Gx(2,a[e+1>>0]|0,(n&65535)>>>8&255,n&255,a[i>>0]|0);break}case 17:{Gx(17,a[e+1>>0]|0,b[e+2>>1]&15,a[i+1>>0]&15,a[i>>0]|0);break}case 0:{f=b[e+2>>1]&240;g=d[i>>0]|0;h=g&15;if(!(f&16)){n=(g>>>4|a[i+1>>0]<<4&48)&255;m=e+1|0;Gx(0,a[m>>0]|0,0,0,(h|f)&255);Gx(a[e>>0]|0,a[m>>0]|0,0,0,n);break a}else{Gx(0,a[e+1>>0]|0,0,0,(h|f)&255);break a}}case 24:{f=b[e+2>>1]|0;g=f&255;i=a[i>>0]|0;if(g<<24>>24){Gx(24,a[e+1>>0]|0,0,g,i);break a}f=(f&65535)>>>8;g=e+1|0;h=a[g>>0]|0;if(i<<24>>24<0){Gx(24,h,0,0,i);Gx(a[e>>0]|0,a[g>>0]|0,0,0,f<<4&255);break a}else{Gx(24,h,0,0,f<<3&120);break a}}case 30:case 29:case 23:case 22:case 20:case 19:case 18:case 15:case 11:case 10:case 9:case 6:case 3:case 1:{Gx(k,a[e+1>>0]|0,0,b[e+2>>1]&255,a[i>>0]|0);break}case 28:case 26:case 25:case 14:case 13:case 12:case 8:case 7:{n=b[e+2>>1]|0;Gx(k,a[e+1>>0]|0,(n&65535)>>>8&255,n&255,a[i>>0]|0);break}case 27:case 16:case 5:{l=b[e+2>>1]|0;m=(l&65535)>>>8;n=m&255;j=a[i>>0]|0;if(m<<16>>16==255){Gx(k,a[e+1>>0]|0,0,l&15,j);break a}g=e+1|0;h=a[g>>0]|0;if(k<<24>>24==27)f=jp(h)|0;else f=n;i=(l&65535)>>>4&15;Gx(k,h,0,i,n);Gx(a[e>>0]|0,a[g>>0]|0,0,l&15,j);if((f&255|0)!=(m&65535|0))Gx(a[e>>0]|0,a[g>>0]|0,0,i,f);break}case 31:{Gx(31,a[e+1>>0]|0,a[i>>0]|0,a[i+1>>0]|0,b[e+2>>1]&255);break}default:{}}while(0);a[o>>0]=a[o>>0]|16;return}function vp(c){c=c|0;var d=0;d=c&255;if(c<<24>>24==-1)return;a[1323984+(d*56|0)>>0]=-1;a[1323984+(d*56|0)+1>>0]=0;b[1323984+(d*56|0)+2>>1]=0;a[1323984+(d*56|0)+32>>0]=-1;return}function wp(b){b=b|0;a[1323984+((b&255)*56|0)+32>>0]=-1;return}function xp(d){d=d|0;var e=0,f=0;d=d&255;f=1323984+(d*56|0)|0;e=1323984+(d*56|0)+8|0;a[1323984+(d*56|0)+32>>0]=0;a[1323984+(d*56|0)+33>>0]=0;d=1323984+(d*56|0)+36|0;c[f>>2]=0;a[f+4>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;b[e+16>>1]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+16>>0]=0;return}function yp(c,e,f,g){c=c|0;e=e|0;f=f|0;g=g|0;var h=0;h=c&255;a[1323984+(h*56|0)>>0]=e;a[1323984+(h*56|0)+1>>0]=f;b[1323984+(h*56|0)+2>>1]=g;a:do switch(e<<24>>24){case 0:{c=1323984+(h*56|0)+4|0;if(!(g&16)){a[c>>0]=2;c=2;break a}else{a[c>>0]=1;c=1;break a}}case 2:{a[1323984+(h*56|0)+4>>0]=1;c=1;break}case 31:case 17:{a[1323984+(h*56|0)+4>>0]=2;c=2;break}default:{a[1323984+(h*56|0)+4>>0]=1;c=1}}while(0);a[1323984+(h*56|0)+52>>0]=M(c,d[1323984+(h*56|0)+24>>0]|0)|0;return}function zp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=b&255;if((a[1323984+(b*56|0)+32>>0]|0)<0)return;i=(e|0)!=0&(f|0)!=0;c[1323984+(b*56|0)+12>>2]=i?f:0;c[1323984+(b*56|0)+16>>2]=i?e:0;g=g<<24>>24==0?1:g;a[1323984+(b*56|0)+24>>0]=g;a[1323984+(b*56|0)+25>>0]=h;a[1323984+(b*56|0)+52>>0]=M(d[1323984+(b*56|0)+4>>0]|0,g&255)|0;return}function Ap(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;if((a[1323984+(b*56|0)+32>>0]|0)<0)return;f=(d|0)!=0&(e|0)!=0;c[1323984+(b*56|0)+12>>2]=f?e:0;c[1323984+(b*56|0)+16>>2]=f?d:0;return}function Bp(b,d){b=b|0;d=d|0;var e=0;b=b&255;if((a[1323984+(b*56|0)+32>>0]|0)<0)return;if(!d)b=1323984+(b*56|0)+8|0;else{e=1323984+(b*56|0)+36|0;b=1323984+(b*56|0)+8|0;c[e>>2]=((M(c[b>>2]|0,c[e>>2]|0)|0)>>>0)/(d>>>0)|0}c[b>>2]=d;return}function Cp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=b&255;i=1323984+(h*56|0)+32|0;j=a[i>>0]|0;if(j<<24>>24<0)return;b=M(d[1323984+(h*56|0)+25>>0]|0,d[1323984+(h*56|0)+4>>0]|0)|0;if((e|0)!=-1){e=b+e|0;k=c[1323984+(h*56|0)+12>>2]|0;c[1323984+(h*56|0)+20>>2]=e>>>0>k>>>0?k:e}e=f&255;switch(f&15){case 0:{b=c[1323984+(h*56|0)+28>>2]|0;break}case 1:{c[1323984+(h*56|0)+28>>2]=g;b=g;break}case 2:{b=((g*1e3|0)>>>0)/((c[1323984+(h*56|0)+8>>2]|0)>>>0)|0;c[1323984+(h*56|0)+28>>2]=b;break}case 3:{b=(((c[1323984+(h*56|0)+12>>2]|0)+b-(c[1323984+(h*56|0)+20>>2]|0)|0)>>>0)/((d[1323984+(h*56|0)+52>>0]|0)>>>0)|0;c[1323984+(h*56|0)+28>>2]=b;break}case 15:{b=(g>>>0)/((d[1323984+(h*56|0)+52>>0]|0)>>>0)|0;c[1323984+(h*56|0)+28>>2]=b;break}default:{c[1323984+(h*56|0)+28>>2]=0;b=0}}k=e>>>4&1;a[1323984+(h*56|0)+33>>0]=k;c[1323984+(h*56|0)+44>>2]=b;c[1323984+(h*56|0)+36>>2]=0;c[1323984+(h*56|0)+40>>2]=0;if(!(k<<24>>24))b=0;else b=M(b+-1|0,d[1323984+(h*56|0)+52>>0]|0)|0;c[1323984+(h*56|0)+48>>2]=b;a[i>>0]=e>>>5&4|j&-22&255|1;return}function Dp(b){b=b|0;var c=0;b=1323984+((b&255)*56|0)+32|0;c=d[b>>0]|0;if(c&128|0)return;a[b>>0]=c&254;return}function Ep(b,c,e){b=b|0;c=c|0;e=e|0;b=b&255;if(!(a[1338272+(b*292|0)+113>>0]|0)){a[c+32+(1338272+(b*292|0)+232)>>0]=e;return}switch(a[1338272+(b*292|0)+288>>0]|0){case 0:{if(!(a[1338272+(b*292|0)+153>>0]|0))return;a[(((d[1338272+(b*292|0)+147>>0]|0)>>>1)+32&255)+(1338272+(b*292|0)+232)>>0]=e;return}case 1:{a[(((d[1338272+(b*292|0)+147>>0]|0)>>>1)+32&255)+(1338272+(b*292|0)+232)>>0]=e;return}default:return}}function Fp(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=(f&255)+(e+232)|0;i=a[h>>0]|0;j=e+212|0;k=(a[j>>0]|0)==0;if(!k)a[h>>0]=g;do switch(f<<24>>24){case 0:{a[e+4>>0]=g;n=g&255;a[e+34>>0]=n&7;g=n&8;c[e+36>>2]=(g>>>2^2)+-1;a[e+40>>0]=n>>>4&7;if(!((g|0)==0&(i&8)!=0))return;if(!(a[e+33>>0]|0))return;a[e+9>>0]=0;return}case 1:{a[e+5>>0]=g;if(!k)a[e+20>>0]=(g&255)>>>6;a[e+11>>0]=g&63;a[e+13>>0]=1;return}case 2:{a[e+6>>0]=g;n=g&255;a[e+22>>0]=(g&255)>>>4;a[e+23>>0]=(n>>>2&2)+255;a[e+24>>0]=n&7;if((Gp(e+4|0)|0)<<24>>24)return;a[e+9>>0]=0;return}case 3:{a[e+7>>0]=g;if(a[e+32>>0]|0)return;b[e+28>>1]=(a[e+8>>0]&7)<<8|g&255;return}case 4:{m=e+4|0;l=e+8|0;a[l>>0]=g;n=e+14|0;k=a[n>>0]|0;f=g&255;g=f>>>6&1;a[n>>0]=g;h=e+7|0;j=e+28|0;b[j>>1]=(a[e+236>>0]&7)<<8|d[h>>0];if((k<<24>>24==0?(c[e+224>>2]&8192|0)==0:0)?!(g<<24>>24==0|(a[e+13>>0]|0)==0):0)Hp(m);if(!(f&128)){if(a[e+32>>0]|0)return;b[j>>1]=(a[l>>0]&7)<<8|d[h>>0];return}k=e+9|0;a[k>>0]=1;a[e+21>>0]=1;a[e+22>>0]=(d[e+6>>0]|0)>>>4;a[e+25>>0]=a[e+24>>0]|0;g=a[e+40>>0]|0;a[e+41>>0]=g;a[e+33>>0]=0;a[e+26>>0]=0;f=a[e+5>>0]&63;i=e+11|0;a[i>>0]=f;a[e+13>>0]=1;h=((a[l>>0]&7)<<8|d[h>>0])&65535;b[j>>1]=h;b[e+30>>1]=h;c[e+16>>2]=0;c[e+44>>2]=0;h=(a[e+34>>0]|0)==0;a[e+32>>0]=(g<<24>>24!=0|h^1)&1;if(!((Gp(m)|0)<<24>>24))a[k>>0]=0;if(!h){Ip(m)|0;f=a[i>>0]|0}if(f<<24>>24)return;if(!(a[n>>0]|0))return;if(c[e+224>>2]&8192|0)return;Hp(m);return}case 6:{a[e+57>>0]=g;if(!k)a[e+72>>0]=(g&255)>>>6;a[e+63>>0]=g&63;a[e+65>>0]=1;return}case 7:{a[e+58>>0]=g;n=g&255;a[e+74>>0]=(g&255)>>>4;a[e+75>>0]=(n>>>2&2)+255;a[e+76>>0]=n&7;if((Gp(e+56|0)|0)<<24>>24)return;a[e+61>>0]=0;return}case 8:{a[e+59>>0]=g;b[e+80>>1]=(a[e+60>>0]&7)<<8|g&255;return}case 9:{j=e+56|0;i=e+60|0;a[i>>0]=g;k=e+66|0;n=a[k>>0]|0;f=g&255;g=f>>>6&1;a[k>>0]=g;if((n<<24>>24==0?(c[e+224>>2]&8192|0)==0:0)?!(g<<24>>24==0|(a[e+65>>0]|0)==0):0)Hp(j);if(!(f&128)){b[e+80>>1]=(a[i>>0]&7)<<8|d[e+59>>0];return}h=e+61|0;a[h>>0]=1;a[e+73>>0]=1;a[e+74>>0]=(d[e+58>>0]|0)>>>4;a[e+77>>0]=a[e+76>>0]|0;f=((a[i>>0]&7)<<8|d[e+59>>0])&65535;b[e+80>>1]=f;b[e+82>>1]=f;c[e+68>>2]=0;c[e+96>>2]=0;a[e+78>>0]=0;f=a[e+57>>0]&63;a[e+63>>0]=f;a[e+65>>0]=1;if(!((Gp(j)|0)<<24>>24))a[h>>0]=0;if(f<<24>>24)return;if(!(a[k>>0]|0))return;if(c[e+224>>2]&8192|0)return;Hp(j);return}case 10:{n=e+108|0;a[n>>0]=g;if((Gp(n)|0)<<24>>24)return;a[e+113>>0]=0;return}case 11:{a[e+109>>0]=g;a[e+115>>0]=g;a[e+117>>0]=1;return}case 12:{a[e+110>>0]=g;a[e+146>>0]=(g&255)>>>5&3;return}case 13:{a[e+111>>0]=g;b[e+132>>1]=(a[e+112>>0]&7)<<8|g&255;return}case 14:{j=e+108|0;k=e+112|0;a[k>>0]=g;l=e+118|0;n=a[l>>0]|0;f=g&255;g=f>>>6&1;a[l>>0]=g;if((n<<24>>24==0?(c[e+224>>2]&8192|0)==0:0)?!(g<<24>>24==0|(a[e+117>>0]|0)==0):0)Hp(j);if(!(f&128)){b[e+132>>1]=(a[k>>0]&7)<<8|d[e+111>>0];return}h=e+113|0;f=e+134|0;if(a[h>>0]|0?(b[f>>1]|0)==2047:0)Jp(e);a[h>>0]=1;a[e+147>>0]=0;a[e+124>>0]=1;c[e+148>>2]=0;i=a[e+109>>0]|0;a[e+115>>0]=i;a[e+117>>0]=1;g=((a[k>>0]&7)<<8|d[e+111>>0])&65535;b[e+132>>1]=g;b[f>>1]=g;c[e+120>>2]=6;a[e+153>>0]=0;if(!((Gp(j)|0)<<24>>24))a[h>>0]=0;if(i<<24>>24)return;if(!(a[l>>0]|0))return;if(c[e+224>>2]&8192|0)return;Hp(j);return}case 16:{a[e+161>>0]=g;a[e+167>>0]=g&63;a[e+169>>0]=1;return}case 17:{a[e+162>>0]=g;n=g&255;a[e+178>>0]=(g&255)>>>4;a[e+179>>0]=(n>>>2&2)+255;a[e+180>>0]=n&7;if((Gp(e+160|0)|0)<<24>>24)return;a[e+165>>0]=0;return}case 18:{a[e+163>>0]=g;a[e+206>>0]=g&8;return}case 19:{i=e+160|0;a[e+164>>0]=g;j=e+170|0;n=a[j>>0]|0;f=g&255;g=f>>>6&1;a[j>>0]=g;if((n<<24>>24==0?(c[e+224>>2]&8192|0)==0:0)?!(g<<24>>24==0|(a[e+169>>0]|0)==0):0)Hp(i);if(!(f&128))return;f=e+165|0;a[f>>0]=1;a[e+177>>0]=1;a[e+178>>0]=(d[e+162>>0]|0)>>>4;a[e+181>>0]=a[e+180>>0]|0;b[e+186>>1]=0;c[e+172>>2]=Kp(a[e+163>>0]|0)|0;a[e+182>>0]=-1;b[e+208>>1]=32767;h=a[e+161>>0]&63;a[e+167>>0]=h;a[e+169>>0]=1;if(!((Gp(i)|0)<<24>>24))a[f>>0]=0;if(h<<24>>24)return;if(!(a[j>>0]|0))return;if(c[e+224>>2]&8192|0)return;Hp(i);return}case 20:{g=g&255;a[e+213>>0]=g&7;a[e+214>>0]=g>>>4&7;return}case 21:{n=g&255;a[e+216>>0]=n&1;a[e+215>>0]=n>>>4&1;a[e+218>>0]=n>>>1&1;a[e+217>>0]=n>>>5&1;a[e+220>>0]=n>>>2&1;a[e+219>>0]=n>>>6&1;a[e+222>>0]=n>>>3&1;a[e+221>>0]=(g&255)>>>7;return}case 22:{f=g&-128;if(f<<24>>24){if(k){n=e+224|0;c[n>>2]=c[n>>2]|57344}}else Lp(e);a[j>>0]=(g&255)>>>7;a[e+254>>0]=f;return}default:return}while(0)}function Gp(b){b=b|0;if((a[b+6>>0]|0)==3){b=a[b>>0]&-128;return b|0}else{b=a[b+2>>0]&-8;return b|0}return 0}function Hp(b){b=b|0;var c=0,e=0;if(!(a[b+10>>0]|0))return;e=b+7|0;c=(d[e>>0]|0)+1&d[b+8>>0];a[e>>0]=c;if(c|0)return;a[b+5>>0]=0;a[b+9>>0]=0;return}function Ip(b){b=b|0;var f=0,g=0;g=c[b+32>>2]|0;a[b+29>>0]=g>>>31;f=e[b+24>>1]|0;f=(M(f>>>(d[b+30>>0]|0),g)|0)+f|0;if((f|0)<=2047)return f|0;a[b+5>>0]=0;return f|0}function Jp(b){b=b|0;var c=0,d=0;if(a[b+288>>0]|0)return;d=a[b+147>>0]|0;c=(d&255)>>>1;if((d&255)<8){a[b+264>>0]=a[(c+32&255)+(b+232)>>0]|0;return}else{d=(c&124)+32&255;a[b+264>>0]=a[b+232+d>>0]|0;a[b+265>>0]=a[(d|1)+(b+232)>>0]|0;a[b+266>>0]=a[(d|2)+(b+232)>>0]|0;a[b+267>>0]=a[(d|3)+(b+232)>>0]|0;return}}function Kp(a){a=a|0;a=a&255;return c[33744+((a&7)<<2)>>2]<<(a>>>4)|0}function Lp(b){b=b|0;var d=0;switch(a[b+288>>0]|0){case 0:{Fp(b,0,0);a[b+20>>0]=0;a[b+233>>0]=0;Fp(b,2,0);Fp(b,3,0);Fp(b,4,0);a[b+13>>0]=0;a[b+33>>0]=0;a[b+238>>0]=0;Fp(b,7,0);Fp(b,8,0);Fp(b,9,0);a[b+65>>0]=0;Fp(b,10,0);Fp(b,12,0);Fp(b,13,0);Fp(b,14,0);a[b+117>>0]=0;a[b+152>>0]=0;a[b+248>>0]=0;Fp(b,17,0);Fp(b,18,0);Fp(b,19,0);break}case 1:{Fp(b,0,0);a[b+20>>0]=0;Fp(b,1,0);Fp(b,2,0);Fp(b,3,0);Fp(b,4,0);a[b+13>>0]=0;a[b+33>>0]=0;Fp(b,6,0);Fp(b,7,0);Fp(b,8,0);Fp(b,9,0);a[b+65>>0]=0;Fp(b,10,0);Fp(b,11,0);Fp(b,12,0);Fp(b,13,0);Fp(b,14,0);a[b+117>>0]=0;a[b+152>>0]=0;Fp(b,16,0);Fp(b,17,0);Fp(b,18,0);Fp(b,19,0);break}default:{d=b+9|0;a[d>>0]=0;d=b+61|0;a[d>>0]=0;d=b+113|0;a[d>>0]=0;d=b+165|0;a[d>>0]=0;d=b+228|0;a[d>>0]=0;Fp(b,20,0);Fp(b,21,0);return}}a[b+169>>0]=0;c[b+172>>2]=Kp(a[b+163>>0]|0)|0;d=b+9|0;a[d>>0]=0;d=b+61|0;a[d>>0]=0;d=b+113|0;a[d>>0]=0;d=b+165|0;a[d>>0]=0;d=b+228|0;a[d>>0]=0;Fp(b,20,0);Fp(b,21,0);return}function Mp(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=b&255;f=1338272+(e*292|0)|0;if(c>>>0>=32){if(c>>>0>=48)return;Ep(b,c+-32|0,d);return}a:do switch(a[1338272+(e*292|0)+288>>0]|0){case 0:{if(!(a[1338272+(e*292|0)+212>>0]|0)){switch(c|0){case 1:case 6:case 11:case 16:case 22:break a;default:{}}return}break}case 1:{if((c|0)!=22?(a[1338272+(e*292|0)+212>>0]|0)==0:0)return;break}default:{}}while(0);Fp(f,c&255,d);return}function Np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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,J=0,K=0,L=0,N=0;L=b&255;I=1338272+(L*292|0)|0;if((f|0)<=0){J=1338272+(L*292|0)+61|0;e=1338272+(L*292|0)+113|0;f=1338272+(L*292|0)+165|0;K=1338272+(L*292|0)+9|0;L=1338272+(L*292|0)+254|0;I=a[L>>0]|0;I=I&-16;K=a[K>>0]|0;K=I|K;K=K&255;J=a[J>>0]|0;J=J&255;J=J<<1;K=J|K;e=a[e>>0]|0;e=e&255;e=e<<2;e=K|e;f=a[f>>0]|0;f=f&255;f=f<<3;f=e|f;f=f&255;a[L>>0]=f;return}J=1338272+(L*292|0)+280|0;K=1338272+(L*292|0)+284|0;b=1338272+(L*292|0)+9|0;i=1338272+(L*292|0)+61|0;m=1338272+(L*292|0)+54|0;h=1338272+(L*292|0)+113|0;n=1338272+(L*292|0)+106|0;o=1338272+(L*292|0)+26|0;p=1338272+(L*292|0)+22|0;q=1338272+(L*292|0)+215|0;r=1338272+(L*292|0)+216|0;g=1338272+(L*292|0)+165|0;s=1338272+(L*292|0)+158|0;t=1338272+(L*292|0)+78|0;u=1338272+(L*292|0)+74|0;v=1338272+(L*292|0)+217|0;w=1338272+(L*292|0)+218|0;x=1338272+(L*292|0)+213|0;y=1338272+(L*292|0)+214|0;z=e+4|0;A=1338272+(L*292|0)+210|0;B=1338272+(L*292|0)+130|0;C=1338272+(L*292|0)+219|0;D=1338272+(L*292|0)+220|0;E=1338272+(L*292|0)+182|0;F=1338272+(L*292|0)+178|0;G=1338272+(L*292|0)+221|0;H=1338272+(L*292|0)+222|0;l=0;do{k=(c[K>>2]|0)+(c[J>>2]|0)|0;c[K>>2]=k&65535;Op(I,k>>>16);if((a[b>>0]|0)!=0?(a[m>>0]|0)==0:0){k=M(a[p>>0]|0,a[o>>0]|0)|0;j=(a[r>>0]|0)==0?0:k;k=(a[q>>0]|0)==0?0:k}else{j=0;k=0}if((a[i>>0]|0)!=0?(a[n>>0]|0)==0:0){N=M(a[u>>0]|0,a[t>>0]|0)|0;j=((a[w>>0]|0)==0?0:N)+j|0;k=((a[v>>0]|0)==0?0:N)+k|0}if((a[h>>0]|0)!=0?(a[s>>0]|0)==0:0){N=a[B>>0]|0;j=((a[D>>0]|0)==0?0:N)+j|0;k=((a[C>>0]|0)==0?0:N)+k|0}if((a[g>>0]|0)!=0?(a[A>>0]|0)==0:0){N=M(a[F>>0]|0,a[E>>0]|0)|0;j=((a[H>>0]|0)==0?0:N)+j|0;k=((a[G>>0]|0)==0?0:N)+k|0}k=M(k<<6,d[x>>0]|0)|0;N=M(j<<6,d[y>>0]|0)|0;c[(c[e>>2]|0)+(l<<2)>>2]=k;c[(c[z>>2]|0)+(l<<2)>>2]=N;l=l+1|0}while((l|0)!=(f|0));N=1338272+(L*292|0)+254|0;f=a[N>>0]|0;f=f&-16;L=a[b>>0]|0;L=f|L;L=L&255;f=a[i>>0]|0;f=f&255;f=f<<1;L=f|L;f=a[h>>0]|0;f=f&255;f=f<<2;f=L|f;L=a[g>>0]|0;L=L&255;L=L<<3;L=f|L;L=L&255;a[N>>0]=L;return}function Op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(a[b+212>>0]|0))return;i=b+224|0;e=c[i>>2]|0;h=e+d|0;c[i>>2]=h;a:do if((h^e)>>>0>8191){j=8192-(e&8191)|0;e=b+4|0;Pp(e,j);h=b+56|0;Pp(h,j);g=b+108|0;Qp(b,g,j);f=b+160|0;Rp(b,f,j);d=d-j|0;switch((c[i>>2]|0)>>>13&7){case 0:{Hp(e);Hp(h);Hp(g);Hp(f);break a}case 2:{Sp(e);Hp(e);Hp(h);Hp(g);Hp(f);break a}case 4:{Hp(e);Hp(h);Hp(g);Hp(f);break a}case 6:{Sp(e);Hp(e);Hp(h);Hp(g);Hp(f);break a}case 7:{Tp(e);Tp(h);Tp(f);break a}default:break a}}else{h=b+56|0;g=b+108|0;f=b+160|0;e=b+4|0}while(0);Pp(e,d);Pp(h,d);Qp(b,g,d);Rp(b,f,d);return}function Pp(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(a[d+5>>0]|0))return;k=d+12|0;f=c[k>>2]|0;if(f){c[k>>2]=0;e=f+e|0}if(!e)return;g=d+26|0;h=d+40|0;i=d+16|0;j=d+22|0;f=d+24|0;while(1){if(e>>>0<4)break;e=e+-4|0;d=(b[g>>1]|0)+1&2047;b[g>>1]=d;if(!(d<<16>>16)){d=(c[h>>2]|0)+1&7;c[h>>2]=d;a[j>>0]=c[33776+(a[i>>0]<<5)+(d<<2)>>2];b[g>>1]=b[f>>1]|0}if(!e){l=11;break}}if((l|0)==11)return;c[k>>2]=e;return}function Qp(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(!(a[e+5>>0]|0))return;q=e+12|0;g=c[q>>2]|0;if(g){c[q>>2]=0;f=g+f|0}j=e+26|0;k=e+45|0;l=d+288|0;m=e+39|0;n=e+44|0;o=e+38|0;p=e+22|0;h=e+24|0;i=(a[3416889]|0)!=0&1;a:while(1)b:do switch(f|0){case 0:break a;case 1:{c[q>>2]=1;f=0;break}default:{f=f+-2|0;g=(b[j>>1]|0)+1&2047;b[j>>1]=g;a[k>>0]=0;if(g<<16>>16==2047&(a[l>>0]|0)==0){a[m>>0]=(a[m>>0]|0)+1&31;break b}if(!(g<<16>>16)){a[k>>0]=1;g=a[m>>0]|0;if((a[l>>0]|0)==1){g=g+1&31;a[m>>0]=g}e=a[(((g&255)>>>1)+32&255)+(d+232)>>0]|0;if(!(g&1))g=e<<24>>24>>4&255;else g=e;e=(g&15)+248<>0]=e;g=a[o>>0]|0;if(!(g<<24>>24))g=0;else g=(e<<24>>24|0)/(1<<(g&255)+-1|0)|0;a[p>>0]=g;b[j>>1]=b[h>>1]|0}}}while(0);return}function Rp(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!g)return;l=f+12|0;m=f+48|0;n=f+46|0;k=f+22|0;j=d+163|0;d=g;f=c[l>>2]|0;while(1){if(d>>>0>>0)break;d=d-f|0;f=Kp(a[j>>0]|0)|0;c[l>>2]=f;h=e[m>>1]|0;g=h>>>1;h=(g^h)&1;i=h<<14|g;b[m>>1]=i;if(a[n>>0]|0){g=i&32703|h<<6;b[m>>1]=g}a[k>>0]=((g&255)<<1&2^2)+-1<<24>>24;if(!d){o=8;break}}if((o|0)==8)return;c[l>>2]=f-d;return}function Sp(b){b=b|0;var c=0,d=0;c=b+37|0;d=(a[c>>0]|0)+7&7;a[c>>0]=d;if(d<<24>>24)return;d=a[b+36>>0]|0;a[c>>0]=d;if(d<<24>>24==0|(a[b+28>>0]|0)==0)return;Up(b);Ip(b)|0;return}function Tp(b){b=b|0;var c=0,e=0,f=0;f=b+17|0;if(!(a[f>>0]|0))return;c=b+21|0;e=(a[c>>0]|0)+7&7;a[c>>0]=e;if(e<<24>>24)return;e=a[b+20>>0]|0;a[c>>0]=e;if(!(e<<24>>24))return;e=b+18|0;c=(d[b+19>>0]|0)+(d[e>>0]|0)|0;if((c<<24|16777215)>>>0<285212671){a[e>>0]=c;return}else{a[f>>0]=0;return}}function Up(c){c=c|0;var d=0;d=Ip(c)|0;if(!(a[c+5>>0]|0))return;if(!(a[c+30>>0]|0))return;b[c+24>>1]=d;a[c+3>>0]=d;return}function Vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((b&255)>1){i=0;return i|0}g=b&255;QA(1338272+(g*292|0)+4|0,0,288)|0;h=d&2147483647;f=h>>>6;i=1338272+(g*292|0)|0;c[i>>2]=f;j=a[3416903]|0;e=c[853966]|0;if(j<<24>>24==2|(j&1)!=0&f>>>0>>0)c[i>>2]=e;else e=f;a[1338272+(g*292|0)+288>>0]=d>>>31;Wp(1338272+(g*292|0)+280|0,h,e);Xp(b,0);j=c[i>>2]|0;return j|0}function Wp(a,b,d){a=a|0;b=b|0;d=d|0;b=NA(b|0,0,16)|0;b=DA(b|0,x|0,d>>>1|0,0)|0;d=KA(b|0,x|0,d|0,0)|0;c[a>>2]=d;return}function Xp(b,c){b=b|0;c=c|0;b=b&255;a[1338272+(b*292|0)+54>>0]=c&1;a[1338272+(b*292|0)+106>>0]=c>>>1&1;a[1338272+(b*292|0)+158>>0]=c>>>2&1;a[1338272+(b*292|0)+210>>0]=c>>>3&1;return}function Yp(b){b=b|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;o=b&255;n=Zp(b)|0;c[1338272+(o*292|0)+284>>2]=0;QA(1338272+(o*292|0)+4|0,0,208)|0;Xp(b,n);a[1338272+(o*292|0)+10>>0]=1;a[1338272+(o*292|0)+12>>0]=63;a[1338272+(o*292|0)+62>>0]=2;a[1338272+(o*292|0)+64>>0]=63;a[1338272+(o*292|0)+114>>0]=3;a[1338272+(o*292|0)+116>>0]=-1;a[1338272+(o*292|0)+166>>0]=4;a[1338272+(o*292|0)+168>>0]=63;Fp(1338272+(o*292|0)|0,22,0);switch(a[1338272+(o*292|0)+288>>0]|0){case 0:{b=44;d=-27;e=4;f=44;g=22;h=-49;i=2;j=54;k=72;l=-38;m=-35;n=-84;break}case 1:{b=-1;d=0;e=-1;f=0;g=-1;h=0;i=-1;j=0;k=-1;l=0;m=-1;n=0;break}default:return}a[1338272+(o*292|0)+264>>0]=n;a[1338272+(o*292|0)+265>>0]=m;a[1338272+(o*292|0)+266>>0]=l;a[1338272+(o*292|0)+267>>0]=k;a[1338272+(o*292|0)+268>>0]=j;a[1338272+(o*292|0)+269>>0]=i;a[1338272+(o*292|0)+270>>0]=h;a[1338272+(o*292|0)+271>>0]=g;a[1338272+(o*292|0)+272>>0]=f;a[1338272+(o*292|0)+273>>0]=e;a[1338272+(o*292|0)+274>>0]=d;a[1338272+(o*292|0)+275>>0]=b;a[1338272+(o*292|0)+276>>0]=n;a[1338272+(o*292|0)+277>>0]=m;a[1338272+(o*292|0)+278>>0]=l;a[1338272+(o*292|0)+279>>0]=k;return}function Zp(a){a=a|0;a=a&255;return (d[1338272+(a*292|0)+106>>0]|0)<<1|(d[1338272+(a*292|0)+54>>0]|0)|(d[1338272+(a*292|0)+158>>0]|0)<<2|(d[1338272+(a*292|0)+210>>0]|0)<<3|0}function _p(b){b=b|0;a[3416889]=b&1;return}function $p(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=d&255;s=c[f>>2]|0;i=c[f+4>>2]|0;t=1338864+(r*288|0)+276|0;QA(c[t>>2]|0,0,g<<1|0)|0;n=1338864+(r*288|0)+260|0;o=1338864+(r*288|0)+264|0;p=(g|0)>0;m=0;do{f=c[1338864+(r*288|0)+(m*52|0)+4>>2]|0;if((f|0)>8?(a[1338864+(r*288|0)+(m*52|0)+48>>0]|0)==0:0){l=M(c[1338864+(r*288|0)+(m*52|0)+12>>2]|0,c[1338864+(r*288|0)+(m*52|0)+8>>2]|0)|0;q=1338864+(r*288|0)+(m*52|0)|0;d=c[q>>2]|0;k=c[n>>2]|0;k=NA(k|0,((k|0)<0)<<31>>31|0,16)|0;k=~~((+(k>>>0)+4294967296.0*+(x|0))/+(M((c[o>>2]|0)/32|0,(f<<4)+16|0)|0)+.5);if(p){f=d;h=c[t>>2]|0;j=0;while(1){f=f+k|0;u=(M(l,a[(f>>>16&31)+(1338864+(r*288|0)+(m*52|0)+16)>>0]|0)|0)>>>3;b[h>>1]=u+(e[h>>1]|0);j=j+1|0;if((j|0)==(g|0))break;else h=h+2|0}d=d+(M(k,g)|0)|0}c[q>>2]=d}m=m+1|0}while((m|0)!=5);if(!p)return;j=1338864+(r*288|0)+272|0;f=s;h=0;d=c[t>>2]|0;while(1){u=b[(c[j>>2]|0)+(b[d>>1]<<1)>>1]|0;c[i>>2]=u;c[f>>2]=u;h=h+1|0;if((h|0)==(g|0))break;else{i=i+4|0;f=f+4|0;d=d+2|0}}return}function aq(b,d){b=b|0;d=d|0;var e=0;if((b&255)>1){d=0;return d|0}b=b&255;e=d&2147483647;c[1338864+(b*288|0)+260>>2]=e;e=e>>>4;d=1338864+(b*288|0)+264|0;c[d>>2]=e;c[1338864+(b*288|0)+276>>2]=Hy(e<<1)|0;bq(1338864+(b*288|0)|0);a[1338864+(b*288|0)+48>>0]=0;a[1338864+(b*288|0)+100>>0]=0;a[1338864+(b*288|0)+152>>0]=0;a[1338864+(b*288|0)+204>>0]=0;a[1338864+(b*288|0)+256>>0]=0;d=c[d>>2]|0;return d|0}function bq(a){a=a|0;var d=0,e=0,f=0;d=Hy(5120)|0;c[a+268>>2]=d;d=d+2560|0;e=a+272|0;c[e>>2]=d;a=0;while(1){f=(a<<7>>>0)/5|0;f=f>>>0<32768?f:32768;b[d+(a<<1)>>1]=f;b[(c[e>>2]|0)+(0-a<<1)>>1]=0-f;a=a+1|0;if((a|0)==1280)break;d=c[e>>2]|0}return}function cq(a){a=a|0;a=a&255;Iy(c[1338864+(a*288|0)+276>>2]|0);Iy(c[1338864+(a*288|0)+268>>2]|0);return}function dq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b&255;g=1338864+(h*288|0)|0;f=1338864+(h*288|0)+52|0;e=1338864+(h*288|0)+104|0;d=1338864+(h*288|0)+156|0;b=1338864+(h*288|0)+208|0;a[1338864+(h*288|0)+284>>0]=0;c[1338864+(h*288|0)+280>>2]=0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function eq(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;f=b&255;g=d[1338864+(f*288|0)+284>>0]|0;if(g&64|0)return;b=c>>>0>95;if(b&(g&128|0)!=0)return;if(b){c=c&31;a[1338864+(f*288|0)+172+c>>0]=e;a[1338864+(f*288|0)+224+c>>0]=e;return}else{a[(c&31)+(1338864+(f*288|0)+((c>>>5)*52|0)+16)>>0]=e;return}}function fq(b,c,d){b=b|0;c=c|0;d=d|0;b=b&255;if(a[1338864+(b*288|0)+284>>0]&64)return;a[(c&31)+(1338864+(b*288|0)+((c>>>5)*52|0)+16)>>0]=d;return}function gq(a,b,d){a=a|0;b=b|0;d=d|0;c[1338864+((a&255)*288|0)+((b&7)*52|0)+8>>2]=d&15;return}function hq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=b&255;f=d>>>1;g=1338864+(b*288|0)+(f*52|0)|0;if(!(a[1338864+(b*288|0)+284>>0]&32)){b=1338864+(b*288|0)+(f*52|0)+4|0;f=c[b>>2]|0;if((f|0)<9)c[g>>2]=c[g>>2]|65535}else{c[g>>2]=-1;f=1338864+(b*288|0)+(f*52|0)+4|0;b=f;f=c[f>>2]|0}if(!(d&1)){e=f&3840|e&255;c[b>>2]=e;e=c[g>>2]|0;e=e&-65536;c[g>>2]=e;return}else{e=f&255|(e&255)<<8&3840;c[b>>2]=e;e=c[g>>2]|0;e=e&-65536;c[g>>2]=e;return}}function iq(a,b){a=a|0;b=b|0;a=a&255;c[1338864+(a*288|0)+12>>2]=b&1;c[1338864+(a*288|0)+64>>2]=(b&255)>>>1&1;c[1338864+(a*288|0)+116>>2]=(b&255)>>>2&1;c[1338864+(a*288|0)+168>>2]=(b&255)>>>3&1;c[1338864+(a*288|0)+220>>2]=(b&255)>>>4&1;return}function jq(b,c){b=b|0;c=c|0;a[1338864+((b&255)*288|0)+284>>0]=c;return}function kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;if(!(b&1)){c[1338864+(e*288|0)+280>>2]=d&255;return}switch(b>>>1&2147483647|0){case 0:{eq(a,c[1338864+(e*288|0)+280>>2]|0,d);return}case 1:{hq(a,c[1338864+(e*288|0)+280>>2]|0,d);return}case 2:{gq(a,c[1338864+(e*288|0)+280>>2]|0,d);return}case 3:{iq(a,d);return}case 4:{fq(a,c[1338864+(e*288|0)+280>>2]|0,d);return}case 5:{jq(a,d);return}default:return}}function lq(b,c){b=b|0;c=c|0;b=b&255;a[1338864+(b*288|0)+48>>0]=c&1;a[1338864+(b*288|0)+100>>0]=c>>>1&1;a[1338864+(b*288|0)+152>>0]=c>>>2&1;a[1338864+(b*288|0)+204>>0]=c>>>3&1;a[1338864+(b*288|0)+256>>0]=c>>>4&1;return}function mq(a){a=a|0;var b=0,d=0,e=0,f=0;e=a&255;a=1339440+(e*400|0)+256|0;b=1339440+(e*400|0)+304|0;d=1339440+(e*400|0)+352|0;e=1339440+(e*400|0)+208|0;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=a;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=b;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));e=d;f=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));return}function nq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=k;k=k+160|0;v=C+128|0;w=C+112|0;x=C+96|0;y=C+80|0;z=C+64|0;A=C+48|0;B=C+32|0;s=C+16|0;t=C;u=C+144|0;r=b&255;g=1339440+(r*400|0)+196|0;h=1339440+(r*400|0)+204|0;b=0;do{if(!(a[1339440+(r*400|0)+208+(b*48|0)+44>>0]|0)){c[A+(b<<2)>>2]=(c[g>>2]|0)+((c[1339440+(r*400|0)+208+(b*48|0)+12>>2]<<16)+(c[1339440+(r*400|0)+208+(b*48|0)+8>>2]|0));i=c[(c[h>>2]|0)+(c[1339440+(r*400|0)+208+(b*48|0)>>2]<<2)>>2]|0;j=B+(b<<2)|0;c[j>>2]=i;q=c[1339440+(r*400|0)+208+(b*48|0)+16>>2]|0;p=c[1339440+(r*400|0)+208+(b*48|0)+24>>2]|0;c[v+(b<<2)>>2]=M(p,q)|0;c[w+(b<<2)>>2]=M(8-p|0,q)|0;c[s+(b<<2)>>2]=c[1339440+(r*400|0)+208+(b*48|0)+4>>2];c[t+(b<<2)>>2]=c[1339440+(r*400|0)+208+(b*48|0)+28>>2];c[x+(b<<2)>>2]=c[1339440+(r*400|0)+208+(b*48|0)+20>>2];c[y+(b<<2)>>2]=c[1339440+(r*400|0)+208+(b*48|0)+32>>2];q=c[1339440+(r*400|0)+208+(b*48|0)+36>>2]|0;c[z+(b<<2)>>2]=q;a[u+b>>0]=c[1339440+(r*400|0)+208+(b*48|0)+40>>2];if(q|0)c[j>>2]=i>>>1}else c[x+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=4);if((f|0)>0){p=1339440+(r*400|0)|0;q=e+4|0;n=0;do{b=0;g=0;o=0;do{h=x+(o<<2)|0;a:do if(c[h>>2]|0){m=t+(o<<2)|0;i=c[m>>2]|0;do if(i>>>16>>>0>=(c[s+(o<<2)>>2]|0)>>>0){a[u+o>>0]=0;if(!(c[y+(o<<2)>>2]|0)){c[h>>2]=0;break a}else{c[m>>2]=0;i=0;break}}while(0);do if(!(c[z+(o<<2)>>2]|0)){j=(c[A+(o<<2)>>2]|0)+(i>>>16)|0;l=c[B+(o<<2)>>2]|0}else{h=c[B+(o<<2)>>2]|0;if(i|0?((i-h^i)&32768|0)==0:0){j=u+o|0;l=h;break}l=d[(c[A+(o<<2)>>2]|0)+(i>>>16)>>0]|0;j=u+o|0;a[j>>0]=(d[j>>0]|0)+(d[33904+(((i&32768|0)==0?l:l>>>4)&15)>>0]|0);l=h}while(0);h=a[j>>0]|0;c[m>>2]=l+i;if(c[p>>2]&2){m=h<<24>>24;g=((M(c[v+(o<<2)>>2]|0,m)|0)>>2)+g|0;b=((M(c[w+(o<<2)>>2]|0,m)|0)>>2)+b|0}}while(0);o=o+1|0}while((o|0)!=4);o=oq(g)|0;c[(c[q>>2]|0)+(n<<2)>>2]=o;o=oq(b)|0;c[(c[e>>2]|0)+(n<<2)>>2]=o;n=n+1|0}while((n|0)!=(f|0))}if(!(a[1339440+(r*400|0)+252>>0]|0)){c[1339440+(r*400|0)+236>>2]=c[t>>2];c[1339440+(r*400|0)+228>>2]=c[x>>2];c[1339440+(r*400|0)+248>>2]=a[u>>0]}if(!(a[1339440+(r*400|0)+300>>0]|0)){c[1339440+(r*400|0)+284>>2]=c[t+4>>2];c[1339440+(r*400|0)+276>>2]=c[x+4>>2];c[1339440+(r*400|0)+296>>2]=a[u+1>>0]}if(!(a[1339440+(r*400|0)+348>>0]|0)){c[1339440+(r*400|0)+332>>2]=c[t+8>>2];c[1339440+(r*400|0)+324>>2]=c[x+8>>2];c[1339440+(r*400|0)+344>>2]=a[u+2>>0]}if(a[1339440+(r*400|0)+396>>0]|0){k=C;return}c[1339440+(r*400|0)+380>>2]=c[t+12>>2];c[1339440+(r*400|0)+372>>2]=c[x+12>>2];c[1339440+(r*400|0)+392>>2]=a[u+3>>0];k=C;return}function oq(a){a=a|0;if((a|0)>32768)return 32768;else return ((a|0)>-32768?a:-32768)|0;return 0}function pq(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)/32|0;if((b&255)>1){e=0;return e|0}b=b&255;f=1339440+(b*400|0)|0;QA(f|0,0,204)|0;c[1339440+(b*400|0)+204>>2]=Hy(16384)|0;qq(f,e,d);a[1339440+(b*400|0)+252>>0]=0;a[1339440+(b*400|0)+300>>0]=0;a[1339440+(b*400|0)+348>>0]=0;a[1339440+(b*400|0)+396>>0]=0;return e|0}function qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,h=0.0;h=+(b|0);g=+(d|0);f=(b|0)!=0;a=a+204|0;b=0;do{e=g/+(4096-b|0);if(f&e!=0.0){d=~~(65536.0/(h/e))>>>0;d=(d|0)==0?1:d}else d=1;c[(c[a>>2]|0)+(b<<2)>>2]=d;b=b+1|0}while((b|0)!=4096);return}function rq(a){a=a|0;a=a&255;Iy(c[1339440+(a*400|0)+204>>2]|0);a=1339440+(a*400|0)+196|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function sq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d&255;g=a&255;e=1339440+(g*400|0)|0;if((b|0)>47)return;f=1339440+(g*400|0)+4+(b<<2)|0;if((b|0)==40){a=c[f>>2]^h;do if(a&1|0){d=1339440+(g*400|0)+228|0;if(!(h&1)){c[d>>2]=0;break}else{c[d>>2]=1;c[1339440+(g*400|0)+236>>2]=0;c[1339440+(g*400|0)+248>>2]=0;tq(e,0);break}}while(0);do if(a&2|0){d=1339440+(g*400|0)+276|0;if(!(h&2)){c[d>>2]=0;break}else{c[d>>2]=1;c[1339440+(g*400|0)+284>>2]=0;c[1339440+(g*400|0)+296>>2]=0;tq(e,1);break}}while(0);do if(a&4|0){d=1339440+(g*400|0)+324|0;if(!(h&4)){c[d>>2]=0;break}else{c[d>>2]=1;c[1339440+(g*400|0)+332>>2]=0;c[1339440+(g*400|0)+344>>2]=0;tq(e,2);break}}while(0);do if(a&8|0){d=1339440+(g*400|0)+372|0;if(!(h&8)){c[d>>2]=0;break}else{c[d>>2]=1;c[1339440+(g*400|0)+380>>2]=0;c[1339440+(g*400|0)+392>>2]=0;tq(e,3);break}}while(0);c[f>>2]=h;return}c[f>>2]=h;if((b|0)<8)return;if((b|0)>=40)switch(b|0){case 42:{c[1339440+(g*400|0)+240>>2]=h&1;c[1339440+(g*400|0)+288>>2]=h>>>1&1;c[1339440+(g*400|0)+336>>2]=h>>>2&1;c[1339440+(g*400|0)+384>>2]=h>>>3&1;c[1339440+(g*400|0)+244>>2]=h>>>4&1;c[1339440+(g*400|0)+292>>2]=h>>>5&1;c[1339440+(g*400|0)+340>>2]=h>>>6&1;c[1339440+(g*400|0)+388>>2]=h>>>7;return}case 44:{c[1339440+(g*400|0)+232>>2]=h&7;c[1339440+(g*400|0)+280>>2]=h>>>3&7;return}case 45:{c[1339440+(g*400|0)+328>>2]=h&7;c[1339440+(g*400|0)+376>>2]=h>>>3&7;return}case 47:{c[e>>2]=h&7;return}default:return}f=b+-8|0;d=(f|0)/8|0;switch(f&7){case 0:{g=1339440+(g*400|0)+208+(d*48|0)|0;c[g>>2]=c[g>>2]&3840|h;return}case 1:{g=1339440+(g*400|0)+208+(d*48|0)|0;c[g>>2]=c[g>>2]&255|h<<8&3840;return}case 2:{g=1339440+(g*400|0)+208+(d*48|0)+4|0;c[g>>2]=c[g>>2]&65280|h;return}case 3:{g=1339440+(g*400|0)+208+(d*48|0)+4|0;c[g>>2]=c[g>>2]&255|h<<8;return}case 4:{g=1339440+(g*400|0)+208+(d*48|0)+8|0;c[g>>2]=c[g>>2]&65280|h;return}case 5:{g=1339440+(g*400|0)+208+(d*48|0)+8|0;c[g>>2]=c[g>>2]&255|h<<8;return}case 6:{c[1339440+(g*400|0)+208+(d*48|0)+12>>2]=h;return}case 7:{c[1339440+(g*400|0)+208+(d*48|0)+16>>2]=h<<1&254|h&1;return}default:{}}}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+208+(b*48|0)+12>>2]<<16)+(c[a+208+(b*48|0)+8>>2]|0)|0;f=a+208+(b*48|0)+4|0;d=c[a+200>>2]|0;if(d>>>0>>0){c[a+208+(b*48|0)+20>>2]=0;return}if((e+-1+(c[f>>2]|0)|0)>>>0<=d>>>0)return;c[f>>2]=d-e;return}function uq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=1339440+(a*400|0)+200|0;if((c[g>>2]|0)!=(b|0)){i=1339440+(a*400|0)+196|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[1339440+(a*400|0)+196>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function vq(b,c){b=b|0;c=c|0;b=b&255;a[1339440+(b*400|0)+252>>0]=c&1;a[1339440+(b*400|0)+300>>0]=c>>>1&1;a[1339440+(b*400|0)+348>>0]=c>>>2&1;a[1339440+(b*400|0)+396>>0]=c>>>3&1;return}function wq(a,b){a=a|0;b=b|0;c[1340240+((a&255)*2992|0)+2256>>2]=b;return}function xq(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0;N=f&255;O=1340240+(N*2992|0)|0;P=c[1340240+(N*2992|0)+2820>>2]|0;G=i<<2;QA(c[g>>2]|0,0,G|0)|0;Q=g+4|0;QA(c[Q>>2]|0,0,G|0)|0;G=1340240+(N*2992|0)+2819|0;if(!(a[G>>0]&1))return;H=c[1340240+(N*2992|0)+2840>>2]|0;I=c[1340240+(N*2992|0)+2848>>2]|0;if(!i)return;J=1340240+(N*2992|0)+2256|0;K=1340240+(N*2992|0)+2824|0;L=1340240+(N*2992|0)+2816|0;M=1340240+(N*2992|0)+2772|0;F=0;do{f=P+(c[K>>2]<<1)|0;if(!(c[J>>2]&2))j=+(b[f>>1]|0);else j=0.0;b[f>>1]=0;E=0;k=j;do{if((1<>0]|0)!=0?(a[1340240+(N*2992|0)+2980+E>>0]|0)==0:0){t=(E<<5)+(1340240+(N*2992|0)+2260)|0;q=M+(E<<1)|0;o=d[t+1>>0]<<8|d[t>>0]|d[t+2>>0]<<16;m=d[t+3>>0]|0;n=(d[t+4>>0]|0)+m|0;f=a[t+5>>0]|0;l=f&255;if((f+127&255)<15)f=l+-129|0;else f=(f+-17&255)<15?l+-17|0:7;x=+h[1340240+(N*2992|0)+2168+(E<<3)>>3];y=+h[1340240+(N*2992|0)+(m<<3)>>3];z=x*(y*+h[1340240+(N*2992|0)+2048+(f<<3)>>3]);z=z>1.8?1.8:z;y=x*(y*+h[1340240+(N*2992|0)+2048+(14-f<<3)>>3]);y=y>1.8?1.8:y;x=x*+h[1340240+(N*2992|0)+((n>>>0<255?n:255)<<3)>>3]*.5;x=x>1.8?1.8:x;A=((d[t+7>>0]<<8|d[t+6>>0])>>>3)+(c[K>>2]|0)|0;B=t+12|0;C=t+13|0;D=t+14|0;l=d[C>>0]<<8|d[B>>0]|d[D>>0]<<16;n=a[q>>0]|0;u=n&32;o=u<<24>>24==0?o:0-o|0;v=((u&255)<<12)+-65536|0;u=(((u&255)>>>4^2)&255)+-1|0;w=1340240+(N*2992|0)+2852+(E<<4)|0;if((l|0)==(c[w>>2]|0)){p=c[1340240+(N*2992|0)+2852+(E<<4)+12>>2]|0;f=c[1340240+(N*2992|0)+2852+(E<<4)+8>>2]|0;m=c[1340240+(N*2992|0)+2852+(E<<4)+4>>2]|0}else{c[w>>2]=l;p=0;f=0;m=0}a:do switch(n&12){case 0:{m=m+o|0;if(m>>>0>65535){p=q+1|0;q=t+8|0;r=t+9|0;o=t+10|0;n=f;f=m;while(1){m=f+v|0;l=l+u|0;t=a[H+(l&I)>>0]|0;f=(t&255)<<24>>16;if(t<<24>>24==-128?(a[p>>0]&1)!=0:0){f=d[r>>0]<<8|d[q>>0]|d[o>>0]<<16;l=f;f=d[H+(f&I)>>0]<<24>>16}if((f|0)==-32768)break;if(m>>>0>65535){n=f;f=m}else break a}yq(O,E);f=0}else n=p;break}case 4:{s=u<<1;m=m+o|0;if(m>>>0>65535){p=q+1|0;q=t+8|0;r=t+9|0;o=t+10|0;n=f;while(1){m=m+v|0;l=l+s|0;u=d[H+(l+1&I)>>0]<<8|d[H+(l&I)>>0];f=u<<16>>16;if((u|0)==32768?(a[p>>0]&1)!=0:0){f=d[r>>0]<<8|d[q>>0]|d[o>>0]<<16;l=f;f=(d[H+(f+1&I)>>0]<<8|d[H+(f&I)>>0])<<16>>16}if((f|0)==-32768)break;if(m>>>0>65535)n=f;else break a}yq(O,E);f=0}else n=p;break}case 8:{s=m<<1;m=m&32768;l=m>>>15|l<<1;m=((m|0)==0?s:s&65534)+o|0;b:do if(m>>>0>65535){q=q+1|0;r=t+8|0;s=t+9|0;n=t+10|0;while(1){p=m+v|0;l=l+u|0;t=a[H+(l>>>1&I)>>0]|0;m=t&255;if(t<<24>>24==-120){if(!(a[q>>0]&1))break;l=d[s>>0]<<8|d[r>>0]|d[n>>0]<<16;m=d[H+(l&I)>>0]|0;l=l<<1}if((m|0)==136)break;o=f+(b[33920+(((l&1|0)==0?m&15:m>>>4)<<1)>>1]|0)|0;o=(o|0)<32767?o:32767;o=(o|0)>-32768?o:-32768;if(p>>>0>65535){m=p;f=o}else{n=f;m=p;f=o;break b}}yq(O,E);n=f;m=p;f=0}else n=p;while(0);m=l<<15&32768|m>>1;l=l>>>1;break}default:n=p}while(0);R=+(f|0);k=k+z*R;j=j+y*R;A=P+((A+(c[K>>2]|0)&8191)<<1)|0;b[A>>1]=(e[A>>1]|0)+(~~(x*R)&65535);c[w>>2]=l;c[1340240+(N*2992|0)+2852+(E<<4)+4>>2]=m;c[1340240+(N*2992|0)+2852+(E<<4)+12>>2]=n;c[1340240+(N*2992|0)+2852+(E<<4)+8>>2]=f;if(zq(a[G>>0]|0)|0){a[B>>0]=l;a[C>>0]=l>>>8;a[D>>0]=l>>>16}}E=E+1|0}while((E|0)!=8);c[K>>2]=(c[K>>2]|0)+1&8191;c[(c[g>>2]|0)+(F<<2)>>2]=~~k;c[(c[Q>>2]|0)+(F<<2)>>2]=~~j;F=F+1|0}while((F|0)!=(i|0));return}function yq(b,c){b=b|0;c=c|0;if(!(zq(a[b+2819>>0]|0)|0))return;b=b+2816|0;a[b>>0]=(1<>0]|0);return}function zq(a){a=a|0;return ((a&255)>>>7^1)&255|0}function Aq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b&255;g=1340240+(h*2992|0)|0;if(c[1340240+(h*2992|0)+2256>>2]&4){b=(a[1340240+(h*2992|0)+2819>>0]&1)!=0;if(d>>>0<256&b){b=(d&31)+-12|0;if(b>>>0<3){d=1340240+(h*2992|0)+2232+((d>>>5)*3|0)+b|0;a[d>>0]=e;return}}else f=5}else{b=0;f=5}a:do if((f|0)==5)switch(d|0){case 558:{b=e<<24>>24==-128;if(b)f=c[1340240+(h*2992|0)+2820>>2]|0;else f=(c[1340240+(h*2992|0)+2840>>2]|0)+((e&255)<<17)|0;c[1340240+(h*2992|0)+2836>>2]=f;c[1340240+(h*2992|0)+2832>>2]=b?16384:131072;c[1340240+(h*2992|0)+2828>>2]=0;break a}case 532:{f=e&255;if(b){b=0;while(1){if(1<>0]=a[1340240+(h*2992|0)+2232+(b*3|0)>>0]|0;a[i+13>>0]=a[1340240+(h*2992|0)+2232+(b*3|0)+1>>0]|0;a[i+14>>0]=a[1340240+(h*2992|0)+2232+(b*3|0)+2>>0]|0;Bq(g,b)}b=b+1|0;if((b|0)==8)break a}}if(f&1|0)Bq(g,0);if(f&2|0)Bq(g,1);if(f&4|0)Bq(g,2);if(f&8|0)Bq(g,3);if(f&16|0)Bq(g,4);if(f&32|0)Bq(g,5);if(f&64|0)Bq(g,6);if(!(f&128))break a;Bq(g,7);break a}case 533:{b=e&255;if(b&1|0)yq(g,0);if(b&2|0)yq(g,1);if(b&4|0)yq(g,2);if(b&8|0)yq(g,3);if(b&16|0)yq(g,4);if(b&32|0)yq(g,5);if(b&64|0)yq(g,6);if(!(b&128))break a;yq(g,7);break a}case 557:{b=1340240+(h*2992|0)+2828|0;if((a[1340240+(h*2992|0)+2818>>0]|0)==-128)a[(c[1340240+(h*2992|0)+2836>>2]|0)+(c[b>>2]|0)>>0]=e;i=(c[b>>2]|0)+1|0;c[b>>2]=(i|0)==(c[1340240+(h*2992|0)+2832>>2]|0)?0:i;break a}default:break a}while(0);i=1340240+(h*2992|0)+2260+d|0;a[i>>0]=e;return}function Bq(b,c){b=b|0;c=c|0;if(!(zq(a[b+2819>>0]|0)|0))return;b=b+2816|0;a[b>>0]=1<>0]|0);return}function Cq(a,b){a=a|0;b=b|0;var d=0;if((a&255)>1){b=0;return b|0}d=a&255;h[1340240+(d*2992|0)+2168>>3]=1.0;h[1340240+(d*2992|0)+2176>>3]=1.0;h[1340240+(d*2992|0)+2184>>3]=1.0;h[1340240+(d*2992|0)+2192>>3]=1.0;h[1340240+(d*2992|0)+2200>>3]=1.0;h[1340240+(d*2992|0)+2208>>3]=1.0;h[1340240+(d*2992|0)+2216>>3]=1.0;h[1340240+(d*2992|0)+2224>>3]=1.0;c[1340240+(d*2992|0)+2256>>2]=0;a=0;do{h[1340240+(d*2992|0)+(a<<3)>>3]=+B(10.0,+(+(a|0)*-36.0*.015625/20.0))*.25;a=a+1|0}while((a|0)!=256);h[1340240+(d*2992|0)+2048>>3]=0.0;h[1340240+(d*2992|0)+2056>>3]=.2672612419124244;h[1340240+(d*2992|0)+2064>>3]=.37796447300922725;h[1340240+(d*2992|0)+2072>>3]=.4629100498862757;h[1340240+(d*2992|0)+2080>>3]=.5345224838248488;h[1340240+(d*2992|0)+2088>>3]=.5976143046671969;h[1340240+(d*2992|0)+2096>>3]=.6546536707079771;h[1340240+(d*2992|0)+2104>>3]=.7071067811865476;h[1340240+(d*2992|0)+2112>>3]=.7559289460184545;h[1340240+(d*2992|0)+2120>>3]=.8017837257372732;h[1340240+(d*2992|0)+2128>>3]=.8451542547285167;h[1340240+(d*2992|0)+2136>>3]=.8864052604279183;h[1340240+(d*2992|0)+2144>>3]=.9258200997725514;h[1340240+(d*2992|0)+2152>>3]=.9636241116594315;h[1340240+(d*2992|0)+2160>>3]=1.0;a=1340240+(d*2992|0)+2980|0;c[a>>2]=0;c[a+4>>2]=0;b=Dq(1340240+(d*2992|0)|0,b)|0;return b|0}function Dq(a,b){a=a|0;b=b|0;var d=0;b=(b|0)<1e6?b*384|0:b;c[a+2988>>2]=b;d=a+2256|0;c[d>>2]=c[d>>2]|4;c[a+2820>>2]=Hy(16384)|0;c[a+2840>>2]=0;c[a+2844>>2]=0;c[a+2848>>2]=0;return (b|0)/384|0|0}function Eq(a){a=a|0;var b=0;a=a&255;b=1340240+(a*2992|0)+2840|0;Iy(c[b>>2]|0);c[b>>2]=0;a=1340240+(a*2992|0)+2820|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Fq(a){a=a|0;var b=0;a=a&255;QA(1340240+(a*2992|0)+2260|0,0,560)|0;b=1340240+(a*2992|0)+2232|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[1340240+(a*2992|0)+2824>>2]=0;c[1340240+(a*2992|0)+2828>>2]=0;QA(c[1340240+(a*2992|0)+2820>>2]|0,0,16384)|0;return}function Gq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=a&255;a=1340240+(h*2992|0)+2844|0;a:do if((c[a>>2]|0)!=(b|0)){i=1340240+(h*2992|0)+2840|0;g=Ky(c[i>>2]|0,b)|0;c[i>>2]=g;c[a>>2]=b;QA(g|0,-1,b|0)|0;g=1340240+(h*2992|0)+2848|0;c[g>>2]=-1;do if(b>>>0>1)if((b|0)!=2)if(b>>>0>4)if(b>>>0>8)if(b>>>0>16)if(b>>>0>32)if(b>>>0>64)if(b>>>0>128)if(b>>>0>256)if(b>>>0>512)if(b>>>0>1024)if(b>>>0>2048)if(b>>>0>4096)if(b>>>0>8192)if(b>>>0>16384)if(b>>>0>32768)if(b>>>0>65536){if(b>>>0<=131072){a=131071;break}if(b>>>0<=262144){a=262143;break}if(b>>>0<=524288){a=524287;break}if(b>>>0<=1048576){a=1048575;break}if(b>>>0<=2097152){a=2097151;break}if(b>>>0<=4194304){a=4194303;break}if(b>>>0<=8388608){a=8388607;break}if(b>>>0<=16777216){a=16777215;break}if(b>>>0<=33554432){a=33554431;break}if(b>>>0<=67108864){a=67108863;break}if(b>>>0<=134217728){a=134217727;break}if(b>>>0<=268435456){a=268435455;break}if(b>>>0<=536870912){a=536870911;break}if(b>>>0<=1073741824){a=1073741823;break}if(b>>>0>2147483648)break a;else a=2147483647}else a=65535;else a=32767;else a=16383;else a=8191;else a=4095;else a=2047;else a=1023;else a=511;else a=255;else a=127;else a=63;else a=31;else a=15;else a=7;else a=3;else a=1;else a=0;while(0);c[g>>2]=a}while(0);if(b>>>0>>0)return;PA((c[1340240+(h*2992|0)+2840>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Hq(b,c){b=b|0;c=c|0;b=b&255;a[1340240+(b*2992|0)+2980>>0]=c&1;a[1340240+(b*2992|0)+2981>>0]=c>>>1&1;a[1340240+(b*2992|0)+2982>>0]=c>>>2&1;a[1340240+(b*2992|0)+2983>>0]=c>>>3&1;a[1340240+(b*2992|0)+2984>>0]=c>>>4&1;a[1340240+(b*2992|0)+2985>>0]=c>>>5&1;a[1340240+(b*2992|0)+2986>>0]=c>>>6&1;a[1340240+(b*2992|0)+2987>>0]=c>>>7&1;return}function Iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b&255;v=c[d>>2]|0;s=c[d+4>>2]|0;t=e<<2;QA(v|0,0,t|0)|0;QA(s|0,0,t|0)|0;if((e|0)<=0)return;t=1346224+(u*18244|0)+13632|0;r=1346224+(u*18244|0)+13624|0;q=0;do{p=0;d=0;b=0;do{n=1346224+(u*18244|0)+10240+(p*120|0)|0;if((c[1346224+(u*18244|0)+10240+(p*120|0)+12>>2]|0)!=0?(a[1346224+(u*18244|0)+10240+(p*120|0)+116>>0]|0)==0:0){m=1346224+(u*18244|0)+10240+(p*120|0)+36|0;o=c[1346224+(u*18244|0)+10240+(p*120|0)+32>>2]<<7|(c[m>>2]|0)>>>12;i=1346224+(u*18244|0)+10240+(p*120|0)+24|0;h=c[i>>2]|0;j=h>>>12;g=c[1346224+(u*18244|0)+10240+(p*120|0)+28>>2]|0;k=a[(c[t>>2]|0)+((c[1346224+(u*18244|0)+10240+(p*120|0)+20>>2]|0)+j&c[r>>2])>>0]<<8;f=h&4095;w=M(k,f)|0;l=1346224+(u*18244|0)+10240+(p*120|0)+48|0;f=w+(M(c[l>>2]|0,4096-f|0)|0)>>12;if(a[1346224+(u*18244|0)+10240+(p*120|0)+7>>0]&7){g=(M(Jq(1346224+(u*18244|0)+10240+(p*120|0)+84|0)|0,g)|0)>>>12;h=c[i>>2]|0}g=h+g|0;c[i>>2]=g;h=c[1346224+(u*18244|0)+10240+(p*120|0)+16>>2]|0;if(g>>>0>=c[h+8>>2]<<12>>>0){g=c[h+4>>2]<<12;c[i>>2]=g}if((j|0)!=(g>>>12|0))c[l>>2]=k;g=c[m>>2]|0;if((g>>>12|0)!=(c[1346224+(u*18244|0)+10240+(p*120|0)+40>>2]|0))c[m>>2]=(c[1346224+(u*18244|0)+10240+(p*120|0)+44>>2]|0)+g;if(a[1346224+(u*18244|0)+10240+(p*120|0)+8>>0]&7)f=(M(Kq(1346224+(u*18244|0)+10240+(p*120|0)+100|0)|0,f)|0)>>12;w=(M(Lq(n)|0,f)|0)>>10;d=((M(w,c[1382720+(o<<2)>>2]|0)|0)>>12)+d|0;b=((M(c[1390912+(o<<2)>>2]|0,w)|0)>>12)+b|0}p=p+1|0}while((p|0)!=28);c[v+(q<<2)>>2]=d;c[s+(q<<2)>>2]=b;q=q+1|0}while((q|0)!=(e|0));return}function Jq(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+((c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]|0)+128<<2)>>2]<<4|0}function Kq(a){a=a|0;var d=0;d=(c[a+4>>2]|0)+(e[a>>1]|0)|0;b[a>>1]=d;return c[(c[a+12>>2]|0)+(c[(c[a+8>>2]|0)+((d>>>8&255)<<2)>>2]<<2)>>2]<<4|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=a+52|0;d=a+56|0;switch(c[d>>2]|0){case 0:{b=(c[e>>2]|0)+(c[a+64>>2]|0)|0;c[e>>2]=b;if((b|0)>67043327){c[d>>2]=(c[a+68>>2]|0)>67108863?2:1;c[e>>2]=67043328;b=67043328}break}case 1:{b=(c[e>>2]|0)-(c[a+68>>2]|0)|0;b=(b|0)>0?b:0;c[e>>2]=b;if((b>>>16|0)<=(c[a+80>>2]<<6|0))c[d>>2]=2;break}case 2:{b=(c[e>>2]|0)-(c[a+72>>2]|0)|0;b=(b|0)>0?b:0;c[e>>2]=b;break}case 3:{b=(c[e>>2]|0)-(c[a+76>>2]|0)|0;c[e>>2]=b;if((b|0)<1){c[e>>2]=0;c[a+12>>2]=0;b=0}break}default:{e=4096;return e|0}}e=c[1399104+(b>>16<<2)>>2]|0;return e|0}function Mq(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0;if((b&255)>1){b=0;return b|0}l=b&255;c[1346224+(l*18244|0)+13624>>2]=0;c[1346224+(l*18244|0)+13628>>2]=0;c[1346224+(l*18244|0)+13632>>2]=0;e=+(d|0)/180.0;m=1346224+(l*18244|0)+13620|0;g[m>>2]=e;if(!(a[3416890]|0)){j=0;do{n=j>>>7;d=n&15;k=+B(10.0,+(+(j&127)*-24.0*.015625/20.0));a:do switch(n&15){case 8:{f=0.0;i=0.0;break}case 0:{f=1.0;i=1.0;break}default:if(!(j&1024)){i=+B(10.0,+(+(d&255)*-12.0*.25/20.0));f=1.0;i=(j&896|0)==896?0.0:i;break a}else{n=16-d|0;f=+B(10.0,+(+(n&255)*-12.0*.25/20.0));f=(n&7|0)==7?0.0:f;i=1.0;break a}}while(0);k=k*.25;c[1382720+(j<<2)>>2]=~~(k*i*4096.0)>>>0;c[1390912+(j<<2)>>2]=~~(k*f*4096.0)>>>0;j=j+1|0}while((j|0)!=2048);a[3416890]=1}d=0;do{c[1346224+(l*18244|0)+14148+(d<<2)>>2]=~~((+(d|0)+1024.0)*e*.0009765625*4096.0)>>>0;d=d+1|0}while((d|0)!=1024);d=0;do{k=+h[33952+(d<<3)>>3];c[1346224+(l*18244|0)+13636+(d<<2)>>2]=~~(67108864.0/(k*44100.0/1.0e3))>>>0;c[1346224+(l*18244|0)+13892+(d<<2)>>2]=~~(67108864.0/(k*14.32833*44100.0/1.0e3))>>>0;d=d+1|0}while((d|0)!=64);d=1346224+(l*18244|0)+13636|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[1346224+(l*18244|0)+13888>>2]=67108864;d=1346224+(l*18244|0)+13892|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[853947]=-152;c[853948]=76;d=0;do{c[1399104+(d<<2)>>2]=~~(+B(10.0,+(-(96.0-+(d|0)*96.0*.0009765625)/20.0))*4096.0);d=d+1|0}while((d|0)!=1024);Nq();Oq(b);n=~~(+g[m>>2]+.5);return n|0}function Nq(){var a=0,b=0.0,d=0,e=0,f=0,h=0;f=0;do{h=f>>>0<128;a=f<<1;d=255-a|0;e=h?d:a+-256|0;do if(!h)if(f>>>0<192){a=256-a|0;break}else{a=a+-511|0;break}else a=f>>>0<64?a:d;while(0);c[1403200+(f<<2)>>2]=e;c[1404224+(f<<2)>>2]=a;f=f+1|0}while((f|0)!=256);d=0;do{b=+g[34464+(d<<2)>>2];a=-128;do{c[1405248+(d<<10)+(a+128<<2)>>2]=~~(+ma(+(b*+(a|0)*.0078125/1200.0))*256.0)>>>0;a=a+1|0}while((a|0)!=128);b=+g[38576+(d<<2)>>2];a=0;do{c[1413440+(d<<10)+(a<<2)>>2]=~~(+B(10.0,+(-(b*+(a|0))*.00390625/20.0))*256.0)>>>0;a=a+1|0}while((a|0)!=256);d=d+1|0}while((d|0)!=8);return}function Oq(a){a=a|0;a=a&255;c[1346224+(a*18244|0)+13616>>2]=0;c[1346224+(a*18244|0)+13612>>2]=0;c[1346224+(a*18244|0)+13608>>2]=0;return}function Pq(a){a=a|0;a=1346224+((a&255)*18244|0)+13632|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Qq(b){b=b|0;var d=0;d=b&255;b=0;do{a[1346224+(d*18244|0)+10240+(b*120|0)>>0]=b;c[1346224+(d*18244|0)+10240+(b*120|0)+12>>2]=0;b=b+1|0}while((b|0)!=28);return}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;a=a&255;switch(b|0){case 0:{Sq(1346224+(a*18244|0)|0,1346224+(a*18244|0)+10240+((c[1346224+(a*18244|0)+13600>>2]|0)*120|0)|0,c[1346224+(a*18244|0)+13604>>2]|0,d);return}case 1:{c[1346224+(a*18244|0)+13600>>2]=c[34496+((d&31)<<2)>>2];return}case 2:{d=d&255;c[1346224+(a*18244|0)+13604>>2]=d>>>0<7?d:7;return}default:return}}function Sq(b,e,f,h){b=b|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0;i=e+2|0;j=e+3|0;a:while(1){a[e+1+f>>0]=h;switch(f|0){case 0:{f=3;break a}case 3:case 2:{f=5;break a}case 4:{f=6;break a}case 5:{f=14;break a}case 6:{f=19;break a}case 7:{f=21;break a}case 1:break;default:{f=23;break a}}k=b+((d[i>>0]|0)*20|0)|0;h=(a[j>>0]&1)<<8;Sq(b,e,6,a[k+(h*20|0)+18>>0]|0);f=7;h=a[k+(h*20|0)+19>>0]|0}if((f|0)==3){c[e+32>>2]=(h&255)>>>4;return}else if((f|0)==5){h=d[e+4>>0]|0;i=(h>>>4)+15|0;k=i&15;j=c[b+14148+((h<<6&960|(d[j>>0]|0)>>>2)<<2)>>2]|0;c[e+28>>2]=~~(+(((i&8|0)==0?j<>>(16-k|0))>>>0)/+g[b+13620>>2])>>>0;return}else if((f|0)==6){if(h<<24>>24<0){i=d[i>>0]|0;k=(a[j>>0]&1)<<8|i;f=b+13608|0;k=b+(((c[f>>2]|0)!=0&k>>>0>255?i:k)*20|0)|0;c[e+16>>2]=k;c[e+12>>2]=1;i=e+20|0;c[i>>2]=c[k>>2];c[e+24>>2]=0;c[e+48>>2]=0;c[e+36>>2]=c[e+40>>2]<<12;Tq(b,e);c[e+56>>2]=0;c[e+52>>2]=0;f=c[f>>2]|0;if(!f)return;h=c[i>>2]|0;if(h>>>0<=1048575)return;c[i>>2]=h&1048575|f;return}f=e+12|0;if(!(c[f>>2]|0))return;if((a[(c[e+16>>2]|0)+16>>0]|0)==15){c[f>>2]=0;return}else{c[e+56>>2]=3;return}}else if((f|0)==14){k=h&255;f=k>>>1;c[e+40>>2]=f;if(k&1|0){c[e+36>>2]=f<<12;return}if((c[e+36>>2]|0)>>>12>>>0>f>>>0){c[e+44>>2]=c[853947];return}else{c[e+44>>2]=c[853948];return}}else if((f|0)==19){if(!(h<<24>>24))return;k=e+7|0;j=d[k>>0]|0;b=b+13620|0;Uq(+g[b>>2],e+84|0,j>>>3&7,j&7,0);Uq(+g[b>>2],e+100|0,(d[k>>0]|0)>>>3&7,a[e+8>>0]&7,1);return}else if((f|0)==21){if(!(h<<24>>24))return;k=e+7|0;j=d[k>>0]|0;b=b+13620|0;Uq(+g[b>>2],e+84|0,j>>>3&7,j&7,0);Uq(+g[b>>2],e+100|0,(d[k>>0]|0)>>>3&7,a[e+8>>0]&7,1);return}else if((f|0)==23)return}function Tq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=d[e+4>>0]|0;i=(g>>>4)+15|0;f=c[e+16>>2]|0;h=a[f+17>>0]|0;g=h<<24>>24==15?0:((i&8|0)==0?i&15:i|-16)+(h&255)<<1|g>>>3&1;c[e+64>>2]=Vq(b+13636|0,g,d[f+12>>0]|0)|0;b=b+13892|0;c[e+68>>2]=Vq(b,g,d[f+13>>0]|0)|0;c[e+72>>2]=Vq(b,g,d[f+14>>0]|0)|0;c[e+76>>2]=Vq(b,g,d[f+16>>0]|0)|0;c[e+80>>2]=15-(d[f+15>>0]|0);return}function Uq(a,b,d,e,f){a=+a;b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=~~(+g[34624+(d<<2)>>2]*256.0/a*256.0)>>>0;f=(f|0)==0;c[b+8>>2]=f?1404224:1403200;c[b+12>>2]=(f?1405248:1413440)+(e<<10);return}function Vq(a,b,d){a=a|0;b=b|0;d=d|0;b=(d<<2)+b|0;switch(d|0){case 0:break;case 15:{a=a+252|0;break}default:a=a+(((b|0)<63?b:63)<<2)|0}return c[a>>2]|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a&255;b=b&255;if(b&1|0)c[1346224+(e*18244|0)+13616>>2]=(d&65535)<<16;a=1346224+(e*18244|0)+13612|0;if(!(b&2))a=c[a>>2]|0;else{d=(d&65535)<<16;c[a>>2]=d;a=d}if(a|0){d=a;e=1346224+(e*18244|0)+13608|0;c[e>>2]=d;return}d=c[1346224+(e*18244|0)+13616>>2]|0;e=1346224+(e*18244|0)+13608|0;c[e>>2]=d;return}function Xq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=b&255;b=1346224+(j*18244|0)+13628|0;if((c[b>>2]|0)!=(e|0)){k=1346224+(j*18244|0)+13632|0;i=Ky(c[k>>2]|0,e)|0;c[k>>2]=i;c[b>>2]=e;b=1;while(1)if(b>>>0>>0)b=b<<1;else break;c[1346224+(j*18244|0)+13624>>2]=b+-1;QA(i|0,-1,e|0)|0}if(e>>>0>>0)return;i=1346224+(j*18244|0)+13632|0;PA((c[i>>2]|0)+f|0,h|0,((g+f|0)>>>0>e>>>0?e-f|0:g)|0)|0;if(f>>>0>=6144)return;b=0;do{k=(c[i>>2]|0)+(b*12|0)|0;c[1346224+(j*18244|0)+(b*20|0)>>2]=(d[k+1>>0]|0)<<8|(d[k>>0]|0)<<16|(d[k+2>>0]|0);c[1346224+(j*18244|0)+(b*20|0)+4>>2]=(d[k+3>>0]|0)<<8|(d[k+4>>0]|0);c[1346224+(j*18244|0)+(b*20|0)+8>>2]=((d[k+5>>0]|0)<<8|(d[k+6>>0]|0))^65535;a[1346224+(j*18244|0)+(b*20|0)+18>>0]=a[k+7>>0]|0;h=k+8|0;a[1346224+(j*18244|0)+(b*20|0)+13>>0]=a[h>>0]&15;a[1346224+(j*18244|0)+(b*20|0)+12>>0]=(d[h>>0]|0)>>>4;h=k+9|0;a[1346224+(j*18244|0)+(b*20|0)+14>>0]=a[h>>0]&15;a[1346224+(j*18244|0)+(b*20|0)+15>>0]=(d[h>>0]|0)>>>4;h=k+10|0;a[1346224+(j*18244|0)+(b*20|0)+16>>0]=a[h>>0]&15;a[1346224+(j*18244|0)+(b*20|0)+17>>0]=(d[h>>0]|0)>>>4;a[1346224+(j*18244|0)+(b*20|0)+19>>0]=a[k+11>>0]|0;b=b+1|0}while((b|0)!=512);return}function Yq(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[1346224+(b*18244|0)+10240+(d*120|0)+116>>0]=c>>>d&1;d=d+1|0}while((d|0)!=28);return}function Zq(a,b,c){a=a|0;b=b|0;c=c|0;_q(a,b,c);return}function _q(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)>31)return;a[b+156+c>>0]=d;$q(b,c,d);return}function $q(e,f,g){e=e|0;f=f|0;g=g|0;var h=0;h=f>>>2&1;if((f|0)<11)switch(f|0){case 4:case 0:{a[e+(h<<5)>>0]=g;return}case 5:case 1:{a[e+(h<<5)+1>>0]=g;return}case 6:case 2:{a[e+(h<<5)+2>>0]=g;if(!(a[e+(h<<5)+30>>0]|0))return;c[e+(h<<5)+8>>2]=(((a[e+(h<<5)+3>>0]&7)<<8|g&255)<<16)+65536;return}case 7:case 3:{a[e+(h<<5)+3>>0]=g;if(!(a[e+(h<<5)+30>>0]|0))return;g=g&255;c[e+(h<<5)+4>>2]=c[e+16600+(g>>>3<<2)>>2];a[e+(h<<5)+29>>0]=0;c[e+(h<<5)+8>>2]=((g<<8&1792|d[e+(h<<5)+2>>0])<<16)+65536;return}case 8:{a[e+64>>0]=g;if(!(a[e+90>>0]|0))return;if(a[e+89>>0]|0)return;c[e+68>>2]=c[e+16856+((g&127)<<2)>>2];return}case 9:{a[e+65>>0]=g;return}case 10:{a[e+66>>0]=g;return}default:return}if((f|0)<17)switch(f|0){case 11:{a[e+67>>0]=g;c[e+76>>2]=(((c[e+204>>2]|0)+239|0)>>>0)/240|0;if(!(a[e+90>>0]|0))return;a[e+89>>0]=0;c[e+72>>2]=c[e+16600+((g&255)>>>3<<2)>>2];c[e+68>>2]=c[e+16856+((a[e+64>>0]&127)<<2)>>2];return}case 12:{a[e+92>>0]=g;return}case 14:{a[e+94>>0]=g;c[e+96>>2]=0;return}case 15:{a[e+95>>0]=g;if(!(a[e+117>>0]|0))return;c[e+100>>2]=c[e+16600+((g&255)>>>3<<2)>>2];a[e+116>>0]=0;return}case 16:{a[e+120>>0]=g;if(g<<24>>24<=-1)return;a[e+146>>0]=0;return}default:return}if((f|0)<21)switch(f|0){case 17:{g=g&127;a[e+121>>0]=g;b[e+152>>1]=g&255;return}case 18:{a[e+122>>0]=g;return}case 19:{a[e+123>>0]=g;return}default:return}if((f|0)>=23){if((f|0)>=16397){switch(f|0){case 16397:break;default:return}a[e+93>>0]=g;return}switch(f|0){case 23:break;default:return}h=e+196|0;if(g<<24>>24<0){c[h>>2]=5;return}else{c[h>>2]=4;return}}switch(f|0){case 21:break;default:return}g=g&255;h=e+30|0;if(!(g&1)){a[h>>0]=0;c[e+4>>2]=0}else a[h>>0]=1;h=e+62|0;if(!(g&2)){a[h>>0]=0;c[e+36>>2]=0}else a[h>>0]=1;h=e+90|0;if(!(g&4)){a[h>>0]=0;c[e+72>>2]=0;c[e+68>>2]=0;a[e+89>>0]=0;c[e+76>>2]=0}else a[h>>0]=1;h=e+117|0;if(!(g&8)){a[h>>0]=0;c[e+100>>2]=0}else a[h>>0]=1;h=e+120|0;f=e+145|0;if(g&16){if(!(a[f>>0]|0)){a[f>>0]=1;ar(h)}}else a[f>>0]=0;a[e+146>>0]=0;return}function ar(e){e=e|0;var f=0;c[e+4>>2]=(d[e+2>>0]|0)<<6|49152;f=(d[e+3>>0]|0)<<4|1;c[e+8>>2]=f;c[e+12>>2]=f<<3;a[e+26>>0]=0;a[e+25>>0]=1;b[e+32>>1]=0;return}function br(a,b,c){a=a|0;b=b|0;c=c|0;cr(a,b,c);return}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!d)return;h=a+32|0;i=a+64|0;j=a+92|0;g=a+120|0;f=c[b>>2]|0;e=d;d=c[b+4>>2]|0;while(1){e=e+-1|0;b=(dr(a,a)|0)<<24>>24;b=((dr(a,h)|0)<<24>>24)+b<<8;k=(er(a,i)|0)<<24>>24;l=(fr(a,j)|0)<<24>>24;b=((l+k+((gr(a,g)|0)<<24>>24)|0)*192|0)+b|0;c[f>>2]=b;c[d>>2]=b;if(!e)break;else{f=f+4|0;d=d+4|0}}return}function dr(b,e){b=b|0;e=e|0;var f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;if(!(a[e+30>>0]|0)){e=0;return e|0}if(a[e+31>>0]|0){e=0;return e|0}r=a[e>>0]|0;f=c[b+16728+((r&15)<<2)>>2]|0;l=e+20|0;j=+g[l>>2]+-4.0;g[l>>2]=j;if(j<0.0){o=+(f|0);h=(r&32)==0;k=e+29|0;f=a[k>>0]|0;do{j=j+o;if(h){if((f&255)<15){f=f+1<<24>>24;n=9}}else{f=f+1&15;n=9}if((n|0)==9){n=0;a[k>>0]=f}}while(j<0.0);g[l>>2]=j}h=e+4|0;f=c[h>>2]|0;if((f|0)>0){f=f+-1|0;if(!(r&32)){c[h>>2]=f;m=f;n=15}}else{m=f;n=15}if((n|0)==15?(m|0)==0:0){e=0;return e|0}l=a[e+1>>0]|0;f=l&255;m=(f&128|0)==0;n=f&7;if(!(m|(n|0)==0)?(p=c[b+16728+((f>>>4&7)<<2)>>2]|0,q=e+24|0,i=+g[q>>2]+-2.0,g[q>>2]=i,i<0.0):0){j=+(p|0);h=(f&8|0)==0;k=e+8|0;f=c[k>>2]|0;do{i=i+j;p=f>>n;f=(h?p:0-p|0)+f|0}while(i<0.0);g[q>>2]=i;c[k>>2]=f}if(!(l&8)){f=c[e+8>>2]|0;if((f>>16|0)>(c[34784+((m?7:n)<<2)>>2]|0)){e=0;return e|0}}else f=c[e+8>>2]|0;if((f|0)<262144){e=0;return e|0}k=e+12|0;i=+g[k>>2]-+g[b+200>>2];g[k>>2]=i;if(i<0.0){j=+(f>>>16|0);h=e+28|0;f=a[h>>0]|0;do{i=i+j;f=f+1&15}while(i<0.0);g[k>>2]=i;a[h>>0]=f}h=r&255;if(!(h&16))f=15-(d[e+29>>0]|0)|0;else f=h&15;e=((c[34816+(h>>>6<<2)>>2]|0)>(d[e+28>>0]|0)?0-f|0:f)&255;return e|0}function er(b,e){b=b|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0;if(!(a[e+26>>0]|0)){e=0;return e|0}if(a[e+27>>0]|0){e=0;return e|0}j=e+25|0;a:do if(!(a[j>>0]|0)){do if((a[e>>0]|0)>-1){h=e+12|0;m=c[h>>2]|0;i=m+-1|0;if(m|0?(c[h>>2]=i,i|0):0)break;a[j>>0]=1;k=9;break a}while(0);i=c[e+4>>2]|0}else k=9;while(0);if((k|0)==9){h=e+4|0;i=c[h>>2]|0;if((i|0)>0){i=i+-1|0;c[h>>2]=i}j=e+8|0;h=c[j>>2]|0;if(!h){m=0;return m|0}h=h+-1|0;if((a[e>>0]|0)>-1?(c[j>>2]=h,(h|0)==0):0){m=0;return m|0}}if(!i){m=0;return m|0}h=((a[e+3>>0]&7)<<8|d[e+2>>0])+1|0;if(h>>>0<4){m=0;return m|0}k=e+16|0;f=+g[k>>2]-+g[b+200>>2];g[k>>2]=f;if(f<0.0){l=+(h|0);j=e+24|0;i=a[j>>0]|0;do{f=f+l;h=i+1<<24>>24;i=h&31}while(f<0.0);m=h<<1&14;m=(h&8)==0?m:16-(m&255)&255;l=+(((h&16)==0?m:0-(m&255)&255)<<24>>24);g[k>>2]=f;a[j>>0]=i;g[e+20>>2]=l;f=l}else f=+g[e+20>>2];m=~~f;return m|0}function fr(b,e){b=b|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;if(!(a[e+25>>0]|0)){e=0;return e|0}if(a[e+26>>0]|0){e=0;return e|0}o=a[e>>0]|0;f=c[b+16728+((o&15)<<2)>>2]|0;m=e+20|0;j=+g[m>>2]+-4.0;g[m>>2]=j;if(j<0.0){k=+(f|0);h=o&32;i=h<<24>>24==0;l=e+24|0;f=a[l>>0]|0;do{j=j+k;if(i){if((f&255)<15){f=f+1<<24>>24;n=10}}else{f=f+1&15;n=10}if((n|0)==10){n=0;a[l>>0]=f}}while(j<0.0);g[m>>2]=j}else h=o&32;i=e+8|0;f=c[i>>2]|0;if(h<<24>>24==0&(f|0)>0){f=f+-1|0;c[i>>2]=f}if(!f){e=0;return e|0}h=a[e+2>>0]|0;f=c[34720+((h&15)<<2)>>2]|0;m=e+12|0;j=+g[m>>2]-+g[b+200>>2];g[m>>2]=j;if(j<0.0){k=+(f|0);l=e+4|0;i=h<<24>>24<0;h=c[l>>2]|0;while(1){j=j+k;f=h+1|0;a:do if((h|0)<16383){switch(h|0){case 92:break;default:break a}f=i?0:f}else{switch(h|0){case 16383:break;default:break a}f=0}while(0);if(!(j<0.0))break;else h=f}g[m>>2]=j;c[l>>2]=f}f=o&255;if(!(f&16))f=15-(d[e+24>>0]|0)|0;else f=f&15;e=a[(c[e+4>>2]|0)+(b+216)>>0]|0;f=(f&255)>>>0<(e&255)>>>0?f&255:e;if(e<<24>>24>=0){e=f;return e|0}e=0-(f&255)&255;return e|0}function gr(d,f){d=d|0;f=f|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(a[f+34>>0]|0){r=0;return r|0}r=f+25|0;a:do if(a[r>>0]|0?(h=c[34656+((a[f>>0]&15)<<2)>>2]|0,q=f+16|0,i=+g[q>>2]-+g[d+200>>2],g[q>>2]=i,i<0.0):0){m=+(h|0);n=f+8|0;o=f+32|0;p=f+12|0;j=d+148|0;k=f+4|0;l=f+24|0;while(1){g[q>>2]=i+m;if(!(c[n>>2]|0)){a[r>>0]=0;b[o>>1]=0;h=a[f>>0]|0;if(!(h&64))break;ar(f)}h=(c[p>>2]|0)+-1|0;c[p>>2]=h;h=h&7;if(!h){t=c[k>>2]|0;d=a[(c[j>>2]|0)+t>>0]|0;a[l>>0]=d;s=t+1|0;c[k>>2]=s>>>0>65535?t+-32767|0:s;c[n>>2]=(c[n>>2]|0)+-1}else d=a[l>>0]|0;b[o>>1]=((1<<(h^7)&(d&255)|0)==0?65534:2)+(e[o>>1]|0);i=+g[q>>2];if(!(i<0.0))break a}if(h<<24>>24<=-1)a[f+26>>0]=1}while(0);h=f+32|0;d=b[h>>1]|0;if(d<<16>>16>127){b[h>>1]=127;t=127;return t|0}if(d<<16>>16>=0){t=d&255;return t|0}b[h>>1]=0;t=0;return t|0}function hr(b,d){b=b|0;d=d|0;var e=0,f=0,h=0;e=Hy(17368)|0;if(!e){e=0;return e|0}h=(d|0)/60|0;f=e+204|0;c[f>>2]=h;d=e+208|0;c[d>>2]=h;h=h*60|0;c[e+212>>2]=h;g[e+200>>2]=+(b|0)/+(h>>>0);ir(e+216|0);jr(e+16600|0,c[f>>2]|0);kr(e,c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[e+148>>2]=0;a[e+31>>0]=0;a[e+63>>0]=0;a[e+91>>0]=0;a[e+118>>0]=0;a[e+154>>0]=0;return e|0}function ir(b){b=b|0;var c=0,d=0,e=0;c=17;d=0;while(1){e=c>>1;a[b+d>>0]=e;d=d+1|0;if((d|0)==16384)break;else c=(e^c)<<12&4096|e}return}function jr(a,b){a=a|0;b=b|0;var e=0;e=0;do{c[a+(e<<2)>>2]=M(d[34832+e>>0]|0,b)|0;e=e+1|0}while((e|0)!=32);return}function kr(a,b){a=a|0;b=b|0;var d=0,e=0;c[a+16728>>2]=b;c[a+16732>>2]=b<<1;c[a+16736>>2]=b*3;c[a+16740>>2]=b<<2;c[a+16744>>2]=b*5;c[a+16748>>2]=b*6;c[a+16752>>2]=b*7;c[a+16756>>2]=b<<3;c[a+16760>>2]=b*9;c[a+16764>>2]=b*10;c[a+16768>>2]=b*11;c[a+16772>>2]=b*12;c[a+16776>>2]=b*13;c[a+16780>>2]=b*14;c[a+16784>>2]=b*15;c[a+16788>>2]=b<<4;c[a+16792>>2]=b*17;c[a+16796>>2]=b*18;c[a+16800>>2]=b*19;c[a+16804>>2]=b*20;c[a+16808>>2]=b*21;c[a+16812>>2]=b*22;c[a+16816>>2]=b*23;c[a+16820>>2]=b*24;c[a+16824>>2]=b*25;c[a+16828>>2]=b*26;c[a+16832>>2]=b*27;c[a+16836>>2]=b*28;c[a+16840>>2]=b*29;c[a+16844>>2]=b*30;c[a+16848>>2]=b*31;c[a+16852>>2]=b<<5;d=0;e=0;while(1){c[a+16856+(d<<2)>>2]=e>>>2;d=d+1|0;if((d|0)==128)break;else e=e+b|0}return}function lr(a){a=a|0;c[a+148>>2]=0;return}function mr(a){a=a|0;var b=0,d=0;b=a+148|0;d=c[b>>2]|0;QA(a|0,0,200)|0;c[b>>2]=d;ar(a+120|0);_q(a,0,0);_q(a,1,0);_q(a,2,0);_q(a,3,0);_q(a,4,0);_q(a,5,0);_q(a,6,0);_q(a,7,0);_q(a,8,0);_q(a,9,0);_q(a,10,0);_q(a,11,0);_q(a,12,0);_q(a,13,0);_q(a,14,0);_q(a,15,0);_q(a,16,0);_q(a,17,0);_q(a,18,0);_q(a,19,0);_q(a,20,0);_q(a,21,0);_q(a,22,0);_q(a,23,0);_q(a,21,0);_q(a,21,15);return}function nr(a,b){a=a|0;b=b|0;c[a+148>>2]=b;return}function or(b,c){b=b|0;c=c|0;a[b+31>>0]=c&1;a[b+63>>0]=c>>>1&1;a[b+91>>0]=c>>>2&1;a[b+118>>0]=c>>>3&1;a[b+154>>0]=c>>>4&1;return}function pr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;n=o;l=b&255;b=1421632+(l<<4)|0;switch(a[3416891]|0){case 1:{br(c[b>>2]|0,d,e);break}case 0:{if((e|0)<=0){k=o;return}m=1421632+(l<<4)+4|0;g=n+8|0;h=n+4|0;i=n+12|0;j=d+4|0;f=c[b>>2]|0;b=0;do{qr(f,n);rr(c[m>>2]|0,g);c[(c[d>>2]|0)+(b<<2)>>2]=(c[g>>2]|0)+(c[n>>2]|0);c[(c[j>>2]|0)+(b<<2)>>2]=(c[i>>2]|0)+(c[h>>2]|0);b=b+1|0}while((b|0)!=(e|0));break}default:{}}f=c[1421632+(l<<4)+8>>2]|0;if(!((f|0)!=0&(e|0)>0)){k=o;return}g=n+4|0;h=d+4|0;b=0;do{sr(f,n);m=(c[d>>2]|0)+(b<<2)|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);m=(c[h>>2]|0)+(b<<2)|0;c[m>>2]=(c[m>>2]|0)+(c[g>>2]|0);b=b+1|0}while((b|0)!=(e|0));k=o;return}function qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+360|0;h=(c[d>>2]|0)+(c[a+364>>2]|0)|0;c[d>>2]=h;e=a+368|0;Cr(a,(h>>>24)-(c[e>>2]|0)&255);c[e>>2]=(c[d>>2]|0)>>>24;e=c[a+16>>2]|0;d=a+72|0;if(!(e&1))f=c[d>>2]|0;else f=0;c[d>>2]=f;d=a+76|0;if(!(e&2))e=c[d>>2]|0;else e=0;c[d>>2]=e;if(c[a+4>>2]|0){h=c[a+96+(e+f<<2)>>2]|0;d=f<<6;e=e<<6;f=e+d|0;if((f|0)>0){g=(M(h,d)|0)/(f|0)|0;d=(M(h,e)|0)/(f|0)|0}else{g=h;d=h}}else{g=f<<6;d=e<<6}h=M(c[a+20>>2]|0,g)|0;c[b>>2]=h;c[b>>2]=(M(c[a+24>>2]|0,d)|0)+h>>5;h=M(c[a+28>>2]|0,g)|0;b=b+4|0;c[b>>2]=h;c[b>>2]=(M(c[a+32>>2]|0,d)|0)+h>>5;return}function rr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+262408|0;k=(c[e>>2]|0)+(c[b+262412>>2]|0)|0;c[e>>2]=k;f=b+262416|0;k=(k>>>24)-(c[f>>2]|0)&255;ur(b,k);vr(b,k);c[f>>2]=(c[e>>2]|0)>>>24;f=c[b+262176>>2]|0;e=b+262232|0;if(!(f&1))k=c[e>>2]|0;else k=0;c[e>>2]=k;e=b+262236|0;if(!(f&2))h=c[e>>2]|0;else h=0;c[e>>2]=h;e=b+262240|0;if(!(f&4))f=c[e>>2]|0;else f=0;c[e>>2]=f;g=c[b+(k<<13)>>2]|0;i=c[b+(h<<9)>>2]|0;e=c[b+(f<<2)>>2]|0;if(c[b+262148>>2]|0){j=i+g+e|0;f=c[b+131072+(k<<13)+(h<<9)+(f<<2)>>2]|0;if(!j){e=f;k=f;j=f}else{e=(M(e,f)|0)/(j|0)|0;k=(M(g,f)|0)/(j|0)|0;j=(M(i,f)|0)/(j|0)|0}}else{k=g;j=i}do if(c[b+262160>>2]|0){g=b+262264|0;do if(a[g>>0]|0){h=b+262272|0;i=b+262268|0;f=(c[i>>2]|0)+((c[h>>2]|0)-e)|0;c[i>>2]=f;a[g>>0]=0;if((f|0)>1073479680){c[i>>2]=1073479680;c[h>>2]=e;e=e+1073479680|0;f=1073479680;g=18;break}if((f|0)<-1073479680){c[i>>2]=-1073479680;c[h>>2]=e;e=e+-1073479680|0;f=-1073479680;g=20}else g=17}else{f=b+262268|0;h=b+262272|0;i=f;f=c[f>>2]|0;g=17}while(0);if((g|0)==17){c[h>>2]=e;e=f+e|0;if((f|0)<=0)if((f|0)<0)g=20;else break;else g=18}if((g|0)==18){c[i>>2]=f+-1;break}else if((g|0)==20){c[i>>2]=f+1;break}}while(0);h=M(c[b+262180>>2]|0,k)|0;c[d>>2]=h;h=(M(c[b+262184>>2]|0,j)|0)+h|0;c[d>>2]=h;i=0-e|0;c[d>>2]=(M(c[b+262188>>2]|0,i)|0)+h>>5;k=M(c[b+262192>>2]|0,k)|0;d=d+4|0;c[d>>2]=k;k=(M(c[b+262196>>2]|0,j)|0)+k|0;c[d>>2]=k;c[d>>2]=(M(c[b+262200>>2]|0,i)|0)+k>>5;return}function sr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=a+648|0;e=(c[f>>2]|0)+(c[a+652>>2]|0)|0;c[f>>2]=e;g=a+656|0;tr(a,(e>>>24)-(c[g>>2]|0)&255);c[g>>2]=(c[f>>2]|0)>>>24;g=(M(c[34864+((d[a+45>>0]|0)<<2)>>2]|0,c[a+28>>2]|0)|0)>>8;f=a+628|0;e=M(c[a+632>>2]|0,c[f>>2]|0)|0;e=(M(c[a+636>>2]|0,g)|0)+e>>12;c[f>>2]=e;e=(c[a+16>>2]|0)==0?e:0;c[b>>2]=(M(e,c[a+20>>2]|0)|0)>>5;c[b+4>>2]=(M(c[a+24>>2]|0,e)|0)>>5;return}function tr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(((a[b+586>>0]|0)==0?(a[b+585>>0]|0)==0:0)?(m=c[b+624>>2]|0,m|0):0){if((a[b+598>>0]|0)==0?(i=b+600|0,h=(c[i>>2]|0)+d|0,c[i>>2]=h,j=M(m<<3,(c[b+608>>2]|0)+1|0)|0,h>>>0>=j>>>0):0){k=b+616|0;l=(a[b+596>>0]|0)==0;e=c[k>>2]|0;do{if(l)if(!e)e=0;else{e=e+-1|0;c[k>>2]=e}else if(e>>>0<32){e=e+1|0;c[k>>2]=e}h=h-j|0}while(h>>>0>=j>>>0);c[i>>2]=h}if((a[b+599>>0]|0)==0?(n=b+604|0,g=(c[n>>2]|0)+d|0,c[n>>2]=g,o=M(m<<3,(c[b+612>>2]|0)+1|0)|0,g>>>0>=o>>>0):0){h=b+620|0;i=(a[b+597>>0]|0)==0;e=c[h>>2]|0;do{if(i)if(!e)e=0;else{e=e+-1|0;c[h>>2]=e}else if(e>>>0<32){e=e+1|0;c[h>>2]=e}g=g-o|0}while(g>>>0>=o>>>0);c[n>>2]=g}}if((a[b+587>>0]|0)==0?(o=b+576|0,n=c[o>>2]|0,f=n>>>16,n=(M(c[b+568>>2]|0,d)|0)+n|0,p=n>>>16,c[o>>2]=n&4194303,f>>>0

>>0):0){g=b+588|0;do{e=c[b+56+((f&63)<<2)>>2]|0;if((e|0)==4)e=0;else e=(c[g>>2]|0)+(c[34880+(e<<2)>>2]|0)&127;c[g>>2]=e;f=f+1|0}while((f|0)!=(p|0))}if(!(a[b+585>>0]|0)){e=c[b+616>>2]|0;if(!e){e=0;f=c[b+572>>2]|0}else{f=c[b+588>>2]|0;f=f>>>0<64?f:f+-128|0;p=M(f,e)|0;e=p>>4;do if((p&15|0)!=0&(p&2048|0)==0)if((f|0)<0){e=e+-1|0;break}else{e=e+2|0;break}while(0);f=~e;e=e-(e+((f|0)>-192?f:-192)+256&-256)|0;f=c[b+572>>2]|0;e=M(f,e+(((e|0)>-64?e:-64)+255-e&-256)|0)|0;e=(e>>>5&1)+(e>>6)|0}p=f+e|0;o=b+580|0;c[o>>2]=(M(p,d)|0)+(c[o>>2]|0)&4194303;c[b+48>>2]=p}e=c[b+620>>2]|0;e=(e|0)<32?e:32;if(a[b+584>>0]|0){b=b+52|0;c[b>>2]=e;return}c[b+28>>2]=M(c[b+312+(((c[b+580>>2]|0)>>>16&63)<<2)>>2]|0,e)|0;b=b+52|0;c[b>>2]=e;return}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=a+262380|0;f=(c[g>>2]|0)+b|0;c[g>>2]=f;d=a+262384|0;if((f|0)<=(c[d>>2]|0))return;e=a+262388|0;f=a+262392|0;b=c[e>>2]|0;do{zr(a,b);h=c[d>>2]|0;i=(c[g>>2]|0)-h|0;c[g>>2]=i;j=(c[e>>2]|0)+1|0;b=(j|0)<(c[f>>2]|0)?j:0;c[e>>2]=b}while((i|0)>(h|0));return}function vr(a,b){a=a|0;b=b|0;c[a+262232>>2]=wr(a,b)|0;c[a+262236>>2]=xr(a,b)|0;c[a+262240>>2]=yr(a,b)|0;return}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(((c[a+262324>>2]|0)>0?(c[a+262368>>2]|0)>0:0)?(h=c[a+262320>>2]|0,!((c[a+262168>>2]|0)!=0&(h|0)==0)):0){i=a+262296|0;g=(c[i>>2]|0)+b|0;c[i>>2]=g;if(g>>>0>h>>>0){j=a+262308|0;f=(c[j>>2]|0)+1&31;g=g+-1-h|0;if(g>>>0>h>>>0)do{f=f+1&31;g=g+-1-h|0}while(g>>>0>h>>>0);c[j>>2]=f;c[i>>2]=g}}else k=8;a:do if((((k|0)==8?c[a+262172>>2]|0:0)?(l=a+262308|0,e=c[l>>2]|0,(e|0)!=0&(e|0)<31):0)?(m=a+262296|0,d=(c[m>>2]|0)+b|0,c[m>>2]=d,n=c[a+262320>>2]|0,d>>>0>n>>>0):0)do{if(!e)break a;e=e+1&31;c[l>>2]=e;d=d+-1-n|0;c[m>>2]=d}while(d>>>0>n>>>0);while(0);return c[34912+(c[a+262308>>2]<<2)>>2]|0}function xr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(c[b+262372>>2]|0)<1?0:c[((a[b+262349>>0]|0)==0?b+262360|0:b+262336|0)>>2]|0;k=b+262340|0;f=c[k>>2]|0;e=(f&16384|0)==0?0:n;if(!d){n=e;return n|0}l=b+262300|0;i=(c[l>>2]|0)+d|0;c[l>>2]=i;m=c[b+262312>>2]|0;if((m+-1|0)>>>0>=i>>>0){n=e;return n|0}j=c[b+262344>>2]|0;g=0;h=0;b=i;do{f=(f&1^(j&f|0)!=0)<<14|f>>>1;h=h+1|0;g=g+e|0;e=(f&16384|0)==0?0:n;b=b-m|0}while(b>>>0>=m>>>0);c[k>>2]=f;c[l>>2]=b;if(!h){n=e;return n|0}n=(((M(d-b|0,g)|0)+(M(M(h,e)|0,b)|0)|0)>>>0)/((M(h,d)|0)>>>0)|0;return n|0}function yr(e,f){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;u=e+262304|0;h=(c[u>>2]|0)+f|0;c[u>>2]=h;t=c[e+262316>>2]|0;if(!t){u=e+262256|0;u=b[u>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}if(h>>>0>>0){u=e+262256|0;u=b[u>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}k=e+262252|0;l=e+262293|0;m=e+262248|0;f=e+262256|0;n=e+262228|0;o=e+262244|0;p=e+262288|0;q=e+262224|0;r=e+262220|0;s=e+262292|0;g=c[k>>2]|0;do{if((g|0)!=256){i=b[f>>1]|0;if(!(g&1)){if(i<<16>>16>0)b[f>>1]=i+-1<<16>>16}else if(i<<16>>16<63)b[f>>1]=i+1<<16>>16;g=g>>>1;c[k>>2]=g;if((g|0)!=256)j=16;else j=13}else j=13;if((j|0)==13)if(a[l>>0]|0){i=c[o>>2]|0;g=d[(c[n>>2]|0)+i>>0]|65536;c[k>>2]=g;j=c[m>>2]|0;if(!j)j=18;else{j=j+-1|0;c[o>>2]=i+1&32767|32768;c[m>>2]=j;i=j;j=17}}else{g=256;j=16}if((j|0)==16){i=c[m>>2]|0;j=17}if((j|0)==17){j=0;if(!i)j=18}do if((j|0)==18){i=c[p>>2]|0;if(i&1|0){c[o>>2]=c[q>>2]<<6|49152;c[m>>2]=c[r>>2]<<4|1;break}if((i|0)==2)i=(a[l>>0]|0)!=0;else i=0;a[s>>0]=i&1;a[l>>0]=0}while(0);h=h-t|0;c[u>>2]=h}while(h>>>0>=t>>>0);u=b[f>>1]|0;u=u<<16>>16;u=u<<1;e=e+262260|0;e=c[e>>2]|0;e=u+e|0;return e|0}function zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if((d|0)>3)return;e=c[b+262376>>2]|0;if(e|0)Ar(e,d);if((d|0)==0?(c[b+262392>>2]|0)==4:0)a[b+262396>>0]=1;g=b+262332|0;if(!(a[g>>0]|0)){e=b+262324|0;f=c[e>>2]|0;if((f|0)>0)c[e>>2]=f+-1}else c[b+262324>>2]=c[b+262328>>2];h=(a[b+262333>>0]|0)==0;if(h)a[g>>0]=0;e=b+262350|0;do if(!(a[e>>0]|0)){f=b+262356|0;e=c[f>>2]|0;g=(e|0)<(c[b+262352>>2]|0);c[f>>2]=g?e+1|0:0;if(!g){e=b+262360|0;f=c[e>>2]|0;if((a[b+262348>>0]|0)!=0&(f|0)==0){c[e>>2]=15;break}if((f|0)>0)c[e>>2]=f+-1}}else{a[e>>0]=0;c[b+262360>>2]=15;c[b+262356>>2]=0}while(0);if(d&1|0)return;if(h?(i=b+262368|0,j=c[i>>2]|0,(j|0)>0):0)c[i>>2]=j+-1;if(a[b+262348>>0]|0)return;e=b+262372|0;f=c[e>>2]|0;if((f|0)<=0)return;c[e>>2]=f+-1;return}function Ar(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((d|0)>3)return;e=b+308|0;f=b+320|0;g=b+328|0;p=b+306|0;do if(!(a[e>>0]|0)){j=c[f>>2]|0;k=(j|0)<(c[b+312>>2]|0);c[f>>2]=k?j+1|0:0;if(!k){e=c[g>>2]|0;if((a[p>>0]|0)!=0&(e|0)==0){c[g>>2]=15;break}if((e|0)>0)c[g>>2]=e+-1}}else{a[e>>0]=0;c[g>>2]=15;c[f>>2]=0}while(0);e=b+309|0;do if(!(a[e>>0]|0)){j=b+324|0;i=c[j>>2]|0;k=(i|0)<(c[b+316>>2]|0);c[j>>2]=k?i+1|0:0;if(!k){e=b+332|0;f=c[e>>2]|0;if((a[b+307>>0]|0)!=0&(f|0)==0){c[e>>2]=15;break}if((f|0)>0)c[e>>2]=f+-1}}else{a[e>>0]=0;c[b+332>>2]=15;c[b+324>>2]=0}while(0);if(d&1|0)return;e=b+272|0;f=b+288|0;g=b+256|0;d=b+276|0;h=b+264|0;i=b+280|0;j=b+296|0;k=b+224|0;if((a[p>>0]|0)==0?(l=b+336|0,m=c[l>>2]|0,(m|0)>0):0)c[l>>2]=m+-1;if(a[e>>0]|0){p=c[f>>2]|0;c[f>>2]=p+-1;if((p|0)<2){Br(b,0);if((((c[g>>2]|0)>7?(n=c[h>>2]|0,(n|0)<2048):0)?(c[j>>2]|0)>0:0)?(r=(n|0)>0?n:0,c[g>>2]=r,(c[k>>2]|0)>(r|0)):0)c[k>>2]=r;c[f>>2]=(c[i>>2]|0)+1}if(a[d>>0]|0){c[f>>2]=(c[i>>2]|0)+1;a[d>>0]=0}}if((a[b+307>>0]|0)==0?(o=b+340|0,q=c[o>>2]|0,(q|0)>0):0)c[o>>2]=q+-1;if(!(a[b+273>>0]|0))return;f=b+292|0;r=c[f>>2]|0;c[f>>2]=r+-1;if((r|0)<2){Br(b,1);e=b+260|0;if((((c[e>>2]|0)>7?(s=c[b+268>>2]|0,(s|0)<2048):0)?(c[b+300>>2]|0)>0:0)?(u=(s|0)>0?s:0,c[e>>2]=u,t=b+228|0,(c[t>>2]|0)>(u|0)):0)c[t>>2]=u;c[f>>2]=(c[b+284>>2]|0)+1}e=b+277|0;if(!(a[e>>0]|0))return;c[f>>2]=(c[b+284>>2]|0)+1;a[e>>0]=0;return}function Br(b,d){b=b|0;d=d|0;var e=0,f=0;f=c[b+256+(d<<2)>>2]|0;e=f>>c[b+296+(d<<2)>>2];if(!d)e=e+((a[b+274>>0]|0)!=0&1)|0;c[b+264+(d<<2)>>2]=((a[b+274+d>>0]|0)==0?e:0-e|0)+f;return}function Cr(a,b){a=a|0;b=b|0;c[a+72>>2]=Dr(a,0,b)|0;c[a+76>>2]=Dr(a,1,b)|0;return}function Dr(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=d+224+(e<<2)|0;g=(c[j>>2]|0)+f|0;c[j>>2]=g;h=c[d+256+(e<<2)>>2]|0;if((g|0)>(h|0)){i=d+232+(e<<2)|0;f=(c[i>>2]|0)+1&15;g=g+-1-h|0;if((g|0)>(h|0))do{f=f+1&15;g=g+-1-h|0}while((g|0)>(h|0));c[i>>2]=f;c[j>>2]=g}if(!((h|0)>7?(c[d+336+(e<<2)>>2]|0)>0:0)){j=0;return j|0}if((c[d+264+(e<<2)>>2]|0)>=2048){j=0;return j|0}j=(b[35040+(c[d+240+(e<<2)>>2]<<5)+(c[d+232+(e<<2)>>2]<<1)>>1]|0)==0?0:c[((a[d+304+e>>0]|0)==0?d+328+(e<<2)|0:d+248+(e<<2)|0)>>2]|0;return j|0}function Er(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((b&255)>1){k=0;return k|0}k=b&255;h=d&2147483647;i=1421632+(k<<4)|0;j=h>>>2;f=a[3416903]|0;g=c[853966]|0;j=f<<24>>24==2|(f&1)!=0&(j|0)<(g|0)?g:j;a:do switch(a[3416891]|0){case 1:{e=hr(h,j)|0;c[i>>2]=e;if(!e){k=0;return k|0}else{c[1421632+(k<<4)+4>>2]=0;c[1421632+(k<<4)+8>>2]=0;i=Hy(32768)|0;c[1421632+(k<<4)+12>>2]=i;QA(i|0,0,32768)|0;nr(e,i+-32768|0);break a}}case 0:{g=Fr(h,j)|0;c[i>>2]=g;if(!g){k=0;return k|0}e=Gr(h,j)|0;f=1421632+(k<<4)+4|0;c[f>>2]=e;g=c[i>>2]|0;if(e|0){Ir(e,g);i=Hy(32768)|0;c[1421632+(k<<4)+12>>2]=i;QA(i|0,0,32768)|0;Jr(c[f>>2]|0,i+-32768|0);break a}Hr(g);c[i>>2]=0;k=0;return k|0}default:{}}while(0);if((d|0)<0)e=Kr(h,j)|0;else e=0;c[1421632+(k<<4)+8>>2]=e;Lr(b);k=j;return k|0}function Fr(a,b){a=a|0;b=b|0;var d=0;d=Hy(376)|0;if(!d){d=0;return d|0}QA(d|0,0,376)|0;Xr(d,+(a|0));Yr(d,+(b|0));c[d>>2]=1;c[d+8>>2]=1;c[d+4>>2]=1;c[d+12>>2]=0;b=d+96|0;c[b>>2]=0;a=1;do{c[b+(a<<2)>>2]=~~(785448.96/(8128.0/+(a|0)+100.0));a=a+1|0}while((a|0)!=32);c[d+20>>2]=128;c[d+24>>2]=128;c[d+28>>2]=128;c[d+32>>2]=128;return d|0}function Gr(a,b){a=a|0;b=b|0;var d=0;d=Hy(262424)|0;if(!d){d=0;return d|0}QA(d|0,0,262424)|0;Ur(d,+(a|0));Vr(d,+(b|0));c[d+262152>>2]=1;c[d+262156>>2]=1;c[d+262144>>2]=1;c[d+262160>>2]=0;c[d+262148>>2]=1;c[d+262164>>2]=1;c[d+262168>>2]=1;c[d>>2]=0;c[d+131072>>2]=0;c[d+262376>>2]=0;c[d+262380>>2]=0;c[d+262384>>2]=7458;c[d+262392>>2]=4;c[d+262180>>2]=128;c[d+262184>>2]=128;c[d+262188>>2]=128;c[d+262192>>2]=128;c[d+262196>>2]=128;c[d+262200>>2]=128;return d|0}function Hr(a){a=a|0;Iy(a);return}function Ir(a,b){a=a|0;b=b|0;c[a+262376>>2]=b;return}function Jr(a,b){a=a|0;b=b|0;c[a+262228>>2]=b;return}function Kr(a,b){a=a|0;b=b|0;var d=0;d=Hy(664)|0;if(!d){d=0;return d|0}QA(d|0,0,664)|0;c[d+32>>2]=2e3;c[d+36>>2]=0;c[d+40>>2]=0;c[d+632>>2]=0;c[d+636>>2]=4096;Rr(d,+(a|0));Pr(d,+(b|0));c[d+20>>2]=128;c[d+24>>2]=128;Sr(d);return d|0}function Lr(d){d=d|0;var f=0,g=0,h=0;d=d&255;f=b[24702]|0;if(f<<16>>16<0)return;if(!(a[3416891]|0)){h=1421632+(d<<4)|0;g=1421632+(d<<4)+4|0;Mr(c[h>>2]|0,0,f&1);Nr(c[g>>2]|0,0,b[24702]&1);Mr(c[h>>2]|0,1,(e[24702]|0)>>>1&1);Nr(c[g>>2]|0,1,(e[24702]|0)>>>1&1);Mr(c[h>>2]|0,2,(e[24702]|0)>>>2&1);Mr(c[h>>2]|0,3,(e[24702]|0)>>>3&1);Nr(c[g>>2]|0,2,(e[24702]|0)>>>4&1);Nr(c[g>>2]|0,3,(e[24702]|0)>>>5&1);Nr(c[g>>2]|0,4,(e[24702]|0)>>>6&1);Nr(c[g>>2]|0,5,(e[24702]|0)>>>7&1);Nr(c[g>>2]|0,6,(e[24702]|0)>>>8&1);Nr(c[g>>2]|0,7,(e[24702]|0)>>>9&1)}d=1421632+(d<<4)+8|0;f=c[d>>2]|0;if(!f)return;Or(f,1,(e[24702]|0)>>>12&1);Or(c[d>>2]|0,2,(e[24702]|0)>>>13&1);return}function Mr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+(b<<2)>>2]=d;return}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+262144+(b<<2)>>2]=d;if((b|0)!=1)return;Qr(a);return}function Or(a,b,d){a=a|0;b=b|0;d=d|0;c[a+32+(b<<2)>>2]=d;return}function Pr(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0;h[a>>3]=b;e=+h[a+8>>3]/b*16777216.0;h[a+640>>3]=e;c[a+652>>2]=~~(e+.5)>>>0;c[a+648>>2]=0;c[a+656>>2]=0;d=c[a+32>>2]|0;if((d|0)<=0){f=0;d=a+632|0;c[d>>2]=f;f=4096-f|0;d=a+636|0;c[d>>2]=f;return}d=~~(+J(+(+(d|0)*-6.28318/b))*4096.0);f=a+632|0;c[f>>2]=d;d=4096-d|0;f=a+636|0;c[f>>2]=d;return}function Qr(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,h=0;e=0;do{f=+(e|0)*3.0;d=0;do{g=f+ +(d|0)*2.0;b=0;do{c[a+(e<<13)+(d<<9)+(b<<2)>>2]=~~((g+ +(b|0))*6144.0/208.0)>>>0;b=b+1|0}while((b|0)!=128);d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);c[a+131072>>2]=0;e=0;do{f=+(e|0)/8227.0;d=0;do{h=d|e;g=f+ +(d|0)/12241.0;b=0;do{if(h|b|0)c[a+131072+(e<<13)+(d<<9)+(b<<2)>>2]=~~(981749.76/(1.0/(g+ +(b|0)/22638.0)+100.0))>>>0;b=b+1|0}while((b|0)!=128);d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);return}function Rr(a,b){a=a|0;b=+b;h[a+8>>3]=b;return}function Sr(d){d=d|0;var e=0,f=0,g=0;a[d+44>>0]=1;a[d+45>>0]=0;c[d+628>>2]=0;QA(d+48|0,0,537)|0;a[d+585>>0]=1;a[d+586>>0]=1;a[d+587>>0]=1;g=d+588|0;f=d+598|0;e=d+600|0;c[g>>2]=0;c[g+4>>2]=0;b[g+8>>1]=0;a[f>>0]=1;a[f+1>>0]=1;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d+624>>2]=255;Tr(d,16419,0);Tr(d,16419,131);Tr(d,16512,128);Tr(d,16522,255);Tr(d,16514,0);Tr(d,16515,128);Tr(d,16516,128);Tr(d,16517,0);Tr(d,16518,0);Tr(d,16519,128);Tr(d,16521,0);return}function Tr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if((d|0)==16419){a[b+44>>0]=e>>>1&1;return}f=d+-16448|0;if(f>>>0>74|(a[b+44>>0]|0)==0)return;if(d>>>0<16512){if(!(a[b+584>>0]|0))return;c[b+312+(f<<2)>>2]=e&63;return}do switch((d&255)<<24>>24){case -128:{d=e>>>7&1;a[b+599>>0]=d;a[b+597>>0]=e>>>6&1;c[b+604>>2]=0;f=e&63;c[b+612>>2]=f;if(!(d<<24>>24))return;c[b+620>>2]=f;return}case -118:{c[b+624>>2]=e;c[b+600>>2]=0;c[b+604>>2]=0;return}case -126:{b=b+572|0;c[b>>2]=c[b>>2]&3840|e;return}case -125:{d=b+572|0;c[d>>2]=c[d>>2]&255|e<<8&3840;d=e>>>7&1;a[b+585>>0]=d;f=e>>>6&1;a[b+586>>0]=f;if(d<<24>>24)c[b+580>>2]=0;if(!(f<<24>>24))return;c[b+600>>2]=0;c[b+604>>2]=0;return}case -124:{d=e>>>7&1;a[b+598>>0]=d;a[b+596>>0]=e>>>6&1;c[b+600>>2]=0;f=e&63;c[b+608>>2]=f;if(!(d<<24>>24))return;c[b+616>>2]=f;return}case -123:{c[b+588>>2]=e&127;if(!(c[b+36>>2]|0))return;c[b+576>>2]=c[b+592>>2]<<16;return}case -122:{b=b+568|0;c[b>>2]=c[b>>2]&3840|e;return}case -121:{d=b+568|0;c[d>>2]=c[d>>2]&255|e<<8&3840;e=e>>>7&1;a[b+587>>0]=e;if(!(e<<24>>24))return;b=b+576|0;c[b>>2]=c[b>>2]&4128768;return}case -120:{if(!(a[b+587>>0]|0))return;g=e&127;f=b+56|0;d=b+576|0;c[f+(((c[d>>2]|0)>>>16&63)<<2)>>2]=g;e=(c[d>>2]|0)+65536|0;c[d>>2]=e&4194303;c[f+((e>>>16&63)<<2)>>2]=g;e=(c[d>>2]|0)+65536&4194303;c[d>>2]=e;c[b+592>>2]=e>>>16;return}case -119:{a[b+584>>0]=e>>>7&1;a[b+45>>0]=e&3;return}default:return}while(0)}function Ur(a,b){a=a|0;b=+b;var d=0,e=0;d=~~b>>>0;c[a+262276>>2]=d;e=d+-1662607|0;if((((e|0)>-1?e:1662607-d|0)|0)<1001){Wr(a,1);return}else{Wr(a,0);return}}function Vr(a,b){a=a|0;b=+b;var d=0;d=b!=0.0?~~b>>>0:44100;c[a+262280>>2]=d;b=+((c[a+262276>>2]|0)>>>0)/+(d>>>0)*16777216.0;h[a+262400>>3]=b;c[a+262412>>2]=~~(b+.5)>>>0;c[a+262408>>2]=0;c[a+262416>>2]=0;return}function Wr(a,b){a=a|0;b=b|0;b=b<<24>>24!=0;c[a+262284>>2]=b&1;c[a+262384>>2]=b?8314:7458;return}function Xr(a,b){a=a|0;b=+b;h[a+88>>3]=b;return}function Yr(a,b){a=a|0;b=+b;b=b!=0.0?b:44100.0;h[a+80>>3]=b;b=+h[a+88>>3]/b*16777216.0;h[a+352>>3]=b;c[a+364>>2]=~~(b+.5)>>>0;c[a+360>>2]=0;c[a+368>>2]=0;return} +function Xh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f&255;j=e&63;a[b+156+j>>0]=f;h=e&255;do switch(h&63){case 0:{c[b+1796>>2]=f>>>7&1;c[b+1800>>2]=f>>>6&1;c[b+1764>>2]=f>>>5&1;c[b+1788>>2]=f>>>4&1;c[b+1768>>2]=f&15;e=0;do{if(!(c[b+316+(e<<2)>>2]|0)){j=e<<1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0}e=e+1|0}while((e|0)!=9);return}case 1:{c[b+1848>>2]=f>>>7&1;c[b+1852>>2]=f>>>6&1;c[b+1816>>2]=f>>>5&1;c[b+1840>>2]=f>>>4&1;c[b+1820>>2]=f&15;e=0;do{if(!(c[b+316+(e<<2)>>2]|0)){j=e<<1|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0}e=e+1|0}while((e|0)!=9);return}case 2:{c[b+1792>>2]=f>>>6&3;c[b+1756>>2]=f&63;g=0;do{if(!(c[b+316+(g<<2)>>2]|0)){i=g<<1;e=b+388+(i*76|0)|0;if(!(c[b+388+(i*76|0)+4>>2]|0)){e=c[e>>2]|0;h=e}else{h=b+388+(i*76|0)+44|0;e=c[e>>2]|0}c[b+388+(i*76|0)+52>>2]=c[834528+(c[b+388+(i*76|0)+36>>2]>>5<<13)+(c[b+388+(i*76|0)+40>>2]<<10)+(c[h>>2]<<4)+(c[e+36>>2]<<2)>>2]}g=g+1|0}while((g|0)!=9);return}case 3:{c[b+1844>>2]=f>>>6&3;c[b+1856>>2]=f>>>4&1;c[b+1804>>2]=f>>>3&1;c[b+1760>>2]=f&7;if(!(c[b+316>>2]|0)){c[b+408>>2]=c[48632+(c[(c[b+388>>2]|0)+48>>2]<<2)>>2];c[b+484>>2]=c[48632+(c[(c[b+464>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+320>>2]|0)){c[b+560>>2]=c[48632+(c[(c[b+540>>2]|0)+48>>2]<<2)>>2];c[b+636>>2]=c[48632+(c[(c[b+616>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+324>>2]|0)){c[b+712>>2]=c[48632+(c[(c[b+692>>2]|0)+48>>2]<<2)>>2];c[b+788>>2]=c[48632+(c[(c[b+768>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+328>>2]|0)){c[b+864>>2]=c[48632+(c[(c[b+844>>2]|0)+48>>2]<<2)>>2];c[b+940>>2]=c[48632+(c[(c[b+920>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+332>>2]|0)){c[b+1016>>2]=c[48632+(c[(c[b+996>>2]|0)+48>>2]<<2)>>2];c[b+1092>>2]=c[48632+(c[(c[b+1072>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+336>>2]|0)){c[b+1168>>2]=c[48632+(c[(c[b+1148>>2]|0)+48>>2]<<2)>>2];c[b+1244>>2]=c[48632+(c[(c[b+1224>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+340>>2]|0)){c[b+1320>>2]=c[48632+(c[(c[b+1300>>2]|0)+48>>2]<<2)>>2];c[b+1396>>2]=c[48632+(c[(c[b+1376>>2]|0)+48>>2]<<2)>>2]}if(!(c[b+344>>2]|0)){c[b+1472>>2]=c[48632+(c[(c[b+1452>>2]|0)+48>>2]<<2)>>2];c[b+1548>>2]=c[48632+(c[(c[b+1528>>2]|0)+48>>2]<<2)>>2]}if(c[b+348>>2]|0)return;c[b+1624>>2]=c[48632+(c[(c[b+1604>>2]|0)+48>>2]<<2)>>2];c[b+1700>>2]=c[48632+(c[(c[b+1680>>2]|0)+48>>2]<<2)>>2];return}case 4:{c[b+1772>>2]=f>>>4&15;c[b+1776>>2]=f&15;if(!(c[b+316>>2]|0))c[b+456>>2]=Ah(b+388|0)|0;if(!(c[b+320>>2]|0))c[b+608>>2]=Ah(b+540|0)|0;if(!(c[b+324>>2]|0))c[b+760>>2]=Ah(b+692|0)|0;if(!(c[b+328>>2]|0))c[b+912>>2]=Ah(b+844|0)|0;if(!(c[b+332>>2]|0))c[b+1064>>2]=Ah(b+996|0)|0;if(!(c[b+336>>2]|0))c[b+1216>>2]=Ah(b+1148|0)|0;if(!(c[b+340>>2]|0))c[b+1368>>2]=Ah(b+1300|0)|0;if(!(c[b+344>>2]|0))c[b+1520>>2]=Ah(b+1452|0)|0;if(c[b+348>>2]|0)return;c[b+1672>>2]=Ah(b+1604|0)|0;return}case 5:{c[b+1824>>2]=f>>>4&15;c[b+1828>>2]=f&15;if(!(c[b+316>>2]|0))c[b+532>>2]=Ah(b+464|0)|0;if(!(c[b+320>>2]|0))c[b+684>>2]=Ah(b+616|0)|0;if(!(c[b+324>>2]|0))c[b+836>>2]=Ah(b+768|0)|0;if(!(c[b+328>>2]|0))c[b+988>>2]=Ah(b+920|0)|0;if(!(c[b+332>>2]|0))c[b+1140>>2]=Ah(b+1072|0)|0;if(!(c[b+336>>2]|0))c[b+1292>>2]=Ah(b+1224|0)|0;if(!(c[b+340>>2]|0))c[b+1444>>2]=Ah(b+1376|0)|0;if(!(c[b+344>>2]|0))c[b+1596>>2]=Ah(b+1528|0)|0;if(c[b+348>>2]|0)return;c[b+1748>>2]=Ah(b+1680|0)|0;return}case 6:{c[b+1780>>2]=f>>>4&15;c[b+1784>>2]=f&15;if(!(c[b+316>>2]|0))c[b+456>>2]=Ah(b+388|0)|0;if(!(c[b+320>>2]|0))c[b+608>>2]=Ah(b+540|0)|0;if(!(c[b+324>>2]|0))c[b+760>>2]=Ah(b+692|0)|0;if(!(c[b+328>>2]|0))c[b+912>>2]=Ah(b+844|0)|0;if(!(c[b+332>>2]|0))c[b+1064>>2]=Ah(b+996|0)|0;if(!(c[b+336>>2]|0))c[b+1216>>2]=Ah(b+1148|0)|0;if(!(c[b+340>>2]|0))c[b+1368>>2]=Ah(b+1300|0)|0;if(!(c[b+344>>2]|0))c[b+1520>>2]=Ah(b+1452|0)|0;if(c[b+348>>2]|0)return;c[b+1672>>2]=Ah(b+1604|0)|0;return}case 7:{c[b+1832>>2]=f>>>4&15;c[b+1836>>2]=f&15;if(!(c[b+316>>2]|0))c[b+532>>2]=Ah(b+464|0)|0;if(!(c[b+320>>2]|0))c[b+684>>2]=Ah(b+616|0)|0;if(!(c[b+324>>2]|0))c[b+836>>2]=Ah(b+768|0)|0;if(!(c[b+328>>2]|0))c[b+988>>2]=Ah(b+920|0)|0;if(!(c[b+332>>2]|0))c[b+1140>>2]=Ah(b+1072|0)|0;if(!(c[b+336>>2]|0))c[b+1292>>2]=Ah(b+1224|0)|0;if(!(c[b+340>>2]|0))c[b+1444>>2]=Ah(b+1376|0)|0;if(!(c[b+344>>2]|0))c[b+1596>>2]=Ah(b+1528|0)|0;if(c[b+348>>2]|0)return;c[b+1748>>2]=Ah(b+1680|0)|0;return}case 14:{if(a[b>>0]|0)return;Yh(b);do if(f&32|0){if(!(f&16))_h(b);else Zh(b);if(!(f&8))ai(b);else $h(b);if(!(f&4))ci(b);else bi(b);if(!(f&2))ei(b);else di(b);if(!(f&1)){gi(b);break}else{fi(b);break}}while(0);hi(b);j=b+1300|0;f=c[b+1336>>2]|0;i=c[b+1340>>2]|0;h=c[j>>2]|0;c[b+1328>>2]=c[572256+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1352>>2]=c[834528+(f>>5<<13)+(i<<10)+(c[((c[b+1304>>2]|0)==0?h:b+1344|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1356>>2]=c[834400+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1320>>2]=c[48632+(c[h+48>>2]<<2)>>2];c[b+1368>>2]=Ah(j)|0;j=b+1376|0;h=c[b+1412>>2]|0;i=c[b+1416>>2]|0;f=c[j>>2]|0;c[b+1404>>2]=c[572256+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1428>>2]=c[834528+(h>>5<<13)+(i<<10)+(c[((c[b+1380>>2]|0)==0?f:b+1420|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1432>>2]=c[834400+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1396>>2]=c[48632+(c[f+48>>2]<<2)>>2];c[b+1444>>2]=Ah(j)|0;j=b+1452|0;f=c[b+1488>>2]|0;i=c[b+1492>>2]|0;h=c[j>>2]|0;c[b+1480>>2]=c[572256+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1504>>2]=c[834528+(f>>5<<13)+(i<<10)+(c[((c[b+1456>>2]|0)==0?h:b+1496|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1508>>2]=c[834400+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1472>>2]=c[48632+(c[h+48>>2]<<2)>>2];c[b+1520>>2]=Ah(j)|0;j=b+1528|0;h=c[b+1564>>2]|0;i=c[b+1568>>2]|0;f=c[j>>2]|0;c[b+1556>>2]=c[572256+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1580>>2]=c[834528+(h>>5<<13)+(i<<10)+(c[((c[b+1532>>2]|0)==0?f:b+1572|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1584>>2]=c[834400+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1548>>2]=c[48632+(c[f+48>>2]<<2)>>2];c[b+1596>>2]=Ah(j)|0;j=b+1604|0;f=c[b+1640>>2]|0;i=c[b+1644>>2]|0;h=c[j>>2]|0;c[b+1632>>2]=c[572256+(f<<9)+(i<<6)+(c[h+12>>2]<<2)>>2];c[b+1656>>2]=c[834528+(f>>5<<13)+(i<<10)+(c[((c[b+1608>>2]|0)==0?h:b+1648|0)>>2]<<4)+(c[h+36>>2]<<2)>>2];c[b+1660>>2]=c[834400+(f>>8<<6)+(i<<3)+(c[h+32>>2]<<2)>>2];c[b+1624>>2]=c[48632+(c[h+48>>2]<<2)>>2];c[b+1672>>2]=Ah(j)|0;j=b+1680|0;h=c[b+1716>>2]|0;i=c[b+1720>>2]|0;f=c[j>>2]|0;c[b+1708>>2]=c[572256+(h<<9)+(i<<6)+(c[f+12>>2]<<2)>>2];c[b+1732>>2]=c[834528+(h>>5<<13)+(i<<10)+(c[((c[b+1684>>2]|0)==0?f:b+1724|0)>>2]<<4)+(c[f+36>>2]<<2)>>2];c[b+1736>>2]=c[834400+(h>>8<<6)+(i<<3)+(c[f+32>>2]<<2)>>2];c[b+1700>>2]=c[48632+(c[f+48>>2]<<2)>>2];c[b+1748>>2]=Ah(j)|0;return}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 56:{e=j>>>0>53;if(e&(a[b>>0]|0)!=0)return;g=f>>>4&15;a:do if(e&(a[b+170>>0]&32)!=0)switch(h&63){case 55:{ni(b+1452|0,g<<2);break a}case 56:{ni(b+1604|0,g<<2);break a}default:break a}else Wh(b,j+-48|0,g);while(0);j=j+-48|0;oi(b,j,f<<2&60);j=j<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;return}case 24:case 23:case 22:case 21:case 20:case 19:case 18:case 17:case 16:{e=j+-16|0;if(j>>>0>21&(a[b>>0]|0)!=0)return;ii(b,e,(a[j+16+(b+156)>>0]&1)<<8|g);j=e<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;return}case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:{e=j+-32|0;if(j>>>0>37&(a[b>>0]|0)!=0)return;ii(b,e,f<<8&256|d[j+-16+(b+156)>>0]);ji(b,e,f>>>1&7);ki(b,e,f>>>5&1);if(!(j>>>0>=38?(a[b+170>>0]&32)!=0:0))i=55;do if((i|0)==55)if(!(f&16)){mi(b,e);break}else{li(b,e);break}while(0);j=e<<1;f=b+388+(j*76|0)|0;i=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;g=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(i<<9)+(h<<6)+(c[g+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(i>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?g:b+388+(j*76|0)+44|0)>>2]<<4)+(c[g+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(i>>8<<6)+(h<<3)+(c[g+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[g+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;j=j|1;f=b+388+(j*76|0)|0;g=c[b+388+(j*76|0)+36>>2]|0;h=c[b+388+(j*76|0)+40>>2]|0;i=c[f>>2]|0;c[b+388+(j*76|0)+28>>2]=c[572256+(g<<9)+(h<<6)+(c[i+12>>2]<<2)>>2];c[b+388+(j*76|0)+52>>2]=c[834528+(g>>5<<13)+(h<<10)+(c[((c[b+388+(j*76|0)+4>>2]|0)==0?i:b+388+(j*76|0)+44|0)>>2]<<4)+(c[i+36>>2]<<2)>>2];c[b+388+(j*76|0)+56>>2]=c[834400+(g>>8<<6)+(h<<3)+(c[i+32>>2]<<2)>>2];c[b+388+(j*76|0)+20>>2]=c[48632+(c[i+48>>2]<<2)>>2];c[b+388+(j*76|0)+68>>2]=Ah(f)|0;hi(b);Yh(b);return}default:return}while(0)}function Yh(b){b=b|0;var e=0;e=b+340|0;if(!(c[e>>2]&16)){if(a[b+170>>0]&32){c[e>>2]=16;c[b+1360>>2]=7;c[b+1436>>2]=7;si(b+1300|0,b+3420|0);si(b+1376|0,b+3472|0)}}else if(!(c[b+272>>2]|a[b+170>>0]&32)){c[b+1360>>2]=7;c[b+1436>>2]=7;Wh(b,6,(d[b+210>>0]|0)>>>4)}e=b+344|0;if(!(c[e>>2]&16)){if(a[b+170>>0]&32){c[e>>2]=17;c[b+1456>>2]=1;c[b+1512>>2]=7;c[b+1588>>2]=7;si(b+1452|0,b+3524|0);si(b+1528|0,b+3576|0)}}else{if(!(c[b+276>>2]|0))e=0;else e=(c[b+280>>2]|0)!=0&1;if(!(e|a[b+170>>0]&32)){c[b+1456>>2]=0;c[b+1512>>2]=7;c[b+1588>>2]=7;Wh(b,7,(d[b+211>>0]|0)>>>4)}}e=b+348|0;if(!(c[e>>2]&16)){if(!(a[b+170>>0]&32))return;c[e>>2]=18;c[b+1608>>2]=1;c[b+1664>>2]=7;c[b+1740>>2]=7;si(b+1604|0,b+3628|0);si(b+1680|0,b+3680|0);return}if(!(c[b+288>>2]|0))e=0;else e=(c[b+284>>2]|0)!=0&1;if(e|a[b+170>>0]&32|0)return;c[b+1608>>2]=0;c[b+1664>>2]=7;c[b+1740>>2]=7;Wh(b,8,(d[b+212>>0]|0)>>>4);return}function Zh(a){a=a|0;li(a,6);return}function _h(a){a=a|0;mi(a,6);return}function $h(a){a=a|0;if(c[a+280>>2]|0)return;qi(a+1528|0);return}function ai(a){a=a|0;if(!(c[a+280>>2]|0))return;pi(a+1528|0);return}function bi(a){a=a|0;if(c[a+284>>2]|0)return;qi(a+1604|0);return}function ci(a){a=a|0;if(!(c[a+284>>2]|0))return;pi(a+1604|0);return}function di(a){a=a|0;if(c[a+288>>2]|0)return;ri(a+1680|0);return}function ei(a){a=a|0;if(!(c[a+288>>2]|0))return;pi(a+1680|0);return}function fi(a){a=a|0;if(c[a+276>>2]|0)return;ri(a+1452|0);return}function gi(a){a=a|0;if(!(c[a+276>>2]|0))return;pi(a+1452|0);return}function hi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a[b+188>>0]&16;c[b+224>>2]=e;c[b+220>>2]=e;e=a[b+189>>0]&16;c[b+232>>2]=e;c[b+228>>2]=e;e=a[b+190>>0]&16;c[b+240>>2]=e;c[b+236>>2]=e;e=a[b+191>>0]&16;c[b+248>>2]=e;c[b+244>>2]=e;e=a[b+192>>0]&16;c[b+256>>2]=e;c[b+252>>2]=e;e=a[b+193>>0]&16;c[b+264>>2]=e;c[b+260>>2]=e;e=a[b+194>>0]&16;f=e&255;g=b+272|0;c[g>>2]=f;h=b+268|0;c[h>>2]=f;i=a[b+195>>0]&16;l=i&255;j=b+280|0;c[j>>2]=l;k=b+276|0;c[k>>2]=l;l=a[b+196>>0]&16;d=l&255;m=b+288|0;c[m>>2]=d;n=b+284|0;c[n>>2]=d;b=a[b+170>>0]|0;d=b&255;if(!(d&32))return;c[h>>2]=d&16|f;c[g>>2]=(e|b&16)&255;c[j>>2]=(i|b&8)&255;c[k>>2]=(i|b&1)&255;c[n>>2]=(l|b&4)&255;c[m>>2]=(l|b&2)&255;return}function ii(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+36>>2]=d;c[a+388+(b*76|0)+36>>2]=d;return}function ji(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+40>>2]=d;c[a+388+(b*76|0)+40>>2]=d;return}function ki(a,b,d){a=a|0;b=b|0;d=d|0;b=b<<1;c[a+388+((b|1)*76|0)+48>>2]=d;if(!(c[a+388+(b*76|0)+4>>2]|0))return;c[a+388+(b*76|0)+48>>2]=d;return}function li(a,b){a=a|0;b=b|0;var d=0;d=b<<1;if(!(c[a+220+(d<<2)>>2]|0))qi(a+388+(d*76|0)|0);d=d|1;if(c[a+220+(d<<2)>>2]|0){b=a+352+(b<<2)|0;c[b>>2]=1;return}qi(a+388+(d*76|0)|0);b=a+352+(b<<2)|0;c[b>>2]=1;return}function mi(a,b){a=a|0;b=b|0;var d=0;d=b<<1|1;if(c[a+220+(d<<2)>>2]|0)pi(a+388+(d*76|0)|0);c[a+352+(b<<2)>>2]=0;return}function ni(a,b){a=a|0;b=b|0;c[a+44>>2]=b;return}function oi(a,b,d){a=a|0;b=b|0;d=d|0;c[a+388+((b<<1|1)*76|0)+44>>2]=d;return}function pi(a){a=a|0;var b=0,d=0;b=a+60|0;if((c[b>>2]|0)==1){d=a+64|0;c[d>>2]=(e[535200+((c[d>>2]|0)>>>15<<1)>>1]|0)<<15}c[b>>2]=5;c[a+68>>2]=Ah(a)|0;return}function qi(a){a=a|0;c[a+60>>2]=1;c[a+64>>2]=0;c[a+24>>2]=0;c[a+68>>2]=Ah(a)|0;return}function ri(a){a=a|0;c[a+60>>2]=1;c[a+64>>2]=0;c[a+68>>2]=Ah(a)|0;return}function si(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function ti(){var a=0;a=0;do{c[538528+(a<<2)>>2]=~~(+ma(+(+Ii(+(a|0)*6.283185307179586*.00390625)*13.75/1200.0))*256.0);a=a+1|0}while((a|0)!=256);return}function ui(){var a=0;a=0;do{c[537504+(a<<2)>>2]=~~((+Ii(+(a|0)*6.283185307179586*.00390625)+1.0)*13.0);a=a+1|0}while((a|0)!=256);return}function vi(){var a=0,c=0;a=0;do{c=~~(+B(10.0,+(+(a|0)*-.1875/20.0))*255.0);c=a>>>0>255?0:c;b[533152+(a<<1)>>1]=c;b[533152+(a+512<<1)>>1]=0-(c&65535);a=a+1|0}while((a|0)!=512);return}function wi(){var a=0;b[267600]=127;a=1;do{b[535200+(a<<1)>>1]=~~(127.0-+K(+(+(a|0)))*127.0/4.844187086458591);a=a+1|0}while((a|0)!=128);return}function xi(){var a=0,b=0,d=0,e=0.0,f=0,g=0,i=0,j=0;d=0;do{e=+h[18784+(d<<3)>>3];b=0;do{i=~~(e-+(7-b|0)*6.0);a=(i|0)<1;f=a?0:~~(+(i>>>2|0)/.375)>>>0;g=a?0:~~(+(i>>>1|0)/.375)>>>0;i=a?0:~~(+(i|0)/.375)>>>0;a=0;do{j=a<<1;c[834528+(d<<13)+(b<<10)+(a<<4)>>2]=j;c[834528+(d<<13)+(b<<10)+(a<<4)+4>>2]=j+f;c[834528+(d<<13)+(b<<10)+(a<<4)+8>>2]=j+g;c[834528+(d<<13)+(b<<10)+(a<<4)+12>>2]=j+i;a=a+1|0}while((a|0)!=64);b=b+1|0}while((b|0)!=8);d=d+1|0}while((d|0)!=16);return}function yi(){c[208600]=0;c[208601]=0;c[208602]=0;c[208603]=2;c[208604]=1;c[208605]=4;c[208606]=1;c[208607]=6;c[208608]=2;c[208609]=8;c[208610]=2;c[208611]=10;c[208612]=3;c[208613]=12;c[208614]=3;c[208615]=14;c[208616]=0;c[208617]=1;c[208618]=0;c[208619]=3;c[208620]=1;c[208621]=5;c[208622]=1;c[208623]=7;c[208624]=2;c[208625]=9;c[208626]=2;c[208627]=11;c[208628]=3;c[208629]=13;c[208630]=3;c[208631]=15;return}function zi(){var a=0,c=0;a=0;do{b[965600+(a<<1)>>1]=Gi(+D(+(+(a|0)*6.283185307179586*.001953125)))|0;a=a+1|0}while((a|0)!=128);a=0;do{b[965600+(255-a<<1)>>1]=b[965600+(a<<1)>>1]|0;a=a+1|0}while((a|0)!=128);a=0;do{b[965600+(a+256<<1)>>1]=(e[965600+(a<<1)>>1]|0)+512;a=a+1|0}while((a|0)!=256);PA(966624,965600,512)|0;c=b[482800]|0;a=256;do{b[966624+(a<<1)>>1]=c;a=a+1|0}while((a|0)!=512);return}function Ai(){Fi(0,570272);Fi(1,570376);Fi(2,570480);Fi(3,570584);Fi(4,570688);Fi(5,570792);Fi(6,570896);Fi(7,571e3);Fi(8,571104);Fi(9,571208);Fi(10,571312);Fi(11,571416);Fi(12,571520);Fi(13,571624);Fi(14,571728);Fi(15,571832);Fi(16,571936);Fi(17,572040);Fi(18,572144);return}function Bi(){var a=0,b=0,d=0.0,e=0.0,f=0.0,g=0.0;Ci();Di();Ei();a=c[12156]|0;b=c[12157]|0;d=+(((b>>>0)/72|0)>>>0);e=419430.4/d;if((a|0)==49716){c[853912]=~~e>>>0;e=238636.2368/d;b=~~e>>>0;c[853913]=b;return}else{g=+(b>>>0);f=+(a>>>0);c[853912]=~~(e*g/72.0/f+.5)>>>0;e=+(~~(238636.2368/d*g/72.0/f+.5)>>>0>>>0);b=~~e>>>0;c[853913]=b;return}}function Ci(){var a=0,b=0,d=0,e=0,f=0,g=0.0,h=0.0;d=c[12156]|0;f=(d|0)==49716;g=+((c[12157]|0)>>>0);h=+(d>>>0);d=0;do{b=0;do{e=0;do{a=(M(c[18560+(e<<2)>>2]|0,d)|0)<>>2;if(!f)a=~~(+(a>>>0)*g/72.0/h+.5)>>>0;c[572256+(d<<9)+(b<<6)+(e<<2)>>2]=a;e=e+1|0}while((e|0)!=16);b=b+1|0}while((b|0)!=8);d=d+1|0}while((d|0)!=512);return}function Di(){var a=0,b=0,d=0,e=0.0,f=0.0,g=0;g=c[12156]|0;d=(g|0)==49716;e=+((c[12157]|0)>>>0);f=+(g>>>0);g=0;do{b=0;do{a=(b>>>2)+g|0;switch(g&2147483647|0){case 15:case 0:{a=0;break}default:{a=(b&3|4)*3<<(a>>>0<15?a:15)+1;if(!d)a=~~(+(a|0)*e/72.0/f+.5)>>>0}}c[535456+(g<<6)+(b<<2)>>2]=a;b=b+1|0}while((b|0)!=16);g=g+1|0}while((g|0)!=16);return}function Ei(){var a=0,b=0,d=0,e=0,f=0,g=0.0,h=0.0,i=0;e=c[12156]|0;f=(e|0)==49716;g=+((c[12157]|0)>>>0);h=+(e>>>0);e=0;do{i=(e|0)==0;d=0;do{a=(d>>>2)+e|0;if(!i){a=(d&3|4)<<(a>>>0<15?a:15)+-1;if(f)b=e;else{a=~~(+(a|0)*g/72.0/h+.5)>>>0;b=e}}else{a=0;b=0}c[536480+(b<<6)+(d<<2)>>2]=a;d=d+1|0}while((d|0)!=16);e=e+1|0}while((e|0)!=16);return}function Fi(a,b){a=a|0;b=b|0;Ph(18624+(a<<3)|0,b);return}function Gi(a){a=+a;var b=0;if(a==0.0){b=255;return b|0}b=Hi(0-~~(+qa(+a)*20.0/.1875)|0)|0;return b|0}function Hi(a){a=a|0;return ((a|0)<255?a:255)|0}function Ii(a){a=+a;var b=0.0;if(a<=1.5707963267948966){b=a*2.0/3.141592653589793;return +b}b=a*2.0/3.141592653589793;if(!(a<=4.71238898038469)){b=b+-4.0;return +b}else{b=2.0-b;return +b}return 0.0}function Ji(a,b){a=a|0;b=b|0;c[a+1880>>2]=7;c[a+1884>>2]=b;return}function Ki(a,b){a=a|0;b=b|0;var d=0;Li();d=Hy(6024)|0;if(!d){d=0;return d|0}QA(d|0,0,6024)|0;c[d+5988>>2]=a;c[d+5992>>2]=b;Mi(d);Ni(d);return d|0}function Li(){var a=0;a=c[853927]|0;c[853927]=a+1;if((a|0)>0)return;Zi();return}function Mi(b){b=b|0;var d=0,e=0.0,f=0;d=c[b+5992>>2]|0;if(!d)e=0.0;else e=+(c[b+5988>>2]|0)/72.0/+(d|0);f=b+6e3|0;h[f>>3]=e;c[b+1888>>2]=~~(e*0.0*64.0)>>>0;d=1;while(1){c[b+1888+(d<<2)>>2]=~~(+(d|0)*64.0*e*64.0)>>>0;d=d+1|0;if((d|0)==1024)break;e=+h[f>>3]}a[b+182>>0]=0;a[b+366>>0]=0;a[b+550>>0]=0;a[b+734>>0]=0;a[b+918>>0]=0;a[b+1102>>0]=0;a[b+1286>>0]=0;a[b+1470>>0]=0;a[b+1654>>0]=0;d=b+1665|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;a[d+4>>0]=0;e=+h[f>>3];c[b+1704>>2]=~~(e*262144.0)>>>0;c[b+1712>>2]=~~(e*16384.0)>>>0;f=~~(e*65536.0)>>>0;c[b+1724>>2]=f;c[b+1680>>2]=f;c[b+1684>>2]=65536;return}function Ni(b){b=b|0;var d=0,e=0;c[b+1676>>2]=0;c[b+1672>>2]=0;c[b+1716>>2]=1;d=b+1728|0;e=d;a[e>>0]=73;a[e+1>>0]=76;a[e+2>>0]=76;a[e+3>>0]=18;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;d=b+1736|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=30;a[e+3>>0]=23;d=d+4|0;a[d>>0]=240;a[d+1>>0]=120;a[d+2>>0]=0;a[d+3>>0]=23;d=b+1744|0;e=d;a[e>>0]=19;a[e+1>>0]=65;a[e+2>>0]=30;a[e+3>>0]=13;d=d+4|0;a[d>>0]=215;a[d+1>>0]=247;a[d+2>>0]=19;a[d+3>>0]=19;d=b+1752|0;e=d;a[e>>0]=19;a[e+1>>0]=1;a[e+2>>0]=153;a[e+3>>0]=4;d=d+4|0;a[d>>0]=242;a[d+1>>0]=244;a[d+2>>0]=17;a[d+3>>0]=35;d=b+1760|0;e=d;a[e>>0]=33;a[e+1>>0]=97;a[e+2>>0]=27;a[e+3>>0]=7;d=d+4|0;a[d>>0]=175;a[d+1>>0]=100;a[d+2>>0]=64;a[d+3>>0]=39;d=b+1768|0;e=d;a[e>>0]=34;a[e+1>>0]=33;a[e+2>>0]=30;a[e+3>>0]=6;d=d+4|0;a[d>>0]=240;a[d+1>>0]=117;a[d+2>>0]=8;a[d+3>>0]=24;d=b+1776|0;e=d;a[e>>0]=49;a[e+1>>0]=34;a[e+2>>0]=22;a[e+3>>0]=5;d=d+4|0;a[d>>0]=144;a[d+1>>0]=113;a[d+2>>0]=0;a[d+3>>0]=19;d=b+1784|0;e=d;a[e>>0]=33;a[e+1>>0]=97;a[e+2>>0]=29;a[e+3>>0]=7;d=d+4|0;a[d>>0]=130;a[d+1>>0]=128;a[d+2>>0]=16;a[d+3>>0]=23;d=b+1792|0;e=d;a[e>>0]=35;a[e+1>>0]=33;a[e+2>>0]=45;a[e+3>>0]=22;d=d+4|0;a[d>>0]=192;a[d+1>>0]=112;a[d+2>>0]=7;a[d+3>>0]=7;d=b+1800|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=27;a[e+3>>0]=6;d=d+4|0;a[d>>0]=100;a[d+1>>0]=101;a[d+2>>0]=16;a[d+3>>0]=23;d=b+1808|0;e=d;a[e>>0]=97;a[e+1>>0]=97;a[e+2>>0]=12;a[e+3>>0]=24;d=d+4|0;a[d>>0]=133;a[d+1>>0]=240;a[d+2>>0]=112;a[d+3>>0]=7;d=b+1816|0;e=d;a[e>>0]=35;a[e+1>>0]=1;a[e+2>>0]=7;a[e+3>>0]=17;d=d+4|0;a[d>>0]=240;a[d+1>>0]=164;a[d+2>>0]=0;a[d+3>>0]=34;d=b+1824|0;e=d;a[e>>0]=151;a[e+1>>0]=193;a[e+2>>0]=36;a[e+3>>0]=7;d=d+4|0;a[d>>0]=255;a[d+1>>0]=248;a[d+2>>0]=34;a[d+3>>0]=18;d=b+1832|0;e=d;a[e>>0]=97;a[e+1>>0]=16;a[e+2>>0]=12;a[e+3>>0]=5;d=d+4|0;a[d>>0]=242;a[d+1>>0]=244;a[d+2>>0]=64;a[d+3>>0]=68;d=b+1840|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=85;a[e+3>>0]=3;d=d+4|0;a[d>>0]=-202140941;a[d+1>>0]=-202140941>>8;a[d+2>>0]=-202140941>>16;a[d+3>>0]=-202140941>>24;d=b+1848|0;e=d;a[e>>0]=97;a[e+1>>0]=65;a[e+2>>0]=137;a[e+3>>0]=3;d=d+4|0;a[d>>0]=241;a[d+1>>0]=244;a[d+2>>0]=240;a[d+3>>0]=19;d=b+1856|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=22;a[e+3>>0]=0;d=d+4|0;a[d>>0]=253;a[d+1>>0]=248;a[d+2>>0]=47;a[d+3>>0]=109;d=b+1864|0;e=d;a[e>>0]=1;a[e+1>>0]=1;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=-117843752;a[d+1>>0]=-117843752>>8;a[d+2>>0]=-117843752>>16;a[d+3>>0]=-117843752>>24;d=b+1872|0;e=d;a[e>>0]=5;a[e+1>>0]=1;a[e+2>>0]=0;a[e+3>>0]=0;d=d+4|0;a[d>>0]=248;a[d+1>>0]=186;a[d+2>>0]=73;a[d+3>>0]=85;Oi(b,15,0);d=63;while(1){Oi(b,d,0);if(d>>>0>16)d=d+-1|0;else break}c[b+80>>2]=0;a[b+37>>0]=0;c[b+48>>2]=255;c[b+164>>2]=0;a[b+121>>0]=0;c[b+132>>2]=255;c[b+264>>2]=0;a[b+221>>0]=0;c[b+232>>2]=255;c[b+348>>2]=0;a[b+305>>0]=0;c[b+316>>2]=255;c[b+448>>2]=0;a[b+405>>0]=0;c[b+416>>2]=255;c[b+532>>2]=0;a[b+489>>0]=0;c[b+500>>2]=255;c[b+632>>2]=0;a[b+589>>0]=0;c[b+600>>2]=255;c[b+716>>2]=0;a[b+673>>0]=0;c[b+684>>2]=255;c[b+816>>2]=0;a[b+773>>0]=0;c[b+784>>2]=255;c[b+900>>2]=0;a[b+857>>0]=0;c[b+868>>2]=255;c[b+1e3>>2]=0;a[b+957>>0]=0;c[b+968>>2]=255;c[b+1084>>2]=0;a[b+1041>>0]=0;c[b+1052>>2]=255;c[b+1184>>2]=0;a[b+1141>>0]=0;c[b+1152>>2]=255;c[b+1268>>2]=0;a[b+1225>>0]=0;c[b+1236>>2]=255;c[b+1368>>2]=0;a[b+1325>>0]=0;c[b+1336>>2]=255;c[b+1452>>2]=0;a[b+1409>>0]=0;c[b+1420>>2]=255;c[b+1552>>2]=0;a[b+1509>>0]=0;c[b+1520>>2]=255;c[b+1636>>2]=0;a[b+1593>>0]=0;c[b+1604>>2]=255;return}function Oi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f&255;switch(e>>>4&15){case 0:switch(e&15){case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{j=e&7;a[b+1728+j>>0]=f;Pi(b,j&255);return}case 14:{if(a[b+5986>>0]|0)return;g=b+1688|0;e=(a[g>>0]&32)==0;do if(f&32){if(e){Qi(b,6,12,b+1856|0);Qi(b,7,14,b+1864|0);j=(d[b+1663>>0]|0)>>>4<<3;c[b+1328>>2]=j;c[b+1332>>2]=((c[b+1464>>2]|0)>>>(d[b+1301>>0]|0))+j;Qi(b,8,16,b+1872|0);j=(d[b+1664>>0]|0)>>>4<<3;c[b+1512>>2]=j;c[b+1516>>2]=((c[b+1648>>2]|0)>>>(d[b+1485>>0]|0))+j}e=b+1104|0;if(!(f&16)){Si(e,-3);Si(b+1188|0,-3)}else{Ri(e,2);Ri(b+1188|0,2)}e=b+1288|0;if(!(f&1))Si(e,-3);else Ri(e,2);e=b+1372|0;if(!(f&8))Si(e,-3);else Ri(e,2);e=b+1472|0;if(!(f&4))Si(e,-3);else Ri(e,2);e=b+1556|0;if(!(f&2)){Si(e,-3);break}else{Ri(e,2);break}}else{if(!e){Qi(b,6,12,b+1728+((d[b+1662>>0]|0)>>>4<<3)|0);Qi(b,7,14,b+1728+((d[b+1663>>0]|0)>>>4<<3)|0);Qi(b,8,16,b+1728+((d[b+1664>>0]|0)>>>4<<3)|0)}Si(b+1104|0,-3);Si(b+1188|0,-3);Si(b+1288|0,-3);Si(b+1372|0,-3);Si(b+1472|0,-3);Si(b+1556|0,-3)}while(0);a[g>>0]=f&63;return}default:return}case 2:case 1:{j=e&15;j=j>>>0>8?j+-9|0:j;if((j|0)>5&(a[b+5986>>0]|0)!=0)return;i=b+(j*184|0)|0;if(!(e&16)){g=b+(j*184|0)+168|0;e=c[g>>2]&255|f<<8&3840;if(!(f&16)){Si(i,-2);Si(b+(j*184|0)+84|0,-2)}else{Ri(i,1);Ri(b+(j*184|0)+84|0,1)}a[b+(j*184|0)+181>>0]=f&32;h=g;g=c[g>>2]|0}else{h=b+(j*184|0)+168|0;f=c[h>>2]|0;e=f&3840|g;g=f}if((g|0)==(e|0))return;c[h>>2]=e;a[b+(j*184|0)+180>>0]=e>>>8&15;f=c[18912+(e>>5<<2)>>2]|0;c[b+(j*184|0)+176>>2]=f;c[b+(j*184|0)+172>>2]=(c[b+1888+((e<<1&1022)<<2)>>2]|0)>>>(e>>>9&7^7);c[b+(j*184|0)+44>>2]=(f>>>(d[b+(j*184|0)+13>>0]|0))+(c[b+(j*184|0)+40>>2]|0);c[b+(j*184|0)+128>>2]=(f>>>(d[b+(j*184|0)+97>>0]|0))+(c[b+(j*184|0)+124>>2]|0);Ti(i,i);Ti(i,b+(j*184|0)+84|0);return}case 3:{j=e&15;j=j>>>0>8?j+-9|0:j;e=(j|0)>5;if(e&(a[b+5986>>0]|0)!=0)return;g=b+1656+j|0;h=a[g>>0]|0;a[g>>0]=f;k=f<<3&120;c[b+(j*184|0)+124>>2]=k;i=c[b+(j*184|0)+176>>2]|0;c[b+(j*184|0)+128>>2]=(i>>>(d[b+(j*184|0)+97>>0]|0))+k;if(e?a[b+1688>>0]&32:0){if((j|0)<=6)return;k=(d[g>>0]|0)>>>4<<3;c[b+(j*184|0)+40>>2]=k;c[b+(j*184|0)+44>>2]=(i>>>(d[b+(j*184|0)+13>>0]|0))+k;return}if((f&240|0)==(h&-16&255|0))return;Qi(b,j,j<<1,b+1728+((d[g>>0]|0)>>>4<<3)|0);return}default:return}}function Pi(b,c){b=b|0;c=c|0;var e=0,f=0;e=b+1728|0;f=(a[b+1688>>0]&32)==0?9:6;switch(c<<24>>24){case 0:{c=0;do{if((d[b+1656+c>>0]|0)<16)Ui(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 1:{e=b+1729|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Ui(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 2:{e=b+1730|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Vi(b,c,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 3:{e=b+1731|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Wi(b,c,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 4:{e=b+1732|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Xi(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 5:{e=b+1733|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Xi(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 6:{e=b+1734|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Yi(b,c<<1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}case 7:{e=b+1735|0;c=0;do{if((d[b+1656+c>>0]|0)<16)Yi(b,c<<1|1,d[e>>0]|0);c=c+1|0}while(c>>>0>>0);return}default:return}}function Qi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;var f=0;Ui(a,c,d[e>>0]|0);f=c+1|0;Ui(a,f,d[e+1>>0]|0);Vi(a,b,d[e+2>>0]|0);Wi(a,b,d[e+3>>0]|0);Xi(a,c,d[e+4>>0]|0);Xi(a,f,d[e+5>>0]|0);Yi(a,c,d[e+6>>0]|0);Yi(a,f,d[e+7>>0]|0);return}function Ri(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+68|0;f=c[e>>2]|0;if(!f)a[b+37>>0]=5;c[e>>2]=f|d;return}function Si(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+68|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+37|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Ti(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;c[e+20>>2]=M(c[b+172>>2]|0,d[e+15>>0]|0)|0;f=(d[b+180>>0]|0)>>>(d[e+12>>0]|0);g=e+14|0;if((f|0)!=(d[g>>0]|0)){a[g>>0]=f;f=f&255;g=(c[e>>2]|0)+f|0;if(g>>>0<78){h=a[33072+g>>0]|0;g=a[19424+g>>0]|0}else{h=104;g=0}a[e+58>>0]=g;a[e+59>>0]=h;h=(c[e+4>>2]|0)+f|0;a[e+60>>0]=a[19424+h>>0]|0;a[e+61>>0]=a[33072+h>>0]|0;h=(c[e+8>>2]|0)+f|0;a[e+62>>0]=a[19424+h>>0]|0;a[e+63>>0]=a[33072+h>>0]|0}b=((a[b+181>>0]|0)==0?44:36)+f|0;a[e+64>>0]=a[19424+b>>0]|0;a[e+65>>0]=a[33072+b>>0]|0;b=f+68|0;a[e+56>>0]=a[19424+b>>0]|0;a[e+57>>0]=a[33072+b>>0]|0;return}function Ui(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d|0)/2|0;d=d&1;a[b+(f*184|0)+(d*84|0)+15>>0]=a[33248+(e&15)>>0]|0;a[b+(f*184|0)+(d*84|0)+12>>0]=e>>>3&2^2;a[b+(f*184|0)+(d*84|0)+36>>0]=e&32;a[b+(f*184|0)+(d*84|0)+76>>0]=e&64;c[b+(f*184|0)+(d*84|0)+72>>2]=e<<24>>31;Ti(b+(f*184|0)|0,b+(f*184|0)+(d*84|0)|0);return}function Vi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[19584+(e>>6<<2)>>2]|0;a[b+(d*184|0)+13>>0]=f;e=e<<1&126;c[b+(d*184|0)+40>>2]=e;c[b+(d*184|0)+44>>2]=((c[b+(d*184|0)+176>>2]|0)>>>(f&255))+e;return}function Wi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;c[b+(d*184|0)+80>>2]=e<<7&1024;f=e&7;a[b+(d*184|0)+24>>0]=(f|0)==0?0:(f|8)&255;f=c[19584+(e>>6<<2)>>2]|0;a[b+(d*184|0)+97>>0]=f;c[b+(d*184|0)+128>>2]=((c[b+(d*184|0)+176>>2]|0)>>>(f&255))+(c[b+(d*184|0)+124>>2]|0);c[b+(d*184|0)+164>>2]=e<<6&1024;return}function Xi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=(e|0)/2|0;i=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(j*184|0)+(i*84|0)>>2]=e;h=d[b+(j*184|0)+(i*84|0)+14>>0]|0;e=e+h|0;if(e>>>0<78){g=a[33072+e>>0]|0;e=a[19424+e>>0]|0}else{g=104;e=0}a[b+(j*184|0)+(i*84|0)+58>>0]=e;a[b+(j*184|0)+(i*84|0)+59>>0]=g;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(j*184|0)+(i*84|0)+4>>2]=f;f=f+h|0;a[b+(j*184|0)+(i*84|0)+60>>0]=a[19424+f>>0]|0;a[b+(j*184|0)+(i*84|0)+61>>0]=a[33072+f>>0]|0;return}function Yi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;g=(e|0)/2|0;e=e&1;c[b+(g*184|0)+(e*84|0)+52>>2]=c[19520+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g*184|0)+(e*84|0)+8>>2]=f;f=f+(d[b+(g*184|0)+(e*84|0)+14>>0]|0)|0;a[b+(g*184|0)+(e*84|0)+62>>0]=a[19424+f>>0]|0;a[b+(g*184|0)+(e*84|0)+63>>0]=a[33072+f>>0]|0;return}function Zi(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;e=e<<1;c[547744+(e<<2)>>2]=d;b=e|1;c[547744+(b<<2)>>2]=0-d;f=d>>1;c[547744+(e+512<<2)>>2]=f;c[547744+(b+512<<2)>>2]=0-f;f=d>>2;c[547744+(e+1024<<2)>>2]=f;c[547744+(b+1024<<2)>>2]=0-f;f=d>>3;c[547744+(e+1536<<2)>>2]=f;c[547744+(b+1536<<2)>>2]=0-f;f=d>>4;c[547744+(e+2048<<2)>>2]=f;c[547744+(b+2048<<2)>>2]=0-f;f=d>>5;c[547744+(e+2560<<2)>>2]=f;c[547744+(b+2560<<2)>>2]=0-f;f=d>>6;c[547744+(e+3072<<2)>>2]=f;c[547744+(b+3072<<2)>>2]=0-f;f=d>>7;c[547744+(e+3584<<2)>>2]=f;c[547744+(b+3584<<2)>>2]=0-f;f=d>>8;c[547744+(e+4096<<2)>>2]=f;c[547744+(b+4096<<2)>>2]=0-f;f=d>>9;c[547744+(e+4608<<2)>>2]=f;c[547744+(b+4608<<2)>>2]=0-f;d=d>>10;c[547744+(e+5120<<2)>>2]=d;c[547744+(b+5120<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);f=(f<<1&2)+f&-2|!(g>=0.0)&1;c[539552+(a<<2)>>2]=f;c[539552+(a+1024<<2)>>2]=(a&512|0)==0?f:5632;a=a+1|0}while((a|0)!=1024);return}function _i(b){b=b|0;b=533136+((b&255)<<3)|0;switch(a[3416879]|0){case 1:{$i(c[b>>2]|0);return}case 0:{aj(c[b>>2]|0);return}default:return}}function $i(a){a=a|0;bj(a);return}function aj(a){a=a|0;Iy(a);return}function bj(a){a=a|0;cj();Iy(a);return}function cj(){var a=0;a=c[853927]|0;if(!a)return;c[853927]=a+-1;return}function dj(b){b=b|0;var d=0;b=b&255;d=533136+(b<<3)|0;switch(a[3416879]|0){case 1:{ej(c[d>>2]|0);if(!(a[533136+(b<<3)+4>>0]|0))return;fj(c[d>>2]|0);return}case 0:{Sh(c[d>>2]|0);return}default:return}}function ej(a){a=a|0;Ni(a);return}function fj(b){b=b|0;var c=0,d=0;b=b+1728|0;c=0;do{d=c<<3;a[b+(c<<3)>>0]=a[18400+d>>0]|0;a[b+(c<<3)+1>>0]=a[18400+(d|1)>>0]|0;a[b+(c<<3)+2>>0]=a[18400+(d|2)>>0]|0;a[b+(c<<3)+3>>0]=a[18400+(d|3)>>0]|0;a[b+(c<<3)+4>>0]=a[18400+(d|4)>>0]|0;a[b+(c<<3)+5>>0]=a[18400+(d|5)>>0]|0;a[b+(c<<3)+6>>0]=a[18400+(d|6)>>0]|0;a[b+(c<<3)+7>>0]=a[18400+(d|7)>>0]|0;c=c+1|0}while((c|0)!=19);return}function gj(b,d,e){b=b|0;d=d|0;e=e|0;b=533136+((b&255)<<3)|0;switch(a[3416879]|0){case 1:{hj(c[b>>2]|0,d&1,e&255);return}case 0:{ij(c[b>>2]|0,d&1,e&255);return}default:return}}function hj(a,b,c){a=a|0;b=b|0;c=c|0;jj(a,b,c);return}function ij(b,c,e){b=b|0;c=c|0;e=e|0;if(!(c&1)){a[b+1>>0]=e;return}else{Xh(b,d[b+1>>0]|0,e);return}}function jj(b,e,f){b=b|0;e=e|0;f=f|0;if(!(e&1)){a[b+5984>>0]=f;return}e=c[b+1880>>2]|0;if(e|0)xa[e&31](c[b+1884>>2]|0,0);Oi(b,d[b+5984>>0]|0,f);return}function kj(b){b=b|0;a[3416879]=(b&255)<2?b:0;return}function lj(b,d){b=b|0;d=d|0;b=533136+((b&255)<<3)|0;switch(a[3416879]|0){case 1:{mj(c[b>>2]|0,d);return}case 0:{nj(c[b>>2]|0,d);return}default:return}}function mj(b,c){b=b|0;c=c|0;a[b+182>>0]=c&1;a[b+366>>0]=c>>>1&1;a[b+550>>0]=c>>>2&1;a[b+734>>0]=c>>>3&1;a[b+918>>0]=c>>>4&1;a[b+1102>>0]=c>>>5&1;a[b+1286>>0]=c>>>6&1;a[b+1470>>0]=c>>>7&1;a[b+1654>>0]=c>>>8&1;a[b+1665>>0]=c>>>9&1;a[b+1666>>0]=c>>>10&1;a[b+1667>>0]=c>>>11&1;a[b+1668>>0]=c>>>12&1;a[b+1669>>0]=c>>>13&1;return}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+3740|0;e=0;f=c[d>>2]|0;do{a:do if(e>>>0<9)a=1<>24){case 9:{a=8192;break a}case 10:{a=4096;break a}case 11:{a=2048;break a}case 12:{a=1024;break a}case 13:{a=512;break a}default:{a=0;break a}}while(0);f=(1<>2]=f;return}function oj(d,e){d=d|0;e=e|0;if(a[3416879]|0)return;d=533136+((d&255)<<3)|0;pj(c[d>>2]|0,0,b[e>>1]|0);pj(c[d>>2]|0,1,b[e+2>>1]|0);pj(c[d>>2]|0,2,b[e+4>>1]|0);pj(c[d>>2]|0,3,b[e+6>>1]|0);pj(c[d>>2]|0,4,b[e+8>>1]|0);pj(c[d>>2]|0,5,b[e+10>>1]|0);pj(c[d>>2]|0,6,b[e+12>>1]|0);pj(c[d>>2]|0,7,b[e+14>>1]|0);pj(c[d>>2]|0,8,b[e+16>>1]|0);pj(c[d>>2]|0,9,b[e+18>>1]|0);pj(c[d>>2]|0,10,b[e+20>>1]|0);pj(c[d>>2]|0,11,b[e+22>>1]|0);pj(c[d>>2]|0,12,b[e+24>>1]|0);pj(c[d>>2]|0,13,b[e+26>>1]|0);return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;qj(a+44+((b>>>0<9?b:22-b|0)<<3)|0,c);return}function qj(a,b){a=a|0;b=b|0;b=(b|0)>-256?b:-256;b=(b|0)<256?b:256;g[a+4>>2]=+D(+(+(b+256|0)*.001953125*3.14159265359*.5))*1.414213562;g[a>>2]=+D(+(+(256-b|0)*.001953125*3.14159265359*.5))*1.414213562;return}function rj(a){a=a|0;sj(c[a>>2]|0,c[853958]|0,c[853959]|0,0);return}function sj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;n=b+512|0;o=b+21040|0;p=b+18164|0;x=b+18232|0;I=b+18612|0;T=b+18992|0;ca=b+19372|0;ea=b+19752|0;l=b+20132|0;Rf(n,x);Rf(n,I);fa=b+520|0;m=b+552|0;if(c[m>>2]&192){if((c[b+19028>>2]|0)==-1){Sf(n,T,c[b+1620>>2]|0,d[b+1630>>0]|0);Sf(n,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Sf(n,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Sf(n,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Rf(n,T);Rf(n,ca);Rf(n,ea);Rf(n,l);if((g|0)>0){q=b+18208|0;r=b+18200|0;s=b+18204|0;t=b+18224|0;u=b+18216|0;v=b+18220|0;w=b+18168|0;y=b+18172|0;z=b+18176|0;A=b+18180|0;B=b+18184|0;C=b+21126|0;D=b+21168|0;E=b+20528|0;F=b+1704|0;G=b+1700|0;H=b+1708|0;J=b+1648|0;K=b+1652|0;L=b+1656|0;M=b+1660|0;N=b+1664|0;O=b+1668|0;P=b+1672|0;Q=b+1676|0;R=b+1680|0;S=b+1684|0;U=b+1688|0;V=b+1692|0;W=b+564|0;X=b+1696|0;Y=b+1600|0;Z=b+536|0;_=b+20580|0;$=b+20632|0;aa=b+20684|0;ba=b+20736|0;da=b+20788|0;k=0;do{tj(n);c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;Uf(n,x,0);Uf(n,I,1);Uf(n,T,2);Uf(n,ca,3);Uf(n,ea,4);Uf(n,l,5);if((a[C>>0]|0)<0?(a[D>>0]|0)==0:0)uj(o);if(a[E>>0]|0)vj(b,E);if(a[_>>0]|0)vj(b,_);if(a[$>>0]|0)vj(b,$);if(a[aa>>0]|0)vj(b,aa);if(a[ba>>0]|0)vj(b,ba);if(a[da>>0]|0)vj(b,da);i=(c[G>>2]|0)+(c[F>>2]|0)|0;c[G>>2]=i;j=c[H>>2]|0;if(i>>>0>=j>>>0)do{c[G>>2]=i-j;c[X>>2]=(c[X>>2]|0)+1;Tf(n,x);Tf(n,I);Tf(n,T);Tf(n,ca);Tf(n,ea);Tf(n,l);i=c[G>>2]|0;j=c[H>>2]|0}while(i>>>0>=j>>>0);la=c[q>>2]|0;ma=c[t>>2]|0;ka=c[p>>2]|0;ja=c[w>>2]|0;ia=c[y>>2]|0;ha=c[z>>2]|0;ga=c[A>>2]|0;j=c[B>>2]|0;i=((c[u>>2]|0)+ma>>8)+((c[r>>2]|0)+la<<1)+(c[K>>2]&ka)+(c[M>>2]&ja)+(c[O>>2]&ia)+(c[Q>>2]&ha)+(c[S>>2]&ga)+(c[V>>2]&j)|0;c[e+(k<<2)>>2]=(ma+(c[v>>2]|0)>>8)+(la+(c[s>>2]|0)<<1)+(c[J>>2]&ka)+(c[L>>2]&ja)+(c[N>>2]&ia)+(c[P>>2]&ha)+(c[R>>2]&ga)+(c[U>>2]&j);c[f+(k<<2)>>2]=i;i=c[W>>2]|0;if(((i|0?(c[Y>>2]|0)==0:0)?(ma=i-~~(+h[Z>>3]*4096.0)|0,c[W>>2]=ma,(ma|0)<1):0)?(Vf(fa),c[m>>2]&128|0):0)Wf(T);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j){Yf(fa,0);return}if(c[b+1600>>2]|0){Yf(fa,0);return}ma=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ma;if((ma|0)>=1){Yf(fa,0);return}Xf(fa);Yf(fa,0);return}function tj(a){a=a|0;var b=0,d=0,e=0;b=c[a+17600>>2]|0;if(!b){b=0;d=0}else{e=a+17596|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;d=d>>>24;e=d&127;d=d<<1&126;b=e>>>2;d=e>>>0<64?d:126-d|0}c[a+17588>>2]=d;c[a+17592>>2]=b;return}function uj(b){b=b|0;switch((a[b+86>>0]&-32)<<24>>24){case -96:{wj(b);return}case -128:{xj(b);return}default:return}}function vj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;if(a[e+48>>0]|0)return;f=e+8|0;g=(c[f>>2]|0)+(c[e+12>>2]|0)|0;c[f>>2]=g;do if(g>>>0>65535){c[f>>2]=g&65535;j=e+4|0;k=b+20516|0;l=e+2|0;m=e+32|0;n=e+28|0;o=c[e+20>>2]<<1&2097150;h=g>>>16;i=c[j>>2]|0;while(1){if((i&2097151|0)==(o|0))break;if(!(i&1)){f=a[(c[k>>2]|0)+(i>>>1)>>0]|0;a[l>>0]=f;f=(f&255)>>>4}else f=a[l>>0]&15;i=i+1|0;c[j>>2]=i;q=c[m>>2]|0;f=f&255;g=(c[n>>2]|0)+(c[967648+(q+f<<2)>>2]|0)|0;g=g>>>0>2047?g|-4096:g&4095;c[n>>2]=g;f=(c[19600+((f&7)<<2)>>2]|0)+q|0;c[m>>2]=f;if((f|0)<=768){if((f|0)<0){f=0;p=12}}else{f=768;p=12}if((p|0)==12){p=0;c[m>>2]=f}h=h+-1|0;if(!h){p=14;break}}if((p|0)==14){f=M(g,a[e+40>>0]|0)|0;f=f>>d[e+41>>0]&-4;c[e+36>>2]=f;break}a[e>>0]=0;q=b+21032|0;a[q>>0]=a[q>>0]|a[e+1>>0];return}else f=c[e+36>>2]|0;while(0);q=c[e+44>>2]|0;c[q>>2]=(c[q>>2]|0)+f;return}function wj(b){b=b|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;d=b+40|0;f=(c[d>>2]|0)+(c[b+44>>2]|0)|0;c[d>>2]=f;a:do if(f>>>0>65535){t=f&65535;c[d>>2]=t;q=b+36|0;j=b+56|0;r=b+86|0;k=b+48|0;l=b+68|0;m=b+72|0;s=b+80|0;n=b+84|0;o=b+28|0;p=c[b+52>>2]<<1;i=f>>>16;h=c[q>>2]|0;while(1){if((h|0)==(p|0)){c[q>>2]=0;d=0}else d=h;if((d|0)==(c[j>>2]<<1|0)){if(!(a[r>>0]&16))break;d=c[k>>2]<<1;c[q>>2]=d;c[l>>2]=0;c[m>>2]=127;c[s>>2]=0}if(!(d&1)){g=a[(c[b>>2]|0)+(d>>>1)>>0]|0;a[n>>0]=g;g=(g&255)>>>4}else g=a[n>>0]&15;h=c[o>>2]&d+1;c[q>>2]=h;e=c[l>>2]|0;c[s>>2]=e;f=c[m>>2]|0;d=((M(f,c[19632+(g<<2)>>2]|0)|0)/8|0)+e|0;c[l>>2]=d;if((d|0)<=32767){if((d|0)<-32768){d=-32768;u=18}}else{d=32767;u=18}if((u|0)==18){u=0;c[l>>2]=d}f=M(c[19696+(g<<2)>>2]|0,f)|0;c[m>>2]=(f|0)/64|0;if((f|0)<=1572927){if((f|0)<8128){f=127;u=21}}else{f=24576;u=21}if((u|0)==21){u=0;c[m>>2]=f}i=i+-1|0;if(!i){f=t;break a}}d=c[b+92>>2]|0;if(d|0?(v=a[b+104>>0]|0,v<<24>>24):0)xa[d&31](c[b+100>>2]|0,v);a[b+107>>0]=0;a[r>>0]=0;c[b+76>>2]=0;c[s>>2]=0;return}else{e=c[b+80>>2]|0;d=c[b+68>>2]|0}while(0);v=(M(d,f)|0)+(M(65536-f|0,e)|0)>>16;v=M(v,c[b+64>>2]|0)|0;c[b+76>>2]=v;b=c[b+8>>2]|0;c[b>>2]=(c[b>>2]|0)+v;return}function xj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=b+40|0;e=(c[u>>2]|0)+(c[b+44>>2]|0)|0;c[u>>2]=e;if(e>>>0<=65535){v=e;u=c[b+80>>2]|0;t=c[b+68>>2]|0;w=65536-v|0;u=M(w,u)|0;w=b+76|0;v=M(t,v)|0;u=v+u|0;u=u>>16;v=b+64|0;v=c[v>>2]|0;v=M(u,v)|0;c[w>>2]=v;w=b+8|0;w=c[w>>2]|0;u=c[w>>2]|0;v=u+v|0;c[w>>2]=v;return}c[u>>2]=e&65535;v=b+36|0;l=b+84|0;m=b+68|0;n=b+80|0;o=b+72|0;p=b+85|0;q=b+92|0;r=b+105|0;s=b+100|0;k=e>>>16;j=c[v>>2]|0;do{e=d[l>>0]|0;if(j&1){e=e&15;a[l>>0]=a[p>>0]|0;f=c[q>>2]|0;if((f|0)!=0?(t=a[r>>0]|0,t<<24>>24!=0):0){xa[f&31](c[s>>2]|0,t);h=e;e=c[v>>2]|0}else{h=e;e=j}}else{h=e>>>4;e=j}j=e+1|0;c[v>>2]=j;i=c[m>>2]|0;c[n>>2]=i;f=c[o>>2]|0;e=((M(f,c[19632+(h<<2)>>2]|0)|0)/8|0)+i|0;c[m>>2]=e;if((e|0)<=32767)if((e|0)<-32768){e=-32768;w=11}else g=e;else{e=32767;w=11}if((w|0)==11){w=0;c[m>>2]=e;g=e}e=M(c[19696+(h<<2)>>2]|0,f)|0;c[o>>2]=(e|0)/64|0;if((e|0)<=1572927){if((e|0)<8128){e=127;w=14}}else{e=24576;w=14}if((w|0)==14){w=0;c[o>>2]=e}k=k+-1|0}while((k|0)!=0);v=c[u>>2]|0;u=i;t=g;w=65536-v|0;u=M(w,u)|0;w=b+76|0;v=M(t,v)|0;u=v+u|0;u=u>>16;v=b+64|0;v=c[v>>2]|0;v=M(u,v)|0;c[w>>2]=v;w=b+8|0;w=c[w>>2]|0;u=c[w>>2]|0;v=u+v|0;c[w>>2]=v;return}function yj(a,b,d){a=a|0;b=b|0;d=d|0;sj(c[970784+((a&255)*28|0)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function zj(b,d,e){b=b|0;d=d|0;e=e|0;b=c[970784+((b&255)*28|0)+4>>2]|0;if(!b){e=e<<2;QA(c[d>>2]|0,0,e|0)|0;QA(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3416880]|0){case 1:{fg(b,d,e);return}case 0:{gg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function Aj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;if((b&255)>1){d=0;return d|0}j=b&255;k=970784+(j*28|0)|0;i=(d|0)/72|0;b=a[3416903]|0;h=c[853966]|0;i=b<<24>>24==2|b<<24>>24==1&(i|0)<(h|0)?h:i;h=970784+(j*28|0)+8|0;c[h>>2]=c[12160];c[h+4>>2]=c[12161];c[h+8>>2]=c[12162];c[h+12>>2]=c[12163];c[h+16>>2]=c[12164];if(f<<24>>24)c[h>>2]=f&255;a:do if(!(e<<24>>24)){b=(d|0)/4|0;e=(d|0)/32|0;c[g>>2]=e;switch(a[3416880]|0){case 1:{c[970784+(j*28|0)+4>>2]=jg(0,33,b,h)|0;break a}case 0:break;default:break a}b=kg(b,e)|0;c[970784+(j*28|0)+4>>2]=b;if(!b){d=0;return d|0}else{lg(b,1);break}}else{c[970784+(j*28|0)+4>>2]=0;c[g>>2]=0}while(0);c[k>>2]=Bj(k,d,i)|0;d=i;return d|0}function Bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Hy(21176)|0;if(!f){f=0;return f|0}QA(f|0,0,21176)|0;ng();c[f+520>>2]=b;a[f+512>>0]=23;c[f+1644>>2]=f+18232;c[f+524>>2]=d;c[f+528>>2]=e;c[f+1600>>2]=0;c[f+1604>>2]=0;c[f+1608>>2]=48660;c[f+21040>>2]=0;c[f+21064>>2]=0;c[f+21068>>2]=0;c[f+21132>>2]=8;c[f+21136>>2]=9;c[f+21140>>2]=f;a[f+21144>>0]=4;a[f+21145>>0]=8;a[f+21146>>0]=16;c[f+20516>>2]=19760;c[f+20520>>2]=8192;Ej();return f|0}function Cj(a,b){a=a|0;b=b|0;Yf(a+520|0,b&255);return}function Dj(a,b){a=a|0;b=b|0;Pg(a+520|0,b&255);return}function Ej(){var a=0,b=0,d=0,e=0,f=0;b=0;do{d=c[27952+(b<<2)>>2]|0;e=b<<4;a=0;do{f=(M(d,a<<1&14|1)|0)/8|0;c[967648+(a+e<<2)>>2]=(a&8|0)==0?f:0-f|0;a=a+1|0}while((a|0)!=16);b=b+1|0}while((b|0)!=49);return}function Fj(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416880]|0){case 1:{Ag(b,d);return}case 0:{Bg(b,d);return}default:return}}function Gj(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416880]|0){case 1:{xg(b,d,e);return}case 0:{yg(b,d,e);return}default:return}}function Hj(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3416880]|0){case 1:{b=vg(b)|0;break a}case 0:{b=(wg(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function Ij(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416880]|0){case 1:{sg(b);return}case 0:{tg(b);return}default:return}}function Jj(b){b=b|0;var d=0;b=b&255;Kj(c[970784+(b*28|0)>>2]|0);b=970784+(b*28|0)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3416880]|0){case 1:{Ig(d);break}case 0:{Jg(d);break}default:{}}c[b>>2]=0;return}function Kj(a){a=a|0;Iy(c[a+21040>>2]|0);Iy(a);return}function Lj(a){a=a|0;Mj(c[970784+((a&255)*28|0)>>2]|0);return}function Mj(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0;e=b+512|0;Mg(e,0,2);d=b+520|0;i=b+536|0;l=b+21056|0;h[l>>3]=+h[i>>3];wa[c[(c[b+1608>>2]|0)+12>>2]&31](c[d>>2]|0);Nj(e,b,31);Oj(e,b,28);Og(e,39,48);c[b+1700>>2]=0;c[b+1696>>2]=0;Pg(d,255);Qg(d,b+18232|0,6);Rg(e,182,192);Rg(e,438,192);Rg(e,181,192);Rg(e,437,192);Rg(e,180,192);Rg(e,436,192);d=178;while(1){Rg(e,d,0);Rg(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}k=b+21040|0;Rg(e,38,0);Rg(e,37,0);Rg(e,36,0);Rg(e,35,0);Rg(e,34,0);Rg(e,33,0);Rg(e,32,0);e=b+20528|0;j=b+18208|0;f=+h[i>>3];g=f*65536.0;d=0;do{c[e+(d*52|0)+12>>2]=~~(g/(d>>>0<4?3.0:6.0))>>>0;i=d<<1;c[e+(d*52|0)+16>>2]=c[28160+(i<<2)>>2];c[e+(d*52|0)+20>>2]=c[28160+((i|1)<<2)>>2];c[e+(d*52|0)+4>>2]=0;c[e+(d*52|0)+8>>2]=0;a[e+(d*52|0)+40>>0]=0;c[e+(d*52|0)+44>>2]=j;a[e+(d*52|0)+1>>0]=0;a[e+(d*52|0)>>0]=0;c[e+(d*52|0)+28>>2]=0;c[e+(d*52|0)+32>>2]=0;c[e+(d*52|0)+36>>2]=0;d=d+1|0}while((d|0)!=6);a[b+20524>>0]=63;a[b+21032>>0]=0;h[l>>3]=f;c[b+21044>>2]=b+18212;a[b+21128>>0]=5;c[b+21072>>2]=8388608;Pj(k,3,0);return}function Nj(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;f=d[b>>0]|0;a[b>>0]=(e&128|0)==0?f&251:f|4;e=e&31;a[c+21170>>0]=e;Ng(b+8|0,e&(d[c+21169>>0]|0));return}function Oj(b,c,e){b=b|0;c=c|0;e=e|0;if(!(e&128)){e=e&31^255;a[c+21169>>0]=e;Ng(b+8|0,e&(d[c+21170>>0]|0));return}else{Pg(b+8|0,247);return}}function Pj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+36|0;c[b+56>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[b+52>>2]=-1;c[b+64>>2]=0;c[b+8>>2]=(c[b+4>>2]|0)+(d<<2);c[b+68>>2]=0;c[b+80>>2]=0;c[b+72>>2]=127;c[b+76>>2]=0;a[b+124>>0]=e;d=(e|0)==1;a[b+86>>0]=d?32:0;a[b+87>>0]=d&1;a[b+89>>0]=a[49903+(d&1)>>0]|0;d=c[b+92>>2]|0;if(!d)return;e=a[b+105>>0]|0;if(!(e<<24>>24))return;xa[d&31](c[b+100>>2]|0,e);return}function Qj(a,b,d){a=a|0;b=b|0;d=d|0;Rj(c[970784+((a&255)*28|0)>>2]|0,b&3,d);return}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=b+512|0;switch(d&3){case 0:{a[b+548>>0]=e;a[b+20512>>0]=0;d=e&255;if((e&255)<16){ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[b+520>>2]|0,0,d);return}if((e+-45&255)>=3)return;Mg(j,d,2);h[b+21056>>3]=+h[b+536>>3];return}case 1:{if(a[b+20512>>0]|0)return;f=b+520|0;g=a[b+548>>0]|0;i=g&255;a[b+i>>0]=e;switch((i&240)<<24>>24){case 0:{ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[f>>2]|0,d,e&255);return}case 16:{rj(c[f>>2]|0);Sj(b,i+-16|0,e&255);return}case 32:if(g<<24>>24==41){Nj(j,b,e&255);return}else{rj(c[f>>2]|0);Og(j,i,e&255);return}default:{rj(c[f>>2]|0);Rg(j,i,e&255);return}}}case 2:{a[b+548>>0]=e;a[b+20512>>0]=1;return}case 3:{if((a[b+20512>>0]|0)!=1)return;d=a[b+548>>0]|0;f=d&255;g=f|256;a[b+g>>0]=e;rj(c[b+520>>2]|0);switch((f&240)<<24>>24){case 0:{if(d<<24>>24==14)return;Tj(b+21040|0,f,e&255);return}case 16:{if(d<<24>>24!=16)return;Oj(j,b,e&255);return}default:{Rg(j,g,e&255);return}}}default:{}}}function Sj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;c[b+20840+(e<<2)>>2]=f&255;switch(e|0){case 0:{if(f&128|0){if(f&1|0)a[b+20528>>0]=0;if(f&2|0)a[b+20580>>0]=0;if(f&4|0)a[b+20632>>0]=0;if(f&8|0)a[b+20684>>0]=0;if(f&16|0)a[b+20736>>0]=0;if(!(f&32))return;a[b+20788>>0]=0;return}h=b+20516|0;i=b+20520|0;do if(f&1|0){e=c[b+20544>>2]|0;c[b+20532>>2]=e<<1;c[b+20536>>2]=0;c[b+20556>>2]=0;c[b+20560>>2]=0;c[b+20564>>2]=0;g=b+20528|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&2|0){e=c[b+20596>>2]|0;c[b+20584>>2]=e<<1;c[b+20588>>2]=0;c[b+20608>>2]=0;c[b+20612>>2]=0;c[b+20616>>2]=0;g=b+20580|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&4|0){e=c[b+20648>>2]|0;c[b+20636>>2]=e<<1;c[b+20640>>2]=0;c[b+20660>>2]=0;c[b+20664>>2]=0;c[b+20668>>2]=0;g=b+20632|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&8|0){e=c[b+20700>>2]|0;c[b+20688>>2]=e<<1;c[b+20692>>2]=0;c[b+20712>>2]=0;c[b+20716>>2]=0;c[b+20720>>2]=0;g=b+20684|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);do if(f&16|0){e=c[b+20752>>2]|0;c[b+20740>>2]=e<<1;c[b+20744>>2]=0;c[b+20764>>2]=0;c[b+20768>>2]=0;c[b+20772>>2]=0;g=b+20736|0;a[g>>0]=1;if(!(c[h>>2]|0)){a[g>>0]=0;break}if(e>>>0>=(c[i>>2]|0)>>>0)a[g>>0]=0}while(0);if(!(f&32))return;g=c[b+20804>>2]|0;c[b+20792>>2]=g<<1;c[b+20796>>2]=0;c[b+20816>>2]=0;c[b+20820>>2]=0;c[b+20824>>2]=0;e=b+20788|0;a[e>>0]=1;if(!(c[h>>2]|0)){a[e>>0]=0;return}if(g>>>0<(c[i>>2]|0)>>>0)return;a[e>>0]=0;return}case 1:{h=f&63^63;a[b+20524>>0]=h;e=h+(d[b+20552>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20568>>0]=e;a[b+20569>>0]=g;c[b+20564>>2]=(M(c[b+20556>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20604>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20620>>0]=e;a[b+20621>>0]=g;c[b+20616>>2]=(M(c[b+20608>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20656>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20672>>0]=e;a[b+20673>>0]=g;c[b+20668>>2]=(M(c[b+20660>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20708>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20724>>0]=e;a[b+20725>>0]=g;c[b+20720>>2]=(M(c[b+20712>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20760>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20776>>0]=e;a[b+20777>>0]=g;c[b+20772>>2]=(M(c[b+20764>>2]|0,e<<24>>24)|0)>>(g&255)&-4;e=h+(d[b+20812>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20828>>0]=e;a[b+20829>>0]=g;c[b+20824>>2]=(M(c[b+20816>>2]|0,e<<24>>24)|0)>>(g&255)&-4;return}default:{h=e&7;if(h>>>0>5)return;switch(((e&56)+-8|0)>>>3&536870911|0){case 0:{e=f&31^31;a[b+20528+(h*52|0)+24>>0]=e;e=e+(d[b+20524>>0]|0)|0;if(e>>>0>62){g=0;e=0}else{g=(e>>>3)+1&255;e=(e&7^15)&255}a[b+20528+(h*52|0)+40>>0]=e;a[b+20528+(h*52|0)+41>>0]=g;c[b+20528+(h*52|0)+44>>2]=b+18196+((f>>>6&3)<<2);c[b+20528+(h*52|0)+36>>2]=(M(c[b+20528+(h*52|0)+28>>2]|0,e<<24>>24)|0)>>(g&255)&-4;return}case 2:case 1:{c[b+20528+(h*52|0)+16>>2]=(c[b+20840+((h|24)<<2)>>2]<<8|c[b+20840+((h|16)<<2)>>2])<<8;return}case 4:case 3:{c[b+20528+(h*52|0)+20>>2]=(c[b+20840+((h|40)<<2)>>2]<<8|c[b+20840+((h|32)<<2)>>2])<<8|255;return}default:return}}}}function Tj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0;if((e|0)>15)return;i=f&255;a[b+108+e>>0]=i;switch(e|0){case 0:{j=(a[b+124>>0]|0)==1?f|32:f;e=b+86|0;a[e>>0]=j&241;if(j&128|0){a[b+107>>0]=1;c[b+40>>2]=0;c[b+68>>2]=0;c[b+80>>2]=0;c[b+76>>2]=0;c[b+72>>2]=127;a[b+84>>0]=0}if(j&32){g=c[b+48>>2]|0;c[b+36>>2]=g<<1;a[b+90>>0]=2;if(!(c[b>>2]|0)){a[e>>0]=0;a[b+107>>0]=0;return}i=b+56|0;f=c[b+24>>2]|0;if((c[i>>2]|0)>>>0>=f>>>0)c[i>>2]=f+-1;if(g>>>0>=f>>>0){a[e>>0]=0;a[b+107>>0]=0;return}}else c[b+36>>2]=0;if(!(j&1))return;a[e>>0]=0;a[b+107>>0]=0;e=c[b+92>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}case 1:{i=(a[b+124>>0]|0)==1|f;c[b+8>>2]=(c[b+4>>2]|0)+((f>>>6&3)<<2);e=b+87|0;g=i&3;if((g|0)!=(a[e>>0]&3|0)?(j=b+89|0,k=a[49903+g>>0]|0,(a[j>>0]|0)!=k<<24>>24):0){a[j>>0]=k;l=(d[b+88>>0]|0)-(k&255)|0;c[b+48>>2]=(d[b+111>>0]<<8|d[b+110>>0])<>2]=(1<>0]<<8|d[b+112>>0])<>2]=(d[b+121>>0]<<8|d[b+120>>0])<>0]=i;return}case 3:case 2:{c[b+48>>2]=(d[b+111>>0]<<8|d[b+110>>0])<<(d[b+88>>0]|0)-(d[b+89>>0]|0);return}case 5:case 4:{l=(d[b+88>>0]|0)-(d[b+89>>0]|0)|0;c[b+56>>2]=(1<>0]<<8|d[b+112>>0])<>2]=(d[b+121>>0]<<8|d[b+120>>0])<<(d[b+88>>0]|0)-(d[b+89>>0]|0);return}case 8:switch((a[b+86>>0]&-32)<<24>>24){case 96:{e=b+90|0;if(!(a[e>>0]|0)){g=b+36|0;e=g;g=c[g>>2]|0}else{g=c[b+48>>2]<<1;k=b+36|0;c[k>>2]=g;a[e>>0]=0;e=k}if((g|0)==(c[b+56>>2]<<1|0)){e=c[b+92>>2]|0;if(!e)return;g=a[b+104>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}a[(c[b>>2]|0)+(g>>>1)>>0]=i;c[e>>2]=(c[e>>2]|0)+2;e=c[b+96>>2]|0;if(e|0?(l=a[b+105>>0]|0,l<<24>>24):0)xa[e&31](c[b+100>>2]|0,l);e=c[b+92>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}case -128:{a[b+85>>0]=i;e=c[b+96>>2]|0;if(!e)return;g=a[b+105>>0]|0;if(!(g<<24>>24))return;xa[e&31](c[b+100>>2]|0,g);return}default:return}case 10:case 9:{l=d[b+118>>0]<<8|d[b+117>>0];c[b+60>>2]=l;c[b+44>>2]=~~(+h[b+16>>3]*+(l>>>0))>>>0;return}case 11:{l=b+64|0;g=c[l>>2]|0;e=(M((c[b+32>>2]|0)/256|0,f&255)|0)/32768|0;c[l>>2]=e;if(!g)return;b=b+76|0;c[b>>2]=~~(+(c[b>>2]|0)/+(g|0)*+(e|0));return}default:return}}function Uj(b){b=b|0;a[3416880]=(b&255)<2?b:0;return}function Vj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;Wj(c[970784+((a&255)*28|0)>>2]|0,b,d,e,f);return}function Wj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+21040|0;a=a+21064|0;if((c[a>>2]|0)!=(b|0)){h=Ky(c[g>>2]|0,b)|0;c[g>>2]=h;c[a>>2]=b;QA(h|0,-1,b|0)|0;Xj(g)}if(b>>>0>>0)return;PA((c[g>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Xj(a){a=a|0;var b=0,d=0,e=0;d=c[a+24>>2]|0;b=1;do{e=b;b=b<<1}while(e>>>0>>0);c[a+28>>2]=b+-1;return}function Yj(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;Zj(c[970784+(b*28|0)>>2]|0,d);b=c[970784+(b*28|0)+4>>2]|0;if(!b)return;switch(a[3416880]|0){case 1:{fh(b,e);return}case 0:{gh(b,e);return}default:return}}function Zj(b,c){b=b|0;c=c|0;a[b+18608>>0]=c&1;a[b+18988>>0]=c>>>1&1;a[b+19368>>0]=c>>>2&1;a[b+19748>>0]=c>>>3&1;a[b+20128>>0]=c>>>4&1;a[b+20508>>0]=c>>>5&1;a[b+20576>>0]=c>>>6&1;a[b+20628>>0]=c>>>7&1;a[b+20680>>0]=c>>>8&1;a[b+20732>>0]=c>>>9&1;a[b+20784>>0]=c>>>10&1;a[b+20836>>0]=c>>>11&1;a[b+21168>>0]=c>>>12&1;return}function _j(b,d){b=b|0;d=d|0;b=c[970784+((b&255)*28|0)+4>>2]|0;if(!((b|0)!=0&(a[3416880]|0)==1))return;lh(b,d);return}function $j(a){a=a|0;ak(c[a>>2]|0,c[853958]|0,c[853959]|0,0);return}function ak(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;n=b+512|0;o=b+21040|0;p=b+18164|0;x=b+18232|0;I=b+18612|0;T=b+18992|0;ca=b+19372|0;ea=b+19752|0;l=b+20132|0;Rf(n,x);Rf(n,I);fa=b+520|0;m=b+552|0;if(c[m>>2]&192){if((c[b+19028>>2]|0)==-1){Sf(n,T,c[b+1620>>2]|0,d[b+1630>>0]|0);Sf(n,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Sf(n,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Sf(n,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Rf(n,T);Rf(n,ca);Rf(n,ea);Rf(n,l);if((g|0)>0){q=b+18208|0;r=b+18200|0;s=b+18204|0;t=b+18224|0;u=b+18216|0;v=b+18220|0;w=b+18168|0;y=b+18172|0;z=b+18176|0;A=b+18180|0;B=b+18184|0;C=b+1704|0;D=b+1700|0;E=b+1708|0;F=b+21126|0;G=b+1696|0;H=b+21168|0;J=b+20528|0;K=b+1648|0;L=b+1652|0;M=b+1656|0;N=b+1660|0;O=b+1664|0;P=b+1668|0;Q=b+1672|0;R=b+1676|0;S=b+1680|0;U=b+1684|0;V=b+1688|0;W=b+1692|0;X=b+564|0;Y=b+1600|0;Z=b+536|0;_=b+20580|0;$=b+20632|0;aa=b+20684|0;ba=b+20736|0;da=b+20788|0;k=0;do{tj(n);c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;i=(c[D>>2]|0)+(c[C>>2]|0)|0;c[D>>2]=i;j=c[E>>2]|0;if(i>>>0>=j>>>0)do{c[D>>2]=i-j;c[G>>2]=(c[G>>2]|0)+1;Tf(n,x);Tf(n,I);Tf(n,T);Tf(n,ca);Tf(n,ea);Tf(n,l);i=c[D>>2]|0;j=c[E>>2]|0}while(i>>>0>=j>>>0);Uf(n,x,0);Uf(n,I,1);Uf(n,T,2);Uf(n,ca,3);Uf(n,ea,4);Uf(n,l,5);if((a[F>>0]|0)<0?(a[H>>0]|0)==0:0)uj(o);if(a[J>>0]|0)vj(b,J);if(a[_>>0]|0)vj(b,_);if(a[$>>0]|0)vj(b,$);if(a[aa>>0]|0)vj(b,aa);if(a[ba>>0]|0)vj(b,ba);if(a[da>>0]|0)vj(b,da);la=c[q>>2]|0;ma=c[t>>2]|0;ka=c[p>>2]|0;ja=c[w>>2]|0;ia=c[y>>2]|0;ha=c[z>>2]|0;ga=c[A>>2]|0;j=c[B>>2]|0;i=((c[u>>2]|0)+ma>>8)+((c[r>>2]|0)+la<<1)+(c[L>>2]&ka)+(c[N>>2]&ja)+(c[P>>2]&ia)+(c[R>>2]&ha)+(c[U>>2]&ga)+(c[W>>2]&j)|0;c[e+(k<<2)>>2]=(ma+(c[v>>2]|0)>>8)+(la+(c[s>>2]|0)<<1)+(c[K>>2]&ka)+(c[M>>2]&ja)+(c[O>>2]&ia)+(c[Q>>2]&ha)+(c[S>>2]&ga)+(c[V>>2]&j);c[f+(k<<2)>>2]=i;i=c[X>>2]|0;if(((i|0?(c[Y>>2]|0)==0:0)?(ma=i-~~(+h[Z>>3]*4096.0)|0,c[X>>2]=ma,(ma|0)<1):0)?(Vf(fa),c[m>>2]&128|0):0)Wf(T);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j)return;if(c[b+1600>>2]|0)return;ma=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ma;if((ma|0)>=1)return;Xf(fa);return}function bk(a,b,d){a=a|0;b=b|0;d=d|0;ck(c[970848+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function ck(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;U=b+512|0;V=b+21040|0;W=b+18612|0;X=b+18992|0;Y=b+19752|0;Z=b+20132|0;i=b+18544|0;if(c[i>>2]|0)c[i>>2]=0;i=b+19684|0;if(c[i>>2]|0)c[i>>2]=0;Rf(U,W);T=b+520|0;l=b+552|0;if(c[l>>2]&192){if((c[b+19028>>2]|0)==-1){Sf(U,X,c[b+1620>>2]|0,d[b+1630>>0]|0);Sf(U,b+19152|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Sf(U,b+19072|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Sf(U,b+19232|0,c[b+19356>>2]|0,d[b+19360>>0]|0)}}else Rf(U,X);Rf(U,Y);Rf(U,Z);if((g|0)>0){m=b+18208|0;n=b+18200|0;o=b+18204|0;p=b+18224|0;q=b+18216|0;r=b+18220|0;s=b+18168|0;t=b+18172|0;u=b+18180|0;v=b+18184|0;w=b+1704|0;x=b+1700|0;y=b+1708|0;z=b+21126|0;A=b+1696|0;B=b+21168|0;C=b+20528|0;D=b+1656|0;E=b+1660|0;F=b+1664|0;G=b+1668|0;H=b+1680|0;I=b+1684|0;J=b+1688|0;K=b+1692|0;L=b+564|0;M=b+1600|0;N=b+536|0;O=b+20580|0;P=b+20632|0;Q=b+20684|0;R=b+20736|0;S=b+20788|0;k=0;do{tj(U);c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;i=(c[x>>2]|0)+(c[w>>2]|0)|0;c[x>>2]=i;j=c[y>>2]|0;if(i>>>0>=j>>>0)do{c[x>>2]=i-j;c[A>>2]=(c[A>>2]|0)+1;Tf(U,W);Tf(U,X);Tf(U,Y);Tf(U,Z);i=c[x>>2]|0;j=c[y>>2]|0}while(i>>>0>=j>>>0);Uf(U,W,1);Uf(U,X,2);Uf(U,Y,4);Uf(U,Z,5);if((a[z>>0]|0)<0?(a[B>>0]|0)==0:0)uj(V);if(a[C>>0]|0)vj(b,C);if(a[O>>0]|0)vj(b,O);if(a[P>>0]|0)vj(b,P);if(a[Q>>0]|0)vj(b,Q);if(a[R>>0]|0)vj(b,R);if(a[S>>0]|0)vj(b,S);ba=c[m>>2]|0;ca=c[p>>2]|0;aa=c[s>>2]|0;$=c[t>>2]|0;_=c[u>>2]|0;j=c[v>>2]|0;i=((c[q>>2]|0)+ca>>8)+((c[n>>2]|0)+ba<<1)+(c[E>>2]&aa)+(c[G>>2]&$)+(c[I>>2]&_)+(c[K>>2]&j)|0;c[e+(k<<2)>>2]=(ca+(c[r>>2]|0)>>8)+(ba+(c[o>>2]|0)<<1)+(c[D>>2]&aa)+(c[F>>2]&$)+(c[H>>2]&_)+(c[J>>2]&j);c[f+(k<<2)>>2]=i;i=c[L>>2]|0;if(((i|0?(c[M>>2]|0)==0:0)?(ca=i-~~(+h[N>>3]*4096.0)|0,c[L>>2]=ca,(ca|0)<1):0)?(Vf(T),c[l>>2]&128|0):0)Wf(X);k=k+1|0}while((k|0)!=(g|0))}i=b+572|0;j=c[i>>2]|0;if(!j)return;if(c[b+1600>>2]|0)return;ca=j-~~(+h[b+536>>3]*4096.0*+(g|0))|0;c[i>>2]=ca;if((ca|0)>=1)return;Xf(T);return}function dk(a,b,d){a=a|0;b=b|0;d=d|0;ak(c[970848+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function ek(b,d,e){b=b|0;d=d|0;e=e|0;b=c[970848+((b&255)<<3)+4>>2]|0;if(!b){e=e<<2;QA(c[d>>2]|0,0,e|0)|0;QA(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3416881]|0){case 1:{fg(b,d,e);return}case 0:{gg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function fk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if((b&255)>1){j=0;return j|0}h=b&255;i=970848+(h<<3)|0;j=d&2147483647;g=(j>>>0)/72|0;k=a[3416903]|0;b=c[853966]|0;g=k<<24>>24==2|k<<24>>24==1&(g|0)<(b|0)?b:g;a:do if(!(e<<24>>24)){b=j>>>2;e=j>>>5;c[f>>2]=e;switch(a[3416881]|0){case 1:{c[970848+(h<<3)+4>>2]=jg(0,(d>>>31|34)&255,b,48676)|0;break a}case 0:break;default:break a}b=kg(b,e)|0;c[970848+(h<<3)+4>>2]=b;if(!b){k=0;return k|0}else{lg(b,1);break}}else{c[970848+(h<<3)+4>>2]=0;c[f>>2]=0}while(0);c[i>>2]=gk(i,j,g)|0;k=g;return k|0}function gk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Hy(21176)|0;if(!f){f=0;return f|0}QA(f|0,0,21176)|0;ng();c[f+520>>2]=b;a[f+512>>0]=55;c[f+1644>>2]=f+18232;c[f+524>>2]=d;c[f+528>>2]=e;c[f+1600>>2]=0;c[f+1604>>2]=0;c[f+1608>>2]=48692;c[f+20516>>2]=0;c[f+20520>>2]=0;c[f+21040>>2]=0;c[f+21064>>2]=0;c[f+21068>>2]=0;c[f+21132>>2]=10;c[f+21136>>2]=11;c[f+21140>>2]=f;a[f+21144>>0]=-128;Ej();return f|0}function hk(b,c){b=b|0;c=c|0;b=b+21032|0;a[b>>0]=a[b>>0]|c;return}function ik(b,c){b=b|0;c=c|0;b=b+21032|0;a[b>>0]=a[b>>0]&~c;return}function jk(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416881]|0){case 1:{Ag(b,d);return}case 0:{Bg(b,d);return}default:return}}function kk(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416881]|0){case 1:{xg(b,d,e);return}case 0:{yg(b,d,e);return}default:return}}function lk(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3416881]|0){case 1:{b=vg(b)|0;break a}case 0:{b=(wg(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function mk(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416881]|0){case 1:{sg(b);return}case 0:{tg(b);return}default:return}}function nk(b){b=b|0;var d=0;b=b&255;ok(c[970848+(b<<3)>>2]|0);b=970848+(b<<3)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3416881]|0){case 1:{Ig(d);break}case 0:{Jg(d);break}default:{}}c[b>>2]=0;return}function ok(a){a=a|0;var b=0;b=a+20516|0;Iy(c[b>>2]|0);c[b>>2]=0;Iy(c[a+21040>>2]|0);Iy(a);return}function pk(a){a=a|0;qk(c[970848+((a&255)<<3)>>2]|0);return}function qk(b){b=b|0;var d=0,e=0,f=0.0;e=b+512|0;_g(e,144,144,8);d=b+520|0;wa[c[(c[b+1608>>2]|0)+12>>2]&31](c[d>>2]|0);Ng(d,3);Og(e,39,48);c[b+1700>>2]=0;c[b+1696>>2]=0;Pg(d,255);Qg(d,b+18232|0,6);Rg(e,182,192);Rg(e,438,192);Rg(e,181,192);Rg(e,437,192);Rg(e,180,192);Rg(e,436,192);d=178;while(1){Rg(e,d,0);Rg(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}Rg(e,38,0);Rg(e,37,0);Rg(e,36,0);Rg(e,35,0);Rg(e,34,0);Rg(e,33,0);Rg(e,32,0);e=b+18208|0;f=+h[b+536>>3];d=~~(f*65536.0/3.0)>>>0;c[b+20540>>2]=d;c[b+20532>>2]=0;c[b+20536>>2]=0;c[b+20544>>2]=0;c[b+20548>>2]=0;a[b+20568>>0]=0;c[b+20572>>2]=e;a[b+20529>>0]=1;a[b+20528>>0]=0;c[b+20556>>2]=0;c[b+20560>>2]=0;c[b+20564>>2]=0;c[b+20592>>2]=d;c[b+20584>>2]=0;c[b+20588>>2]=0;c[b+20596>>2]=0;c[b+20600>>2]=0;a[b+20620>>0]=0;c[b+20624>>2]=e;a[b+20581>>0]=2;a[b+20580>>0]=0;c[b+20608>>2]=0;c[b+20612>>2]=0;c[b+20616>>2]=0;c[b+20644>>2]=d;c[b+20636>>2]=0;c[b+20640>>2]=0;c[b+20648>>2]=0;c[b+20652>>2]=0;a[b+20672>>0]=0;c[b+20676>>2]=e;a[b+20633>>0]=4;a[b+20632>>0]=0;c[b+20660>>2]=0;c[b+20664>>2]=0;c[b+20668>>2]=0;c[b+20696>>2]=d;c[b+20688>>2]=0;c[b+20692>>2]=0;c[b+20700>>2]=0;c[b+20704>>2]=0;a[b+20724>>0]=0;c[b+20728>>2]=e;a[b+20685>>0]=8;a[b+20684>>0]=0;c[b+20712>>2]=0;c[b+20716>>2]=0;c[b+20720>>2]=0;c[b+20748>>2]=d;c[b+20740>>2]=0;c[b+20744>>2]=0;c[b+20752>>2]=0;c[b+20756>>2]=0;a[b+20776>>0]=0;c[b+20780>>2]=e;a[b+20737>>0]=16;a[b+20736>>0]=0;c[b+20764>>2]=0;c[b+20768>>2]=0;c[b+20772>>2]=0;c[b+20800>>2]=d;c[b+20792>>2]=0;c[b+20796>>2]=0;c[b+20804>>2]=0;c[b+20808>>2]=0;a[b+20828>>0]=0;c[b+20832>>2]=e;a[b+20789>>0]=32;a[b+20788>>0]=0;c[b+20816>>2]=0;c[b+20820>>2]=0;c[b+20824>>2]=0;a[b+20524>>0]=63;a[b+21032>>0]=0;h[b+21056>>3]=f;c[b+21044>>2]=b+18212;a[b+21128>>0]=8;c[b+21072>>2]=8388608;Pj(b+21040|0,3,1);return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;sk(c[970848+((a&255)<<3)>>2]|0,b&3,d);return}function sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+512|0;switch(d&3){case 0:{a[b+548>>0]=e;a[b+20512>>0]=0;if((e&255)>=16)return;ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[b+520>>2]|0,0,e&255);return}case 1:{if(a[b+20512>>0]|0)return;f=b+520|0;g=a[b+548>>0]|0;h=g&255;a[b+h>>0]=e;switch((h&240)<<24>>24){case 0:{ya[c[(c[b+1608>>2]|0)+4>>2]&63](c[f>>2]|0,d,e&255);return}case 16:{$j(c[f>>2]|0);switch(g<<24>>24){case 27:case 26:case 25:case 21:case 20:case 19:case 18:case 17:case 16:{Tj(b+21040|0,h+-16|0,e&255);return}case 28:{e=~e;i=e&255;a[b+20529>>0]=i&1;a[b+20581>>0]=i&2;a[b+20633>>0]=i&4;a[b+20685>>0]=i&8;a[b+20737>>0]=i&16;a[b+20789>>0]=i&32;a[b+21144>>0]=i&128;i=b+21032|0;a[i>>0]=a[i>>0]&e;return}default:return}}case 32:{$j(c[f>>2]|0);Og(i,h,e&255);return}default:{$j(c[f>>2]|0);Rg(i,h,e&255);return}}}case 2:{a[b+548>>0]=e;a[b+20512>>0]=1;return}case 3:{if((a[b+20512>>0]|0)!=1)return;$j(c[b+520>>2]|0);h=a[b+548>>0]|0;f=h&255;g=f|256;a[b+g>>0]=e;d=e&255;if((h&255)<48){Sj(b,f,d);return}else{Rg(i,g,d);return}}default:{}}}function tk(b){b=b|0;a[3416881]=(b&255)<2?b:0;return}function uk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;vk(c[970848+((a&255)<<3)>>2]|0,b,d,e,f,g);return}function vk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;switch(b<<24>>24){case 1:{b=a+20520|0;if((c[b>>2]|0)!=(d|0)){i=a+20516|0;h=Ky(c[i>>2]|0,d)|0;c[i>>2]=h;c[b>>2]=d;QA(h|0,-1,d|0)|0}if(d>>>0>>0)return;PA((c[a+20516>>2]|0)+e|0,g|0,((f+e|0)>>>0>d>>>0?d-e|0:f)|0)|0;return}case 2:{h=a+21040|0;b=a+21064|0;if((c[b>>2]|0)!=(d|0)){i=Ky(c[h>>2]|0,d)|0;c[h>>2]=i;c[b>>2]=d;QA(i|0,-1,d|0)|0;Xj(h)}if(d>>>0>>0)return;PA((c[h>>2]|0)+e|0,g|0,((f+e|0)>>>0>d>>>0?d-e|0:f)|0)|0;return}default:return}}function wk(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;xk(c[970848+(b<<3)>>2]|0,d);b=c[970848+(b<<3)+4>>2]|0;if(!b)return;switch(a[3416881]|0){case 1:{fh(b,e);return}case 0:{gh(b,e);return}default:return}}function xk(b,c){b=b|0;c=c|0;a[b+18608>>0]=c&1;a[b+18988>>0]=c>>>1&1;a[b+19368>>0]=c>>>2&1;a[b+19748>>0]=c>>>3&1;a[b+20128>>0]=c>>>4&1;a[b+20508>>0]=c>>>5&1;a[b+20576>>0]=c>>>6&1;a[b+20628>>0]=c>>>7&1;a[b+20680>>0]=c>>>8&1;a[b+20732>>0]=c>>>9&1;a[b+20784>>0]=c>>>10&1;a[b+20836>>0]=c>>>11&1;a[b+21168>>0]=c>>>12&1;return}function yk(b){b=b|0;switch(a[3416882]|0){case 0:{zk(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}case 2:{Ak(c[b>>2]|0,3415832,0);Bk(c[b>>2]|0,3415832,0);return}default:return}}function zk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;t=b+512|0;u=b+18144|0;v=b+18168|0;y=b+18532|0;J=b+18896|0;U=b+19260|0;ca=b+19624|0;da=b+19988|0;if(!(a[b+20360>>0]|0))q=c[b+20356>>2]|0;else q=0;Gk(t,v);Gk(t,y);r=b+520|0;s=b+556|0;if(c[s>>2]&192){if((c[b+18932>>2]|0)==-1){Hk(t,J,c[b+1620>>2]|0,d[b+1630>>0]|0);Hk(t,b+19048|0,c[b+1624>>2]|0,d[b+1631>>0]|0);Hk(t,b+18972|0,c[b+1616>>2]|0,d[b+1629>>0]|0);Hk(t,b+19124|0,c[b+19244>>2]|0,d[b+19248>>0]|0)}}else Gk(t,J);Gk(t,U);Gk(t,ca);Gk(t,da);if(!g){Ik(v);Ik(y);Ik(J);Ik(U);Ik(ca);Ik(da);return}if((g|0)<=0)return;w=b+18148|0;x=b+18152|0;z=b+18156|0;A=b+18160|0;B=b+18164|0;C=b+20354|0;D=b+20353|0;E=b+1708|0;F=b+1704|0;G=b+1712|0;H=b+20316|0;I=b+1700|0;K=b+1652|0;L=b+1656|0;M=b+1660|0;N=b+1664|0;O=b+1668|0;P=b+1672|0;Q=b+1676|0;R=b+1680|0;S=b+1684|0;T=b+1688|0;V=b+1696|0;W=b+20361|0;ea=q<<1;X=b+1692|0;Y=b+20364|0;Z=b+20368|0;_=b+1644|0;$=b+568|0;aa=b+1604|0;ba=b+528|0;p=0;do{c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;Ik(v);Ik(y);Ik(J);Ik(U);Ik(ca);Ik(da);do if(!(a[C>>0]|0)){Jk(b,t,v);Jk(b,t,y);Jk(b,t,J);Jk(b,t,U);Jk(b,t,ca);if(!(a[D>>0]|0)){Jk(b,t,da);break}else{o=c[H>>2]|0;c[o>>2]=(c[o>>2]|0)+q;break}}else{c[w>>2]=q;c[u>>2]=q;c[z>>2]=q;c[x>>2]=q;c[B>>2]=q}while(0);Kk(t);i=(c[F>>2]|0)+(c[E>>2]|0)|0;c[F>>2]=i;j=c[G>>2]|0;if(i>>>0>=j>>>0)do{c[F>>2]=i-j;c[I>>2]=(c[I>>2]|0)+1;Lk(t,v);Lk(t,y);Lk(t,J);Lk(t,U);Lk(t,ca);Lk(t,da);i=c[F>>2]|0;j=c[G>>2]|0}while(i>>>0>=j>>>0);i=c[u>>2]|0;if((i|0)<=8192){if((i|0)<-8192){i=-8192;fa=21}}else{i=8192;fa=21}if((fa|0)==21){fa=0;c[u>>2]=i}j=c[w>>2]|0;if((j|0)<=8192){if((j|0)<-8192){j=-8192;fa=24}}else{j=8192;fa=24}if((fa|0)==24){fa=0;c[w>>2]=j}k=c[x>>2]|0;if((k|0)<=8192){if((k|0)<-8192){k=-8192;fa=27}}else{k=8192;fa=27}if((fa|0)==27){fa=0;c[x>>2]=k}l=c[z>>2]|0;if((l|0)<=8192){if((l|0)<-8192){l=-8192;fa=30}}else{l=8192;fa=30}if((fa|0)==30){fa=0;c[z>>2]=l}m=c[A>>2]|0;if((m|0)<=8192){if((m|0)<-8192){m=-8192;fa=33}}else{m=8192;fa=33}if((fa|0)==33){fa=0;c[A>>2]=m}n=c[B>>2]|0;if((n|0)<=8192){if((n|0)<-8192){n=-8192;fa=36}}else{n=8192;fa=36}if((fa|0)==36){fa=0;c[B>>2]=n}o=(c[M>>2]&j)+(c[K>>2]&i)+(c[O>>2]&k)+(c[Q>>2]&l)|0;i=(c[N>>2]&j)+(c[L>>2]&i)+(c[P>>2]&k)+(c[R>>2]&l)|0;if(!(a[C>>0]|0)){i=(c[T>>2]&m)+i|0;k=(c[S>>2]&m)+o|0}else k=o+ea|0;i=(c[V>>2]&n)+i|0;j=a[W>>0]|0;if(j&1)c[Y>>2]=(c[X>>2]&n)+k;if(j&2)c[Z>>2]=i;i=j^3;if(i<<24>>24)a[W>>0]=i;c[e+(p<<2)>>2]=c[Y>>2];c[f+(p<<2)>>2]=c[Z>>2];a[_>>0]=d[_>>0]<<1;i=c[$>>2]|0;do if(i|0?(c[aa>>2]|0)==0:0){o=i-~~(+h[ba>>3]*4096.0)|0;c[$>>2]=o;if((o|0)>=1)break;Mk(r);if(!(c[s>>2]&128))break;Nk(t,J)}while(0);if(a[_>>0]&2){Ok(J,0);Ok(J,2);Ok(J,1);Ok(J,3);a[_>>0]=0}p=p+1|0}while((p|0)!=(g|0));return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+88|0;if((c[a+236>>2]|0)==-1)Ek(n);o=a+624|0;if((c[a+772>>2]|0)==-1)Ek(o);m=a+1160|0;e=a+1256|0;do if((c[a+1308>>2]|0)==-1)if(!(c[a+56>>2]&64)){Ek(m);break}else{Fk(e,(c[226160+(c[a+1216>>2]<<2)>>2]|0)>>>(7-(c[a+1232>>2]|0)|0),c[a+1248>>2]|0);Fk(a+1472|0,(c[226160+(c[a+1220>>2]<<2)>>2]|0)>>>(7-(c[a+1236>>2]|0)|0),c[a+1252>>2]|0);Fk(a+1364|0,(c[226160+(c[a+1212>>2]<<2)>>2]|0)>>>(7-(c[a+1228>>2]|0)|0),c[a+1244>>2]|0);Fk(a+1580|0,(c[226160+(c[a+1208>>2]<<2)>>2]|0)>>>(7-(c[a+1224>>2]|0)|0),c[a+1240>>2]|0);break}while(0);j=a+1696|0;if((c[a+1844>>2]|0)==-1)Ek(j);k=a+2232|0;if((c[a+2380>>2]|0)==-1)Ek(k);l=a+2768|0;if((c[a+2916>>2]|0)==-1)Ek(l);e=(c[a+84>>2]|0)>>>10&16^16;g=c[a+28>>2]|0;if(g){if((d|0)>0){h=a+24|0;f=0;i=c[h>>2]|0;do{i=i+g|0;c[h>>2]=i;p=i>>>18&1023;c[a+5352+(f<<2)>>2]=c[201584+(p<<2)>>2];c[a+6376+(f<<2)>>2]=c[205680+(p<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}e=e|8}if(!(c[a+620>>2]|0))za[c[13744+((c[a+120>>2]|0)+e<<2)>>2]&63](a,n,b,d);if(!(c[a+1156>>2]|0))za[c[13744+((c[a+656>>2]|0)+e<<2)>>2]&63](a,o,b,d);if(!(c[a+1692>>2]|0))za[c[13744+((c[a+1192>>2]|0)+e<<2)>>2]&63](a,m,b,d);if(!(c[a+2228>>2]|0))za[c[13744+((c[a+1728>>2]|0)+e<<2)>>2]&63](a,j,b,d);if(!(c[a+2764>>2]|0))za[c[13744+((c[a+2264>>2]|0)+e<<2)>>2]&63](a,k,b,d);if(c[a+3300>>2]|0){o=c[853902]|0;p=a+80|0;c[p>>2]=o;return}if(c[a+60>>2]|0){o=c[853902]|0;p=a+80|0;c[p>>2]=o;return}za[c[13744+((c[a+2800>>2]|0)+e<<2)>>2]&63](a,l,b,d);o=c[853902]|0;p=a+80|0;c[p>>2]=o;return}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if(((c[a+60>>2]|0?(m=a+64|0,e=c[m>>2]|0,e|0):0)?(c[a+7432>>2]|0)==0:0)?(k=c[b>>2]|0,l=c[b+4>>2]|0,(d|0)>0):0){g=a+68|0;h=a+2792|0;i=a+2796|0;j=(c[12146]|0)==0;b=0;while(1){f=c[g>>2]|0;e=(e<<15)-f|0;if(!j)c[g>>2]=(e>>9)+f;e=e>>15;f=k+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[h>>2]&e);f=l+(b<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i>>2]&e);b=b+1|0;if((b|0)==(d|0))break a;e=c[m>>2]|0}}while(0);g=M(c[a+8>>2]|0,d)|0;b=a+56|0;e=c[b>>2]|0;if(((e&1|0)!=0?(n=a+40|0,o=(c[n>>2]|0)-g|0,c[n>>2]=o,(o|0)<1):0)?(m=a+12|0,c[m>>2]=c[m>>2]|e>>>2&1,c[n>>2]=(c[a+36>>2]|0)+o,(e&128|0)!=0):0){Ck(a);e=c[b>>2]|0}if(!(e&2))return;f=a+52|0;b=(c[f>>2]|0)-g|0;c[f>>2]=b;if((b|0)>=1)return;o=a+12|0;c[o>>2]=c[o>>2]|e>>>2&2;c[f>>2]=(c[a+48>>2]|0)+b;return}function Ck(a){a=a|0;a=a+1160|0;Dk(a,0);Dk(a,1);Dk(a,2);Dk(a,3);return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+96+(b*108|0)+56|0;if((c[d>>2]|0)!=3)return;c[a+96+(b*108|0)+48>>2]=0;f=a+96+(b*108|0)+60|0;e=a+96+(b*108|0)+96|0;c[f>>2]=c[e>>2]&c[209776+(c[51952+(c[f>>2]>>16<<2)>>2]<<2)>>2];c[e>>2]=-1;c[a+96+(b*108|0)+64>>2]=c[a+96+(b*108|0)+72>>2];c[a+96+(b*108|0)+68>>2]=268435456;c[d>>2]=0;return}function Ek(a){a=a|0;var b=0,d=0;d=(c[226160+(c[a+48>>2]<<2)>>2]|0)>>>(7-(c[a+64>>2]|0)|0);b=c[a+80>>2]|0;Fk(a+96|0,d,b);Fk(a+204|0,d,b);Fk(a+312|0,d,b);Fk(a+420|0,d,b);return}function Fk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;c[a+52>>2]=M((c[(c[a>>2]|0)+(d<<2)>>2]|0)+b|0,c[a+4>>2]|0)|0;d=d>>c[a+20>>2];b=a+24|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;e=c[(c[a+32>>2]|0)+(d<<2)>>2]|0;c[a+72>>2]=e;f=c[(c[a+36>>2]|0)+(d<<2)>>2]|0;c[a+76>>2]=f;g=c[(c[a+40>>2]|0)+(d<<2)>>2]|0;c[a+80>>2]=g;b=c[(c[a+44>>2]|0)+(d<<2)>>2]|0;c[a+84>>2]=b;d=c[a+56>>2]|0;switch(d|0){case 0:{c[a+64>>2]=e;return}case 1:{c[a+64>>2]=f;return}default:{if((c[a+60>>2]|0)>=536870912)return;switch(d|0){case 2:{c[a+64>>2]=g;return}case 3:{c[a+64>>2]=b;return}default:return}}}}function Gk(a,b){a=a|0;b=b|0;var e=0,f=0;if((c[b+36>>2]|0)!=-1)return;f=c[b+348>>2]|0;e=d[b+352>>0]|0;Hk(a,b,f,e);Hk(a,b+152|0,f,e);Hk(a,b+76|0,f,e);Hk(a,b+228|0,f,e);return}function Hk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;h=g>>(d[e+4>>0]|0);f=(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f|0;if((f|0)<0)f=(c[b+17588>>2]|0)+f|0;c[e+36>>2]=(M(c[e+28>>2]|0,f)|0)>>>1;f=e+24|0;if((h|0)==(d[f>>0]|0|0))return;a[f>>0]=h;b=h&255;f=(c[e+8>>2]|0)+b|0;if(f>>>0<94){g=a[28512+f>>0]|0;f=a[28384+f>>0]|0}else{g=-112;f=0}a[e+60>>0]=f;a[e+61>>0]=g;f=(c[e+12>>2]|0)+b|0;a[e+62>>0]=a[28384+f>>0]|0;g=(c[e+16>>2]|0)+b|0;a[e+64>>0]=a[28384+g>>0]|0;h=(c[e+20>>2]|0)+b|0;a[e+66>>0]=a[28384+h>>0]|0;a[e+63>>0]=a[28512+f>>0]|0;a[e+65>>0]=a[28512+g>>0]|0;a[e+67>>0]=a[28512+h>>0]|0;return}function Ik(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=4;while(1){g=a[b+68>>0]|0;f=g&255;do if((f&8|0?(j=b+48|0,k=c[j>>2]|0,(k|0)>511):0)?(l=b+40|0,i=a[l>>0]|0,(i&255)>1):0){e=(f&2|0)!=0;do if(!(f&1)){if(e){f=b+69|0;a[f>>0]=a[f>>0]^4}else c[b+32>>2]=0;if(i<<24>>24!=4)if(((c[b+8>>2]|0)+(d[b+24>>0]|0)|0)>>>0<94){a[l>>0]=4;e=k;break}else{c[j>>2]=0;a[l>>0]=(c[b+52>>2]|0)==0?2:3;e=0;break}else e=k}else{if(e)a[b+69>>0]=4;if(i<<24>>24!=4?(a[b+69>>0]|0)==(g&4):0){c[j>>2]=1023;e=1023}else e=k}while(0);if((a[b+69>>0]|0)==(g&4)){c[b+56>>2]=(c[b+44>>2]|0)+e;break}else{c[b+56>>2]=(c[b+44>>2]|0)+(512-e&1023);break}}while(0);h=h+-1|0;if(!h)break;else b=b+76|0}return}function Jk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(c[e+17608>>2]|0)>>>(d[f+344>>0]|0);if(a[f+360>>0]|0)return;o=e+17628|0;p=e+17624|0;m=e+17620|0;l=e+17616|0;q=f+336|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[c[f+332>>2]>>2]=c[q>>2];g=(c[f+72>>2]&n)+(c[f+56>>2]|0)|0;k=f+308|0;h=f+312|0;i=c[h>>2]|0;j=i+(c[k>>2]|0)|0;c[k>>2]=i;k=c[f+316>>2]|0;if(!k){c[p>>2]=i;c[m>>2]=i;c[o>>2]=i}else c[k>>2]=(c[k>>2]|0)+i;c[h>>2]=0;if(g>>>0<832){k=a[f+305>>0]|0;c[h>>2]=Rk(c[f+32>>2]|0,g,(k<<24>>24==0?0:j)<<(k&255))|0}g=(c[f+148>>2]&n)+(c[f+132>>2]|0)|0;if(g>>>0<832){k=Sk(c[f+108>>2]|0,g,c[l>>2]|0)|0;l=c[f+320>>2]|0;c[l>>2]=(c[l>>2]|0)+k}g=(c[f+224>>2]&n)+(c[f+208>>2]|0)|0;if(g>>>0<832){l=Sk(c[f+184>>2]|0,g,c[m>>2]|0)|0;m=c[f+324>>2]|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[f+300>>2]&n)+(c[f+284>>2]|0)|0;if(g>>>0<832){n=Sk(c[f+260>>2]|0,g,c[p>>2]|0)|0;p=c[f+328>>2]|0;c[p>>2]=(c[p>>2]|0)+n}c[q>>2]=c[o>>2];g=f+340|0;h=c[g>>2]|0;if(!h){e=f+32|0;c[e>>2]=(c[e>>2]|0)+(c[f+36>>2]|0);e=f+184|0;c[e>>2]=(c[e>>2]|0)+(c[f+188>>2]|0);e=f+108|0;c[e>>2]=(c[e>>2]|0)+(c[f+112>>2]|0);e=f+260|0;c[e>>2]=(c[e>>2]|0)+(c[f+264>>2]|0);return}if((b+18896|0)==(f|0)?(c[e+44>>2]&192|0)!=0:0){Tk(e,f,h,c[e+1124>>2]|0);Tk(e,f+152|0,c[g>>2]|0,c[e+1128>>2]|0);Tk(e,f+76|0,c[g>>2]|0,c[e+1120>>2]|0);Tk(e,f+228|0,c[g>>2]|0,c[f+356>>2]|0);return}else{Uk(e,f);return}}function Kk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[b+17604>>2]|0;if(!h)return;i=b+17596|0;d=(c[i>>2]|0)+(c[b+17600>>2]|0)|0;c[i>>2]=d;if(d>>>0>>0)return;g=b+17592|0;f=a[g>>0]|0;do{d=d-h|0;e=f+1<<24>>24;f=e&127}while(d>>>0>=h>>>0);h=e<<1&255;c[b+17608>>2]=((f&255)<64?h^126:h&126)&255;c[i>>2]=d;a[g>>0]=f;c[b+17612>>2]=(f&255)>>>2;return}function Lk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+1188|0;k=4;while(1){j=e+40|0;a:do switch(a[j>>0]|0){case 4:{b=c[l>>2]|0;f=d[e+60>>0]|0;if(!((1<>2]|0;b=((M(d[28208+((b>>>f&7)+(d[e+61>>0]|0))>>0]|0,~i)|0)>>4)+i|0;c[g>>2]=b;if((b|0)<1){c[g>>2]=0;a[j>>0]=(c[e+52>>2]|0)==0?2:3;b=0}j=d[e+68>>0]|0;if(j&8|0?(j&4|0)!=(d[e+69>>0]|0):0){c[e+56>>2]=(512-b&1023)+(c[e+44>>2]|0);break a}c[e+56>>2]=(c[e+44>>2]|0)+b}break}case 3:{f=c[l>>2]|0;g=d[e+62>>0]|0;if(!((1<>0]|0;if(h&8){i=e+48|0;b=c[i>>2]|0;if((b|0)<512){f=(d[28208+((f>>>g&7)+(d[e+63>>0]|0))>>0]<<2)+b|0;c[i>>2]=f;if((a[e+69>>0]|0)==(h&4)){b=f;m=16}else{b=f;f=512-f&1023;m=16}}}else{b=e+48|0;f=(c[b>>2]|0)+(d[28208+((f>>>g&7)+(d[e+63>>0]|0))>>0]|0)|0;c[b>>2]=f;b=f;m=16}if((m|0)==16){m=0;c[e+56>>2]=(c[e+44>>2]|0)+f}if((b|0)>=(c[e+52>>2]|0))a[j>>0]=2}break}case 2:{b=c[l>>2]|0;f=d[e+64>>0]|0;if(!((1<>0]|0;if(!(h&8)){i=e+48|0;j=(c[i>>2]|0)+(d[28208+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)|0;j=(j|0)<1023?j:1023;c[i>>2]=j;c[e+56>>2]=j+(c[e+44>>2]|0);break a}i=e+48|0;g=c[i>>2]|0;if((g|0)<512){b=(d[28208+((b>>>f&7)+(d[e+65>>0]|0))>>0]<<2)+g|0;c[i>>2]=b;if((a[e+69>>0]|0)==(h&4)){c[e+56>>2]=(c[e+44>>2]|0)+b;break a}else{c[e+56>>2]=(c[e+44>>2]|0)+(512-b&1023);break a}}}break}case 1:{g=c[l>>2]|0;h=d[e+66>>0]|0;if(!((1<>0]&8)){f=e+48|0;b=(c[f>>2]|0)+(d[28208+((g>>>h&7)+(d[e+67>>0]|0))>>0]|0)|0;c[f>>2]=b;if((b|0)>1022){c[f>>2]=1023;a[j>>0]=0;b=1023}}else{b=e+48|0;f=c[b>>2]|0;if((f|0)<512?(n=(d[28208+((g>>>h&7)+(d[e+67>>0]|0))>>0]<<2)+f|0,c[b>>2]=n,(n|0)<=511):0){b=n;break}c[b>>2]=1023;a[j>>0]=0;b=1023}while(0);c[e+56>>2]=(c[e+44>>2]|0)+b}break}default:{}}while(0);k=k+-1|0;if(!k)break;else e=e+76|0}return}function Mk(a){a=a|0;var b=0,d=0,e=0;if(c[a+36>>2]&4|0)Qk(a,1);d=1024-(c[a+44>>2]|0)|0;e=a+48|0;c[e>>2]=d;b=c[a+1084>>2]|0;if(!b){d=d<<12;c[e>>2]=d;return}d=M(c[a+16>>2]|0,d)|0;za[b&63](c[a>>2]|0,0,d,c[a+24>>2]|0);d=c[e>>2]|0;d=d<<12;c[e>>2]=d;return}function Nk(b,c){b=b|0;c=c|0;Pk(b,c,0);Pk(b,c,2);Pk(b,c,1);Pk(b,c,3);a[b+1132>>0]=1;return}function Ok(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;if(a[b+(e*76|0)+70>>0]|0)return;i=b+(e*76|0)+40|0;if(a[3416914]|0){a[i>>0]=0;c[b+(e*76|0)+48>>2]=1023;c[b+(e*76|0)+56>>2]=1023;return}if((d[i>>0]|0)<=1)return;a[i>>0]=1;g=d[b+(e*76|0)+68>>0]|0;if(!(g&8))return;h=b+(e*76|0)+48|0;f=c[h>>2]|0;if((g&4|0)!=(d[b+(e*76|0)+69>>0]|0)){f=512-f|0;c[h>>2]=f}if((f|0)>511){c[h>>2]=1023;a[i>>0]=0;f=1023}c[b+(e*76|0)+56>>2]=(c[b+(e*76|0)+44>>2]|0)+f;return}function Pk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;if(a[e+(f*76|0)+70>>0]|0)return;if(a[b+1132>>0]|0)return;c[e+(f*76|0)+32>>2]=0;a[e+(f*76|0)+69>>0]=0;b=e+(f*76|0)+48|0;if(((c[e+(f*76|0)+8>>2]|0)+(d[e+(f*76|0)+24>>0]|0)|0)>>>0<94){b=c[b>>2]|0;if((b|0)<1)h=6;else g=4}else{c[b>>2]=0;b=0;h=6}if((h|0)==6)g=(c[e+(f*76|0)+52>>2]|0)==0?2:3;a[e+(f*76|0)+40>>0]=g;if((a[e+(f*76|0)+68>>0]&12)==12){c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+(512-b&1023);return}else{c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;return}}function Qk(b,e){b=b|0;e=e|0;var f=0;f=b+33|0;e=d[f>>0]|e;a[f>>0]=e;f=b+20|0;if(a[f>>0]|0)return;if(!(e&d[b+21>>0]))return;a[f>>0]=1;e=c[b+1088>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,1);return}function Rk(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[1101936+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[1106032+(a<<2)>>2]|0;return d|0}function Sk(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[1101936+((((d<<15)+(a&67043328)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[1106032+(a<<2)>>2]|0;return d|0}function Tk(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=c[970864+((f<<4&32512)+e+(c[a+17612>>2]|0)<<2)>>2]|0;e=g+(f<<1)|0;if(!g){a=b+32|0;g=a;a=c[a>>2]|0;b=b+36|0;b=c[b>>2]|0;b=a+b|0;c[g>>2]=b;return}g=e>>>12&7;e=e&4095;e=(c[(c[b>>2]|0)+((g<<2|(d[28368+(e>>>8)>>0]|0))<<2)>>2]|0)+((c[a+1204+(e<<2)>>2]|0)>>>(g^7))|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;f=b+32|0;g=f;a=(M(c[b+28>>2]|0,e)|0)>>>1;b=f;b=c[b>>2]|0;b=a+b|0;c[g>>2]=b;return}function Uk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=c[b+356>>2]|0;g=c[970864+((e<<4&32512)+(c[b+340>>2]|0)+(c[a+17612>>2]|0)<<2)>>2]|0;e=g+(e<<1)|0;if(!g){g=b+32|0;c[g>>2]=(c[g>>2]|0)+(c[b+36>>2]|0);g=b+184|0;c[g>>2]=(c[g>>2]|0)+(c[b+188>>2]|0);g=b+108|0;c[g>>2]=(c[g>>2]|0)+(c[b+112>>2]|0);g=b+260|0;a=g;g=c[g>>2]|0;b=b+264|0;b=c[b>>2]|0;b=g+b|0;c[a>>2]=b;return}g=e>>>12&7;e=e&4095;f=g<<2|(d[28368+(e>>>8)>>0]|0);g=(c[a+1204+(e<<2)>>2]|0)>>>(g^7);e=(c[(c[b>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+28>>2]|0,e)|0)>>>1;e=b+32|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+152>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+180>>2]|0,e)|0)>>>1;e=b+184|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+76>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;h=(M(c[b+104>>2]|0,e)|0)>>>1;e=b+108|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+228>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17588>>2]|0)+e|0;g=b+260|0;h=g;a=(M(c[b+256>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=a+b|0;c[h>>2]=b;return}function Vk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=3415712+((b&255)<<2)|0;switch(a[3416882]|0){case 0:{zk(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 2:{Wk(e);Ak(c[b>>2]|0,3415720,e);Bk(c[b>>2]|0,3415720,e);if((e|0)<=0)return;f=d+4|0;b=0;do{c[(c[d>>2]|0)+(b<<2)>>2]=c[(c[853930]|0)+(b<<2)>>2];c[(c[f>>2]|0)+(b<<2)>>2]=c[(c[853931]|0)+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0));return}case 1:{Xk(c[b>>2]|0,d,e);return}default:return}}function Wk(a){a=a|0;var b=0,d=0,e=0;d=c[853930]|0;e=c[853931]|0;if((a|0)<=0)return;b=0;do{c[d+(b<<2)>>2]=0;c[e+(b<<2)>>2]=0;b=b+1|0}while((b|0)!=(a|0));return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=k;k=k+16|0;g=i;if(!d){k=i;return}h=g+4|0;e=c[b>>2]|0;f=0;b=c[b+4>>2]|0;while(1){Yk(a,g);c[e>>2]=c[g>>2];c[b>>2]=c[h>>2];f=f+1|0;if((f|0)==(d|0))break;else{e=e+4|0;b=b+4|0}}k=i;return}function Yk(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=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,y=0,z=0,A=0,B=0,C=0,D=0;D=k;k=k+16|0;A=D;B=b+1284|0;f=c[B>>2]|0;C=b+1280|0;g=c[C>>2]|0;z=b+1296|0;if((g|0)>(f|0)){w=g;v=f;A=b+1292|0;y=b+1300|0;u=b+1288|0;z=c[z>>2]|0;u=c[u>>2]|0;b=w-v|0;b=M(u,b)|0;z=M(z,v)|0;b=z+b|0;b=(b|0)/(w|0)|0;c[e>>2]=b;b=c[A>>2]|0;A=c[C>>2]|0;C=c[B>>2]|0;z=A-C|0;b=M(z,b)|0;z=c[y>>2]|0;C=M(z,C)|0;C=b+C|0;A=(C|0)/(A|0)|0;C=e+4|0;c[C>>2]=A;C=c[B>>2]|0;C=C+1024|0;c[B>>2]=C;k=D;return}g=b+1288|0;h=b+1300|0;i=b+1292|0;p=A+4|0;q=b+1312|0;r=b+1304|0;s=b+1256|0;t=b+897|0;u=b+1264|0;v=b+1252|0;w=b+1268|0;y=b+1260|0;f=c[z>>2]|0;j=c[h>>2]|0;while(1){c[g>>2]=f;c[i>>2]=j;c[h>>2]=0;c[z>>2]=0;o=0;do{switch((c[b>>2]|0)>>>2&1073741823|0){case 0:{f=s;j=12;break}case 1:{f=b+1252+((d[t>>0]|0)+5<<2)|0;j=12;break}case 2:{f=u;j=12;break}case 3:{f=v;j=12;break}case 4:{f=w;j=12;break}case 5:{f=y;j=12;break}default:{Zk(b,A);j=13}}if((j|0)==12?(j=0,n=c[f>>2]|0,Zk(b,A),(n|0)==0):0)j=13;if((j|0)==13){c[z>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[p>>2]|0)}l=c[q>>2]|0;n=b+1328+(l<<4)|0;m=c[n+4>>2]|0;f=r;j=c[f>>2]|0;f=c[f+4>>2]|0;a:do if(!(m>>>0>f>>>0|((m|0)==(f|0)?(c[n>>2]|0)>>>0>j>>>0:0)))do{m=b+1328+(l<<4)+8|0;n=d[m>>0]|0;if(!(n&4))break a;n=n&3;a[m>>0]=n;_k(b,n,a[b+1328+(l<<4)+9>>0]|0);l=(c[q>>2]|0)+1&2047;c[q>>2]=l;n=b+1328+(l<<4)|0;m=c[n+4>>2]|0;f=r;j=c[f>>2]|0;f=c[f+4>>2]|0}while(!(m>>>0>f>>>0|((m|0)==(f|0)?(c[n>>2]|0)>>>0>j>>>0:0)));while(0);m=DA(j|0,f|0,1,0)|0;n=r;c[n>>2]=m;c[n+4>>2]=x;o=o+1|0}while((o|0)!=24);if(!(c[853932]|0)){f=(c[z>>2]|0)*11|0;c[z>>2]=f;m=(c[h>>2]|0)*11|0}else{f=c[g>>2]|0;f=~~(+(((c[z>>2]|0)*12|0)-f|0)*.48766869871737195+ +(f|0));c[z>>2]=f;m=c[i>>2]|0;m=~~(+(((c[h>>2]|0)*12|0)-m|0)*.48766869871737195+ +(m|0))}c[h>>2]=m;l=c[C>>2]|0;j=(c[B>>2]|0)-l|0;c[B>>2]=j;if((l|0)>(j|0))break;else j=m}A=c[g>>2]|0;b=l-j|0;b=M(A,b)|0;A=M(f,j)|0;b=A+b|0;b=(b|0)/(l|0)|0;c[e>>2]=b;b=c[i>>2]|0;A=c[C>>2]|0;C=c[B>>2]|0;z=A-C|0;b=M(z,b)|0;z=c[h>>2]|0;C=M(z,C)|0;C=b+C|0;A=(C|0)/(A|0)|0;C=e+4|0;c[C>>2]=A;C=c[B>>2]|0;C=C+1024|0;c[B>>2]=C;k=D;return}function Zk(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;h=a[f+850>>0]|0;j=f+39|0;a[j>>0]=h;k=f+264|0;c[k>>2]=(c[k>>2]|0)>>>1;l=f+656|0;c[l>>2]=(c[l>>2]|0)>>>1;m=f+268|0;i=(a[m>>0]|0)+1<<24>>24;a[m>>0]=i;switch(c[f>>2]|0){case 1:{k=f+278|0;l=b[k>>1]|0;if(l<<16>>16==2){i=f+269|0;if(!(a[i>>0]|0))h=(d[f+270>>0]|0)+1&255;else h=0;a[f+271>>0]=h;h=f+274|0;j=b[h>>1]|0;a[f+272>>0]=j&3}else{j=f+274|0;i=f+269|0;h=j;j=b[j>>1]|0}l=(l+1&65535)%3|0;b[k>>1]=l;a[m>>0]=0;a[i>>0]=1;a[f+270>>0]=0;m=f+276|0;i=((l&65535)>>>1|d[m>>0])+(j&65535)|0;a[m>>0]=i>>>12&15;b[h>>1]=i&4095;i=0;break}case 0:{m=a[f+38>>0]|0;a[f+36>>0]=(m&255)>>>2;m=m&255;a[f+37>>0]=((m&64|0)==0?m^63:m&63)<<1;break}case 23:{a[j>>0]=h|1;break}case 2:{c[k>>2]=c[f+228>>2]&1023;c[l>>2]=e[f+362>>1];break}case 13:{a[m>>0]=0;a[f+269>>0]=1;a[f+270>>0]=0;i=f+274|0;l=f+276|0;m=(d[l>>0]|0)+(e[i>>1]|0)|0;a[l>>0]=m>>>12&15;b[i>>1]=m&4095;i=0;break}default:{}}m=i&255;h=f+274|0;l=(d[f+854>>0]<>1];b[h>>1]=l;h=f+269|0;if((l>>>m|a[f+280>>0]&a[f+31>>0]&255)&d[h>>0]|0){a[f+270>>0]=i;a[h>>0]=0}$k(f);al(f);bl(f);cl(f);dl(f);el(f);fl(f);gl(f);hl(f);il(f);jl(f);kl(f);ll(f);ml(f);a:do if(!(a[f+865>>0]|0)){h=(((c[f+8>>2]|0)+1|0)>>>0)%6|0;b[f+42>>1]=b[f+1164+(h<<1)>>1]|0;a[f+44>>0]=a[f+1176+h>>0]|0;a[f+45>>0]=a[f+1182+h>>0]|0;h=f+4|0}else{h=f+4|0;switch(c[h>>2]|0){case 1:{b[f+42>>1]=b[f+1190>>1]|0;a[f+44>>0]=a[f+1201>>0]|0;a[f+45>>0]=a[f+1207>>0]|0;break a}case 7:{b[f+42>>1]=b[f+1188>>1]|0;a[f+44>>0]=a[f+1200>>0]|0;a[f+45>>0]=a[f+1206>>0]|0;break a}case 13:{b[f+42>>1]=b[f+1192>>1]|0;a[f+44>>0]=a[f+1202>>0]|0;a[f+45>>0]=a[f+1208>>0]|0;break a}default:{m=(((c[f+8>>2]|0)+1|0)>>>0)%6|0;b[f+42>>1]=b[f+1164+(m<<1)>>1]|0;a[f+44>>0]=a[f+1176+m>>0]|0;a[f+45>>0]=a[f+1182+m>>0]|0;break a}}}while(0);nl(f);ol(f);m=(((c[f>>2]|0)+1|0)>>>0)%24|0;c[f>>2]=m;c[h>>2]=m;c[f+8>>2]=(m>>>0)%6|0;c[g>>2]=b[f+12>>1];c[g+4>>2]=b[f+14>>1];return}function _k(c,d,e){c=c|0;d=d|0;e=e|0;b[c+16>>1]=d<<7&256|e&255;if(!(d&1)){e=c+18|0;a[e>>0]=a[e>>0]|1;return}else{e=c+19|0;a[e>>0]=a[e>>0]|1;return}}function $k(b){b=b|0;var c=0,e=0,f=0,g=0,h=0;c=b+18|0;h=a[c>>0]|0;a[b+20>>0]=(h&3)==1&1;e=b+19|0;f=a[e>>0]|0;g=(f&3)==1;a[b+21>>0]=g&1;a[c>>0]=(h&255)<<1;a[e>>0]=(f&255)<<1;e=b+22|0;f=a[e>>0]|0;a[b+33>>0]=f;b=b+23|0;c=(d[b>>0]|0)+(f&255)|0;a[e>>0]=(g|f<<24>>24!=0&(c&224|0)==0)&1;a[b>>0]=c&31;return}function al(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=d+834|0;j=a[i>>0]|0;g=c[d>>2]|0;if((g|0)==2){k=d+828|0;f=a[d+829>>0]|0;e=((a[k>>0]|0)==0&f<<24>>24!=0&1|j&255)&255;a[k>>0]=f;a[d+896>>0]=(a[d+895>>0]|0)==0?0:e}else e=j;l=d+832|0;k=d+824|0;f=b[((a[l>>0]|0)==0?k:d+826|0)>>1]|0;a[l>>0]=e;if((g|0)==1?(a[d+828>>0]|0)!=0:0)h=6;else if(a[d+851>>0]|0)h=6;if((h|0)==6)f=f+1<<16>>16;e=d+831|0;if(!(a[e>>0]|0)){l=d+833|0;a[l>>0]=a[l>>0]|a[d+830>>0]&j;l=(f&65535)>>>10;l=l&255;a[i>>0]=l;l=f&1023;b[k>>1]=l;return}else{a[e>>0]=0;a[d+833>>0]=0;l=(f&65535)>>>10;l=l&255;a[i>>0]=l;l=f&1023;b[k>>1]=l;return}}function bl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d+848|0;l=a[j>>0]|0;g=c[d>>2]|0;if((g|0)==2){k=d+842|0;h=a[d+843>>0]|0;e=((a[k>>0]|0)==0&h<<24>>24!=0&1|l&255)&255;a[k>>0]=h}else e=l;h=d+846|0;k=d+836|0;f=b[((a[h>>0]|0)==0?k:d+840|0)>>1]|0;a[h>>0]=e;h=d+838|0;e=a[h>>0]|0;if((g|0)==1){e=e+1<<24>>24;a[h>>0]=e}if(e<<24>>24==16?(a[d+842>>0]|0)!=0:0)i=8;else if(a[d+851>>0]|0)i=8;if((i|0)==8)f=f+1<<16>>16;a[h>>0]=e&15;e=d+845|0;if(!(a[e>>0]|0)){i=d+847|0;a[i>>0]=a[i>>0]|a[d+844>>0]&l;l=(f&65535)>>>8;l=l&255;a[j>>0]=l;l=f&255;b[k>>1]=l;return}else{a[e>>0]=0;a[d+847>>0]=0;l=(f&65535)>>>8;l=l&255;a[j>>0]=l;l=f&255;b[k>>1]=l;return}}function cl(b){b=b|0;var e=0,f=0;e=b+4|0;f=c[e>>2]|0;a[b+458+f>>0]=a[b+871+f>>0]|0;a[(c[e>>2]|0)+(b+434)>>0]=0;f=b+8|0;if((c[f>>2]|0)==2?a[b+896>>0]|0:0){a[(c[e>>2]|0)+(b+458)>>0]=1;a[(c[e>>2]|0)+(b+434)>>0]=1}if((c[b>>2]|0)!=(d[b+866>>0]|0))return;a[(c[f>>2]|0)+(b+871)>>0]=a[b+867>>0]|0;a[(c[f>>2]|0)+12+(b+871)>>0]=a[b+868>>0]|0;a[(c[f>>2]|0)+6+(b+871)>>0]=a[b+869>>0]|0;a[(c[f>>2]|0)+18+(b+871)>>0]=a[b+870>>0]|0;return}function dl(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[d>>2]|0;h=c[d+8>>2]|0;l=a[d+862>>0]|0;g=d+818|0;f=b[g>>1]|0;b[d+822>>1]=f;h=h+((c[d+4>>2]|0)>>>0<12&1)|0;k=i&3;if(!k){if(!(l<<24>>24)){f=b[d+806+(h<<1)>>1]|0;b[g>>1]=f}a[d+820>>0]=a[d+1226+h>>0]|0;a[d+821>>0]=a[d+1232+h>>0]|0}if((i&-4|0)==4){if((a[d+897>>0]|l)<<24>>24)j=8}else if(l<<24>>24)j=8;if((j|0)==8)f=e[d+898>>1]<<23>>23&65535;i=d+12|0;b[i>>1]=0;j=d+14|0;b[j>>1]=0;h=c[853933]|0;if((h|0)!=2){g=(k|0)!=0|l<<24>>24!=0;f=f+(f<<16>>16>-1&(h|0)==0&1)<<16>>16;if(g&(a[d+820>>0]|0)!=0)b[i>>1]=f;if(!(g&(a[d+821>>0]|0)!=0))return}else{h=(k|0)==3|l<<24>>24!=0;l=(f&65535)>>>15^1;k=l+f<<16>>16;l=l+(f<<16>>16>>8&65535)<<16>>16;f=h&(a[d+821>>0]|0)!=0?k:l;b[i>>1]=((h&(a[d+820>>0]|0)!=0?k:l)<<16>>16)*3;f=(f<<16>>16)*3&65535}b[j>>1]=f;return}function el(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=(((c[e+4>>2]|0)+18|0)>>>0)%24|0;k=c[e+8>>2]|0;i=a[e+862>>0]|0;g=e+794+(k<<1)|0;h=b[g>>1]|0;f=i&255;i=i<<24>>24!=0;if(!(i|(c[30416+(((j>>>0)/6|0)*192|0)+160+(d[e+1214+k>>0]<<2)>>2]|0)==0))f=(b[e+698+(j<<1)>>1]>>5)+f|0;f=f+(j>>>0>5|i?h&65535:0)|0;l=f<<16;f=(l|0)>16711680?255:(l|0)<-16777216?-256:f&65535;if(!(j>>>0<6|i)){b[g>>1]=f;return}b[e+806+(k<<1)>>1]=h;b[g>>1]=f;return}function fl(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c[e+4>>2]|0;j=((l+6|0)>>>0)%24|0;k=c[e+8>>2]|0;i=(j>>>0)/6|0;l=((l+18|0)>>>0)%24|0;h=d[e+1214+k>>0]|0;if(!(c[30416+(i*192|0)+(h<<2)>>2]|0))g=0;else g=b[e+662+(k<<2)>>1]|0;if(!(c[30416+(i*192|0)+32+(h<<2)>>2]|0))f=0;else f=b[e+662+(k<<2)+2>>1]|0;if(c[30416+(i*192|0)+64+(h<<2)>>2]|0)f=b[e+686+(k<<1)>>1]|f;if(c[30416+(i*192|0)+96+(h<<2)>>2]|0)g=b[e+698+(l<<1)>>1]|g;if(c[30416+(i*192|0)+128+(h<<2)>>2]|0)f=b[e+698+(l<<1)>>1]|f;f=(f&65535)+(g&65535)<<16;if(j>>>0<6){i=a[e+1220+k>>0]|0;f=i<<24>>24==0?0:f>>16>>10-(i&255)&65535}else f=f>>17&65535;b[e+746+(j<<1)>>1]=f;f=e+662+(k<<2)|0;do if(l>>>0>=6)if((l+-12|0)>>>0<6){f=e+686+(k<<1)|0;break}else return;else b[e+662+(k<<2)+2>>1]=b[f>>1]|0;while(0);b[f>>1]=b[e+698+(l<<1)>>1]|0;return}function gl(a){a=a|0;var f=0,g=0,h=0;g=(((c[a+4>>2]|0)+19|0)>>>0)%24|0;h=((c[a+144+(g<<2)>>2]|0)>>>10)+(e[a+746+(g<<1)>>1]|0)|0;f=h&255;f=((e[a+362+(g<<1)>>1]|0)<<2)+(e[29392+(((h&256|0)==0?f:f^255)<<1)>>1]|0)|0;f=(f&57344|0)==0?f&65535:8191;f=((b[29904+((f&255^255)<<1)>>1]|1024)&65535)<<2>>>(f>>>8)<<16>>16;if(!(h&512)){f=(d[a+853>>0]|0)<<13^f;f=f<<18;f=f>>18;f=f&65535;h=a+698+(g<<1)|0;b[h>>1]=f;return}else{f=((d[a+853>>0]|0)<<13^~f)+1|0;f=f<<18;f=f>>18;f=f&65535;h=a+698+(g<<1)|0;b[h>>1]=f;return}}function hl(b){b=b|0;var d=0,e=0;d=c[b+4>>2]|0;e=((d+20|0)>>>0)%24|0;if(a[b+240+e>>0]|0)c[b+48+(e<<2)>>2]=0;e=((d+19|0)>>>0)%24|0;d=b+144+(e<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[b+48+(e<<2)>>2]|0)&1048575;if((a[b+240+e>>0]|0)==0?(a[b+852>>0]|0)==0:0)return;c[d>>2]=0;return}function il(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=e[b+42>>1]|0;p=k>>>4;m=d[b+36>>0]|0;o=m&15;n=a[(c[b+8>>2]|0)+(b+1244)>>0]|0;h=b+4|0;i=c[h>>2]|0;j=d[b+972+i>>0]|0;f=j&3;g=a[b+45>>0]|0;o=(m&8|0)==0?o:o^15;l=n&255;l=(p>>>(c[29104+(l<<5)+(o<<2)>>2]|0))+(p>>>(c[28848+(l<<5)+(o<<2)>>2]|0))<<((n&255)>5?l+-5|0:0)>>>2;if(!f)f=0;else{p=(g&255)<28?g:28;f=(j&2|(f|0)==3)+(((p&255)>>>2)+9&255)|0;f=(c[29360+((f<<2&4|p&3)<<2)>>2]|0)>>>(9-(f>>>1)|0)&255}c[b+48+(i<<2)>>2]=(M(((j&4|0)==0?f:0-f|0)+((((m&16|0)==0?l:0-l|0)+(k<<1)&4095)<<(d[b+44>>0]|0)>>>2)&131071,d[b+996+i>>0]|0)|0)>>>1;p=b+48+(c[h>>2]<<2)|0;c[p>>2]=c[p>>2]&1048575;return}function jl(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=(((c[e+4>>2]|0)+22|0)>>>0)%24|0;s=e+458+r|0;o=a[s>>0]|0;t=e+410+r|0;f=a[t>>0]|0;u=e+290+r|0;h=a[u>>0]|0;g=e+660|0;c[e+652>>2]=d[g>>0];i=e+283|0;a[g>>0]=(a[i>>0]|0)!=0&1;o=o<<24>>24==0;g=f<<24>>24!=0;if(o|g){a[e+240+r>>0]=(a[e+530+r>>0]|0)!=0&1;if(!(f<<24>>24))p=0;else p=(a[e+554+r>>0]|0)!=0}else{a[e+240+r>>0]=1;p=1}q=e+314+(r<<1)|0;f=b[q>>1]|0;f=o&g?((a[e+626+r>>0]|0)==0?f:(33554432-((f&65535)<<16)|0)>>>16&1023):f;g=(a[e+506+r>>0]|0)==0;j=f<<16>>16;n=g?(j&1008|0)==1008&1:j>>9&255;if(p)if(!(a[e+284>>0]|0))if(!(f<<16>>16==0|(a[u>>0]|0)!=0)?(m=a[i>>0]|0,!(o|m<<24>>24==0)):0){i=~j<<(m&255)>>>5;g=0}else{i=0;g=0}else{f=0;i=0;g=0}else{switch(a[u>>0]|0){case 0:{if(f<<16>>16){g=a[i>>0]|0;if(g<<24>>24!=0?!(o|(a[e+284>>0]|0)!=0):0)g=~j<<(g&255)>>>5;else g=0}else{g=0;h=1}break}case 1:{if((j>>5|0)!=(d[e+286>>0]|0))if(n<<24>>24==0?(k=a[i>>0]|0,k<<24>>24!=0):0){m=1<<(k&255)+-1;g=g?m:m<<2}else g=0;else{g=0;h=2}break}case 3:case 2:{if(n<<24>>24==0?(l=a[i>>0]|0,l<<24>>24!=0):0){m=1<<(l&255)+-1;g=g?m:m<<2}else g=0;break}default:g=0}i=g;g=o?3:h}if(a[e+434+r>>0]|0)f=(d[e+289>>0]<<3|f&65535)&65535;if(p){r=g;e=f;e=e&65535;e=i+e|0;s=a[s>>0]|0;a[t>>0]=s;t=e&1023;t=t&65535;b[q>>1]=t;a[u>>0]=r;return}if(a[e+578+r>>0]|0){r=g;e=f;e=e&65535;e=i+e|0;s=a[s>>0]|0;a[t>>0]=s;t=e&1023;t=t&65535;b[q>>1]=t;a[u>>0]=r;return}e=n<<24>>24==0|(a[u>>0]|0)==0;r=e?g:3;e=e?f:1023;e=e&65535;e=i+e|0;s=a[s>>0]|0;a[t>>0]=s;t=e&1023;t=t&65535;b[q>>1]=t;a[u>>0]=r;return}function kl(e){e=e|0;var f=0,g=0,h=0;g=(((c[e+4>>2]|0)+23|0)>>>0)%24|0;f=b[e+314+(g<<1)>>1]|0;f=((a[e+854>>0]|0)==0?((a[e+626+g>>0]|0)==0?f:512-(f&65535)&65535)&1023:0)+(d[e+287>>0]|0)|0;if(a[e+895>>0]|0?(c[e+8>>2]|0)==3:0){h=f;f=h&65535;h=h&64512;h=(h|0)==0;f=h?f:1023;g=e+362+(g<<1)|0;b[g>>1]=f;return}h=(d[e+288>>0]<<3)+f|0;f=h&65535;h=h&64512;h=(h|0)==0;f=h?f:1023;h=e+362+(g<<1)|0;b[h>>1]=f;return}function ll(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d+4>>2]|0;e=d+530+i|0;a[e>>0]=0;f=d+554+i|0;a[f>>0]=0;j=d+578+i|0;a[j>>0]=0;k=d+626+i|0;a[k>>0]=0;m=a[d+1140+i>>0]|0;l=m&255;g=d+602+i|0;if(!(l&8)){m=0;a[g>>0]=m;l=l>>>3;l=l&1;l=l&255;m=d+506+i|0;a[m>>0]=l;return}h=a[g>>0]|0;if(!(b[d+314+(i<<1)>>1]&512))e=h;else{if(!(l&3))a[e>>0]=1;if(!(m&1))a[f>>0]=1;e=m&3;e=e<<24>>24==3?1:h^e<<24>>24==2}a:do if(a[d+458+i>>0]|0){switch(m&7){case 3:case 5:break;default:break a}a[j>>0]=1}while(0);m=a[d+410+i>>0]|0;a[k>>0]=(l>>>2&1^h&255)&(m&255);m=m&e;a[g>>0]=m;l=l>>>3;l=l&1;l=l&255;m=d+506+i|0;a[m>>0]=l;return}function ml(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[e+4>>2]|0;j=e+281|0;l=a[j>>0]|0;k=e+282|0;h=((l&255)<<1)+(d[k>>0]|0)|0;h=(h&192|0)==0?h&255:63;f=h>>>2;g=f+(d[e+271>>0]|0)|0;a:do if(l<<24>>24!=0?(b[e+278>>1]|0)==2:0){if(h>>>0>=48){f=f+245+(c[28784+((h&3)<<4)+(d[e+272>>0]<<2)>>2]|0)|0;f=(f&255)>>>0>4?4:f&255;break}switch(g&15){case 12:{f=1;break a}case 13:{f=h>>>1&1;break a}case 14:{f=h&1;break a}default:{f=0;break a}}}else f=0;while(0);a[e+283>>0]=f;a[e+284>>0]=(h&254|0)==62&1;f=a[e+290+i>>0]|0;if(!(a[e+410+i>>0]|0))if(!(a[e+458+i>>0]|0))g=12;else g=13;else if(!(a[e+554+i>>0]|0))g=12;else g=13;b:do if((g|0)==12)switch(f<<24>>24){case 0:{g=13;break b}case 1:{f=a[e+1068+i>>0]|0;g=17;break b}case 2:{f=a[e+948+i>>0]|0;g=17;break b}case 3:{f=(d[e+1044+i>>0]<<1|1)&255;g=17;break b}default:break b}while(0);if((g|0)==13){f=a[e+924+i>>0]|0;g=17}if((g|0)==17)a[j>>0]=f;a[k>>0]=(d[e+45>>0]|0)>>>((a[e+900+i>>0]^3)&255);if(!(a[e+1092+i>>0]|0)){k=0;l=e+287|0;a[l>>0]=k;l=e+288|0;k=a[l>>0]|0;j=e+289|0;a[j>>0]=k;j=e+1116+i|0;j=a[j>>0]|0;a[l>>0]=j;l=e+285|0;j=a[l>>0]|0;k=e+286|0;a[k>>0]=j;k=e+1020+i|0;k=a[k>>0]|0;a[l>>0]=k;return}k=(d[e+37>>0]|0)>>>(d[49907+(d[(c[e+8>>2]|0)+(e+1238)>>0]|0)>>0]|0)&255;l=e+287|0;a[l>>0]=k;l=e+288|0;k=a[l>>0]|0;j=e+289|0;a[j>>0]=k;j=e+1116+i|0;j=a[j>>0]|0;a[l>>0]=j;l=e+285|0;j=a[l>>0]|0;k=e+286|0;a[k>>0]=j;k=e+1020+i|0;k=a[k>>0]|0;a[l>>0]=k;return}function nl(b){b=b|0;var e=0,f=0,g=0;e=b+40|0;f=d[e>>0]|0;g=c[31696+((d[b+35>>0]|0)<<2)>>2]|0;if((g&f|0)==(g|0)){a[e>>0]=0;g=b+38|0;e=(a[g>>0]|0)+1<<24>>24;a[g>>0]=e;f=b+34|0;f=a[f>>0]|0;f=e&f;a[g>>0]=f;return}else{a[e>>0]=(d[b+39>>0]|0)+f;e=b+38|0;g=e;e=a[e>>0]|0;f=b+34|0;f=a[f>>0]|0;f=e&f;a[g>>0]=f;return}}function ol(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=((c[f+4>>2]|0)>>>0)%12|0;j=c[f+8>>2]|0;n=f+25|0;a:do if(a[n>>0]|0){h=b[f+28>>1]|0;i=h&65535;b:do if((c[28640+(g<<2)>>2]|0)==(i&263|0)){g=(i&8|0)==0?g:g+12|0;switch(((h&240)+-48|0)>>>4&268435455|0){case 0:{h=a[f+30>>0]|0;o=h&15;a[f+996+g>>0]=o<<24>>24==0?1:o<<1&255;a[f+972+g>>0]=(h&255)>>>4&7;break b}case 1:{a[f+1116+g>>0]=a[f+30>>0]&127;break b}case 2:{o=a[f+30>>0]|0;a[f+924+g>>0]=o&31;a[f+900+g>>0]=(o&255)>>>6;break b}case 3:{o=a[f+30>>0]|0;a[f+1068+g>>0]=o&31;a[f+1092+g>>0]=(o&255)>>>7;break b}case 4:{a[f+948+g>>0]=a[f+30>>0]&31;break b}case 5:{o=a[f+30>>0]|0;a[f+1044+g>>0]=o&15;o=(o&255)>>>4;a[f+1020+g>>0]=o+1&16|o;break b}case 6:{a[f+1140+g>>0]=a[f+30>>0]&15;break b}default:break b}}while(0);if((c[28688+(j<<2)>>2]|0)==(i&259|0))switch(((i&252)+-160|0)>>>2&1073741823|0){case 0:{i=f+1212|0;o=f+1164+(j<<1)|0;b[o>>1]=(a[i>>0]&7)<<8|d[f+30>>0];i=(d[i>>0]|0)>>>3&7;a[f+1176+j>>0]=i;a[f+1182+j>>0]=i<<2|c[28720+((e[o>>1]|0)>>>7<<2)>>2];break a}case 1:{a[f+1212>>0]=a[f+30>>0]|0;break a}case 2:{i=f+1213|0;o=f+1188+(j<<1)|0;b[o>>1]=(a[i>>0]&7)<<8|d[f+30>>0];i=(d[i>>0]|0)>>>3&7;a[f+1200+j>>0]=i;a[f+1206+j>>0]=i<<2|c[28720+((e[o>>1]|0)>>>7<<2)>>2];break a}case 3:{a[f+1213>>0]=a[f+30>>0]|0;break a}case 4:{o=f+30|0;a[f+1214+j>>0]=a[o>>0]&7;a[f+1220+j>>0]=(d[o>>0]|0)>>>3&7;break a}case 5:{o=f+30|0;a[f+1244+j>>0]=a[o>>0]&7;a[f+1238+j>>0]=(d[o>>0]|0)>>>4&3;a[f+1226+j>>0]=(d[o>>0]|0)>>>7;a[f+1232+j>>0]=(d[o>>0]|0)>>>6&1;break a}default:break a}}while(0);i=(a[f+20>>0]|0)==0;if(i){if(a[f+21>>0]|0)k=22}else{a[n>>0]=0;k=22}if((k|0)==22){h=f+24|0;if(a[h>>0]|0?a[f+21>>0]|0:0)a[n>>0]=1;if(!i){g=b[f+16>>1]|0;if(!(g&240))g=0;else{b[f+28>>1]=g;g=1}a[h>>0]=g}c:do if(a[f+21>>0]|0?(l=b[f+16>>1]|0,m=l&65535,(m&256|0)==0):0)do switch(b[f+28>>1]|0){case 33:{a[f+849>>0]=m&1;a[f+850>>0]=m>>>1&1;a[f+851>>0]=m>>>2&1;a[f+852>>0]=m>>>3&1;a[f+853>>0]=m>>>4&1;a[f+854>>0]=m>>>5&1;a[f+855>>0]=m>>>6&1;a[f+856>>0]=m>>>7&1;break c}case 34:{a[f+34>>0]=(m&8|0)==0?0:127;a[f+35>>0]=l&7;break c}case 36:{o=f+826|0;b[o>>1]=b[o>>1]&3|l<<2&1020;break c}case 37:{o=f+826|0;b[o>>1]=b[o>>1]&1020|l&3;break c}case 38:{b[f+840>>1]=m&255;break c}case 39:{o=m>>>6&3;a[f+865>>0]=o;a[f+895>>0]=(o|0)==2&1;a[f+829>>0]=l&1;a[f+830>>0]=m>>>2&1;a[f+831>>0]=m>>>4&1;a[f+843>>0]=m>>>1&1;a[f+844>>0]=m>>>3&1;a[f+845>>0]=m>>>5&1;break c}case 40:{a[f+867>>0]=m>>>4&1;a[f+868>>0]=m>>>5&1;a[f+869>>0]=m>>>6&1;a[f+870>>0]=m>>>7&1;g=m&3;if((g|0)==3){a[f+866>>0]=-1;break c}else{a[f+866>>0]=(0-(m>>>2&1)&3)+g;break c}}case 42:{o=f+898|0;b[o>>1]=((l^128)&65535)<<1|b[o>>1]&1;break c}case 43:{a[f+897>>0]=(l&65535)>>>7;break c}case 44:{a[f+857>>0]=m&1;a[f+858>>0]=m>>>1&1;a[f+859>>0]=m>>>2&1;k=m>>>3&1;a[f+860>>0]=k;a[f+861>>0]=m>>>4&1;a[f+862>>0]=m>>>5&1;o=m>>>6&1;a[f+863>>0]=o;m=m>>>7&1;a[f+864>>0]=m;l=f+898|0;b[l>>1]=k|b[l>>1]&510;a[f+280>>0]=m<<24>>24==0?o:0;break c}default:break c}while(0);while(0);if(!i)a[f+26>>0]=b[f+16>>1]}if(!(a[n>>0]|0))return;a[f+30>>0]=b[f+16>>1];return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if((b&255)>1){g=0;return g|0}g=d&1073741823;f=3415712+((b&255)<<2)|0;b=a[3416882]|0;if(!(b<<24>>24)){b=(g>>>0)/72|0;if(!(a[3416883]&4)){b=(g>>>0)/144|0;e=a[3416903]|0;d=c[853966]|0;b=e<<24>>24==2|e<<24>>24==1&(b|0)<(d|0)?d:b}else{e=a[3416903]|0;d=c[853966]|0;b=e<<24>>24==2|e<<24>>24==1&(b|0)<(d|0)?d:b}c[f>>2]=ql(f,g,b)|0;g=b;return g|0}e=(g>>>0)/144|0;i=a[3416903]|0;h=c[853966]|0;e=i<<24>>24==2|i<<24>>24==1&(e|0)<(h|0)?h:e;switch(b<<24>>24){case 1:{b=Hy(34096)|0;c[f>>2]=b;if((d|0)<0){tl(0);b=c[f>>2]|0}ul(b,e,g);i=e;return i|0}case 2:{if(!(c[853930]|0)){i=Hy(1024)|0;c[853930]=i;c[853931]=i+512}i=rl(g,e)|0;c[f>>2]=i;sl(i,128);i=e;return i|0}default:{i=e;return i|0}}return 0}function ql(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Hy(20376)|0;if(!f){f=0;return f|0}QA(f|0,0,20376)|0;Bl();c[f+520>>2]=b;a[f+512>>0]=14;c[f+1648>>2]=f+18168;c[f+544>>2]=d;c[f+548>>2]=e;c[f+1604>>2]=0;c[f+1608>>2]=0;a[f+20361>>0]=(a[3416884]|0)==0?3:1;return f|0}function rl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0;if((a|0)==0|(b|0)==0){g=0;return g|0}g=Hy(7440)|0;QA(g|0,0,7440)|0;c[g>>2]=a;c[g+4>>2]=b;f=+(a|0)/+(b|0)/144.0;h[g+72>>3]=f;c[g+8>>2]=~~(f*4096.0);c[g+84>>2]=16384;c[g+80>>2]=0;a=0;do{if(a>>>0>3327){d=0;e=0}else{e=~~(268435455.0/+B(10.0,+(+(a|0)*.0234375/20.0)));d=0-e|0}c[103280+(a<<2)>>2]=e;c[103280+(a+12288<<2)>>2]=d;a=a+1|0}while((a|0)!=12288);c[23236]=116592;c[21188]=116592;a=1;do{e=~~(+qa(+(1.0/+D(+(+(a|0)*6.283185307179586*.000244140625))))*20.0/.0234375);e=(e|0)<3328?e:3328;d=103280+(e<<2)|0;c[84752+(2048-a<<2)>>2]=d;c[84752+(a<<2)>>2]=d;e=103280+(e+12288<<2)|0;c[84752+(4096-a<<2)>>2]=e;c[84752+(a+2048<<2)>>2]=e;a=a+1|0}while((a|0)!=1025);a=0;do{i=+D(+(+(a|0)*6.283185307179586*.0009765625));c[201584+(a<<2)>>2]=~~((i+1.0)*.5*503.4666666666667);c[205680+(a<<2)>>2]=~~(i*511.0);a=a+1|0}while((a|0)!=1024);a=0;do{c[51952+(a<<2)>>2]=~~(+B(+(+(4095-a|0)*.000244140625),8.0)*4096.0);c[51952+(a+4096<<2)>>2]=~~(+(a|0)*.000244140625*4096.0);a=a+1|0}while((a|0)!=4096);c[21180]=4095;a=4095;d=0;do{a:do if(!a)a=0;else while(1){if((c[51952+(a<<2)>>2]|0)>>>0>=d>>>0)break a;a=a+-1|0;if(!a){a=0;break}}while(0);c[209776+(d<<2)>>2]=a<<16;d=d+1|0}while((d|0)!=4096);a=0;do{c[103184+(a<<2)>>2]=(~~(+(a*3|0)/.0234375)<<16)+268435456;a=a+1|0}while((a|0)!=15);c[25811]=536805376;a=0;do{c[226160+(a<<2)>>2]=~~(f*+(a|0)*4096.0*.5)>>>0;a=a+1|0}while((a|0)!=2048);c[25540]=0;c[25541]=0;c[25542]=0;c[25543]=0;c[25700]=0;c[25701]=0;c[25702]=0;c[25703]=0;a=0;do{i=(+(a&3|0)*.25+1.0)*f*+(1<<(a>>>2)|0)*268435456.0;e=a+4|0;c[102160+(e<<2)>>2]=~~(i/399128.0)>>>0;c[102800+(e<<2)>>2]=~~(i/5514396.0)>>>0;a=a+1|0}while((a|0)!=60);a=102672;d=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=64;do{c[102160+(a<<2)>>2]=c[25603];c[102800+(a<<2)>>2]=c[25763];a=a+1|0}while((a|0)!=96);a=0;do{i=f*+((c[14032+(a<<2)>>2]|0)>>>0)*32.0;c[101136+(a<<2)>>2]=~~i;c[101648+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+32<<2)>>2]|0)>>>0)*32.0;c[101264+(a<<2)>>2]=~~i;c[101776+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+64<<2)>>2]|0)>>>0)*32.0;c[101392+(a<<2)>>2]=~~i;c[101904+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);a=0;do{i=f*+((c[14032+(a+96<<2)>>2]|0)>>>0)*32.0;c[101520+(a<<2)>>2]=~~i;c[102032+(a<<2)>>2]=~~-i;a=a+1|0}while((a|0)!=32);i=+(b&262143|0);c[25812]=~~(1068373114.88/i)>>>0;c[25813]=~~(1492501135.36/i)>>>0;c[25814]=~~(1615981445.12/i)>>>0;c[25815]=~~(1709933854.72/i)>>>0;c[25816]=~~(1846835937.28/i)>>>0;c[25817]=~~(2585033441.28/i)>>>0;c[25818]=~~(12911745433.6/i)>>>0;c[25819]=~~(19381039923.2/i)>>>0;vl(g);return g|0}function sl(a,b){a=a|0;b=b|0;c[a+620>>2]=b&1;c[a+1156>>2]=b>>>1&1;c[a+1692>>2]=b>>>2&1;c[a+2228>>2]=b>>>3&1;c[a+2764>>2]=b>>>4&1;c[a+3300>>2]=b>>>5&1;c[a+7432>>2]=b>>>6&1;return}function tl(a){a=a|0;c[853932]=(a|0)==2&1;c[853933]=(a|0)==3?2:a;return}function ul(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=d+1280|0;k=c[j>>2]|0;QA(d|0,0,34096)|0;h=d+290|0;i=h+24|0;do{a[h>>0]=3;h=h+1|0}while((h|0)<(i|0));g=0;do{b[d+362+(g<<1)>>1]=1023;b[d+314+(g<<1)>>1]=1023;a[d+996+g>>0]=1;g=g+1|0}while((g|0)!=24);g=(e|0)==0;h=d+1226|0;i=h+12|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(i|0));if(g){c[j>>2]=k;return}k=JA(e|0,0,147456,0)|0;k=KA(k|0,x|0,f|0,0)|0;c[j>>2]=k;return}function vl(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+32|0;c[a+60>>2]=0;c[a+64>>2]=0;c[a+68>>2]=0;f=a+12|0;c[a+80>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;b=0;do{d=a+88+(b*536|0)|0;c[a+88+(b*536|0)+16>>2]=0;c[a+88+(b*536|0)+20>>2]=0;c[a+88+(b*536|0)+24>>2]=-1;c[a+88+(b*536|0)+28>>2]=-1;c[a+88+(b*536|0)+32>>2]=0;c[a+88+(b*536|0)+36>>2]=31;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[a+88+(b*536|0)+144>>2]=0;c[a+88+(b*536|0)+148>>2]=0;d=a+88+(b*536|0)+156|0;e=a+88+(b*536|0)+40|0;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=536870912;c[a+88+(b*536|0)+160>>2]=0;c[a+88+(b*536|0)+164>>2]=0;c[a+88+(b*536|0)+152>>2]=3;c[a+88+(b*536|0)+192>>2]=0;c[a+88+(b*536|0)+252>>2]=0;c[a+88+(b*536|0)+256>>2]=0;c[a+88+(b*536|0)+264>>2]=536870912;c[a+88+(b*536|0)+268>>2]=0;c[a+88+(b*536|0)+272>>2]=0;c[a+88+(b*536|0)+260>>2]=3;c[a+88+(b*536|0)+300>>2]=0;c[a+88+(b*536|0)+360>>2]=0;c[a+88+(b*536|0)+364>>2]=0;c[a+88+(b*536|0)+372>>2]=536870912;c[a+88+(b*536|0)+376>>2]=0;c[a+88+(b*536|0)+380>>2]=0;c[a+88+(b*536|0)+368>>2]=3;c[a+88+(b*536|0)+408>>2]=0;c[a+88+(b*536|0)+468>>2]=0;c[a+88+(b*536|0)+472>>2]=0;c[a+88+(b*536|0)+480>>2]=536870912;c[a+88+(b*536|0)+484>>2]=0;c[a+88+(b*536|0)+488>>2]=0;c[a+88+(b*536|0)+476>>2]=3;c[a+88+(b*536|0)+516>>2]=0;b=b+1|0}while((b|0)!=6);QA(a+3304|0,-1,2048)|0;wl(a,0,-74);wl(a,2,-74);wl(a,1,-64);wl(a,3,-64);wl(a,0,-75);wl(a,2,-75);wl(a,1,-64);wl(a,3,-64);wl(a,0,-76);wl(a,2,-76);wl(a,1,-64);wl(a,3,-64);b=178;while(1){f=b&255;wl(a,0,f);wl(a,2,f);wl(a,1,0);wl(a,3,0);if(b>>>0>34)b=b+-1|0;else break}wl(a,0,42);wl(a,1,-128);return}function wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;switch(b&3){case 0:{c[a+16>>2]=d&255;return}case 1:{f=a+16|0;b=c[f>>2]|0;if((b|0)==42){c[a+64>>2]=((d&255)<<6)+-8192;return}g=b&240;if(g>>>0<=47){c[a+3304+(b<<2)>>2]=d&255;zl(a,c[f>>2]|0,d);return}b=a+3304+(b<<2)|0;e=d&255;if((c[b>>2]|0)==(e|0))return;c[b>>2]=e;b=c[f>>2]|0;if(g>>>0<160){xl(a,b,d);return}else{yl(a,b,d);return}}case 2:{c[a+20>>2]=d&255;return}case 3:{f=a+20|0;b=c[f>>2]|0;g=b&240;if(g>>>0<=47)return;b=a+4328+(b<<2)|0;e=d&255;if((c[b>>2]|0)==(e|0))return;c[b>>2]=e;b=(c[f>>2]|0)+256|0;if(g>>>0<160){xl(a,b,d);return}else{yl(a,b,d);return}}default:{}}}function xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b&3;if((e|0)==3)return;g=b>>>2&3;f=(b&256|0)==0?e:e+3|0;switch(((b&240)+-48|0)>>>4&268435455|0){case 0:{d=d&255;b=d&15;c[a+88+(f*536|0)+96+(g*108|0)+4>>2]=(b|0)==0?1:b<<1;c[a+88+(f*536|0)+96+(g*108|0)>>2]=101136+((d>>>4&7)<<7);c[a+88+(f*536|0)+148>>2]=-1;return}case 1:{d=d&127;c[a+88+(f*536|0)+96+(g*108|0)+8>>2]=d;c[a+88+(f*536|0)+96+(g*108|0)+12>>2]=d<<5;return}case 2:{e=d&255;c[a+88+(f*536|0)+96+(g*108|0)+20>>2]=e>>>6^3;c[a+88+(f*536|0)+148>>2]=-1;e=e&31;e=(e|0)==0?102672:102160+(e<<1<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+32>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+72>>2]=e;if(c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 3:{b=d&255;d=b&128;c[a+88+(f*536|0)+96+(g*108|0)+104>>2]=d;if(!d)e=31;else e=c[a+88+(f*536|0)+44>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+100>>2]=e;e=b&31;e=(e|0)==0?102672:102800+(e<<1<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+36>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+76>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=1)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 4:{e=d&31;if(!(e<<24>>24))e=102672;else e=102800+((e<<1&255)<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+40>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+80>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=2)return;if((c[a+88+(f*536|0)+96+(g*108|0)+60>>2]|0)>=536870912)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 5:{e=d&255;c[a+88+(f*536|0)+96+(g*108|0)+16>>2]=c[103184+(e>>>4<<2)>>2];e=102800+((e<<2&60|2)<<2)|0;c[a+88+(f*536|0)+96+(g*108|0)+44>>2]=e;e=c[e+(c[a+88+(f*536|0)+96+(g*108|0)+24>>2]<<2)>>2]|0;c[a+88+(f*536|0)+96+(g*108|0)+84>>2]=e;if((c[a+88+(f*536|0)+96+(g*108|0)+56>>2]|0)!=3)return;if((c[a+88+(f*536|0)+96+(g*108|0)+60>>2]|0)>=536870912)return;c[a+88+(f*536|0)+96+(g*108|0)+64>>2]=e;return}case 6:{if(!(c[12145]|0))return;e=d&255;if(!(e&8)){c[a+88+(f*536|0)+96+(g*108|0)+28>>2]=0;return}else{c[a+88+(f*536|0)+96+(g*108|0)+28>>2]=e&15;return}}default:return}}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b&3;if((e|0)==3)return;switch(((b&252)+-160|0)>>>2&1073741823|0){case 0:{g=(b&256|0)==0?e:e+3|0;e=a+88+(g*536|0)+48|0;f=c[e>>2]&1792|d&255;c[e>>2]=f;c[a+88+(g*536|0)+80>>2]=c[a+88+(g*536|0)+64>>2]<<2|c[28720+(f>>>7<<2)>>2];c[a+88+(g*536|0)+148>>2]=-1;return}case 1:{g=(b&256|0)==0?e:e+3|0;e=a+88+(g*536|0)+48|0;f=d&255;d=c[e>>2]&255|f<<8&1792;c[e>>2]=d;f=f>>>3&7;c[a+88+(g*536|0)+64>>2]=f;c[a+88+(g*536|0)+80>>2]=c[28720+(d>>>7<<2)>>2]|f<<2;c[a+88+(g*536|0)+148>>2]=-1;return}case 2:{if((b|0)>=256)return;g=e+1|0;e=a+1208+(g<<2)|0;f=c[e>>2]&1792|d&255;c[e>>2]=f;c[a+1240+(g<<2)>>2]=c[a+1224+(g<<2)>>2]<<2|c[28720+(f>>>7<<2)>>2];c[a+1308>>2]=-1;return}case 3:{if((b|0)>=256)return;g=e+1|0;e=a+1208+(g<<2)|0;f=d&255;d=c[e>>2]&255|f<<8&1792;c[e>>2]=d;f=f>>>3&7;c[a+1224+(g<<2)>>2]=f;c[a+1240+(g<<2)>>2]=c[28720+(d>>>7<<2)>>2]|f<<2;c[a+1308>>2]=-1;return}case 4:{g=(b&256|0)==0?e:e+3|0;f=a+88+(g*536|0)+32|0;b=d&255;e=b&7;if((c[f>>2]|0)!=(e|0)){c[f>>2]=e;c[a+88+(g*536|0)+192>>2]=0;c[a+88+(g*536|0)+300>>2]=0;c[a+88+(g*536|0)+408>>2]=0;c[a+88+(g*536|0)+516>>2]=0}c[a+88+(g*536|0)+36>>2]=9-(b>>>3&7);return}case 5:{g=(b&256|0)==0?e:e+3|0;e=d&255;c[a+88+(g*536|0)+24>>2]=e<<24>>31;c[a+88+(g*536|0)+28>>2]=e<<25>>31;b=c[14544+((e>>>4&3)<<2)>>2]|0;c[a+88+(g*536|0)+44>>2]=b;c[a+88+(g*536|0)+40>>2]=c[14560+((e&7)<<2)>>2];c[a+88+(g*536|0)+196>>2]=(c[a+88+(g*536|0)+200>>2]|0)==0?31:b;c[a+88+(g*536|0)+304>>2]=(c[a+88+(g*536|0)+308>>2]|0)==0?31:b;c[a+88+(g*536|0)+412>>2]=(c[a+88+(g*536|0)+416>>2]|0)==0?31:b;e=a+88+(g*536|0)+520|0;if(!(c[a+88+(g*536|0)+524>>2]|0)){c[e>>2]=31;return}else{c[e>>2]=b;return}}default:return}}function zl(a,b,d){a=a|0;b=b|0;d=d|0;switch(b|0){case 34:{b=d&255;if(!(b&8)){c[a+24>>2]=0;c[a+28>>2]=0;return}else{c[a+28>>2]=c[103248+((b&7)<<2)>>2];return}}case 36:{b=a+32|0;d=c[b>>2]&3|(d&255)<<2;c[b>>2]=d;b=a+36|0;d=4194304-(d<<12)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+40>>2]=d;return}case 37:{b=a+32|0;d=c[b>>2]&1020|d&3;c[b>>2]=d;b=a+36|0;d=4194304-(d<<12)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+40>>2]=d;return}case 38:{d=d&255;c[a+44>>2]=d;b=a+48|0;d=16777216-(d<<16)|0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;c[a+52>>2]=d;return}case 39:{b=d&255;d=a+56|0;if((c[d>>2]^b)&64|0)c[a+1308>>2]=-1;a=a+12|0;c[a>>2]=(b>>>4^63)&b>>>2&c[a>>2];c[d>>2]=b;return}case 40:{d=d&255;b=d&3;if((b|0)==3)return;b=a+88+(((d&4|0)==0?b:b+3|0)*536|0)|0;if(!(d&16))Al(b,0);else Dk(b,0);if(!(d&32))Al(b,2);else Dk(b,2);if(!(d&64))Al(b,1);else Dk(b,1);if(!(d&128)){Al(b,3);return}else{Dk(b,3);return}}case 42:{c[a+64>>2]=((d&255)<<6)+-8192;return}case 43:{c[a+60>>2]=d&-128&255;return}default:return}}function Al(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+96+(b*108|0)+56|0;if((c[d>>2]|0)==3)return;e=a+96+(b*108|0)+60|0;f=c[e>>2]|0;if((f|0)<268435456)c[e>>2]=(c[51952+(f>>16<<2)>>2]<<16)+268435456;c[a+96+(b*108|0)+64>>2]=c[a+96+(b*108|0)+84>>2];c[a+96+(b*108|0)+68>>2]=536870912;c[d>>2]=3;return}function Bl(){var b=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.0,x=0,z=0;b=0;do{t=b;b=b+1|0;u=~~+y(+(65536.0/+ma(+(+(b|0)*.03125*.125))));u=(u>>>4&1)+(u>>5)|0;s=u<<2;t=t<<1;c[1106032+(t<<2)>>2]=s;v=t|1;c[1106032+(v<<2)>>2]=0-s;s=u<<1;c[1106032+(t+512<<2)>>2]=s;c[1106032+(v+512<<2)>>2]=0-s;c[1106032+(t+1024<<2)>>2]=u;c[1106032+(v+1024<<2)>>2]=0-u;s=u>>1;c[1106032+(t+1536<<2)>>2]=s;c[1106032+(v+1536<<2)>>2]=0-s;s=u>>2;c[1106032+(t+2048<<2)>>2]=s;c[1106032+(v+2048<<2)>>2]=0-s;s=u>>3;c[1106032+(t+2560<<2)>>2]=s;c[1106032+(v+2560<<2)>>2]=0-s;s=u>>4;c[1106032+(t+3072<<2)>>2]=s;c[1106032+(v+3072<<2)>>2]=0-s;s=u>>5;c[1106032+(t+3584<<2)>>2]=s;c[1106032+(v+3584<<2)>>2]=0-s;s=u>>6;c[1106032+(t+4096<<2)>>2]=s;c[1106032+(v+4096<<2)>>2]=0-s;s=u>>7;c[1106032+(t+4608<<2)>>2]=s;c[1106032+(v+4608<<2)>>2]=0-s;s=u>>8;c[1106032+(t+5120<<2)>>2]=s;c[1106032+(v+5120<<2)>>2]=0-s;s=u>>9;c[1106032+(t+5632<<2)>>2]=s;c[1106032+(v+5632<<2)>>2]=0-s;u=u>>10;c[1106032+(t+6144<<2)>>2]=u;c[1106032+(v+6144<<2)>>2]=0-u}while((b|0)!=256);b=0;do{w=+D(+(+(b<<1|1|0)*3.141592653589793*.0009765625));v=~~(+K(+((w>0.0?1.0:-1.0)/w))*8.0/.6931471805599453*32.0*2.0);c[1101936+(b<<2)>>2]=(v<<1&2)+v&-2|!(w>=0.0)&1;b=b+1|0}while((b|0)!=1024);e=0;do{f=e<<5;g=e+8|0;h=e+16|0;i=e+24|0;j=e+32|0;k=e+40|0;l=e+48|0;v=0;do{m=(v<<8)+f|0;n=(v&1|0)==0;o=(v&2|0)==0;p=(v&4|0)==0;q=(v&8|0)==0;r=(v&16|0)==0;s=(v&32|0)==0;t=(v&64|0)==0;u=0;do{if(n)b=0;else b=a[31184+(e<<3)+u>>0]|0;if(!o)b=(d[31184+(g<<3)+u>>0]|0)+(b&255)&255;if(!p)b=(d[31184+(h<<3)+u>>0]|0)+(b&255)&255;if(!q)b=(d[31184+(i<<3)+u>>0]|0)+(b&255)&255;if(!r)b=(d[31184+(j<<3)+u>>0]|0)+(b&255)&255;if(!s)b=(d[31184+(k<<3)+u>>0]|0)+(b&255)&255;if(!t)b=(d[31184+(l<<3)+u>>0]|0)+(b&255)&255;x=b&255;z=u+m|0;c[970864+(z<<2)>>2]=x;b=(u^7)+m|0;c[970864+(b+8<<2)>>2]=x;x=0-x|0;c[970864+(z+16<<2)>>2]=x;c[970864+(b+24<<2)>>2]=x;u=u+1|0}while((u|0)!=8);v=v+1|0}while((v|0)!=128);e=e+1|0}while((e|0)!=8);return}function Cl(b){b=b|0;b=3415712+((b&255)<<2)|0;switch(a[3416882]|0){case 0:{Dl(c[b>>2]|0);return}case 2:{El(c[b>>2]|0);b=c[853930]|0;if(!b)return;Iy(b);c[853930]=0;c[853931]=0;return}case 1:{Iy(c[b>>2]|0);return}default:return}}function Dl(a){a=a|0;Iy(a);return}function El(a){a=a|0;Iy(a);return}function Fl(b){b=b|0;b=3415712+((b&255)<<2)|0;switch(a[3416882]|0){case 0:{Gl(c[b>>2]|0);return}case 2:{vl(c[b>>2]|0);return}case 1:{ul(c[b>>2]|0,0,0);return}default:return}}function Gl(b){b=b|0;var d=0,e=0;e=b+512|0;Hl(e);Il(b+520|0);c[b+1704>>2]=0;c[b+1700>>2]=0;c[b+18108>>2]=0;a[b+18104>>0]=0;c[b+18120>>2]=126;c[b+18124>>2]=0;c[b+568>>2]=0;c[b+576>>2]=0;a[b+1644>>0]=0;a[b+553>>0]=0;c[b+556>>2]=0;QA(b|0,0,512)|0;Jl(e,34,0);Jl(e,39,48);Jl(e,38,0);Jl(e,37,0);Jl(e,36,0);Kl(b+18168|0);Ll(e,182,192);Ll(e,438,192);Ll(e,181,192);Ll(e,437,192);Ll(e,180,192);Ll(e,436,192);d=178;while(1){Ll(e,d,0);Ll(e,d|256,0);if(d>>>0>48)d=d+-1|0;else break}a[b+20353>>0]=0;a[b+20354>>0]=0;c[b+20356>>2]=0;d=b+20361|0;if((a[d>>0]|0)!=2)return;a[d>>0]=1;return}function Hl(a){a=a|0;var b=0.0,d=0;d=c[a+36>>2]|0;if(!d)b=0.0;else b=+((c[a+32>>2]|0)>>>0)/+(d>>>0)/144.0;h[a+16>>3]=b;c[a+1196>>2]=~~(b*65536.0)>>>0;c[a+1200>>2]=196608;c[a+17600>>2]=~~(b*16777216.0)>>>0;c[a+24>>2]=144;Xl(a,b);return}function Il(b){b=b|0;a[b+21>>0]=3;Qk(b,0);Wl(b,0);return}function Jl(b,d,e){b=b|0;d=d|0;e=e|0;switch(d|0){case 40:{d=e&3;if((d|0)==3)return;if(e&4)d=(a[b>>0]&4)==0?d:d+3|0;d=(c[b+1136>>2]|0)+((d&255)*364|0)|0;if(!(e&16))Vl(b,d,0);else Ul(b,d,0);if(!(e&32))Vl(b,d,2);else Ul(b,d,2);if(!(e&64))Vl(b,d,1);else Ul(b,d,1);if(!(e&128)){Vl(b,d,3);return}else{Ul(b,d,3);return}}case 34:if(!(e&8)){c[b+17604>>2]=0;c[b+17596>>2]=0;a[b+17592>>0]=0;c[b+17612>>2]=0;c[b+17608>>2]=126;return}else{c[b+17604>>2]=c[31696+((e&7)<<2)>>2]<<24;return}case 36:{b=b+52|0;c[b>>2]=c[b>>2]&3|e<<2;return}case 37:{b=b+52|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 38:{a[b+60>>0]=e;return}case 39:{d=b+8|0;Tl(b,d,c[d>>2]|0,e);return}default:return}}function Kl(b){b=b|0;var d=0;d=0;do{c[b+(d*364|0)+336>>2]=0;c[b+(d*364|0)+308>>2]=0;c[b+(d*364|0)+312>>2]=0;c[b+(d*364|0)+348>>2]=0;c[b+(d*364|0)+36>>2]=-1;a[b+(d*364|0)+70>>0]=0;c[b+(d*364|0)+32>>2]=0;a[b+(d*364|0)+68>>0]=0;a[b+(d*364|0)+69>>0]=0;a[b+(d*364|0)+40>>0]=0;c[b+(d*364|0)+48>>2]=1023;c[b+(d*364|0)+56>>2]=1023;c[b+(d*364|0)+112>>2]=-1;a[b+(d*364|0)+146>>0]=0;c[b+(d*364|0)+108>>2]=0;a[b+(d*364|0)+144>>0]=0;a[b+(d*364|0)+145>>0]=0;a[b+(d*364|0)+116>>0]=0;c[b+(d*364|0)+124>>2]=1023;c[b+(d*364|0)+132>>2]=1023;c[b+(d*364|0)+188>>2]=-1;a[b+(d*364|0)+222>>0]=0;c[b+(d*364|0)+184>>2]=0;a[b+(d*364|0)+220>>0]=0;a[b+(d*364|0)+221>>0]=0;a[b+(d*364|0)+192>>0]=0;c[b+(d*364|0)+200>>2]=1023;c[b+(d*364|0)+208>>2]=1023;c[b+(d*364|0)+264>>2]=-1;a[b+(d*364|0)+298>>0]=0;c[b+(d*364|0)+260>>2]=0;a[b+(d*364|0)+296>>0]=0;a[b+(d*364|0)+297>>0]=0;a[b+(d*364|0)+268>>0]=0;c[b+(d*364|0)+276>>2]=1023;c[b+(d*364|0)+284>>2]=1023;d=d+1|0}while((d|0)!=6);return}function Ll(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=e&3;if((g|0)==3)return;m=(e|0)>255?g+3|0:g;j=b+1136|0;l=c[j>>2]|0;k=l+(m*364|0)|0;g=e>>>2;h=g&3;i=l+(m*364|0)+(h*76|0)|0;do switch(((e&240)+-48|0)>>>4&268435455|0){case 0:{Ml(b+8|0,k,i,f);return}case 1:{Nl(i,f);return}case 2:{Ol(k,i,f);return}case 3:{Pl(i,f);if(!(a[b>>0]&2))return;c[l+(m*364|0)+(h*76|0)+72>>2]=f<<24>>31;return}case 4:{Ql(i,f);return}case 5:{Rl(i,f);return}case 6:{a[l+(m*364|0)+(h*76|0)+68>>0]=f&15;if((d[l+(m*364|0)+(h*76|0)+40>>0]|0)<=1)return;if(f&8|0?(f&4|0)!=(d[l+(m*364|0)+(h*76|0)+69>>0]|0):0){c[l+(m*364|0)+(h*76|0)+56>>2]=(512-(c[l+(m*364|0)+(h*76|0)+48>>2]|0)&1023)+(c[l+(m*364|0)+(h*76|0)+44>>2]|0);return}c[l+(m*364|0)+(h*76|0)+56>>2]=(c[l+(m*364|0)+(h*76|0)+44>>2]|0)+(c[l+(m*364|0)+(h*76|0)+48>>2]|0);return}case 7:{switch(g&3){case 0:{g=b+48|0;if(!(a[3416914]|0)){h=l+(m*364|0)+356|0;g=a[g>>0]|0}else{h=l+(m*364|0)+356|0;e=(c[h>>2]|0)>>>8&255;a[g>>0]=e;g=e}e=((g&255)<<8&1792)+f|0;k=(g&255)>>>3;f=k&255;a[l+(m*364|0)+352>>0]=k<<2&255|a[28368+(e>>>7)>>0];c[l+(m*364|0)+348>>2]=(c[b+1204+(e<<1<<2)>>2]|0)>>>(7-f|0);c[h>>2]=e|f<<11;c[l+(m*364|0)+36>>2]=-1;return}case 1:{h=f&63;a[b+48>>0]=h;g=l+(m*364|0)+356|0;if(!(a[3416914]|0))return;c[g>>2]=c[g>>2]&255|h<<8;return}case 2:{if(a[3416914]|0)a[b+1116>>0]=(c[b+1120+(m<<2)>>2]|0)>>>8;if((e|0)>=256)return;e=a[b+1116>>0]|0;f=((e&255)<<8&1792)+f|0;e=(e&255)>>>3;l=e&255;a[b+1117+m>>0]=e<<2&255|a[28368+(f>>>7)>>0];c[b+1104+(m<<2)>>2]=(c[b+1204+(f<<1<<2)>>2]|0)>>>(7-l|0);c[b+1120+(m<<2)>>2]=f|l<<11;c[(c[j>>2]|0)+764>>2]=-1;return}case 3:{if((e|0)>=256)return;h=f&63;a[b+1116>>0]=h;g=b+1120+(m<<2)|0;if(!(a[3416914]|0))return;c[g>>2]=c[g>>2]&255|h<<8;return}default:{}}break}case 8:switch(g&3){case 0:{e=f>>>3&7;a[l+(m*364|0)+304>>0]=f&7;a[l+(m*364|0)+305>>0]=(e|0)==0?0:e+6&255;Sl(b,k,m);return}case 1:{if(!(a[b>>0]&2))return;c[l+(m*364|0)+340>>2]=f<<5&224;a[l+(m*364|0)+344>>0]=a[49911+(f>>>4&3)>>0]|0;m=m<<1;c[b+1140+(m<<2)>>2]=f<<24>>31;c[b+1140+((m|1)<<2)>>2]=f<<25>>31;return}default:return}default:return}while(0)}function Ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=e&15;c[d+28>>2]=(f|0)==0?1:f<<1;c[d>>2]=a+60+((e>>>4&7)<<7);c[b+36>>2]=-1;return}function Nl(a,b){a=a|0;b=b|0;var e=0;b=b<<3&1016;c[a+44>>2]=b;e=d[a+68>>0]|0;if((e&8|0?(e&4|0)!=(d[a+69>>0]|0|0):0)?(d[a+40>>0]|0)>1:0){e=512-(c[a+48>>2]|0)&1023;b=e+b|0;e=a+56|0;c[e>>2]=b;return}e=c[a+48>>2]|0;b=e+b|0;e=a+56|0;c[e>>2]=b;return}function Ol(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+4|0;i=a[j>>0]|0;g=f&31;g=(g|0)==0?0:(g<<1)+32|0;h=e+8|0;c[h>>2]=g;f=3-(f>>>6)&255;a[j>>0]=f;if(i<<24>>24!=f<<24>>24){c[b+36>>2]=-1;g=c[h>>2]|0}g=g+(d[e+24>>0]|0)|0;if(g>>>0>=94){i=-112;f=0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}i=a[28512+g>>0]|0;f=a[28384+g>>0]|0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}function Pl(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+12>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+62>>0]=a[28384+e>>0]|0;a[b+63>>0]=a[28512+e>>0]|0;return}function Ql(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+16>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+64>>0]=a[28384+e>>0]|0;a[b+65>>0]=a[28512+e>>0]|0;return}function Rl(b,e){b=b|0;e=e|0;var f=0,g=0;g=c[31632+(e>>4<<2)>>2]|0;c[b+52>>2]=g;f=b+40|0;if((a[f>>0]|0)==3?(c[b+48>>2]|0)>=(g|0):0)a[f>>0]=2;g=(e<<2&60)+34|0;c[b+20>>2]=g;g=g+(d[b+24>>0]|0)|0;a[b+66>>0]=a[28384+g>>0]|0;a[b+67>>0]=a[28512+g>>0]|0;return}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+17632+(e<<2)|0;e=d+316|0;f=d+320|0;g=d+324|0;i=d+332|0;switch(a[d+304>>0]|0){case 0:{c[e>>2]=b+17620;c[g>>2]=b+17628;c[f>>2]=b+17624;e=b+17616|0;break}case 1:{j=b+17628|0;c[e>>2]=j;c[g>>2]=j;c[f>>2]=b+17624;e=b+17616|0;break}case 2:{j=b+17624|0;c[e>>2]=j;c[g>>2]=b+17628;c[f>>2]=j;e=b+17616|0;break}case 3:{c[e>>2]=b+17620;c[g>>2]=b+17628;e=b+17624|0;c[f>>2]=e;break}case 4:{c[e>>2]=b+17620;c[g>>2]=h;c[f>>2]=b+17624;e=b+17628|0;break}case 5:{c[e>>2]=0;c[g>>2]=h;c[f>>2]=h;e=b+17616|0;break}case 6:{c[e>>2]=b+17620;c[g>>2]=h;c[f>>2]=h;e=b+17628|0;break}case 7:{c[e>>2]=h;c[g>>2]=h;c[f>>2]=h;e=b+17628|0;break}default:{j=d+328|0;c[j>>2]=h;return}}c[i>>2]=e;j=d+328|0;c[j>>2]=h;return}function Tl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(((c[b+44>>2]^g)&192|0?(i=b+1136|0,c[(c[i>>2]|0)+764>>2]=-1,(g&192|0)!=128):0)?(h=b+1132|0,a[h>>0]|0):0){Ok((c[i>>2]|0)+728|0,0);Ok((c[i>>2]|0)+728|0,2);Ok((c[i>>2]|0)+728|0,1);Ok((c[i>>2]|0)+728|0,3);a[h>>0]=0}if(g&32|0)Wl(e,2);if(g&16|0)Wl(e,1);l=e+36|0;if((g&2|0?(c[l>>2]&2|0)==0:0)?(j=4096-(d[e+52>>0]<<4)|0,c[e+56>>2]=j,k=c[e+1084>>2]|0,k|0):0){j=M(c[e+16>>2]|0,j)|0;za[k&63](f,1,j,c[e+24>>2]|0)}if(!(g&1)){c[l>>2]=g;return}if(c[l>>2]&1|0){c[l>>2]=g;return}b=1024-(c[e+44>>2]|0)|0;i=e+48|0;c[i>>2]=b;h=c[e+1084>>2]|0;if(h){b=M(c[e+16>>2]|0,b)|0;za[h&63](f,0,b,c[e+24>>2]|0);b=c[i>>2]|0}c[i>>2]=b<<12;c[l>>2]=g;return}function Ul(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e+(f*76|0)+70|0;if(a[h>>0]|0){a[h>>0]=1;return}if(a[b+1132>>0]|0?((c[b+1136>>2]|0)+1092|0)!=(e|0):0){a[h>>0]=1;return}c[e+(f*76|0)+32>>2]=0;a[e+(f*76|0)+69>>0]=0;b=e+(f*76|0)+48|0;if(((c[e+(f*76|0)+8>>2]|0)+(d[e+(f*76|0)+24>>0]|0)|0)>>>0<94){b=c[b>>2]|0;if((b|0)<1)i=7;else g=4}else{c[b>>2]=0;b=0;i=7}if((i|0)==7)g=(c[e+(f*76|0)+52>>2]|0)==0?2:3;a[e+(f*76|0)+40>>0]=g;if((a[e+(f*76|0)+68>>0]&12)==12){c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+(512-b&1023);a[h>>0]=1;return}else{c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;a[h>>0]=1;return}}function Vl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+(f*76|0)+70|0;if(!(a[j>>0]|0)){a[j>>0]=0;return}if(a[b+1132>>0]|0?((c[b+1136>>2]|0)+1092|0)!=(e|0):0){a[j>>0]=0;return}h=e+(f*76|0)+40|0;if(a[3416914]|0){a[h>>0]=0;c[e+(f*76|0)+48>>2]=1023;c[e+(f*76|0)+56>>2]=1023;a[j>>0]=0;return}if((d[h>>0]|0)<=1){a[j>>0]=0;return}a[h>>0]=1;g=d[e+(f*76|0)+68>>0]|0;if(!(g&8)){a[j>>0]=0;return}i=e+(f*76|0)+48|0;b=c[i>>2]|0;if((g&4|0)!=(d[e+(f*76|0)+69>>0]|0)){b=512-b|0;c[i>>2]=b}if((b|0)>511){c[i>>2]=1023;a[h>>0]=0;b=1023}c[e+(f*76|0)+56>>2]=(c[e+(f*76|0)+44>>2]|0)+b;a[j>>0]=0;return}function Wl(b,e){b=b|0;e=e|0;var f=0;f=b+33|0;e=(e^255)&d[f>>0];a[f>>0]=e;f=b+20|0;if(!(a[f>>0]|0))return;if(e&d[b+21>>0]|0)return;a[f>>0]=0;e=c[b+1088>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,0);return}function Xl(a,b){a=a|0;b=+b;var e=0,f=0;e=0;do{f=~~(+(d[31728+e>>0]|0)*b*64.0);c[a+68+(e<<2)>>2]=f;c[a+580+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[31728+(e+32)>>0]|0)*b*64.0);c[a+196+(e<<2)>>2]=f;c[a+708+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[31728+(e+64)>>0]|0)*b*64.0);c[a+324+(e<<2)>>2]=f;c[a+836+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{f=~~(+(d[31728+(e+96)>>0]|0)*b*64.0);c[a+452+(e<<2)>>2]=f;c[a+964+(e<<2)>>2]=0-f;e=e+1|0}while((e|0)!=32);e=0;do{c[a+1204+(e<<2)>>2]=~~(+(e|0)*32.0*b*64.0)>>>0;e=e+1|0}while((e|0)!=4096);c[a+17588>>2]=~~(b*131072.0*64.0)>>>0;return}function Yl(b,d,e){b=b|0;d=d|0;e=e|0;b=3415712+((b&255)<<2)|0;switch(a[3416882]|0){case 0:{Zl(c[b>>2]|0,d&3,e);return}case 2:{wl(c[b>>2]|0,d&3,e);return}case 1:{_l(c[b>>2]|0,d,e);return}default:return}}function Zl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;switch(e&3){case 0:{a[b+552>>0]=f;a[b+20352>>0]=0;return}case 1:{if(a[b+20352>>0]|0)return;h=b+512|0;i=b+520|0;e=a[b+552>>0]|0;g=e&255;a[b+g>>0]=f;if((g&240|0)!=32){yk(c[i>>2]|0);Ll(h,g,f&255);return}switch(e<<24>>24){case 42:{yk(c[i>>2]|0);c[b+20356>>2]=((f&255)<<6)+-8192;return}case 43:{a[b+20353>>0]=f&-128;return}case 44:{a[b+20354>>0]=f&32;return}default:{yk(c[i>>2]|0);Jl(h,g,f&255);return}}}case 2:{a[b+552>>0]=f;a[b+20352>>0]=1;return}case 3:{if((a[b+20352>>0]|0)!=1)return;i=d[b+552>>0]|256;a[b+i>>0]=f;yk(c[b+520>>2]|0);Ll(b+512|0,i,f&255);return}default:{}}}function _l(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=k;k=k+16|0;l=n;m=b+1316|0;g=c[m>>2]|0;h=d[b+1328+(g<<4)+8>>0]|0;if(h&4){_k(b,h&3,a[b+1328+(g<<4)+9>>0]|0);g=c[m>>2]|0;c[b+1312>>2]=g+1&2047;p=b+1328+(g<<4)|0;q=c[p>>2]|0;p=c[p+4>>2]|0;h=b+1304|0;i=h;i=EA(q|0,p|0,c[i>>2]|0,c[i+4>>2]|0)|0;j=x;o=h;c[o>>2]=q;c[o+4>>2]=p;if(!((i|0)==0&(j|0)==0)){g=j;do{i=DA(i|0,g|0,-1,-1)|0;g=x;Zk(b,l)}while(!((i|0)==0&(g|0)==0));g=c[m>>2]|0}}else h=b+1304|0;a[b+1328+(g<<4)+8>>0]=e&3|4;a[b+1328+(g<<4)+9>>0]=f;q=b+1320|0;o=q;o=DA(c[o>>2]|0,c[o+4>>2]|0,15,0)|0;p=x;f=h;l=c[f>>2]|0;f=c[f+4>>2]|0;e=p>>>0>>0|(p|0)==(f|0)&o>>>0>>0;o=e?l:o;p=e?f:p;f=b+1328+(g<<4)|0;c[f>>2]=o;c[f+4>>2]=p;c[q>>2]=o;c[q+4>>2]=p;c[m>>2]=(c[m>>2]|0)+1&2047;k=n;return}function $l(b){b=b|0;a[3416882]=(b&255)<3?b:0;return}function am(b){b=b|0;a[3416883]=b;switch(a[3416882]|0){case 0:{bm(b);return}case 2:{cm(b&255);return}case 1:{dm(b);return}default:return}}function bm(b){b=b|0;a[3416884]=(b&255)>>>2&1;return}function cm(a){a=a|0;c[12146]=a&1;c[12145]=a>>>1&1;return}function dm(a){a=a|0;switch((a&255)>>>3&3){case 0:{tl(2);return}case 1:{tl(1);return}case 2:{tl(0);return}case 3:{tl(3);return}default:{}}}function em(b,d){b=b|0;d=d|0;b=3415712+((b&255)<<2)|0;switch(a[3416882]|0){case 0:{fm(c[b>>2]|0,d);return}case 2:{sl(c[b>>2]|0,d);return}case 1:{gm(c[b>>2]|0,d);return}default:return}}function fm(b,c){b=b|0;c=c|0;a[b+18528>>0]=c&1;a[b+18892>>0]=c>>>1&1;a[b+19256>>0]=c>>>2&1;a[b+19620>>0]=c>>>3&1;a[b+19984>>0]=c>>>4&1;a[b+20348>>0]=c>>>5&1;a[b+20360>>0]=c>>>6&1;return}function gm(a,b){a=a|0;b=b|0;c[a+1252>>2]=b&1;c[a+1256>>2]=b>>>1&1;c[a+1260>>2]=b>>>2&1;c[a+1264>>2]=b>>>3&1;c[a+1268>>2]=b>>>4&1;c[a+1272>>2]=b>>>5&1;c[a+1276>>2]=b>>>6&1;return}function hm(a,b,d){a=a|0;b=b|0;d=d|0;im(c[3415736+((a&255)<<2)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function im(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((f|0)<=0)return;o=b+5852|0;p=b+176|0;q=b+352|0;r=b+528|0;h=b+704|0;i=b+880|0;j=(a[b+1608>>0]&32)==0;k=b+1056|0;l=b+1232|0;m=b+1408|0;n=b+5736|0;g=0;do{c[o>>2]=0;jm(b);km(b,b);km(b,p);km(b,q);km(b,r);km(b,h);km(b,i);if(j){km(b,k);km(b,l);km(b,m)}else lm(b,b,c[n>>2]&1);s=c[o>>2]|0;c[d+(g<<2)>>2]=s;c[e+(g<<2)>>2]=s;mm(b);g=g+1|0}while((g|0)!=(f|0));return}function jm(b){b=b|0;var e=0,f=0;e=b+5720|0;f=(c[e>>2]|0)+(c[b+5724>>2]|0)|0;f=f>>>0>3523215359?f+771751936|0:f;c[e>>2]=f;f=d[32112+(f>>>24)>>0]|0;c[b+5708>>2]=(a[b+5716>>0]|0)==0?f>>>2:f;f=b+5728|0;e=(c[f>>2]|0)+(c[b+5732>>2]|0)|0;c[f>>2]=e;c[b+5712>>2]=e>>>24&7|d[b+5717>>0];return}function km(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(a[d+173>>0]|0)return;k=b+5848|0;c[k>>2]=0;f=b+5708|0;g=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+72>>2]&c[f>>2])|0;l=d+32|0;h=c[l>>2]|0;i=d+36|0;j=c[i>>2]|0;c[l>>2]=j;l=c[d+28>>2]|0;c[l>>2]=(c[l>>2]|0)+j;c[i>>2]=0;if(g>>>0<384){l=a[d+24>>0]|0;c[i>>2]=nm(c[d+16>>2]|0,g,(l<<24>>24==0?0:j+h|0)<<(l&255),e[d+78>>1]|0)|0}f=(c[d+132>>2]|0)+(c[d+128>>2]|0)+(c[d+152>>2]&c[f>>2])|0;if(f>>>0>=384)return;k=om(c[d+96>>2]|0,f,c[k>>2]|0,e[d+158>>1]|0)|0;l=b+5852|0;c[l>>2]=(c[l>>2]|0)+k;return}function lm(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=b+5848|0;c[l>>2]=0;k=b+5708|0;g=(c[d+1108>>2]|0)+(c[d+1104>>2]|0)+(c[d+1128>>2]&c[k>>2])|0;m=d+1088|0;h=d+1092|0;i=c[h>>2]|0;j=i+(c[m>>2]|0)|0;c[m>>2]=i;if(!(a[d+1096>>0]|0))c[l>>2]=i;c[h>>2]=0;if(g>>>0<384){m=a[d+1080>>0]|0;c[h>>2]=nm(c[d+1072>>2]|0,g,(m<<24>>24==0?0:j)<<(m&255),e[d+1134>>1]|0)|0}h=c[k>>2]|0;g=(c[d+1188>>2]|0)+(c[d+1184>>2]|0)+(c[d+1208>>2]&h)|0;if(g>>>0<384?(a[b+1584>>0]|0)==0:0){l=(om(c[d+1152>>2]|0,g,c[l>>2]|0,e[d+1214>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[b+1284>>2]|0)+(c[b+1280>>2]|0)+(c[b+1304>>2]&h)|0;if(g>>>0<384?(a[b+1588>>0]|0)==0:0){m=c[b+1248>>2]|0;l=c[b+1504>>2]|0;l=((m>>>18^m>>>23|m>>>19|l>>>19^l>>>21)&1|0)==0?208:564;m=(f|0)!=0;l=(om(((l&512|0)==0?(m?52:l):m?720:l)<<16,g,0,e[b+1310>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[b+1364>>2]|0)+(c[b+1360>>2]|0)+(c[b+1384>>2]&h)|0;if(g>>>0<384?(a[b+1585>>0]|0)==0:0){m=(c[b+1248>>2]&16777216)+16777216|0;f=(om((f|0)==0?m:m^16777216,g,0,e[b+1390>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f}g=(c[b+1460>>2]|0)+(c[b+1456>>2]|0)+(c[b+1480>>2]&h)|0;if(g>>>0<384?(a[b+1586>>0]|0)==0:0){f=(om(c[b+1424>>2]|0,g,0,e[b+1486>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f}g=(c[b+1540>>2]|0)+(c[b+1536>>2]|0)+(c[b+1560>>2]&h)|0;if(g>>>0>=384)return;if(a[b+1587>>0]|0)return;f=c[b+1248>>2]|0;m=c[b+1504>>2]|0;f=(om(((m>>>19^m>>>21)&1|0)==0?(f>>>18^f>>>23|f>>>19)<<25&33554432|16777216:50331648,g,0,e[b+1566>>1]|0)|0)<<1;m=b+5852|0;c[m>>2]=(c[m>>2]|0)+f;return}function mm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=b+1596|0;f=(c[n>>2]|0)+(c[b+1600>>2]|0)|0;c[n>>2]=f;o=b+1604|0;e=c[o>>2]|0;if(f>>>0>=e>>>0){r=b+1592|0;do{f=f-e|0;c[n>>2]=f;c[r>>2]=(c[r>>2]|0)+1;h=0;do{i=h>>>1;j=h&1;k=b+(i*176|0)+(j*80|0)+42|0;switch(a[k>>0]|0){case 4:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+60>>0]|0;if(((1<>2]|0,j=((M(d[31856+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+61>>0]|0))>>0]|0,~s)|0)>>3)+s|0,c[m>>2]=j,(j|0)<1):0){c[m>>2]=0;a[k>>0]=3}break}case 3:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+62>>0]|0;if(((1<>2]|0)+(d[31856+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+63>>0]|0))>>0]|0)|0,c[t>>2]=s,s>>>0>=(c[b+(i*176|0)+(j*80|0)+56>>2]|0)>>>0):0)a[k>>0]=2;break}case 2:{if((a[b+(i*176|0)+(j*80|0)+41>>0]|0)==0?(p=c[r>>2]|0,q=d[b+(i*176|0)+(j*80|0)+64>>0]|0,((1<>2]|0)+(d[31856+((p>>>q&7)+(d[b+(i*176|0)+(j*80|0)+65>>0]|0))>>0]|0)|0;c[t>>2]=(s|0)<511?s:511}break}case 1:{e=c[r>>2]|0;g=d[b+(i*176|0)+(j*80|0)+64>>0]|0;if(((1<>2]|0)+(d[31856+((e>>>g&7)+(d[b+(i*176|0)+(j*80|0)+65>>0]|0))>>0]|0)|0,c[l>>2]=t,(t|0)>510):0){c[l>>2]=511;a[k>>0]=0}break}default:{}}h=h+1|0}while((h|0)!=18);e=c[o>>2]|0}while(f>>>0>=e>>>0)}k=b+5712|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h*176|0)+(i*80|0)+76>>0]|0){e=c[b+(h*176|0)+160>>2]|0;f=a[31984+((e>>>3&112)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h*176|0)+(i*80|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*176|0)+(i*80|0)+20|0;break}else{g=e+(f<<24>>24)|0;e=b+(h*176|0)+(i*80|0)+16|0;f=e;g=M((c[b+1612+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h*176|0)+(i*80|0)+15>>0]|0)|0;break}}else{g=b+(h*176|0)+(i*80|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*176|0)+(i*80|0)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=18);t=b+5740|0;s=(c[t>>2]|0)+(c[b+5744>>2]|0)|0;e=s>>>16;c[t>>2]=s&65535;if(!e)return;g=b+5736|0;f=c[g>>2]|0;do{t=f>>>1;f=(f&1|0)==0?t:t^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function nm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[1132656+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6143){e=0;return e|0}e=c[1149040+(a<<2)>>2]|0;return e|0}function om(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[1132656+((((d<<16)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6143){e=0;return e|0}e=c[1149040+(a<<2)>>2]|0;return e|0}function pm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3415736+((b&255)<<2)|0;b=(d|0)/72|0;g=a[3416903]|0;f=c[853966]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;d=qm(d,b)|0;c[e>>2]=d;sm(d,e);um(c[e>>2]|0,e);wm(c[e>>2]|0,e);d=b;return d|0}function qm(a,b){a=a|0;b=b|0;a=Am(a,b,0)|0;if(!a)return a|0;Bm(a);return a|0}function rm(a,b,c){a=a|0;b=b|0;c=c|0;return}function sm(a,b){a=a|0;b=b|0;zm(a,5,b);return}function tm(a,b){a=a|0;b=b|0;return}function um(a,b){a=a|0;b=b|0;ym(a,12,b);return}function vm(a){a=a|0;im(c[a>>2]|0,c[853958]|0,c[853959]|0,0);return}function wm(a,b){a=a|0;b=b|0;xm(a,20,b);return}function xm(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5812>>2]=b;c[a+5816>>2]=d;return}function ym(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5804>>2]=b;c[a+5808>>2]=d;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;c[a+5796>>2]=b;c[a+5800>>2]=d;return}function Am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;Om();f=e&2;g=(f<<6)+5872|0;h=Hy(g)|0;if(!h){h=0;return h|0}QA(h|0,0,g|0)|0;if(f|0)c[h+5764>>2]=h+5872;a[h+5820>>0]=e;c[h+5828>>2]=b;c[h+5832>>2]=d;Pm(h);return h|0}function Bm(a){a=a|0;Cm(a);return} +function $b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;if((c[ja>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else ka=4;do if((ka|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);k=b+96|0;l=b+144|0;m=a+7400|0;n=b+360|0;o=a+7404|0;p=b+204|0;q=b+252|0;r=a+7408|0;s=b+420|0;t=b+468|0;u=a+7412|0;v=b+40|0;w=b+148|0;x=b+364|0;y=b+256|0;z=b+472|0;A=b+124|0;B=b+156|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;j=0;do{c[m>>2]=c[l>>2];c[o>>2]=c[n>>2];c[r>>2]=c[q>>2];c[u>>2]=c[t>>2];h=(M(c[a+6376+(j<<2)>>2]|0,c[v>>2]|0)|0)>>9;i=c[w>>2]|0;if(!h){c[l>>2]=(c[l>>2]|0)+i;c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[y>>2]|0);h=(c[t>>2]|0)+(c[z>>2]|0)|0}else{i=((M(h,i)|0)>>9)+i|0;c[l>>2]=i+(c[l>>2]|0);i=c[x>>2]|0;la=(M(i,h)|0)>>9;c[n>>2]=(c[n>>2]|0)+i+la;la=c[y>>2]|0;i=(M(la,h)|0)>>9;c[q>>2]=(c[q>>2]|0)+la+i;i=c[z>>2]|0;h=(M(i,h)|0)>>9;h=(c[t>>2]|0)+i+h|0}c[t>>2]=h;i=c[a+5352+(j<<2)>>2]|0;h=(c[C>>2]|0)+(c[51952+(c[B>>2]>>16<<2)>>2]|0)|0;if(c[A>>2]&4){c[E>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;h=(i>>c[D>>2])+h|0}c[E>>2]=h;h=(c[G>>2]|0)+(c[51952+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;h=(i>>c[H>>2])+h|0}c[I>>2]=h;h=(c[K>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;h=(i>>c[L>>2])+h|0}c[N>>2]=h;h=(c[P>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=25}}else ka=25;if((ka|0)==25){ka=0;h=(i>>c[Q>>2])+h|0}c[R>>2]=h;la=(c[B>>2]|0)+(c[S>>2]|0)|0;c[B>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](k);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[g>>2]|0)+(c[X>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](p);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](s);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);i=c[b>>2]|0;c[ba>>2]=i;c[b>>2]=c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];i=(c[o>>2]|0)+i|0;c[o>>2]=i;i=(c[(c[84752+((i>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[84752+(((c[u>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[84752+(((c[r>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;h=i>>15;c[da>>2]=h;if((i|0)<=402653183){if((i|0)<-402620416){h=-12287;ka=36}}else{h=12287;ka=36}if((ka|0)==36){ka=0;c[da>>2]=h}la=(c[d>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&h);la=(c[ha>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);j=j+1|0}while((j|0)<(e|0));return}function ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+96|0;ja=b+156|0;if(((c[ja>>2]|0)==536870912?(h=b+372|0,(c[h>>2]|0)==536870912):0)?(f=b+264|0,(c[f>>2]|0)==536870912):0){g=b+480|0;if(!((c[g>>2]|0)!=536870912&(e|0)>0))return}else ka=5;do if((ka|0)==5)if((e|0)>0){f=b+264|0;g=b+480|0;h=b+372|0;break}else return;while(0);l=b+144|0;m=a+7400|0;n=b+312|0;o=b+360|0;p=a+7404|0;q=b+204|0;r=b+252|0;s=a+7408|0;t=b+420|0;u=b+468|0;v=a+7412|0;w=b+40|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;k=0;do{c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];i=(M(c[a+6376+(k<<2)>>2]|0,c[w>>2]|0)|0)>>9;j=c[x>>2]|0;if(!i){c[l>>2]=(c[l>>2]|0)+j;c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);i=(c[u>>2]|0)+(c[A>>2]|0)|0}else{j=((M(i,j)|0)>>9)+j|0;c[l>>2]=j+(c[l>>2]|0);j=c[y>>2]|0;la=(M(j,i)|0)>>9;c[o>>2]=(c[o>>2]|0)+j+la;la=c[z>>2]|0;j=(M(la,i)|0)>>9;c[r>>2]=(c[r>>2]|0)+la+j;j=c[A>>2]|0;i=(M(j,i)|0)>>9;i=(c[u>>2]|0)+j+i|0}c[u>>2]=i;j=c[a+5352+(k<<2)>>2]|0;i=(c[C>>2]|0)+(c[51952+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4){c[E>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=14}}else ka=14;if((ka|0)==14){ka=0;i=(j>>c[D>>2])+i|0}c[E>>2]=i;i=(c[G>>2]|0)+(c[51952+(c[h>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=18}}else ka=18;if((ka|0)==18){ka=0;i=(j>>c[H>>2])+i|0}c[I>>2]=i;i=(c[K>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=22}}else ka=22;if((ka|0)==22){ka=0;i=(j>>c[L>>2])+i|0}c[N>>2]=i;i=(c[P>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=i;if((i|0)>4095)i=0;else{i=i^4095;ka=26}}else ka=26;if((ka|0)==26){ka=0;i=(j>>c[Q>>2])+i|0}c[R>>2]=i;la=(c[ja>>2]|0)+(c[S>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ia);la=(c[h>>2]|0)+(c[U>>2]|0)|0;c[h>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](n);la=(c[f>>2]|0)+(c[X>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](q);la=(c[g>>2]|0)+(c[_>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](t);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);j=c[b>>2]|0;c[ba>>2]=j;c[b>>2]=c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];j=(c[(c[84752+(((c[v>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+j+(c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[84752+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;i=j>>15;c[da>>2]=i;if((j|0)<=402653183){if((j|0)<-402620416){i=-12287;ka=37}}else{i=12287;ka=37}if((ka|0)==37){ka=0;c[da>>2]=i}la=(c[d>>2]|0)+(k<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&i);la=(c[ha>>2]|0)+(k<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);k=k+1|0}while((k|0)<(e|0));return}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[51952+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[51952+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[s>>2]|0)+a|0;c[s>>2]=a;a=(c[v>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;c[v>>2]=a;a=(c[x>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[x>>2]=a;a=c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[853902]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function cc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[51952+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[51952+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[(c[84752+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)+a+(c[v>>2]|0)|0;c[v>>2]=a;a=(c[x>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[x>>2]=a;a=c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[853902]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function dc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[51952+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[51952+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);c[da>>2]=c[b>>2];c[b>>2]=c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[v>>2]|0)+(c[(c[84752+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)|0;c[v>>2]=a;a=(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[da>>2]|0)+(c[x>>2]|0)|0;c[x>>2]=a;a=c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[853902]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;R=b+420|0;aa=b+480|0;if((c[aa>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;n=b+96|0;o=b+144|0;p=a+7400|0;q=b+312|0;r=b+360|0;s=a+7404|0;t=b+204|0;u=b+252|0;v=a+7408|0;w=b+468|0;x=a+7412|0;y=b+148|0;z=b+364|0;A=b+256|0;B=b+472|0;C=b+124|0;D=b+156|0;E=b+108|0;F=a+7416|0;G=b+340|0;H=b+372|0;I=b+324|0;J=a+7420|0;K=b+232|0;L=b+264|0;N=b+216|0;O=a+7424|0;P=b+448|0;Q=b+432|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;h=a+84|0;i=b+476|0;j=b+16|0;k=b+24|0;l=b+28|0;m=d+4|0;f=0;do{c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];c[v>>2]=c[u>>2];c[x>>2]=c[w>>2];c[o>>2]=(c[o>>2]|0)+(c[y>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[z>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[A>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[B>>2]|0);a=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4)a=(a|0)>4095?0:a^4095;c[F>>2]=a;a=(c[I>>2]|0)+(c[51952+(c[H>>2]>>16<<2)>>2]|0)|0;if(c[G>>2]&4)a=(a|0)>4095?0:a^4095;c[J>>2]=a;a=(c[N>>2]|0)+(c[51952+(c[L>>2]>>16<<2)>>2]|0)|0;if(c[K>>2]&4)a=(a|0)>4095?0:a^4095;c[O>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4)a=(a|0)>4095?0:a^4095;c[S>>2]=a;g=(c[D>>2]|0)+(c[T>>2]|0)|0;c[D>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](n);g=(c[H>>2]|0)+(c[V>>2]|0)|0;c[H>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](q);g=(c[L>>2]|0)+(c[Y>>2]|0)|0;c[L>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](t);g=(c[aa>>2]|0)+(c[$>>2]|0)|0;c[aa>>2]=g;if((g|0)>=(c[ba>>2]|0))wa[c[14e3+(c[i>>2]<<2)>>2]&31](R);c[p>>2]=(c[p>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);a=c[b>>2]|0;c[da>>2]=a;c[b>>2]=c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[F>>2]<<2)>>2];a=(c[s>>2]|0)+a|0;c[s>>2]=a;a=(c[(c[84752+(((c[v>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[J>>2]<<2)>>2]|0)+(c[x>>2]|0)|0;c[x>>2]=a;a=c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=a;g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ga=g&16383;c[853902]=ga;g=M(ga^16383,a)|0;g=(M(c[j>>2]|0,ga)|0)+g>>14;c[j>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[k>>2]);a=(c[m>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]&c[j>>2]);a=c[fa>>2]|0}c[j>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function fc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;N=b+312|0;Y=b+372|0;if((c[Y>>2]|0)==536870912?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[51952+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[L>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](m);g=(c[Y>>2]|0)+(c[U>>2]|0)|0;c[Y>>2]=g;if((g|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](N);g=(c[J>>2]|0)+(c[X>>2]|0)|0;c[J>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);a=c[b>>2]|0;c[ca>>2]=a;c[b>>2]=c[(c[84752+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];a=(c[q>>2]|0)+a|0;c[q>>2]=a;g=(c[w>>2]|0)+(c[(c[84752+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[w>>2]=g;g=(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=23}}else{a=12287;ga=23}if((ga|0)==23){ga=0;c[ea>>2]=a}g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[853902]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;J=b+312|0;V=b+372|0;if(((c[V>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[51952+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[51952+(c[V>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[L>>2]|0)+(c[51952+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](m);g=(c[V>>2]|0)+(c[U>>2]|0)|0;c[V>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](J);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);ha=c[b>>2]|0;c[ca>>2]=ha;c[b>>2]=c[(c[84752+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];ha=(c[q>>2]|0)+ha|0;c[q>>2]=ha;g=(c[t>>2]|0)+(c[ca>>2]|0)|0;c[t>>2]=g;a=(c[w>>2]|0)+(c[ca>>2]|0)|0;c[w>>2]=a;g=(c[(c[84752+((ha>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=24}}else{a=12287;ga=24}if((ga|0)==24){ga=0;c[ea>>2]=a}g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{g=g&16383;c[853902]=g;ha=M(a,g^16383)|0;ha=(M(c[i>>2]|0,g)|0)+ha>>14;c[i>>2]=ha;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(ha&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;J=b+312|0;V=b+372|0;if(((c[V>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;m=b+96|0;n=b+144|0;o=a+7400|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+156|0;D=b+108|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=a+7420|0;I=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[o>>2]=c[n>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[D>>2]|0)+(c[51952+(c[C>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[E>>2]=a;a=(c[G>>2]|0)+(c[51952+(c[V>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4)a=(a|0)>4095?0:a^4095;c[H>>2]=a;a=(c[L>>2]|0)+(c[51952+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[C>>2]|0)+(c[S>>2]|0)|0;c[C>>2]=g;if((g|0)>=(c[T>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](m);g=(c[V>>2]|0)+(c[U>>2]|0)|0;c[V>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](J);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[o>>2]=(c[o>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[84752+(((c[o>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];g=(c[q>>2]|0)+g|0;c[q>>2]=g;g=(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+(((c[w>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[84752+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=24}}else{a=12287;ga=24}if((ga|0)==24){ga=0;c[ea>>2]=a}g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[853902]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function ic(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;G=b+96|0;S=b+156|0;if((((c[S>>2]|0)==536870912?(c[b+372>>2]|0)==536870912:0)?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;m=b+144|0;n=a+7400|0;o=b+312|0;p=b+360|0;q=a+7404|0;r=b+204|0;s=b+252|0;t=a+7408|0;u=b+420|0;v=b+468|0;w=a+7412|0;x=b+148|0;y=b+364|0;z=b+256|0;A=b+472|0;B=b+124|0;C=b+108|0;D=a+7416|0;E=b+340|0;F=b+372|0;H=b+324|0;I=a+7420|0;J=b+232|0;K=b+264|0;L=b+216|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;X=b+152|0;Y=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+476|0;h=a+84|0;i=b+16|0;j=b+24|0;k=b+28|0;l=d+4|0;f=0;do{c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];c[w>>2]=c[v>>2];c[m>>2]=(c[m>>2]|0)+(c[x>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[z>>2]|0);c[v>>2]=(c[v>>2]|0)+(c[A>>2]|0);a=(c[C>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[B>>2]&4)a=(a|0)>4095?0:a^4095;c[D>>2]=a;a=(c[H>>2]|0)+(c[51952+(c[F>>2]>>16<<2)>>2]|0)|0;if(c[E>>2]&4)a=(a|0)>4095?0:a^4095;c[I>>2]=a;a=(c[L>>2]|0)+(c[51952+(c[K>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4)a=(a|0)>4095?0:a^4095;c[N>>2]=a;a=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4)a=(a|0)>4095?0:a^4095;c[R>>2]=a;g=(c[S>>2]|0)+(c[T>>2]|0)|0;c[S>>2]=g;if((g|0)>=(c[U>>2]|0))wa[c[14e3+(c[X>>2]<<2)>>2]&31](G);g=(c[F>>2]|0)+(c[V>>2]|0)|0;c[F>>2]=g;if((g|0)>=(c[W>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](o);g=(c[K>>2]|0)+(c[Y>>2]|0)|0;c[K>>2]=g;if((g|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](r);g=(c[P>>2]|0)+(c[$>>2]|0)|0;c[P>>2]=g;if((g|0)>=(c[aa>>2]|0))wa[c[14e3+(c[fa>>2]<<2)>>2]&31](u);c[n>>2]=(c[n>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[84752+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[D>>2]<<2)>>2];g=(c[(c[84752+(((c[w>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+g+(c[(c[84752+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[84752+(((c[t>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;a=g>>15;c[ea>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;ga=25}}else{a=12287;ga=25}if((ga|0)==25){ga=0;c[ea>>2]=a}g=(c[853902]|0)+(c[h>>2]|0)|0;c[853902]=g;if(!(g&16384))f=f+-1|0;else{ha=g&16383;c[853902]=ha;g=M(a,ha^16383)|0;g=(M(c[i>>2]|0,ha)|0)+g>>14;c[i>>2]=g;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(g&c[j>>2]);a=(c[l>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[k>>2]&c[i>>2]);a=c[ea>>2]|0}c[i>>2]=a;f=f+1|0}while((f|0)<(e|0));return}function jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[51952+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[n>>2]|0)+f|0;c[n>>2]=f;f=(c[q>>2]|0)+(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[q>>2]=f;f=(c[s>>2]|0)+(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[s>>2]=f;f=c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[853902]|0)+(c[ga>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[51952+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[(c[84752+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+f+(c[q>>2]|0)|0;c[q>>2]=f;f=(c[s>>2]|0)+(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)|0;c[s>>2]=f;f=c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[853902]|0)+(c[ga>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[51952+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);c[da>>2]=c[b>>2];c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[q>>2]|0)+(c[(c[84752+(((c[n>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[q>>2]=f;f=(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[da>>2]|0)+(c[s>>2]|0)|0;c[s>>2]=f;f=c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[853902]|0)+(c[ga>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;L=b+420|0;X=b+480|0;if((c[X>>2]|0)==536870912)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+312|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;N=b+304|0;O=a+7424|0;P=b+448|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;U=b+164|0;V=b+376|0;W=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=a+84|0;ha=b+476|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[v>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[p>>2]=(c[p>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=10}}else ma=10;if((ma|0)==10){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[F>>2]|0)+(c[51952+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=14}}else ma=14;if((ma|0)==14){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[O>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=18}}else ma=18;if((ma|0)==18){ma=0;f=(h>>c[N>>2])+f|0}c[O>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[X>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=22}}else ma=22;if((ma|0)==22){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[U>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[E>>2]|0)+(c[V>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[W>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](l);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](o);na=(c[X>>2]|0)+(c[aa>>2]|0)|0;c[X>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ha>>2]<<2)>>2]&31](L);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[n>>2]|0)+f|0;c[n>>2]=f;f=(c[(c[84752+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[O>>2]<<2)>>2]|0)+(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[s>>2]|0)|0;c[s>>2]=f;f=c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]>>15;c[fa>>2]=f;h=(c[853902]|0)+(c[ga>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(h^16383,f)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;I=b+312|0;U=b+372|0;if((c[U>>2]|0)==536870912?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;R=b+520|0;S=a+7428|0;T=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=11}}else ma=11;if((ma|0)==11){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[U>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=15}}else ma=15;if((ma|0)==15){ma=0;f=(h>>c[F>>2])+f|0}c[G>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=19}}else ma=19;if((ma|0)==19){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[S>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=23}}else ma=23;if((ma|0)==23){ma=0;f=(h>>c[R>>2])+f|0}c[S>>2]=f;na=(c[z>>2]|0)+(c[T>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[U>>2]|0)+(c[W>>2]|0)|0;c[U>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](I);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);f=c[b>>2]|0;c[da>>2]=f;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];f=(c[m>>2]|0)+f|0;c[m>>2]=f;h=(c[s>>2]|0)+(c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;c[s>>2]=h;h=(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[S>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=34}}else{f=12287;ma=34}if((ma|0)==34){ma=0;c[fa>>2]=f}h=(c[853902]|0)+(c[ha>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function oc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;F=b+312|0;R=b+372|0;if(((c[R>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=12}}else ma=12;if((ma|0)==12){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=16}}else ma=16;if((ma|0)==16){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=20}}else ma=20;if((ma|0)==20){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=24}}else ma=24;if((ma|0)==24){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[z>>2]|0)+(c[U>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[R>>2]|0)+(c[W>>2]|0)|0;c[R>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](F);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);na=c[b>>2]|0;c[da>>2]=na;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];na=(c[m>>2]|0)+na|0;c[m>>2]=na;h=(c[p>>2]|0)+(c[da>>2]|0)|0;c[p>>2]=h;f=(c[s>>2]|0)+(c[da>>2]|0)|0;c[s>>2]=f;h=(c[(c[84752+((na>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+((f>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=35}}else{f=12287;ma=35}if((ma|0)==35){ma=0;c[fa>>2]=f}h=(c[853902]|0)+(c[ha>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;F=b+312|0;R=b+372|0;if(((c[R>>2]|0)==536870912?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+96|0;j=b+144|0;k=a+7400|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+156|0;A=b+108|0;B=b+196|0;C=a+7416|0;D=b+340|0;E=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+480|0;Q=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[k>>2]=c[j>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[j>>2]=(c[j>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[j>>2]=h+(c[j>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[A>>2]|0)+(c[51952+(c[z>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[C>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=12}}else ma=12;if((ma|0)==12){ma=0;f=(h>>c[B>>2])+f|0}c[C>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=16}}else ma=16;if((ma|0)==16){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=20}}else ma=20;if((ma|0)==20){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[Q>>2]|0)+(c[51952+(c[P>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=24}}else ma=24;if((ma|0)==24){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[z>>2]|0)+(c[U>>2]|0)|0;c[z>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](i);na=(c[R>>2]|0)+(c[W>>2]|0)|0;c[R>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](F);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[P>>2]|0)+(c[aa>>2]|0)|0;c[P>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[k>>2]=(c[k>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);h=c[b>>2]|0;c[da>>2]=h;c[b>>2]=c[(c[84752+(((c[k>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[C>>2]<<2)>>2];h=(c[m>>2]|0)+h|0;c[m>>2]=h;h=(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+(c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=35}}else{f=12287;ma=35}if((ma|0)==35){ma=0;c[fa>>2]=f}h=(c[853902]|0)+(c[ha>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;C=b+96|0;O=b+156|0;if((((c[O>>2]|0)==536870912?(c[b+372>>2]|0)==536870912:0)?(c[b+264>>2]|0)==536870912:0)?(c[b+480>>2]|0)==536870912:0)return;c[853902]=c[a+80>>2];if((e|0)<=0)return;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+420|0;r=b+468|0;s=a+7412|0;t=b+40|0;u=b+148|0;v=b+364|0;w=b+256|0;x=b+472|0;y=b+124|0;z=b+108|0;A=b+196|0;B=a+7416|0;D=b+340|0;E=b+372|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;P=b+448|0;Q=b+480|0;R=b+432|0;S=b+520|0;T=a+7428|0;U=b+160|0;V=b+164|0;W=b+376|0;X=b+380|0;Y=b+152|0;Z=b+268|0;_=b+272|0;$=b+368|0;aa=b+484|0;ba=b+488|0;ca=b+260|0;da=b+4|0;ea=b+36|0;fa=b+20|0;ga=b+476|0;ha=a+84|0;ia=b+16|0;ja=b+24|0;ka=b+28|0;la=d+4|0;g=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[s>>2]=c[r>>2];f=(M(c[a+6376+(g<<2)>>2]|0,c[t>>2]|0)|0)>>9;h=c[u>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+h;c[l>>2]=(c[l>>2]|0)+(c[v>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[w>>2]|0);f=(c[r>>2]|0)+(c[x>>2]|0)|0}else{h=((M(f,h)|0)>>9)+h|0;c[i>>2]=h+(c[i>>2]|0);h=c[v>>2]|0;na=(M(h,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+h+na;na=c[w>>2]|0;h=(M(na,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+na+h;h=c[x>>2]|0;f=(M(h,f)|0)>>9;f=(c[r>>2]|0)+h+f|0}c[r>>2]=f;h=c[a+5352+(g<<2)>>2]|0;f=(c[z>>2]|0)+(c[51952+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[y>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=13}}else ma=13;if((ma|0)==13){ma=0;f=(h>>c[A>>2])+f|0}c[B>>2]=f;f=(c[F>>2]|0)+(c[51952+(c[E>>2]>>16<<2)>>2]|0)|0;if(c[D>>2]&4){c[H>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=17}}else ma=17;if((ma|0)==17){ma=0;f=(h>>c[G>>2])+f|0}c[H>>2]=f;f=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=21}}else ma=21;if((ma|0)==21){ma=0;f=(h>>c[L>>2])+f|0}c[N>>2]=f;f=(c[R>>2]|0)+(c[51952+(c[Q>>2]>>16<<2)>>2]|0)|0;if(c[P>>2]&4){c[T>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ma=25}}else ma=25;if((ma|0)==25){ma=0;f=(h>>c[S>>2])+f|0}c[T>>2]=f;na=(c[O>>2]|0)+(c[U>>2]|0)|0;c[O>>2]=na;if((na|0)>=(c[V>>2]|0))wa[c[14e3+(c[Y>>2]<<2)>>2]&31](C);na=(c[E>>2]|0)+(c[W>>2]|0)|0;c[E>>2]=na;if((na|0)>=(c[X>>2]|0))wa[c[14e3+(c[$>>2]<<2)>>2]&31](k);na=(c[J>>2]|0)+(c[Z>>2]|0)|0;c[J>>2]=na;if((na|0)>=(c[_>>2]|0))wa[c[14e3+(c[ca>>2]<<2)>>2]&31](n);na=(c[Q>>2]|0)+(c[aa>>2]|0)|0;c[Q>>2]=na;if((na|0)>=(c[ba>>2]|0))wa[c[14e3+(c[ga>>2]<<2)>>2]&31](q);c[j>>2]=(c[j>>2]|0)+((c[da>>2]|0)+(c[b>>2]|0)>>c[ea>>2]);h=c[b>>2]|0;c[da>>2]=h;c[b>>2]=c[(c[84752+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];h=(c[(c[84752+(((c[s>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2]|0)+h+(c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;f=h>>15;c[fa>>2]=f;if((h|0)<=402653183){if((h|0)<-402620416){f=-12287;ma=36}}else{f=12287;ma=36}if((ma|0)==36){ma=0;c[fa>>2]=f}h=(c[853902]|0)+(c[ha>>2]|0)|0;c[853902]=h;if(!(h&16384))g=g+-1|0;else{h=h&16383;c[853902]=h;na=M(f,h^16383)|0;na=(M(c[ia>>2]|0,h)|0)+na>>14;c[ia>>2]=na;f=(c[d>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(na&c[ja>>2]);f=(c[la>>2]|0)+(g<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[ka>>2]&c[ia>>2]);f=c[fa>>2]|0}c[ia>>2]=f;g=g+1|0}while((g|0)<(e|0));return}function rc(a){a=a|0;c[a+60>>2]=268435456;c[a+64>>2]=c[a+76>>2];c[a+68>>2]=c[a+16>>2];c[a+56>>2]=1;return}function sc(a){a=a|0;c[a+60>>2]=c[a+16>>2];c[a+64>>2]=c[a+80>>2];c[a+68>>2]=536870912;c[a+56>>2]=2;return}function tc(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(c[12145]|0)){c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}e=a+28|0;f=c[e>>2]|0;if(!(f&8)){c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}b=a+60|0;if(!(f&1)){c[b>>2]=0;d=c[a+72>>2]|0;c[a+56>>2]=0;b=268435456}else{c[b>>2]=536870912;b=536870913;d=0}c[a+64>>2]=d;c[a+68>>2]=b;c[e>>2]=f<<1&4^f;return}function uc(a){a=a|0;c[a+60>>2]=536870912;c[a+64>>2]=0;c[a+68>>2]=536870913;return}function vc(a){a=a|0;return}function wc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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=0.0,B=0,C=0;v=b&255;x=f<<2;QA(c[e>>2]|0,0,x|0)|0;w=e+4|0;QA(c[w>>2]|0,0,x|0)|0;x=234352+(v*8356|0)+8|0;y=234352+(v*8356|0)+8336|0;t=234352+(v*8356|0)|0;u=(f|0)>0;s=0;do{r=(s<<3)+(234352+(v*8356|0)+16)|0;g=a[r>>0]|0;b=g&255;do if(b&1|0?(a[234352+(v*8356|0)+8340+s>>0]|0)==0:0){i=c[e>>2]|0;j=c[w>>2]|0;h=b>>>7;if(!(b&2)){m=c[x>>2]|0;l=m+(d[r+4>>0]<<12)|0;m=m+(1048576-(d[r+5>>0]<<12))|0;o=d[r+1>>0]|0;n=o>>>4;o=o&15;p=234352+(v*8356|0)+8208+(s<<2)|0;b=c[p>>2]|0;k=(d[r+2>>0]|0)>>>h;k=~~(+((c[y>>2]|0)>>>0)*.0001220703125*((k|0)==0?4.0:+(k|0))*16384.0/+(c[t>>2]|0)+.5)>>>0;a:do if(u){h=i;i=0;while(1){g=l+(b>>>14)|0;if(g>>>0>=m>>>0)break;q=(a[g>>0]|0)*546|0;g=(M(q,n)|0)/256|0;c[h>>2]=(c[h>>2]|0)+g;q=(M(q,o)|0)/256|0;c[j>>2]=(c[j>>2]|0)+q;b=b+k|0;i=i+1|0;if((i|0)>=(f|0))break a;else{j=j+4|0;h=h+4|0}}a[r>>0]=a[r>>0]&-2}while(0);c[p>>2]=b;break}o=(d[r+1>>0]<<7)+4096+(234352+(v*8356|0)+16)|0;q=234352+(v*8356|0)+8208+(s<<2)|0;b=c[q>>2]|0;A=+((c[y>>2]|0)>>>0)*.0078125*.0009765625*.25;z=+(c[t>>2]|0);l=~~(A*+((d[r+3>>0]<<8|d[r+2>>0])>>>h|0)*16384.0/z+.5)>>>0;m=(d[r+5>>0]<<7)+(234352+(v*8356|0)+16)|0;p=234352+(v*8356|0)+8272+(s<<2)|0;h=c[p>>2]|0;n=~~(A*+(d[r+4>>0]|0)*65536.0/z+.5)>>>0;b:do if(u){if(!(h>>>0>8388607&(g&4)!=0)){k=0;while(1){g=d[m+(h>>>16&127)>>0]|0;B=(a[o+(b>>>14&127)>>0]|0)*546|0;C=(M(B,g>>>4)|0)/256|0;c[i>>2]=C+(c[i>>2]|0);g=(M(B,g&15)|0)/256|0;c[j>>2]=g+(c[j>>2]|0);b=b+l|0;h=h+n|0;k=k+1|0;if((k|0)>=(f|0)){g=h;break b}g=a[r>>0]|0;if(h>>>0>8388607&(g&4)!=0)break;else{i=i+4|0;j=j+4|0}}}a[r>>0]=g&-2;g=h}else g=h;while(0);c[q>>2]=b;c[p>>2]=g}while(0);s=s+1|0}while((s|0)!=16);return}function xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){f=0;return f|0}f=b&255;c[234352+(f*8356|0)+4>>2]=0;c[234352+(f*8356|0)+8>>2]=0;c[234352+(f*8356|0)+8336>>2]=d;e=(d|0)/512|0;d=234352+(f*8356|0)|0;c[d>>2]=e;g=a[3416903]|0;b=c[853966]|0;if(g<<24>>24==2|(g&1)!=0&(e|0)<(b|0)){c[d>>2]=b;e=b}b=234352+(f*8356|0)+8208|0;d=b+128|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));g=e;return g|0}function yc(a){a=a|0;a=234352+((a&255)*8356|0)+8|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function zc(a){a=a|0;QA(234352+((a&255)*8356|0)+16|0,0,8320)|0;return}function Ac(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;b=b&255;f=d>>>3;g=234352+(b*8356|0)+16+d|0;if(d&-121|0){a[g>>0]=e;return}if((e&1)==0|(a[g>>0]&1)!=0){a[g>>0]=e;return}c[234352+(b*8356|0)+8208+(f<<2)>>2]=0;c[234352+(b*8356|0)+8272+(f<<2)>>2]=0;a[g>>0]=e;return}function Bc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=234352+(a*8356|0)+4|0;if((c[g>>2]|0)!=(b|0)){i=234352+(a*8356|0)+8|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[234352+(a*8356|0)+8>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Cc(b,c){b=b|0;c=c|0;b=b&255;a[234352+(b*8356|0)+8340>>0]=c&1;a[234352+(b*8356|0)+8341>>0]=c>>>1&1;a[234352+(b*8356|0)+8342>>0]=c>>>2&1;a[234352+(b*8356|0)+8343>>0]=c>>>3&1;a[234352+(b*8356|0)+8344>>0]=c>>>4&1;a[234352+(b*8356|0)+8345>>0]=c>>>5&1;a[234352+(b*8356|0)+8346>>0]=c>>>6&1;a[234352+(b*8356|0)+8347>>0]=c>>>7&1;a[234352+(b*8356|0)+8348>>0]=c>>>8&1;a[234352+(b*8356|0)+8349>>0]=c>>>9&1;a[234352+(b*8356|0)+8350>>0]=c>>>10&1;a[234352+(b*8356|0)+8351>>0]=c>>>11&1;a[234352+(b*8356|0)+8352>>0]=c>>>12&1;a[234352+(b*8356|0)+8353>>0]=c>>>13&1;a[234352+(b*8356|0)+8354>>0]=c>>>14&1;a[234352+(b*8356|0)+8355>>0]=c>>>15&1;return}function Dc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){f=0;return f|0}f=b&255;c[251072+(f*424|0)+412>>2]=Hy(16384)|0;c[251072+(f*424|0)+416>>2]=d;d=c[853960]|0;e=251072+(f*424|0)+420|0;c[e>>2]=d;g=a[3416903]|0;b=c[853966]|0;if(g<<24>>24==2|(g&1)!=0&(d|0)<(b|0))c[e>>2]=b;else b=d;a[251072+(f*424|0)+24>>0]=0;a[251072+(f*424|0)+52>>0]=0;a[251072+(f*424|0)+80>>0]=0;a[251072+(f*424|0)+108>>0]=0;g=b;return g|0}function Ec(b){b=b|0;var d=0,e=0;d=b&255;e=251072+(d*424|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[251072+(d*424|0)+120>>2]=0;c[251072+(d*424|0)+124>>2]=0;c[251072+(d*424|0)+136>>2]=0;c[251072+(d*424|0)+140>>2]=1;c[251072+(d*424|0)+144>>2]=2;c[251072+(d*424|0)+148>>2]=0;c[251072+(d*424|0)+152>>2]=0;c[251072+(d*424|0)+112>>2]=(c[251072+(d*424|0)+416>>2]<<8|0)/(c[251072+(d*424|0)+420>>2]|0)|0;c[251072+(d*424|0)+116>>2]=0;d=128;do{Fc(b,d&255,a[13488+d>>0]|0);d=d+1|0}while((d|0)!=201);return}function Fc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0;h=b&255;b=(e&255)+(251072+(h*424|0)+156)|0;a[b>>0]=f;do switch(e<<24>>24){case -127:case -128:{b=(d[251072+(h*424|0)+285>>0]|0)<<8|(d[251072+(h*424|0)+284>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[251072+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[251072+(h*424|0)+16>>2]=~~(g/+(c[251072+(h*424|0)+420>>2]|0));return}case -125:case -126:{b=(d[251072+(h*424|0)+287>>0]|0)<<8|(d[251072+(h*424|0)+286>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[251072+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[251072+(h*424|0)+44>>2]=~~(g/+(c[251072+(h*424|0)+420>>2]|0));return}case -123:case -124:{b=(d[251072+(h*424|0)+289>>0]|0)<<8|(d[251072+(h*424|0)+288>>0]|0);c[251072+(h*424|0)+132>>2]=b;if((b|0)==65535)g=0.0;else g=+((c[251072+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[251072+(h*424|0)+72>>2]=~~(g/+(c[251072+(h*424|0)+420>>2]|0));return}case -121:case -122:{b=(d[251072+(h*424|0)+291>>0]|0)<<8|(d[251072+(h*424|0)+290>>0]|0);if((b|0)==65535)g=0.0;else g=+((c[251072+(h*424|0)+416>>2]|0)/(2048-(b&2047)|0)|0|0)*65536.0;c[251072+(h*424|0)+100>>2]=~~(g/+(c[251072+(h*424|0)+420>>2]|0));return}case -120:{f=f&255;c[251072+(h*424|0)+4>>2]=f>>>4;c[251072+(h*424|0)+8>>2]=f&15;return}case -119:{f=f&255;c[251072+(h*424|0)+32>>2]=f>>>4;c[251072+(h*424|0)+36>>2]=f&15;return}case -118:{f=f&255;c[251072+(h*424|0)+60>>2]=f>>>4;c[251072+(h*424|0)+64>>2]=f&15;return}case -117:{f=f&255;c[251072+(h*424|0)+88>>2]=f>>>4;c[251072+(h*424|0)+92>>2]=f&15;return}case -116:{c[251072+(h*424|0)+124>>2]=f<<24>>24;return}case -115:{f=((f&255)<<5)+32|0;c[251072+(h*424|0)+120>>2]=f;c[251072+(h*424|0)+128>>2]=f;return}case -114:{f=f&255;c[251072+(h*424|0)+136>>2]=f&7;if(!(f&8))return;c[251072+(h*424|0)+140>>2]=1;return}case -113:{f=(f&255)<<6;c[251072+(h*424|0)>>2]=f;e=f|16;c[251072+(h*424|0)+28>>2]=e;c[251072+(h*424|0)+56>>2]=e+16;c[251072+(h*424|0)+84>>2]=f|48;return}case -108:{f=f&255;c[251072+(h*424|0)+148>>2]=f<<1&24;c[251072+(h*424|0)+152>>2]=f<<3&24;return}case -111:{a[b>>0]=f|-128;return}default:return}while(0)}function Gc(a){a=a|0;a=251072+((a&255)*424|0)+412|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Hc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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;F=b&255;G=251072+(F*424|0)|0;H=c[e>>2]|0;D=c[e+4>>2]|0;if((f|0)<=0)return;E=251072+(F*424|0)+112|0;q=251072+(F*424|0)+116|0;r=251072+(F*424|0)+300|0;s=251072+(F*424|0)+293|0;t=251072+(F*424|0)+148|0;u=251072+(F*424|0)+152|0;v=251072+(F*424|0)+412|0;w=251072+(F*424|0)+140|0;x=251072+(F*424|0)+302|0;y=251072+(F*424|0)+303|0;z=251072+(F*424|0)+136|0;A=251072+(F*424|0)+144|0;B=251072+(F*424|0)+88|0;C=251072+(F*424|0)+92|0;p=0;do{b=(c[q>>2]|0)+(c[E>>2]|0)|0;c[q>>2]=b;if((b|0)>65535)do{c[q>>2]=b+-65536;Ic(G);b=c[q>>2]|0}while((b|0)>65535);b=0;e=0;o=0;do{do if(!(a[251072+(F*424|0)+(o*28|0)+24>>0]|0)){g=a[r>>0]|0;if(!((o|0)!=1|(g&32)==0)){n=(d[s>>0]|0)+-128|0;e=(M(n,c[t>>2]|0)|0)+e|0;b=(M(c[u>>2]|0,n)|0)+b|0;break}g=g&255;if(1<>2]|0)+(c[251072+(F*424|0)+(o*28|0)+16>>2]|0)|0;if((o|0)!=3|(g&128|0)==0){c[h>>2]=i&65535;l=251072+(F*424|0)+(o*28|0)+20|0;m=(c[l>>2]|0)+(i>>>16)|0;n=m&31;c[l>>2]=n;n=d[(c[v>>2]|0)+(c[251072+(F*424|0)+(o*28|0)>>2]&65520|n>>>1)>>0]|0;n=(((m&1|0)==0?n<<4:n)&240)+-128|0;e=(M(n,c[251072+(F*424|0)+(o*28|0)+4>>2]|0)|0)+e|0;b=(M(n,c[251072+(F*424|0)+(o*28|0)+8>>2]|0)|0)+b|0;break}c[h>>2]=i&65535;if((i|0)>65535){n=c[z>>2]|0;l=c[14976+(n<<2)>>2]|0;m=l+-1|0;n=c[15008+(n<<2)>>2]|0;j=i>>>16;g=c[w>>2]|0;do{k=j;j=j+-1|0;i=g&m;i=(i|0)==0?m:i;g=i&n;if(g){h=0;do{h=h^g&1;g=g>>1}while((g|0)!=0);if(h)g=l;else I=19}else I=19;if((I|0)==19){I=0;g=0}g=(i|g)>>1}while((k|0)>1);c[w>>2]=g}else g=c[w>>2]|0;a[x>>0]=g;a[y>>0]=g>>>8&127;n=(g&1|0)==0?-128:127;e=(M(c[B>>2]|0,n)|0)+e|0;b=(M(c[C>>2]|0,n)|0)+b|0}}while(0);o=o+1|0}while((o|0)!=4);c[H+(p<<2)>>2]=M(c[A>>2]|0,e)|0;c[D+(p<<2)>>2]=M(c[A>>2]|0,b)|0;p=p+1|0}while((p|0)!=(f|0));return}function Ic(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+124>>2]|0;if(!e)return;if(!(a[b+300>>0]&64))return;f=b+128|0;d=c[f>>2]|0;if((d|0)<0){d=c[b+120>>2]|0;c[f>>2]=d;g=b+132|0;e=(c[g>>2]|0)+e&2047;c[g>>2]=e;c[b+72>>2]=~~(+((c[b+416>>2]|0)/(2048-e|0)|0|0)*65536.0/+(c[b+420>>2]|0))}c[f>>2]=d+-1;return}function Jc(b,d,e){b=b|0;d=d|0;e=e|0;if((d&65535)>16383)return;a[(c[251072+((b&255)*424|0)+412>>2]|0)+(d&65535)>>0]=e;return}function Kc(b,c){b=b|0;c=c|0;b=b&255;a[251072+(b*424|0)+24>>0]=c&1;a[251072+(b*424|0)+52>>0]=c>>>1&1;a[251072+(b*424|0)+80>>0]=c>>>2&1;a[251072+(b*424|0)+108>>0]=c>>>3&1;return}function Lc(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0;h=d&255;d=f<<2&2044;if(d>>>0<640){a[(f&31)+(251920+(h*536|0)+49+(d>>>7<<5))>>0]=g&63;return}if(d>>>0<1024){a[(f&31)+(251920+(h*536|0)+209)>>0]=g;return}if(d>>>0>=1536)return;i=f>>>4&15;if(i>>>0>5){if((d|0)!=1408|(g&1)==0)return;i=251920+(h*536|0)|0;a[i>>0]=a[i>>0]&127;i=251920+(h*536|0)+1|0;a[i>>0]=a[i>>0]&127;i=251920+(h*536|0)+2|0;a[i>>0]=a[i>>0]&127;i=251920+(h*536|0)+3|0;a[i>>0]=a[i>>0]&127;i=251920+(h*536|0)+4|0;a[i>>0]=a[i>>0]&127;i=251920+(h*536|0)+5|0;a[i>>0]=a[i>>0]&127;return}switch(f&15){case 0:{d=g&255;a[251920+(h*536|0)+i>>0]=d&191;if(!(d&128))return;g=e[251920+(h*536|0)+18+(i<<1)>>1]|0;c[251920+(h*536|0)+244+(i<<2)>>2]=g;f=(i|0)==5;g=2048-g|0;c[251920+(h*536|0)+344+(i<<2)>>2]=f?g*10|0:g;c[251920+(h*536|0)+368+(i<<2)>>2]=(d&31)+1;c[251920+(h*536|0)+392+(i<<2)>>2]=(b[251920+(h*536|0)+30+(i<<1)>>1]&7)+1&65535;if((i|0)==4){g=a[251920+(h*536|0)+48>>0]|0;c[251920+(h*536|0)+416>>2]=(g&255)>>>4&7;c[251920+(h*536|0)+492>>2]=g<<24>>24<0?8:1;c[251920+(h*536|0)+316>>2]=0}c[251920+(h*536|0)+292+(i<<2)>>2]=0;if(f)c[251920+(h*536|0)+504>>2]=1;c[251920+(h*536|0)+420+(i<<2)>>2]=4800;c[251920+(h*536|0)+444+(i<<2)>>2]=4;c[251920+(h*536|0)+468+(i<<2)>>2]=4;return}case 1:{a[251920+(h*536|0)+6+i>>0]=(g&255)>>>4;a[251920+(h*536|0)+12+i>>0]=g&15;return}case 2:{f=251920+(h*536|0)+18+(i<<1)|0;g=g&255;b[f>>1]=b[f>>1]&-256&65535|g;i=251920+(h*536|0)+244+(i<<2)|0;c[i>>2]=c[i>>2]&65280|g;return}case 3:{f=251920+(h*536|0)+18+(i<<1)|0;g=(g&7)<<8;b[f>>1]=g|b[f>>1]&255;i=251920+(h*536|0)+244+(i<<2)|0;c[i>>2]=c[i>>2]&255|g;return}case 4:{f=251920+(h*536|0)+30+(i<<1)|0;g=g&255;b[f>>1]=b[f>>1]&-256&65535|g;c[251920+(h*536|0)+268+(i<<2)>>2]=g>>>4;return}case 5:{f=251920+(h*536|0)+30+(i<<1)|0;h=b[f>>1]&255;b[f>>1]=h;if((i|0)==4){b[f>>1]=(g&115)<<8|h&65535;return}d=(g&255)<<8;if((i|0)==5){b[f>>1]=d&29440|h&65535;return}else{b[f>>1]=d&768|h&65535;return}}case 6:{a[251920+(h*536|0)+42+i>>0]=g&15;return}case 7:{if((i|0)!=4)return;a[251920+(h*536|0)+48>>0]=g;return}default:return}}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=a&255;i=251920+(a*536|0)|0;if((d|0)<=0)return;j=251920+(a*536|0)+528|0;k=251920+(a*536|0)+512|0;l=251920+(a*536|0)+516|0;m=251920+(a*536|0)+532|0;h=b+4|0;e=251920+(a*536|0)+508|0;a=0;do{g=(c[j>>2]|0)+1|0;c[j>>2]=g;f=c[k>>2]|0;g=JA(f|0,((f|0)<0)<<31>>31|0,g|0,((g|0)<0)<<31>>31|0)|0;f=c[l>>2]|0;f=HA(g|0,x|0,f|0,((f|0)<0)<<31>>31|0)|0;c[m>>2]=f;Nc(i,f,(c[b>>2]|0)+(a<<2)|0,(c[h>>2]|0)+(a<<2)|0);f=c[e>>2]|0;g=c[k>>2]|0;if((f|0)>=(g|0)){c[e>>2]=f-g;c[m>>2]=(c[m>>2]|0)-g;c[j>>2]=(c[j>>2]|0)-(c[l>>2]|0)}g=(c[b>>2]|0)+(a<<2)|0;c[g>>2]=c[g>>2]<<3;g=(c[h>>2]|0)+(a<<2)|0;c[g>>2]=c[g>>2]<<3;a=a+1|0}while((a|0)!=(d|0));return}function Nc(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;c[g>>2]=0;c[h>>2]=0;R=d+508|0;S=d+496|0;T=d+504|0;U=d+40|0;V=d+500|0;W=d+492|0;z=d+48|0;A=d+416|0;B=d+316|0;y=0;do{i=f-(c[R>>2]|0)|0;D=d+y|0;if((a[D>>0]|0)<0?(a[d+520+y>>0]|0)==0:0){if((i|0)>0){E=d+420+(y<<2)|0;F=(y|0)==5;G=d+344+(y<<2)|0;H=d+244+(y<<2)|0;I=d+320+(y<<2)|0;J=d+292+(y<<2)|0;K=d+444+(y<<2)|0;L=(y|0)==4;M=d+468+(y<<2)|0;N=d+368+(y<<2)|0;O=d+30+(y<<1)|0;P=d+392+(y<<2)|0;Q=d+268+(y<<2)|0;j=c[E>>2]|0;do{k=(i|0)>(j|0)?j:i;if(F)j=S;else j=(c[H>>2]|0)>2039?I:G;x=c[j>>2]|0;x=(k|0)>(x|0)?x:k;j=(c[G>>2]|0)-x|0;c[G>>2]=j;if((j|0)<1)do if(F){j=c[T>>2]|0;c[T>>2]=(j>>>(c[15040+(((e[U>>1]|0)>>>12&7)<<2)>>2]|0)^j>>>7)&1|j<<1&32766;j=((2048-(c[H>>2]|0)|0)*10|0)+(c[G>>2]|0)|0;c[G>>2]=j}else{j=j+2048-(c[H>>2]|0)|0;c[G>>2]=j;c[J>>2]=(c[J>>2]|0)+1&31}while((j|0)<1);v=c[I>>2]|0;w=v-x|0;w=x+119+((w|0)>1?w:1)-v|0;c[I>>2]=v+(w-((w>>>0)%120|0))-x;if(F?(w=(c[S>>2]|0)-x|0,c[S>>2]=w,(w|0)==0):0){c[S>>2]=120;c[V>>2]=0-(c[T>>2]&1)&63}j=(c[E>>2]|0)-x|0;c[E>>2]=j;if((j|0)<1)do{c[E>>2]=j+4800;v=c[K>>2]|0;j=v+-1|0;c[K>>2]=j;if((v|0)<2){w=((j|0)>-3?j:-3)+4-v|0;k=c[M>>2]|0;l=a[D>>0]|0;do{u=j;j=j+4|0;if((l&32)!=0?(t=(c[N>>2]|0)+-1|0,c[N>>2]=t,(t|0)==0):0){l=l&127;a[D>>0]=l}m=k+-1|0;if((k|0)<2){p=((m|0)>-3?m:-3)+4-k|0;t=b[O>>1]|0;q=(t&256)==0;r=(t&7)+1&65535;t=t&65535;s=(t&8|0)==0;t=(t&512|0)==0;do{n=m;m=m+4|0;do if(!q){o=(c[P>>2]|0)+-1|0;c[P>>2]=o;if(o|0)break;c[P>>2]=r;o=c[Q>>2]|0;if(s){if(t&(o|0)<1)break;c[Q>>2]=o+15&15;break}else{if(t&(o|0)>14)break;c[Q>>2]=o+1&15;break}}while(0)}while((n|0)<-3);k=k+3+(p&-4)|0}else k=m}while((u|0)<-3);c[M>>2]=k;c[K>>2]=v+3+(w&-4)}if(L?(w=c[W>>2]|0,C=w+-1|0,c[W>>2]=C,(w|0)<2):0){j=C;do{k=a[z>>0]|0;j=(k<<24>>24<0?8:1)+j|0;c[W>>2]=j;if(k&112){do if(b[O>>1]&16384){w=c[A>>2]|0;j=w+-1|0;if(w|0?(c[A>>2]=j,j|0):0)break;j=k&255;c[A>>2]=j>>>4&7;k=e[O>>1]|0;if(!(k&4096)){w=c[H>>2]|0;v=w>>(j&7);j=((j&8|0)==0?0-v|0:v)+w|0;if((j|0)<0){c[H>>2]=0;break}if((j|0)>2047){a[D>>0]=a[D>>0]&127;break}else{c[H>>2]=j;break}}else{j=c[B>>2]|0;if((k&8192|0)==0&(j|0)>31)break;j=j&31;c[B>>2]=j;j=(c[H>>2]|0)+(a[d+209+j>>0]|0)|0;c[H>>2]=j;if((j|0)>=0){if((j|0)>2047){j=2047;X=48}}else{j=0;X=48}if((X|0)==48){X=0;c[H>>2]=j}c[B>>2]=(c[B>>2]|0)+1;break}}while(0);j=c[W>>2]|0}}while((j|0)<1)}j=c[E>>2]|0}while((j|0)<1);i=i-x|0}while((i|0)>0)}Oc(d,y,g,h)}y=y+1|0}while((y|0)!=6);c[R>>2]=f;return}function Oc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;if((a[b+e>>0]|0)<0?(a[b+520+e>>0]|0)==0:0){if((e|0)!=5){h=a[b+42+e>>0]|0;if((h&255)>4)h=32;else h=d[(c[b+292+(e<<2)>>2]|0)+(b+49+((h&255)<<5))>>0]|0}else h=c[b+500>>2]|0;j=c[b+268+(e<<2)>>2]|0;i=M(j,d[b+6+e>>0]|0)|0;b=M(j,d[b+12+e>>0]|0)|0;e=h+-32|0;h=M((i|0)==0?0:(i>>3)+1|0,e)|0;c[f>>2]=h+(c[f>>2]|0);f=M((b|0)==0?0:(b>>3)+1|0,e)|0;c[g>>2]=f+(c[g>>2]|0);return}c[g>>2]=0;c[f>>2]=0;return}function Pc(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;if((d&255)>1){g=0;return g|0}g=d&255;c[251920+(g*536|0)+512>>2]=e;e=(e|0)/120|0;f=251920+(g*536|0)+516|0;c[f>>2]=e;h=a[3416903]|0;d=c[853966]|0;if(h<<24>>24==2|(h&1)!=0&(e|0)<(d|0))c[f>>2]=d;else d=e;h=251920+(g*536|0)+520|0;c[h>>2]=0;b[h+4>>1]=0;h=d;return h|0}function Qc(a){a=a|0;a=a&255;Rc(251920+(a*536|0)|0);c[251920+(a*536|0)+528>>2]=0;c[251920+(a*536|0)+532>>2]=0;return}function Rc(b){b=b|0;var d=0,e=0,f=0,g=0;a[b+48>>0]=0;c[b+416>>2]=0;c[b+492>>2]=1;e=b+244|0;c[b+344>>2]=0;c[b+368>>2]=0;c[b+392>>2]=0;d=b+420|0;f=b;g=f+48|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));f=e;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[d>>2]=4800;c[b+444>>2]=4;c[b+468>>2]=4;c[b+320>>2]=120;c[b+348>>2]=0;c[b+372>>2]=0;c[b+396>>2]=0;c[b+424>>2]=4800;c[b+448>>2]=4;c[b+472>>2]=4;c[b+324>>2]=120;c[b+352>>2]=0;c[b+376>>2]=0;c[b+400>>2]=0;c[b+428>>2]=4800;c[b+452>>2]=4;c[b+476>>2]=4;c[b+328>>2]=120;c[b+356>>2]=0;c[b+380>>2]=0;c[b+404>>2]=0;c[b+432>>2]=4800;c[b+456>>2]=4;c[b+480>>2]=4;c[b+332>>2]=120;c[b+360>>2]=0;c[b+384>>2]=0;c[b+408>>2]=0;c[b+436>>2]=4800;c[b+460>>2]=4;c[b+484>>2]=4;c[b+336>>2]=120;c[b+364>>2]=0;c[b+388>>2]=0;c[b+412>>2]=0;c[b+440>>2]=4800;c[b+464>>2]=4;c[b+488>>2]=4;c[b+340>>2]=120;c[b+496>>2]=120;c[b+500>>2]=0;c[b+508>>2]=0;QA(b+49|0,0,192)|0;return}function Sc(b,c){b=b|0;c=c|0;b=b&255;a[251920+(b*536|0)+520>>0]=c&1;a[251920+(b*536|0)+521>>0]=c>>>1&1;a[251920+(b*536|0)+522>>0]=c>>>2&1;a[251920+(b*536|0)+523>>0]=c>>>3&1;a[251920+(b*536|0)+524>>0]=c>>>4&1;a[251920+(b*536|0)+525>>0]=c>>>5&1;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=b&255;C=252992+(B*472|0)|0;if(!(c[252992+(B*472|0)+56>>2]|0)){D=e<<2;QA(c[d>>2]|0,0,D|0)|0;QA(c[d+4>>2]|0,0,D|0)|0;return}b=252992+(B*472|0)+464|0;switch(c[252992+(B*472|0)>>2]|0){case 0:{f=+(c[b>>2]|0)*.00390625*2.0;D=8;break}case 1:{f=+(c[b>>2]|0)*.001953125*2.0;D=8;break}case 2:{f=+(c[b>>2]|0)*.0009765625*2.0;D=8;break}case 3:{f=+h[252992+(B*472|0)+112>>3];D=8;break}default:{}}if((D|0)==8)h[252992+(B*472|0)+416>>3]=f;switch(c[252992+(B*472|0)+4>>2]|0){case 0:{f=+(c[b>>2]|0)*.00390625*2.0;D=47;break}case 1:{f=+(c[b>>2]|0)*.001953125*2.0;D=47;break}case 2:{f=+(c[b>>2]|0)*.0009765625*2.0;D=47;break}case 3:{f=+h[252992+(B*472|0)+280>>3];D=47;break}default:{}}if((D|0)==47)h[252992+(B*472|0)+440>>3]=f;A=((c[b>>2]|0)+128|0)/256|0;if((e|0)<=0)return;q=252992+(B*472|0)+456|0;r=252992+(B*472|0)+40|0;s=252992+(B*472|0)+44|0;t=d+4|0;u=252992+(B*472|0)+416|0;v=252992+(B*472|0)+408|0;w=252992+(B*472|0)+424|0;x=252992+(B*472|0)+440|0;y=252992+(B*472|0)+432|0;z=252992+(B*472|0)+448|0;p=0;do{b=0;i=0;o=0;do{m=252992+(B*472|0)+72+(o*56|0)|0;n=252992+(B*472|0)+72+(o*56|0)+40|0;f=+h[n>>3];if(f==0.0){f=+(A<>2]|0)/(511.0-+(c[m>>2]|0));h[n>>3]=f}l=252992+(B*472|0)+72+(o*56|0)+32|0;f=+h[l>>3]-f;h[l>>3]=f;a:do if(f<0.0){g=252992+(B*472|0)+72+(o*56|0)+12|0;k=252992+(B*472|0)+72+(o*56|0)+48|0;while(1){h[n>>3]=+(A<>2]|0)/(511.0-+(c[m>>2]|0));f=f+ +h[q>>3];h[l>>3]=f;c[k>>2]=c[k>>2]^1;switch(o&2147483647|0){case 1:{if(!(c[r>>2]|0)){Uc(C,0);D=21}else D=21;break}case 4:{if(!(c[s>>2]|0)){Uc(C,1);D=21}else D=21;break}default:{}}if((D|0)==21){D=0;f=+h[l>>3]}if(!(f<0.0))break a}}while(0);do if(!(a[252992+(B*472|0)+72+(o*56|0)+52>>0]|0)){do if(c[252992+(B*472|0)+72+(o*56|0)+8>>2]|0){g=(M(c[252992+(B*472|0)+72+(o*56|0)+24>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+16>>2]|0)|0)/32|0;if(!(c[252992+(B*472|0)+408+(((o>>>0)/3|0)*24|0)+16>>2]&1)){i=i-((M(c[252992+(B*472|0)+72+(o*56|0)+28>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)|0;b=b-g|0;break}else{i=((M(c[252992+(B*472|0)+72+(o*56|0)+28>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)+i|0;b=g+b|0;break}}while(0);if(c[252992+(B*472|0)+72+(o*56|0)+4>>2]|0){g=(M(c[252992+(B*472|0)+72+(o*56|0)+24>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+16>>2]|0)|0)/32|0;if(!(c[252992+(B*472|0)+72+(o*56|0)+48>>2]&1)){i=i-((M(c[252992+(B*472|0)+72+(o*56|0)+28>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)|0;b=b-g|0;break}else{i=((M(c[252992+(B*472|0)+72+(o*56|0)+28>>2]|0,c[252992+(B*472|0)+72+(o*56|0)+20>>2]|0)|0)/32|0)+i|0;b=g+b|0;break}}}while(0);o=o+1|0}while((o|0)!=6);f=+h[v>>3]-+h[u>>3];h[v>>3]=f;if(f<0.0){j=+h[q>>3];g=c[w>>2]|0;do{f=f+j;g=((g>>>14^g>>>6)&1|g<<1)^1}while(f<0.0);h[v>>3]=f;c[w>>2]=g}f=+h[y>>3]-+h[x>>3];h[y>>3]=f;if(f<0.0){j=+h[q>>3];g=c[z>>2]|0;do{f=f+j;g=((g>>>14^g>>>6)&1|g<<1)^1}while(f<0.0);h[y>>3]=f;c[z>>2]=g}c[(c[d>>2]|0)+(p<<2)>>2]=(b|0)/6|0;c[(c[t>>2]|0)+(p<<2)>>2]=(i|0)/6|0;p=p+1|0}while((p|0)!=(e|0));return}function Uc(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(!(c[a+8+(b<<2)>>2]|0)){j=b*3|0;h=j+2|0;c[a+72+(h*56|0)+28>>2]=16;i=j+1|0;c[a+72+(i*56|0)+28>>2]=16;c[a+72+(j*56|0)+28>>2]=16;c[a+72+(h*56|0)+24>>2]=16;c[a+72+(i*56|0)+24>>2]=16;c[a+72+(j*56|0)+24>>2]=16;return}f=c[a+24+(b<<2)>>2]|0;j=a+48+(b<<2)|0;e=c[j>>2]|0;e=e+1&63|e&32;c[j>>2]=e;j=(c[a+32+(b<<2)>>2]|0)==0?15:14;e=d[15072+(f<<6)+e>>0]|0;f=j&e;g=b*3|0;h=g+2|0;c[a+72+(h*56|0)+24>>2]=f;i=g+1|0;c[a+72+(i*56|0)+24>>2]=f;c[a+72+(g*56|0)+24>>2]=f;if(!(c[a+16+(b<<2)>>2]&1)){c[a+72+(h*56|0)+28>>2]=f;c[a+72+(i*56|0)+28>>2]=f;c[a+72+(g*56|0)+28>>2]=f;return}else{j=15-e&j;c[a+72+(h*56|0)+28>>2]=j;c[a+72+(i*56|0)+28>>2]=j;c[a+72+(g*56|0)+28>>2]=j;return}}function Vc(b,d){b=b|0;d=d|0;var e=0.0;if((b&255)>1){d=0;return d|0}b=b&255;c[252992+(b*472|0)+464>>2]=d;e=+(d|0)*.0078125*8.0;h[252992+(b*472|0)+456>>3]=e;a[252992+(b*472|0)+124>>0]=0;a[252992+(b*472|0)+180>>0]=0;a[252992+(b*472|0)+236>>0]=0;a[252992+(b*472|0)+292>>0]=0;a[252992+(b*472|0)+348>>0]=0;a[252992+(b*472|0)+404>>0]=0;d=~~(e+.5);return d|0}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a&255;b=252992+(j*472|0)+72|0;d=252992+(j*472|0)+128|0;e=252992+(j*472|0)+184|0;f=252992+(j*472|0)+240|0;g=252992+(j*472|0)+296|0;h=252992+(j*472|0)+352|0;i=252992+(j*472|0)+408|0;a=252992+(j*472|0)+432|0;j=252992+(j*472|0)+4|0;k=j+60|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=b;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=d;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=e;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=f;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=g;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));j=h;k=j+52|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(k|0));c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Xc(a,b){a=a|0;b=b|0;var d=0;a=a&255;d=252992+(a*472|0)|0;c[252992+(a*472|0)+64>>2]=b&31;if((b&30)!=24)return;if(c[252992+(a*472|0)+40>>2]|0)Uc(d,0);if(!(c[252992+(a*472|0)+44>>2]|0))return;Uc(d,1);return}function Yc(a,b){a=a|0;b=b|0;var d=0;a=a&255;d=c[252992+(a*472|0)+64>>2]|0;switch(d|0){case 5:case 4:case 3:case 2:case 1:case 0:{d=d&7;b=b&255;c[252992+(a*472|0)+72+(d*56|0)+16>>2]=c[15584+((b&15)<<2)>>2];c[252992+(a*472|0)+72+(d*56|0)+20>>2]=c[15584+(b>>>4<<2)>>2];return}case 13:case 12:case 11:case 10:case 9:case 8:{c[252992+(a*472|0)+72+((d&7)*56|0)>>2]=b&255;return}case 18:case 17:case 16:{d=d<<1;b=b&255;c[252992+(a*472|0)+72+((d+-32|0)*56|0)+12>>2]=b&7;c[252992+(a*472|0)+72+((d+-31|0)*56|0)+12>>2]=b>>>4&7;return}case 20:{b=b&255;c[252992+(a*472|0)+76>>2]=b&1;c[252992+(a*472|0)+132>>2]=b&2;c[252992+(a*472|0)+188>>2]=b&4;c[252992+(a*472|0)+244>>2]=b&8;c[252992+(a*472|0)+300>>2]=b&16;c[252992+(a*472|0)+356>>2]=b&32;return}case 21:{b=b&255;c[252992+(a*472|0)+80>>2]=b&1;c[252992+(a*472|0)+136>>2]=b&2;c[252992+(a*472|0)+192>>2]=b&4;c[252992+(a*472|0)+248>>2]=b&8;c[252992+(a*472|0)+304>>2]=b&16;c[252992+(a*472|0)+360>>2]=b&32;return}case 22:{b=b&255;c[252992+(a*472|0)>>2]=b&3;c[252992+(a*472|0)+4>>2]=b>>>4&3;return}case 25:case 24:{d=d+-24|0;b=b&255;c[252992+(a*472|0)+16+(d<<2)>>2]=b&1;c[252992+(a*472|0)+24+(d<<2)>>2]=b>>>1&7;c[252992+(a*472|0)+32+(d<<2)>>2]=b&16;c[252992+(a*472|0)+40+(d<<2)>>2]=b&32;c[252992+(a*472|0)+8+(d<<2)>>2]=b&128;c[252992+(a*472|0)+48+(d<<2)>>2]=0;return}case 28:{b=b&255;c[252992+(a*472|0)+56>>2]=b&1;b=b&2;c[252992+(a*472|0)+60>>2]=b;if(!b)return;c[252992+(a*472|0)+120>>2]=0;h[252992+(a*472|0)+104>>3]=0.0;c[252992+(a*472|0)+176>>2]=0;h[252992+(a*472|0)+160>>3]=0.0;c[252992+(a*472|0)+232>>2]=0;h[252992+(a*472|0)+216>>3]=0.0;c[252992+(a*472|0)+288>>2]=0;h[252992+(a*472|0)+272>>3]=0.0;c[252992+(a*472|0)+344>>2]=0;h[252992+(a*472|0)+328>>3]=0.0;c[252992+(a*472|0)+400>>2]=0;h[252992+(a*472|0)+384>>3]=0.0;return}default:return}}function Zc(b,c){b=b|0;c=c|0;b=b&255;a[252992+(b*472|0)+124>>0]=c&1;a[252992+(b*472|0)+180>>0]=c>>>1&1;a[252992+(b*472|0)+236>>0]=c>>>2&1;a[252992+(b*472|0)+292>>0]=c>>>3&1;a[252992+(b*472|0)+348>>0]=c>>>4&1;a[252992+(b*472|0)+404>>0]=c>>>5&1;return}function _c(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;S=b&255;C=c[253936+(S*264|0)+136>>2]|0;U=253936+(S*264|0)+144|0;p=c[U>>2]|0;V=253936+(S*264|0)+148|0;r=c[V>>2]|0;w=(c[253936+(S*264|0)+152>>2]|0)+-32|0;x=c[253936+(S*264|0)+156>>2]|0;I=253936+(S*264|0)+165|0;o=a[I>>0]|0;if(!(o<<24>>24))q=d[253936+(S*264|0)+164>>0]|0;else q=0;y=c[253936+(S*264|0)+168>>2]|0;Q=253936+(S*264|0)+176|0;n=c[Q>>2]|0;R=253936+(S*264|0)+180|0;m=c[R>>2]|0;z=(c[253936+(S*264|0)+184>>2]|0)+-32|0;A=c[253936+(S*264|0)+188>>2]|0;T=253936+(S*264|0)+197|0;if(!(a[T>>0]|0))l=d[253936+(S*264|0)+196>>0]|0;else l=0;E=c[253936+(S*264|0)+200>>2]|0;J=253936+(S*264|0)+208|0;k=c[J>>2]|0;K=253936+(S*264|0)+212|0;j=c[K>>2]|0;F=(c[253936+(S*264|0)+216>>2]|0)+-32|0;D=c[253936+(S*264|0)+220>>2]|0;L=253936+(S*264|0)+229|0;if(!(a[L>>0]|0))i=d[253936+(S*264|0)+228>>0]|0;else i=0;H=c[253936+(S*264|0)+232>>2]|0;N=253936+(S*264|0)+240|0;h=c[N>>2]|0;O=253936+(S*264|0)+244|0;g=c[O>>2]|0;u=(c[253936+(S*264|0)+248>>2]|0)+-32|0;G=c[253936+(S*264|0)+252>>2]|0;P=253936+(S*264|0)+261|0;if(!(a[P>>0]|0))b=d[253936+(S*264|0)+260>>0]|0;else b=0;B=c[253936+(S*264|0)>>2]|0;v=c[e>>2]|0;t=c[e+4>>2]|0;if((f|0)>0){s=0;e=q;do{if(!e){o=0;e=0}else{r=r+C|0;e=(r>>>24)+p|0;o=M((d[B+p>>0]|0)+-128|0,x)|0;r=r&16777215;p=e;e=e>>>0>>0&1}if(!l)l=0;else{m=m+y|0;l=(m>>>24)+n|0;o=(M((d[B+n>>0]|0)+-128|0,A)|0)+o|0;m=m&16777215;n=l;l=l>>>0>>0&1}if(!i)i=0;else{j=j+E|0;i=(j>>>24)+k|0;o=(M((d[B+k>>0]|0)+-128|0,D)|0)+o|0;j=j&16777215;k=i;i=i>>>0>>0&1}if(!b)b=0;else{g=g+H|0;b=(g>>>24)+h|0;o=(M((d[B+h>>0]|0)+-128|0,G)|0)+o|0;g=g&16777215;h=b;b=b>>>0>>0&1}q=o>>2;c[v+(s<<2)>>2]=q;c[t+(s<<2)>>2]=q;s=s+1|0}while((s|0)!=(f|0));o=a[I>>0]|0}else e=q;c[U>>2]=p;c[V>>2]=r;if(!(o<<24>>24))a[253936+(S*264|0)+164>>0]=e;c[Q>>2]=n;c[R>>2]=m;if(!(a[T>>0]|0))a[253936+(S*264|0)+196>>0]=l;c[J>>2]=k;c[K>>2]=j;if(!(a[L>>0]|0))a[253936+(S*264|0)+228>>0]=i;c[N>>2]=h;c[O>>2]=g;if(a[P>>0]|0)return;a[253936+(S*264|0)+260>>0]=b;return}function $c(d,e,f){d=d|0;e=e|0;f=f|0;var g=0;d=d&255;g=e>>>3;b[253936+(d*264|0)+8+(e<<1)>>1]=f&255;switch(e&7){case 0:{e=253936+(d*264|0)+136+(g<<5)+4|0;c[e>>2]=c[e>>2]&1044480|(f&255)<<4;return}case 1:{e=253936+(d*264|0)+136+(g<<5)+4|0;c[e>>2]=c[e>>2]&4080|(f&255)<<12;return}case 2:{e=253936+(d*264|0)+136+(g<<5)+16|0;c[e>>2]=c[e>>2]&1044480|(f&255)<<4;return}case 3:{e=253936+(d*264|0)+136+(g<<5)+16|0;c[e>>2]=c[e>>2]&4080|(f&255)<<12;return}case 4:{c[253936+(d*264|0)+136+(g<<5)>>2]=16777216/((256-(f&255)|0)>>>0)|0;return}case 5:{f=f&255;c[253936+(d*264|0)+136+(g<<5)+20>>2]=(f<<8>>>0)/((f+10|0)>>>0)|0;return}case 6:{a[253936+(d*264|0)+136+(g<<5)+28>>0]=f;c[253936+(d*264|0)+136+(g<<5)+8>>2]=c[253936+(d*264|0)+136+(g<<5)+4>>2];c[253936+(d*264|0)+136+(g<<5)+12>>2]=0;return}default:return}}function ad(a){a=a|0;var b=0;a=a&255;bd(253936+(a*264|0)|0);a=253936+(a*264|0)+8|0;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function bd(b){b=b|0;var d=0,e=0,f=0;f=b+136|0;e=b+168|0;d=b+200|0;b=b+232|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;a[f+28>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28>>0]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;a[d+28>>0]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=0;return}function cd(b,d){b=b|0;d=d|0;var e=0,f=0;if((b&255)>1){d=0;return d|0}b=b&255;e=253936+(b*264|0)|0;c[e>>2]=0;c[253936+(b*264|0)+4>>2]=0;bd(e);e=253936+(b*264|0)+8|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[253936+(b*264|0)+165>>0]=0;a[253936+(b*264|0)+197>>0]=0;a[253936+(b*264|0)+229>>0]=0;a[253936+(b*264|0)+261>>0]=0;d=(d|0)/4|0;return d|0}function dd(a){a=a|0;a=253936+((a&255)*264|0)|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a&255;a=253936+(g*264|0)|0;g=253936+(g*264|0)+4|0;if((c[g>>2]|0)!=(b|0)){h=Ky(c[a>>2]|0,b)|0;c[a>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[a>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function fd(b,c){b=b|0;c=c|0;b=b&255;a[253936+(b*264|0)+165>>0]=c&1;a[253936+(b*264|0)+197>>0]=c>>>1&1;a[253936+(b*264|0)+229>>0]=c>>>2&1;a[253936+(b*264|0)+261>>0]=c>>>3&1;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=254464+((a&255)*3028|0)|0;if(!c)return;d=0;a=c;while(1){c=(a|0)<1e4?a:1e4;hd(e,b,d,c);a=a-c|0;if(!a)break;else d=c+d|0}return}function hd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!g)return;p=b+3012|0;if((c[p>>2]<<1|0)>0){i=g<<2;h=0;do{QA((c[e+(h<<2)>>2]|0)+(f<<2)|0,0,i|0)|0;h=h+1|0}while((h|0)<(c[p>>2]<<1|0))}l=b+49|0;m=b+54|0;k=0;while(1){n=b+56+(k*92|0)|0;h=c[n>>2]|0;o=c[b+20+(h>>>14<<2)>>2]|0;if((c[b+56+(k*92|0)+8>>2]|0)==(c[b+56+(k*92|0)+16>>2]|0)){h=h|1;c[n>>2]=h}j=((h>>>10&7|0)%(c[p>>2]|0)|0)<<1;i=(c[e+(j<<2)>>2]|0)+(f<<2)|0;j=(c[e+((j|1)<<2)>>2]|0)+(f<<2)|0;do if(o)if(!(h&8192)){kd(b,n,o,i,j,g);break}else{jd(b,n,o,i,j,g);break}else id(n,g);while(0);if(c[n>>2]&128|0?(a[m>>0]|0)<0:0){a[m>>0]=k&127;c[n>>2]=c[n>>2]&-129}if(k>>>0<(d[l>>0]|0)>>>0)k=k+1|0;else break}return}function id(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;p=c[b+4>>2]|0;t=b+24|0;q=c[b+88>>2]|0;f=q&c[t>>2];a:do if((e|0)>0){r=b+36|0;n=b+16|0;s=b+20|0;u=b+32|0;v=b+12|0;w=b+52|0;x=b+28|0;y=b+44|0;o=b+8|0;A=b+85|0;z=b+48|0;B=b+40|0;g=c[b>>2]|0;do if(!(g&3)){b:while(1){l=e+-1|0;e=(e|0)==0;c:do if(!(g&64)){if(e)break a;m=c[n>>2]|0;j=c[r>>2]|0;k=j;e=l;while(1){f=f+p&q;if(!j)j=0;else{l=j+-1|0;c[r>>2]=l;j=c[s>>2]|0;do if(j|0){j=(c[v>>2]|0)+(j<<24>>24)|0;c[v>>2]=j;if((j|0)<0){c[v>>2]=0;break}if(j>>>0>65535)c[v>>2]=65535}while(0);j=c[u>>2]|0;do if(j|0){j=(c[x>>2]|0)+(j<<24>>24)|0;c[x>>2]=j;if((j|0)<0){c[x>>2]=0;break}if(j>>>0>65535)c[x>>2]=65535}while(0);j=c[w>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[z>>2]|0)+(j<<24>>24)|0;c[z>>2]=j;if((j|0)<0){c[z>>2]=0;break}if(j>>>0>65535)c[z>>2]=65535}while(0);j=c[y>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[B>>2]|0)+(j<<24>>24)|0;c[B>>2]=j;if((j|0)<0){c[B>>2]=0;break}if(j>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=(d[A>>0]|0)+1;k=l;j=l}d:do if(f>>>0>m>>>0&(g&4|0)==0){if(g&32){g=g|128;c[b>>2]=g}switch(g>>>3&3){case 0:{i=e;h=k;e=80;break b}case 3:{j=m;break c}case 1:{f=f-m+(c[o>>2]|0)&q;break d}case 2:{f=f-m+(c[o>>2]|0)&q;g=g&-29|4;c[b>>2]=g;break d}default:{e=42;break b}}}while(0);if(!e)break a;else e=e+-1|0}}else{if(e)break a;m=c[o>>2]|0;j=c[r>>2]|0;k=j;e=l;while(1){f=f-p&q;if(!j)j=0;else{l=j+-1|0;c[r>>2]=l;j=c[s>>2]|0;do if(j|0){j=(c[v>>2]|0)+(j<<24>>24)|0;c[v>>2]=j;if((j|0)<0){c[v>>2]=0;break}if(j>>>0>65535)c[v>>2]=65535}while(0);j=c[u>>2]|0;do if(j|0){j=(c[x>>2]|0)+(j<<24>>24)|0;c[x>>2]=j;if((j|0)<0){c[x>>2]=0;break}if(j>>>0>65535)c[x>>2]=65535}while(0);j=c[w>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[z>>2]|0)+(j<<24>>24)|0;c[z>>2]=j;if((j|0)<0){c[z>>2]=0;break}if(j>>>0>65535)c[z>>2]=65535}while(0);j=c[y>>2]|0;do if(j|0){if((j|0)<=-1?a[A>>0]&7:0)break;j=(c[B>>2]|0)+(j<<24>>24)|0;c[B>>2]=j;if((j|0)<0){c[B>>2]=0;break}if(j>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=(d[A>>0]|0)+1;k=l;j=l}e:do if(f>>>0>>0&(g&4|0)==0){if(g&32){g=g|128;c[b>>2]=g}switch(g>>>3&3){case 0:{i=e;h=k;e=80;break b}case 3:{j=m;break c}case 1:{f=f-m+(c[n>>2]|0)&q;break e}case 2:{f=f-m+(c[n>>2]|0)&q;g=g&-29|4;c[b>>2]=g;break e}default:{e=78;break b}}}while(0);if(!e)break a;else e=e+-1|0}}while(0);g=g^64;c[b>>2]=g;f=(j<<1)-f&q}if((e|0)!=42)if((e|0)!=78)if((e|0)==80){c[b>>2]=g|1;c[t>>2]=f;if((i|0)>0)break;return}}else{c[t>>2]=f;i=e;h=c[r>>2]|0}while(0);g=(i|0)!=1&i>>>0>h>>>0?h:i;c[r>>2]=h-g;f=c[s>>2]|0;do if(f|0){f=M(f<<24>>24,g)|0;f=(c[v>>2]|0)+f|0;c[v>>2]=f;if((f|0)<0){c[v>>2]=0;break}if(f>>>0>65535)c[v>>2]=65535}while(0);f=c[u>>2]|0;do if(f|0){f=M(f<<24>>24,g)|0;f=(c[x>>2]|0)+f|0;c[x>>2]=f;if((f|0)<0){c[x>>2]=0;break}if(f>>>0>65535)c[x>>2]=65535}while(0);f=c[w>>2]|0;do if(f|0){if((f|0)<=-1?a[A>>0]&7:0)break;f=M(f<<24>>24,g)|0;f=(c[z>>2]|0)+f|0;c[z>>2]=f;if((f|0)<0){c[z>>2]=0;break}if(f>>>0>65535)c[z>>2]=65535}while(0);f=c[y>>2]|0;do if(f|0){if((f|0)<=-1?a[A>>0]&7:0)break;f=M(f<<24>>24,g)|0;f=(c[B>>2]|0)+f|0;c[B>>2]=f;if((f|0)<0){c[B>>2]=0;break}if(f>>>0>65535)c[B>>2]=65535}while(0);a[A>>0]=g+(d[A>>0]|0);return}while(0);c[t>>2]=f;return}function jd(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;I=c[g+4>>2]|0;N=g+24|0;E=g+88|0;o=c[E>>2]|0;l=o&c[N>>2];F=f+3008|0;n=c[F>>2]|0;O=g+12|0;Q=g+28|0;D=h+(c[g+80>>2]<<1)|0;a:do if((k|0)>0){u=f+3004|0;R=g+48|0;v=g+76|0;w=g+68|0;x=g+72|0;T=g+40|0;y=g+60|0;z=g+64|0;A=g+56|0;J=g+36|0;B=g+16|0;K=g+20|0;L=g+32|0;P=g+52|0;S=g+44|0;C=g+8|0;U=g+85|0;h=c[g>>2]|0;do if(!(h&3)){f=e[n+((c[Q>>2]|0)>>>4<<1)>>1]|0;p=e[n+((c[O>>2]|0)>>>4<<1)>>1]|0;r=h;b:while(1){q=k+-1|0;h=(k|0)==0;c:do if(!(r&64)){if(h)break a;t=j;n=f;s=i;k=q;h=o;j=r;while(1){r=c[u>>2]|0;o=l&2047;r=(M(o,b[r+((e[D+((h&l+2048)>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)+(M(2048-o|0,b[r+((e[D+(l>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)>>11;l=h&l+I;o=c[R>>2]|0;h=o>>>2;f=c[v>>2]|0;f=((M(r-f|0,h)|0)/16384|0)+f|0;c[v>>2]=f;r=c[w>>2]|0;f=(M(f-r|0,h)|0)/16384|0;i=f+r|0;c[x>>2]=r;c[w>>2]=i;switch(j>>>8&3){case 0:{r=c[T>>2]|0;j=r>>>2;q=c[y>>2]|0;i=((q|0)/2|0)+f+((M(j,q)|0)/32768|0)|0;c[z>>2]=q;c[y>>2]=i;f=c[A>>2]|0;j=i-q+((f|0)/2|0)+((M(f,j)|0)/32768|0)|0;f=r;break}case 1:{f=c[y>>2]|0;r=(M(i-f|0,h)|0)/16384|0;c[z>>2]=f;c[y>>2]=r+f;f=c[T>>2]|0;j=c[A>>2]|0;j=((j|0)/2|0)+r+((M(f>>>2,j)|0)/32768|0)|0;break}case 2:{f=c[T>>2]|0;r=f>>>2;j=c[y>>2]|0;q=((M(i-j|0,r)|0)/16384|0)+j|0;c[z>>2]=j;c[y>>2]=q;j=c[A>>2]|0;j=((M(q-j|0,r)|0)/16384|0)+j|0;break}case 3:{f=c[y>>2]|0;r=((M(i-f|0,h)|0)/16384|0)+f|0;c[z>>2]=f;c[y>>2]=r;f=c[T>>2]|0;j=c[A>>2]|0;j=((M(r-j|0,f>>>2)|0)/16384|0)+j|0;break}default:{f=14;break b}}c[A>>2]=j;h=c[J>>2]|0;if(!h)o=p;else{c[J>>2]=h+-1;h=c[K>>2]|0;do if(h|0){h=(c[O>>2]|0)+(h<<24>>24)|0;c[O>>2]=h;if((h|0)<0){c[O>>2]=0;break}if(h>>>0>65535)c[O>>2]=65535}while(0);h=c[L>>2]|0;do if(h|0){h=(c[Q>>2]|0)+(h<<24>>24)|0;c[Q>>2]=h;if((h|0)<0){c[Q>>2]=0;break}if(h>>>0>65535)c[Q>>2]=65535}while(0);h=c[P>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=(h<<24>>24)+o|0;c[R>>2]=h;if((h|0)<0){c[R>>2]=0;break}if(h>>>0>65535)c[R>>2]=65535}while(0);h=c[S>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=f+(h<<24>>24)|0;c[T>>2]=h;if((h|0)<0){c[T>>2]=0;break}if(h>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=(d[U>>0]|0)+1;o=c[F>>2]|0;n=e[o+((c[Q>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0}f=(M(o,j)|0)>>11;i=s+4|0;c[s>>2]=(c[s>>2]|0)+f;f=(M(n,j)|0)>>11;j=t+4|0;c[t>>2]=(c[t>>2]|0)+f;f=c[B>>2]|0;d:do if(l>>>0>f>>>0?(G=c[g>>2]|0,(G&4|0)==0):0){if(!(G&32))h=G;else{h=G|128;c[g>>2]=h}switch(h>>>3&3){case 0:{m=k;f=96;break b}case 3:break c;case 1:{l=l-f+(c[C>>2]|0)&c[E>>2];break d}case 2:{l=l-f+(c[C>>2]|0)&c[E>>2];c[g>>2]=h&-29|4;break d}default:{f=48;break b}}}while(0);if(!k)break a;t=j;p=o;s=i;k=k+-1|0;h=c[E>>2]|0;j=c[g>>2]|0}}else{if(h)break a;t=j;s=i;n=f;h=o;j=r;k=q;while(1){r=c[u>>2]|0;o=l&2047;r=(M(o,b[r+((e[D+((h&l+2048)>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)+(M(2048-o|0,b[r+((e[D+(l>>>11<<1)>>1]|0)>>>8<<1)>>1]|0)|0)>>11;l=h&l-I;o=c[R>>2]|0;h=o>>>2;f=c[v>>2]|0;f=((M(r-f|0,h)|0)/16384|0)+f|0;c[v>>2]=f;r=c[w>>2]|0;f=(M(f-r|0,h)|0)/16384|0;i=f+r|0;c[x>>2]=r;c[w>>2]=i;switch(j>>>8&3){case 0:{r=c[T>>2]|0;j=r>>>2;q=c[y>>2]|0;i=((q|0)/2|0)+f+((M(j,q)|0)/32768|0)|0;c[z>>2]=q;c[y>>2]=i;f=c[A>>2]|0;j=i-q+((f|0)/2|0)+((M(f,j)|0)/32768|0)|0;f=r;break}case 1:{f=c[y>>2]|0;r=(M(i-f|0,h)|0)/16384|0;c[z>>2]=f;c[y>>2]=r+f;f=c[T>>2]|0;j=c[A>>2]|0;j=((j|0)/2|0)+r+((M(f>>>2,j)|0)/32768|0)|0;break}case 2:{f=c[T>>2]|0;r=f>>>2;j=c[y>>2]|0;q=((M(i-j|0,r)|0)/16384|0)+j|0;c[z>>2]=j;c[y>>2]=q;j=c[A>>2]|0;j=((M(q-j|0,r)|0)/16384|0)+j|0;break}case 3:{f=c[y>>2]|0;r=((M(i-f|0,h)|0)/16384|0)+f|0;c[z>>2]=f;c[y>>2]=r;f=c[T>>2]|0;j=c[A>>2]|0;j=((M(r-j|0,f>>>2)|0)/16384|0)+j|0;break}default:{f=59;break b}}c[A>>2]=j;h=c[J>>2]|0;if(!h)o=p;else{c[J>>2]=h+-1;h=c[K>>2]|0;do if(h|0){h=(c[O>>2]|0)+(h<<24>>24)|0;c[O>>2]=h;if((h|0)<0){c[O>>2]=0;break}if(h>>>0>65535)c[O>>2]=65535}while(0);h=c[L>>2]|0;do if(h|0){h=(c[Q>>2]|0)+(h<<24>>24)|0;c[Q>>2]=h;if((h|0)<0){c[Q>>2]=0;break}if(h>>>0>65535)c[Q>>2]=65535}while(0);h=c[P>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=(h<<24>>24)+o|0;c[R>>2]=h;if((h|0)<0){c[R>>2]=0;break}if(h>>>0>65535)c[R>>2]=65535}while(0);h=c[S>>2]|0;do if(h|0){if((h|0)<=-1?a[U>>0]&7:0)break;h=f+(h<<24>>24)|0;c[T>>2]=h;if((h|0)<0){c[T>>2]=0;break}if(h>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=(d[U>>0]|0)+1;o=c[F>>2]|0;n=e[o+((c[Q>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0}f=(M(o,j)|0)>>11;i=s+4|0;c[s>>2]=(c[s>>2]|0)+f;f=(M(n,j)|0)>>11;j=t+4|0;c[t>>2]=(c[t>>2]|0)+f;f=c[C>>2]|0;e:do if(l>>>0>>0?(H=c[g>>2]|0,(H&4|0)==0):0){if(!(H&32))h=H;else{h=H|128;c[g>>2]=h}switch(h>>>3&3){case 0:{m=k;f=96;break b}case 3:break c;case 1:{l=l-f+(c[B>>2]|0)&c[E>>2];break e}case 2:{l=l-f+(c[B>>2]|0)&c[E>>2];c[g>>2]=h&-29|4;break e}default:{f=93;break b}}}while(0);if(!k)break a;t=j;s=i;p=o;h=c[E>>2]|0;j=c[g>>2]|0;k=k+-1|0}}while(0);t=c[E>>2]|0;r=h^64;c[g>>2]=r;l=t&(f<<1)-l;f=n;p=o;o=t}if((f|0)!=14)if((f|0)!=48)if((f|0)!=59)if((f|0)!=93)if((f|0)==96){c[g>>2]=h|1;c[N>>2]=l;if((m|0)>0)break;return}}else{c[N>>2]=l;m=k}while(0);l=c[J>>2]|0;h=(m|0)!=1&m>>>0>l>>>0?l:m;c[J>>2]=l-h;l=c[K>>2]|0;do if(l|0){l=M(l<<24>>24,h)|0;l=(c[O>>2]|0)+l|0;c[O>>2]=l;if((l|0)<0){c[O>>2]=0;break}if(l>>>0>65535)c[O>>2]=65535}while(0);l=c[L>>2]|0;do if(l|0){l=M(l<<24>>24,h)|0;l=(c[Q>>2]|0)+l|0;c[Q>>2]=l;if((l|0)<0){c[Q>>2]=0;break}if(l>>>0>65535)c[Q>>2]=65535}while(0);l=c[P>>2]|0;do if(l|0){if((l|0)<=-1?a[U>>0]&7:0)break;l=M(l<<24>>24,h)|0;l=(c[R>>2]|0)+l|0;c[R>>2]=l;if((l|0)<0){c[R>>2]=0;break}if(l>>>0>65535)c[R>>2]=65535}while(0);l=c[S>>2]|0;do if(l|0){if((l|0)<=-1?a[U>>0]&7:0)break;l=M(l<<24>>24,h)|0;l=(c[T>>2]|0)+l|0;c[T>>2]=l;if((l|0)<0){c[T>>2]=0;break}if(l>>>0>65535)c[T>>2]=65535}while(0);a[U>>0]=h+(d[U>>0]|0);return}while(0);c[N>>2]=l;return}function kd(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0;G=c[g+4>>2]|0;K=g+24|0;D=g+88|0;n=c[D>>2]|0;l=n&c[K>>2];C=f+3008|0;f=c[C>>2]|0;L=g+12|0;O=g+28|0;t=h+(c[g+80>>2]<<1)|0;a:do if((k|0)>0){P=g+48|0;u=g+76|0;v=g+68|0;w=g+72|0;R=g+40|0;x=g+60|0;y=g+64|0;z=g+56|0;H=g+36|0;A=g+16|0;I=g+20|0;J=g+32|0;N=g+52|0;Q=g+44|0;B=g+8|0;S=g+85|0;h=c[g>>2]|0;do if(!(h&3)){p=e[f+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[f+((c[L>>2]|0)>>>4<<1)>>1]|0;b:while(1){q=k+-1|0;f=(k|0)==0;c:do if(!(h&64)){if(f)break a;s=j;r=i;k=q;f=n;j=h;while(1){q=l&2047;q=(M(q,b[t+((f&l+2048)>>>11<<1)>>1]|0)|0)+(M(2048-q|0,b[t+(l>>>11<<1)>>1]|0)|0)>>11;l=f&l+G;n=c[P>>2]|0;f=n>>>2;h=c[u>>2]|0;h=((M(q-h|0,f)|0)/16384|0)+h|0;c[u>>2]=h;q=c[v>>2]|0;h=(M(h-q|0,f)|0)/16384|0;i=h+q|0;c[w>>2]=q;c[v>>2]=i;switch(j>>>8&3){case 0:{q=c[R>>2]|0;j=q>>>2;i=c[x>>2]|0;f=((i|0)/2|0)+h+((M(j,i)|0)/32768|0)|0;c[y>>2]=i;c[x>>2]=f;h=c[z>>2]|0;j=f-i+((h|0)/2|0)+((M(h,j)|0)/32768|0)|0;h=q;break}case 1:{h=c[x>>2]|0;q=(M(i-h|0,f)|0)/16384|0;c[y>>2]=h;c[x>>2]=q+h;h=c[R>>2]|0;j=c[z>>2]|0;j=((j|0)/2|0)+q+((M(h>>>2,j)|0)/32768|0)|0;break}case 2:{h=c[R>>2]|0;q=h>>>2;j=c[x>>2]|0;i=((M(i-j|0,q)|0)/16384|0)+j|0;c[y>>2]=j;c[x>>2]=i;j=c[z>>2]|0;j=((M(i-j|0,q)|0)/16384|0)+j|0;break}case 3:{h=c[x>>2]|0;q=((M(i-h|0,f)|0)/16384|0)+h|0;c[y>>2]=h;c[x>>2]=q;h=c[R>>2]|0;j=c[z>>2]|0;j=((M(q-j|0,h>>>2)|0)/16384|0)+j|0;break}default:{h=14;break b}}c[z>>2]=j;f=c[H>>2]|0;if(!f)n=p;else{c[H>>2]=f+-1;f=c[I>>2]|0;do if(f|0){f=(c[L>>2]|0)+(f<<24>>24)|0;c[L>>2]=f;if((f|0)<0){c[L>>2]=0;break}if(f>>>0>65535)c[L>>2]=65535}while(0);f=c[J>>2]|0;do if(f|0){f=(c[O>>2]|0)+(f<<24>>24)|0;c[O>>2]=f;if((f|0)<0){c[O>>2]=0;break}if(f>>>0>65535)c[O>>2]=65535}while(0);f=c[N>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=(f<<24>>24)+n|0;c[P>>2]=f;if((f|0)<0){c[P>>2]=0;break}if(f>>>0>65535)c[P>>2]=65535}while(0);f=c[Q>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=h+(f<<24>>24)|0;c[R>>2]=f;if((f|0)<0){c[R>>2]=0;break}if(f>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=(d[S>>0]|0)+1;o=c[C>>2]|0;n=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[L>>2]|0)>>>4<<1)>>1]|0}h=(M(o,j)|0)>>11;i=r+4|0;c[r>>2]=(c[r>>2]|0)+h;h=(M(n,j)|0)>>11;j=s+4|0;c[s>>2]=(c[s>>2]|0)+h;h=c[A>>2]|0;d:do if(l>>>0>h>>>0?(E=c[g>>2]|0,(E&4|0)==0):0){if(!(E&32))f=E;else{f=E|128;c[g>>2]=f}switch(f>>>3&3){case 0:{m=k;h=96;break b}case 3:break c;case 1:{l=l-h+(c[B>>2]|0)&c[D>>2];break d}case 2:{l=l-h+(c[B>>2]|0)&c[D>>2];c[g>>2]=f&-29|4;break d}default:{h=48;break b}}}while(0);if(!k)break a;s=j;p=n;r=i;k=k+-1|0;f=c[D>>2]|0;j=c[g>>2]|0}}else{if(f)break a;s=j;r=i;f=n;j=h;k=q;while(1){q=l&2047;q=(M(q,b[t+((f&l+2048)>>>11<<1)>>1]|0)|0)+(M(2048-q|0,b[t+(l>>>11<<1)>>1]|0)|0)>>11;l=f&l-G;n=c[P>>2]|0;f=n>>>2;h=c[u>>2]|0;h=((M(q-h|0,f)|0)/16384|0)+h|0;c[u>>2]=h;q=c[v>>2]|0;h=(M(h-q|0,f)|0)/16384|0;i=h+q|0;c[w>>2]=q;c[v>>2]=i;switch(j>>>8&3){case 0:{q=c[R>>2]|0;j=q>>>2;i=c[x>>2]|0;f=((i|0)/2|0)+h+((M(j,i)|0)/32768|0)|0;c[y>>2]=i;c[x>>2]=f;h=c[z>>2]|0;j=f-i+((h|0)/2|0)+((M(h,j)|0)/32768|0)|0;h=q;break}case 1:{h=c[x>>2]|0;q=(M(i-h|0,f)|0)/16384|0;c[y>>2]=h;c[x>>2]=q+h;h=c[R>>2]|0;j=c[z>>2]|0;j=((j|0)/2|0)+q+((M(h>>>2,j)|0)/32768|0)|0;break}case 2:{h=c[R>>2]|0;q=h>>>2;j=c[x>>2]|0;i=((M(i-j|0,q)|0)/16384|0)+j|0;c[y>>2]=j;c[x>>2]=i;j=c[z>>2]|0;j=((M(i-j|0,q)|0)/16384|0)+j|0;break}case 3:{h=c[x>>2]|0;q=((M(i-h|0,f)|0)/16384|0)+h|0;c[y>>2]=h;c[x>>2]=q;h=c[R>>2]|0;j=c[z>>2]|0;j=((M(q-j|0,h>>>2)|0)/16384|0)+j|0;break}default:{h=59;break b}}c[z>>2]=j;f=c[H>>2]|0;if(!f)n=p;else{c[H>>2]=f+-1;f=c[I>>2]|0;do if(f|0){f=(c[L>>2]|0)+(f<<24>>24)|0;c[L>>2]=f;if((f|0)<0){c[L>>2]=0;break}if(f>>>0>65535)c[L>>2]=65535}while(0);f=c[J>>2]|0;do if(f|0){f=(c[O>>2]|0)+(f<<24>>24)|0;c[O>>2]=f;if((f|0)<0){c[O>>2]=0;break}if(f>>>0>65535)c[O>>2]=65535}while(0);f=c[N>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=(f<<24>>24)+n|0;c[P>>2]=f;if((f|0)<0){c[P>>2]=0;break}if(f>>>0>65535)c[P>>2]=65535}while(0);f=c[Q>>2]|0;do if(f|0){if((f|0)<=-1?a[S>>0]&7:0)break;f=h+(f<<24>>24)|0;c[R>>2]=f;if((f|0)<0){c[R>>2]=0;break}if(f>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=(d[S>>0]|0)+1;o=c[C>>2]|0;n=e[o+((c[O>>2]|0)>>>4<<1)>>1]|0;o=e[o+((c[L>>2]|0)>>>4<<1)>>1]|0}h=(M(o,j)|0)>>11;i=r+4|0;c[r>>2]=(c[r>>2]|0)+h;h=(M(n,j)|0)>>11;j=s+4|0;c[s>>2]=(c[s>>2]|0)+h;h=c[B>>2]|0;e:do if(l>>>0>>0?(F=c[g>>2]|0,(F&4|0)==0):0){if(!(F&32))f=F;else{f=F|128;c[g>>2]=f}switch(f>>>3&3){case 0:{m=k;h=96;break b}case 3:break c;case 1:{l=l-h+(c[A>>2]|0)&c[D>>2];break e}case 2:{l=l-h+(c[A>>2]|0)&c[D>>2];c[g>>2]=f&-29|4;break e}default:{h=93;break b}}}while(0);if(!k)break a;s=j;r=i;p=n;f=c[D>>2]|0;j=c[g>>2]|0;k=k+-1|0}}while(0);r=c[D>>2]|0;s=f^64;c[g>>2]=s;l=r&(h<<1)-l;p=n;n=r;h=s}if((h|0)!=14)if((h|0)!=48)if((h|0)!=59)if((h|0)!=93)if((h|0)==96){c[g>>2]=f|1;c[K>>2]=l;if((m|0)>0)break;return}}else{c[K>>2]=l;m=k}while(0);l=c[H>>2]|0;f=(m|0)!=1&m>>>0>l>>>0?l:m;c[H>>2]=l-f;l=c[I>>2]|0;do if(l|0){l=M(l<<24>>24,f)|0;l=(c[L>>2]|0)+l|0;c[L>>2]=l;if((l|0)<0){c[L>>2]=0;break}if(l>>>0>65535)c[L>>2]=65535}while(0);l=c[J>>2]|0;do if(l|0){l=M(l<<24>>24,f)|0;l=(c[O>>2]|0)+l|0;c[O>>2]=l;if((l|0)<0){c[O>>2]=0;break}if(l>>>0>65535)c[O>>2]=65535}while(0);l=c[N>>2]|0;do if(l|0){if((l|0)<=-1?a[S>>0]&7:0)break;l=M(l<<24>>24,f)|0;l=(c[P>>2]|0)+l|0;c[P>>2]=l;if((l|0)<0){c[P>>2]=0;break}if(l>>>0>65535)c[P>>2]=65535}while(0);l=c[Q>>2]|0;do if(l|0){if((l|0)<=-1?a[S>>0]&7:0)break;l=M(l<<24>>24,f)|0;l=(c[R>>2]|0)+l|0;c[R>>2]=l;if((l|0)<0){c[R>>2]=0;break}if(l>>>0>65535)c[R>>2]=65535}while(0);a[S>>0]=f+(d[S>>0]|0);return}while(0);c[K>>2]=l;return}function ld(a,b){a=a|0;b=b|0;if((a&255)>1){b=0;return b|0}a=a&255;c[254464+(a*3028|0)+3012>>2]=1;md(254464+(a*3028|0)|0,b&2147483647,b>>31&255);b=(c[254464+(a*3028|0)+44>>2]|0)>>>9;return b|0}function md(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a[b+3016>>0]=e;f=b+3012|0;g=c[f>>2]|0;if(!((g|0)>=1?(g|0)<=((e<<24>>24==0?4:6)|0):0))c[f>>2]=1;c[b+44>>2]=d;a[b+54>>0]=-128;if(e<<24>>24)a[b+49>>0]=31;c[b>>2]=d>>>9;nd(b);c[b+3e3>>2]=Hy(8e4)|0;return}function nd(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;h=a+3004|0;c[h>>2]=Hy(512)|0;g=0;do{d=g<<11;e=g>>>5&524287;f=d&63488|1024;if(!e)d=f<<16>>23;else d=((f>>>1|d&32768)<<16^-2147483648)>>16>>(e^7);b[(c[h>>2]|0)+(g<<1)>>1]=d;g=g+1|0}while((g|0)!=256);e=Hy(8192)|0;d=a+3008|0;c[d>>2]=e;b[e>>1]=0;e=1;do{b[(c[d>>2]|0)+(e<<1)>>1]=(e<<11&522240|524288)>>>(20-(e>>>8&255)|0);e=e+1|0}while((e|0)!=4096);return}function od(a){a=a|0;var b=0;a=a&255;b=254464+(a*3028|0)+3004|0;Iy(c[b>>2]|0);c[b>>2]=0;b=254464+(a*3028|0)+3008|0;Iy(c[b>>2]|0);c[b>>2]=0;a=254464+(a*3028|0)+3e3|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function pd(b){b=b|0;var d=0,e=0;d=b&255;e=(a[254464+(d*3028|0)+3016>>0]|0)==0?2147483647:-1;b=0;do{a[254464+(d*3028|0)+56+(b*92|0)+84>>0]=b;c[254464+(d*3028|0)+56+(b*92|0)>>2]=3;c[254464+(d*3028|0)+56+(b*92|0)+12>>2]=65535;c[254464+(d*3028|0)+56+(b*92|0)+28>>2]=65535;c[254464+(d*3028|0)+56+(b*92|0)+80>>2]=0;c[254464+(d*3028|0)+56+(b*92|0)+88>>2]=e;b=b+1|0}while((b|0)!=32);return}function qd(a,b,d){a=a|0;b=b|0;d=d|0;c[254464+((a&255)*3028|0)+56+(b*92|0)+80>>2]=d;return}function rd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=b&255;f=254464+(e*3028|0)|0;if(c>>>0>=64){qd(b,c&31,(d&255)<<20);return}if(!(a[254464+(e*3028|0)+3016>>0]|0)){sd(f,c,d);return}else{td(f,c,d);return}}function sd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a[b+48>>0]|0;f=b+56+((e&31)*92|0)|0;if((e&255)<32){xd(b,f,c,d&255);return}d=d&255;if((e&255)<64){yd(b,f,c,d);return}else{zd(b,c,d);return}}function td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a[b+48>>0]|0;i=b+56+((h&31)*92|0)|0;j=d<<3&24;g=b+36|0;f=c[g>>2]&~(-16777216>>>j)|(e&255)<<24-j;c[g>>2]=f;if((j|0)!=24)return;do if((h&255)>=32){e=d>>>2;if((h&255)<64){vd(b,i,e,f);break}else{wd(b,e,f);break}}else ud(b,i,d>>>2,f);while(0);c[g>>2]=0;return}function ud(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do switch(e|0){case 0:{c[d>>2]=f&65535;return}case 1:{c[d+4>>2]=f&131071;return}case 2:{c[d+12>>2]=f&65535;return}case 3:{c[d+20>>2]=f>>>8&255;return}case 4:{c[d+28>>2]=f&65535;return}case 5:{c[d+32>>2]=f>>>8&255;return}case 6:{c[d+36>>2]=f&511;a[d+85>>0]=0;return}case 7:{c[d+40>>2]=f&65535;return}case 8:{c[d+44>>2]=f>>>8&255|f<<31;return}case 9:{c[d+48>>2]=f&65535;return}case 10:{c[d+52>>2]=f>>>8&255|f<<31;return}case 11:{d=f&31;a[b+49>>0]=d;d=((c[b+44>>2]|0)>>>0)/(((d<<4)+16|0)>>>0)|0;c[b>>2]=d;e=c[b+3020>>2]|0;if(!e)return;xa[e&31](c[b+3024>>2]|0,d);return}case 12:{a[b+50>>0]=f&31;return}case 15:{a[b+48>>0]=f&127;return}default:return}while(0)}function vd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do switch(e|0){case 0:{c[d>>2]=f&65535;return}case 1:{c[d+8>>2]=f&-2048;return}case 2:{c[d+16>>2]=f&-128;return}case 3:{c[d+24>>2]=f;return}case 4:{c[d+56>>2]=f<<14>>14;return}case 5:{c[d+60>>2]=f<<14>>14;return}case 6:{c[d+64>>2]=f<<14>>14;return}case 7:{c[d+68>>2]=f<<14>>14;return}case 8:{c[d+72>>2]=f<<14>>14;return}case 9:{c[d+76>>2]=f<<14>>14;return}case 10:{a[b+51>>0]=f&127;return}case 11:{a[b+52>>0]=f&127;return}case 12:{a[b+53>>0]=f&127;return}case 15:{a[b+48>>0]=f&127;return}default:return}while(0)}function wd(b,c,d){b=b|0;c=c|0;d=d|0;if((c|0)!=15)return;a[b+48>>0]=d&127;return}function xd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(e&1|0)!=0;g=h?f:(f&65535)<<8&65535;do switch(e>>>1&2147483647|0){case 0:{f=c[d>>2]|0;if(h){h=g&65535;c[d>>2]=h<<12&16384|h&251|f&-16636;return}else{h=g&65535;c[d>>2]=h>>>2&768|h<<2&3072|f&-3841;return}}case 1:{f=d+4|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-511|g<<1&510;return}else{c[f>>2]=e&-130561|(g&-256&65535)<<1;return}}case 2:{f=d+8|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 3:{f=d+8|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-897|g<<2&896;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 4:{f=d+16|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 5:{f=d+16|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-897|g<<2&896;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 6:{f=d+40|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-241|g&240;return}else{c[f>>2]=e&-65281|g&-256&65535;return}}case 7:{f=d+48|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-241|g&240;return}else{c[f>>2]=e&-65281|g&-256&65535;return}}case 8:{f=d+12|0;if(h)return;c[f>>2]=c[f>>2]&-65281|g&-256&65535;return}case 9:{f=d+28|0;if(h)return;c[f>>2]=c[f>>2]&-65281|g&-256&65535;return}case 10:{f=d+24|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-66846721|(g&255)<<18;return}else{c[f>>2]=e&-2080374785|(g&7936)<<18;return}}case 11:{f=d+24|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-1021|g<<2&1020;return}else{c[f>>2]=e&-261121|(g&-256&65535)<<2;return}}case 15:{if(!h)return;a[b+48>>0]=g&127;return}case 13:{if(!h)return;f=g&31;a[b+49>>0]=f;f=((c[b+44>>2]|0)>>>0)/((f+1&255)<<4>>>0)|0;c[b>>2]=f;e=c[b+3020>>2]|0;if(!e)return;xa[e&31](c[b+3024>>2]|0,f);return}default:return}while(0)}function yd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=(e&1|0)!=0;g=h?f:(f&65535)<<8&65535;do switch(e>>>1&2147483647|0){case 0:{f=c[d>>2]|0;if(h){h=g&65535;c[d>>2]=h<<12&16384|h&251|f&-16636;return}else{h=g&65535;c[d>>2]=h>>>2&768|h<<2&3072|f&-3841;return}}case 1:{f=d+56|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 2:{f=d+60|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 3:{f=d+64|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 4:{f=d+68|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 5:{f=d+72|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 6:{f=d+76|0;e=c[f>>2]|0;if(h){c[f>>2]=e&-256|g&255;return}else{c[f>>2]=(e&255|g&-256&65535)<<16>>16;return}}case 15:{if(!h)return;a[b+48>>0]=g&127;return}case 13:{if(!h)return;e=g&31;a[b+49>>0]=e;e=((c[b+44>>2]|0)>>>0)/((e+1&255)<<4>>>0)|0;c[b>>2]=e;f=c[b+3020>>2]|0;if(!f)return;xa[f&31](c[b+3024>>2]|0,e);return}default:return}while(0)}function zd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=(d&1|0)!=0;e=f?e&255:0;switch(d>>>1&2147483647|0){case 13:{if(!f)return;e=e&31;a[b+49>>0]=e;e=((c[b+44>>2]|0)>>>0)/((e+1&255)<<4>>>0)|0;c[b>>2]=e;d=c[b+3020>>2]|0;if(!d)return;xa[d&31](c[b+3024>>2]|0,e);return}case 15:{if(!f)return;a[b+48>>0]=e&127;return}case 8:{if(!f)return;a[b+50>>0]=e&7;return}default:return}}function Ad(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=b&255;f=254464+(e*3028|0)|0;if(c>>>0>=64){qd(b,c&31,(d&65535)<<20);return}b=(d&65535)>>>8&255;if(!(a[254464+(e*3028|0)+3016>>0]|0)){sd(f,c,b);sd(f,c|1,d&255);return}else{td(f,c,b);td(f,c|1,d&255);return}}function Bd(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;j=a&255;k=f>>>28&3;a=f>>>31;i=g<>2]|0)!=(g|0)){m=254464+(j*3028|0)+20+(k<<2)|0;e=Ky(c[m>>2]|0,g)|0;c[m>>2]=e;c[a>>2]=g;QA(e|0,0,g|0)|0}if(g>>>0>>0)return;a=(l+i|0)>>>0>g>>>0?g-l|0:i;if((f|0)>=0){PA((c[254464+(j*3028|0)+20+(k<<2)>>2]|0)+l|0,h|0,a|0)|0;return}e=a>>>1;if(!e)return;g=254464+(j*3028|0)+20+(k<<2)|0;a=0;do{b[(c[g>>2]|0)+(a+l<<1)>>1]=(d[h+a>>0]|0)<<8;a=a+1|0}while((a|0)!=(e|0));return}function Cd(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[254464+(b*3028|0)+56+(d*92|0)+86>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Dd(a,b){a=a|0;b=b|0;a=a&255;c[254464+(a*3028|0)+3020>>2]=5;c[254464+(a*3028|0)+3024>>2]=b;return}function Ed(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=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,J=0,K=0;K=k;k=k+16|0;J=K;G=f&255;H=260528+(G*812|0)|0;z=h<<2;QA(c[g>>2]|0,0,z|0)|0;I=g+4|0;QA(c[I>>2]|0,0,z|0)|0;z=260528+(G*812|0)+792|0;A=c[z>>2]&-2;B=260528+(G*812|0)+776|0;f=a[B>>0]|0;if(f<<24>>24<=0){k=K;return}C=260528+(G*812|0)+796|0;D=(h|0)>0;E=260528+(G*812|0)+772|0;F=(A|0)>0;y=0;do{w=260528+(G*812|0)+(y*24|0)+4|0;i=a[w>>0]|0;if((i&1)==0?(a[260528+(G*812|0)+(y*24|0)+21>>0]|0)==0:0){v=d[260528+(G*812|0)+(y*24|0)+12>>0]|0;t=c[15648+(v<<2)>>2]&c[260528+(G*812|0)+(y*24|0)+8>>2];x=260528+(G*812|0)+(y*24|0)+16|0;f=c[x>>2]|0;c[J>>2]=f;u=(c[15680+(d[260528+(G*812|0)+(y*24|0)+13>>0]<<2)>>2]|0)-v|0;v=c[15712+(v<<2)>>2]|0;n=c[C>>2]&((i&255)>>>4&255);if(D){o=e[260528+(G*812|0)+(y*24|0)>>1]|0;p=260528+(G*812|0)+(y*24|0)+6|0;q=d[260528+(G*812|0)+(y*24|0)+5>>0]|0;r=(b[260528+(G*812|0)+(y*24|0)+2>>1]|0)+-1&65535;s=g+((n&1)<<2)|0;m=0;do{l=f>>>u;c[J>>2]=f+o;f=a[(c[E>>2]|0)+((l&v)+t)>>0]|0;a[p>>0]=f;if(f<<24>>24){i=M((f&255)+-128|0,q)|0;if(F){f=0;do{if((f|0)==(n|0)){j=(c[s>>2]|0)+(m<<2)|0;c[j>>2]=(c[j>>2]|0)+i}f=f+1|0}while((f|0)!=(A|0));j=A}else j=0;i=i*181>>8;f=c[z>>2]|0;if((j|0)<(f|0))do{if((j|0)==(n|0)){f=(c[g>>2]|0)+(m<<2)|0;c[f>>2]=(c[f>>2]|0)+i;f=(c[I>>2]|0)+(m<<2)|0;c[f>>2]=(c[f>>2]|0)+i;f=c[z>>2]|0}j=j+1|0}while((j|0)<(f|0));if(l>>>0>=r>>>0)Fd(H,y,0,J,u)}else Fd(H,y,1,J,u);m=m+1|0;f=c[J>>2]|0}while((a[w>>0]&1)==0&(m|0)<(h|0))}c[x>>2]=f;f=a[B>>0]|0}y=y+1|0}while((y|0)<(f<<24>>24|0));k=K;return}function Fd(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;l=f^1;m=e+(f*24|0)+4|0;n=d[m>>0]|0;j=n>>>1&3;k=e+(l*24|0)+4|0;if(!(j|g)){g=(c[h>>2]|0)>>>i;n=(b[e+(f*24|0)+2>>1]|0)+-1&65535;c[h>>2]=(g>>>0>n>>>0?g-n|0:0)<>0]=n|1;if((j|0)==3){a[k>>0]=a[k>>0]&-2;c[e+(l*24|0)+16>>2]=0}if(!(a[m>>0]&8))return;a[e+(f*24|0)+20>>0]=1;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((b&255)>1){e=0;return e|0}b=b&255;c[260528+(b*812|0)+768>>2]=131072;c[260528+(b*812|0)+772>>2]=Hy(131072)|0;c[260528+(b*812|0)+788>>2]=d;c[260528+(b*812|0)+792>>2]=e;f=1;while(1)if((f|0)<(e|0))f=f<<1;else break;c[260528+(b*812|0)+796>>2]=f+-1;c[260528+(b*812|0)+780>>2]=255;e=(d>>>0)/272|0;c[260528+(b*812|0)+800>>2]=e;a[260528+(b*812|0)+21>>0]=0;a[260528+(b*812|0)+45>>0]=0;a[260528+(b*812|0)+69>>0]=0;a[260528+(b*812|0)+93>>0]=0;a[260528+(b*812|0)+117>>0]=0;a[260528+(b*812|0)+141>>0]=0;a[260528+(b*812|0)+165>>0]=0;a[260528+(b*812|0)+189>>0]=0;a[260528+(b*812|0)+213>>0]=0;a[260528+(b*812|0)+237>>0]=0;a[260528+(b*812|0)+261>>0]=0;a[260528+(b*812|0)+285>>0]=0;a[260528+(b*812|0)+309>>0]=0;a[260528+(b*812|0)+333>>0]=0;a[260528+(b*812|0)+357>>0]=0;a[260528+(b*812|0)+381>>0]=0;a[260528+(b*812|0)+405>>0]=0;a[260528+(b*812|0)+429>>0]=0;a[260528+(b*812|0)+453>>0]=0;a[260528+(b*812|0)+477>>0]=0;a[260528+(b*812|0)+501>>0]=0;a[260528+(b*812|0)+525>>0]=0;a[260528+(b*812|0)+549>>0]=0;a[260528+(b*812|0)+573>>0]=0;a[260528+(b*812|0)+597>>0]=0;a[260528+(b*812|0)+621>>0]=0;a[260528+(b*812|0)+645>>0]=0;a[260528+(b*812|0)+669>>0]=0;a[260528+(b*812|0)+693>>0]=0;a[260528+(b*812|0)+717>>0]=0;a[260528+(b*812|0)+741>>0]=0;a[260528+(b*812|0)+765>>0]=0;return e|0}function Hd(a){a=a|0;a=260528+((a&255)*812|0)+772|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Id(d){d=d|0;var e=0,f=0;f=d&255;d=0;do{e=260528+(f*812|0)+(d*24|0)|0;c[e>>2]=0;b[e+4>>1]=0;a[260528+(f*812|0)+(d*24|0)+6>>0]=-128;c[260528+(f*812|0)+(d*24|0)+8>>2]=0;a[260528+(f*812|0)+(d*24|0)+12>>0]=0;a[260528+(f*812|0)+(d*24|0)+13>>0]=0;c[260528+(f*812|0)+(d*24|0)+16>>2]=0;a[260528+(f*812|0)+(d*24|0)+20>>0]=0;d=d+1|0}while((d|0)!=32);d=260528+(f*812|0)+776|0;a[d>>0]=1;a[260528+(f*812|0)+784>>0]=0;QA(c[260528+(f*812|0)+772>>2]|0,0,c[260528+(f*812|0)+768>>2]|0)|0;d=((c[260528+(f*812|0)+788>>2]|0)>>>3>>>0)/(((a[d>>0]|0)+2|0)>>>0)|0;c[260528+(f*812|0)+800>>2]=d;e=c[260528+(f*812|0)+804>>2]|0;if(!e)return;xa[e&31](c[260528+(f*812|0)+808>>2]|0,d);return}function Jd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;h=d&255;if(e>>>0>=224){if((e|0)!=225)return;d=(f&255)>>>1&31;a[260528+(h*812|0)+776>>0]=d+1;d=((c[260528+(h*812|0)+788>>2]|0)>>>3>>>0)/((d+3|0)>>>0)|0;c[260528+(h*812|0)+800>>2]=d;e=c[260528+(h*812|0)+804>>2]|0;if(!e)return;xa[e&31](c[260528+(h*812|0)+808>>2]|0,d);return}g=e&31;switch(e>>>5&7){case 0:{h=260528+(h*812|0)+(g*24|0)|0;b[h>>1]=b[h>>1]&-256&65535|f&255;return}case 1:{h=260528+(h*812|0)+(g*24|0)|0;b[h>>1]=(f&255)<<8|b[h>>1]&255;return}case 2:{a[260528+(h*812|0)+(g*24|0)+5>>0]=f;return}case 6:{f=f&255;e=260528+(h*812|0)+(g*24|0)+8|0;d=c[e>>2]|0;c[e>>2]=(f&64|0)==0?d&65535:d|65536;e=f>>>3&7;a[260528+(h*812|0)+(g*24|0)+12>>0]=e;b[260528+(h*812|0)+(g*24|0)+2>>1]=b[15744+(e<<1)>>1]|0;a[260528+(h*812|0)+(g*24|0)+13>>0]=f&7;return}case 4:{c[260528+(h*812|0)+(g*24|0)+8>>2]=(f&255)<<8;return}case 5:{d=260528+(h*812|0)+(g*24|0)+4|0;if((f&1)==0&(a[d>>0]&1)!=0)c[260528+(h*812|0)+(g*24|0)+16>>2]=0;a[d>>0]=f;return}default:return}}function Kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=a&255;f=c[260528+(a*812|0)+768>>2]|0;if(f>>>0<=b>>>0)return;PA((c[260528+(a*812|0)+772>>2]|0)+b|0,e|0,((d+b|0)>>>0>f>>>0?f-b|0:d)|0)|0;return}function Ld(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[260528+(b*812|0)+(d*24|0)+21>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Md(a,b){a=a|0;b=b|0;a=a&255;c[260528+(a*812|0)+804>>2]=5;c[260528+(a*812|0)+808>>2]=b;return}function Nd(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=f&255;u=262160+(t*1692|0)|0;s=h<<2;QA(c[g>>2]|0,0,s|0)|0;v=g+4|0;QA(c[v>>2]|0,0,s|0)|0;if((h|0)<=0)return;s=262160+(t*1692|0)+1176|0;r=0;do{q=0;p=0;i=0;j=0;k=0;while(1){m=262160+(t*1692|0)+8+(q*36|0)|0;o=262160+(t*1692|0)+8+(q*36|0)+22|0;f=b[o>>1]|0;if(f<<16>>16<0){n=262160+(t*1692|0)+8+(q*36|0)+4|0;f=c[n>>2]|0;l=f+(e[262160+(t*1692|0)+8+(q*36|0)+20>>1]|0)|0;if(l&65536){Od(u,m);f=c[n>>2]|0}if((f^l)&98304|0){f=262160+(t*1692|0)+8+(q*36|0)+12|0;Pd(m,0,(e[f>>1]|0)>>>8&255);Pd(m,1,b[f>>1]&255);f=262160+(t*1692|0)+8+(q*36|0)+14|0;Pd(m,2,(e[f>>1]|0)>>>8&255);Pd(m,3,b[f>>1]&255)}m=l&65535;c[n>>2]=m;l=b[262160+(t*1692|0)+8+(q*36|0)+8>>1]|0;f=b[o>>1]|0;if(!(f&4)){o=b[262160+(t*1692|0)+8+(q*36|0)+10>>1]|0;l=((M((l<<16>>16)-o|0,m)|0)>>>16)+o&65535}}else l=0;if(!(a[262160+(t*1692|0)+8+(q*36|0)+32>>0]|0)){m=f&65535;n=l<<16>>16;o=0-n|0;f=((M((m&256|0)==0?n:o,d[262160+(t*1692|0)+8+(q*36|0)+16>>0]|0)|0)>>8)+p|0;i=((M((m&512|0)==0?n:o,d[262160+(t*1692|0)+8+(q*36|0)+18>>0]|0)|0)>>8)+i|0;p=(m&128|0)==0?n:o;k=((M(p,d[262160+(t*1692|0)+8+(q*36|0)+17>>0]|0)|0)>>8)+k|0;j=((M(p,d[262160+(t*1692|0)+8+(q*36|0)+19>>0]|0)|0)>>8)+j|0}else f=p;q=q+1|0;if((q|0)==32)break;else p=f}q=(c[g>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+f;q=(c[v>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+k;if(!((a[3416876]|a[s>>0])<<24>>24)){q=(c[g>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+i;q=(c[v>>2]|0)+(r<<2)|0;c[q>>2]=(c[q>>2]|0)+j}r=r+1|0}while((r|0)!=(h|0));return}function Od(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=f+8|0;b[f+10>>1]=b[i>>1]|0;j=f+22|0;g=b[j>>1]|0;if(g&16){f=d+1160|0;k=e[f>>1]|0;k=(0-(k&1)&65526^k>>>1)&65535;b[f>>1]=k;b[i>>1]=k;return}k=c[f>>2]|0;h=a[(c[d+1164>>2]|0)+(c[d+1172>>2]&k)>>0]|0;b[i>>1]=h<<8;if(g&8)b[i>>1]=b[d+1178+((h&255)<<1)>>1]|0;d=g&65535;h=(d&2|0)==0;if((d&3|0)==3){if(!(d&64)){if((b[f+28>>1]|0)==(k&65535)<<16>>16){g=(d|64)&65535;b[j>>1]=g}}else if((b[f+30>>1]|0)==(k&65535)<<16>>16){g=d&65471;b[j>>1]=g}c[f>>2]=k+-1+(((g&65535)>>>5&2^2)&65535);return}if((b[f+28>>1]|0)!=(k&65535)<<16>>16){c[f>>2]=k+-1+(d<<1&2^2);return}if((d&34|0)==34){c[f>>2]=e[f+26>>1]<<16|e[f+30>>1];b[j>>1]=g|2048;return}if(h){b[j>>1]=d&24575|8192;b[i>>1]=0;return}else{c[f>>2]=k&16711680|e[f+30>>1];b[j>>1]=g|2048;return}}function Pd(b,c,e){b=b|0;c=c|0;e=e|0;var f=0;c=b+16+c|0;f=d[c>>0]|0;b=f-(e&255)|0;if(!b)return;a[c>>0]=((b|0)>0?255:1)+f;return}function Qd(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0;if((d&255)>1){h=0;return h|0}h=d&255;c[262160+(h*1692|0)+1164>>2]=0;c[262160+(h*1692|0)+1168>>2]=0;f=(f|0)==0?288:f&65535;b[262160+(h*1692|0)+4>>1]=f;g=262160+(h*1692|0)|0;c[g>>2]=((e&2147483647)>>>0)/((f&65535)>>>0)|0;a[262160+(h*1692|0)+1176>>0]=e>>>31;QA(262160+(h*1692|0)+8|0,0,1152)|0;Rd(d,0);f=0;d=0;while(1){b[262160+(h*1692|0)+1178+(f<<1)>>1]=d<<5;if(f>>>0>=16)if(f>>>0>=24)if(f>>>0<48)e=4;else e=f>>>0<100?8:16;else e=2;else e=1;f=f+1|0;if((f|0)==128)break;else d=d+e|0}f=128;do{b[262160+(h*1692|0)+1178+(f<<1)>>1]=b[262160+(h*1692|0)+1178+(f+-128<<1)>>1]&-32^-32;f=f+1|0}while((f|0)!=256);h=c[g>>2]|0;return h|0}function Rd(b,c){b=b|0;c=c|0;var d=0;b=b&255;d=0;do{a[262160+(b*1692|0)+8+(d*36|0)+32>>0]=c>>>d&1;d=d+1|0}while((d|0)!=32);return}function Sd(a){a=a|0;a=262160+((a&255)*1692|0)+1164|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Td(a){a=a|0;var c=0,d=0;d=a&255;c=Ud(a)|0;QA(262160+(d*1692|0)+8|0,0,1152)|0;b[262160+(d*1692|0)+1160>>1]=4660;b[262160+(d*1692|0)+1162>>1]=0;Rd(a,c);return}function Ud(a){a=a|0;var b=0,c=0;b=a&255;a=0;c=0;do{a=(d[262160+(b*1692|0)+8+(c*36|0)+32>>0]|0)<>>0<256){b[262160+(h*1692|0)+8+((d>>>3)*36|0)+((e[15760+((d&7)<<1)>>1]|0)<<1)>>1]=f;return}switch(d|0){case 512:{b[262160+(h*1692|0)+1162>>1]=f;return}case 514:{a=0;do{d=262160+(h*1692|0)+8+(a*36|0)+22|0;f=b[d>>1]|0;g=f&65535;if(!(g&16384)){if(g&8192|0){b[d>>1]=g&24575;c[262160+(h*1692|0)+8+(a*36|0)+4>>2]=65535}}else{c[262160+(h*1692|0)+8+(a*36|0)>>2]=(e[262160+(h*1692|0)+8+(a*36|0)+24>>1]|0)<<16|(e[262160+(h*1692|0)+8+(a*36|0)+26>>1]|0);b[262160+(h*1692|0)+8+(a*36|0)+8>>1]=0;b[262160+(h*1692|0)+8+(a*36|0)+10>>1]=0;c[262160+(h*1692|0)+8+(a*36|0)+4>>2]=65535;b[d>>1]=f&14335|-32768;c[262160+(h*1692|0)+8+(a*36|0)+16>>2]=0}a=a+1|0}while((a|0)!=32);return}default:return}}function Wd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=a&255;a=262160+(h*1692|0)+1168|0;if((c[a>>2]|0)!=(b|0)){i=262160+(h*1692|0)+1164|0;g=Ky(c[i>>2]|0,b)|0;c[i>>2]=g;c[a>>2]=b;a=1;while(1)if(a>>>0>>0)a=a<<1;else break;c[262160+(h*1692|0)+1172>>2]=a+-1;QA(g|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[262160+(h*1692|0)+1164>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Xd(b){b=b|0;a[3416876]=b&1;return}function Yd(b,d,e){b=b|0;d=d|0;e=e|0;b=3415612+((b&255)<<2)|0;switch(a[3416877]|0){case 1:{Zd(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{_d(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function Zd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0;if((f|0)<=0)return;ya=b+9584|0;Ja=b+269|0;Ua=b+1536|0;db=b+512|0;h=b+781|0;s=b+2048|0;D=b+1024|0;F=b+1293|0;G=b+2560|0;H=(a[b+13817>>0]&32)==0;I=b+3072|0;J=b+3584|0;K=b+4096|0;L=b+4608|0;M=b+4877|0;N=b+6144|0;O=b+13804|0;P=b+5120|0;Q=b+5389|0;R=b+6656|0;S=b+5632|0;T=b+5901|0;U=b+7168|0;V=b+7680|0;W=b+8192|0;X=b+8704|0;Y=b+9216|0;Z=b+9220|0;_=b+9224|0;$=b+9228|0;aa=b+9588|0;ba=b+9232|0;ca=b+9236|0;da=b+9240|0;ea=b+9244|0;fa=b+9592|0;ga=b+9248|0;ha=b+9252|0;ia=b+9256|0;ja=b+9260|0;ka=b+9596|0;la=b+9264|0;ma=b+9268|0;na=b+9272|0;oa=b+9276|0;pa=b+9600|0;qa=b+9280|0;ra=b+9284|0;sa=b+9288|0;ta=b+9292|0;ua=b+9604|0;va=b+9296|0;wa=b+9300|0;xa=b+9304|0;za=b+9308|0;Aa=b+9608|0;Ba=b+9312|0;Ca=b+9316|0;Da=b+9320|0;Ea=b+9324|0;Fa=b+9612|0;Ga=b+9328|0;Ha=b+9332|0;Ia=b+9336|0;Ka=b+9340|0;La=b+9616|0;Ma=b+9344|0;Na=b+9348|0;Oa=b+9352|0;Pa=b+9356|0;Qa=b+9620|0;Ra=b+9360|0;Sa=b+9364|0;Ta=b+9368|0;Va=b+9372|0;Wa=b+9624|0;Xa=b+9376|0;Ya=b+9380|0;Za=b+9384|0;_a=b+9388|0;$a=b+9628|0;ab=b+9392|0;bb=b+9396|0;cb=b+9400|0;eb=b+9404|0;fb=b+9632|0;gb=b+9408|0;hb=b+9412|0;ib=b+9416|0;jb=b+9420|0;kb=b+9636|0;lb=b+9424|0;mb=b+9428|0;nb=b+9432|0;i=b+9436|0;j=b+9640|0;k=b+9440|0;l=b+9444|0;m=b+9448|0;n=b+9452|0;o=b+9644|0;p=b+9456|0;q=b+9460|0;r=b+9464|0;t=b+9468|0;u=b+9648|0;v=b+9472|0;w=b+9476|0;x=b+9480|0;y=b+9484|0;z=b+9652|0;A=b+9488|0;B=b+9492|0;C=b+9496|0;E=b+9500|0;g=0;do{ie(b);ob=ya;pb=ob+72|0;do{c[ob>>2]=0;ob=ob+4|0}while((ob|0)<(pb|0));je(b,b);if(!(a[Ja>>0]|0))je(b,Ua);else ke(b,Ua);je(b,db);if(!(a[h>>0]|0))je(b,s);else ke(b,s);je(b,D);if(!(a[F>>0]|0))je(b,G);else ke(b,G);if(H){je(b,I);je(b,J);je(b,K)}else le(b,b,c[O>>2]&1);je(b,L);if(!(a[M>>0]|0))je(b,N);else ke(b,N);je(b,P);if(!(a[Q>>0]|0))je(b,R);else ke(b,R);je(b,S);if(!(a[T>>0]|0))je(b,U);else ke(b,U);je(b,V);je(b,W);je(b,X);nc=c[ya>>2]|0;Wb=c[Z>>2]&nc;Xb=c[$>>2]&nc;mc=c[aa>>2]|0;Vb=c[ca>>2]&mc;Ub=c[ea>>2]&mc;lc=c[fa>>2]|0;Tb=c[ha>>2]&lc;Sb=c[ja>>2]&lc;kc=c[ka>>2]|0;Rb=c[ma>>2]&kc;Qb=c[oa>>2]&kc;jc=c[pa>>2]|0;Pb=c[ra>>2]&jc;Ob=c[ta>>2]&jc;ic=c[ua>>2]|0;Nb=c[wa>>2]⁣Mb=c[za>>2]⁣hc=c[Aa>>2]|0;Lb=c[Ca>>2]&hc;Kb=c[Ea>>2]&hc;gc=c[Fa>>2]|0;Jb=c[Ha>>2]&gc;Ib=c[Ka>>2]&gc;fc=c[La>>2]|0;Hb=c[Na>>2]&fc;Gb=c[Pa>>2]&fc;ec=c[Qa>>2]|0;Fb=c[Sa>>2]&ec;Eb=c[Va>>2]&ec;dc=c[Wa>>2]|0;Db=c[Ya>>2]&dc;Cb=c[_a>>2]&dc;cc=c[$a>>2]|0;Bb=c[bb>>2]&cc;Ab=c[eb>>2]&cc;bc=c[fb>>2]|0;zb=c[hb>>2]&bc;yb=c[jb>>2]&bc;ac=c[kb>>2]|0;xb=c[mb>>2]∾wb=c[i>>2]∾$b=c[j>>2]|0;vb=c[l>>2]&$b;ub=c[n>>2]&$b;_b=c[o>>2]|0;tb=c[q>>2]&_b;sb=c[t>>2]&_b;Zb=c[u>>2]|0;rb=c[w>>2]&Zb;qb=c[y>>2]&Zb;Yb=c[z>>2]|0;ob=c[B>>2]&Yb;pb=c[E>>2]&Yb;c[d+(g<<2)>>2]=(c[_>>2]&nc)+(c[Y>>2]&nc)+(c[ba>>2]&mc)+(c[da>>2]&mc)+(c[ga>>2]&lc)+(c[ia>>2]&lc)+(c[la>>2]&kc)+(c[na>>2]&kc)+(c[qa>>2]&jc)+(c[sa>>2]&jc)+(c[va>>2]&ic)+(c[xa>>2]&ic)+(c[Ba>>2]&hc)+(c[Da>>2]&hc)+(c[Ga>>2]&gc)+(c[Ia>>2]&gc)+(c[Ma>>2]&fc)+(c[Oa>>2]&fc)+(c[Ra>>2]&ec)+(c[Ta>>2]&ec)+(c[Xa>>2]&dc)+(c[Za>>2]&dc)+(c[ab>>2]&cc)+(c[cb>>2]&cc)+(c[gb>>2]&bc)+(c[ib>>2]&bc)+(c[lb>>2]&ac)+(c[nb>>2]&ac)+(c[k>>2]&$b)+(c[m>>2]&$b)+(c[p>>2]&_b)+(c[r>>2]&_b)+(c[v>>2]&Zb)+(c[x>>2]&Zb)+(c[A>>2]&Yb)+(c[C>>2]&Yb);c[e+(g<<2)>>2]=Xb+Wb+Vb+Ub+Tb+Sb+Rb+Qb+Pb+Ob+Nb+Mb+Lb+Kb+Jb+Ib+Hb+Gb+Fb+Eb+Db+Cb+Bb+Ab+zb+yb+xb+wb+vb+ub+tb+sb+rb+qb+ob+pb;me(b);g=g+1|0}while((g|0)!=(f|0));return} +function _d(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;pa=k;k=k+4096|0;la=pa+2048|0;ma=pa;na=b+6668|0;oa=b+6929|0;fa=(a[oa>>0]&1)==0?9:18;if(!f){h=b+6857|0;g=0;do{if(!((g+-6|0)>>>0<3&(a[h>>0]&32)!=0)?(j=g>>>0<9?g:g+9|0,i=b+(j*184|0)|0,(a[b+(j*184|0)+169>>0]|0)==0):0){if(!(c[b+(j*184|0)+112>>2]|0))$d(i);if(!(c[i+1768>>2]|0))$d(i+1656|0)}g=g+1|0}while(g>>>0>>0);k=pa;return}if((f|0)<=0){k=pa;return}ga=b+6857|0;m=b+7224|0;n=b+7232|0;ha=b+6624|0;w=b+1104|0;D=b+2760|0;E=b+2872|0;L=b+1472|0;N=b+1584|0;W=b+1288|0;X=b+1400|0;x=b+1216|0;s=b+2897|0;Y=b+3056|0;v=b+2898|0;Z=b+3240|0;t=b+1242|0;F=b+1276|0;G=b+1280|0;u=b+2880|0;_=b+1644|0;$=b+1648|0;H=b+1592|0;S=b+3082|0;O=b+1408|0;y=b+1108|0;z=b+1160|0;r=b+1224|0;aa=b+2944|0;ba=b+3128|0;ca=b+6646|0;da=b+1460|0;ea=b+1464|0;R=b+3064|0;T=b+3248|0;o=f<<2;QA(d|0,0,o|0)|0;QA(e|0,0,o|0)|0;o=a[ga>>0]|0;h=((o&255)>>>6&1^1)&255;i=c[b+7228>>2]|0;j=c[b+7236>>2]|0;l=o<<24>>24<0;g=0;p=c[m>>2]|0;q=c[n>>2]|0;do{V=p+i|0;p=V>>>0>134217727?V+-134217728|0:V;c[la+(g<<2)>>2]=c[265552+(p>>>24<<2)>>2]>>h;V=q+j|0;q=V>>>0>889192447?V+-889192448|0:V;V=q>>>24;c[ma+(g<<2)>>2]=c[265584+((l?V:V+53|0)<<2)>>2];g=g+1|0}while((g|0)!=(f|0));h=b+6866|0;A=b+6644|0;i=b+1241|0;B=b+1609|0;I=b+1425|0;C=b+1610|0;J=b+3081|0;K=b+1426|0;P=b+3265|0;Q=b+3266|0;U=b+6643|0;V=b+6645|0;c[m>>2]=p;c[n>>2]=q;do if(o&32){a:do if(!(a[b+6642>>0]|0)){g=(c[E>>2]|0)!=5;if(a[h>>0]&1){if(!g)break;if(!(a[s>>0]|0))j=268064;else{g=0;do{c[266016+(g<<2)>>2]=(M((M(c[u>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=266016}h=(a[v>>0]|0)==0?270112:ma;i=0;while(1){ae(b,D,c[j+(i<<2)>>2]|0);wa[c[15776+(c[E>>2]<<2)>>2]&31](D);be(D,0,c[h+(i<<2)>>2]|0);g=c[D>>2]<<1;if(!(a[oa>>0]&1)){z=d+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+g}else{y=M(c[F>>2]|0,g)|0;z=d+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+y;g=M(c[G>>2]|0,g)|0}z=e+(i<<2)|0;c[z>>2]=(c[z>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break a}}if(!g?(c[x>>2]|0)==5:0)break;if((a[i>>0]|0)!=0?(c[x>>2]|0)!=5:0){g=0;do{c[266016+(g<<2)>>2]=(M((M(c[r>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=266016}else m=268064;if((a[s>>0]|0)!=0?(c[E>>2]|0)!=5:0){g=0;do{c[272160+(g<<2)>>2]=(M((M(c[u>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=272160}else l=268064;j=(a[t>>0]|0)==0?270112:ma;h=(a[v>>0]|0)==0?270112:ma;i=0;do{ae(b,w,c[m+(i<<2)>>2]|0);wa[c[15776+(c[x>>2]<<2)>>2]&31](w);g=(M((c[w>>2]|0)+(c[y>>2]|0)|0,c[z>>2]|0)|0)/2|0;be(w,g,c[j+(i<<2)>>2]|0);ae(b,D,c[l+(i<<2)>>2]|0);wa[c[15776+(c[E>>2]<<2)>>2]&31](D);be(D,c[w>>2]<<16,c[h+(i<<2)>>2]|0);g=c[D>>2]<<1;if(!(a[oa>>0]&1)){v=d+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+g}else{u=M(c[F>>2]|0,g)|0;v=d+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+u;g=M(c[G>>2]|0,g)|0}v=e+(i<<2)|0;c[v>>2]=(c[v>>2]|0)+g;i=i+1|0}while((i|0)!=(f|0))}while(0);if((a[A>>0]|0)==0?(c[N>>2]|0)!=5:0){if(!(a[B>>0]|0))j=268064;else{g=0;do{c[266016+(g<<2)>>2]=(M((M(c[H>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=266016}h=(a[C>>0]|0)==0?270112:ma;i=0;do{ae(b,L,c[j+(i<<2)>>2]|0);wa[c[15776+(c[N>>2]<<2)>>2]&31](L);be(L,0,c[h+(i<<2)>>2]|0);g=c[L>>2]<<1;if(!(a[oa>>0]&1)){H=d+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+g}else{G=M(c[_>>2]|0,g)|0;H=d+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+G;g=M(c[$>>2]|0,g)|0}H=e+(i<<2)|0;c[H>>2]=(c[H>>2]|0)+g;i=i+1|0}while((i|0)!=(f|0))}if((c[X>>2]|0)==5)if((c[Y>>2]|0)==5?(c[Z>>2]|0)==5:0)break;else p=268064;else if(!(a[I>>0]|0))p=268064;else{g=0;do{c[266016+(g<<2)>>2]=(M((M(c[O>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));p=266016}if((a[J>>0]|0)!=0?(c[Y>>2]|0)==5:0){g=0;do{c[272160+(g<<2)>>2]=(M((M(c[R>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));o=272160}else o=268064;n=(a[K>>0]|0)==0?270112:ma;m=(a[S>>0]|0)==0?270112:ma;if((a[P>>0]|0)!=0?(c[Z>>2]|0)==5:0){g=0;do{c[272160+(g<<2)>>2]=(M((M(c[T>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=272160}else l=268064;i=(a[Q>>0]|0)==0?270112:ma;j=0;do{ce(b,W,c[p+(j<<2)>>2]|0,aa,c[o+(j<<2)>>2]|0,ba,c[l+(j<<2)>>2]|0);if(!(a[ca>>0]|0)){wa[c[15776+(c[X>>2]<<2)>>2]&31](W);be(W,0,c[n+(j<<2)>>2]|0)}else c[W>>2]=0;if(!(a[U>>0]|0)){wa[c[15776+(c[Y>>2]<<2)>>2]&31](aa);be(aa,0,c[m+(j<<2)>>2]|0)}else c[aa>>2]=0;if(!(a[V>>0]|0)){wa[c[15776+(c[Z>>2]<<2)>>2]&31](ba);be(ba,0,c[i+(j<<2)>>2]|0)}else c[ba>>2]=0;g=(c[aa>>2]|0)+(c[W>>2]|0)<<1;if(!(a[oa>>0]&1)){T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+g}else{S=M(c[da>>2]|0,g)|0;T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+S;g=M(c[ea>>2]|0,g)|0}h=e+(j<<2)|0;c[h>>2]=(c[h>>2]|0)+g;g=c[ba>>2]<<1;if(!(a[oa>>0]&1)){T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+g}else{S=M(c[_>>2]|0,g)|0;T=d+(j<<2)|0;c[T>>2]=(c[T>>2]|0)+S;g=M(c[$>>2]|0,g)|0}c[h>>2]=(c[h>>2]|0)+g;j=j+1|0}while((j|0)!=(f|0))}while(0);B=(f|0)<1;do{A=fa;fa=fa+-1|0;b:do if(((a[ha+fa>>0]|0)==0?!((A+-7|0)>>>0<3&(a[ga>>0]&32)!=0):0)?(ka=(A|0)<10,ia=ka?fa:A+246|0,ka=ka?fa:A+8|0,ja=b+(ka*184|0)|0,(a[b+(ka*184|0)+169>>0]|0)==0):0){g=(a[b+(ka*184|0)+168>>0]|0)!=0;if(!(a[na+(ia+192)>>0]&1)){if(!g){s=ja+1656|0;t=ja+1768|0;if((c[t>>2]|0)==5?(c[b+(ka*184|0)+112>>2]|0)==5:0)break;if(a[b+(ka*184|0)+137>>0]|0){g=(c[b+(ka*184|0)+112>>2]|0)==5;if(g|B)r=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));r=266016}}else r=268064;if(a[ja+1793>>0]|0){g=(c[t>>2]|0)==5;if(g|B)j=g?268064:272160;else{h=ja+1776|0;g=0;do{c[272160+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=272160}}else j=268064;h=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;l=(a[ja+1794>>0]|0)==0?270112:ma;m=b+(ka*184|0)+112|0;n=b+(ka*184|0)+4|0;o=b+(ka*184|0)+56|0;p=b+(ka*184|0)+172|0;q=b+(ka*184|0)+176|0;i=0;while(1){ae(b,ja,c[r+(i<<2)>>2]|0);wa[c[15776+(c[m>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0)/2|0;be(ja,g,c[h+(i<<2)>>2]|0);ae(b,s,c[j+(i<<2)>>2]|0);wa[c[15776+(c[t>>2]<<2)>>2]&31](s);be(s,c[ja>>2]<<16,c[l+(i<<2)>>2]|0);g=c[s>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}z=b+(ka*184|0)+112|0;g=c[z>>2]|0;h=(g|0)!=5;if(!(a[na+(ia+195)>>0]&1)){if(((!h?(c[ja+1768>>2]|0)==5:0)?(c[ja+664>>2]|0)==5:0)?(c[ja+2320>>2]|0)==5:0)break;g=(g|0)==5?1:(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)w=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));w=266016}y=ja+1656|0;x=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[x>>2]|0)==5;if(g|B)m=g?268064:272160;else{h=ja+1776|0;g=0;do{c[272160+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));m=272160}}else m=268064;h=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;n=(a[ja+1794>>0]|0)==0?270112:ma;o=ja+552|0;j=(a[ja+690>>0]|0)==0?270112:ma;p=ja+2208|0;i=(a[ja+2346>>0]|0)==0?270112:ma;q=b+(ka*184|0)+4|0;r=b+(ka*184|0)+56|0;s=ja+664|0;t=ja+2320|0;u=ja+724|0;v=ja+728|0;l=0;while(1){ae(b,ja,c[w+(l<<2)>>2]|0);wa[c[15776+(c[z>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0)/2|0;be(ja,g,c[h+(l<<2)>>2]|0);ae(b,y,c[m+(l<<2)>>2]|0);wa[c[15776+(c[x>>2]<<2)>>2]&31](y);be(y,c[ja>>2]<<16,c[n+(l<<2)>>2]|0);ae(b,o,0);wa[c[15776+(c[s>>2]<<2)>>2]&31](o);be(o,c[y>>2]<<16,c[j+(l<<2)>>2]|0);ae(b,p,0);wa[c[15776+(c[t>>2]<<2)>>2]&31](p);be(p,c[o>>2]<<16,c[i+(l<<2)>>2]|0);g=c[p>>2]|0;if(!(a[oa>>0]&1)){ea=d+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[u>>2]|0,g)|0;ea=d+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[v>>2]|0,g)|0}ea=e+(l<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;l=l+1|0;if((l|0)==(f|0))break b}}if(!(!h?(c[ja+1768>>2]|0)==5:0)){g=(g|0)==5?1:(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)q=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));q=266016}s=ja+1656|0;r=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[r>>2]|0)==5;if(g|B)i=g?268064:272160;else{h=ja+1776|0;g=0;do{c[272160+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=272160}}else i=268064;l=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;j=(a[ja+1794>>0]|0)==0?270112:ma;m=b+(ka*184|0)+4|0;n=b+(ka*184|0)+56|0;o=ja+724|0;p=ja+728|0;h=0;do{ae(b,ja,c[q+(h<<2)>>2]|0);wa[c[15776+(c[z>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0)|0)/2|0;be(ja,g,c[l+(h<<2)>>2]|0);ae(b,s,c[i+(h<<2)>>2]|0);wa[c[15776+(c[r>>2]<<2)>>2]&31](s);be(s,c[ja>>2]<<16,c[j+(h<<2)>>2]|0);g=c[s>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[o>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[p>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}l=ja+552|0;m=ja+664|0;n=ja+2320|0;if((c[m>>2]|0)==5?(c[n>>2]|0)==5:0)break;h=(a[ja+690>>0]|0)==0?270112:ma;o=ja+2208|0;j=(a[ja+2346>>0]|0)==0?270112:ma;p=ja+724|0;q=ja+728|0;i=0;while(1){ae(b,l,0);wa[c[15776+(c[m>>2]<<2)>>2]&31](l);be(l,0,c[h+(i<<2)>>2]|0);ae(b,o,0);wa[c[15776+(c[n>>2]<<2)>>2]&31](o);be(o,c[l>>2]<<16,c[j+(i<<2)>>2]|0);g=c[o>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}if(!g){s=ja+1656|0;t=ja+1768|0;if((c[t>>2]|0)==5?(c[b+(ka*184|0)+112>>2]|0)==5:0)break;if(a[b+(ka*184|0)+137>>0]|0){g=(c[b+(ka*184|0)+112>>2]|0)==5;if(g|B)r=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));r=266016}}else r=268064;if(a[ja+1793>>0]|0){g=(c[t>>2]|0)==5;if(g|B)i=g?268064:272160;else{h=ja+1776|0;g=0;do{c[272160+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=272160}}else i=268064;l=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;j=(a[ja+1794>>0]|0)==0?270112:ma;m=b+(ka*184|0)+112|0;n=b+(ka*184|0)+4|0;o=b+(ka*184|0)+56|0;p=b+(ka*184|0)+172|0;q=b+(ka*184|0)+176|0;h=0;while(1){ae(b,ja,c[r+(h<<2)>>2]|0);wa[c[15776+(c[m>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0)/2|0;be(ja,g,c[l+(h<<2)>>2]|0);ae(b,s,c[i+(h<<2)>>2]|0);wa[c[15776+(c[t>>2]<<2)>>2]&31](s);be(s,0,c[j+(h<<2)>>2]|0);g=(c[ja>>2]|0)+(c[s>>2]|0)|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[p>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[q>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0;if((h|0)==(f|0))break b}}p=b+(ka*184|0)+112|0;g=(c[p>>2]|0)!=5;if(!(a[na+(ia+195)>>0]&1)){if(g){g=(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)i=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=266016}j=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;l=b+(ka*184|0)+4|0;m=b+(ka*184|0)+56|0;n=ja+724|0;o=ja+728|0;h=0;do{ae(b,ja,c[i+(h<<2)>>2]|0);wa[c[15776+(c[p>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0)/2|0;be(ja,g,c[j+(h<<2)>>2]|0);g=c[ja>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[n>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[o>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}t=ja+1656|0;u=ja+1768|0;if((c[u>>2]|0)==5)if((c[ja+664>>2]|0)==5?(c[ja+2320>>2]|0)==5:0)break;else l=268064;else{g=(a[ja+1793>>0]|0)==0;if(g|B)l=g?268064:266016;else{h=ja+1776|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));l=266016}}m=(a[ja+1794>>0]|0)==0?270112:ma;n=ja+552|0;j=(a[ja+690>>0]|0)==0?270112:ma;o=ja+2208|0;h=(a[ja+2346>>0]|0)==0?270112:ma;p=ja+664|0;q=ja+2320|0;r=ja+724|0;s=ja+728|0;i=0;while(1){ae(b,t,c[l+(i<<2)>>2]|0);wa[c[15776+(c[u>>2]<<2)>>2]&31](t);be(t,0,c[m+(i<<2)>>2]|0);ae(b,n,0);wa[c[15776+(c[p>>2]<<2)>>2]&31](n);be(n,c[t>>2]<<16,c[j+(i<<2)>>2]|0);ae(b,o,0);wa[c[15776+(c[q>>2]<<2)>>2]&31](o);be(o,c[n>>2]<<16,c[h+(i<<2)>>2]|0);g=c[o>>2]|0;if(!(a[oa>>0]&1)){ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[r>>2]|0,g)|0;ea=d+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[s>>2]|0,g)|0}ea=e+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;i=i+1|0;if((i|0)==(f|0))break b}}if(g){g=(a[b+(ka*184|0)+137>>0]|0)==0;if(g|B)i=g?268064:266016;else{h=b+(ka*184|0)+120|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));i=266016}j=(a[b+(ka*184|0)+138>>0]|0)==0?270112:ma;l=b+(ka*184|0)+4|0;m=b+(ka*184|0)+56|0;n=ja+724|0;o=ja+728|0;h=0;do{ae(b,ja,c[i+(h<<2)>>2]|0);wa[c[15776+(c[p>>2]<<2)>>2]&31](ja);g=(M((c[ja>>2]|0)+(c[l>>2]|0)|0,c[m>>2]|0)|0)/2|0;be(ja,g,c[j+(h<<2)>>2]|0);g=c[ja>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[n>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[o>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}p=ja+552|0;q=ja+664|0;if(!((c[q>>2]|0)==5?(c[ja+1768>>2]|0)==5:0)){r=ja+1656|0;o=ja+1768|0;if(a[ja+1793>>0]|0){g=(c[o>>2]|0)==5;if(g|B)j=g?268064:266016;else{h=ja+1776|0;g=0;do{c[266016+(g<<2)>>2]=(M((M(c[h>>2]|0,c[la+(g<<2)>>2]|0)|0)/8|0,4587520)|0)/5e4|0;g=g+1|0}while((g|0)!=(f|0));j=266016}}else j=268064;l=(a[ja+1794>>0]|0)==0?270112:ma;i=(a[ja+690>>0]|0)==0?270112:ma;m=ja+724|0;n=ja+728|0;h=0;do{ae(b,r,c[j+(h<<2)>>2]|0);wa[c[15776+(c[o>>2]<<2)>>2]&31](r);be(r,0,c[l+(h<<2)>>2]|0);ae(b,p,0);wa[c[15776+(c[q>>2]<<2)>>2]&31](p);be(p,c[r>>2]<<16,c[i+(h<<2)>>2]|0);g=c[p>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[m>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[n>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}j=ja+2208|0;l=ja+2320|0;if((c[l>>2]|0)!=5){i=(a[ja+2346>>0]|0)==0?270112:ma;m=ja+724|0;n=ja+728|0;h=0;do{ae(b,j,0);wa[c[15776+(c[l>>2]<<2)>>2]&31](j);be(j,0,c[i+(h<<2)>>2]|0);g=c[j>>2]|0;if(!(a[oa>>0]&1)){ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g}else{da=M(c[m>>2]|0,g)|0;ea=d+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+da;g=M(c[n>>2]|0,g)|0}ea=e+(h<<2)|0;c[ea>>2]=(c[ea>>2]|0)+g;h=h+1|0}while((h|0)!=(f|0))}}while(0)}while((A|0)>1);k=pa;return}function $d(a){a=a|0;if((c[a+144>>2]|0)+1&c[a+148>>2]|0)return;if(!(+h[a+64>>3]>=1.0))return;c[a+112>>2]=1;h[a+24>>3]=1.0;h[a+32>>3]=1.0;return}function ae(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;c[b+12>>2]=g;f=c[b+16>>2]|0;c[e>>2]=f+g+((M(f,d)|0)/65536|0);d=b+140|0;c[d>>2]=(c[d>>2]|0)+(c[a+7240>>2]|0);return}function be(a,d,e){a=a|0;d=d|0;e=e|0;if((c[a+112>>2]|0)==5)return;c[a+4>>2]=c[a>>2];c[a>>2]=~~(+h[a+32>>3]*+h[a+40>>3]*+(b[(c[a+124>>2]|0)+((c[a+128>>2]&((c[a+12>>2]|0)+d|0)>>>16)<<1)>>1]|0)*+(e|0)*.0625);return}function ce(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;m=b+8|0;j=(c[m>>2]|0)>>>16;i=g+8|0;k=(c[i>>2]|0)>>>16;j=((k<<2^k)&32|j<<5&128^j&136|0)==0?0:2;k=(rA()|0)&1;l=c[m>>2]|0;c[b+12>>2]=(52<<(j^k<<1)|j<<8)<<16;n=c[b+16>>2]|0;c[m>>2]=n+l+((M(n,d)|0)/65536|0);d=a+7240|0;a=b+140|0;c[a>>2]=(c[a>>2]|0)+(c[d>>2]|0);c[e+12>>2]=((l>>>24&1)+1^k)<<24;a=c[e+16>>2]|0;b=e+8|0;c[b>>2]=(c[b>>2]|0)+a+((M(a,f)|0)/65536|0);f=e+140|0;c[f>>2]=(c[f>>2]|0)+(c[d>>2]|0);c[g+12>>2]=j<<24|16777216;f=c[g+16>>2]|0;c[i>>2]=(c[i>>2]|0)+f+((M(f,h)|0)/65536|0);h=g+140|0;c[h>>2]=(c[h>>2]|0)+(c[d>>2]|0);return}function de(b){b=b|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=b+24|0;e=+h[r>>3];e=+h[b+64>>3]+e*(+h[b+72>>3]+e*(+h[b+88>>3]*e+ +h[b+80>>3]));h[r>>3]=e;j=b+140|0;k=c[j>>2]|0;l=k>>>16;if(!l){r=k&65535;c[j>>2]=r;return}m=b+144|0;n=c[b+148>>2]|0;o=b+112|0;p=b+32|0;q=b+160|0;g=b+164|0;f=c[m>>2]|0;b=0;i=f;do{i=i+1|0;if(!(n&i)){if(e>1.0){c[o>>2]=1;h[r>>3]=1.0;h[p>>3]=1.0;e=1.0}s=d[q>>0]|0;s=(s&127|0)==0?1:s<<1&255;a[q>>0]=s;if(c[g>>2]&(s&255))h[p>>3]=e}b=b+1|0}while((b|0)!=(l|0));c[m>>2]=f+l;s=k&65535;c[j>>2]=s;return}function ee(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=b+24|0;d=+h[p>>3];q=+h[b+48>>3];if(d>q){d=d*+h[b+96>>3];h[p>>3]=d}o=b+140|0;i=c[o>>2]|0;j=i>>>16;if(!j){p=i&65535;c[o>>2]=p;return}k=b+144|0;l=c[b+152>>2]|0;m=b+32|0;n=b+136|0;f=b+112|0;e=c[k>>2]|0;b=0;g=e;do{g=g+1|0;if(!(l&g)){do if(d<=q)if(!(a[n>>0]|0)){c[f>>2]=4;break}else{c[f>>2]=3;h[p>>3]=q;d=q;break}while(0);h[m>>3]=d}b=b+1|0}while((b|0)!=(j|0));c[k>>2]=e+j;p=i&65535;c[o>>2]=p;return}function fe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+24|0;b=+h[n>>3];if(b>1.0e-08){b=b*+h[a+104>>3];h[n>>3]=b}k=a+140|0;l=c[k>>2]|0;m=l>>>16;if(!m){n=l&65535;c[k>>2]=n;return}g=a+144|0;i=c[a+156>>2]|0;j=a+32|0;e=a+112|0;d=c[g>>2]|0;a=0;f=d;do{f=f+1|0;if(!(i&f)){if(b<=1.0e-08){h[n>>3]=0.0;if((c[e>>2]|0)==2){c[e>>2]=5;b=0.0}else b=0.0}h[j>>3]=b}a=a+1|0}while((a|0)!=(m|0));c[g>>2]=d+m;n=l&65535;c[k>>2]=n;return}function ge(a){a=a|0;var b=0,d=0,e=0;b=a+140|0;d=c[b>>2]|0;e=d>>>16;if(!e){e=d&65535;c[b>>2]=e;return}a=a+144|0;c[a>>2]=(c[a>>2]|0)+e;e=d&65535;c[b>>2]=e;return}function he(a){a=a|0;return}function ie(b){b=b|0;var e=0,f=0;e=b+13788|0;f=(c[e>>2]|0)+(c[b+13792>>2]|0)|0;f=f>>>0>3523215359?f+771751936|0:f;c[e>>2]=f;f=d[32112+(f>>>24)>>0]|0;c[b+13776>>2]=(a[b+13784>>0]|0)==0?f>>>2:f;f=b+13796|0;e=(c[f>>2]|0)+(c[b+13800>>2]|0)|0;c[f>>2]=e;c[b+13780>>2]=e>>>24&7|d[b+13785>>0];return}function je(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(a[d+270>>0]|0)return;i=b+9656|0;c[i>>2]=0;c[b+9660>>2]=0;h=b+13776|0;b=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+88>>2]&c[h>>2])|0;j=d+32|0;e=c[j>>2]|0;f=d+36|0;g=c[f>>2]|0;c[j>>2]=g;c[f>>2]=0;if(b>>>0<416){j=a[d+24>>0]|0;b=ne(c[d+16>>2]|0,b,(j<<24>>24==0?0:g+e|0)<<(j&255),c[d+96>>2]|0)|0;c[f>>2]=b}else b=0;j=c[d+28>>2]|0;c[j>>2]=(c[j>>2]|0)+b;b=(c[d+180>>2]|0)+(c[d+176>>2]|0)+(c[d+216>>2]&c[h>>2])|0;if(b>>>0>=416)return;i=oe(c[d+144>>2]|0,b,c[i>>2]|0,c[d+224>>2]|0)|0;j=c[d+156>>2]|0;c[j>>2]=(c[j>>2]|0)+i;return}function ke(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if(a[d+270>>0]|0)return;h=b+9656|0;c[h>>2]=0;f=b+13776|0;e=c[f>>2]|0;g=(c[d+52>>2]|0)+(c[d+48>>2]|0)+(c[d+88>>2]&e)|0;if(g>>>0<416){g=oe(c[d+16>>2]|0,g,c[b+9660>>2]|0,c[d+96>>2]|0)|0;e=c[d+28>>2]|0;c[e>>2]=(c[e>>2]|0)+g;e=c[f>>2]|0}e=(c[d+180>>2]|0)+(c[d+176>>2]|0)+(c[d+216>>2]&e)|0;if(e>>>0>=416)return;g=oe(c[d+144>>2]|0,e,c[h>>2]|0,c[d+224>>2]|0)|0;h=c[d+156>>2]|0;c[h>>2]=(c[h>>2]|0)+g;return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+9656|0;c[k>>2]=0;j=b+13776|0;f=(c[d+3124>>2]|0)+(c[d+3120>>2]|0)+(c[d+3160>>2]&c[j>>2])|0;l=d+3104|0;g=d+3108|0;h=c[g>>2]|0;i=h+(c[l>>2]|0)|0;c[l>>2]=h;if(!(a[d+3112>>0]|0))c[k>>2]=h;c[g>>2]=0;if(f>>>0<416){l=a[d+3096>>0]|0;c[g>>2]=ne(c[d+3088>>2]|0,f,(l<<24>>24==0?0:i)<<(l&255),c[d+3168>>2]|0)|0}g=c[j>>2]|0;f=(c[d+3252>>2]|0)+(c[d+3248>>2]|0)+(c[d+3288>>2]&g)|0;if(f>>>0<416?(a[b+9576>>0]|0)==0:0){k=(oe(c[d+3216>>2]|0,f,c[k>>2]|0,c[d+3296>>2]|0)|0)<<1;l=b+9608|0;c[l>>2]=(c[l>>2]|0)+k}f=(c[b+3636>>2]|0)+(c[b+3632>>2]|0)+(c[b+3672>>2]&g)|0;if(f>>>0<416?(a[b+9580>>0]|0)==0:0){l=c[b+3600>>2]|0;k=c[b+4240>>2]|0;k=((l>>>18^l>>>23|l>>>19|k>>>19^k>>>21)&1|0)==0?208:564;l=(e|0)!=0;k=(oe(((k&512|0)==0?(l?52:k):l?720:k)<<16,f,0,c[b+3680>>2]|0)|0)<<1;l=b+9612|0;c[l>>2]=(c[l>>2]|0)+k}f=(c[b+3764>>2]|0)+(c[b+3760>>2]|0)+(c[b+3800>>2]&g)|0;if(f>>>0<416?(a[b+9577>>0]|0)==0:0){l=(c[b+3600>>2]&16777216)+16777216|0;e=(oe((e|0)==0?l:l^16777216,f,0,c[b+3808>>2]|0)|0)<<1;l=b+9612|0;c[l>>2]=(c[l>>2]|0)+e}f=(c[b+4148>>2]|0)+(c[b+4144>>2]|0)+(c[b+4184>>2]&g)|0;if(f>>>0<416?(a[b+9578>>0]|0)==0:0){e=(oe(c[b+4112>>2]|0,f,0,c[b+4192>>2]|0)|0)<<1;l=b+9616|0;c[l>>2]=(c[l>>2]|0)+e}f=(c[b+4276>>2]|0)+(c[b+4272>>2]|0)+(c[b+4312>>2]&g)|0;if(f>>>0>=416)return;if(a[b+9579>>0]|0)return;e=c[b+3600>>2]|0;l=c[b+4240>>2]|0;e=(oe(((l>>>19^l>>>21)&1|0)==0?(e>>>18^e>>>23|e>>>19)<<25&33554432|16777216:50331648,f,0,c[b+4320>>2]|0)|0)<<1;l=b+9616|0;c[l>>2]=(c[l>>2]|0)+e;return}function me(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b+9668|0;e=(c[m>>2]|0)+(c[b+9672>>2]|0)|0;c[m>>2]=e;n=c[b+9676>>2]|0;if(e>>>0>=n>>>0){o=b+9664|0;g=c[o>>2]|0;do{e=e-n|0;c[m>>2]=e;g=g+1|0;c[o>>2]=g;f=0;do{h=f>>>1;i=f&1;j=b+(h<<9)+(i<<7)+42|0;switch(a[j>>0]|0){case 4:{if((c[b+(h<<9)+(i<<7)+60>>2]&g|0)==0?(l=b+(h<<9)+(i<<7)+52|0,p=c[l>>2]|0,i=((M(d[31856+((g>>>(d[b+(h<<9)+(i<<7)+64>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+65>>0]|0))>>0]|0,~p)|0)>>3)+p|0,c[l>>2]=i,(i|0)<1):0){c[l>>2]=0;a[j>>0]=3}break}case 3:{if((c[b+(h<<9)+(i<<7)+68>>2]&g|0)==0?(q=b+(h<<9)+(i<<7)+52|0,p=(c[q>>2]|0)+(d[31856+((g>>>(d[b+(h<<9)+(i<<7)+72>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+73>>0]|0))>>0]|0)|0,c[q>>2]=p,p>>>0>=(c[b+(h<<9)+(i<<7)+56>>2]|0)>>>0):0)a[j>>0]=2;break}case 2:{if((a[b+(h<<9)+(i<<7)+41>>0]|0)==0?(c[b+(h<<9)+(i<<7)+76>>2]&g|0)==0:0){q=b+(h<<9)+(i<<7)+52|0;p=(c[q>>2]|0)+(d[31856+((g>>>(d[b+(h<<9)+(i<<7)+80>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+81>>0]|0))>>0]|0)|0;c[q>>2]=(p|0)<511?p:511}break}case 1:{if((c[b+(h<<9)+(i<<7)+76>>2]&g|0)==0?(k=b+(h<<9)+(i<<7)+52|0,q=(c[k>>2]|0)+(d[31856+((g>>>(d[b+(h<<9)+(i<<7)+80>>0]|0)&7)+(d[b+(h<<9)+(i<<7)+81>>0]|0))>>0]|0)|0,c[k>>2]=q,(q|0)>510):0){c[k>>2]=511;a[j>>0]=0}break}default:{}}f=f+1|0}while((f|0)!=36)}while(e>>>0>=n>>>0)}k=b+13780|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h<<9)+(i<<7)+92>>0]|0){e=c[b+(h<<9)+256>>2]|0;f=a[31984+((e>>>3&112)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h<<9)+(i<<7)+16|0;f=g;g=c[g>>2]|0;e=b+(h<<9)+(i<<7)+20|0;break}else{g=e+(f<<24>>24)|0;e=b+(h<<9)+(i<<7)+16|0;f=e;g=M((c[b+9680+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h<<9)+(i<<7)+15>>0]|0)|0;break}}else{g=b+(h<<9)+(i<<7)+16|0;f=g;g=c[g>>2]|0;e=b+(h<<9)+(i<<7)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=36);q=b+13808|0;p=(c[q>>2]|0)+(c[b+13812>>2]|0)|0;e=p>>>16;c[q>>2]=p&65535;if(!e)return;g=b+13804|0;f=c[g>>2]|0;do{q=f>>>1;f=(f&1|0)==0?q:q^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[274208+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6655){e=0;return e|0}e=c[306976+(a<<2)>>2]|0;return e|0}function oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[274208+((((d<<16)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<4)|0;if(a>>>0>6655){e=0;return e|0}e=c[306976+(a<<2)>>2]|0;return e|0}function pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=3415612+((b&255)<<2)|0;b=(d|0)/288|0;g=a[3416903]|0;f=c[853966]|0;b=g<<24>>24==2|g<<24>>24==1&(b|0)<(f|0)?f:b;switch(a[3416877]|0){case 1:{g=qe(d,b)|0;c[e>>2]=g;se(g,e);ue(c[e>>2]|0,e);we(c[e>>2]|0,e);g=b;return g|0}case 0:{c[e>>2]=xe(d,b,e)|0;g=b;return g|0}default:{g=b;return g|0}}return 0}function qe(a,b){a=a|0;b=b|0;return Be(a,b)|0}function re(a,b,c){a=a|0;b=b|0;c=c|0;return}function se(a,b){a=a|0;b=b|0;Ae(a,b);return}function te(a,b){a=a|0;b=b|0;return}function ue(a,b){a=a|0;b=b|0;ze(a,b);return}function ve(b){b=b|0;switch(a[3416877]|0){case 1:{Zd(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}case 0:{_d(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}default:return}}function we(a,b){a=a|0;b=b|0;ye(a,b);return}function xe(f,g,i){f=f|0;g=g|0;i=i|0;var j=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0;w=k;k=k+224|0;p=w;v=Hy(7392)|0;o=v+6648|0;c[o>>2]=f;n=v+6652|0;c[n>>2]=g;c[v+7384>>2]=19;c[v+7388>>2]=i;x=+(f>>>0)/288.0;j=+(g|0);c[v+7240>>2]=~~(x*65536.0/j)>>>0;j=1.0/j;l=v+7248|0;h[l>>3]=j;m=v+7256|0;h[v+7376>>3]=j*(x*15.0*.0009765625*65536.0);g=15;i=f;while(1){g=g+-1|0;h[m+(g<<3)>>3]=j*(+h[33296+(g<<3)>>3]*(+(i>>>0)/288.0)*.0009765625*65536.0);if(!g)break;i=c[o>>2]|0;j=+h[l>>3]}g=(c[853905]|0)==0;if(g){c[66388]=8;c[66389]=4;c[66390]=0;c[66391]=-4;c[66392]=-8;c[66393]=-4;c[66394]=0;c[66395]=4}j=+(c[n>>2]|0);c[v+7228>>2]=~~(+((c[o>>2]|0)>>>0)/288.0*16384.0/j)>>>0;c[v+7224>>2]=0;if(!g){c[v+7236>>2]=~~(3290012057.6000004/j)>>>0;c[v+7232>>2]=0;k=w;return v|0}QA(268064,0,2048)|0;c[p>>2]=-13;c[p+4>>2]=-12;c[p+8>>2]=-11;c[p+12>>2]=-10;c[p+16>>2]=-9;c[p+20>>2]=-8;c[p+24>>2]=-7;c[p+28>>2]=-6;c[p+32>>2]=-5;c[p+36>>2]=-4;c[p+40>>2]=-3;c[p+44>>2]=-2;c[p+48>>2]=-1;c[p+52>>2]=0;c[p+56>>2]=0;c[p+60>>2]=-1;c[p+64>>2]=-2;c[p+68>>2]=-3;c[p+72>>2]=-4;c[p+76>>2]=-5;c[p+80>>2]=-6;c[p+84>>2]=-7;c[p+88>>2]=-8;c[p+92>>2]=-9;c[p+96>>2]=-10;c[p+100>>2]=-11;c[p+104>>2]=-12;c[p+108>>2]=-13;c[p+112>>2]=-14;c[p+116>>2]=-15;c[p+120>>2]=-16;c[p+124>>2]=-17;c[p+128>>2]=-18;c[p+132>>2]=-19;c[p+136>>2]=-20;c[p+140>>2]=-21;c[p+144>>2]=-22;c[p+148>>2]=-23;c[p+152>>2]=-24;c[p+156>>2]=-25;c[p+160>>2]=-26;c[p+164>>2]=-25;c[p+168>>2]=-24;c[p+172>>2]=-23;c[p+176>>2]=-22;c[p+180>>2]=-21;c[p+184>>2]=-20;c[p+188>>2]=-19;c[p+192>>2]=-18;c[p+196>>2]=-17;c[p+200>>2]=-16;c[p+204>>2]=-15;c[p+208>>2]=-14;g=0;do{u=c[p+(g<<2)>>2]|0;c[265584+(g<<2)>>2]=~~(+ma(+(+(u|0)*4.8/26.0/6.0))*65536.0);c[265584+(g+53<<2)>>2]=~~(+ma(+(+((u|0)/4|0|0)*1.2/6.0/6.0))*65536.0);g=g+1|0}while((g|0)!=53);c[v+7236>>2]=~~(3290012057.6000004/j)>>>0;c[v+7232>>2]=0;c[853905]=1;g=0;do{c[270112+(g<<2)>>2]=65536;g=g+1|0}while((g|0)!=512);g=0;do{t=g<<1;u=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[333600+(t+1024<<1)>>1]=u;t=t|1;b[333600+(t+1024<<1)>>1]=~~(+D(+(+(t|0)*3.141592653589793*2.0*.0009765625))*16384.0);b[333600+(g<<1)>>1]=u;g=g+1|0}while((g|0)!=512);g=0;do{b[333600+(g+2048<<1)>>1]=(e[333600+(g+128<<1)>>1]|0)+49152;b[333600+(g+2176<<1)>>1]=(e[333600+(g+256<<1)>>1]|0)+16384;g=g+1|0}while((g|0)!=128);a[339856]=0;a[339857]=24;a[339858]=32;a[339859]=37;a[339860]=40;a[339861]=43;a[339862]=45;a[339863]=47;a[339864]=48;a[339865]=50;a[339866]=51;a[339867]=52;a[339868]=53;a[339869]=54;a[339870]=55;a[339871]=56;u=6;g=0;i=24;f=32;l=37;m=40;n=43;o=45;p=47;q=48;r=50;s=51;t=52;while(1){y=u+1|0;z=(g&255)+-8|0;g=339744+(u<<4)|0;a[g>>0]=(z|0)>0?z:0;z=(i&255)+-8|0;i=339744+(u<<4)+1|0;a[i>>0]=(z|0)>0?z:0;z=(f&255)+-8|0;f=339744+(u<<4)+2|0;a[f>>0]=(z|0)>0?z:0;l=(l&255)+-8|0;l=(l|0)>0?l:0;a[339744+(u<<4)+3>>0]=l;m=(m&255)+-8|0;m=(m|0)>0?m:0;a[339744+(u<<4)+4>>0]=m;n=(n&255)+-8|0;n=(n|0)>0?n:0;a[339744+(u<<4)+5>>0]=n;o=(o&255)+-8|0;o=(o|0)>0?o:0;a[339744+(u<<4)+6>>0]=o;p=(p&255)+-8|0;p=(p|0)>0?p:0;a[339744+(u<<4)+7>>0]=p;q=(q&255)+-8|0;q=(q|0)>0?q:0;a[339744+(u<<4)+8>>0]=q;r=(r&255)+-8|0;r=(r|0)>0?r:0;a[339744+(u<<4)+9>>0]=r;s=(s&255)+-8|0;s=(s|0)>0?s:0;a[339744+(u<<4)+10>>0]=s;t=(t&255)+-8|0;t=(t|0)>0?t:0;a[339744+(u<<4)+11>>0]=t;z=(d[339744+(y<<4)+12>>0]|0)+-8|0;a[339744+(u<<4)+12>>0]=(z|0)>0?z:0;z=(d[339744+(y<<4)+13>>0]|0)+-8|0;a[339744+(u<<4)+13>>0]=(z|0)>0?z:0;z=(d[339744+(y<<4)+14>>0]|0)+-8|0;a[339744+(u<<4)+14>>0]=(z|0)>0?z:0;y=(d[339744+(y<<4)+15>>0]|0)+-8|0;a[339744+(u<<4)+15>>0]=(y|0)>0?y:0;if(!u)break;u=u+-1|0;g=a[g>>0]|0;i=a[i>>0]|0;f=a[f>>0]|0}k=w;return v|0}function ye(a,b){a=a|0;b=b|0;c[a+13856>>2]=19;c[a+13860>>2]=b;return}function ze(a,b){a=a|0;b=b|0;c[a+13848>>2]=6;c[a+13852>>2]=b;return}function Ae(a,b){a=a|0;b=b|0;c[a+13840>>2]=4;c[a+13844>>2]=b;return}function Be(a,b){a=a|0;b=b|0;var d=0;Ce();d=Hy(13888)|0;if(!d){d=0;return d|0}QA(d|0,0,13888)|0;c[d+13868>>2]=a;c[d+13872>>2]=b;De(d);Ee(d);return d|0}function Ce(){var a=0;a=c[853906]|0;c[853906]=a+1;if((a|0)>0)return;Qe();return}function De(a){a=a|0;var b=0,d=0.0,e=0;b=c[a+13872>>2]|0;if(!b)d=0.0;else d=+(c[a+13868>>2]|0)/288.0/+(b|0);e=a+13880|0;h[e>>3]=d;b=0;do{c[a+9680+(b<<2)>>2]=~~(+(b|0)*64.0*d*64.0)>>>0;b=b+1|0;d=+h[e>>3]}while((b|0)!=1024);c[a+13792>>2]=~~(d*262144.0)>>>0;c[a+13800>>2]=~~(d*16384.0)>>>0;e=~~(d*65536.0)>>>0;c[a+13812>>2]=e;c[a+9672>>2]=e;c[a+9676>>2]=65536;return}function Ee(b){b=b|0;var d=0;c[b+9668>>2]=0;c[b+9664>>2]=0;c[b+13804>>2]=1;a[b+13838>>0]=0;Fe(b,96);Ge(b,1,0);Ge(b,2,0);Ge(b,3,0);Ge(b,4,0);d=255;while(1){Ge(b,d,0);if(d>>>0>32)d=d+-1|0;else break}d=511;while(1){Ge(b,d,0);if(d>>>0>288)d=d+-1|0;else break}d=0;do{a[b+(d<<9)+42>>0]=0;c[b+(d<<9)+52>>2]=511;a[b+(d<<9)+170>>0]=0;c[b+(d<<9)+180>>2]=511;d=d+1|0}while((d|0)!=18);return}function Fe(b,e){b=b|0;e=e|0;var f=0;f=b+13836|0;e=(e^255)&(d[f>>0]|0);a[f>>0]=e;if((e|0)!=128)return;a[f>>0]=0;e=c[b+13848>>2]|0;if(!e)return;xa[e&31](c[b+13852>>2]|0,0);return}function Ge(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:do if(!(e&256))h=0;else switch(e|0){case 260:{a[b+269>>0]=f&1;a[b+781>>0]=f>>>1&1;a[b+1293>>0]=f>>>2&1;a[b+4877>>0]=f>>>3&1;a[b+5389>>0]=f>>>4&1;a[b+5901>>0]=f>>>5&1;return}case 261:{a[b+13816>>0]=f&1;return}case 257:return;default:{h=9;break a}}while(0);k=f&255;switch(e>>>5&7){case 0:switch(e&31){case 8:{a[b+13838>>0]=f;return}case 2:{c[b+13820>>2]=1024-(k<<2);return}case 3:{c[b+13824>>2]=4096-(k<<4);return}case 4:{if(f&128|0){Fe(b,96);return}h=f&1;e=f>>>1&1;g=f&96;Fe(b,g);He(b,g^96);g=b+13829|0;if((e|0)!=(d[g>>0]|0))a[g>>0]=e;g=b+13828|0;if((h|0)==(d[g>>0]|0))return;a[g>>0]=h;return}default:return}case 1:{g=e&31;if(-4144960>>>g&1|0)return;Ie(b,(c[32336+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 2:{g=e&31;if(-4144960>>>g&1|0)return;Je(b,(c[32336+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 3:{g=e&31;if(-4144960>>>g&1|0)return;Ke(b,(c[32336+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 4:{g=e&31;if(-4144960>>>g&1|0)return;Le(b,(c[32336+(g<<2)>>2]|0)+(h<<1)|0,k);return}case 5:{if((e&255|0)==189){if(h|0)return;a[b+13784>>0]=f&128;a[b+13785>>0]=f>>>3&8;a[b+13817>>0]=f&63;if(!(f&32)){Ne(b+3072|0,-3);Ne(b+3200|0,-3);Ne(b+3584|0,-3);Ne(b+3712|0,-3);Ne(b+4096|0,-3);Ne(b+4224|0,-3);return}g=b+3072|0;if(!(f&16)){Ne(g,-3);Ne(b+3200|0,-3)}else{Me(g,2);Me(b+3200|0,2)}g=b+3584|0;if(!(f&1))Ne(g,-3);else Me(g,2);g=b+3712|0;if(!(f&8))Ne(g,-3);else Me(g,2);g=b+4096|0;if(!(f&4))Ne(g,-3);else Me(g,2);g=b+4224|0;if(!(f&2)){Ne(g,-3);return}else{Me(g,2);return}}g=e&15;if(g>>>0>8)return;i=h+g|0;j=b+(i<<9)|0;b:do if(!(e&16)){g=b+(i<<9)+256|0;h=c[g>>2]&7936|k}else{g=b+(i<<9)+256|0;h=c[g>>2]&255|f<<8&7936;if(!(a[b+13816>>0]&1))if(!(f&32)){Ne(j,-2);Ne(b+(i<<9)+128|0,-2);break}else{Me(j,1);Me(b+(i<<9)+128|0,1);break}switch(i&31){case 11:case 10:case 9:case 2:case 1:case 0:{e=(f&32|0)!=0;if(!(a[b+(i<<9)+269>>0]|0))if(e){Me(j,1);Me(b+(i<<9)+128|0,1);break b}else{Ne(j,-2);Ne(b+(i<<9)+128|0,-2);break b}else if(e){Me(j,1);Me(b+(i<<9)+128|0,1);Me(j+1536|0,1);Me(j+1664|0,1);break b}else{Ne(j,-2);Ne(b+(i<<9)+128|0,-2);Ne(j+1536|0,-2);Ne(j+1664|0,-2);break b}}case 14:case 13:case 12:case 5:case 4:case 3:{if(a[j+-1267>>0]|0)break b;if(!(f&32)){Ne(j,-2);Ne(b+(i<<9)+128|0,-2);break b}else{Me(j,1);Me(b+(i<<9)+128|0,1);break b}}default:if(!(f&32)){Ne(j,-2);Ne(b+(i<<9)+128|0,-2);break b}else{Me(j,1);Me(b+(i<<9)+128|0,1);break b}}}while(0);if((c[g>>2]|0)==(h|0))return;c[g>>2]=h;e=c[32464+(h>>6<<2)>>2]|0;c[b+(i<<9)+264>>2]=e;c[b+(i<<9)+260>>2]=(c[b+9680+((h&1023)<<2)>>2]|0)>>>(7-(h>>>10&255)|0);f=h>>>9;a[b+(i<<9)+268>>0]=((a[b+13838>>0]&64)==0?f:h>>>8)&1|f&14;if(!(a[b+13816>>0]&1)){c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Oe(j,j);Oe(j,b+(i<<9)+128|0);return}switch(i&31){case 11:case 10:case 9:case 2:case 1:case 0:{f=(a[b+(i<<9)+269>>0]|0)==0;c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);g=b+(i<<9)+128|0;c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);if(f){Oe(j,j);Oe(j,g);return}else{c[j+1584>>2]=(e>>>(d[j+1549>>0]|0))+(c[j+1580>>2]|0);c[j+1712>>2]=(e>>>(d[j+1677>>0]|0))+(c[j+1708>>2]|0);Oe(j,j);Oe(j,g);Oe(j,j+1536|0);Oe(j,j+1664|0);return}}case 14:case 13:case 12:case 5:case 4:case 3:{if(a[j+-1267>>0]|0)return;c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Oe(j,j);Oe(j,b+(i<<9)+128|0);return}default:{c[b+(i<<9)+48>>2]=(e>>>(d[b+(i<<9)+13>>0]|0))+(c[b+(i<<9)+44>>2]|0);c[b+(i<<9)+176>>2]=(e>>>(d[b+(i<<9)+141>>0]|0))+(c[b+(i<<9)+172>>2]|0);Oe(j,j);Oe(j,b+(i<<9)+128|0);return}}}case 6:{g=e&15;if(g>>>0>8)return;h=h+g|0;i=b+(h<<9)|0;j=b+13816|0;e=h<<2;if(!(a[j>>0]&1)){c[b+9216+(e<<2)>>2]=-1;c[b+9216+((e|1)<<2)>>2]=-1;c[b+9216+((e|2)<<2)>>2]=-1;g=-1}else{c[b+9216+(e<<2)>>2]=f<<27>>31;c[b+9216+((e|1)<<2)>>2]=f<<26>>31;c[b+9216+((e|2)<<2)>>2]=f<<25>>31;g=f<<24>>31}c[b+9216+((e|3)<<2)>>2]=g;c[b+9504+(h<<2)>>2]=k;g=f>>>1&7;a[b+(h<<9)+24>>0]=(g|0)==0?0:g+7&255;g=f&1;e=g&255;a[b+(h<<9)+40>>0]=e;if(!(a[j>>0]&1)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=(g|0)==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(h&31){case 11:case 10:case 9:case 2:case 1:case 0:{if(!(a[b+(h<<9)+269>>0]|0)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=e<<24>>24==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(((g<<1|d[i+1576>>0])&255)<<24>>24){case 0:{f=b+9656|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9660;c[i+1564>>2]=f;c[i+1692>>2]=b+9584+(h+3<<2);return}case 1:{f=b+9656|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);c[i+1564>>2]=f;c[i+1692>>2]=b+9584+(h+3<<2);return}case 2:{c[b+(h<<9)+28>>2]=b+9584+(h<<2);c[b+(h<<9)+156>>2]=b+9660;c[i+1564>>2]=b+9656;c[i+1692>>2]=b+9584+(h+3<<2);return}case 3:{c[b+(h<<9)+28>>2]=b+9584+(h<<2);c[b+(h<<9)+156>>2]=b+9660;b=b+9584+(h+3<<2)|0;c[i+1564>>2]=b;c[i+1692>>2]=b;return}default:return}}case 14:case 13:case 12:case 5:case 4:case 3:{if(!(a[i+-1267>>0]|0)){f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=e<<24>>24==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}switch(((d[i+-1496>>0]<<1|g)&255)<<24>>24){case 0:{f=b+9656|0;c[i+-1508>>2]=f;c[i+-1380>>2]=b+9660;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 1:{f=b+9656|0;c[i+-1508>>2]=f;c[i+-1380>>2]=b+9584+(h+-3<<2);c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 2:{c[i+-1508>>2]=b+9584+(h+-3<<2);c[i+-1380>>2]=b+9660;c[b+(h<<9)+28>>2]=b+9656;c[b+(h<<9)+156>>2]=b+9584+(h<<2);return}case 3:{c[i+-1508>>2]=b+9584+(h+-3<<2);c[i+-1380>>2]=b+9660;f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=f;c[b+(h<<9)+156>>2]=f;return}default:return}}default:{f=b+9584+(h<<2)|0;c[b+(h<<9)+28>>2]=(g|0)==0?b+9656|0:f;c[b+(h<<9)+156>>2]=f;return}}}case 7:{g=e&31;if(-4144960>>>g&1|0)return;k=(c[32336+(g<<2)>>2]|0)+(h<<1)|0;j=(k|0)/2|0;i=f&7;k=k&1;a[b+(j<<9)+(k<<7)+93>>0]=i;c[b+(j<<9)+(k<<7)+96>>2]=((a[b+13816>>0]&1)==0?f&3:i)<<10;return}default:{}}}function He(b,c){b=b|0;c=c|0;a[b+13837>>0]=c;Pe(b);Fe(b,0);return}function Ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=(d|0)/2|0;g=b+(f<<9)|0;h=d&1;d=b+(f<<9)+(h<<7)|0;a[b+(f<<9)+(h<<7)+15>>0]=a[33248+(e&15)>>0]|0;a[b+(f<<9)+(h<<7)+12>>0]=e>>>3&2^2;a[b+(f<<9)+(h<<7)+41>>0]=e&32;a[b+(f<<9)+(h<<7)+92>>0]=e&64;c[b+(f<<9)+(h<<7)+88>>2]=e<<24>>31;if(!(a[b+13816>>0]&1)){Oe(g,d);return}switch(f|0){case 11:case 10:case 9:case 2:case 1:case 0:{Oe(g,d);return}case 14:case 13:case 12:case 5:case 4:case 3:if(!(a[g+-1267>>0]|0)){Oe(g,d);return}else{Oe(g+-1536|0,d);return}default:{Oe(g,d);return}}}function Je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=(d|0)/2|0;f=b+(i<<9)|0;g=d&1;h=c[33232+(e>>6<<2)>>2]|0;a[b+(i<<9)+(g<<7)+13>>0]=h;e=e<<2&252;c[b+(i<<9)+(g<<7)+44>>2]=e;a:do if(!(a[b+13816>>0]&1))d=b+(i<<9)+264|0;else switch(i|0){case 11:case 10:case 9:case 2:case 1:case 0:{d=b+(i<<9)+264|0;break a}case 14:case 13:case 12:case 5:case 4:case 3:if(!(a[f+-1267>>0]|0)){d=b+(i<<9)+264|0;break a}else{d=f+-1272|0;break a}default:{d=b+(i<<9)+264|0;break a}}while(0);c[b+(i<<9)+(g<<7)+48>>2]=((c[d>>2]|0)>>>(h&255))+e;return}function Ke(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=(e|0)/2|0;j=e&1;e=f>>4;e=(e|0)==0?0:(e<<2)+16|0;c[b+(k<<9)+(j<<7)>>2]=e;i=d[b+(k<<9)+(j<<7)+14>>0]|0;e=e+i|0;if(e>>>0<76){h=a[32976+e>>0]|0;e=a[33072+e>>0]|0;g=(1<<(h&255))+-1|0}else{e=104;g=0;h=0}a[b+(k<<9)+(j<<7)+64>>0]=h;c[b+(k<<9)+(j<<7)+60>>2]=g;a[b+(k<<9)+(j<<7)+65>>0]=e;f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(k<<9)+(j<<7)+4>>2]=f;f=f+i|0;i=a[32976+f>>0]|0;a[b+(k<<9)+(j<<7)+72>>0]=i;c[b+(k<<9)+(j<<7)+68>>2]=(1<<(i&255))+-1;a[b+(k<<9)+(j<<7)+73>>0]=a[33072+f>>0]|0;return}function Le(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=(e|0)/2|0;e=e&1;c[b+(g<<9)+(e<<7)+56>>2]=c[33168+(f>>4<<2)>>2];f=f&15;f=(f|0)==0?0:(f<<2)+16|0;c[b+(g<<9)+(e<<7)+8>>2]=f;f=f+(d[b+(g<<9)+(e<<7)+14>>0]|0)|0;h=a[32976+f>>0]|0;a[b+(g<<9)+(e<<7)+80>>0]=h;c[b+(g<<9)+(e<<7)+76>>2]=(1<<(h&255))+-1;a[b+(g<<9)+(e<<7)+81>>0]=a[33072+f>>0]|0;return}function Me(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+84|0;f=c[e>>2]|0;if(!f){c[b+16>>2]=0;a[b+42>>0]=4}c[e>>2]=f|d;return}function Ne(b,e){b=b|0;e=e|0;var f=0,g=0;f=b+84|0;g=c[f>>2]|0;if(!g)return;g=g&e;c[f>>2]=g;if(g|0)return;b=b+42|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function Oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;c[e+20>>2]=M(c[b+260>>2]|0,d[e+15>>0]|0)|0;b=(d[b+268>>0]|0)>>>(d[e+12>>0]|0);f=e+14|0;if((b|0)==(d[f>>0]|0|0))return;a[f>>0]=b;h=b&255;b=(c[e>>2]|0)+h|0;if(b>>>0<76){g=a[32976+b>>0]|0;b=a[33072+b>>0]|0;f=(1<<(g&255))+-1|0}else{b=104;f=0;g=0}a[e+64>>0]=g;c[e+60>>2]=f;a[e+65>>0]=b;g=(c[e+4>>2]|0)+h|0;f=a[32976+g>>0]|0;a[e+72>>0]=f;c[e+68>>2]=(1<<(f&255))+-1;a[e+73>>0]=a[33072+g>>0]|0;h=(c[e+8>>2]|0)+h|0;g=a[32976+h>>0]|0;a[e+80>>0]=g;c[e+76>>2]=(1<<(g&255))+-1;a[e+81>>0]=a[33072+h>>0]|0;return}function Pe(b){b=b|0;var e=0,f=0;e=b+13836|0;f=d[e>>0]|0;if((f&128|0)!=0|(f&127|0)==0)return;a[e>>0]=f|128;e=c[b+13848>>2]|0;if(!e)return;xa[e&31](c[b+13852>>2]|0,1);return}function Qe(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{b=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<1;b=b<<1;c[306976+(b<<2)>>2]=f;e=b|1;c[306976+(e<<2)>>2]=~f;c[306976+(b+512<<2)>>2]=d;c[306976+(e+512<<2)>>2]=~d;f=d>>1;c[306976+(b+1024<<2)>>2]=f;c[306976+(e+1024<<2)>>2]=~f;f=d>>2;c[306976+(b+1536<<2)>>2]=f;c[306976+(e+1536<<2)>>2]=~f;f=d>>3;c[306976+(b+2048<<2)>>2]=f;c[306976+(e+2048<<2)>>2]=~f;f=d>>4;c[306976+(b+2560<<2)>>2]=f;c[306976+(e+2560<<2)>>2]=~f;f=d>>5;c[306976+(b+3072<<2)>>2]=f;c[306976+(e+3072<<2)>>2]=~f;f=d>>6;c[306976+(b+3584<<2)>>2]=f;c[306976+(e+3584<<2)>>2]=~f;f=d>>7;c[306976+(b+4096<<2)>>2]=f;c[306976+(e+4096<<2)>>2]=~f;f=d>>8;c[306976+(b+4608<<2)>>2]=f;c[306976+(e+4608<<2)>>2]=~f;f=d>>9;c[306976+(b+5120<<2)>>2]=f;c[306976+(e+5120<<2)>>2]=~f;f=d>>10;c[306976+(b+5632<<2)>>2]=f;c[306976+(e+5632<<2)>>2]=~f;d=d>>11;c[306976+(b+6144<<2)>>2]=d;c[306976+(e+6144<<2)>>2]=~d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[274208+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);b=0;do{d=b&512;e=(d|0)!=0;if(e)a=6656;else a=c[274208+(b<<2)>>2]|0;c[274208+(b+1024<<2)>>2]=a;c[274208+(b+2048<<2)>>2]=c[274208+((b&511)<<2)>>2];if(!(b&256))a=c[274208+((b&255)<<2)>>2]|0;else a=6656;c[274208+(b+3072<<2)>>2]=a;if(e){c[274208+(b+4096<<2)>>2]=6656;a=6656}else{a=b<<1;c[274208+(b+4096<<2)>>2]=c[274208+(a<<2)>>2];a=c[274208+((a&510)<<2)>>2]|0}c[274208+(b+5120<<2)>>2]=a;c[274208+(b+6144<<2)>>2]=d>>>9;f=b<<4;f=e?16368-f|1:f;c[274208+(b+7168<<2)>>2]=(f|0)<6656?f:6656;b=b+1|0}while((b|0)!=1024);return}function Re(b){b=b|0;b=3415612+((b&255)<<2)|0;switch(a[3416877]|0){case 1:{Se(c[b>>2]|0);return}case 0:{Te(c[b>>2]|0);return}default:return}}function Se(a){a=a|0;Ue(a);return}function Te(a){a=a|0;Iy(a);return}function Ue(a){a=a|0;Ve();Iy(a);return}function Ve(){var a=0;a=c[853906]|0;if(!a)return;c[853906]=a+-1;return}function We(b){b=b|0;b=3415612+((b&255)<<2)|0;switch(a[3416877]|0){case 1:{Xe(c[b>>2]|0);return}case 0:{Ye(c[b>>2]|0);return}default:return}}function Xe(a){a=a|0;Ee(a);return}function Ye(b){b=b|0;var d=0,e=0;QA(b|0,0,6624)|0;QA(b+6668|0,0,556)|0;d=0;do{c[b+(d*184|0)+112>>2]=5;c[b+(d*184|0)+132>>2]=0;e=b+(d*184|0)+24|0;c[b+(d*184|0)+8>>2]=0;c[b+(d*184|0)+16>>2]=0;c[b+(d*184|0)+116>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[b+(d*184|0)+128>>2]=1023;c[b+(d*184|0)+124>>2]=335648;c[b+(d*184|0)+120>>2]=0;e=b+(d*184|0)+140|0;c[b+(d*184|0)+164>>2]=0;a[b+(d*184|0)+168>>0]=0;a[b+(d*184|0)+169>>0]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;a[e+20>>0]=0;c[b+(d*184|0)+172>>2]=1;c[b+(d*184|0)+176>>2]=1;d=d+1|0}while((d|0)!=36);a[b+6656>>0]=0;c[b+6660>>2]=0;c[b+6664>>2]=0;return}function Ze(b,d,e){b=b|0;d=d|0;e=e|0;b=3415612+((b&255)<<2)|0;switch(a[3416877]|0){case 1:{_e(c[b>>2]|0,d&3,e&255);return}case 0:{$e(c[b>>2]|0,d&3,e);return}default:return}}function _e(a,b,c){a=a|0;b=b|0;c=c|0;nf(a,b,c);return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+6664>>2]=b<<7&256|d&255;return}else{af(a,c[a+6664>>2]|0,d);return}}function af(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=e&256;a[b+6668+e>>0]=f;do switch(e>>>4&15){case 0:switch(e|0){case 260:{m=f&255;f=m&1;a[b+168>>0]=f;a[b+721>>0]=f;f=m>>>1&1;a[b+352>>0]=f;a[b+905>>0]=f;f=m>>>2&1;a[b+536>>0]=f;a[b+1089>>0]=f;f=m>>>3&1;a[b+3480>>0]=f;a[b+4033>>0]=f;f=m>>>4&1;a[b+3664>>0]=f;a[b+4217>>0]=f;m=m>>>5&1;a[b+3848>>0]=m;a[b+4401>>0]=m;return}case 4:{g=b+6656|0;if(f<<24>>24<0){a[g>>0]=a[g>>0]&-97;return}else{a[g>>0]=0;return}}default:return}case 3:case 2:{i=e&7;g=e+224&255;if(!(i>>>0<6&g>>>0<22))return;e=(m|0)!=0;f=d[15808+(e?g+22|0:g)>>0]|0;h=g|m;e=e?f+238|0:f;g=b+(((i>>>0<3?0:9)+f|0)*184|0)|0;bf(b,h,g);cf(b,h,g);if(a[b+6929>>0]&1?a[b+(f*184|0)+169>>0]|0:0){df(b,e+-3|0,h,g);return}df(b,e,h,g);return}case 5:case 4:{g=e&7;h=e+192&255;if(!(g>>>0<6&h>>>0<22))return;i=(m|0)!=0;f=d[15808+(i?h+22|0:h)>>0]|0;i=i?f+238|0:f;e=b+(((g>>>0<3?0:9)+f|0)*184|0)|0;g=h|m;if(a[b+6929>>0]&1?a[b+(f*184|0)+169>>0]|0:0){df(b,i+-3|0,g,e);return}df(b,i,g,e);return}case 7:case 6:{g=e+160&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|m;m=b+((d[15856+((m|0)==0?g:g+22|0)>>0]|0)*184|0)|0;ef(b,f,m);ff(b,f,m);return}case 9:case 8:{g=e+128&255;if(!((e&6|0)!=6&g>>>0<22))return;f=g|m;m=b+((d[15856+((m|0)==0?g:g+22|0)>>0]|0)*184|0)|0;gf(b,f,m);hf(b,f,m);return}case 10:{g=e+96&255;if(g>>>0>=9)return;h=(m|0)==0?g:g+18|0;e=b+6929|0;if(a[e>>0]&1?a[b+(h*184|0)+169>>0]|0:0)return;i=m|d[49915+g>>0];g=g|m;df(b,g,i,b+(h*184|0)|0);df(b,g,i+3|0,b+((h+9|0)*184|0)|0);if(!(a[e>>0]&1))return;if(!(a[b+(h*184|0)+168>>0]|0))return;df(b,g,i+8|0,b+((h+3|0)*184|0)|0);df(b,g,i+11|0,b+((h+12|0)*184|0)|0);return}case 11:{g=c[b+7384>>2]|0;if(g|0)wa[g&31](c[b+7388>>2]|0);if((e|0)==189){h=f&255;g=b+1104|0;if((h&48|0)==48){jf(b,16,g,2);df(b,6,16,g);m=b+2760|0;jf(b,19,m,2);df(b,6,19,m)}else{kf(g,2);kf(b+2760|0,2)}g=b+2944|0;if((h&40|0)==40){jf(b,20,g,2);df(b,7,20,g)}else kf(g,2);g=b+1472|0;if((h&36|0)==36){jf(b,18,g,2);df(b,8,18,g)}else kf(g,2);g=b+3128|0;if((h&34|0)==34){jf(b,21,g,2);df(b,8,21,g)}else kf(g,2);g=b+1288|0;if((h&33|0)==33){jf(b,17,g,2);df(b,7,17,g);return}else{kf(g,2);return}}e=e+80&255;if(e>>>0>=9)return;i=(m|0)==0?e:e+18|0;j=m|d[49915+e>>0];k=b+6929|0;if(a[k>>0]&1?a[b+(i*184|0)+169>>0]|0:0)return;l=b+(i*184|0)|0;if(!(f&32)){kf(l,1);g=b+((i+9|0)*184|0)|0;kf(g,1);if((a[k>>0]&1)!=0?(a[b+(i*184|0)+168>>0]|0)!=0:0){kf(b+((i+3|0)*184|0)|0,1);kf(b+((i+12|0)*184|0)|0,1);h=g}else h=g}else{jf(b,j,l,1);g=b+((i+9|0)*184|0)|0;jf(b,j+3|0,g,1);if((a[k>>0]&1)!=0?(a[b+(i*184|0)+168>>0]|0)!=0:0){jf(b,j+8|0,b+((i+3|0)*184|0)|0,1);jf(b,j+11|0,b+((i+12|0)*184|0)|0,1);h=g}else h=g}g=e|m;df(b,g,j,l);df(b,g,j+3|0,h);if(!(a[k>>0]&1))return;if(!(a[b+(i*184|0)+168>>0]|0))return;df(b,g,j+8|0,b+((i+3|0)*184|0)|0);df(b,g,j+11|0,b+((i+12|0)*184|0)|0);return}case 12:{g=e+64&255;if(g>>>0>=9)return;l=(m|0)==0?g:g+18|0;lf(b,g|m,b+(l*184|0)|0);m=f&255;c[b+(l*184|0)+172>>2]=(m>>>4&1)+(m>>>6&1);c[b+(l*184|0)+176>>2]=(m>>>5&1)+(m>>>7);return}case 15:case 14:{h=e&7;g=e+32&255;if(!(h>>>0<6&g>>>0<22))return;m=(m|0)==0?g:g+22|0;a[b+7180+m>>0]=(a[b+6929>>0]<<2&4|3)&f;mf(b,m,b+(((h>>>0<3?0:9)+(d[15808+m>>0]|0)|0)*184|0)|0);return}default:return}while(0)}function bf(b,e,f){b=b|0;e=e|0;f=f|0;e=(d[e+32+(b+6668)>>0]|0)>>>5&1;a[f+136>>0]=e;b=f+112|0;switch(c[b>>2]|0){case 3:{if(e<<24>>24)return;c[b>>2]=4;return}case 4:{if(!(e<<24>>24))return;c[b>>2]=3;return}default:return}}function cf(b,c,e){b=b|0;c=c|0;e=e|0;c=c+32+(b+6668)|0;a[e+137>>0]=(d[c>>0]|0)>>>6&1;a[e+138>>0]=(d[c>>0]|0)>>>7;return}function df(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0;j=d[e+176+(b+6668)>>0]|0;k=j<<8&768|(d[e+160+(b+6668)>>0]|0);l=j>>>2&7;c[g+120>>2]=k>>>7;e=(d[b+6676>>0]|0)>>>6&1;i=g+116|0;c[i>>2]=e&j|l<<1|(e^1)&j>>>1;j=f+32+(b+6668)|0;e=a[j>>0]|0;if(!(e&16)){c[i>>2]=l>>>1;e=a[j>>0]|0}c[g+16>>2]=~~(+h[b+7256+((e&15)<<3)>>3]*+(k<>>0))>>>0;j=d[f+64+(b+6668)>>0]|0;h[g+40>>3]=+ma(+(-14.0-(+h[33648+(j>>>6<<3)>>3]*+(d[(k>>>6)+(339744+(l<<4))>>0]|0)+ +(j&63|0))*.125));ef(b,f,g);ff(b,f,g);gf(b,f,g);return}function ef(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,i=0.0;f=(d[b+96+(a+6668)>>0]|0)>>>4;if(!f){h[e+64>>3]=0.0;h[e+72>>3]=1.0;f=e+80|0;c[e+148>>2]=0;c[e+164>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}g=c[e+116>>2]|0;i=+ma(+(+(f|0)+ +(g>>>2>>>0)+-1.0));i=+h[a+7248>>3]*(+h[33616+((g&3)<<3)>>3]*i);b=e+64|0;h[b>>3]=i*.0377;a=e+72|0;h[a>>3]=i*10.73+1.0;h[e+80>>3]=i*-17.57;h[e+88>>3]=i*7.42;f=g+(f<<2)|0;c[e+148>>2]=(f|0)<52?(1<<12-(f>>2))+-1|0:0;c[e+164>>2]=d[49924+((f|0)<49?4-(f&3)|0:0)>>0];if((f|0)<=59)return;h[b>>3]=2.0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function ff(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+96+(b+6668)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[33584+((g&3)<<3)>>3]*-7.4493*+h[b+7248>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+96|0;h[d>>3]=f;e=e+152|0;c[e>>2]=b;return}function gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0;d=a[d+128+(b+6668)>>0]&15;if(!(d<<24>>24)){b=0;f=1.0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}g=c[e+116>>2]|0;f=+h[33584+((g&3)<<3)>>3]*-7.4493*+h[b+7248>>3];f=+ma(+(f*+ma(+(+(((g>>>2)+(d&255)|0)>>>0)))));b=g+(d<<2&255)|0;b=b>>>0<52?(1<<12-(b>>>2))+-1|0:0;d=e+104|0;h[d>>3]=f;e=e+156|0;c[e>>2]=b;return}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var e=0.0;a=(d[b+128+(a+6668)>>0]|0)>>>4;if((a|0)==15)e=0.0;else e=+ma(+(+(a|0)*-.5));h[c+48>>3]=e;return}function jf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;g=e+132|0;if(c[g>>2]|0)return;c[e+8>>2]=c[33552+((d[((b|0)>255?b+-234|0:b)+(a+7180)>>0]|0)<<2)>>2]<<16;c[e+112>>2]=0;c[g>>2]=f;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+132|0;e=c[d>>2]|0;if(!e)return;e=e&~b;c[d>>2]=e;if(e|0)return;a=a+112|0;if((c[a>>2]|0)==5)return;c[a>>2]=2;return}function lf(b,d,e){b=b|0;d=d|0;e=e|0;b=a[d+192+(b+6668)>>0]&14;if(!(b<<24>>24))b=0;else b=~~+Yz((b&255)>>>1|8);c[e+56>>2]=b;return}function mf(a,b,e){a=a|0;b=b|0;e=e|0;b=(b>>>0>255?b+-234|0:b)+(a+7180)|0;c[e+128>>2]=c[33488+((d[b>>0]|0)<<2)>>2];c[e+124>>2]=333600+(c[33520+((d[b>>0]|0)<<2)>>2]<<1);return}function nf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=e&255;switch(d&3){case 0:{c[b+13832>>2]=f;return}case 3:case 1:{e=c[b+13856>>2]|0;if(e|0)wa[e&31](c[b+13860>>2]|0);Ge(b,c[b+13832>>2]|0,f);return}case 2:{if(a[b+13816>>0]&1){c[b+13832>>2]=f|256;return}e=b+13832|0;if((f|0)==5){c[e>>2]=261;return}else{c[e>>2]=f;return}}default:{}}}function of(b){b=b|0;a[3416877]=(b&255)<2?b:0;return}function pf(b,d){b=b|0;d=d|0;b=3415612+((b&255)<<2)|0;switch(a[3416877]|0){case 1:{qf(c[b>>2]|0,d);return}case 0:{rf(c[b>>2]|0,d);return}default:return}}function qf(b,c){b=b|0;c=c|0;a[b+270>>0]=c&1;a[b+782>>0]=c>>>1&1;a[b+1294>>0]=c>>>2&1;a[b+1806>>0]=c>>>3&1;a[b+2318>>0]=c>>>4&1;a[b+2830>>0]=c>>>5&1;a[b+3342>>0]=c>>>6&1;a[b+3854>>0]=c>>>7&1;a[b+4366>>0]=c>>>8&1;a[b+4878>>0]=c>>>9&1;a[b+5390>>0]=c>>>10&1;a[b+5902>>0]=c>>>11&1;a[b+6414>>0]=c>>>12&1;a[b+6926>>0]=c>>>13&1;a[b+7438>>0]=c>>>14&1;a[b+7950>>0]=c>>>15&1;a[b+8462>>0]=c>>>16&1;a[b+8974>>0]=c>>>17&1;a[b+9576>>0]=c>>>18&1;a[b+9577>>0]=c>>>19&1;a[b+9578>>0]=c>>>20&1;a[b+9579>>0]=c>>>21&1;a[b+9580>>0]=c>>>22&1;return}function rf(b,c){b=b|0;c=c|0;a[b+6624>>0]=c&1;a[b+6625>>0]=c>>>1&1;a[b+6626>>0]=c>>>2&1;a[b+6627>>0]=c>>>3&1;a[b+6628>>0]=c>>>4&1;a[b+6629>>0]=c>>>5&1;a[b+6630>>0]=c>>>6&1;a[b+6631>>0]=c>>>7&1;a[b+6632>>0]=c>>>8&1;a[b+6633>>0]=c>>>9&1;a[b+6634>>0]=c>>>10&1;a[b+6635>>0]=c>>>11&1;a[b+6636>>0]=c>>>12&1;a[b+6637>>0]=c>>>13&1;a[b+6638>>0]=c>>>14&1;a[b+6639>>0]=c>>>15&1;a[b+6640>>0]=c>>>16&1;a[b+6641>>0]=c>>>17&1;a[b+6642>>0]=c>>>18&1;a[b+6643>>0]=c>>>19&1;a[b+6644>>0]=c>>>20&1;a[b+6645>>0]=c>>>21&1;a[b+6646>>0]=c>>>22&1;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;tf(c[339872+((a&255)<<3)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function tf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c[853907]=b;if((a[b+4261>>0]|0?(g=b+4268|0,h=(c[g>>2]|0)-(f<<16)|0,c[g>>2]=h,(h|0)<1):0)?(c[g>>2]=(c[b+8368+(c[b+9396>>2]<<2)>>2]|0)+h,c[b+4244>>2]&8|0):0){h=b+4248|0;c[h>>2]=c[h>>2]|2}if((f|0)<=0)return;b=0;do{uf();c[84972]=0;c[84973]=0;c[84974]=0;c[84975]=0;c[84976]=0;c[84977]=0;c[84978]=0;c[84979]=0;vf(0);vf(1);vf(2);vf(3);vf(4);vf(5);vf(6);wf();q=c[84972]|0;h=c[853907]|0;r=c[84973]|0;p=c[84974]|0;o=c[84975]|0;n=c[84976]|0;m=c[84977]|0;l=c[84978]|0;k=c[84979]|0;g=(c[h+4108>>2]&r)+(c[h+4100>>2]&q)+(c[h+4116>>2]&p)+(c[h+4124>>2]&o)+(c[h+4132>>2]&n)+(c[h+4140>>2]&m)+(c[h+4148>>2]&l)+(c[h+4156>>2]&k)|0;c[d+(b<<2)>>2]=(c[h+4104>>2]&r)+(c[h+4096>>2]&q)+(c[h+4112>>2]&p)+(c[h+4120>>2]&o)+(c[h+4128>>2]&n)+(c[h+4136>>2]&m)+(c[h+4144>>2]&l)+(c[h+4152>>2]&k);c[e+(b<<2)>>2]=g;if(a[h+4260>>0]|0?(j=h+4264|0,r=c[j>>2]|0,i=r+-65536|0,c[j>>2]=i,(r|0)<65537):0){c[j>>2]=(c[h+4272+(c[h+9392>>2]<<2)>>2]|0)+i;g=c[h+4244>>2]|0;if(g&4|0){r=h+4248|0;c[r>>2]=c[r>>2]|1}if(g&128|0)c[h+4240>>2]=2}xf();b=b+1|0}while((b|0)!=(f|0));return}function uf(){var a=0,b=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;h=c[853907]|0;k=h+4172|0;b=(c[k>>2]|0)+(c[h+4176>>2]|0)|0;c[k>>2]=b;l=h+4180|0;a=c[l>>2]|0;if(b>>>0>>0)return;n=h+4168|0;do{c[k>>2]=b-a;c[n>>2]=(c[n>>2]|0)+1;e=32;f=h;while(1){g=f+68|0;switch(c[g>>2]|0){case 4:{a=c[n>>2]|0;b=d[f+72>>0]|0;if(((1<>2]|0,b=((M(d[28208+((a>>>b&7)+(d[f+73>>0]|0))>>0]|0,~o)|0)>>4)+o|0,c[j>>2]=b,(b|0)<1):0){c[j>>2]=0;c[g>>2]=3}break}case 3:{a=c[n>>2]|0;b=d[f+84>>0]|0;if(((1<>2]|0)+(d[28208+((a>>>b&7)+(d[f+85>>0]|0))>>0]|0)|0,c[p>>2]=o,o>>>0>=(c[f+88>>2]|0)>>>0):0)c[g>>2]=2;break}case 2:{a=c[n>>2]|0;b=d[f+92>>0]|0;if(((1<>2]|0)+(d[28208+((a>>>b&7)+(d[f+93>>0]|0))>>0]|0)|0,c[m>>2]=p,(p|0)>1022):0){c[m>>2]=1023;c[g>>2]=0}break}case 1:{a=c[n>>2]|0;b=d[f+94>>0]|0;if(((1<>2]|0)+(d[28208+((a>>>b&7)+(d[f+95>>0]|0))>>0]|0)|0,c[i>>2]=p,(p|0)>1022):0){c[i>>2]=1023;c[g>>2]=0}break}default:{}}e=e+-1|0;if(!e)break;else f=f+128|0}b=c[k>>2]|0;a=c[l>>2]|0}while(b>>>0>=a>>>0);return}function vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=c[853907]|0;if(a[i+4160+b>>0]|0)return;c[853908]=0;c[853909]=0;c[853910]=0;c[853911]=0;j=b<<2;l=i+(j<<7)|0;m=i+(j<<7)+32|0;c[c[i+(j<<7)+28>>2]>>2]=c[m>>2];d=c[i+(j<<7)+60>>2]|0;if(!d)k=0;else k=c[i+4212>>2]<>2]|0)+(c[i+(j<<7)+76>>2]|0)+(c[i+(j<<7)+64>>2]&k)|0;d=i+(j<<7)+44|0;f=i+(j<<7)+40|0;g=c[f>>2]|0;h=g+(c[d>>2]|0)|0;c[d>>2]=g;d=c[i+(j<<7)+24>>2]|0;if(!d){c[853909]=g;c[853910]=g;d=3415632}c[d>>2]=g;c[f>>2]=0;if(e>>>0<832){j=c[i+(j<<7)+36>>2]|0;c[f>>2]=yf(c[l>>2]|0,e,((j|0)==0?0:h)<>2]|0)+(c[l+204>>2]|0)+(c[l+192>>2]&k)|0;if(d>>>0<832){i=zf(c[l+128>>2]|0,d,c[853911]|0)|0;j=c[l+152>>2]|0;c[j>>2]=(c[j>>2]|0)+i}d=(c[l+336>>2]|0)+(c[l+332>>2]|0)+(c[l+320>>2]&k)|0;if(d>>>0<832){i=zf(c[l+256>>2]|0,d,c[853910]|0)|0;j=c[l+280>>2]|0;c[j>>2]=(c[j>>2]|0)+i}d=(c[l+464>>2]|0)+(c[l+460>>2]|0)+(c[l+448>>2]&k)|0;if(d>>>0<832){d=zf(c[l+384>>2]|0,d,c[853909]|0)|0;e=339888+(b<<2)|0;d=(c[e>>2]|0)+d|0;c[e>>2]=d}else{d=339888+(b<<2)|0;e=d;d=c[d>>2]|0}if((d|0)<=16384){if((d|0)<-16384){d=-16384;n=17}}else{d=16384;n=17}if((n|0)==17)c[e>>2]=d;c[m>>2]=c[853908];return}function wf(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[853907]|0;if(a[i+4167>>0]|0)return;c[853908]=0;c[853909]=0;c[853910]=0;c[853911]=0;j=i+3616|0;c[c[i+3612>>2]>>2]=c[j>>2];b=c[i+3644>>2]|0;if(!b)h=0;else h=c[i+4212>>2]<>2]|0)+(c[i+3660>>2]|0)+(c[i+3648>>2]&h)|0;b=i+3628|0;e=i+3624|0;f=c[e>>2]|0;g=f+(c[b>>2]|0)|0;c[b>>2]=f;b=c[i+3608>>2]|0;if(!b){c[853909]=f;c[853910]=f;b=3415632}c[b>>2]=f;c[e>>2]=0;if(d>>>0<832){f=c[i+3620>>2]|0;c[e>>2]=yf(c[i+3584>>2]|0,d,((f|0)==0?0:g)<>2]|0)+(c[i+3788>>2]|0)+(c[i+3776>>2]&h)|0;if(b>>>0<832){f=zf(c[i+3712>>2]|0,b,c[853911]|0)|0;g=c[i+3736>>2]|0;c[g>>2]=(c[g>>2]|0)+f}b=(c[i+3920>>2]|0)+(c[i+3916>>2]|0)+(c[i+3904>>2]&h)|0;if(b>>>0<832){f=zf(c[i+3840>>2]|0,b,c[853910]|0)|0;g=c[i+3864>>2]|0;c[g>>2]=(c[g>>2]|0)+f}b=(c[i+4048>>2]|0)+(c[i+4044>>2]|0)+(c[i+4032>>2]&h)|0;do if(!(c[i+4224>>2]&128))if(b>>>0<832){b=zf(c[i+3968>>2]|0,b,c[853909]|0)|0;b=(c[84979]|0)+b|0;c[84979]=b;break}else{b=c[84979]|0;break}else{b=b>>>0<1023?b<<1^2046:0;b=((c[i+4228>>2]&65536|0)==0?0-b|0:b)+(c[84979]|0)|0;c[84979]=b}while(0);if((b|0)<=16384){if((b|0)<-16384){b=-16384;k=19}}else{b=16384;k=19}if((k|0)==19)c[84979]=b;c[j>>2]=c[853908];return}function xf(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[853907]|0;do if(!(a[j+4220>>0]&2)){f=j+4188|0;b=(c[f>>2]|0)+(c[j+4192>>2]|0)|0;c[f>>2]=b;e=c[j+4196>>2]|0;if(b>>>0>>0){f=c[j+4184>>2]|0;break}else{c[f>>2]=b-e;i=j+4200|0;h=(c[i>>2]|0)+(c[j+4204>>2]|0)|0;g=j+4184|0;f=(c[g>>2]|0)+(h>>>4)&255;c[g>>2]=f;c[i>>2]=h&15;break}}else{c[j+4184>>2]=0;f=0}while(0);a:do switch(a[j+4208>>0]|0){case 0:{e=f>>>0<128?f:f+-255|0;b=255-f|0;break}case 1:{b=f>>>0<128;e=b?128:-128;b=b?255:0;break}case 2:{g=f>>>0<128;e=f<<1;h=255-e|0;b=e+-256|0;i=f>>>0<64;if(!g)if(f>>>0<192){e=256-e|0;break a}else{e=e+-511|0;break a}else{e=i?e:h;b=i?(g?h:b):h}break}default:{b=d[15904+f>>0]|0;e=b+-128|0}}while(0);c[j+4212>>2]=(M(b,d[j+4209>>0]|0)|0)/128|0;i=j+4216|0;c[i>>2]=(M(e,a[j+4210>>0]|0)|0)/128|0;h=j+4232|0;g=(c[h>>2]|0)+(c[j+4236>>2]|0)|0;b=g>>>16;c[h>>2]=g&65535;if(b|0){f=j+4228|0;e=c[f>>2]|0;do{e=(e>>>3^e)<<16&65536^65536|e>>>1;b=b+-1|0}while((b|0)!=0);c[f>>2]=e}g=j;h=8;while(1){b=c[g+56>>2]|0;do if(b){f=c[i>>2]|0;b=b>>>0<6?f>>6-b:f<>2]=(c[g>>2]|0)+(c[g+4>>2]|0);e=g+128|0;c[e>>2]=(c[e>>2]|0)+(c[g+132>>2]|0);e=g+256|0;c[e>>2]=(c[e>>2]|0)+(c[g+260>>2]|0);e=g+384|0;b=e;e=c[e>>2]|0;f=g+388|0;break}else{e=(c[g+52>>2]|0)+b|0;f=(M((c[g+8>>2]|0)+(c[j+9408+(e+(c[g+20>>2]|0)<<2)>>2]|0)|0,c[g+12>>2]|0)|0)>>>1;c[g>>2]=f+(c[g>>2]|0);f=(M((c[g+136>>2]|0)+(c[j+9408+((c[g+148>>2]|0)+e<<2)>>2]|0)|0,c[g+140>>2]|0)|0)>>>1;b=g+128|0;c[b>>2]=f+(c[b>>2]|0);b=(M((c[g+264>>2]|0)+(c[j+9408+((c[g+276>>2]|0)+e<<2)>>2]|0)|0,c[g+268>>2]|0)|0)>>>1;f=g+256|0;c[f>>2]=b+(c[f>>2]|0);f=g+384|0;b=f;e=(M((c[g+392>>2]|0)+(c[j+9408+((c[g+404>>2]|0)+e<<2)>>2]|0)|0,c[g+396>>2]|0)|0)>>>1;break}}else{c[g>>2]=(c[g>>2]|0)+(c[g+4>>2]|0);e=g+128|0;c[e>>2]=(c[e>>2]|0)+(c[g+132>>2]|0);e=g+256|0;c[e>>2]=(c[e>>2]|0)+(c[g+260>>2]|0);e=g+384|0;b=e;e=c[e>>2]|0;f=g+388|0}while(0);c[b>>2]=e+(c[f>>2]|0);h=h+-1|0;if(!h)break;else g=g+512|0}i=j+4240|0;switch(c[i>>2]|0){case 2:{h=j+4168|0;b=j;e=32;while(1){f=b+96|0;g=c[f>>2]|0;if((g|0)==0?(c[b>>2]=0,l=b+68|0,c[l>>2]=4,m=b+80|0,k=c[m>>2]|0,k=((M(d[28208+(((c[h>>2]|0)>>>(d[b+72>>0]|0)&7)+(d[b+73>>0]|0))>>0]|0,~k)|0)>>4)+k|0,c[m>>2]=k,(k|0)<1):0){c[m>>2]=0;c[l>>2]=3}c[f>>2]=g|2;e=e+-1|0;if(!e){b=1;break}else b=b+128|0}break}case 0:return;default:{b=j;e=32;while(1){f=b+96|0;g=c[f>>2]|0;if((g|0?(m=g&-3,c[f>>2]=m,(m|0)==0):0)?(k=b+68|0,(c[k>>2]|0)>>>0>1):0)c[k>>2]=1;e=e+-1|0;if(!e){b=0;break}else b=b+128|0}}}c[i>>2]=b;return}function yf(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[339920+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[344016+(a<<2)>>2]|0;return d|0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[339920+((((a&67043328)+(d<<15)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[344016+(a<<2)>>2]|0;return d|0}function Af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if((b&255)>1){d=0;return d|0}e=(d|0)/64|0;g=a[3416903]|0;f=c[853966]|0;e=g<<24>>24==2|g<<24>>24==1&(e|0)<(f|0)?f:e;c[339872+((b&255)<<3)>>2]=Bf(d,e)|0;d=e;return d|0}function Bf(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,h=0;e=Hy(44360)|0;if(!e){e=0;return e|0}QA(e|0,0,44352)|0;Cf();c[e+44352>>2]=b;h=e+44356|0;c[h>>2]=(d|0)==0?44100:d;Df(e);g=+(b|0)*.015625;f=+((c[h>>2]|0)>>>0);c[e+4192>>2]=~~(g*1024.0/f)>>>0;c[e+4176>>2]=~~(g*65536.0/f)>>>0;c[e+4180>>2]=196608;a[e+4260>>0]=0;a[e+4261>>0]=0;d=e+4160|0;b=d;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;d=d+4|0;a[d>>0]=0;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;return e|0}function Cf(){var a=0,b=0,d=0,e=0,f=0,g=0.0;a=0;do{e=a;a=a+1|0;d=~~+y(+(65536.0/+ma(+(+(a|0)*.03125*.125))));d=(d>>>4&1)+(d>>5)|0;f=d<<2;e=e<<1;c[344016+(e<<2)>>2]=f;b=e|1;c[344016+(b<<2)>>2]=0-f;f=d<<1;c[344016+(e+512<<2)>>2]=f;c[344016+(b+512<<2)>>2]=0-f;c[344016+(e+1024<<2)>>2]=d;c[344016+(b+1024<<2)>>2]=0-d;f=d>>1;c[344016+(e+1536<<2)>>2]=f;c[344016+(b+1536<<2)>>2]=0-f;f=d>>2;c[344016+(e+2048<<2)>>2]=f;c[344016+(b+2048<<2)>>2]=0-f;f=d>>3;c[344016+(e+2560<<2)>>2]=f;c[344016+(b+2560<<2)>>2]=0-f;f=d>>4;c[344016+(e+3072<<2)>>2]=f;c[344016+(b+3072<<2)>>2]=0-f;f=d>>5;c[344016+(e+3584<<2)>>2]=f;c[344016+(b+3584<<2)>>2]=0-f;f=d>>6;c[344016+(e+4096<<2)>>2]=f;c[344016+(b+4096<<2)>>2]=0-f;f=d>>7;c[344016+(e+4608<<2)>>2]=f;c[344016+(b+4608<<2)>>2]=0-f;f=d>>8;c[344016+(e+5120<<2)>>2]=f;c[344016+(b+5120<<2)>>2]=0-f;f=d>>9;c[344016+(e+5632<<2)>>2]=f;c[344016+(b+5632<<2)>>2]=0-f;d=d>>10;c[344016+(e+6144<<2)>>2]=d;c[344016+(b+6144<<2)>>2]=0-d}while((a|0)!=256);a=0;do{g=+D(+(+(a<<1|1|0)*3.141592653589793*.0009765625));f=~~(+K(+((g>0.0?1.0:-1.0)/g))*8.0/.6931471805599453*32.0*2.0);c[339920+(a<<2)>>2]=(f<<1&2)+f&-2|!(g>=0.0)&1;a=a+1|0}while((a|0)!=1024);c[92660]=0;c[92661]=32;c[92662]=64;c[92663]=96;c[92664]=128;c[92665]=160;c[92666]=192;c[92667]=224;c[92668]=256;c[92669]=288;c[92670]=320;c[92671]=352;c[92672]=384;c[92673]=416;c[92674]=448;c[92675]=992;return}function Df(a){a=a|0;var b=0,f=0.0,g=0,h=0,i=0,j=0;h=a+44352|0;i=a+44356|0;f=+((c[h>>2]|0)>>>0)*.015625/+((c[i>>2]|0)>>>0);b=0;do{g=~~(f*+(e[16160+(b<<1)>>1]|0)*64.0)&-64;c[a+9408+(b+2304<<2)>>2]=g;c[a+9408+(b+768<<2)>>2]=g>>>2&1073741760;c[a+9408+(b+1536<<2)>>2]=g>>>1&2147483584;c[a+9408+(b+3072<<2)>>2]=g<<1;c[a+9408+(b+3840<<2)>>2]=g<<2;c[a+9408+(b+4608<<2)>>2]=g<<3;c[a+9408+(b+5376<<2)>>2]=g<<4;c[a+9408+(b+6144<<2)>>2]=g<<5;b=b+1|0}while((b|0)!=768);g=a+12480|0;b=0;do{c[a+9408+(b<<2)>>2]=c[g>>2];b=b+1|0}while((b|0)!=768);g=c[a+37052>>2]|0;b=0;do{c[a+9408+(b+6912<<2)>>2]=g;b=b+1|0}while((b|0)!=768);b=0;do{c[a+9408+(b+7680<<2)>>2]=g;b=b+1|0}while((b|0)!=768);b=0;do{g=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[31728+b>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(b<<2)>>2]=g;c[a+43200+(b+128<<2)>>2]=0-g;b=b+1|0}while((b|0)!=32);b=0;do{j=b+32|0;g=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[31728+j>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(j<<2)>>2]=g;c[a+43200+(b+160<<2)>>2]=0-g;b=b+1|0}while((b|0)!=32);b=0;do{g=b+64|0;j=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[31728+g>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(g<<2)>>2]=j;c[a+43200+(b+192<<2)>>2]=0-j;b=b+1|0}while((b|0)!=32);b=0;do{g=b+96|0;j=~~(+((c[h>>2]|0)>>>0)*.015625*+(d[31728+g>>0]|0)*9.5367431640625e-07*1024.0/+((c[i>>2]|0)>>>0)*65536.0);c[a+43200+(g<<2)>>2]=j;c[a+43200+(b+224<<2)>>2]=0-j;b=b+1|0}while((b|0)!=32);b=0;do{c[a+4272+(b<<2)>>2]=~~(+(1024-b|0)*64.0/+((c[h>>2]|0)>>>0)*+((c[i>>2]|0)>>>0)*65536.0)>>>0;b=b+1|0}while((b|0)!=1024);b=0;do{c[a+8368+(b<<2)>>2]=~~(+(256-b|0)*1024.0/+((c[h>>2]|0)>>>0)*+((c[i>>2]|0)>>>0)*65536.0)>>>0;b=b+1|0}while((b|0)!=256);f=+((c[h>>2]|0)>>>0)*.015625/+((c[i>>2]|0)>>>0);b=0;do{c[a+44224+(b<<2)>>2]=~~(f*((b|0)==31?65536.0:+(~~(65536.0/(+(32-b|0)*32.0))<<6|0)))>>>0;b=b+1|0}while((b|0)!=32);return}function Ef(a){a=a|0;Ff(c[339872+((a&255)<<3)>>2]|0);return}function Ff(a){a=a|0;Iy(a);return}function Gf(a){a=a|0;Hf(c[339872+((a&255)<<3)>>2]|0);return}function Hf(b){b=b|0;var d=0,e=0,f=0;d=0;do{e=b+(d<<7)|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[b+(d<<7)+80>>2]=1023;c[b+(d<<7)+52>>2]=768;d=d+1|0}while((d|0)!=32);c[b+4172>>2]=0;c[b+4168>>2]=0;c[b+4188>>2]=0;c[b+4200>>2]=0;c[b+4184>>2]=0;a[b+4208>>0]=0;a[b+4210>>0]=0;a[b+4209>>0]=0;c[b+4212>>2]=0;c[b+4216>>2]=0;a[b+4220>>0]=0;c[b+4244>>2]=0;a[b+4260>>0]=0;a[b+4261>>0]=0;c[b+4264>>2]=0;c[b+4268>>2]=0;d=b+9392|0;c[b+4224>>2]=0;c[b+4228>>2]=0;c[b+4232>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+4236>>2]=c[b+44224>>2];c[b+4240>>2]=0;c[b+4248>>2]=0;If(b,27,0);If(b,24,0);d=32;do{If(b,d,0);d=d+1|0}while((d|0)!=256);return}function If(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=d>>>3;i=d<<2&28|f&3;g=e&255;switch(d>>>5&7){case 0:do switch((d&255)<<24>>24){case 1:{a[b+4220>>0]=e;if(!(e&2))return;c[b+4184>>2]=0;return}case 8:{c[853907]=b;Jf(b+((e<<2&28)<<7)|0,g);return}case 15:{c[b+4224>>2]=g;c[b+4236>>2]=c[b+44224+((e&31)<<2)>>2];return}case 16:{b=b+9392|0;c[b>>2]=c[b>>2]&3|g<<2;return}case 17:{b=b+9392|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 18:{c[b+9396>>2]=g;return}case 20:{c[b+4244>>2]=g;if(e&16|0){i=b+4248|0;c[i>>2]=c[i>>2]&-2}if(e&32|0){i=b+4248|0;c[i>>2]=c[i>>2]&-3}d=b+4261|0;if(e&2){if(!(a[d>>0]|0)){a[d>>0]=1;c[b+4268>>2]=c[b+8368+(c[b+9396>>2]<<2)>>2]}}else a[d>>0]=0;d=b+4260|0;if(!(e&1)){a[d>>0]=0;return}if(a[d>>0]|0)return;a[d>>0]=1;c[b+4264>>2]=c[b+4272+(c[b+9392>>2]<<2)>>2];return}case 24:{c[b+4196>>2]=1024<<18-(g>>>4);c[b+4204>>2]=e&15|16;return}case 25:{d=e&127;if(!(e&128)){a[b+4209>>0]=d;return}else{a[b+4210>>0]=d;return}}case 27:{a[b+4221>>0]=g>>>6;a[b+4208>>0]=e&3;return}default:return}while(0);case 1:{d=d&7;h=d<<2;i=b+(h<<7)|0;switch(f&3){case 0:{g=e>>>3&7;c[b+(h<<7)+36>>2]=(g|0)==0?0:g+6|0;g=b+4096|0;h=d<<1;c[g+(h<<2)>>2]=e<<25>>31;c[g+((h|1)<<2)>>2]=e<<24>>31;e=e&7;a[b+4252+d>>0]=e;Kf(i,d,e);return}case 1:{d=e&127;f=b+(h<<7)+48|0;if((d|0)==(c[f>>2]|0))return;j=d>>>2;g=b+(h<<7)+52|0;e=c[g>>2]&63|(d-j<<6)+768;c[f>>2]=d;c[g>>2]=e;c[i+176>>2]=d;c[i+180>>2]=e;c[i+304>>2]=d;c[i+308>>2]=e;c[i+432>>2]=d;c[i+436>>2]=e;f=b+43200|0;d=c[f+((c[b+(h<<7)+16>>2]|0)+j<<2)>>2]|0;c[b+(h<<7)+8>>2]=d;g=b+9408|0;c[b+(h<<7)+4>>2]=(M((c[g+((c[b+(h<<7)+20>>2]|0)+e<<2)>>2]|0)+d|0,c[b+(h<<7)+12>>2]|0)|0)>>>1;b=c[f+((c[i+144>>2]|0)+j<<2)>>2]|0;c[i+136>>2]=b;c[i+132>>2]=(M((c[g+((c[i+148>>2]|0)+e<<2)>>2]|0)+b|0,c[i+140>>2]|0)|0)>>>1;b=c[f+((c[i+272>>2]|0)+j<<2)>>2]|0;c[i+264>>2]=b;c[i+260>>2]=(M((c[g+((c[i+276>>2]|0)+e<<2)>>2]|0)+b|0,c[i+268>>2]|0)|0)>>>1;b=c[f+((c[i+400>>2]|0)+j<<2)>>2]|0;c[i+392>>2]=b;c[i+388>>2]=(M((c[g+((c[i+404>>2]|0)+e<<2)>>2]|0)+b|0,c[i+396>>2]|0)|0)>>>1;Lf(i);return}case 2:{d=g>>>2;f=b+(h<<7)+52|0;g=c[f>>2]|0;if((d|0)==(g&63|0))return;j=g&-64|d;c[f>>2]=j;c[i+180>>2]=j;c[i+308>>2]=j;c[i+436>>2]=j;e=b+9408|0;c[b+(h<<7)+4>>2]=(M((c[b+(h<<7)+8>>2]|0)+(c[e+((c[b+(h<<7)+20>>2]|0)+j<<2)>>2]|0)|0,c[b+(h<<7)+12>>2]|0)|0)>>>1;c[i+132>>2]=(M((c[i+136>>2]|0)+(c[e+((c[i+148>>2]|0)+j<<2)>>2]|0)|0,c[i+140>>2]|0)|0)>>>1;c[i+260>>2]=(M((c[i+264>>2]|0)+(c[e+((c[i+276>>2]|0)+j<<2)>>2]|0)|0,c[i+268>>2]|0)|0)>>>1;c[i+388>>2]=(M((c[i+392>>2]|0)+(c[e+((c[i+404>>2]|0)+j<<2)>>2]|0)|0,c[i+396>>2]|0)|0)>>>1;return}case 3:{c[b+(h<<7)+56>>2]=e>>>4&7;c[b+(h<<7)+60>>2]=e&3;return}default:{}}break}case 2:{g=b+(i<<7)+16|0;j=c[g>>2]|0;h=b+(i<<7)+12|0;d=c[h>>2]|0;f=e<<1&224;c[g>>2]=f;g=e&15;g=(g|0)==0?1:g<<1;c[h>>2]=g;do if((j|0)==(f|0))if((d|0)==(g|0))return;else{d=c[b+(i<<7)+8>>2]|0;break}else{d=c[b+43200+(((c[b+(i<<7)+48>>2]|0)>>>2)+f<<2)>>2]|0;c[b+(i<<7)+8>>2]=d}while(0);c[b+(i<<7)+4>>2]=(M(d+(c[b+9408+((c[b+(i<<7)+20>>2]|0)+(c[b+(i<<7)+52>>2]|0)<<2)>>2]|0)|0,g)|0)>>>1;return}case 3:{c[b+(i<<7)+76>>2]=e<<3&1016;return}case 4:{d=b+(i<<7)+100|0;f=c[d>>2]|0;k=b+(i<<7)+104|0;j=c[k>>2]|0;h=5-(g>>>6)|0;c[d>>2]=h;d=e&31;d=(d|0)==0?0:(d<<1)+32|0;c[k>>2]=d;g=(h|0)==(f|0);if(!(g&(d|0)==(j|0))){d=((c[b+(i<<7)+48>>2]|0)>>>h)+d|0;if(d>>>0<94){f=a[17840+d>>0]|0;d=a[17712+d>>0]|0}else{f=-120;d=0}a[b+(i<<7)+72>>0]=d;a[b+(i<<7)+73>>0]=f}if(g)return;k=(c[b+(i<<7)+48>>2]|0)>>>h;j=k+(c[b+(i<<7)+108>>2]|0)|0;a[b+(i<<7)+84>>0]=a[17712+j>>0]|0;a[b+(i<<7)+85>>0]=a[17840+j>>0]|0;j=(c[b+(i<<7)+112>>2]|0)+k|0;a[b+(i<<7)+92>>0]=a[17712+j>>0]|0;a[b+(i<<7)+93>>0]=a[17840+j>>0]|0;k=(c[b+(i<<7)+116>>2]|0)+k|0;a[b+(i<<7)+94>>0]=a[17712+k>>0]|0;a[b+(i<<7)+95>>0]=a[17840+k>>0]|0;return}case 5:{c[b+(i<<7)+64>>2]=e<<24>>31;k=e&31;k=(k|0)==0?0:(k<<1)+32|0;c[b+(i<<7)+108>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+84>>0]=a[17712+k>>0]|0;a[b+(i<<7)+85>>0]=a[17840+k>>0]|0;return}case 6:{j=b+(i<<7)+20|0;k=c[j>>2]|0;d=c[17696+(g>>>6<<2)>>2]|0;c[j>>2]=d;if((d|0)!=(k|0))c[b+(i<<7)+4>>2]=(M((c[b+(i<<7)+8>>2]|0)+(c[b+9408+((c[b+(i<<7)+52>>2]|0)+d<<2)>>2]|0)|0,c[b+(i<<7)+12>>2]|0)|0)>>>1;k=e&31;k=(k|0)==0?0:(k<<1)+32|0;c[b+(i<<7)+112>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+92>>0]=a[17712+k>>0]|0;a[b+(i<<7)+93>>0]=a[17840+k>>0]|0;return}case 7:{c[b+(i<<7)+88>>2]=c[370640+(g>>>4<<2)>>2];k=(e<<2&60)+34|0;c[b+(i<<7)+116>>2]=k;k=((c[b+(i<<7)+48>>2]|0)>>>(c[b+(i<<7)+100>>2]|0))+k|0;a[b+(i<<7)+94>>0]=a[17712+k>>0]|0;a[b+(i<<7)+95>>0]=a[17840+k>>0]|0;return}default:{}}}function Jf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=a+96|0;g=c[f>>2]|0;h=(g|0)!=0;if(!(b&8)){if((h?(j=g&-2,c[f>>2]=j,(j|0)==0):0)?(e=a+68|0,(c[e>>2]|0)>>>0>1):0)c[e>>2]=1}else{if(!h?(c[a>>2]=0,i=a+68|0,c[i>>2]=4,j=a+80|0,h=c[j>>2]|0,h=((M(d[28208+(((c[(c[853907]|0)+4168>>2]|0)>>>(d[a+72>>0]|0)&7)+(d[a+73>>0]|0))>>0]|0,~h)|0)>>4)+h|0,c[j>>2]=h,(h|0)<1):0){c[j>>2]=0;c[i>>2]=3}c[f>>2]=g|1}e=a+224|0;f=c[e>>2]|0;g=(f|0)!=0;if(!(b&32)){if((g?(l=f&-2,c[e>>2]=l,(l|0)==0):0)?(m=a+196|0,(c[m>>2]|0)>>>0>1):0)c[m>>2]=1}else{if(!g?(c[a+128>>2]=0,k=a+196|0,c[k>>2]=4,l=a+208|0,m=c[l>>2]|0,m=((M(d[28208+(((c[(c[853907]|0)+4168>>2]|0)>>>(d[a+200>>0]|0)&7)+(d[a+201>>0]|0))>>0]|0,~m)|0)>>4)+m|0,c[l>>2]=m,(m|0)<1):0){c[l>>2]=0;c[k>>2]=3}c[e>>2]=f|1}e=a+352|0;f=c[e>>2]|0;g=(f|0)!=0;if(!(b&16)){if((g?(p=f&-2,c[e>>2]=p,(p|0)==0):0)?(n=a+324|0,(c[n>>2]|0)>>>0>1):0)c[n>>2]=1}else{if(!g?(c[a+256>>2]=0,o=a+324|0,c[o>>2]=4,p=a+336|0,n=c[p>>2]|0,n=((M(d[28208+(((c[(c[853907]|0)+4168>>2]|0)>>>(d[a+328>>0]|0)&7)+(d[a+329>>0]|0))>>0]|0,~n)|0)>>4)+n|0,c[p>>2]=n,(n|0)<1):0){c[p>>2]=0;c[o>>2]=3}c[e>>2]=f|1}e=a+480|0;f=c[e>>2]|0;g=(f|0)!=0;if(b&64|0){if(!g?(c[a+384>>2]=0,q=a+452|0,c[q>>2]=4,r=a+464|0,b=c[r>>2]|0,b=((M(d[28208+(((c[(c[853907]|0)+4168>>2]|0)>>>(d[a+456>>0]|0)&7)+(d[a+457>>0]|0))>>0]|0,~b)|0)>>4)+b|0,c[r>>2]=b,(b|0)<1):0){c[r>>2]=0;c[q>>2]=3}c[e>>2]=f|1;return}if(!g)return;r=f&-2;c[e>>2]=r;if(r|0)return;e=a+452|0;if((c[e>>2]|0)>>>0<=1)return;c[e>>2]=1;return}function Kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;switch(d&7){case 0:{c[a+24>>2]=3415640;e=3415636;f=3415632;g=3415644;break}case 1:{c[a+24>>2]=3415632;e=3415636;f=3415632;g=3415644;break}case 2:{c[a+24>>2]=3415636;e=3415636;f=3415632;g=3415644;break}case 3:{c[a+24>>2]=3415640;e=3415636;f=3415632;g=3415636;break}case 4:{c[a+24>>2]=3415640;e=3415636;f=339888+(b<<2)|0;g=3415632;break}case 5:{c[a+24>>2]=0;f=339888+(b<<2)|0;e=f;g=3415644;break}case 6:{c[a+24>>2]=3415640;f=339888+(b<<2)|0;e=f;g=3415632;break}case 7:{f=339888+(b<<2)|0;c[a+24>>2]=f;e=f;g=3415632;break}default:{}}c[a+280>>2]=f;c[a+152>>2]=e;c[a+28>>2]=g;return}function Lf(b){b=b|0;var d=0,e=0,f=0,g=0;g=c[b+48>>2]|0;f=g>>>(c[b+100>>2]|0);d=(c[b+104>>2]|0)+f|0;if(d>>>0<94){e=a[17840+d>>0]|0;d=a[17712+d>>0]|0}else{e=-120;d=0}a[b+72>>0]=d;a[b+73>>0]=e;d=(c[b+108>>2]|0)+f|0;a[b+84>>0]=a[17712+d>>0]|0;a[b+85>>0]=a[17840+d>>0]|0;d=(c[b+112>>2]|0)+f|0;a[b+92>>0]=a[17712+d>>0]|0;a[b+93>>0]=a[17840+d>>0]|0;f=(c[b+116>>2]|0)+f|0;a[b+94>>0]=a[17712+f>>0]|0;a[b+95>>0]=a[17840+f>>0]|0;f=g>>>(c[b+228>>2]|0);d=(c[b+232>>2]|0)+f|0;if(d>>>0<94){e=a[17840+d>>0]|0;d=a[17712+d>>0]|0}else{e=-120;d=0}a[b+200>>0]=d;a[b+201>>0]=e;d=(c[b+236>>2]|0)+f|0;a[b+212>>0]=a[17712+d>>0]|0;a[b+213>>0]=a[17840+d>>0]|0;d=(c[b+240>>2]|0)+f|0;a[b+220>>0]=a[17712+d>>0]|0;a[b+221>>0]=a[17840+d>>0]|0;f=(c[b+244>>2]|0)+f|0;a[b+222>>0]=a[17712+f>>0]|0;a[b+223>>0]=a[17840+f>>0]|0;f=g>>>(c[b+356>>2]|0);d=(c[b+360>>2]|0)+f|0;if(d>>>0<94){e=a[17840+d>>0]|0;d=a[17712+d>>0]|0}else{e=-120;d=0}a[b+328>>0]=d;a[b+329>>0]=e;d=(c[b+364>>2]|0)+f|0;a[b+340>>0]=a[17712+d>>0]|0;a[b+341>>0]=a[17840+d>>0]|0;d=(c[b+368>>2]|0)+f|0;a[b+348>>0]=a[17712+d>>0]|0;a[b+349>>0]=a[17840+d>>0]|0;f=(c[b+372>>2]|0)+f|0;a[b+350>>0]=a[17712+f>>0]|0;a[b+351>>0]=a[17840+f>>0]|0;f=g>>>(c[b+484>>2]|0);d=(c[b+488>>2]|0)+f|0;if(d>>>0<94){e=a[17840+d>>0]|0;d=a[17712+d>>0]|0}else{e=-120;d=0}a[b+456>>0]=d;a[b+457>>0]=e;g=(c[b+492>>2]|0)+f|0;a[b+468>>0]=a[17712+g>>0]|0;a[b+469>>0]=a[17840+g>>0]|0;g=(c[b+496>>2]|0)+f|0;a[b+476>>0]=a[17712+g>>0]|0;a[b+477>>0]=a[17840+g>>0]|0;g=(c[b+500>>2]|0)+f|0;a[b+478>>0]=a[17712+g>>0]|0;a[b+479>>0]=a[17840+g>>0]|0;return}function Mf(b,e,f){b=b|0;e=e|0;f=f|0;b=b&255;if(!(e&1)){a[339872+(b<<3)+4>>0]=f;return}else{If(c[339872+(b<<3)>>2]|0,d[339872+(b<<3)+4>>0]|0,f&255);return}}function Nf(a,b){a=a|0;b=b|0;Of(c[339872+((a&255)<<3)>>2]|0,b);return}function Of(b,c){b=b|0;c=c|0;a[b+4160>>0]=c&1;a[b+4161>>0]=c>>>1&1;a[b+4162>>0]=c>>>2&1;a[b+4163>>0]=c>>>3&1;a[b+4164>>0]=c>>>4&1;a[b+4165>>0]=c>>>5&1;a[b+4166>>0]=c>>>6&1;a[b+4167>>0]=c>>>7&1;return}function Pf(a){a=a|0;Qf(c[a>>2]|0,c[853958]|0,c[853959]|0,0);return}function Qf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,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;k=a+256|0;l=a+17976|0;m=a+18356|0;x=a+18736|0;Rf(k,l);Rf(k,m);z=a+264|0;y=a+296|0;if(c[y>>2]&192){if((c[a+18772>>2]|0)==-1){Sf(k,x,c[a+1364>>2]|0,d[a+1374>>0]|0);Sf(k,a+18896|0,c[a+1368>>2]|0,d[a+1375>>0]|0);Sf(k,a+18816|0,c[a+1360>>2]|0,d[a+1373>>0]|0);Sf(k,a+18976|0,c[a+19100>>2]|0,d[a+19104>>0]|0)}}else Rf(k,x);c[a+17844>>2]=0;c[a+17848>>2]=0;if((f|0)>0){n=a+17908|0;o=a+17912|0;p=a+17916|0;q=a+1448|0;r=a+1444|0;s=a+1452|0;t=a+308|0;u=a+1440|0;v=a+1344|0;w=a+280|0;j=0;do{c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;g=(c[r>>2]|0)+(c[q>>2]|0)|0;c[r>>2]=g;i=c[s>>2]|0;if(g>>>0>=i>>>0)do{c[r>>2]=g-i;c[u>>2]=(c[u>>2]|0)+1;Tf(k,l);Tf(k,m);Tf(k,x);g=c[r>>2]|0;i=c[s>>2]|0}while(g>>>0>=i>>>0);Uf(k,l,0);Uf(k,m,1);Uf(k,x,2);g=(c[o>>2]|0)+(c[n>>2]|0)+(c[p>>2]|0)|0;c[b+(j<<2)>>2]=g;c[e+(j<<2)>>2]=g;g=c[t>>2]|0;if(((g|0?(c[v>>2]|0)==0:0)?(i=g-~~(+h[w>>3]*4096.0)|0,c[t>>2]=i,(i|0)<1):0)?(Vf(z),c[y>>2]&128|0):0)Wf(x);j=j+1|0}while((j|0)!=(f|0))}g=a+316|0;i=c[g>>2]|0;if(!i)return;if(c[a+1344>>2]|0)return;f=i-~~(+h[a+280>>3]*4096.0*+(f|0))|0;c[g>>2]=f;if((f|0)>=1)return;Xf(z);return}function Rf(a,b){a=a|0;b=b|0;var e=0,f=0;if((c[b+36>>2]|0)!=-1)return;f=c[b+364>>2]|0;e=d[b+368>>0]|0;Sf(a,b,f,e);Sf(a,b+160|0,f,e);Sf(a,b+80|0,f,e);Sf(a,b+240|0,f,e);return}function Sf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;h=g>>(d[e+4>>0]|0);f=(c[(c[e>>2]|0)+(g<<2)>>2]|0)+f|0;if((f|0)<0)f=(c[b+17584>>2]|0)+f|0;c[e+36>>2]=(M(c[e+28>>2]|0,f)|0)>>>1;f=e+24|0;if((h|0)==(d[f>>0]|0|0))return;a[f>>0]=h;b=h&255;f=(c[e+8>>2]|0)+b|0;if(f>>>0<94){g=a[17840+f>>0]|0;f=a[17712+f>>0]|0}else{g=-120;f=0}a[e+60>>0]=f;a[e+61>>0]=g;f=(c[e+12>>2]|0)+b|0;a[e+62>>0]=a[17712+f>>0]|0;g=(c[e+16>>2]|0)+b|0;a[e+64>>0]=a[17712+g>>0]|0;h=(c[e+20>>2]|0)+b|0;a[e+66>>0]=a[17712+h>>0]|0;a[e+63>>0]=a[17840+f>>0]|0;a[e+65>>0]=a[17840+g>>0]|0;a[e+67>>0]=a[17840+h>>0]|0;return}function Tf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+1184|0;j=4;while(1){i=e+40|0;b=a[i>>0]|0;a:do switch(b<<24>>24){case 4:{b=c[k>>2]|0;f=d[e+60>>0]|0;if(((1<>2]|0,h=((M(d[28208+((b>>>f&7)+(d[e+61>>0]|0))>>0]|0,~h)|0)>>4)+h|0,c[l>>2]=h,(h|0)<1):0){c[l>>2]=0;a[i>>0]=3;i=0;b=3}else{i=0;b=4}break}case 3:{b=c[k>>2]|0;f=d[e+62>>0]|0;g=((1<>0]&8)){if(g){i=0;b=3;break a}g=e+48|0;h=(c[g>>2]|0)+(d[28208+((b>>>f&7)+(d[e+63>>0]|0))>>0]|0)|0;c[g>>2]=h;if((h|0)<(c[e+52>>2]|0)){i=0;b=3;break a}a[i>>0]=2;i=0;b=2;break a}else{if(g){i=0;b=3;break a}g=e+48|0;h=((d[28208+((b>>>f&7)+(d[e+63>>0]|0))>>0]|0)<<2)+(c[g>>2]|0)|0;c[g>>2]=h;if((h|0)<(c[e+52>>2]|0)){i=0;b=3;break a}a[i>>0]=2;i=0;b=2;break a}}case 2:{h=a[e+68>>0]|0;b=c[k>>2]|0;f=d[e+64>>0]|0;g=((1<>2]|0)+(d[28208+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)|0;c[i>>2]=(b|0)<1023?b:1023;i=0;b=2;break a}if(!g?(n=e+48|0,g=((d[28208+((b>>>f&7)+(d[e+65>>0]|0))>>0]|0)<<2)+(c[n>>2]|0)|0,c[n>>2]=g,(g|0)>831):0){c[n>>2]=1023;b=h&255;if(!(b&1)){c[e+32>>2]=0;c[n>>2]=511;a[i>>0]=4;i=h&2;b=4;break a}else{i=(a[e+69>>0]&1)==0?b&2|1:0;b=2;break a}}else{i=0;b=2}break}case 1:{b=c[k>>2]|0;f=d[e+66>>0]|0;if(((1<>2]|0)+(d[28208+((b>>>f&7)+(d[e+67>>0]|0))>>0]|0)|0,c[m>>2]=h,(h|0)>1022):0){c[m>>2]=1023;a[i>>0]=0;i=0;b=0}else{i=0;b=1}break}default:i=0}while(0);f=c[e+48>>2]|0;g=e+69|0;h=a[g>>0]|0;if((a[e+68>>0]&8)==0|(h&2)==0)b=f;else b=(b&255)>1?f^1023:f;c[e+56>>2]=(c[e+44>>2]|0)+b;a[g>>0]=i^h&255;j=j+-1|0;if(!j)break;else e=e+80|0}return}function Uf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=(c[b+17588>>2]|0)>>>(d[e+360>>0]|0);if(a[e+376>>0]|0)return;o=b+17648|0;p=b+17644|0;m=b+17640|0;l=b+17636|0;q=e+352|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[c[e+348>>2]>>2]=c[q>>2];g=(c[e+76>>2]&n)+(c[e+56>>2]|0)|0;k=e+324|0;h=e+328|0;i=c[h>>2]|0;j=i+(c[k>>2]|0)|0;c[k>>2]=i;k=c[e+332>>2]|0;if(!k){c[p>>2]=i;c[m>>2]=i;c[o>>2]=i}else c[k>>2]=(c[k>>2]|0)+i;c[h>>2]=0;if(g>>>0<832){k=a[e+321>>0]|0;c[h>>2]=$f(c[e+32>>2]|0,g,(k<<24>>24==0?0:j)<<(k&255))|0}g=(c[e+156>>2]&n)+(c[e+136>>2]|0)|0;if(g>>>0<832){k=ag(c[e+112>>2]|0,g,c[l>>2]|0)|0;l=c[e+336>>2]|0;c[l>>2]=(c[l>>2]|0)+k}g=(c[e+236>>2]&n)+(c[e+216>>2]|0)|0;if(g>>>0<832){l=ag(c[e+192>>2]|0,g,c[m>>2]|0)|0;m=c[e+340>>2]|0;c[m>>2]=(c[m>>2]|0)+l}g=(c[e+316>>2]&n)+(c[e+296>>2]|0)|0;if(g>>>0<832){n=ag(c[e+272>>2]|0,g,c[p>>2]|0)|0;p=c[e+344>>2]|0;c[p>>2]=(c[p>>2]|0)+n}c[q>>2]=c[o>>2];g=e+356|0;h=c[g>>2]|0;if(!h){f=e+32|0;c[f>>2]=(c[f>>2]|0)+(c[e+36>>2]|0);f=e+192|0;c[f>>2]=(c[f>>2]|0)+(c[e+196>>2]|0);f=e+112|0;c[f>>2]=(c[f>>2]|0)+(c[e+116>>2]|0);f=e+272|0;c[f>>2]=(c[f>>2]|0)+(c[e+276>>2]|0);return}if((f|0)==2?(c[b+40>>2]&192|0)!=0:0){bg(b,e,h,c[b+1124>>2]|0);bg(b,e+160|0,c[g>>2]|0,c[b+1128>>2]|0);bg(b,e+80|0,c[g>>2]|0,c[b+1120>>2]|0);bg(b,e+240|0,c[g>>2]|0,c[e+372>>2]|0);return}else{cg(b,e);return}}function Vf(a){a=a|0;var b=0,d=0;if(c[a+32>>2]&4|0)Yf(a,1);d=1024-(c[a+40>>2]|0)|0;c[a+44>>2]=d;b=c[a+1080>>2]|0;if(!b)return;d=M(c[a+24>>2]|0,d)|0;za[b&63](c[a>>2]|0,0,d,c[a+4>>2]|0);return}function Wf(a){a=a|0;if(!(c[a+72>>2]|0)){Zf(a,0);_f(a,0)}if(!(c[a+232>>2]|0)){Zf(a,2);_f(a,2)}if(!(c[a+152>>2]|0)){Zf(a,1);_f(a,1)}if(c[a+312>>2]|0)return;Zf(a,3);_f(a,3);return}function Xf(a){a=a|0;var b=0,e=0;if(c[a+32>>2]&8|0)Yf(a,2);e=4096-((d[a+48>>0]|0)<<4)|0;c[a+52>>2]=e;b=c[a+1080>>2]|0;if(!b)return;e=M(c[a+24>>2]|0,e)|0;za[b&63](c[a>>2]|0,1,e,c[a+4>>2]|0);return}function Yf(b,e){b=b|0;e=e|0;var f=0;f=b+31|0;e=d[f>>0]|e;a[f>>0]=e;f=b+29|0;if(a[f>>0]|0)return;if(!(e&d[b+30>>0]))return;a[f>>0]=1;e=c[b+1084>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,1);return}function Zf(b,e){b=b|0;e=e|0;var f=0;f=b+(e*80|0)+72|0;if(c[f>>2]|0)return;c[f>>2]=1;c[b+(e*80|0)+32>>2]=0;a[b+(e*80|0)+69>>0]=(d[b+(e*80|0)+68>>0]|0)>>>1&2;a[b+(e*80|0)+40>>0]=4;return}function _f(b,e){b=b|0;e=e|0;var f=0;f=b+(e*80|0)+72|0;if(!(c[f>>2]|0))return;c[f>>2]=0;b=b+(e*80|0)+40|0;if((d[b>>0]|0)<=1)return;a[b>>0]=1;return}function $f(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[501776+((((a&67043328)+d|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[505872+(a<<2)>>2]|0;return d|0}function ag(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[501776+((((d<<15)+(a&67043328)|0)>>>16&1023)<<2)>>2]|0)+(b<<3)|0;if(a>>>0>6655){d=0;return d|0}d=c[505872+(a<<2)>>2]|0;return d|0}function bg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;e=c[370704+((f<<4&32512)+e+(c[a+17592>>2]|0)<<2)>>2]|0;if(!e){f=b+32|0;a=f;f=c[f>>2]|0;b=b+36|0;b=c[b>>2]|0;b=f+b|0;c[a>>2]=b;return}f=e+(f<<1)|0;e=f>>>12&7;f=f&4095;e=(c[(c[b>>2]|0)+((e<<2|(d[28368+(f>>>8)>>0]|0))<<2)>>2]|0)+((c[a+1200+(f<<2)>>2]|0)>>>(e^7))|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;g=b+32|0;a=g;f=(M(c[b+28>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=f+b|0;c[a>>2]=b;return}function cg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;f=c[b+372>>2]|0;e=c[370704+((f<<4&32512)+(c[b+356>>2]|0)+(c[a+17592>>2]|0)<<2)>>2]|0;if(!e){g=b+32|0;c[g>>2]=(c[g>>2]|0)+(c[b+36>>2]|0);g=b+192|0;c[g>>2]=(c[g>>2]|0)+(c[b+196>>2]|0);g=b+112|0;c[g>>2]=(c[g>>2]|0)+(c[b+116>>2]|0);g=b+272|0;a=g;g=c[g>>2]|0;b=b+276|0;b=c[b>>2]|0;b=g+b|0;c[a>>2]=b;return}e=e+(f<<1)|0;g=e>>>12&7;e=e&4095;f=g<<2|(d[28368+(e>>>8)>>0]|0);g=(c[a+1200+(e<<2)>>2]|0)>>>(g^7);e=(c[(c[b>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+28>>2]|0,e)|0)>>>1;e=b+32|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+160>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+188>>2]|0,e)|0)>>>1;e=b+192|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+80>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;h=(M(c[b+108>>2]|0,e)|0)>>>1;e=b+112|0;c[e>>2]=h+(c[e>>2]|0);e=(c[(c[b+240>>2]|0)+(f<<2)>>2]|0)+g|0;if((e|0)<0)e=(c[a+17584>>2]|0)+e|0;g=b+272|0;h=g;a=(M(c[b+268>>2]|0,e)|0)>>>1;b=g;b=c[b>>2]|0;b=a+b|0;c[h>>2]=b;return}function dg(a,b,d){a=a|0;b=b|0;d=d|0;Qf(c[532496+((a&255)*28|0)>>2]|0,c[b>>2]|0,c[b+4>>2]|0,d);return}function eg(b,d,e){b=b|0;d=d|0;e=e|0;b=c[532496+((b&255)*28|0)+4>>2]|0;if(!b){e=e<<2;QA(c[d>>2]|0,0,e|0)|0;QA(c[d+4>>2]|0,0,e|0)|0;return}switch(a[3416878]|0){case 1:{fg(b,d,e);return}case 0:{gg(b,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=c[e>>2]|0;aa=e+4|0;ba=c[aa>>2]|0;e=f<<2;QA(ca|0,0,e|0)|0;QA(c[aa>>2]|0,0,e|0)|0;if(a[b+1049269>>0]|0)return;QA(532944,0,e|0)|0;QA(533008,0,e|0)|0;QA(533072,0,e|0)|0;aa=(f|0)<16?f:16;if(aa|0){o=b+36|0;p=b+16|0;q=b+48|0;r=b+52|0;s=b+22|0;t=b+23|0;u=b+72|0;v=b+88|0;w=b+51|0;x=b+71|0;y=b+56|0;z=b+27|0;A=b+28|0;B=b+80|0;C=b+60|0;D=b+70|0;E=b+64|0;F=b+1049268|0;G=b+100|0;H=b+292|0;I=b+68|0;J=b+69|0;K=b+76|0;L=b+17|0;N=b+40|0;O=b+18|0;P=b+19|0;Q=b+44|0;R=b+20|0;S=b+21|0;T=b+49|0;U=b+50|0;V=b+89|0;W=b+90|0;X=b+24|0;Y=b+25|0;Z=b+26|0;k=aa;l=532944;m=533072;n=533008;while(1){j=(c[o>>2]|0)+1|0;c[o>>2]=j;if((j|0)>=((a[L>>0]&15)<<8|d[p>>0]|0)){a[q>>0]=a[q>>0]^1;c[o>>2]=0}j=(c[N>>2]|0)+1|0;c[N>>2]=j;if((j|0)>=((a[P>>0]&15)<<8|d[O>>0]|0)){a[T>>0]=a[T>>0]^1;c[N>>2]=0}j=(c[Q>>2]|0)+1|0;c[Q>>2]=j;if((j|0)>=((a[S>>0]&15)<<8|d[R>>0]|0)){a[U>>0]=a[U>>0]^1;c[Q>>2]=0}j=(c[r>>2]|0)+1|0;c[r>>2]=j;if((j|0)>=(a[s>>0]&31|0)?(c[r>>2]=0,j=a[w>>0]^1,a[w>>0]=j,j<<24>>24):0){j=c[u>>2]|0;c[u>>2]=((j>>>3^j)<<17&131072^j)>>1}h=c[u>>2]|0;j=a[t>>0]|0;i=j&255;j=(i>>>3|h)&1&((j|a[q>>0])&255)&255;a[v>>0]=j;a[V>>0]=(i>>>4|h)&1&(i>>>1|d[T>>0]);a[W>>0]=(i>>>5|h)&1&(i>>>2|d[U>>0]);do if(((a[x>>0]|0)==0?(i=(c[y>>2]|0)+1|0,c[y>>2]=i,(i|0)>=(M(d[A>>0]<<8|d[z>>0],c[B>>2]|0)|0)):0)?(c[y>>2]=0,_=(a[C>>0]|0)+-1<<24>>24,a[C>>0]=_,$=_<<24>>24,_<<24>>24<0):0){g=(a[J>>0]|0)==0;if(a[I>>0]|0){if(!g)a[D>>0]=a[D>>0]^a[K>>0];a[x>>0]=1;a[C>>0]=0;break}e=a[K>>0]|0;if(!g?(e&255)+1&$|0:0)a[D>>0]=a[D>>0]^e;a[C>>0]=e&_}while(0);g=d[D>>0]^a[C>>0];c[E>>2]=g;e=d[X>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;do if(!((i?3:1)&h))c[l>>2]=c[G+((j<<24>>24==0?0:e&15)<<2)>>2];else{e=j<<24>>24!=0;if(!i){c[l>>2]=c[H+((e?g:0)<<2)>>2];break}if(e)e=g>>>(h&3^3);else e=0;c[l>>2]=c[H+(e<<2)>>2]}while(0);l=l+4|0;e=d[Y>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;g=a[V>>0]|0;do if((i?3:1)&h){e=g<<24>>24!=0;if(i){if(e)e=(c[E>>2]|0)>>>(h&3^3);else e=0;c[n>>2]=c[H+128+(e<<2)>>2];break}else{if(e)e=c[E>>2]|0;else e=0;c[n>>2]=c[H+128+(e<<2)>>2];break}}else c[n>>2]=c[G+64+((g<<24>>24==0?0:e&15)<<2)>>2];while(0);n=n+4|0;e=d[Z>>0]|0;h=e>>>4;i=(a[F>>0]|0)==4;g=a[W>>0]|0;do if((i?3:1)&h){e=g<<24>>24!=0;if(i){if(e)e=(c[E>>2]|0)>>>(h&3^3);else e=0;c[m>>2]=c[H+256+(e<<2)>>2];break}else{if(e)e=c[E>>2]|0;else e=0;c[m>>2]=c[H+256+(e<<2)>>2];break}}else c[m>>2]=c[G+128+((g<<24>>24==0?0:e&15)<<2)>>2];while(0);k=k+-1|0;if(!k)break;else m=m+4|0}}if((f|0)<=0)return;k=b+1049256|0;l=b+1049252|0;m=b+1049260|0;n=b+1049264|0;o=b+1049253|0;i=b+1049254|0;h=0;do{g=ca+(h<<2)|0;j=ba+(h<<2)|0;if(c[k>>2]|0){e=a[l>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[532944+(h<<2)>>2]|0);e=a[l>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[532944+(h<<2)>>2]|0)}if(c[m>>2]|0){e=a[o>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[533008+(h<<2)>>2]|0);e=a[o>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[533008+(h<<2)>>2]|0)}if(c[n>>2]|0){e=a[i>>0]|0;if(e&1){c[g>>2]=(c[g>>2]|0)+(c[533072+(h<<2)>>2]|0);e=a[i>>0]|0}if(e&2)c[j>>2]=(c[j>>2]|0)+(c[533072+(h<<2)>>2]|0)}h=h+1|0}while((h|0)<(aa|0));return}function gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+16|0;m=t;if((e|0)<=0){k=t;return}n=a+64|0;o=m+4|0;p=a+216|0;q=a+220|0;r=a+224|0;s=a+244|0;i=a+236|0;j=a+248|0;l=a+240|0;h=0;do{if(!(c[n>>2]|0)){hg(a,m);c[b+(h<<2)>>2]=c[m>>2];f=c[o>>2]|0}else{g=c[p>>2]|0;f=c[q>>2]|0;if(f>>>0>>0)do{c[q>>2]=(c[r>>2]|0)+f;c[i>>2]=c[s>>2];c[l>>2]=c[j>>2];hg(a,s);g=c[p>>2]|0;f=c[q>>2]|0}while(f>>>0>>0);g=f-g|0;c[q>>2]=g;f=c[r>>2]|0;c[b+(h<<2)>>2]=~~((+(c[s>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[i>>2]|0))/+(f>>>0));f=c[r>>2]|0;g=c[q>>2]|0;f=~~((+(c[j>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[l>>2]|0))/+(f>>>0))}c[d+(h<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));k=t;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+156|0;d=(c[n>>2]|0)+(c[a+60>>2]|0)|0;o=d>>>24;c[n>>2]=d&16777215;n=a+200|0;d=(c[n>>2]|0)+o|0;c[n>>2]=d;if(d>>>0>65535?(g=c[a+196>>2]|0,h=a+188|0,i=a+168|0,j=a+164|0,k=a+172|0,l=a+180|0,m=a+184|0,g|0):0){e=c[h>>2]|0;do{do if(!e){f=c[j>>2]|0;if(!(c[i>>2]|0)){f=f+63&63;c[j>>2]=f;break}else{f=f+1&63;c[j>>2]=f;break}}else f=c[j>>2]|0;while(0);if(f&32){if(!(c[k>>2]|0)){c[h>>2]=1;e=1;f=0}else{f=c[m>>2]|0;if((c[l>>2]|0)!=(f|0))c[i>>2]=c[i>>2]^1;if(f){c[h>>2]=1;e=1}f=(c[i>>2]|0)==0?31:0}c[j>>2]=f}d=d-g|0}while(d>>>0>65535);c[n>>2]=d}f=a+208|0;g=(c[f>>2]|0)+o|0;c[f>>2]=g;e=a+204|0;d=c[e>>2]|0;if(g&64){if(d&1){d=d^147456;c[e>>2]=d}d=d>>>1;c[e>>2]=d;c[f>>2]=g-(c[a+212>>2]|0)}k=d&1;l=a+140|0;m=a+164|0;d=0;e=0;j=0;do{f=a+68+(j<<2)|0;g=(c[f>>2]|0)+o|0;c[f>>2]=g;do if(g&4096|0){h=c[a+92+(j<<2)>>2]|0;i=a+104+(j<<2)|0;if(h>>>0>1){c[i>>2]=(c[i>>2]|0)==0&1;c[f>>2]=g-h;break}else{c[i>>2]=1;break}}while(0);g=a+40+(j<<2)|0;c[g>>2]=0;do if(!(c[l>>2]&1<>2]|0)==0?(c[a+104+(j<<2)>>2]|0)==0:0)break;if(c[a+128+(j<<2)>>2]|k){f=c[a+80+(j<<2)>>2]|0;if(!(f&32))f=f&31;else f=c[m>>2]|0;n=c[(c[a>>2]|0)+(f<<2)>>2]|0;c[g>>2]=n;i=c[a+144+(j<<2)>>2]|0;d=((i&2|0)==0?0:n)+d|0;e=((i&1|0)==0?0:n)+e|0}}while(0);j=j+1|0}while((j|0)!=3);c[b>>2]=e<<5;c[b+4>>2]=d<<5;return}function ig(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;if((b&255)>15){d=0;return d|0}l=b&255;m=532496+(l*28|0)|0;k=(d|0)/72|0;i=a[3416903]|0;b=i<<24>>24==1;h=c[853966]|0;i=i<<24>>24==2;k=i|b&(k|0)<(h|0)?h:k;j=532496+(l*28|0)+8|0;c[j>>2]=c[12147];c[j+4>>2]=c[12148];c[j+8>>2]=c[12149];c[j+12>>2]=c[12150];c[j+16>>2]=c[12151];if(f<<24>>24)c[j>>2]=f&255;a:do if(!(e<<24>>24)){e=(d|0)/2|0;b=i|b&(k|0)<(h|0)?h:(d|0)/16|0;c[g>>2]=b;switch(a[3416878]|0){case 1:{c[532496+(l*28|0)+4>>2]=jg(0,32,e,j)|0;break a}case 0:break;default:break a}b=kg(e,b)|0;c[532496+(l*28|0)+4>>2]=b;if(!b){d=0;return d|0}else{lg(b,1);break}}else{c[532496+(l*28|0)+4>>2]=0;c[g>>2]=0}while(0);c[m>>2]=mg(m,d,k)|0;d=k;return d|0}function jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if(!b){b=Hy(1049280)|0;QA(b|0,0,1049280)|0}c[b+8>>2]=f;c[b+1049272>>2]=0;c[b>>2]=3;a[b+1049268>>0]=d;d=(d&255)<16;c[b+80>>2]=d?2:1;c[b+92>>2]=d?47680:47960;c[b+96>>2]=d?47680:48240;c[b+84>>2]=0;a[b+76>>0]=d?15:31;f=c[f>>2]&128;a[b+1049252>>0]=f>>>6&255^3;a[b+1049253>>0]=3;a[b+1049254>>0]=f>>>7&255^3;Eg(b);Ag(b,e);f=b+1049256|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;return b|0}function kg(a,b){a=a|0;b=b|0;var d=0;d=Hy(256)|0;if(!d){d=0;return d|0}QA(d|0,0,256)|0;lg(d,1);c[d+52>>2]=a;c[d+56>>2]=(b|0)==0?44100:b;Dg(d);c[d+144>>2]=3;c[d+148>>2]=3;c[d+152>>2]=3;return d|0}function lg(a,b){a=a|0;b=b|0;c[a>>2]=(b|0)==1?17984:18112;return}function mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=Hy(19120)|0;if(!f){f=0;return f|0}QA(f|0,0,19120)|0;ng();c[f+264>>2]=b;a[f+256>>0]=1;c[f+1388>>2]=f+17976;c[f+268>>2]=d;c[f+272>>2]=e;c[f+1344>>2]=0;c[f+1348>>2]=0;c[f+1352>>2]=48608;return f|0}function ng(){var b=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.0,x=0,z=0;b=0;do{t=b;b=b+1|0;u=~~+y(+(65536.0/+ma(+(+(b|0)*.03125*.125))));u=(u>>>4&1)+(u>>5)|0;s=u<<2;t=t<<1;c[505872+(t<<2)>>2]=s;v=t|1;c[505872+(v<<2)>>2]=0-s;s=u<<1;c[505872+(t+512<<2)>>2]=s;c[505872+(v+512<<2)>>2]=0-s;c[505872+(t+1024<<2)>>2]=u;c[505872+(v+1024<<2)>>2]=0-u;s=u>>1;c[505872+(t+1536<<2)>>2]=s;c[505872+(v+1536<<2)>>2]=0-s;s=u>>2;c[505872+(t+2048<<2)>>2]=s;c[505872+(v+2048<<2)>>2]=0-s;s=u>>3;c[505872+(t+2560<<2)>>2]=s;c[505872+(v+2560<<2)>>2]=0-s;s=u>>4;c[505872+(t+3072<<2)>>2]=s;c[505872+(v+3072<<2)>>2]=0-s;s=u>>5;c[505872+(t+3584<<2)>>2]=s;c[505872+(v+3584<<2)>>2]=0-s;s=u>>6;c[505872+(t+4096<<2)>>2]=s;c[505872+(v+4096<<2)>>2]=0-s;s=u>>7;c[505872+(t+4608<<2)>>2]=s;c[505872+(v+4608<<2)>>2]=0-s;s=u>>8;c[505872+(t+5120<<2)>>2]=s;c[505872+(v+5120<<2)>>2]=0-s;s=u>>9;c[505872+(t+5632<<2)>>2]=s;c[505872+(v+5632<<2)>>2]=0-s;u=u>>10;c[505872+(t+6144<<2)>>2]=u;c[505872+(v+6144<<2)>>2]=0-u}while((b|0)!=256);b=0;do{w=+D(+(+(b<<1|1|0)*3.141592653589793*.0009765625));v=~~(+K(+((w>0.0?1.0:-1.0)/w))*8.0/.6931471805599453*32.0*2.0);c[501776+(b<<2)>>2]=(v<<1&2)+v&-2|!(w>=0.0)&1;b=b+1|0}while((b|0)!=1024);e=0;do{f=e<<5;g=e+8|0;h=e+16|0;i=e+24|0;j=e+32|0;k=e+40|0;l=e+48|0;v=0;do{m=(v<<8)+f|0;n=(v&1|0)==0;o=(v&2|0)==0;p=(v&4|0)==0;q=(v&8|0)==0;r=(v&16|0)==0;s=(v&32|0)==0;t=(v&64|0)==0;u=0;do{if(n)b=0;else b=a[31184+(e<<3)+u>>0]|0;if(!o)b=(d[31184+(g<<3)+u>>0]|0)+(b&255)&255;if(!p)b=(d[31184+(h<<3)+u>>0]|0)+(b&255)&255;if(!q)b=(d[31184+(i<<3)+u>>0]|0)+(b&255)&255;if(!r)b=(d[31184+(j<<3)+u>>0]|0)+(b&255)&255;if(!s)b=(d[31184+(k<<3)+u>>0]|0)+(b&255)&255;if(!t)b=(d[31184+(l<<3)+u>>0]|0)+(b&255)&255;x=b&255;z=u+m|0;c[370704+(z<<2)>>2]=x;b=(u^7)+m|0;c[370704+(b+8<<2)>>2]=x;x=0-x|0;c[370704+(z+16<<2)>>2]=x;c[370704+(b+24<<2)>>2]=x;u=u+1|0}while((u|0)!=8);v=v+1|0}while((v|0)!=128);e=e+1|0}while((e|0)!=8);return}function og(b,d){b=b|0;d=d|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416878]|0){case 1:{Ag(b,d);return}case 0:{Bg(b,d);return}default:return}}function pg(b,d,e){b=b|0;d=d|0;e=e|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416878]|0){case 1:{xg(b,d,e);return}case 0:{yg(b,d,e);return}default:return}}function qg(b){b=b|0;b=c[b+4>>2]|0;a:do if(!b)b=0;else switch(a[3416878]|0){case 1:{b=vg(b)|0;break a}case 0:{b=(wg(b)|0)&255;break a}default:{b=0;break a}}while(0);return b|0}function rg(b){b=b|0;b=c[b+4>>2]|0;if(!b)return;switch(a[3416878]|0){case 1:{sg(b);return}case 0:{tg(b);return}default:return}}function sg(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+72>>2]=1;d=b+36|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+32>>2]=-1;ug(b,0,0);ug(b,1,0);ug(b,2,0);ug(b,3,0);ug(b,4,0);ug(b,5,0);ug(b,6,0);ug(b,7,0);ug(b,8,0);ug(b,9,0);ug(b,10,0);ug(b,11,0);ug(b,12,0);ug(b,13,0);c[b+4>>2]=1;if(!(a[b+1049268>>0]&32))return;a[b+1049269>>0]=1;return}function tg(b){b=b|0;var d=0,e=0;c[b+156>>2]=0;d=b+40|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[b+68>>2]=4096;c[b+92>>2]=0;c[b+104>>2]=0;c[b+80>>2]=0;c[b+72>>2]=4096;c[b+96>>2]=0;c[b+108>>2]=0;c[b+84>>2]=0;c[b+76>>2]=4096;c[b+100>>2]=0;c[b+112>>2]=0;c[b+88>>2]=0;c[b+140>>2]=0;d=b+4|0;e=d+16|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[b+252>>2]=0;c[b+204>>2]=65535;c[b+208>>2]=64;c[b+212>>2]=0;c[b+160>>2]=0;c[b+164>>2]=0;c[b+196>>2]=0;c[b+200>>2]=0;c[b+188>>2]=1;c[b+36>>2]=0;return}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;a[b+16+e>>0]=f;switch(e|0){case 7:{if((f&63|0)!=63)a[b+1049269>>0]=0;c[b+32>>2]=d[b+23>>0];return}case 13:{e=a[b+29>>0]|0;if(!(e&4))h=0;else h=a[b+76>>0]|0;a[b+70>>0]=h;g=e&255;if(!(g&8)){f=h;e=1}else{f=e&2;e=g&1}a[b+68>>0]=e;a[b+69>>0]=f;g=a[b+76>>0]|0;a[b+60>>0]=g;a[b+71>>0]=0;c[b+64>>2]=g<<24>>24^h&255;return}default:return}}function vg(b){b=b|0;var d=0,e=0;e=c[b+12>>2]|0;if((e|0)<=15){d=a[b+16+e>>0]|0;if(!(a[b+1049268>>0]&16))d=a[17968+e>>0]&d}else d=0;return d&255|0}function wg(b){b=b|0;return a[(c[b+252>>2]|0)+(b+4)>>0]|0}function xg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+12>>2]=d&15;return}b=c[a+12>>2]|0;if((b|0)>15)return;ug(a,b,d);return}function yg(a,b,d){a=a|0;b=b|0;d=d|0;if(!(b&1)){c[a+252>>2]=d&31;return}else{zg(a,c[a+252>>2]|0,d);return}}function zg(b,e,f){b=b|0;e=e|0;f=f|0;if(e>>>0>15)return;a[b+4+e>>0]=f;switch(e|0){case 5:case 3:case 1:case 4:case 2:case 0:{c[b+92+(e>>>1<<2)>>2]=(a[(e|1)+(b+4)>>0]&15)<<8|(d[(e&-2)+(b+4)>>0]|0);return}case 6:{c[b+212>>2]=(f|0)==0?1:f<<1&62;return}case 7:{c[b+116>>2]=f&1;c[b+120>>2]=f&2;c[b+124>>2]=f&4;c[b+128>>2]=f&8;c[b+132>>2]=f&16;c[b+136>>2]=f&32;return}case 10:case 9:case 8:{c[b+80+(e+-8<<2)>>2]=f<<1;return}case 12:case 11:{c[b+196>>2]=(d[b+16>>0]|0)<<8|(d[b+15>>0]|0);return}case 13:{c[b+172>>2]=f>>>3&1;e=f>>>2&1;c[b+176>>2]=e;c[b+180>>2]=f>>>1&1;c[b+184>>2]=f&1;c[b+168>>2]=e;c[b+188>>2]=0;c[b+200>>2]=65536-(c[b+196>>2]|0);c[b+164>>2]=(e|0)==0?31:0;return}default:return}}function Ag(b,d){b=b|0;d=d|0;var e=0;if((a[b+1049268>>0]&-16)<<24>>24==16?(c[c[b+8>>2]>>2]&16|0)!=0:0)d=(d|0)/2|0;e=c[b+1049272>>2]|0;if(!e)return;xa[e&31](c[b+1049276>>2]|0,(d|0)/8|0);return}function Bg(a,b){a=a|0;b=b|0;c[a+52>>2]=b;Cg(a);return}function Cg(a){a=a|0;var b=0,d=0;if(!(c[a+64>>2]|0)){b=~~(+((c[a+52>>2]|0)>>>0)*16777216.0/(+((c[a+56>>2]|0)>>>0)*8.0))>>>0;a=a+60|0;c[a>>2]=b;return}else{c[a+216>>2]=2147483648/((c[a+56>>2]|0)>>>0)|0;c[a+224>>2]=2147483648/((c[a+52>>2]|0)>>>3>>>0)|0;c[a+220>>2]=0;d=16777216;b=a+60|0;c[b>>2]=d;return}}function Dg(a){a=a|0;c[a+64>>2]=0;Cg(a);return}function Eg(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+8|0;f=a+92|0;e=a+84|0;b=a+96|0;Fg(+(c[(c[d>>2]|0)+4>>2]|0),c[f>>2]|0,a+100|0,c[e>>2]|0);Fg(+(c[(c[d>>2]|0)+4>>2]|0),c[b>>2]|0,a+292|0,0);Fg(+(c[(c[d>>2]|0)+8>>2]|0),c[f>>2]|0,a+164|0,c[e>>2]|0);Fg(+(c[(c[d>>2]|0)+8>>2]|0),c[b>>2]|0,a+420|0,0);Fg(+(c[(c[d>>2]|0)+12>>2]|0),c[f>>2]|0,a+228|0,c[e>>2]|0);Fg(+(c[(c[d>>2]|0)+12>>2]|0),c[b>>2]|0,a+548|0,0);return}function Fg(a,b,d,e){a=+a;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0.0;p=k;k=k+256|0;n=p;o=b+16|0;m=c[o>>2]|0;if((m|0)<=0){k=p;return}j=1.0/a+1.0/+h[b+8>>3];i=(e|0)!=0;g=0.0;l=10.0;e=0;do{f=1.0/+h[b+24+(e<<3)>>3];a=j+f;if(!(i&(e|0)==0)){q=1.0/+h[b>>3];f=f+q;a=a+q}q=f/a;h[n+(e<<3)>>3]=q;l=qg?q:g;e=e+1|0}while((e|0)!=(m|0));a=g-l;e=0;do{c[d+(e<<2)>>2]=~~((+h[n+(e<<3)>>3]-l)/a*16384.0/3.0);e=e+1|0}while((e|0)<(c[o>>2]|0));k=p;return}function Gg(b){b=b|0;var d=0;b=b&255;Hg(c[532496+(b*28|0)>>2]|0);b=532496+(b*28|0)+4|0;d=c[b>>2]|0;if(!d)return;switch(a[3416878]|0){case 1:{Ig(d);break}case 0:{Jg(d);break}default:{}}c[b>>2]=0;return}function Hg(a){a=a|0;Iy(a);return}function Ig(a){a=a|0;Iy(a);return}function Jg(a){a=a|0;Iy(a);return}function Kg(a){a=a|0;Lg(c[532496+((a&255)*28|0)>>2]|0);return}function Lg(a){a=a|0;var b=0,d=0;b=a+256|0;Mg(b,0,1);d=a+264|0;wa[c[(c[a+1352>>2]|0)+12>>2]&31](c[d>>2]|0);Ng(d,3);Og(b,39,48);c[a+1444>>2]=0;c[a+1440>>2]=0;Pg(d,255);Qg(d,a+17976|0,3);a=178;while(1){Rg(b,a,0);if(a>>>0>48)a=a+-1|0;else break}Rg(b,38,0);Rg(b,37,0);Rg(b,36,0);Rg(b,35,0);Rg(b,34,0);Rg(b,33,0);Rg(b,32,0);return}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;switch(d|0){case 0:{a[b+44>>0]=2;d=2;break}case 47:{a[b+44>>0]=0;d=0;break}case 45:{f=b+44|0;d=a[f>>0]|2;a[f>>0]=d;break}case 46:{f=b+44|0;d=a[f>>0]|1;a[f>>0]=d;break}default:d=a[b+44>>0]|0}f=d&3;d=M(c[18240+(f<<2)>>2]|0,e)|0;_g(b,d,d,M(c[18256+(f<<2)>>2]|0,e)|0);return}function Ng(b,c){b=b|0;c=c|0;a[b+30>>0]=c;Yf(b,0);Pg(b,0);return}function Og(b,d,e){b=b|0;d=d|0;e=e|0;switch(d|0){case 40:{d=e&3;if((d|0)==3)return;if(e&4)d=(a[b>>0]&4)==0?d:d+3|0;d=(c[b+1132>>2]|0)+((d&255)*380|0)|0;if(!(e&16))_f(d,0);else Zf(d,0);if(!(e&32))_f(d,2);else Zf(d,2);if(!(e&64))_f(d,1);else Zf(d,1);if(!(e&128)){_f(d,3);return}else{Zf(d,3);return}}case 34:{if(!(a[b>>0]&2))return;if(!(e&8)){c[b+17600>>2]=0;return}else{c[b+17600>>2]=c[b+17604+((e&7)<<2)>>2];return}}case 36:{b=b+48|0;c[b>>2]=c[b>>2]&3|e<<2;return}case 37:{b=b+48|0;c[b>>2]=c[b>>2]&1020|e&3;return}case 38:{a[b+56>>0]=e;return}case 39:{b=b+8|0;Zg(b,c[b>>2]|0,e);return}default:return}}function Pg(b,e){b=b|0;e=e|0;var f=0;f=b+31|0;e=(e^255)&d[f>>0];a[f>>0]=e;f=b+29|0;if(!(a[f>>0]|0))return;if(e&d[b+30>>0]|0)return;a[f>>0]=0;e=c[b+1084>>2]|0;if(!e)return;xa[e&31](c[b>>2]|0,0);return}function Qg(b,d,e){b=b|0;d=d|0;e=e|0;c[b+32>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;a[b+48>>0]=0;c[b+52>>2]=0;b=0;do{c[d+(b*380|0)+352>>2]=0;c[d+(b*380|0)+324>>2]=0;c[d+(b*380|0)+328>>2]=0;c[d+(b*380|0)+364>>2]=0;c[d+(b*380|0)+36>>2]=-1;c[d+(b*380|0)+72>>2]=0;c[d+(b*380|0)+32>>2]=0;a[d+(b*380|0)+68>>0]=0;a[d+(b*380|0)+69>>0]=0;a[d+(b*380|0)+40>>0]=0;c[d+(b*380|0)+48>>2]=1023;c[d+(b*380|0)+56>>2]=1023;c[d+(b*380|0)+116>>2]=-1;c[d+(b*380|0)+152>>2]=0;c[d+(b*380|0)+112>>2]=0;a[d+(b*380|0)+148>>0]=0;a[d+(b*380|0)+149>>0]=0;a[d+(b*380|0)+120>>0]=0;c[d+(b*380|0)+128>>2]=1023;c[d+(b*380|0)+136>>2]=1023;c[d+(b*380|0)+196>>2]=-1;c[d+(b*380|0)+232>>2]=0;c[d+(b*380|0)+192>>2]=0;a[d+(b*380|0)+228>>0]=0;a[d+(b*380|0)+229>>0]=0;a[d+(b*380|0)+200>>0]=0;c[d+(b*380|0)+208>>2]=1023;c[d+(b*380|0)+216>>2]=1023;c[d+(b*380|0)+276>>2]=-1;c[d+(b*380|0)+312>>2]=0;c[d+(b*380|0)+272>>2]=0;a[d+(b*380|0)+308>>0]=0;a[d+(b*380|0)+309>>0]=0;a[d+(b*380|0)+280>>0]=0;c[d+(b*380|0)+288>>2]=1023;c[d+(b*380|0)+296>>2]=1023;b=b+1|0}while((b|0)!=(e|0));return}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=d&3;if((f|0)==3)return;l=(d|0)>255?f+3|0:f;i=b+1132|0;j=c[i>>2]|0;k=j+(l*380|0)|0;f=d>>>2;g=f&3;h=j+(l*380|0)+(g*80|0)|0;do switch(((d&240)+-48|0)>>>4&268435455|0){case 0:{Sg(b+8|0,k,h,e);return}case 1:{Tg(h,e);return}case 2:{Ug(k,h,e);return}case 3:{Vg(h,e);if(!(a[b>>0]&2))return;c[j+(l*380|0)+(g*80|0)+76>>2]=e<<24>>31;return}case 4:{Wg(h,e);return}case 5:{Xg(h,e);return}case 6:{a[j+(l*380|0)+(g*80|0)+68>>0]=e&15;a[j+(l*380|0)+(g*80|0)+69>>0]=e>>>1&2;return}case 7:{switch(f&3){case 0:{k=a[b+45>>0]|0;d=((k&255)<<8&1792)+e|0;k=(k&255)>>>3;e=k&255;a[j+(l*380|0)+368>>0]=k<<2&255|a[28368+(d>>>7)>>0];c[j+(l*380|0)+364>>2]=(c[b+1200+(d<<1<<2)>>2]|0)>>>(7-e|0);c[j+(l*380|0)+372>>2]=d|e<<11;c[j+(l*380|0)+36>>2]=-1;return}case 1:{a[b+45>>0]=e&63;return}case 2:{if((d|0)>=256)return;k=a[b+1116>>0]|0;d=((k&255)<<8&1792)+e|0;k=(k&255)>>>3;e=k&255;a[b+1117+l>>0]=k<<2&255|a[28368+(d>>>7)>>0];c[b+1104+(l<<2)>>2]=(c[b+1200+(d<<1<<2)>>2]|0)>>>(7-e|0);c[b+1120+(l<<2)>>2]=d|e<<11;c[(c[i>>2]|0)+796>>2]=-1;return}case 3:{if((d|0)>=256)return;a[b+1116>>0]=e&63;return}default:{}}break}case 8:switch(f&3){case 0:{d=e>>>3&7;a[j+(l*380|0)+320>>0]=e&7;a[j+(l*380|0)+321>>0]=(d|0)==0?0:d+6&255;Yg(b,k,l);return}case 1:{if(!(a[b>>0]&2))return;c[j+(l*380|0)+356>>2]=e<<5&224;a[j+(l*380|0)+360>>0]=a[49911+(e>>>4&3)>>0]|0;d=l<<1;c[b+1136+(d<<2)>>2]=e<<24>>31;c[b+1136+((d|1)<<2)>>2]=e<<25>>31;return}default:return}default:return}while(0)}function Sg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=e&15;c[d+28>>2]=(f|0)==0?1:f<<1;c[d>>2]=a+56+((e>>>4&7)<<7);c[b+36>>2]=-1;return}function Tg(a,b){a=a|0;b=b|0;c[a+44>>2]=b<<3&1016;return}function Ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=e+4|0;i=a[j>>0]|0;g=f&31;g=(g|0)==0?0:(g<<1)+32|0;h=e+8|0;c[h>>2]=g;f=3-(f>>>6)&255;a[j>>0]=f;if(i<<24>>24!=f<<24>>24){c[b+36>>2]=-1;g=c[h>>2]|0}g=g+(d[e+24>>0]|0)|0;if(g>>>0>=94){i=-120;f=0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}i=a[17840+g>>0]|0;f=a[17712+g>>0]|0;j=e+60|0;a[j>>0]=f;j=e+61|0;a[j>>0]=i;return}function Vg(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+12>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+62>>0]=a[17712+e>>0]|0;a[b+63>>0]=a[17840+e>>0]|0;return}function Wg(b,e){b=b|0;e=e|0;e=e&31;e=(e|0)==0?0:(e<<1)+32|0;c[b+16>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+64>>0]=a[17712+e>>0]|0;a[b+65>>0]=a[17840+e>>0]|0;return}function Xg(b,e){b=b|0;e=e|0;c[b+52>>2]=c[31632+(e>>4<<2)>>2];e=(e<<2&60)+34|0;c[b+20>>2]=e;e=e+(d[b+24>>0]|0)|0;a[b+66>>0]=a[17712+e>>0]|0;a[b+67>>0]=a[17840+e>>0]|0;return}function Yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=b+17652+(e<<2)|0;e=d+332|0;f=d+336|0;g=d+340|0;i=d+348|0;switch(a[d+320>>0]|0){case 0:{c[e>>2]=b+17640;c[g>>2]=b+17648;c[f>>2]=b+17644;e=b+17636|0;break}case 1:{j=b+17648|0;c[e>>2]=j;c[g>>2]=j;c[f>>2]=b+17644;e=b+17636|0;break}case 2:{j=b+17644|0;c[e>>2]=j;c[g>>2]=b+17648;c[f>>2]=j;e=b+17636|0;break}case 3:{c[e>>2]=b+17640;c[g>>2]=b+17648;e=b+17644|0;c[f>>2]=e;break}case 4:{c[e>>2]=b+17640;c[g>>2]=h;c[f>>2]=b+17644;e=b+17648|0;break}case 5:{c[e>>2]=0;c[g>>2]=h;c[f>>2]=h;e=b+17636|0;break}case 6:{c[e>>2]=b+17640;c[g>>2]=h;c[f>>2]=h;e=b+17648|0;break}case 7:{c[e>>2]=h;c[g>>2]=h;c[f>>2]=h;e=b+17648|0;break}default:{j=d+344|0;c[j>>2]=h;return}}c[i>>2]=e;j=d+344|0;c[j>>2]=h;return}function Zg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;c[a+32>>2]=e;if(e&32|0)Pg(a,2);if(e&16|0)Pg(a,1);f=a+52|0;g=(c[f>>2]|0)==0;if(!(e&2)){if(!g?(c[f>>2]=0,j=c[a+1080>>2]|0,j|0):0)za[j&63](b,1,0,c[a+4>>2]|0)}else if(g?(h=4096-((d[a+48>>0]|0)<<4)|0,c[f>>2]=h,i=c[a+1080>>2]|0,i|0):0){j=M(c[a+24>>2]|0,h)|0;za[i&63](b,1,j,c[a+4>>2]|0)}h=a+44|0;f=(c[h>>2]|0)==0;if(!(e&1)){if(f)return;c[h>>2]=0;f=c[a+1080>>2]|0;if(!f)return;za[f&63](b,0,0,c[a+4>>2]|0);return}else{if(!f)return;g=1024-(c[a+40>>2]|0)|0;c[h>>2]=g;f=c[a+1080>>2]|0;if(!f)return;e=M(c[a+24>>2]|0,g)|0;za[f&63](b,0,e,c[a+4>>2]|0);return}}function _g(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0;i=a+8|0;g=c[a+16>>2]|0;if(!g)f=0.0;else f=+(c[a+12>>2]|0)/+(g|0)/+(b|0);b=a+24|0;h[b>>3]=f;c[a+1192>>2]=~~(f*65536.0)>>>0;c[a+1196>>2]=196608;c[a+32>>2]=d;if(e|0)xa[c[c[a+1096>>2]>>2]&31](c[i>>2]|0,(c[a+12>>2]<<1|0)/(e|0)|0);$g(i);f=+h[b>>3];b=0;do{c[a+1200+(b<<2)>>2]=~~(+(b|0)*32.0*f*64.0)>>>0;b=b+1|0}while((b|0)!=4096);c[a+17584>>2]=~~(f*131072.0*64.0)>>>0;c[a+17604>>2]=~~(f*155344.59259259258)>>>0;c[a+17608>>2]=~~(f*217885.9220779221)>>>0;c[a+17612>>2]=~~(f*236298.81690140846)>>>0;c[a+17616>>2]=~~(f*250406.20895522388)>>>0;c[a+17620>>2]=~~(f*270600.2580645161)>>>0;c[a+17624>>2]=~~(f*381300.36363636365)>>>0;c[a+17628>>2]=~~(f*2097152.0)>>>0;c[a+17632>>2]=~~(f*3355443.2)>>>0;return}function $g(a){a=a|0;var b=0,e=0.0,f=0;e=+h[a+16>>3];b=0;do{f=~~(e*(+(d[31728+b>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+56+(b<<2)>>2]=f;c[a+568+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[31728+(b+32)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+184+(b<<2)>>2]=f;c[a+696+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[31728+(b+64)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+312+(b<<2)>>2]=f;c[a+824+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);b=0;do{f=~~(e*(+(d[31728+(b+96)>>0]|0)*1024.0)*65536.0*9.5367431640625e-07);c[a+440+(b<<2)>>2]=f;c[a+952+(b<<2)>>2]=0-f;b=b+1|0}while((b|0)!=32);return}function ah(a,b,d){a=a|0;b=b|0;d=d|0;bh(c[532496+((a&255)*28|0)>>2]|0,b&1,d);return}function bh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=b+256|0;if(!(e&1)){a[b+292>>0]=f;e=f&255;if((f&255)<16){ya[c[(c[b+1352>>2]|0)+4>>2]&63](c[b+264>>2]|0,0,e);return}if((f+-45&255)>=3)return;Mg(i,e,1);return}else{g=b+264|0;h=d[b+292>>0]|0;a[b+h>>0]=f;switch((h&240)<<24>>24){case 0:{ya[c[(c[b+1352>>2]|0)+4>>2]&63](c[g>>2]|0,e,f&255);return}case 32:{Pf(c[g>>2]|0);Og(i,h,f&255);return}default:{Pf(c[g>>2]|0);Rg(i,h,f&255);return}}}}function ch(b){b=b|0;a[3416878]=(b&255)<2?b:0;return}function dh(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;eh(c[532496+(b*28|0)>>2]|0,d);b=c[532496+(b*28|0)+4>>2]|0;if(!b)return;switch(a[3416878]|0){case 1:{fh(b,e);return}case 0:{gh(b,e);return}default:return}}function eh(b,c){b=b|0;c=c|0;a[b+18352>>0]=c&1;a[b+18732>>0]=c>>>1&1;a[b+19112>>0]=c>>>2&1;return}function fh(a,b){a=a|0;b=b|0;c[a+1049256>>2]=(b&1)+-1;c[a+1049260>>2]=(b>>>1&1)+-1;c[a+1049264>>2]=(b>>>2&1)+-1;return}function gh(a,b){a=a|0;b=b|0;if(!a)return;c[a+140>>2]=b;return}function hh(b,d){b=b|0;d=d|0;b=c[532496+((b&255)*28|0)+4>>2]|0;if(!b)return;switch(a[3416878]|0){case 1:{ih(b,d);return}case 0:{jh(b,d);return}default:return}}function ih(b,c){b=b|0;c=c|0;a[b+1049252>>0]=c&3;a[b+1049253>>0]=c>>>2&3;a[b+1049254>>0]=c>>>4&3;return}function jh(a,b){a=a|0;b=b|0;if(!a)return;c[a+144>>2]=b&3;c[a+148>>2]=b>>>2&3;c[a+152>>2]=b>>>4&3;return}function kh(b,d){b=b|0;d=d|0;b=c[532496+((b&255)*28|0)+4>>2]|0;if(!((b|0)!=0&(a[3416878]|0)==1))return;lh(b,d);return}function lh(a,b){a=a|0;b=b|0;c[a+1049272>>2]=5;c[a+1049276>>2]=b;return}function mh(b,d,e){b=b|0;d=d|0;e=e|0;b=533136+((b&255)<<3)|0;switch(a[3416879]|0){case 1:{nh(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}case 0:{oh(c[b>>2]|0,c[d>>2]|0,c[d+4>>2]|0,e);return}default:return}}function nh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((f|0)<=0)return;q=b+6008|0;r=b+6012|0;s=b+184|0;t=b+368|0;h=b+552|0;i=b+736|0;j=b+920|0;k=b+5986|0;l=(a[b+1688>>0]&32)==0;m=b+1104|0;n=b+1288|0;o=b+1472|0;p=b+1716|0;g=0;do{c[q>>2]=0;c[r>>2]=0;Bh(b);Ch(b,b);Ch(b,s);Ch(b,t);Ch(b,h);Ch(b,i);Ch(b,j);do if(!(a[k>>0]|0))if(l){Ch(b,m);Ch(b,n);Ch(b,o);break}else{Dh(b,b,c[p>>2]&1);break}while(0);u=(c[r>>2]|0)+(c[q>>2]|0)|0;c[d+(g<<2)>>2]=u;c[e+(g<<2)>>2]=u;Eh(b);g=g+1|0}while((g|0)!=(f|0));return}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+16|0;m=t;if((e|0)<=0){k=t;return}n=a+308|0;o=m+4|0;p=a+8|0;q=a+12|0;r=a+16|0;s=a+36|0;i=a+28|0;j=a+40|0;l=a+32|0;h=0;do{if(!(c[n>>2]|0)){ph(a,m);c[b+(h<<2)>>2]=c[m>>2];f=c[o>>2]|0}else{g=c[p>>2]|0;f=c[q>>2]|0;if(f>>>0>>0)do{c[q>>2]=(c[r>>2]|0)+f;c[i>>2]=c[s>>2];c[l>>2]=c[j>>2];ph(a,s);g=c[p>>2]|0;f=c[q>>2]|0}while(f>>>0>>0);g=f-g|0;c[q>>2]=g;f=c[r>>2]|0;c[b+(h<<2)>>2]=~~((+(c[s>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[i>>2]|0))/+(f>>>0));f=c[r>>2]|0;g=c[q>>2]|0;f=~~((+(c[j>>2]|0)*+((f-g|0)>>>0)+ +(g>>>0)*+(c[l>>2]|0))/+(f>>>0))}c[d+(h<<2)>>2]=f;h=h+1|0}while((h|0)!=(e|0));k=t;return}function ph(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;qh(b);rh(b);h=b+296|0;i=b+304|0;e=0;do{m=b+388+(e*76|0)|0;sh(m,c[h>>2]|0);th(m,c[i>>2]|0);e=e+1|0}while((e|0)!=18);m=b+3740|0;j=0;h=0;i=0;do{do if((c[m>>2]&1<>2]|0)!=7):0){e=vh(b+388+(l*76|0)|0,uh(b+388+(k*76|0)|0)|0)|0;f=+g[b+44+(i<<3)>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+44+(i<<3)+4>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);i=i+1|0}while((i|0)!=6);if(a[b>>0]|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=c[m>>2]|0;do if((c[b+340>>2]|0)<16){if((e&64|0)==0?(c[b+1436>>2]|0)!=7:0){e=vh(b+1376|0,uh(b+1300|0)|0)|0;f=+g[b+92>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+96>>2]*n)|0;h=h+~~(f*n)|0;break}}}else if((e&8192|0)==0?(c[b+1436>>2]|0)!=7:0){e=(vh(b+1376|0,uh(b+1300|0)|0)|0)<<1;f=+g[b+116>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+120>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);i=c[m>>2]|0;do if((c[b+344>>2]|0)<16){if((i&128|0)==0?(c[b+1588>>2]|0)!=7:0){e=vh(b+1528|0,uh(b+1452|0)|0)|0;f=+g[b+100>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+104>>2]*n)|0;h=h+~~(f*n)|0;break}}}else{do if((i&512|0)==0?(c[b+1512>>2]|0)!=7:0){e=(wh(b+1452|0,c[b+1712>>2]|0,c[b+312>>2]&1)|0)<<1;f=+g[b+124>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+128>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);if((i&4096|0)==0?(c[b+1588>>2]|0)!=7:0){e=(xh(b+1528|0,c[b+312>>2]&1)|0)<<1;f=+g[b+132>>2];if(f==1.0){j=j-e|0;h=h-e|0;break}else{n=+(0-e|0);j=j+~~(+g[b+136>>2]*n)|0;h=h+~~(f*n)|0;break}}}while(0);i=c[m>>2]|0;if((c[b+348>>2]|0)<16){if(i&256|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}if((c[b+1740>>2]|0)==7){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=vh(b+1680|0,uh(b+1604|0)|0)|0;f=+g[b+108>>2];if(f==1.0){b=e+j|0;m=e+h|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}else{n=+(e|0);b=j+~~(+g[b+112>>2]*n)|0;m=h+~~(f*n)|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}}do if((i&2048|0)==0?(c[b+1664>>2]|0)!=7:0){e=(yh(b+1604|0)|0)<<1;f=+g[b+140>>2];if(f==1.0){j=e+j|0;h=e+h|0;break}else{n=+(e|0);j=j+~~(+g[b+144>>2]*n)|0;h=h+~~(f*n)|0;break}}while(0);if(i&1024|0){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}if((c[b+1740>>2]|0)==7){b=j;m=h;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}e=(zh(b+1680|0,c[b+1484>>2]|0)|0)<<1;f=+g[b+148>>2];if(f==1.0){b=j-e|0;m=h-e|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}else{n=+(0-e|0);b=j+~~(+g[b+152>>2]*n)|0;m=h+~~(f*n)|0;m=m<<3;c[d>>2]=m;b=b<<3;d=d+4|0;c[d>>2]=b;return}}function qh(a){a=a|0;var b=0,d=0,e=0;e=a+292|0;b=(c[853912]|0)+(c[e>>2]|0)&65535;c[e>>2]=b;e=a+300|0;d=(c[853913]|0)+(c[e>>2]|0)&65535;c[e>>2]=d;c[a+304>>2]=c[537504+(d>>>8<<2)>>2];c[a+296>>2]=c[538528+(b>>>8<<2)>>2];return}function rh(a){a=a|0;var b=0;b=a+312|0;a=c[b>>2]|0;if(a&1){a=a^134230048;c[b>>2]=a}c[b>>2]=a>>>1;return}function sh(a,b){a=a|0;b=b|0;var d=0;d=c[a+28>>2]|0;if(!(c[(c[a>>2]|0)+44>>2]|0)){b=a+24|0;d=(c[b>>2]|0)+d|0;c[b>>2]=d}else{d=(M(d,b)|0)>>>8;b=a+24|0;d=(c[b>>2]|0)+d|0;c[b>>2]=d}d=d&262143;c[b>>2]=d;c[a+32>>2]=d>>>9;return}function th(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=a+60|0;a:do switch(c[j>>2]|0){case 1:{e=a+64|0;i=c[e>>2]|0;f=b[535200+(i>>>15<<1)>>1]|0;g=a+68|0;i=(c[g>>2]|0)+i|0;c[e>>2]=i;if((i&4194304|0)==0?(c[(c[a>>2]|0)+16>>2]|0)!=15:0){e=f&65535;break a}c[e>>2]=0;c[j>>2]=2;c[g>>2]=Ah(a)|0;e=0;break}case 2:{f=a+64|0;k=c[f>>2]|0;e=k>>>15;g=a+68|0;k=(c[g>>2]|0)+k|0;c[f>>2]=k;h=c[a>>2]|0;i=c[18272+(c[h+24>>2]<<2)>>2]|0;if(k>>>0>=i>>>0){k=(c[h+8>>2]|0)==0;c[f>>2]=i;if(k){c[j>>2]=4;c[g>>2]=Ah(a)|0;break a}else{c[j>>2]=3;c[g>>2]=Ah(a)|0;break a}}break}case 3:{e=(c[a+64>>2]|0)>>>15;if(!(c[(c[a>>2]|0)+8>>2]|0)){c[j>>2]=4;c[a+68>>2]=Ah(a)|0}break}case 5:case 4:{k=a+64|0;e=c[k>>2]|0;c[k>>2]=(c[a+68>>2]|0)+e;if(e>>>0>4194303){c[j>>2]=7;e=127}else e=e>>>15;break}case 6:{k=a+64|0;e=c[k>>2]|0;f=a+68|0;c[k>>2]=(c[f>>2]|0)+e;if(e>>>0>4194303){c[j>>2]=1;c[f>>2]=Ah(a)|0;e=127}else e=e>>>15;break}default:e=127}while(0);k=((c[a+52>>2]|0)+e<<1)+((c[(c[a>>2]|0)+40>>2]|0)==0?0:d)|0;c[a+72>>2]=(k>>>0<255?k:255)|3;return}function uh(a){a=a|0;var d=0,f=0,g=0,h=0;f=a+12|0;g=c[f>>2]|0;c[a+16>>2]=g;h=c[a+72>>2]|0;if(h>>>0>254){h=0;c[f>>2]=h;h=h+g|0;h=h>>1;g=a+8|0;c[g>>2]=h;return h|0}d=c[(c[a>>2]|0)+4>>2]|0;if(!d)d=(c[a+20>>2]|0)+(c[a+32>>2]<<1)|0;else d=(c[a+20>>2]|0)+(((c[a+32>>2]|0)+(c[a+8>>2]<<2>>7-d)&511)<<1)|0;h=b[533152+(h+(e[d>>1]|0)<<1)>>1]|0;c[f>>2]=h;h=h+g|0;h=h>>1;g=a+8|0;c[g>>2]=h;return h|0}function vh(a,d){a=a|0;d=d|0;var f=0;f=c[a+72>>2]|0;if(f>>>0>254)d=0;else d=b[533152+(f+(e[(c[a+20>>2]|0)+(((c[a+32>>2]|0)+(d<<3)&511)<<1)>>1]|0)<<1)>>1]|0;c[a+12>>2]=d;f=a+16|0;a=d+(c[f>>2]|0)>>1;c[f>>2]=a;return a|0}function wh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0;f=c[a+72>>2]|0;if(f>>>0>254){f=0;return f|0}a=c[a+32>>2]|0;e=(e|0)!=0;f=b[533152+((((a>>>1^a>>>8|a>>>2)&1|0)==((d>>>4&1^1)&d>>>2|0)?(e?64:128):e?576:640)+f<<1)>>1]|0;return f|0}function xh(a,d){a=a|0;d=d|0;var e=0;e=c[a+72>>2]|0;if(e>>>0>254){e=0;return e|0}d=(d|0)!=0;e=b[533152+(e+((c[a+32>>2]&128|0)==0?(d?512:592):d?0:80)<<1)>>1]|0;return e|0}function yh(a){a=a|0;var d=0;d=c[a+72>>2]|0;if(d>>>0>254){d=0;return d|0}d=b[533152+(d+(e[(c[a+20>>2]|0)+(c[a+32>>2]<<1)>>1]|0)<<1)>>1]|0;return d|0}function zh(a,d){a=a|0;d=d|0;var e=0;e=c[a+72>>2]|0;if(e>>>0>254){e=0;return e|0}a=c[a+32>>2]|0;e=b[533152+((((d>>>1^d>>>8|d>>>2)&1|0)==((a>>>4&1^1)&a>>>2|0)?16:528)+e<<1)>>1]|0;return e|0}function Ah(a){a=a|0;var b=0;switch(c[a+60>>2]|0){case 1:{b=c[535456+(c[(c[a>>2]|0)+16>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 2:{b=c[536480+(c[(c[a>>2]|0)+20>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 6:{b=c[134360]|0;return b|0}case 4:{b=c[536480+(c[(c[a>>2]|0)+28>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}case 5:{if(c[a+48>>2]|0){b=c[536800+(c[a+56>>2]<<2)>>2]|0;return b|0}b=c[a>>2]|0;if(!(c[b+8>>2]|0)){b=c[536928+(c[a+56>>2]<<2)>>2]|0;return b|0}else{b=c[536480+(c[b+28>>2]<<6)+(c[a+56>>2]<<2)>>2]|0;return b|0}}default:{b=0;return b|0}}return 0}function Bh(a){a=a|0;var b=0,e=0;b=a+1700|0;e=(c[b>>2]|0)+(c[a+1704>>2]|0)|0;e=e>>>0>3523215359?e+771751936|0:e;c[b>>2]=e;c[a+1692>>2]=(d[32112+(e>>>24)>>0]|0)>>>1;e=a+1708|0;b=(c[e>>2]|0)+(c[a+1712>>2]|0)|0;c[e>>2]=b;c[a+1696>>2]=b>>>24&7;return}function Ch(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;if(a[d+182>>0]|0)return;h=b+1692|0;e=(c[d+48>>2]|0)+(c[d+44>>2]|0)+(c[d+72>>2]&c[h>>2])|0;j=d+28|0;f=c[j>>2]|0;g=d+32|0;i=c[g>>2]|0;c[j>>2]=i;c[g>>2]=0;if(e>>>0<176){j=a[d+24>>0]|0;c[g>>2]=Fh(c[d+16>>2]|0,e,(j<<24>>24==0?0:i+f|0)<<(j&255),c[d+80>>2]|0)|0}f=b+6016|0;c[f>>2]=0;e=(c[d+132>>2]|0)+(c[d+128>>2]|0)+(c[d+156>>2]&c[h>>2])|0;if(e>>>0>=176)return;j=Gh(c[d+100>>2]|0,e,i,c[d+164>>2]|0)|0;i=b+6008|0;c[i>>2]=(c[i>>2]|0)+j;c[f>>2]=j;return}function Dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=b+1692|0;f=(c[d+1152>>2]|0)+(c[d+1148>>2]|0)+(c[d+1176>>2]&c[i>>2])|0;k=d+1132|0;g=c[k>>2]|0;h=d+1136|0;j=c[h>>2]|0;c[k>>2]=j;c[h>>2]=0;if(f>>>0<176){k=a[d+1128>>0]|0;c[h>>2]=Fh(c[d+1120>>2]|0,f,(k<<24>>24==0?0:j+g|0)<<(k&255),c[d+1184>>2]|0)|0}g=c[i>>2]|0;f=(c[d+1236>>2]|0)+(c[d+1232>>2]|0)+(c[d+1260>>2]&g)|0;if(f>>>0<176?(a[b+1665>>0]|0)==0:0){j=(Gh(c[d+1204>>2]|0,f,j,c[d+1268>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+j}f=(c[b+1336>>2]|0)+(c[b+1332>>2]|0)+(c[b+1360>>2]&g)|0;if(f>>>0<176?(a[b+1669>>0]|0)==0:0){j=c[b+1304>>2]|0;k=c[b+1572>>2]|0;j=((k>>>21|j>>>19|k>>>19|j>>>18^j>>>23)&1|0)==0?208:564;k=(e|0)!=0;j=(Gh(((j&512|0)==0?(k?52:j):k?720:j)<<16,f,0,c[b+1368>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+j}f=(c[b+1420>>2]|0)+(c[b+1416>>2]|0)+(c[b+1444>>2]&g)|0;if(f>>>0<176?(a[b+1666>>0]|0)==0:0){k=(c[b+1304>>2]&16777216)+16777216|0;e=(Gh((e|0)==0?k:k^16777216,f,0,c[b+1452>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e}f=(c[b+1520>>2]|0)+(c[b+1516>>2]|0)+(c[b+1544>>2]&g)|0;if(f>>>0<176?(a[b+1667>>0]|0)==0:0){e=(Gh(c[b+1488>>2]|0,f,0,c[b+1552>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e}f=(c[b+1604>>2]|0)+(c[b+1600>>2]|0)+(c[b+1628>>2]&g)|0;if(f>>>0>=176)return;if(a[b+1668>>0]|0)return;e=c[b+1304>>2]|0;k=c[b+1572>>2]|0;e=(Gh(((k>>>19|k>>>21)&1|0)==0?(e>>>18^e>>>23|e>>>19)<<25&33554432|16777216:50331648,f,0,c[b+1636>>2]|0)|0)<<1;k=b+6012|0;c[k>>2]=(c[k>>2]|0)+e;return}function Eh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=b+1676|0;f=(c[m>>2]|0)+(c[b+1680>>2]|0)|0;c[m>>2]=f;p=b+1684|0;e=c[p>>2]|0;if(f>>>0>=e>>>0){q=b+1672|0;l=b+1688|0;do{c[m>>2]=f-e;c[q>>2]=(c[q>>2]|0)+1;h=0;do{i=h>>>1;j=h&1;k=b+(i*184|0)+(j*84|0)+37|0;a:do switch(a[k>>0]|0){case 5:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+56>>0]|0;if(((1<>2]|0)+(d[31856+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+57>>0]|0))>>0]|0)|0,c[n>>2]=g,(g|0)>254):0){c[n>>2]=255;a[k>>0]=4;c[b+(i*184|0)+(j*84|0)+16>>2]=0}break}case 4:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+58>>0]|0;if(((1<>2]|0,j=((M(d[31856+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+59>>0]|0))>>0]|0,~g)|0)>>2)+g|0,c[o>>2]=j,(j|0)<1):0){c[o>>2]=0;a[k>>0]=3}break}case 3:{e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+60>>0]|0;if(((1<>2]|0)+(d[31856+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+61>>0]|0))>>0]|0)|0,c[t>>2]=g,g>>>0>=(c[b+(i*184|0)+(j*84|0)+52>>2]|0)>>>0):0)a[k>>0]=2;break}case 2:{if((a[b+(i*184|0)+(j*84|0)+36>>0]|0)==0?(r=c[q>>2]|0,s=d[b+(i*184|0)+(j*84|0)+62>>0]|0,((1<>2]|0)+(d[31856+((r>>>s&7)+(d[b+(i*184|0)+(j*84|0)+63>>0]|0))>>0]|0)|0;c[t>>2]=(k|0)<255?k:255}break}case 1:{if((j|0)==0?!(h>>>0>11&(a[l>>0]&32)!=0):0)break a;if(!(a[b+(i*184|0)+(j*84|0)+36>>0]|0)){e=c[q>>2]|0;f=d[b+(i*184|0)+(j*84|0)+64>>0]|0;if((1<>2]|0)+(d[31856+((e>>>f&7)+(d[b+(i*184|0)+(j*84|0)+65>>0]|0))>>0]|0)|0;c[g>>2]=t;if((t|0)<=254)break a;c[g>>2]=255;a[k>>0]=0;break a}g=c[q>>2]|0;if(!(a[b+(i*184|0)+181>>0]|0)){e=d[b+(i*184|0)+(j*84|0)+62>>0]|0;if((1<>2]|0)+(d[31856+((g>>>e&7)+(d[b+(i*184|0)+(j*84|0)+63>>0]|0))>>0]|0)|0;c[f>>2]=t;if((t|0)<=254)break a;c[f>>2]=255;a[k>>0]=0;break a}else{e=d[b+(i*184|0)+(j*84|0)+64>>0]|0;if((1<>2]|0)+(d[31856+((g>>>e&7)+(d[b+(i*184|0)+(j*84|0)+65>>0]|0))>>0]|0)|0;c[f>>2]=t;if((t|0)<=254)break a;c[f>>2]=255;a[k>>0]=0;break a}}default:{}}while(0);h=h+1|0}while((h|0)!=18);f=c[m>>2]|0;e=c[p>>2]|0}while(f>>>0>=e>>>0)}k=b+1696|0;j=0;do{h=j>>>1;i=j&1;do if(a[b+(h*184|0)+(i*84|0)+76>>0]|0){e=c[b+(h*184|0)+168>>2]|0;f=a[18336+((e>>>3&56)+(c[k>>2]|0))>>0]|0;if(!(f<<24>>24)){g=b+(h*184|0)+(i*84|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*184|0)+(i*84|0)+20|0;break}else{g=(e<<1)+(f<<24>>24)|0;e=b+(h*184|0)+(i*84|0)+16|0;f=e;g=M((c[b+1888+((g&1023)<<2)>>2]|0)>>>(g>>>10&7^7),d[b+(h*184|0)+(i*84|0)+15>>0]|0)|0;break}}else{g=b+(h*184|0)+(i*84|0)+16|0;f=g;g=c[g>>2]|0;e=b+(h*184|0)+(i*84|0)+20|0}while(0);c[f>>2]=g+(c[e>>2]|0);j=j+1|0}while((j|0)!=18);t=b+1720|0;s=(c[t>>2]|0)+(c[b+1724>>2]|0)|0;e=s>>>16;c[t>>2]=s&65535;if(!e)return;g=b+1716|0;f=c[g>>2]|0;do{t=f>>>1;f=(f&1|0)==0?t:t^4194689;e=e+-1|0}while((e|0)!=0);c[g>>2]=f;return}function Fh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[539552+((((a&67043328)+d|0)>>>16&1023)+e<<2)>>2]|0)+(b<<5)|0;if(a>>>0>5631){e=0;return e|0}e=c[547744+(a<<2)>>2]|0;return e|0}function Gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[539552+((((d<<17)+(a&67043328)|0)>>>16&1023)+e<<2)>>2]|0)+(b<<5)|0;if(a>>>0>5631){e=0;return e|0}e=c[547744+(a<<2)>>2]|0;return e|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((b&255)>1){f=0;return f|0}f=b&255;e=533136+(f<<3)|0;f=533136+(f<<3)+4|0;a[f>>0]=d>>>31;b=d&2147483647;d=(b>>>0)/72|0;h=a[3416903]|0;g=c[853966]|0;d=h<<24>>24==2|h<<24>>24==1&(d|0)<(g|0)?g:d;switch(a[3416879]|0){case 1:{b=Ih(b,d)|0;c[e>>2]=b;if(!b){h=0;return h|0}Jh(b,a[f>>0]|0);Lh(c[e>>2]|0,e);h=d;return h|0}case 0:{b=Mh(b,d)|0;c[e>>2]=b;if(!b){h=0;return h|0}Nh(b,a[f>>0]|0);if(!(a[f>>0]|0)){h=d;return h|0}Oh(c[e>>2]|0);h=d;return h|0}default:{h=d;return h|0}}return 0}function Ih(a,b){a=a|0;b=b|0;return Ki(a,b)|0}function Jh(b,c){b=b|0;c=c|0;a[b+5986>>0]=c;return}function Kh(b,d){b=b|0;d=d|0;switch(a[3416879]|0){case 1:{nh(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}case 0:{oh(c[b>>2]|0,c[853958]|0,c[853959]|0,0);return}default:return}}function Lh(a,b){a=a|0;b=b|0;Ji(a,b);return}function Mh(a,b){a=a|0;b=b|0;var d=0,e=0;Qh(a,b);a=Jy()|0;if(!a){e=0;return e|0}b=a+1756|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1808|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1860|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1912|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+1964|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2016|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2068|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2120|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2172|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2224|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2276|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2328|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2380|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2432|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2484|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2536|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2588|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2640|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2692|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2744|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2796|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2848|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2900|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+2952|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3004|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3056|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3108|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3160|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3212|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3264|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3316|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3368|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3420|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3472|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3524|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3576|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3628|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=a+3680|0;d=3415656;e=b+52|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Rh(a+44|0);Rh(a+52|0);Rh(a+60|0);Rh(a+68|0);Rh(a+76|0);Rh(a+84|0);Rh(a+92|0);Rh(a+100|0);Rh(a+108|0);Rh(a+116|0);Rh(a+124|0);Rh(a+132|0);Rh(a+140|0);Rh(a+148|0);c[a+3740>>2]=0;Sh(a);Th(a);e=a;return e|0}function Nh(b,c){b=b|0;c=c|0;a[b>>0]=c;return}function Oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=k;k=k+112|0;d=h;e=d+52|0;b=0;do{Ph(18400+(b<<3)|0,d);f=b<<1;g=a+1756+(f*52|0)|0;i=d;j=g+52|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=a+1756+((f|1)*52|0)|0;i=e;j=g+52|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=b+1|0}while((b|0)!=19);k=h;return}function Ph(b,e){b=b|0;e=e|0;var f=0,g=0;c[e+40>>2]=(d[b>>0]|0)>>>7;f=b+1|0;c[e+92>>2]=(d[f>>0]|0)>>>7;c[e+44>>2]=(d[b>>0]|0)>>>6&1;c[e+96>>2]=(d[f>>0]|0)>>>6&1;c[e+8>>2]=(d[b>>0]|0)>>>5&1;c[e+60>>2]=(d[f>>0]|0)>>>5&1;c[e+32>>2]=(d[b>>0]|0)>>>4&1;c[e+84>>2]=(d[f>>0]|0)>>>4&1;c[e+12>>2]=a[b>>0]&15;c[e+64>>2]=a[f>>0]&15;f=b+2|0;c[e+36>>2]=(d[f>>0]|0)>>>6;g=b+3|0;c[e+88>>2]=(d[g>>0]|0)>>>6;c[e>>2]=a[f>>0]&63;c[e+4>>2]=a[g>>0]&7;c[e+48>>2]=(d[g>>0]|0)>>>3&1;c[e+100>>2]=(d[g>>0]|0)>>>4&1;g=b+4|0;c[e+16>>2]=(d[g>>0]|0)>>>4;f=b+5|0;c[e+68>>2]=(d[f>>0]|0)>>>4;c[e+20>>2]=a[g>>0]&15;c[e+72>>2]=a[f>>0]&15;f=b+6|0;c[e+24>>2]=(d[f>>0]|0)>>>4;b=b+7|0;c[e+76>>2]=(d[b>>0]|0)>>>4;c[e+28>>2]=a[f>>0]&15;c[e+80>>2]=a[b>>0]&15;return}function Qh(a,b){a=a|0;b=b|0;if((c[12157]|0)!=(a|0)){c[12157]=a;ti();ui();vi();wi();xi();yi();zi();Ai()}if((c[12156]|0)==(b|0))return;c[12156]=b;Bi();return}function Rh(a){a=a|0;g[a+4>>2]=1.0;g[a>>2]=1.0;return}function Sh(b){b=b|0;var d=0;if(!b)return;a[b+1>>0]=0;c[b+4>>2]=0;c[b+292>>2]=0;c[b+300>>2]=0;c[b+312>>2]=65535;Vh(b+388|0,0);Vh(b+464|0,1);Vh(b+540|0,0);Vh(b+616|0,1);Vh(b+692|0,0);Vh(b+768|0,1);Vh(b+844|0,0);Vh(b+920|0,1);Vh(b+996|0,0);Vh(b+1072|0,1);Vh(b+1148|0,0);Vh(b+1224|0,1);Vh(b+1300|0,0);Vh(b+1376|0,1);Vh(b+1452|0,0);Vh(b+1528|0,1);Vh(b+1604|0,0);Vh(b+1680|0,1);c[b+352>>2]=0;Wh(b,0,0);c[b+356>>2]=0;Wh(b,1,0);c[b+360>>2]=0;Wh(b,2,0);c[b+364>>2]=0;Wh(b,3,0);c[b+368>>2]=0;Wh(b,4,0);c[b+372>>2]=0;Wh(b,5,0);c[b+376>>2]=0;Wh(b,6,0);c[b+380>>2]=0;Wh(b,7,0);c[b+384>>2]=0;Wh(b,8,0);d=0;do{Xh(b,d,0);d=d+1|0}while((d|0)!=64);c[b+8>>2]=2147483648/((c[12156]|0)>>>0)|0;c[b+16>>2]=2147483648/((((c[12157]|0)>>>0)/72|0)>>>0)|0;c[b+12>>2]=0;b=b+28|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;return}function Th(a){a=a|0;var b=0;b=0;do{Uh(a,b,570272+(b*52|0)|0);b=b+1|0}while((b|0)!=38);return}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+1756+(b*52|0)|0;a=d;b=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(b|0));return}function Vh(a,b){a=a|0;b=b|0;c[a+4>>2]=b;c[a+20>>2]=965600;c[a+24>>2]=0;c[a+28>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+8>>2]=0;c[a+60>>2]=7;c[a+64>>2]=4194304;c[a+68>>2]=0;b=a+32|0;c[a+72>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[a>>2]=3415656;return}function Wh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+316+(b<<2)>>2]=d;e=d<<1;d=b<<1;c[a+388+(d*76|0)>>2]=a+1756+(e*52|0);c[a+388+((d|1)*76|0)>>2]=a+1756+((e|1)*52|0);return} +function qw(b){b=b|0;var d=0;d=b&255;b=0;do{a[3066384+(d*11480|0)+4848+(b*136|0)+64>>0]=0;c[3066384+(d*11480|0)+4848+(b*136|0)+68>>2]=0;b=b+1|0}while((b|0)!=48);c[3066384+(d*11480|0)+11444>>2]=0;a[3066384+(d*11480|0)+11448>>0]=0;a[3066384+(d*11480|0)+11449>>0]=0;return}function rw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3066384+(a*11480|0)+11464|0;if((c[g>>2]|0)!=(b|0)){i=3066384+(a*11480|0)+11460|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[3066384+(a*11480|0)+11460>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function sw(b,c){b=b|0;c=c|0;b=b&255;a[3066384+(b*11480|0)+11378>>0]=c&1;a[3066384+(b*11480|0)+11381>>0]=c>>>1&1;a[3066384+(b*11480|0)+11384>>0]=c>>>2&1;a[3066384+(b*11480|0)+11387>>0]=c>>>3&1;a[3066384+(b*11480|0)+11390>>0]=c>>>4&1;a[3066384+(b*11480|0)+11393>>0]=c>>>5&1;a[3066384+(b*11480|0)+11396>>0]=c>>>6&1;a[3066384+(b*11480|0)+11399>>0]=c>>>7&1;a[3066384+(b*11480|0)+11402>>0]=c>>>8&1;a[3066384+(b*11480|0)+11405>>0]=c>>>9&1;a[3066384+(b*11480|0)+11408>>0]=c>>>10&1;a[3066384+(b*11480|0)+11411>>0]=c>>>11&1;return}function tw(d){d=d|0;var e=0;e=d+44|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;b[e+12>>1]=0;e=d+60|0;c[e>>2]=0;c[e+4>>2]=0;c[d+28>>2]=511;a[d+70>>0]=0;c[d+36>>2]=0;c[d+32>>2]=0;c[d+40>>2]=65015;a[d+69>>0]=0;a[d+68>>0]=0;b[d+24>>1]=0;b[d+22>>1]=0;b[d+20>>1]=0;return}function uw(b){b=b|0;if(a[b+68>>0]|0)return 1;if(a[b+140>>0]|0)return 1;if(a[b+212>>0]|0)return 1;if(a[b+284>>0]|0)return 1;if(a[b+356>>0]|0)return 1;if(a[b+428>>0]|0)return 1;if(a[b+500>>0]|0)return 1;if(a[b+572>>0]|0)return 1;if(a[b+644>>0]|0)return 1;if(a[b+716>>0]|0)return 1;if(a[b+788>>0]|0)return 1;if(a[b+860>>0]|0)return 1;if(a[b+932>>0]|0)return 1;if(a[b+1004>>0]|0)return 1;if(a[b+1076>>0]|0)return 1;if(a[b+1148>>0]|0)return 1;if(a[b+1220>>0]|0)return 1;if(a[b+1292>>0]|0)return 1;if(a[b+1364>>0]|0)return 1;if(a[b+1436>>0]|0)return 1;if(a[b+1508>>0]|0)return 1;if(a[b+1580>>0]|0)return 1;if(!(a[b+1652>>0]|0))return (a[b+1724>>0]|0)!=0|0;else return 1;return 0}function vw(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=d&255;s=3250064+(r*6148|0)|0;if(a[3250064+(r*6148|0)+6144>>0]|0){h=f+4|0;Zd(c[3250064+(r*6148|0)+6140>>2]|0,c[f>>2]|0,c[h>>2]|0,g);i=(c[3250064+(r*6148|0)+1788+((c[14720+(c[3250064+(r*6148|0)+1744>>2]<<2)>>2]|0)+-8<<2)>>2]|0)*362>>8;j=(c[3250064+(r*6148|0)+1788+((c[14720+(c[3250064+(r*6148|0)+1748>>2]<<2)>>2]|0)+-8<<2)>>2]|0)*362>>8;if(g|0){d=0;do{q=(c[f>>2]|0)+(d<<2)|0;c[q>>2]=(M(c[q>>2]|0,i)|0)>>15;q=(c[h>>2]|0)+(d<<2)|0;c[q>>2]=(M(c[q>>2]|0,j)|0)>>15;d=d+1|0}while((d|0)!=(g|0))}}else{q=g<<2;QA(c[f>>2]|0,0,q|0)|0;QA(c[f+4>>2]|0,0,q|0)|0}if(!(uw(s)|0))return;k=c[14720+(c[3250064+(r*6148|0)+1752>>2]<<2)>>2]|0;l=c[14720+(c[3250064+(r*6148|0)+1756>>2]<<2)>>2]|0;if(!g)return;m=f+4|0;j=0;do{i=0;do{n=3250064+(r*6148|0)+(i*72|0)|0;if(a[3250064+(r*6148|0)+(i*72|0)+68>>0]|0?(a[3250064+(r*6148|0)+(i*72|0)+71>>0]|0)==0:0){o=3250064+(r*6148|0)+(i*72|0)+22|0;p=3250064+(r*6148|0)+(i*72|0)+16|0;y=c[p>>2]|0;d=M(65536-y|0,b[o>>1]|0)|0;q=3250064+(r*6148|0)+(i*72|0)+24|0;d=(M(y,b[q>>1]|0)|0)+d|0;y=(c[3250064+(r*6148|0)+(i*72|0)+28>>2]>>2)+(a[3250064+(r*6148|0)+(i*72|0)+51>>0]|0)|0;y=y+(ww(n)|0)|0;x=a[3250064+(r*6148|0)+(i*72|0)+52>>0]|0;h=y+l+(c[14656+(x<<2)>>2]|0)&1023;d=d>>16;y=(M(c[3250064+(r*6148|0)+1788+(((c[14592+(x<<2)>>2]|0)+k+y&1023)<<2)>>2]|0,d)|0)>>17;x=(c[f>>2]|0)+(j<<2)|0;c[x>>2]=(c[x>>2]|0)+y;d=(M(c[3250064+(r*6148|0)+1788+(h<<2)>>2]|0,d)|0)>>17;h=(c[m>>2]|0)+(j<<2)|0;c[h>>2]=(c[h>>2]|0)+d;if((a[3250064+(r*6148|0)+(i*72|0)+70>>0]|0)!=0?(t=a[3250064+(r*6148|0)+(i*72|0)+54>>0]|0,t<<24>>24!=0):0){d=a[3250064+(r*6148|0)+(i*72|0)+48>>0]|0;d=(d&8|0)==0?d:d|-8;h=(b[3250064+(r*6148|0)+(i*72|0)+46>>1]|1024)<<16>>16;h=(xw(c[3250064+(r*6148|0)+(i*72|0)+36>>2]|0,c[3250064+(r*6148|0)+(i*72|0)+40>>2]|0,t)|0)+h|0;d=(d|0)>-6?h<>>(-5-d|0);h=p}else{d=c[p>>2]|0;h=3250064+(r*6148|0)+(i*72|0)+12|0}d=d+(c[h>>2]|0)|0;c[p>>2]=d;if(d>>>0>65535?(b[o>>1]=b[q>>1]|0,b[q>>1]=yw(s,n)|0,u=3250064+(r*6148|0)+(i*72|0)+20|0,v=(d>>>16)+(e[u>>1]|0)|0,b[u>>1]=v,c[p>>2]=d&65535,w=c[3250064+(r*6148|0)+(i*72|0)+8>>2]|0,(v&65535)>>>0>w>>>0):0)b[u>>1]=v+65535-w+(c[3250064+(r*6148|0)+(i*72|0)+4>>2]|0)}i=i+1|0}while((i|0)!=24);zw(s);j=j+1|0}while((j|0)!=(g|0));return}function ww(b){b=b|0;var d=0;if(!(a[b+70>>0]|0)){d=0;return d|0}d=a[b+55>>0]|0;if(!(d<<24>>24)){d=0;return d|0}d=(M(c[14944+(d<<24>>24<<2)>>2]|0,(c[b+36>>2]<<8|0)/(c[b+40>>2]|0)|0)|0)>>12;return d|0}function xw(a,b,d){a=a|0;b=b|0;d=d|0;return (M(c[14912+(d<<24>>24<<2)>>2]|0,(a<<8|0)/(b|0)|0)|0)>>24|0}function yw(f,g){f=f|0;g=g|0;var h=0;switch(a[g+67>>0]|0){case 0:{g=((Bw(f,(c[g>>2]|0)+(e[g+20>>1]|0)|0)|0)&255)<<8&65535;return g|0}case 1:{h=b[g+20>>1]|0;f=Cw(f,(((h&65535)>>>1&65535)*3|0)+(c[g>>2]|0)|0)|0;if(!(h&1)){h=(d[f>>0]<<8|a[f+1>>0]&-16&255)&65535;return h|0}else{h=(d[f+1>>0]<<4&240|d[f+2>>0]<<8)&65535;return h|0}}case 2:{h=Cw(f,(e[g+20>>1]<<1)+(c[g>>2]|0)|0)|0;h=(d[h>>0]<<8|d[h+1>>0])&65535;return h|0}default:{h=0;return h|0}}return 0}function zw(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=b+1728|0;c[l>>2]=(c[l>>2]|0)+1;k=0;do{j=b+(k*72|0)|0;do if(a[b+(k*72|0)+70>>0]|0){i=b+(k*72|0)+32|0;e=(c[i>>2]|0)+1|0;c[i>>2]=e;f=c[b+(k*72|0)+40>>2]|0;if((e|0)<(f|0)){i=b+(k*72|0)+36|0;c[i>>2]=(c[i>>2]|0)+1;break}g=b+(k*72|0)+36|0;h=c[g>>2]|0;if((e|0)<(f*3|0)){c[g>>2]=h+-1;break}c[g>>2]=h+1;if((e|0)==(f<<2|0))c[i>>2]=0}while(0);f=b+(k*72|0)+69|0;a:do switch(a[f>>0]|0){case 4:{e=(Aw(j,a[b+(k*72|0)+56>>0]|0)|0)&255;if((e>>>0>=4?(v=c[l>>2]|0,w=d[14816+e>>0]|0,((1<>2]|0,j=((M(d[31856+((v>>>w&7)+(d[14752+e>>0]|0))>>0]|0,~j)|0)>>4)+j|0,c[x>>2]=j,(j|0)<1):0){c[x>>2]=0;if(!(c[b+(k*72|0)+60>>2]|0)){a[f>>0]=2;break a}else{a[f>>0]=3;break a}}break}case 3:{e=(Aw(j,a[b+(k*72|0)+57>>0]|0)|0)&255;if(e>>>0>=4?(y=c[l>>2]|0,z=d[14816+e>>0]|0,((1<>2]|0)+(d[31856+((y>>>z&7)+(d[14752+e>>0]|0))>>0]|0)|0;c[j>>2]=e;if(e>>>0>192?a[b+(k*72|0)+49>>0]|0:0){a[f>>0]=5;break a}if((e|0)>=(c[b+(k*72|0)+60>>2]|0))a[f>>0]=2}break}case 2:{e=(Aw(j,a[b+(k*72|0)+64>>0]|0)|0)&255;if((e>>>0>=4?(m=c[l>>2]|0,n=d[14816+e>>0]|0,((1<>2]|0)+(d[31856+((m>>>n&7)+(d[14752+e>>0]|0))>>0]|0)|0,c[o>>2]=p,p>>>0>192):0){if(a[b+(k*72|0)+49>>0]|0){a[f>>0]=5;break a}if((p|0)>510){c[o>>2]=511;a[b+(k*72|0)+68>>0]=0}}break}case 1:{e=(Aw(j,a[b+(k*72|0)+66>>0]|0)|0)&255;if((e>>>0>=4?(q=c[l>>2]|0,r=d[14816+e>>0]|0,((1<>2]|0)+(d[31856+((q>>>r&7)+(d[14752+e>>0]|0))>>0]|0)|0,c[s>>2]=t,t>>>0>192):0){if(a[b+(k*72|0)+49>>0]|0){a[f>>0]=5;break a}if((t|0)>510){c[s>>2]=511;a[b+(k*72|0)+68>>0]=0}}break}case 5:{e=(Aw(j,5)|0)&255;f=c[l>>2]|0;g=d[14816+e>>0]|0;if(((1<>2]|0)+(d[31856+((f>>>g&7)+(d[14752+e>>0]|0))>>0]|0)|0,c[u>>2]=j,(j|0)>510):0){c[u>>2]=511;a[b+(k*72|0)+68>>0]=0}break}case 6:{e=b+(k*72|0)+28|0;j=(c[e>>2]|0)+(d[31856+(c[l>>2]&7|64)>>0]|0)|0;c[e>>2]=j;if((j|0)>510){c[e>>2]=511;a[b+(k*72|0)+68>>0]=0}break}default:{}}while(0);k=k+1|0}while((k|0)!=24);return}function Aw(b,c){b=b|0;c=c|0;var d=0,f=0;switch(c|0){case 15:{d=63;return d|0}case 0:{d=0;return d|0}default:{d=a[b+65>>0]|0;if(d<<24>>24==15)b=c<<2;else{f=a[b+48>>0]|0;d=((f&8|0)==0?f:f|-8)+(d<<24>>24)|0;d=(d|0)<15?d:15;b=(((d|0)>0?d:0)<<1|(e[b+46>>1]|0)>>>9&1)+(c<<2)|0}if((b|0)<0){f=0;return f|0}else return ((b|0)<63?b:63)|0}}return 0}function Bw(b,d){b=b|0;d=d|0;var e=0;e=c[b+1768>>2]|0;do if(e>>>0<=d>>>0)if(((c[b+1776>>2]|0)+e|0)>>>0>d>>>0){b=(c[b+1780>>2]|0)+(d-(e&4194303))|0;break}else{e=-1;return e|0}else b=(c[b+1772>>2]|0)+(d&4194303)|0;while(0);e=a[b>>0]|0;return e|0}function Cw(a,b){a=a|0;b=b|0;var d=0;d=c[a+1768>>2]|0;if(d>>>0>b>>>0){d=(c[a+1772>>2]|0)+(b&4194303)|0;return d|0}if(((c[a+1776>>2]|0)+d|0)>>>0<=b>>>0){d=0;return d|0}d=(c[a+1780>>2]|0)+(b-(d&4194303))|0;return d|0}function Dw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f&255;a:do switch(f<<24>>24){case -7:{j=g&255;c[e+1752>>2]=j&7;c[e+1756>>2]=j>>>3&7;break}case -8:{j=g&255;c[e+1744>>2]=j&7;c[e+1748>>2]=j>>>3&7;break}case 2:{j=g&255;a[e+1732>>0]=j>>>2&7;a[e+1733>>0]=j&1;break}case 3:{j=e+1736|0;c[j>>2]=c[j>>2]&65535|(g&255)<<16;break}case 4:{j=e+1736|0;c[j>>2]=c[j>>2]&16711935|(g&255)<<8;break}case 5:{j=e+1736|0;c[j>>2]=c[j>>2]&16776960|g&255;break}case 6:{j=e+1736|0;Gw(e,c[j>>2]|0,g);c[j>>2]=(c[j>>2]|0)+1&16777215;break}case -1:case -2:case -3:case -4:case -5:case -6:case 7:case 1:case 0:break;default:{i=k+-8|0;f=(i|0)/24|0;i=i+(M(f,-24)|0)|0;j=e+(i*72|0)|0;do switch(f|0){case 0:{l=e+(i*72|0)+44|0;f=b[l>>1]&256|g&255;b[l>>1]=f;if(f>>>0>=384?(h=a[e+1732>>0]|0,h<<24>>24!=0):0)f=(f*12|0)+-4608+(h<<24>>24<<19)|0;else f=f*12|0;l=Cw(e,f)|0;a[e+(i*72|0)+67>>0]=(d[l>>0]|0)>>>6;h=l+7|0;Ew(j,(d[h>>0]|0)>>>3&7);a[e+(i*72|0)+54>>0]=a[h>>0]&7;h=l+8|0;a[e+(i*72|0)+56>>0]=(d[h>>0]|0)>>>4;a[e+(i*72|0)+57>>0]=a[h>>0]&15;h=l+9|0;c[e+(i*72|0)+60>>2]=c[31632+((d[h>>0]|0)>>>4<<2)>>2];a[e+(i*72|0)+64>>0]=a[h>>0]&15;h=l+10|0;a[e+(i*72|0)+65>>0]=(d[h>>0]|0)>>>4;a[e+(i*72|0)+66>>0]=a[h>>0]&15;a[e+(i*72|0)+55>>0]=a[l+11>>0]&7;c[j>>2]=d[l+1>>0]<<8|d[l+2>>0]|(a[l>>0]&63)<<16;c[e+(i*72|0)+4>>2]=d[l+3>>0]<<8|d[l+4>>0];c[e+(i*72|0)+8>>2]=(d[l+5>>0]<<8|d[l+6>>0])^65535;if((a[k+4+(e+5884)>>0]|0)>=0)break a;Fw(e,j);break a}case 1:{l=e+(i*72|0)+44|0;j=g&255;b[l>>1]=j<<8&256|b[l>>1]&255;l=e+(i*72|0)+46|0;j=j>>>1|b[l>>1]&896;b[l>>1]=j;l=a[e+(i*72|0)+48>>0]|0;l=(l&8|0)==0?l:l|-8;j=j|1024;c[e+(i*72|0)+12>>2]=(l|0)>-6?j<>>(-5-l|0);break a}case 2:{h=e+(i*72|0)+46|0;l=g&255;j=l<<7&896|b[h>>1]&127;b[h>>1]=j;a[e+(i*72|0)+49>>0]=l>>>3&1;l=(g&255)>>>4;a[e+(i*72|0)+48>>0]=l;l=l&255;l=(l&8|0)==0?l:l|-8;j=j|1024;c[e+(i*72|0)+12>>2]=(l|0)>-6?j<>>(-5-l|0);break a}case 3:{a[e+(i*72|0)+51>>0]=(g&255)>>>1;a[e+(i*72|0)+50>>0]=g&1;break a}case 4:{l=g&255;a[e+(i*72|0)+52>>0]=(l&16|0)==0?l&15:8;f=e+(i*72|0)+70|0;if(!(l&32))a[f>>0]=1;else{a[f>>0]=0;c[e+(i*72|0)+32>>2]=0;c[e+(i*72|0)+40>>2]=c[14880+(a[e+(i*72|0)+54>>0]<<2)>>2];c[e+(i*72|0)+36>>2]=0}switch((g&255)>>>6&3){case 0:{if(!(a[e+(i*72|0)+68>>0]|0))break a;f=e+(i*72|0)+69|0;if((a[f>>0]|0)==5)break a;a[f>>0]=1;break a}case 2:{if((a[e+5884+k>>0]|0)<0)break a;Fw(e,j);break a}case 3:case 1:{a[e+(i*72|0)+69>>0]=6;break a}default:{}}break}case 5:{l=g&255;a[e+(i*72|0)+54>>0]=l&7;Ew(j,l>>>3&7);break a}case 6:{a[e+(i*72|0)+56>>0]=(g&255)>>>4;a[e+(i*72|0)+57>>0]=g&15;break a}case 7:{l=g&255;c[e+(i*72|0)+60>>2]=c[31632+(l>>>4<<2)>>2];a[e+(i*72|0)+64>>0]=l&15;break a}case 8:{a[e+(i*72|0)+65>>0]=(g&255)>>>4;a[e+(i*72|0)+66>>0]=g&15;break a}case 9:{a[e+(i*72|0)+55>>0]=g&7;break a}default:break a}while(0)}}while(0);a[e+5884+k>>0]=g;return}function Ew(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=b+36|0;e=b+40|0;g=c[e>>2]|0;c[f>>2]=(M((c[f>>2]<<8|0)/(g|0)|0,d)|0)>>8;f=b+32|0;c[f>>2]=(M((c[f>>2]<<8|0)/(g|0)|0,d)|0)>>8;a[b+53>>0]=d;c[e>>2]=c[14880+(d<<24>>24<<2)>>2];return}function Fw(d,e){d=d|0;e=e|0;var f=0,g=0;a[e+68>>0]=1;f=a[e+48>>0]|0;f=(f&8|0)==0?f:f|-8;g=(b[e+46>>1]|1024)<<16>>16;c[e+12>>2]=(f|0)>-6?g<>>(-5-f|0);a[e+69>>0]=4;c[e+16>>2]=0;f=e+20|0;b[f>>1]=0;b[e+22>>1]=yw(d,e)|0;b[f>>1]=1;b[e+24>>1]=yw(d,e)|0;return}function Gw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+1768>>2]|0;if(f>>>0>d>>>0)return;if(((c[b+1776>>2]|0)+f|0)>>>0<=d>>>0)return;a[(c[b+1780>>2]|0)+(d-f)>>0]=e;return}function Hw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=b&255;f=3250064+(b*6148|0)|0;switch(d|0){case 0:{a[3250064+(b*6148|0)+1760>>0]=e;_e(c[3250064+(b*6148|0)+6140>>2]|0,0,e&255);return}case 1:{Iw(f,a[3250064+(b*6148|0)+1760>>0]|0,e);return}case 2:{a[3250064+(b*6148|0)+1761>>0]=e;_e(c[3250064+(b*6148|0)+6140>>2]|0,2,e&255);return}case 3:{Jw(f,a[3250064+(b*6148|0)+1761>>0]|0,e);return}case 4:{a[3250064+(b*6148|0)+1762>>0]=e;return}case 5:{if(!(a[3250064+(b*6148|0)+1740>>0]&2))return;Dw(f,a[3250064+(b*6148|0)+1762>>0]|0,e);return}default:return}}function Iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=d&255;if((f+-2|0)>>>0<3)return;e=e&255;_e(c[b+6140>>2]|0,1,e);if(!((f&240|0)!=176|(e&32|0)==0)){a[b+6144>>0]=1;return}if(d<<24>>24!=-67|(e&31|0)==0)return;a[b+6144>>0]=1;return}function Jw(b,d,e){b=b|0;d=d|0;e=e|0;if(d<<24>>24==5){a[b+1740>>0]=e;_e(c[b+6140>>2]|0,3,e&-3&255);return}e=e&255;_e(c[b+6140>>2]|0,3,e);if((d&-16)<<24>>24!=-80|(e&32|0)==0)return;a[b+6144>>0]=1;return}function Kw(a,b){a=a|0;b=b|0;QA(b|0,0,a|0)|0;return}function Lw(b,d){b=b|0;d=d|0;var e=0;if((b&255)>15){e=0;return e|0}e=b&255;d=Mw(3250064+(e*6148|0)|0,d)|0;c[3250064+(e*6148|0)+1736>>2]=0;b=0;do{c[3250064+(e*6148|0)+1788+(b<<2)>>2]=(1048576-(b<<15&491520)|0)>>>((b>>>4)+5|0);b=b+1|0}while((b|0)!=256);QA(3250064+(e*6148|0)+2812|0,0,3072)|0;a[3250064+(e*6148|0)+71>>0]=0;a[3250064+(e*6148|0)+143>>0]=0;a[3250064+(e*6148|0)+215>>0]=0;a[3250064+(e*6148|0)+287>>0]=0;a[3250064+(e*6148|0)+359>>0]=0;a[3250064+(e*6148|0)+431>>0]=0;a[3250064+(e*6148|0)+503>>0]=0;a[3250064+(e*6148|0)+575>>0]=0;a[3250064+(e*6148|0)+647>>0]=0;a[3250064+(e*6148|0)+719>>0]=0;a[3250064+(e*6148|0)+791>>0]=0;a[3250064+(e*6148|0)+863>>0]=0;a[3250064+(e*6148|0)+935>>0]=0;a[3250064+(e*6148|0)+1007>>0]=0;a[3250064+(e*6148|0)+1079>>0]=0;a[3250064+(e*6148|0)+1151>>0]=0;a[3250064+(e*6148|0)+1223>>0]=0;a[3250064+(e*6148|0)+1295>>0]=0;a[3250064+(e*6148|0)+1367>>0]=0;a[3250064+(e*6148|0)+1439>>0]=0;a[3250064+(e*6148|0)+1511>>0]=0;a[3250064+(e*6148|0)+1583>>0]=0;a[3250064+(e*6148|0)+1655>>0]=0;a[3250064+(e*6148|0)+1727>>0]=0;e=d;return e|0}function Mw(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)/768|0;c[b+6140>>2]=qe((d<<3|0)/19|0,e)|0;a[b+6144>>0]=0;c[b+1772>>2]=0;c[b+1764>>2]=0;c[b+1784>>2]=d;Nw(b);f=b+1776|0;c[f>>2]=524288;d=Hy(524288)|0;c[b+1780>>2]=d;Kw(c[f>>2]|0,d);return e|0}function Nw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=k;k=k+16|0;g=i+8|0;f=i;do if(!(c[853956]|0)){c[853956]=2097152;d=Hy(2097152)|0;c[853957]=d;QA(d|0,-1,2097152)|0;d=Hy(11)|0;h=d;j=49964;l=h+11|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(l|0));if(d|0?(e=bA(d,50407)|0,Iy(d),e|0):0){l=vA(c[853957]|0,1,c[853956]|0,e)|0;hA(e)|0;if((l|0)==(c[853956]|0))break;c[f>>2]=49964;oA(48768,49975,f);break}c[g>>2]=49964;oA(48768,50018,g)}while(0);l=c[853956]|0;c[b+1768>>2]=l;j=Hy(l)|0;c[b+1772>>2]=j;PA(j|0,c[853957]|0,l|0)|0;k=i;return}function Ow(a){a=a|0;var b=0;a=a&255;Se(c[3250064+(a*6148|0)+6140>>2]|0);b=3250064+(a*6148|0)+1772|0;Iy(c[b>>2]|0);c[b>>2]=0;a=3250064+(a*6148|0)+1780|0;Iy(c[a>>2]|0);c[a>>2]=0;return}function Pw(b){b=b|0;var d=0,e=0;d=b&255;Xe(c[3250064+(d*6148|0)+6140>>2]|0);a[3250064+(d*6148|0)+6144>>0]=0;c[3250064+(d*6148|0)+1728>>2]=0;tw(3250064+(d*6148|0)|0);tw(3250064+(d*6148|0)+72|0);tw(3250064+(d*6148|0)+144|0);tw(3250064+(d*6148|0)+216|0);tw(3250064+(d*6148|0)+288|0);tw(3250064+(d*6148|0)+360|0);tw(3250064+(d*6148|0)+432|0);tw(3250064+(d*6148|0)+504|0);tw(3250064+(d*6148|0)+576|0);tw(3250064+(d*6148|0)+648|0);tw(3250064+(d*6148|0)+720|0);tw(3250064+(d*6148|0)+792|0);tw(3250064+(d*6148|0)+864|0);tw(3250064+(d*6148|0)+936|0);tw(3250064+(d*6148|0)+1008|0);tw(3250064+(d*6148|0)+1080|0);tw(3250064+(d*6148|0)+1152|0);tw(3250064+(d*6148|0)+1224|0);tw(3250064+(d*6148|0)+1296|0);tw(3250064+(d*6148|0)+1368|0);tw(3250064+(d*6148|0)+1440|0);tw(3250064+(d*6148|0)+1512|0);tw(3250064+(d*6148|0)+1584|0);tw(3250064+(d*6148|0)+1656|0);e=3250064+(d*6148|0)|0;b=255;while(1){Dw(e,b&255,0);if(!b)break;else b=b+-1|0}c[3250064+(d*6148|0)+1736>>2]=0;a[3250064+(d*6148|0)+1733>>0]=0;a[3250064+(d*6148|0)+1732>>0]=0;c[3250064+(d*6148|0)+1748>>2]=3;c[3250064+(d*6148|0)+1744>>2]=3;c[3250064+(d*6148|0)+1756>>2]=0;c[3250064+(d*6148|0)+1752>>2]=0;return}function Qw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a=a&255;g=3250064+(a*6148|0)+1768|0;if((c[g>>2]|0)!=(b|0)){i=3250064+(a*6148|0)+1772|0;h=Ky(c[i>>2]|0,b)|0;c[i>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[3250064+(a*6148|0)+1772>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function Rw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=a&255;f=c[3250064+(a*6148|0)+1776>>2]|0;if(f>>>0<=b>>>0)return;PA((c[3250064+(a*6148|0)+1780>>2]|0)+b|0,e|0,((d+b|0)>>>0>f>>>0?f-b|0:d)|0)|0;return}function Sw(b,d,e){b=b|0;d=d|0;e=e|0;b=b&255;qf(c[3250064+(b*6148|0)+6140>>2]|0,d);a[3250064+(b*6148|0)+71>>0]=e&1;a[3250064+(b*6148|0)+143>>0]=e>>>1&1;a[3250064+(b*6148|0)+215>>0]=e>>>2&1;a[3250064+(b*6148|0)+287>>0]=e>>>3&1;a[3250064+(b*6148|0)+359>>0]=e>>>4&1;a[3250064+(b*6148|0)+431>>0]=e>>>5&1;a[3250064+(b*6148|0)+503>>0]=e>>>6&1;a[3250064+(b*6148|0)+575>>0]=e>>>7&1;a[3250064+(b*6148|0)+647>>0]=e>>>8&1;a[3250064+(b*6148|0)+719>>0]=e>>>9&1;a[3250064+(b*6148|0)+791>>0]=e>>>10&1;a[3250064+(b*6148|0)+863>>0]=e>>>11&1;a[3250064+(b*6148|0)+935>>0]=e>>>12&1;a[3250064+(b*6148|0)+1007>>0]=e>>>13&1;a[3250064+(b*6148|0)+1079>>0]=e>>>14&1;a[3250064+(b*6148|0)+1151>>0]=e>>>15&1;a[3250064+(b*6148|0)+1223>>0]=e>>>16&1;a[3250064+(b*6148|0)+1295>>0]=e>>>17&1;a[3250064+(b*6148|0)+1367>>0]=e>>>18&1;a[3250064+(b*6148|0)+1439>>0]=e>>>19&1;a[3250064+(b*6148|0)+1511>>0]=e>>>20&1;a[3250064+(b*6148|0)+1583>>0]=e>>>21&1;a[3250064+(b*6148|0)+1655>>0]=e>>>22&1;a[3250064+(b*6148|0)+1727>>0]=e>>>23&1;return}function Tw(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,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;B=e&255;G=3348432+(B*632|0)|0;C=c[f>>2]|0;H=f+4|0;D=c[H>>2]|0;E=g<<2;QA(C|0,0,E|0)|0;QA(D|0,0,E|0)|0;E=3348432+(B*632|0)+628|0;x=(g|0)>0;y=3348432+(B*632|0)+4|0;w=0;do{q=3348432+(B*632|0)+52+(w*72|0)|0;z=3348432+(B*632|0)+52+(w*72|0)+64|0;e=b[z>>1]|0;A=3348432+(B*632|0)+52+(w*72|0)+66|0;h=b[A>>1]|0;r=c[E>>2]|0;t=c[3348432+(B*632|0)+52+(w*72|0)+48>>2]|0;u=c[3348432+(B*632|0)+52+(w*72|0)+52>>2]|0;do if(!(a[3348432+(B*632|0)+52+(w*72|0)+69>>0]|0)){v=3348432+(B*632|0)+52+(w*72|0)+60|0;if((h|e)<<16>>16==0&(a[q>>0]|0)==0){c[v>>2]=16384;break}a:do if(x){m=e<<16>>16;n=h<<16>>16;p=3348432+(B*632|0)+52+(w*72|0)+56|0;i=C;j=g;k=D;e=c[v>>2]|0;while(1){if((e|0)>=16384)break a;e=(M(16384-e|0,m)|0)+(M(e,n)|0)>>14;o=M(e,t)|0;l=i+4|0;c[i>>2]=(c[i>>2]|0)+o;e=M(e,u)|0;o=k+4|0;c[k>>2]=(c[k>>2]|0)+e;e=(c[v>>2]|0)+(c[p>>2]|0)|0;c[v>>2]=e;k=j+-1|0;if((j|0)>1){i=l;j=k;k=o}else{i=l;j=k;k=o;s=10;break}}}else{i=C;j=g;k=D;e=c[v>>2]|0;s=10}while(0);if((s|0)==10){s=0;if((e|0)<=16383)break;p=3348432+(B*632|0)+52+(w*72|0)+56|0}c[v>>2]=e+-16384;e=((M(c[p>>2]|0,j)|0)+e|0)>>>14;e=e>>>0<65536?e:65536;switch((d[q>>0]<<7|d[3348432+(B*632|0)+52+(w*72|0)+3>>0])&32767){case 129:{F=Uw(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}case 130:{F=Vw(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}case 131:{F=Ww(q,c[G>>2]|0,c[y>>2]|0,c[E>>2]|0,e)|0;s=17;break}default:QA(c[E>>2]|0,0,e<<1|0)|0}if((s|0)==17?(s=0,F|0):0){o=F&65535;m=e-o|0;n=(m|0)==0;if(n)e=h;else e=b[(c[E>>2]|0)+(m+-1<<1)>>1]|0;if(o|0){e=e<<16>>16;l=0;do{if((e|0)<0)e=0-((M(e,-15)|0)>>4)|0;else e=(e|0)==0?0:e*15>>4;b[(c[E>>2]|0)+(l+m<<1)>>1]=e;l=l+1|0}while((l|0)!=(o|0))}if(!n){a[q>>0]=0;a[3348432+(B*632|0)+52+(w*72|0)+68>>0]=1}}e=b[r>>1]|0;if((j|0)>0){o=r+2|0;l=c[v>>2]|0;while(1){m=h<<16>>16;n=e<<16>>16;while(1){if((l|0)>=16384){h=l;s=34;break}r=(M(16384-l|0,m)|0)+(M(l,n)|0)>>14;q=M(r,t)|0;s=i;i=i+4|0;c[s>>2]=(c[s>>2]|0)+q;r=M(r,u)|0;s=k;k=k+4|0;c[s>>2]=(c[s>>2]|0)+r;l=(c[v>>2]|0)+(c[p>>2]|0)|0;c[v>>2]=l;s=j;j=j+-1|0;if((s|0)<=1){s=33;break}}if((s|0)==33){s=0;if((l|0)>16383){h=l;s=34}else m=o}if((s|0)==34){s=0;l=h+-16384|0;c[v>>2]=l;h=e;e=b[o>>1]|0;m=o+2|0}if((j|0)>0)o=m;else break}}b[z>>1]=h;b[A>>1]=e}while(0);w=w+1|0}while((w|0)!=8);if(!x){Xw(G,0);Xw(G,1);Xw(G,2);Xw(G,3);Xw(G,4);Xw(G,5);Xw(G,6);Xw(G,7);return}e=0;do{F=(c[f>>2]|0)+(e<<2)|0;c[F>>2]=(c[F>>2]|0)/256|0;F=(c[H>>2]|0)+(e<<2)|0;c[F>>2]=(c[F>>2]|0)/256|0;e=e+1|0}while((e|0)!=(g|0));Xw(G,0);Xw(G,1);Xw(G,2);Xw(G,3);Xw(G,4);Xw(G,5);Xw(G,6);Xw(G,7);return}function Uw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=d+24|0;k=c[x>>2]|0;y=d+28|0;j=c[y>>2]|0;z=d+32|0;l=c[z>>2]|0;i=(h|0)==0;if(!(a[d+2>>0]|0)){if(i){A=0;w=k;f=l;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}d=d+12|0;i=l;while(1){s=((Zw(e,f,(k|0)/2|0)|0)&255)>>>(k<<2&4^4);j=((M(c[3358544+((s&15)<<2)>>2]|0,i)|0)/8|0)+((j*254|0)/256|0)|0;j=(j|0)>-32768?j:-32768;j=(j|0)<32767?j:32767;i=M(c[44592+((s&7)<<2)>>2]|0,i)|0;i=(i|0)>6291711?24576:(i|0)<32512?127:i>>8;b[g>>1]=j;h=h+-1|0;k=k+1|0;if(k>>>0>=(c[d>>2]|0)>>>0)break;if(!h){t=0;u=k;v=i;w=j;A=18;break}else g=g+2|0}if((A|0)==18){c[x>>2]=u;c[y>>2]=w;c[z>>2]=v;return t|0}A=(h|0)==0?h|65536:h;w=k;f=i;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}if(i){A=0;w=k;f=l;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}n=d+16|0;o=d+44|0;p=d+20|0;q=d+36|0;r=d+40|0;s=d+12|0;m=d+1|0;i=l;while(1){d=((Zw(e,f,(k|0)/2|0)|0)&255)>>>(k<<2&4^4);j=((M(c[3358544+((d&15)<<2)>>2]|0,i)|0)/8|0)+((j*254|0)/256|0)|0;j=(j|0)>-32768?j:-32768;j=(j|0)<32767?j:32767;d=M(c[44592+((d&7)<<2)>>2]|0,i)|0;d=(d|0)>6291711?24576:(d|0)<32512?127:d>>8;b[g>>1]=j;g=g+2|0;h=h+-1|0;k=k+1|0;i=c[n>>2]|0;if((k|0)==(i|0)?(c[o>>2]|0)==0:0){c[q>>2]=j;c[r>>2]=d}if(k>>>0>=(c[p>>2]|0)>>>0?(a[m>>0]|0)!=0:0){j=c[q>>2]|0;d=c[r>>2]|0;c[o>>2]=(c[o>>2]|0)+1;k=i}i=(h|0)==0;if(k>>>0>=(c[s>>2]|0)>>>0)break;if(i){t=0;u=k;v=d;w=j;A=18;break}else i=d}if((A|0)==18){c[x>>2]=u;c[y>>2]=w;c[z>>2]=v;return t|0}A=i?h|65536:h;w=k;f=d;e=j;c[x>>2]=w;c[y>>2]=e;c[z>>2]=f;return A|0}function Vw(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=d+24|0;i=c[q>>2]|0;j=(h|0)==0;if(!(a[d+2>>0]|0)){if(j){r=0;f=i;c[q>>2]=f;return r|0}d=d+12|0;j=g;while(1){b[j>>1]=(Zw(e,f,(i|0)/2|0)|0)<<24>>24<<8;h=h+-1|0;i=i+2|0;if(i>>>0>=(c[d>>2]|0)>>>0)break;if(!h){o=0;p=i;r=15;break}else j=j+2|0}if((r|0)==15){c[q>>2]=p;return o|0}r=(h|0)==0?h|65536:h;f=i;c[q>>2]=f;return r|0}if(j){r=0;f=i;c[q>>2]=f;return r|0}l=d+20|0;m=d+12|0;n=d+1|0;k=d+16|0;d=g;while(1){b[d>>1]=(Zw(e,f,(i|0)/2|0)|0)<<24>>24<<8;d=d+2|0;h=h+-1|0;i=i+2|0;if(i>>>0>=(c[l>>2]|0)>>>0?(a[n>>0]|0)!=0:0)i=c[k>>2]|0;j=(h|0)==0;if(i>>>0>=(c[m>>2]|0)>>>0)break;if(j){o=0;p=i;r=15;break}}if((r|0)==15){c[q>>2]=p;return o|0}r=j?h|65536:h;f=i;c[q>>2]=f;return r|0}function Ww(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=d+24|0;i=c[q>>2]|0;j=(h|0)==0;if(!(a[d+2>>0]|0)){if(j){r=0;f=i;c[q>>2]=f;return r|0}d=d+12|0;j=g;while(1){n=(i|0)/2|0;m=((Zw(e,f,n)|0)&255)<<8;b[j>>1]=m|(Zw(e,f,n+1|0)|0)&255;h=h+-1|0;i=i+4|0;if(i>>>0>=(c[d>>2]|0)>>>0)break;if(!h){o=0;p=i;r=15;break}else j=j+2|0}if((r|0)==15){c[q>>2]=p;return o|0}r=(h|0)==0?h|65536:h;f=i;c[q>>2]=f;return r|0}if(j){r=0;f=i;c[q>>2]=f;return r|0}l=d+20|0;m=d+12|0;n=d+1|0;k=d+16|0;d=g;while(1){g=(i|0)/2|0;j=((Zw(e,f,g)|0)&255)<<8;b[d>>1]=j|(Zw(e,f,g+1|0)|0)&255;d=d+2|0;h=h+-1|0;i=i+4|0;if(i>>>0>=(c[l>>2]|0)>>>0?(a[n>>0]|0)!=0:0)i=c[k>>2]|0;j=(h|0)==0;if(i>>>0>=(c[m>>2]|0)>>>0)break;if(j){o=0;p=i;r=15;break}}if((r|0)==15){c[q>>2]=p;return o|0}r=j?h|65536:h;f=i;c[q>>2]=f;return r|0}function Xw(b,c){b=b|0;c=c|0;var e=0,f=0;e=b+52|0;f=e+(c*72|0)+68|0;if(!(a[f>>0]|0))return;a[e+(c*72|0)>>0]=0;e=b+9|0;a[e>>0]=1<>0];Yw(b);a[f>>0]=0;return}function Yw(b){b=b|0;var d=0,e=0;d=b+10|0;e=(a[d>>0]|0)==0;if(a[b+12>>0]|0?(a[b+11>>0]&a[b+9>>0])<<24>>24!=0:0){if(!e)return;a[d>>0]=1;b=c[b+48>>2]|0;if(!b)return;wa[b&31](1);return}else{if(e)return;a[d>>0]=0;b=c[b+48>>2]|0;if(!b)return;wa[b&31](0);return}}function Zw(b,c,d){b=b|0;c=c|0;d=d|0;d=d&16777215;if(d>>>0>=c>>>0){c=0;return c|0}c=a[b+d>>0]|0;return c|0}function _w(b,d){b=b|0;d=d|0;var e=0.0;if((b&255)>15){d=0;return d|0}b=b&255;$w();e=+(d|0)/384.0;h[3348432+(b*632|0)+32>>3]=e;e=e*2.0;h[3348432+(b*632|0)+40>>3]=e;c[3348432+(b*632|0)+4>>2]=0;c[3348432+(b*632|0)>>2]=0;c[3348432+(b*632|0)+48>>2]=0;d=Hy(131072)|0;c[3348432+(b*632|0)+628>>2]=d;QA(d|0,0,131072)|0;a[3348432+(b*632|0)+121>>0]=0;a[3348432+(b*632|0)+193>>0]=0;a[3348432+(b*632|0)+265>>0]=0;a[3348432+(b*632|0)+337>>0]=0;a[3348432+(b*632|0)+409>>0]=0;a[3348432+(b*632|0)+481>>0]=0;a[3348432+(b*632|0)+553>>0]=0;a[3348432+(b*632|0)+625>>0]=0;d=~~e;return d|0}function $w(){var b=0,d=0;if(a[3416897]|0)return;b=0;do{d=b<<1&14|1;c[3358544+(b<<2)>>2]=(b&8|0)==0?d:0-d|0;b=b+1|0}while((b|0)!=16);a[3416897]=1;return}function ax(a){a=a|0;var b=0;a=a&255;b=3348432+(a*632|0)|0;Iy(c[b>>2]|0);c[b>>2]=0;Iy(c[3348432+(a*632|0)+628>>2]|0);return}function bx(d){d=d|0;var e=0,f=0,g=0;e=d&255;f=3348432+(e*632|0)|0;g=3348432+(e*632|0)+8|0;d=255;while(1){if(!((d|0)==131|(d+-88|0)>>>0<166)){a[g>>0]=d;cx(f,0)}if(!d)break;else d=d+-1|0}a[g>>0]=0;a[3348432+(e*632|0)+9>>0]=0;b[3348432+(e*632|0)+118>>1]=0;b[3348432+(e*632|0)+116>>1]=0;c[3348432+(e*632|0)+112>>2]=16384;a[3348432+(e*632|0)+52>>0]=0;b[3348432+(e*632|0)+190>>1]=0;b[3348432+(e*632|0)+188>>1]=0;c[3348432+(e*632|0)+184>>2]=16384;a[3348432+(e*632|0)+124>>0]=0;b[3348432+(e*632|0)+262>>1]=0;b[3348432+(e*632|0)+260>>1]=0;c[3348432+(e*632|0)+256>>2]=16384;a[3348432+(e*632|0)+196>>0]=0;b[3348432+(e*632|0)+334>>1]=0;b[3348432+(e*632|0)+332>>1]=0;c[3348432+(e*632|0)+328>>2]=16384;a[3348432+(e*632|0)+268>>0]=0;b[3348432+(e*632|0)+406>>1]=0;b[3348432+(e*632|0)+404>>1]=0;c[3348432+(e*632|0)+400>>2]=16384;a[3348432+(e*632|0)+340>>0]=0;b[3348432+(e*632|0)+478>>1]=0;b[3348432+(e*632|0)+476>>1]=0;c[3348432+(e*632|0)+472>>2]=16384;a[3348432+(e*632|0)+412>>0]=0;b[3348432+(e*632|0)+550>>1]=0;b[3348432+(e*632|0)+548>>1]=0;c[3348432+(e*632|0)+544>>2]=16384;a[3348432+(e*632|0)+484>>0]=0;b[3348432+(e*632|0)+622>>1]=0;b[3348432+(e*632|0)+620>>1]=0;c[3348432+(e*632|0)+616>>2]=16384;a[3348432+(e*632|0)+556>>0]=0;return}function cx(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0;f=a[d+8>>0]|0;g=f&255;if(f<<24>>24>-1){k=g>>>2&7;l=d+52+(k*72|0)|0;do switch((g&227)<<24>>24){case 0:{k=d+52+(k*72|0)+4|0;b[k>>1]=e&255|b[k>>1]&256;dx(+h[d+32>>3],+h[d+40>>3],l);return}case 1:{f=d+52+(k*72|0)+4|0;b[f>>1]=e<<8&256|b[f>>1]&255;a[d+52+(k*72|0)+2>>0]=e>>>4&1;f=e&96;if(!f)f=e&127;else{a[d+52+(k*72|0)+3>>0]=f>>>5;f=e}g=d+52+(k*72|0)+1|0;i=(a[g>>0]|0)!=0;e=(f&128|0)==0;if(!(i|e)?(a[d+13>>0]|0)!=0:0){a[l>>0]=1;c[d+52+(k*72|0)+24>>2]=c[d+52+(k*72|0)+8>>2];c[d+52+(k*72|0)+36>>2]=0;c[d+52+(k*72|0)+28>>2]=0;c[d+52+(k*72|0)+40>>2]=127;c[d+52+(k*72|0)+32>>2]=127;c[d+52+(k*72|0)+44>>2]=0;j=12}else j=10;if((j|0)==10?i&e:0){a[l>>0]=0;j=12}if((j|0)==12)a[d+52+(k*72|0)+68>>0]=0;a[g>>0]=f>>>7&1;dx(+h[d+32>>3],+h[d+40>>3],l);return}case 2:{a[d+52+(k*72|0)+6>>0]=e;ex(l);return}case 3:{a[d+52+(k*72|0)+7>>0]=e&15;ex(l);return}case 32:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 33:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 34:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 35:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&131070|e<<17;return}case 64:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 65:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 66:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 67:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&33423870|e<<9;return}case 96:{d=d+52+(k*72|0)+8|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 97:{d=d+52+(k*72|0)+16|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 98:{d=d+52+(k*72|0)+20|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}case 99:{d=d+52+(k*72|0)+12|0;c[d>>2]=c[d>>2]&33553920|e<<1;return}default:return}while(0)}switch(f<<24>>24){case -1:{a[d+14>>0]=e>>>6&1;a[d+12>>0]=e>>>4&1;Yw(d);f=d+13|0;g=(a[f>>0]|0)!=0;i=(e&128|0)==0;if(!(i&g)){if(!(i|g)){if(a[d+53>>0]|0?a[d+54>>0]|0:0)a[d+52>>0]=1;if(a[d+125>>0]|0?a[d+126>>0]|0:0)a[d+124>>0]=1;if(a[d+197>>0]|0?a[d+198>>0]|0:0)a[d+196>>0]=1;if(a[d+269>>0]|0?a[d+270>>0]|0:0)a[d+268>>0]=1;if(a[d+341>>0]|0?a[d+342>>0]|0:0)a[d+340>>0]=1;if(a[d+413>>0]|0?a[d+414>>0]|0:0)a[d+412>>0]=1;if(a[d+485>>0]|0?a[d+486>>0]|0:0)a[d+484>>0]=1;if(a[d+557>>0]|0?a[d+558>>0]|0:0)a[d+556>>0]=1}}else{a[d+52>>0]=0;a[d+120>>0]=0;a[d+124>>0]=0;a[d+192>>0]=0;a[d+196>>0]=0;a[d+264>>0]=0;a[d+268>>0]=0;a[d+336>>0]=0;a[d+340>>0]=0;a[d+408>>0]=0;a[d+412>>0]=0;a[d+480>>0]=0;a[d+484>>0]=0;a[d+552>>0]=0;a[d+556>>0]=0;a[d+624>>0]=0}a[f>>0]=e>>>7&1;return}case -2:{a[d+11>>0]=e;Yw(d);return}case -121:{if(!(a[d+14>>0]|0))return;d=d+24|0;c[d>>2]=(c[d>>2]|0)+1&16777215;return}case -124:{c[d+16>>2]=e<<16;return}case -123:{c[d+20>>2]=e<<8;return}case -122:{f=c[d+16>>2]|e|c[d+20>>2];c[d+24>>2]=f;if(!(a[d+14>>0]|0))return;a[d+15>>0]=Zw(c[d>>2]|0,c[d+4>>2]|0,f)|0;return}default:return}}function dx(b,d,f){b=+b;d=+d;f=f|0;c[f+56>>2]=~~(+((((a[f+3>>0]|0)==1?255:511)&e[f+4>>1])+1|0)*b*.00390625*16384.0/d)>>>0;return}function ex(b){b=b|0;var e=0,f=0,g=0;f=a[b+7>>0]|0;g=f&255;if(f<<24>>24==8){f=d[b+6>>0]|0;c[b+48>>2]=f;g=b+52|0;c[g>>2]=f;return}e=d[b+6>>0]|0;if((f&255)<8){c[b+48>>2]=e;g=(M(g+-1|0,e)|0)/7|0;f=f<<24>>24==0?0:g;g=b+52|0;c[g>>2]=f;return}else{c[b+48>>2]=(M(15-g|0,e)|0)/7|0;f=e;g=b+52|0;c[g>>2]=f;return}}function fx(b,c,d){b=b|0;c=c|0;d=d|0;b=b&255;if(!(c&1)){a[3348432+(b*632|0)+8>>0]=d;return}else{cx(3348432+(b*632|0)|0,d&255);return}}function gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a&255;a=3348432+(g*632|0)|0;g=3348432+(g*632|0)+4|0;if((c[g>>2]|0)!=(b|0)){h=Ky(c[a>>2]|0,b)|0;c[a>>2]=h;c[g>>2]=b;QA(h|0,-1,b|0)|0}if(b>>>0>>0)return;PA((c[a>>2]|0)+d|0,f|0,((e+d|0)>>>0>b>>>0?b-d|0:e)|0)|0;return}function hx(b,c){b=b|0;c=c|0;b=b&255;a[3348432+(b*632|0)+121>>0]=c&1;a[3348432+(b*632|0)+193>>0]=c>>>1&1;a[3348432+(b*632|0)+265>>0]=c>>>2&1;a[3348432+(b*632|0)+337>>0]=c>>>3&1;a[3348432+(b*632|0)+409>>0]=c>>>4&1;a[3348432+(b*632|0)+481>>0]=c>>>5&1;a[3348432+(b*632|0)+553>>0]=c>>>6&1;a[3348432+(b*632|0)+625>>0]=c>>>7&1;return}function ix(){var b=0;if((a[3416912]|0)==0?(b=Dy()|0,b|0):0){c[854066]=b;b=0;return b|0}tx();b=1;return b|0}function jx(){return 3381728}function kx(){return c[854066]|0}function lx(){var a=0;a=c[12181]|0;if((a|0)>=0)return a|0;a=Cy(By()|0)|0;c[12181]=a;return a|0}function mx(){return c[854030]|0}function nx(){return c[853960]|0}function ox(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=k;k=k+16|0;b=a+8|0;d=a;h=vy(c[854043]|0,c[854044]|0)|0;f=vy(c[854045]|0,c[854046]|0)|0;g=vy(c[854049]|0,c[854050]|0)|0;e=vy(c[854047]|0,c[854048]|0)|0;wy(3375584,h);wy(3376608,g);wy(3377632,f);wy(3378656,c[854053]|0);PA(3416916,e|0,(xy(e)|0)<<2|0)|0;c[d>>2]=1;Vz(3379680,15,51623,d);yy();c[b>>2]=3373280;Vz(3380704,1020,51626,b);k=a;return 48740}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=k;k=k+16|0;f=e+8|0;sx();cy();Vz(3373536,1020,50389,e);dy();c[853960]=a;ey();c[f>>2]=b;c[f+4>>2]=d;Vz(3374560,1020,50401,f);d=((fy()|0)<<24>>24==0)<<31>>31;k=e;return d|0}function qx(a){a=a|0;if((lx()|0)<(a|0)){a=-1;return a|0}ay(a);a=0;return a|0}function rx(b,d){b=b|0;d=d|0;Hx();a[3416898]=d;c[12181]=-1;return 0}function sx(){tx();ux();vx();return}function tx(){if((a[3416907]|0)==-1)return;yx(2);a[3416907]=-1;return}function ux(){if((a[3416906]|0)==-1)return;c[853969]=0;Iy(c[854036]|0);c[854036]=0;Iy(c[854038]|0);c[854038]=0;Iy(c[854039]|0);c[854039]=0;if(!(a[3416906]|0))wx();a[3416906]=-1;return}function vx(){var a=0,b=0,d=0;Iy(c[854067]|0);c[854067]=0;Iy(c[854068]|0);c[854068]=0;d=0;do{a=3362544+(d*24|0)+20|0;b=c[a>>2]|0;if(b|0){Iy(b);c[a>>2]=0}d=d+1|0}while((d|0)!=41);d=0;do{a=3363528+(d*24|0)+20|0;b=c[a>>2]|0;if(b|0){Iy(b);c[a>>2]=0}d=d+1|0}while((d|0)!=41);return}function wx(){c[854040]=0;Iy(c[854043]|0);c[854043]=0;Iy(c[854044]|0);c[854044]=0;Iy(c[854045]|0);c[854045]=0;Iy(c[854046]|0);c[854046]=0;Iy(c[854047]|0);c[854047]=0;Iy(c[854048]|0);c[854048]=0;Iy(c[854049]|0);c[854049]=0;Iy(c[854050]|0);c[854050]=0;Iy(c[854051]|0);c[854051]=0;Iy(c[854052]|0);c[854052]=0;Iy(c[854053]|0);c[854053]=0;return}function xx(){var a=0.0;a=+g[853967];if(a>0.0)g[854064]=a;else a=+g[854064];g[853967]=a;g[854027]=a*(a*+g[854026]);return}function yx(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,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,ba=0;switch(f<<24>>24){case 0:{f=0;g=3358608;while(1){c[g>>2]=0;b[g+4>>1]=0;a[g+6>>0]=-1;a[g+7>>0]=0;a[g+8>>0]=0;c[g+12>>2]=8;c[g+44>>2]=0;f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}c[841128]=0;b[1682258]=0;a[3364518]=-1;a[3364519]=0;a[3364520]=0;c[841131]=8;c[841139]=0;c[841140]=0;b[1682282]=0;a[3364566]=-1;a[3364567]=0;a[3364568]=0;c[841143]=8;c[841151]=0;c[841152]=0;b[1682306]=0;a[3364614]=-1;a[3364615]=0;a[3364616]=0;c[841155]=8;c[841163]=0;f=0;g=3360576;while(1){c[g>>2]=0;b[g+4>>1]=0;a[g+6>>0]=-1;a[g+7>>0]=1;a[g+8>>0]=0;c[g+12>>2]=8;c[g+44>>2]=0;f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}c[841164]=0;b[1682330]=0;a[3364662]=-1;a[3364663]=1;a[3364664]=0;c[841167]=8;c[841175]=0;c[841176]=0;b[1682354]=0;a[3364710]=-1;a[3364711]=1;a[3364712]=0;c[841179]=8;c[841187]=0;c[841188]=0;b[1682378]=0;a[3364758]=-1;a[3364759]=1;a[3364760]=0;c[841191]=8;c[841199]=0;if(!(c[853972]|0))f=0;else{Ev(a[3362545]|0);a[3363529]=a[3362545]|0;l=(c[853972]|0)>>>30&1;m=l+1&255;f=0;k=0;n=0;do{g=3358608+(n*1968|0)|0;h=3358608+(n*1968|0)+6|0;a[h>>0]=0;i=Ax(n<<7&255,0)|0;j=c[853972]&n<<31;if(!(a[3416911]|0)){aa=d[3415919]|0;c[g>>2]=Av(k,j|i&2147483647,d[3415918]|0,e[1707958]|0,aa>>>1&1,aa>>>2&1,aa>>>3&1,aa&1)|0;c[3358608+(n*1968|0)+12>>2]=9;g=Bx(a[h>>0]|0,k,m)|0;f=(k<<24>>24==0|(j|0)==0?g&65535:0)+f|0}else{c[g>>2]=0;g=0}b[3358608+(n*1968|0)+4>>1]=g;k=k+1<<24>>24;n=k&255}while(l>>>0>=n>>>0)}h=c[853973]|0;if(h){g=a[3362569]|0;if(!(a[3416911]|0)){kj(g);g=a[3362569]|0;h=c[853973]|0}a[3363553]=g;l=h>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+48|0;h=3358608+(j*1968|0)+54|0;a[h>>0]=1;i=Ax((j<<7|1)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=Hh(k,i)|0;c[3358608+(j*1968|0)+60>>2]=10;g=Bx(a[h>>0]|0,k,m)|0;f=f+((g&65535)>>>1&65535)|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+52>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[853980]|0){$l(a[3362593]|0);am(b[1681298]&255);a[3363577]=a[3362593]|0;b[1681790]=b[1681298]|0;i=(c[853980]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+102|0;a[aa>>0]=2;c[3358608+(g*1968|0)+96>>2]=pl(h,Ax((g<<7|2)&255,0)|0)|0;c[3358608+(g*1968|0)+108>>2]=11;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+100>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[853981]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+150|0;a[aa>>0]=3;c[3358608+(g*1968|0)+144>>2]=Af(h,Ax((g<<7|3)&255,0)|0)|0;c[3358608+(g*1968|0)+156>>2]=12;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+148>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[853983]|0;if(g){i=g>>>30&1;j=i+1&255;g=0;h=0;do{aa=3358608+(h*1968|0)+198|0;a[aa>>0]=4;$=Ax((h<<7|4)&255,0)|0;c[3358608+(h*1968|0)+192>>2]=fu(g,$,c[853984]|0)|0;c[3358608+(h*1968|0)+204>>2]=13;aa=Bx(a[aa>>0]|0,g,j)|0;b[3358608+(h*1968|0)+196>>1]=aa;f=f+(aa&65535)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[853985]|0){a[3358854]=5;c[839712]=Zt(Ax(5,0)|0)|0;c[839715]=14;aa=Bx(a[3358854]|0,0,1)|0;b[1679426]=aa;f=f+(aa&65535)|0}if(c[853986]|0){ch(a[3362689]|0);a[3363673]=a[3362689]|0;b[1681838]=b[1681346]|0;i=(c[853986]|0)>>>30&1;j=i+1&255;g=0;h=0;do{_=3358608+(h*1968|0)+294|0;a[_>>0]=6;aa=3358608+(h*1968|0)+332|0;c[aa>>2]=3364512+(h*144|0);a[3364512+(h*144|0)+6>>0]=-122;$=Ax((h<<7|6)&255,0)|0;c[3358608+(h*1968|0)+288>>2]=ig(g,$,b[3362544+(h*984|0)+148>>1]&1,a[3415998]|0,c[aa>>2]|0)|0;c[3358608+(h*1968|0)+300>>2]=15;c[(c[aa>>2]|0)+12>>2]=16;kh(g,c[aa>>2]|0);$=3358608+(h*1968|0)+292|0;b[$>>1]=Bx(a[_>>0]|0,g,j)|0;_=Bx(a[(c[aa>>2]|0)+6>>0]|0,g,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[853987]|0){Uj(a[3362713]|0);a[3363697]=a[3362713]|0;b[1681850]=b[1681358]|0;i=(c[853987]|0)>>>30&1;j=i+1&255;g=0;h=0;do{_=3358608+(h*1968|0)+342|0;a[_>>0]=7;aa=3358608+(h*1968|0)+380|0;c[aa>>2]=3364512+(h*144|0)+48;a[3364512+(h*144|0)+54>>0]=-121;$=Ax((h<<7|7)&255,0)|0;c[3358608+(h*1968|0)+336>>2]=Aj(g,$,b[3362544+(h*984|0)+172>>1]&1,a[3415999]|0,c[aa>>2]|0)|0;c[3358608+(h*1968|0)+348>>2]=17;c[(c[aa>>2]|0)+12>>2]=18;_j(g,c[aa>>2]|0);$=3358608+(h*1968|0)+340|0;b[$>>1]=Bx(a[_>>0]|0,g,j)|0;_=Bx(a[(c[aa>>2]|0)+6>>0]|0,g,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;g=g+1<<24>>24;h=g&255}while(i>>>0>=h>>>0)}if(c[853988]|0){tk(a[3362737]|0);a[3363721]=a[3362737]|0;b[1681862]=b[1681370]|0;i=(c[853988]|0)>>>30&1;j=i+1&255;h=0;g=0;do{_=3358608+(g*1968|0)+390|0;a[_>>0]=8;aa=3358608+(g*1968|0)+428|0;c[aa>>2]=3364512+(g*144|0)+96;a[3364512+(g*144|0)+102>>0]=-120;$=Ax((g<<7|8)&255,0)|0;c[3358608+(g*1968|0)+384>>2]=fk(h,$,b[3362544+(g*984|0)+196>>1]&1,c[aa>>2]|0)|0;c[3358608+(g*1968|0)+396>>2]=($|0)<0?20:19;c[(c[aa>>2]|0)+12>>2]=21;$=3358608+(g*1968|0)+388|0;b[$>>1]=Bx(a[_>>0]|0,h,j)|0;_=Bx(a[(c[aa>>2]|0)+6>>0]|0,h,j)|0;b[(c[aa>>2]|0)+4>>1]=_;f=f+(e[$>>1]|0)+(e[(c[aa>>2]|0)+4>>1]|0)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[853989]|0){Rn(a[3362761]|0);a[3363745]=a[3362761]|0;l=(c[853989]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+432|0;h=3358608+(j*1968|0)+438|0;a[h>>0]=9;i=Ax((j<<7|9)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=nn(k,i)|0;aa=(i|0)<0;c[3358608+(j*1968|0)+444>>2]=aa?23:22;g=Bx(a[h>>0]|0,k,m)|0;f=(k<<24>>24==0|aa^1?(g&65535)<<1:0)+f|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+436>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[853990]|0;if(g){l=g>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+480|0;h=3358608+(j*1968|0)+486|0;a[h>>0]=10;i=Ax((j<<7|10)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=pm(k,i)|0;c[3358608+(j*1968|0)+492>>2]=24;g=Bx(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+484>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[853991]|0;if(g){l=g>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+528|0;h=3358608+(j*1968|0)+534|0;a[h>>0]=11;i=Ax((j<<7|11)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=Wn(k,i)|0;c[3358608+(j*1968|0)+540>>2]=25;g=Bx(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+532>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[853992]|0){of(a[3362833]|0);a[3363817]=a[3362833]|0;l=(c[853992]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+576|0;h=3358608+(j*1968|0)+582|0;a[h>>0]=12;i=Ax((j<<7|12)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=pe(k,i)|0;c[3358608+(j*1968|0)+588>>2]=26;g=Bx(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+580>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}g=c[853993]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+630|0;a[aa>>0]=13;c[3358608+(g*1968|0)+624>>2]=Lw(h,Ax((g<<7|13)&255,0)|0)|0;c[3358608+(g*1968|0)+636>>2]=27;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+628>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[853994]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+678|0;a[aa>>0]=14;c[3358608+(g*1968|0)+672>>2]=nw(h,Ax((g<<7|14)&255,0)|0)|0;c[3358608+(g*1968|0)+684>>2]=28;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+676>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[853995]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+726|0;a[aa>>0]=15;c[3358608+(g*1968|0)+720>>2]=_w(h,Ax((g<<7|15)&255,0)|0)|0;c[3358608+(g*1968|0)+732>>2]=29;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+724>>1]=aa;f=(((aa&65535)<<5>>>0)/19|0)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[853996]|0){a[3359382]=16;c[839844]=ru(Ax(16,0)|0)|0;c[839847]=30;aa=Bx(a[3359382]|0,0,1)|0;b[1679690]=aa;f=((aa&65535)<<1)+f|0}if(c[853997]|0){a[3359430]=17;c[839856]=ft(Ax(17,0)|0)|0;c[839859]=31;aa=Bx(a[3359430]|0,0,1)|0;b[1679714]=aa;f=f+(aa&65535)|0}if(c[853998]|0){Co(a[3362977]|0);a[3363961]=a[3362977]|0;l=(c[853998]|0)>>>30&1;m=l+1&255;k=0;j=0;do{g=3358608+(j*1968|0)+864|0;h=3358608+(j*1968|0)+870|0;a[h>>0]=18;i=Ax((j<<7|18)&255,0)|0;if(!(a[3416911]|0)){c[g>>2]=xo(k,i,a[3415996]|0,a[3415997]|0)|0;c[3358608+(j*1968|0)+876>>2]=32;g=Bx(a[h>>0]|0,k,m)|0;f=((g&65535)<<1)+f|0}else{c[g>>2]=0;g=0}b[3358608+(j*1968|0)+868>>1]=g;k=k+1<<24>>24;j=k&255}while(l>>>0>=j>>>0)}if(c[854001]|0){_p(b[1681502]&255);b[1681994]=b[1681502]|0;i=(c[854001]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+918|0;a[aa>>0]=19;c[3358608+(g*1968|0)+912>>2]=Vp(h,Ax((g<<7|19)&255,0)|0)|0;c[3358608+(g*1968|0)+924>>2]=33;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+916>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854002]|0){hs(a[3363025]|0);is(b[1681514]|0);a[3364009]=a[3363025]|0;b[1682006]=b[1681514]|0;i=(c[854002]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+966|0;a[aa>>0]=20;c[3358608+(g*1968|0)+960>>2]=Er(h,Ax((g<<7|20)&255,0)|0)|0;c[3358608+(g*1968|0)+972>>2]=34;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+964>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854003]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1014|0;a[aa>>0]=21;c[3358608+(g*1968|0)+1008>>2]=Mq(h,Ax((g<<7|21)&255,0)|0)|0;c[3358608+(g*1968|0)+1020>>2]=35;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1012>>1]=aa;f=((aa&65535)<<2)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854004]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1062|0;a[aa>>0]=22;c[3358608+(g*1968|0)+1056>>2]=Nv(h,Ax((g<<7|22)&255,0)|0)|0;c[3358608+(g*1968|0)+1068>>2]=36;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1060>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854005]|0){As(b[1681550]|0);b[1682042]=b[1681550]|0;i=(c[854005]|0)>>>30&1;j=i+1&255;h=0;g=0;do{$=3358608+(g*1968|0)+1104|0;aa=3358608+(g*1968|0)+1110|0;a[aa>>0]=23;Z=Ax((g<<7|23)&255,0)|0;_=d[3416024]|0;c[$>>2]=ps(h,Z,_&3,_>>>2&1,_>>>3&1)|0;c[3358608+(g*1968|0)+1116>>2]=37;Bs(h,$);aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1108>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854007]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3358608+(g*1968|0)+1152|0;aa=3358608+(g*1968|0)+1158|0;a[aa>>0]=24;c[$>>2]=Is(h,Ax((g<<7|24)&255,0)|0)|0;c[3358608+(g*1968|0)+1164>>2]=38;Ss(h,$);aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1156>>1]=aa;f=((aa&65535)<<1)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854008]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1206|0;a[aa>>0]=25;c[3358608+(g*1968|0)+1200>>2]=aq(h,Ax((g<<7|25)&255,0)|0)|0;c[3358608+(g*1968|0)+1212>>2]=39;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1204>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854009]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1254|0;a[aa>>0]=26;c[3358608+(g*1968|0)+1248>>2]=Cq(h,Ax((g<<7|26)&255,0)|0)|0;c[3358608+(g*1968|0)+1260>>2]=40;wq(h,d[3416025]|0);aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1252>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854010]|0){op(a[3363193]|0);a[3364177]=a[3363193]|0;i=(c[854010]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1302|0;a[aa>>0]=27;c[3358608+(g*1968|0)+1296>>2]=Zo(h,Ax((g<<7|27)&255,0)|0)|0;c[3358608+(g*1968|0)+1308>>2]=41;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1300>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854011]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1350|0;a[aa>>0]=28;$=Ax((g<<7|28)&255,0)|0;c[3358608+(g*1968|0)+1344>>2]=Io(h,$,d[3416026]|0)|0;c[3358608+(g*1968|0)+1356>>2]=42;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1348>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854012]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1398|0;a[aa>>0]=29;c[3358608+(g*1968|0)+1392>>2]=pq(h,Ax((g<<7|29)&255,0)|0)|0;c[3358608+(g*1968|0)+1404>>2]=43;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1396>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854013]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1446|0;a[aa>>0]=30;c[3358608+(g*1968|0)+1440>>2]=Us(h,Ax((g<<7|30)&255,0)|0)|0;c[3358608+(g*1968|0)+1452>>2]=44;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1444>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854014]|0){Vt(a[3363289]|0);a[3364273]=a[3363289]|0;i=(c[854014]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1494|0;a[aa>>0]=31;c[3358608+(g*1968|0)+1488>>2]=qt(h,Ax((g<<7|31)&255,0)|0)|0;c[3358608+(g*1968|0)+1500>>2]=45;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1492>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854015]|0){ev(b[1681658]&255);b[1682150]=b[1681658]|0;i=(c[854015]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1542|0;a[aa>>0]=32;c[3358608+(g*1968|0)+1536>>2]=Ju(h,Ax((g<<7|32)&255,0)|0)|0;c[3358608+(g*1968|0)+1548>>2]=46;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1540>>1]=aa;f=((aa&65535)<<3)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854017]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1590|0;a[aa>>0]=33;c[3358608+(g*1968|0)+1584>>2]=Dc(h,Ax((g<<7|33)&255,0)|0)|0;c[3358608+(g*1968|0)+1596>>2]=47;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1588>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854018]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1638|0;a[aa>>0]=34;c[3358608+(g*1968|0)+1632>>2]=Pc(h,Ax((g<<7|34)&255,0)|0)|0;c[3358608+(g*1968|0)+1644>>2]=48;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1636>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854019]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1686|0;a[aa>>0]=35;c[3358608+(g*1968|0)+1680>>2]=Vc(h,Ax((g<<7|35)&255,0)|0)|0;c[3358608+(g*1968|0)+1692>>2]=49;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1684>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854020]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3358608+(g*1968|0)+1728|0;aa=3358608+(g*1968|0)+1734|0;a[aa>>0]=36;_=Ax((g<<7|36)&255,0)|0;c[$>>2]=Gd(h,_,d[3416088]|0)|0;c[3358608+(g*1968|0)+1740>>2]=50;Md(h,$);aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1732>>1]=aa;f=((aa&65535)<<3)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854021]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{$=3358608+(g*1968|0)+1776|0;aa=3358608+(g*1968|0)+1782|0;a[aa>>0]=37;c[$>>2]=ld(h,Ax((g<<7|37)&255,0)|0)|0;c[3358608+(g*1968|0)+1788>>2]=51;Dd(h,$);aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1780>>1]=aa;f=((aa&65535)<<4)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854023]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1830|0;a[aa>>0]=38;c[3358608+(g*1968|0)+1824>>2]=xc(h,Ax((g<<7|38)&255,0)|0)|0;c[3358608+(g*1968|0)+1836>>2]=52;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1828>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}if(c[854024]|0){Xd(b[1681742]&255);b[1682234]=b[1681742]|0;i=(c[854024]|0)>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1878|0;a[aa>>0]=39;$=Ax((g<<7|39)&255,0)|0;c[3358608+(g*1968|0)+1872>>2]=Qd(h,$,d[3416090]<<2)|0;c[3358608+(g*1968|0)+1884>>2]=53;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1876>>1]=aa;f=((aa&65535)<<3)+f|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}g=c[854025]|0;if(g){i=g>>>30&1;j=i+1&255;h=0;g=0;do{aa=3358608+(g*1968|0)+1926|0;a[aa>>0]=40;c[3358608+(g*1968|0)+1920>>2]=cd(h,Ax((g<<7|40)&255,0)|0)|0;c[3358608+(g*1968|0)+1932>>2]=54;aa=Bx(a[aa>>0]|0,h,j)|0;b[3358608+(g*1968|0)+1924>>1]=aa;f=f+(aa&65535)|0;h=h+1<<24>>24;g=h&255}while(i>>>0>=g>>>0)}a[3416915]=0;g=0;do{a[3366624+(g<<1)>>0]=0;g=g+1|0}while((g|0)!=255);QA(3364832,0,1536)|0;c[854061]=0;c[854062]=0;c[854063]=0;yx(1);if((f+-1|0)>>>0<511){i=b[1682258]|0;do{g=3358608;h=0;while(1){aa=g+4|0;b[aa>>1]=e[aa>>1]<<1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=(i&65535)<<1;b[1682282]=e[1682282]<<1;b[1682306]=e[1682306]<<1;g=3360576;h=0;while(1){aa=g+4|0;b[aa>>1]=e[aa>>1]<<1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=i&65535;b[1682330]=e[1682330]<<1;b[1682354]=e[1682354]<<1;b[1682378]=e[1682378]<<1;f=f<<1}while((f+-1|0)>>>0<511);b[1682258]=i}if(f>>>0>768){i=b[1682258]|0;while(1){g=3358608;h=0;while(1){aa=g+4|0;b[aa>>1]=(e[aa>>1]|0)>>>1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}b[1682282]=(e[1682282]|0)>>>1;b[1682306]=(e[1682306]|0)>>>1;g=3360576;h=0;while(1){aa=g+4|0;b[aa>>1]=(e[aa>>1]|0)>>>1;h=h+1<<24>>24;if((h&255)>=41)break;else g=g+48|0}i=(i&65535)>>>1;b[1682330]=(e[1682330]|0)>>>1;b[1682354]=(e[1682354]|0)>>>1;b[1682378]=(e[1682378]|0)>>>1;if(f>>>0<=1537)break;else f=f>>>1}b[1682258]=i}f=0;do{aa=3358608+(f*1968|0)|0;Ex(aa);Ex(aa+48|0);Ex(aa+96|0);Ex(aa+144|0);Ex(aa+192|0);Ex(aa+240|0);Ex(aa+288|0);Ex(aa+336|0);Ex(aa+384|0);Ex(aa+432|0);Ex(aa+480|0);Ex(aa+528|0);Ex(aa+576|0);Ex(aa+624|0);Ex(aa+672|0);Ex(aa+720|0);Ex(aa+768|0);Ex(aa+816|0);Ex(aa+864|0);Ex(aa+912|0);Ex(aa+960|0);Ex(aa+1008|0);Ex(aa+1056|0);Ex(aa+1104|0);Ex(aa+1152|0);Ex(aa+1200|0);Ex(aa+1248|0);Ex(aa+1296|0);Ex(aa+1344|0);Ex(aa+1392|0);Ex(aa+1440|0);Ex(aa+1488|0);Ex(aa+1536|0);Ex(aa+1584|0);Ex(aa+1632|0);Ex(aa+1680|0);Ex(aa+1728|0);Ex(aa+1776|0);Ex(aa+1824|0);Ex(aa+1872|0);Ex(aa+1920|0);Ex(3364512+(f*144|0)|0);Ex(3364512+(f*144|0)+48|0);Ex(3364512+(f*144|0)+96|0);f=f+1|0}while((f|0)!=2);Fx();return}case 1:{k=0;do{h=k&255;f=0;g=3358608+(k*1968|0)|0;while(1){i=a[g+6>>0]|0;a:do if(i<<24>>24!=-1){aa=a[3416911]|0;j=aa<<24>>24!=0;if(!((aa|i)<<24>>24)){Cv(h);break}if(!(i<<24>>24!=1|j)){dj(h);break}switch(i<<24>>24){case 2:{Fl(h);break a}case 3:{Gf(h);break a}case 4:{hu(h);break a}case 5:{$t(h);break a}case 6:{Kg(h);break a}case 7:{Lj(h);break a}case 8:{pk(h);break a}case 9:{if(j)break a;An(h);break a}default:{if(!(i<<24>>24!=10|j)){Vm(h);break a}if(!(i<<24>>24!=11|j)){po(h);break a}switch(i<<24>>24){case 12:{if(!j)We(h);if(!(a[3416906]|0))break a;Gx(12,h,1,5,1);Gx(12,h,0,-67,-64);Gx(12,h,1,4,0);break a}case 13:{Pw(h);break a}case 14:{qw(h);break a}case 15:{bx(h);break a}case 16:{tu(h);break a}case 17:{gt(h);break a}default:{if(!(i<<24>>24!=18|j)){Ao(h);break a}do switch(i<<24>>24){case 19:{Yp(h);break a}case 20:{as(h);break a}case 21:{Qq(h);break a}case 22:{Lv(h);break a}case 23:{ss(h);break a}case 24:{Ks(h);break a}case 25:{dq(h);break a}case 26:{Fq(h);break a}case 27:{hp(h);break a}case 28:{Ko(h);break a}case 29:{mq(h);break a}case 30:{Xs(h);break a}case 31:{xt(h);break a}case 32:{Ou(h);break a}case 33:{Ec(h);break a}case 34:{Qc(h);break a}case 35:{Wc(h);break a}case 36:{Id(h);break a}case 37:{pd(h);break a}case 38:{zc(h);break a}case 39:{Td(h);break a}case 40:{ad(h);break a}default:break a}while(0)}}}}}while(0);f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}k=k+1|0}while((k|0)!=2);yx(16);yx(32);f=a[3416915]|0;if(f<<24>>24){f=f&255;g=0;do{xp(a[3366368+g>>0]|0);g=g+1|0}while((g|0)!=(f|0))}f=0;do{c[3364832+(f*24|0)+16>>2]=0;c[3364832+(f*24|0)+20>>2]=0;f=f+1|0}while((f|0)!=64);b[1708124]=0;return}case 2:{l=0;do{h=l&255;f=0;g=3358608+(l*1968|0)|0;while(1){i=g+6|0;j=a[i>>0]|0;if(j<<24>>24!=-1){aa=a[3416911]|0;k=aa<<24>>24!=0;b:do if(!((aa|j)<<24>>24))Bv(h);else{if(!(j<<24>>24!=1|k)){_i(h);break}switch(j<<24>>24){case 2:{Cl(h);break b}case 3:{Ef(h);break b}case 4:{gu(h);break b}case 5:{_t(h);break b}case 6:{Gg(h);break b}case 7:{Jj(h);break b}case 8:{nk(h);break b}default:{if(!(j<<24>>24!=9|k)){xn(h);break b}if(!(j<<24>>24!=10|k)){Rm(h);break b}if(!(j<<24>>24!=11|k)){no(h);break b}if(!(j<<24>>24!=12|k)){Re(h);break b}switch(j<<24>>24){case 17:break b;case 13:{Ow(h);break b}case 14:{pw(h);break b}case 15:{ax(h);break b}case 16:{su(h);break b}default:{if(!(j<<24>>24!=18|k)){zo(h);break b}do switch(j<<24>>24){case 40:{dd(h);break b}case 20:{Zr(h);break b}case 21:{Pq(h);break b}case 22:{Ov(h);break b}case 39:{Sd(h);break b}case 24:{Js(h);break b}case 25:{cq(h);break b}case 26:{Eq(h);break b}case 27:{fp(h);break b}case 28:{Jo(h);break b}case 29:{rq(h);break b}case 38:{yc(h);break b}case 31:{vt(h);break b}case 32:{Nu(h);break b}case 33:{Gc(h);break b}case 37:{od(h);break b}case 36:{Hd(h);break b}default:break b}while(0)}}}}}while(0);a[i>>0]=-1}f=f+1<<24>>24;if((f&255)>=41)break;else g=g+48|0}l=l+1|0}while((l|0)!=2);f=a[3416915]|0;if(f<<24>>24){f=f&255;g=0;do{aa=a[3366368+g>>0]|0;wp(aa);a[3366624+((aa&255)<<1)>>0]=0;g=g+1|0}while((g|0)!=(f|0))}a[3416915]=0;f=0;do{Iy(c[3364832+(f*24|0)+4>>2]|0);Iy(c[3364832+(f*24|0)+12>>2]|0);f=f+1|0}while((f|0)!=64);Iy(c[854063]|0);return}case 16:{aa=0;do{h=3362544+(aa*984|0)+8|0;i=3362544+(aa*984|0)+32|0;j=3362544+(aa*984|0)+56|0;k=3362544+(aa*984|0)+80|0;l=3362544+(aa*984|0)+104|0;m=3362544+(aa*984|0)+128|0;n=3362544+(aa*984|0)+152|0;o=3362544+(aa*984|0)+160|0;p=3362544+(aa*984|0)+176|0;q=3362544+(aa*984|0)+180|0;r=3362544+(aa*984|0)+184|0;s=3362544+(aa*984|0)+200|0;t=3362544+(aa*984|0)+204|0;u=3362544+(aa*984|0)+208|0;v=3362544+(aa*984|0)+224|0;w=3362544+(aa*984|0)+248|0;x=3362544+(aa*984|0)+272|0;y=3362544+(aa*984|0)+296|0;z=3362544+(aa*984|0)+320|0;A=3362544+(aa*984|0)+324|0;B=3362544+(aa*984|0)+344|0;C=3362544+(aa*984|0)+368|0;D=3362544+(aa*984|0)+392|0;E=3362544+(aa*984|0)+440|0;F=3362544+(aa*984|0)+464|0;G=3362544+(aa*984|0)+488|0;H=3362544+(aa*984|0)+512|0;I=3362544+(aa*984|0)+968|0;J=3362544+(aa*984|0)+944|0;K=3362544+(aa*984|0)+584|0;L=3362544+(aa*984|0)+608|0;M=3362544+(aa*984|0)+632|0;N=3362544+(aa*984|0)+656|0;O=3362544+(aa*984|0)+680|0;P=3362544+(aa*984|0)+704|0;Q=3362544+(aa*984|0)+728|0;R=3362544+(aa*984|0)+752|0;S=3362544+(aa*984|0)+776|0;T=3362544+(aa*984|0)+800|0;U=3362544+(aa*984|0)+824|0;V=3362544+(aa*984|0)+848|0;W=3362544+(aa*984|0)+872|0;X=3362544+(aa*984|0)+896|0;Y=3362544+(aa*984|0)+920|0;Z=aa&255;f=3358608+(aa*1968|0)|0;g=0;while(1){_=a[f+6>>0]|0;c:do if(_<<24>>24!=-1){ba=a[3416911]|0;$=ba<<24>>24!=0;if(!((ba|_)<<24>>24)){Fv(Z,c[h>>2]|0);break}if(!(_<<24>>24!=1|$)){lj(Z,c[i>>2]|0);break}switch(_<<24>>24){case 2:{em(Z,c[j>>2]|0);break c}case 3:{Nf(Z,c[k>>2]|0);break c}case 4:{ku(Z,c[l>>2]|0);break c}case 5:{du(Z,c[m>>2]|0);break c}case 6:{dh(Z,c[n>>2]|0,c[o>>2]|0);break c}case 7:{Yj(Z,c[q>>2]<<6&8128|c[p>>2]&63,c[r>>2]|0);break c}case 8:{wk(Z,c[t>>2]<<6&8128|c[s>>2]&63,c[u>>2]|0);break c}default:{if(!(_<<24>>24!=9|$)){Sn(Z,c[v>>2]|0);break c}if(!(_<<24>>24!=10|$)){Zm(Z,c[w>>2]|0);break c}if(!(_<<24>>24!=11|$)){uo(Z,c[x>>2]|0);break c}if(!(_<<24>>24!=12|$)){pf(Z,c[y>>2]|0);break c}switch(_<<24>>24){case 17:break c;case 13:{Sw(Z,c[z>>2]|0,c[A>>2]|0);break c}case 14:{sw(Z,c[B>>2]|0);break c}case 15:{hx(Z,c[C>>2]|0);break c}case 16:{xu(Z,c[D>>2]|0);break c}default:{if(!(_<<24>>24!=18|$)){Do(Z,c[E>>2]|0);break c}do switch(_<<24>>24){case 19:{Xp(Z,c[F>>2]|0);break c}case 20:{js(Z,c[G>>2]|0);break c}case 21:{Yq(Z,c[H>>2]|0);break c}case 40:{fd(Z,c[I>>2]|0);break c}case 39:{Rd(Z,c[J>>2]|0);break c}case 24:{Rs(Z,c[K>>2]|0);break c}case 25:{lq(Z,c[L>>2]|0);break c}case 26:{Hq(Z,c[M>>2]|0);break c}case 27:{pp(Z,c[N>>2]|0);break c}case 28:{No(Z,c[O>>2]|0);break c}case 29:{vq(Z,c[P>>2]|0);break c}case 30:{Zs(Z,c[Q>>2]|0);break c}case 31:{Ut(Z,c[R>>2]|0);break c}case 32:{dv(Z,c[S>>2]|0);break c}case 33:{Kc(Z,c[T>>2]|0);break c}case 34:{Sc(Z,c[U>>2]|0);break c}case 35:{Zc(Z,c[V>>2]|0);break c}case 36:{Ld(Z,c[W>>2]|0);break c}case 37:{Cd(Z,c[X>>2]|0);break c}case 38:{Cc(Z,c[Y>>2]|0);break c}default:break c}while(0)}}}}}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}aa=aa+1|0}while((aa|0)!=2);return}case 32:{f=3358608;g=0;while(1){h=a[f+6>>0]|0;do if(h<<24>>24!=-1){i=a[3416911]|0;if(!((i|h)<<24>>24)){Gv(0,c[840641]|0);break}if(!(h<<24>>24!=1|i<<24>>24!=0))oj(0,c[840647]|0)}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}f=3360576;g=0;while(1){h=a[f+6>>0]|0;do if(h<<24>>24!=-1){i=a[3416911]|0;if(!((i|h)<<24>>24)){Gv(1,c[840887]|0);break}if(!(h<<24>>24!=1|i<<24>>24!=0))oj(1,c[840893]|0)}while(0);g=g+1<<24>>24;if((g&255)>=41)break;else f=f+48|0}return}default:return}}function zx(a,b,d){a=a|0;b=b|0;d=d|0;d=d<<2;QA(c[b>>2]|0,0,d|0)|0;QA(c[b+4>>2]|0,0,d|0)|0;return}function Ax(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=e&255;m=h&127;a:do switch(e&127){case 0:{e=c[853972]|0;if((f|0)==0|(e|0)<0){l=1;k=0}else switch(a[3415918]|0){case 15:{l=1;k=(d[3415919]|0)>>>1&4|1;break a}case 16:{switch(b[1707958]|0){case 9:{l=1;k=6;break a}case 34:break;default:{l=1;k=0;break a}}g=d[3415919]|0;if(!(g&16)){l=1;k=7;break a}l=1;k=8-(g>>>1&1)&255;break a}case 17:{l=1;k=(d[3415919]|0)>>>3&1|2;break a}default:{l=1;k=0;break a}}break}case 1:{l=1;k=0;e=c[853973]|0;break}case 2:{l=1;k=0;e=c[853980]|0;break}case 3:{l=0;k=0;e=c[853981]|0;break}case 4:{l=0;k=0;e=c[853983]|0;break}case 5:if(!(h&128)){l=0;k=0;e=c[853985]|0;break a}else{f=0;return f|0}case 6:{l=0;k=0;e=c[853986]|0;break}case 7:{l=0;k=0;e=c[853987]|0;break}case 8:{l=1;k=0;e=c[853988]|0;break}case 9:{l=1;k=0;e=c[853989]|0;break}case 10:{l=0;k=0;e=c[853990]|0;break}case 11:{l=0;k=0;e=c[853991]|0;break}case 12:{l=0;k=0;e=c[853992]|0;break}case 13:{l=0;k=0;e=c[853993]|0;break}case 14:{l=0;k=0;e=c[853994]|0;break}case 15:{l=0;k=0;e=c[853995]|0;break}case 16:if(!(h&128)){l=1;k=0;e=c[853996]|0;break a}else{f=0;return f|0}case 17:if(!(h&128)){l=0;k=0;e=c[853997]|0;break a}else{f=0;return f|0}case 18:{l=0;k=a[3415996]|0;e=c[853998]|0;break}case 19:{l=0;k=0;e=c[854001]|0;break}case 20:{l=1;k=0;e=c[854002]|0;break}case 21:{l=0;k=0;e=c[854003]|0;break}case 22:{l=1;k=0;e=c[854004]|0;break}case 23:{l=0;k=0;e=c[854005]|0;break}case 24:{l=1;k=0;e=c[854007]|0;break}case 25:{l=1;k=0;e=c[854008]|0;break}case 26:{l=0;k=0;e=c[854009]|0;break}case 27:{l=0;k=0;e=c[854010]|0;break}case 28:{l=0;k=a[3416026]|0;e=c[854011]|0;break}case 29:{l=0;k=0;e=c[854012]|0;break}case 30:{l=0;k=0;e=c[854013]|0;break}case 31:if(!(h&128)){l=0;k=0;e=c[854014]|0;break a}else{f=0;return f|0}case 32:{l=0;k=0;e=c[854015]|0;break}case 33:{l=0;k=0;e=c[854017]|0;break}case 34:{l=0;k=0;e=c[854018]|0;break}case 35:{l=0;k=0;e=c[854019]|0;break}case 36:{l=0;k=0;e=c[854020]|0;break}case 37:{l=1;k=0;e=c[854021]|0;break}case 38:{l=0;k=0;e=c[854023]|0;break}case 39:{l=1;k=0;e=c[854024]|0;break}case 40:{l=0;k=0;e=c[854025]|0;break}default:{f=0;return f|0}}while(0);b:do if(h&128){if(!(e&1073741824)){f=0;return f|0}g=a[3416140]|0;if(g<<24>>24){j=c[854036]|0;g=g&255;h=0;while(1){i=h+1|0;if((m|0)==(d[j+(h<<3)>>0]|0))break;if(i>>>0>>0)h=i;else break b}m=c[j+(h<<3)+4>>2]|0;e=(m|0)==0?e:m}}while(0);if(f|0)a[f>>0]=k;if(!(l<<24>>24)){f=e&1073741823;return f|0}else{f=e&-1073741825;return f|0}return 0}function Bx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=d&255;g=b[44624+((k&127)<<1)>>1]|0;switch(d<<24>>24){case 0:{if((Ax((k<<7|k)&255,0)|0)<0)i=1;else j=6;break}case 24:{h=c[854047]|0;if(!h)j=6;else{j=(BA(h)|0)==0;g=j?110:g;j=6}break}case -122:{g=(g&65535)>>>1;j=6;break}default:j=6}if((j|0)==6)if((f&255)>1){i=e;g=(((g&65535)>>>0)/((f&255)>>>0)|0)&65535}else i=e;f=a[3416148]|0;if(!(f<<24>>24)){k=g;return k|0}h=0;e=c[854038]|0;while(1){if((a[e>>0]|0)==d<<24>>24?(a[e+1>>0]&1)==i<<24>>24:0)break;h=h+1<<24>>24;if((h&255)>=(f&255)){j=17;break}else e=e+4|0}if((j|0)==17)return g|0;h=b[e+2>>1]|0;e=h&65535;if(e&32768|0){k=((M(e&32767,g&65535)|0)+128|0)>>>8&65535;return k|0}if((k&128|0)==0|(a[3416905]|0)==0){k=h;return k|0}k=e<<1&65535;return k|0}function Cx(b,d){b=b|0;d=d|0;var e=0,f=0;if((c[b>>2]|0)==(d|0))return;c[b>>2]=d;e=c[853960]|0;if(e>>>0<=d>>>0)if((e|0)!=(d|0)){if(e>>>0>>0){d=3;f=5}}else{d=2;f=5}else{d=1;f=5}if((f|0)==5)a[b+8>>0]=d;c[b+16>>2]=1;f=b+20|0;b=b+24|0;c[b>>2]=(c[b>>2]|0)-(c[f>>2]|0);c[f>>2]=0;return}function Dx(a,b,d){a=a|0;b=b|0;d=d|0;$m(a,b,d);if(!(a&1)){QA(c[b+4>>2]|0,0,d<<2|0)|0;return}else{QA(c[b>>2]|0,0,d<<2|0)|0;return}}function Ex(b){b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(!d){a[b+8>>0]=-1;return}e=c[853960]|0;a:do if(d>>>0>=e>>>0){if((d|0)==(e|0)){a[b+8>>0]=2;f=13;break}f=b+8|0;if(d>>>0>e>>>0){a[f>>0]=3;e=f;d=3;f=10;break}else{d=a[f>>0]|0;switch(d<<24>>24){case 3:case 1:{e=f;f=10;break a}default:{f=14;break a}}}}else{e=b+8|0;a[e>>0]=1;d=1;f=10}while(0);b:do if((f|0)==10){switch(a[3416902]|0){case 2:break;case 1:{if(d<<24>>24!=3){f=14;break b}break}default:{f=14;break b}}a[e>>0]=0;f=13}while(0);if((f|0)==13){f=b+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0}else if((f|0)==14?(f=b+16|0,c[f>>2]=0,c[f+4>>2]=0,c[f+8>>2]=0,c[f+12>>2]=0,c[f+16>>2]=0,d<<24>>24==1):0){ya[c[b+12>>2]&63](a[b+7>>0]|0,3416268,1);c[b+36>>2]=c[c[854067]>>2];c[b+40>>2]=c[c[854068]>>2];return}c[b+36>>2]=0;c[b+40>>2]=0;return}function Fx(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[854055]=0;c[854054]=0;e=0;d=0;b=0;f=0;do{if((a[3358608+(f*48|0)+6>>0]|0)!=-1){i=b&65535;g=3367136+(i*12|0)|0;h=(d|0)==0;c[(h?3416220:d+8|0)>>2]=g;c[g>>2]=3358608+(f*48|0);c[3367136+(i*12|0)+4>>2]=3362544+(f*24|0);e=h?g:e;b=b+1<<16>>16;d=g}if((a[3360576+(f*48|0)+6>>0]|0)!=-1){g=b&65535;i=3367136+(g*12|0)|0;h=(d|0)==0;c[(h?3416220:d+8|0)>>2]=i;c[i>>2]=3360576+(f*48|0);c[3367136+(g*12|0)+4>>2]=3363528+(f*24|0);e=h?i:e;b=b+1<<16>>16;d=i}f=f+1|0}while((f|0)!=41);if(d|0)c[d+8>>2]=0;if(!e)return;d=0;do{switch(a[(c[e>>2]|0)+6>>0]|0){case 16:case 5:break;default:{i=3367136+((b&65535)*12|0)|0;c[((d|0)==0?3416216:d+8|0)>>2]=i;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];b=b+1<<16>>16;d=i}}e=c[e+8>>2]|0}while((e|0)!=0);if(!d)return;c[d+8>>2]=0;return}function Gx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;do switch(a<<24>>24){case 0:{Dv(b,c&255,e);return}case 1:{gj(b,0,d);gj(b,1,e);return}case 2:{c=(c&255)<<1;Yl(b,c,d);Yl(b,c|1,e);return}case 3:{Mf(b,0,d);Mf(b,1,e);return}case 40:{$c(b,d&255,e);return}case 5:{au(b,d&255,e);return}case 6:{ah(b,0,d);ah(b,1,e);return}case 7:{c=(c&255)<<1;Qj(b,c,d);Qj(b,c|1,e);return}case 8:{c=(c&255)<<1;rk(b,c,d);rk(b,c|1,e);return}case 9:{Cn(b,0,d);Cn(b,1,e);return}case 10:{Wm(b,0,d);Wm(b,1,e);return}case 11:{qo(b,0,d);qo(b,1,e);return}case 12:{c=(c&255)<<1;Ze(b,c,d);Ze(b,c|1,e);return}case 13:{c=(c&255)<<1;Hw(b,c,d);Hw(b,c|1,e);return}case 14:{c=(c&255)<<1;dw(b,c,d);dw(b,c|1,e);return}case 15:{fx(b,0,d);fx(b,1,e);return}case 16:{uu(b,d&255,e);return}case 17:{ht(b,c,((d&255)<<8|e&255)&65535);return}case 18:{Bo(b,0,d);Bo(b,1,e);return}case 19:{Mp(b,d&255,e);return}case 20:{fs(b,d&255,e);return}case 21:{Rq(b,d&255,e);return}case 22:{Tv(b,d,e);return}case 23:{vs(b,d,e);return}case 24:{Ns(b,d&255,e);return}case 25:{c=(c&255)<<1;kq(b,c,d);kq(b,c|1,e);return}case 26:{Aq(b,(c&255)<<8|d&255,e);return}case 27:{lp(b,d&255,e);return}case 28:{Fo(b,(c&255)<<8|d&255,e);return}case 29:{sq(b,d&255,e);return}case 30:{Ys(b,d&255,e);return}case 31:{Nt(b,0,c);Nt(b,1,d);Nt(b,2,e);return}case 32:{Ru(b,(c&255)<<8|d&255,e);return}case 33:{Fc(b,d|-128,e);return}case 34:{Lc(b,(c&255)<<8|d&255,e);return}case 35:{Xc(b,d);Yc(b,e);return}case 36:{Jd(b,d&255,e);return}case 37:{a=c&255;if(!(a&128)){rd(b,a,e);return}else{Ad(b,a&127,((d&255)<<8|e&255)&65535);return}}case 38:{Ac(b,(c&255)<<8|d&255,e);return}case 39:{Vd(b,c&255,((d&255)<<8|e&255)&65535);return}default:return}while(0)}function Hx(){var e=0,f=0,h=0.0,i=0.0,k=0,l=0,m=0;if((a[3416907]|0)!=-1)return;a[3416908]=0;g[853967]=1.0;a[3416909]=0;c[853968]=0;a[3416910]=1;a:do if(!(b[1708435]|0))k=16;else{e=0;f=0;do{b:do if(Ax(f,0)|0){switch(f&127){case 18:case 0:{e=e|4;break b}case 1:break;default:k=7}if((k|0)==7?(k=0,(f+-9&255)>=4):0){e=e|1;break}e=e|2}while(0);f=f+1<<24>>24}while((f&255)<41);if(!(a[3416900]|0)){f=e&255;e=(f&1|0)==0?e:f&253;f=e&255;if(e<<24>>24!=4){if((f&5|0)==5)e=f&251}else e=1}l=e&255;switch(((l>>>1&2|l&251)&255)<<24>>24){case 1:case 0:{k=16;break a}case 2:{a[3416907]=1;l=1;break a}case 3:{a[3416907]=2;l=2;break a}default:{l=a[3416907]|0;break a}}}while(0);if((k|0)==16){a[3416907]=0;l=0}k=l<<24>>24!=0;a[3416911]=k&1;f=a[3416e3]|0;e=f&255;h=+g[853962];h=+ma(+(+(((f&255)<193?e:f<<24>>24==-63?-64:e|-256)|0)*.03125))*h;g[854026]=h;e=(g[j>>2]=h,c[j>>2]|0);do if(k){i=+g[853963];if(i>0.0){g[854026]=i;e=(g[j>>2]=i,c[j>>2]|0);break}if(i<0.0){i=-(i*h);g[854026]=i;e=(g[j>>2]=i,c[j>>2]|0)}}while(0);c[854027]=e;e=c[853964]|0;if(!e)e=0;else{e=((M(e,d[3416003]|0)|0)+8|0)>>>4;e=e-(a[3416002]|0)|0;e=(e|0)>1?e:1}c[854028]=e;f=c[853965]|0;e=c[853978]|0;if((f|0)!=0&(e|0)!=0){m=Ix(e,f)|0;k=(e>>>0)/(m>>>0)|0;e=(f>>>0)/(m>>>0)|0}else{k=1;e=1}f=M(k,c[853960]|0)|0;k=M(c[854029]|0,e)|0;m=Ix(f,k)|0;c[854069]=(f>>>0)/(m>>>0)|0;c[854070]=(k>>>0)/(m>>>0)|0;c[854030]=0;a[3416912]=0;m=c[853982]|0;c[854031]=m;c[854032]=0;c[854033]=0;a[3416913]=0;c[854034]=0;if(m>>>0>=(c[853970]|0)>>>0)a[3416913]=1;c:do if(!(a[3416904]|0))switch(l<<24>>24){case 2:{xx();break c}case 1:{xx();break c}default:break c}while(0);yx(0);if(a[3416911]|0)a[3416909]=1;b[1708436]=-1;a[3416914]=1;Jx(0);a[3416914]=0;a[3416910]=0;a[3416909]=1;return}function Ix(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=b|a;if(!((a|0)!=0&(b|0)!=0))return c|0;if(!(c&1)){c=0;do{a=a>>>1;b=b>>>1;c=c+1|0}while(((b|a)&1|0)==0)}else c=0;while(1)if(!(a&1))a=a>>>1;else break;do{while(1)if(!(b&1))b=b>>>1;else break;e=a>>>0>>0;d=a;a=e?a:b;b=(e?b-d|0:d-b|0)>>>1}while((b|0)!=0);e=a<>>0>1&(a[3416915]|0)!=0){e=b+-1|0;f=0;do{sp(a[3366368+f>>0]|0,e);f=f+1|0}while(f>>>0<(d[3416915]|0)>>>0)}if(!(a[3416906]|0))Kx(b);else Lx(b);e=(b|0)!=0;if(e&(a[3416915]|0)!=0){f=0;do{sp(a[3366368+f>>0]|0,1);f=f+1|0}while(f>>>0<(d[3416915]|0)>>>0)}if(!(e&(a[3416909]|0)!=0)){f=c[854033]|0;f=f+b|0;c[854033]=f;f=c[854030]|0;b=f+b|0;c[854030]=b;return}a[3416909]=0;f=c[854033]|0;f=f+b|0;c[854033]=f;f=c[854030]|0;b=f+b|0;c[854030]=b;return}function Kx(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(a[3416913]|0)return;f=Rx((c[854033]|0)+e|0)|0;g=c[854032]|0;if((g|0)>(f|0))return;o=f;f=c[854031]|0;a:while(1){n=(c[854039]|0)+f|0;h=a[n>>0]|0;i=h&255;b:do if((h+-112&255)<32){switch((i&240)<<24>>24){case 112:{c[854032]=g+1+(i&15);break}case -128:{h=Sx()|0;if(c[853980]|0){Gx(2,0,0,42,h);f=c[854031]|0;g=c[854032]|0}c[854032]=g+(i&15);break}default:{}}f=f+1|0;c[854031]=f;i=o}else{do switch(h<<24>>24){case 48:{if(!(c[853972]&1073741824))k=297;else{g=1;k=48}break}case 63:{if(!(c[853972]&1073741824))k=297;else{g=1;k=120}break}case -95:{if(!(c[853973]&1073741824))k=298;else{g=1;k=51}break}case -93:case -94:{if(!(c[853980]&1073741824)){j=0;k=30}else{j=1;h=i+176&255;k=30}break}case -92:{if(!(c[853981]&1073741824))k=298;else{g=1;k=123}break}case -91:{if(!(c[853986]&1073741824))k=298;else{g=1;k=135}break}case -89:case -90:{if(!(c[853987]&1073741824)){j=0;k=30}else{j=1;h=i+176&255;k=30}break}case -87:case -88:{if(!(c[853988]&1073741824)){j=0;k=30}else{j=1;h=i+176&255;k=30}break}case -86:{if(!(c[853989]&1073741824))k=298;else{g=1;k=144}break}case -85:{if(!(c[853990]&1073741824))k=298;else{g=1;k=147}break}case -84:{if(!(c[853991]&1073741824))k=298;else{g=1;k=150}break}case -81:case -82:{if(!(c[853992]&1073741824)){j=0;k=30}else{j=1;h=i+176&255;k=30}break}case -83:{if(!(c[853995]&1073741824))k=298;else{g=1;k=156}break}default:{j=0;k=30}}while(0);c:do if((k|0)==30){i=h&255;do switch(h<<24>>24){case 80:{g=j;k=48;break c}case 81:{g=j;k=51;break c}case 79:{g=j;k=120;break c}case 84:{g=j;k=123;break c}case 85:{g=j;k=135;break c}case 90:{g=j;k=144;break c}case 91:{g=j;k=147;break c}case 92:{g=j;k=150;break c}case 93:{g=j;k=156;break c}case 102:{j=c[853976]|0;if(j|0){c[854031]=j;h=c[853977]|0;c[854032]=g-h;i=Tx(h)|0;i=(c[854033]|0)-i|0;c[854033]=i;i=Rx(i+e|0)|0;g=c[854034]|0;o=g+1|0;c[854034]=o;f=a[3416908]|0;if(((c[854028]|0)+-1|0)>>>0>>0){if(!(f<<24>>24)){o=M(g,h)|0;c[853968]=Tx((c[853975]|0)+o|0)|0}a[3416908]=1;f=1}if(f<<24>>24==0|(c[853961]|0)!=0){f=j;break b}a[3416913]=1;f=j;break b}if((c[853975]|0)!=(g|0))c[853975]=g;g=a[3416899]|0;do if(g<<24>>24){n=c[853971]|0;if(n>>>0>=336?!(g<<24>>24==2&(n|0)==336):0)break;yx(1);f=c[854031]|0}while(0);a[3416913]=1;i=o;break b}case 98:{c[854032]=g+735;f=f+1|0;c[854031]=f;i=o;break b}case 99:{c[854032]=g+882;f=f+1|0;c[854031]=f;i=o;break b}case 97:{i=n+1|0;c[854032]=g+((Ux(a[i>>0]|0,a[i+1>>0]|0)|0)&65535);f=f+3|0;c[854031]=f;i=o;break b}case 83:case 82:{if((a[3358608+((j&255)*1968|0)+102>>0]|0)!=-1){Gx(2,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 103:{l=a[n+2>>0]|0;k=Vx(n+3|0)|0;m=k&2147483647;k=(k|0)<0?1:j;j=l&255;d:do switch((l&255)>>>6&3){case 1:case 0:{Wx(l,m,n+7|0);break}case 2:{if(!(c[854034]|0)){g=Vx(n+7|0)|0;h=Vx(n+11|0)|0;i=m+-8|0;f=n+15|0;do switch(l<<24>>24){case -128:{if((a[3358608+((k&255)*1968|0)+198>>0]|0)==-1)break d;ju(k,g,h,i,f);break d}case -127:{if((a[3358608+((k&255)*1968|0)+342>>0]|0)==-1)break d;Vj(k,g,h,i,f);break d}case -125:case -126:{if((a[3358608+((k&255)*1968|0)+390>>0]|0)==-1)break d;uk(k,j+127&255,g,h,i,f);break d}case -124:{if((a[3358608+((k&255)*1968|0)+630>>0]|0)==-1)break d;Qw(k,g,h,i,f);break d}case -123:{if((a[3358608+((k&255)*1968|0)+678>>0]|0)==-1)break d;rw(k,g,h,i,f);break d}case -122:{if((a[3358608+((k&255)*1968|0)+726>>0]|0)==-1)break d;gx(k,g,h,i,f);break d}case -121:{if((a[3358608+((k&255)*1968|0)+630>>0]|0)==-1)break d;Rw(k,h,i,f);break d}case -120:{if((a[3416907]|0)==1?1:(a[3358608+((k&255)*1968|0)+534>>0]|0)==-1)break d;so(k,g,h,i,f);break d}case -119:{if((a[3358608+((k&255)*1968|0)+1014>>0]|0)==-1)break d;Xq(k,g,h,i,f);break d}case -118:{if((a[3358608+((k&255)*1968|0)+1062>>0]|0)==-1)break d;Uv(k,g,h,i,f);break d}case -117:{if((a[3358608+((k&255)*1968|0)+1158>>0]|0)==-1)break d;Qs(k,g,h,i,f);break d}case -116:{if((a[3358608+((k&255)*1968|0)+1254>>0]|0)==-1)break d;Gq(k,g,h,i,f);break d}case -115:{if((a[3358608+((k&255)*1968|0)+1350>>0]|0)==-1)break d;Mo(k,g,h,i,f);break d}case -114:{if((a[3358608+((k&255)*1968|0)+1398>>0]|0)==-1)break d;uq(k,g,h,i,f);break d}case -113:{if((a[3358608+((k&255)*1968|0)+1494>>0]|0)==-1)break d;St(k,g,h,i,f);break d}case -112:{if((a[3358608+((k&255)*1968|0)+1782>>0]|0)==-1)break d;Bd(k,g,h,i,f);break d}case -111:{if((a[3358608+((k&255)*1968|0)+1830>>0]|0)==-1)break d;Bc(k,g,h,i,f);break d}case -110:{if((a[3358608+((k&255)*1968|0)+1878>>0]|0)==-1)break d;Wd(k,g,h,i,f);break d}case -109:{if((a[3358608+((k&255)*1968|0)+1926>>0]|0)==-1)break d;ed(k,g,h,i,f);break d}default:break d}while(0)}break}case 3:{f=n+7|0;if(!(j&32)){i=(Ux(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;g=9;f=-2}else{i=Vx(f)|0;g=11;f=-4}h=m+f|0;f=n+g|0;switch(l<<24>>24){case -64:{if((a[3358608+((k&255)*1968|0)+246>>0]|0)==-1)break d;cu(k,i,h,f);break d}case -63:{if((a[3358608+((k&255)*1968|0)+774>>0]|0)==-1)break d;wu(k,i,h,f);break d}case -62:{if((a[3358608+((k&255)*1968|0)+966>>0]|0)==-1)break d;gs(k,i,h,f);break d}case -32:{if((a[3358608+((k&255)*1968|0)+1542>>0]|0)==-1)break d;cv(k,i,h,f);break d}case -31:{if((a[3358608+((k&255)*1968|0)+1734>>0]|0)==-1)break d;Kd(k,i,h,f);break d}default:break d}}default:{k=113;break a}}while(0);f=m+7+(c[854031]|0)|0;c[854031]=f;i=o;break b}case -32:{c[841212]=Vx(n+1|0)|0;f=f+5|0;c[854031]=f;i=o;break b}case 49:{f=a[n+1>>0]|0;n=f&255;g=n&63;f=(f&255)>>>7;if(!(n&64))Eo(f,g);else hh(f,g);f=(c[854031]|0)+2|0;c[854031]=f;i=o;break b}case -64:{g=n+1|0;g=Ux(a[g>>0]|0,a[g+1>>0]|0)|0;h=(g&65535)>>>15;if((a[3358608+((h&65535)*1968|0)+198>>0]|0)!=-1){iu(h&255,g&32767,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -80:{if((a[3358608+((j&255)*1968|0)+246>>0]|0)!=-1){Gx(5,j,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -63:{if((a[3358608+((j&255)*1968|0)+246>>0]|0)!=-1){f=n+1|0;f=(Ux(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;bu(j,f,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case 87:case 86:{if((a[3358608+((j&255)*1968|0)+342>>0]|0)!=-1){Gx(7,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 89:case 88:{if((a[3358608+((j&255)*1968|0)+390>>0]|0)!=-1){Gx(8,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 95:case 94:{if((a[3358608+((j&255)*1968|0)+582>>0]|0)!=-1){Gx(12,j,i&1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -48:{if((a[3358608+((j&255)*1968|0)+630>>0]|0)!=-1){f=a[n+1>>0]|0;Gx(13,(f&255)>>>7,f&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -47:{if((a[3358608+((j&255)*1968|0)+678>>0]|0)!=-1){f=a[n+1>>0]|0;Gx(14,(f&255)>>>7,f&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -79:{if((a[3358608+((j&255)*1968|0)+774>>0]|0)!=-1){Gx(16,j,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -62:{if((a[3358608+((j&255)*1968|0)+774>>0]|0)!=-1){f=n+1|0;f=(Ux(a[f>>0]|0,a[f+1>>0]|0)|0)&65535;vu(j,f,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -78:{if((a[3358608+((j&255)*1968|0)+822>>0]|0)!=-1){f=a[n+1>>0]|0;Gx(17,j,(f&255)>>>4,f&15,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 104:{l=a[n+2>>0]|0;i=(l&255)>>>7;j=l&127;g=n+3|0;g=Xx(a[g>>0]|0,a[g+1>>0]|0,a[g+2>>0]|0)|0;k=n+6|0;k=Xx(a[k>>0]|0,a[k+1>>0]|0,a[k+2>>0]|0)|0;h=n+9|0;h=Xx(a[h>>0]|0,a[h+1>>0]|0,a[h+2>>0]|0)|0;h=(h|0)==0?h+16777216|0:h;g=Yx(j,g)|0;if(!g){f=f+12|0;c[854031]=f;i=o;break b}switch(l&127){case 1:{if((a[3358608+((i&255)*1968|0)+246>>0]|0)!=-1)cu(i,k,h,g);break}case 2:{if((a[3358608+((i&255)*1968|0)+774>>0]|0)!=-1)wu(i,k,h,g);break}case 6:{if((a[3358608+((i&255)*1968|0)+1542>>0]|0)!=-1)cv(i,k,h,g);break}case 7:{if((a[3358608+((i&255)*1968|0)+966>>0]|0)!=-1){b[1708436]=((c[3364832+((j&255)*24|0)+8>>2]|0)>>>0)/(h>>>0)|0;gs(i,k,h,g)}break}default:{}}f=(c[854031]|0)+12|0;c[854031]=f;i=o;break b}case -96:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+870>>0]|0)!=-1){Gx(18,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -77:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+918>>0]|0)!=-1){Gx(19,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -76:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+966>>0]|0)!=-1){Gx(20,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -75:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1014>>0]|0)!=-1){Gx(21,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -61:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1014>>0]|0)!=-1){f=n+2|0;Wq(h,g&127,Ux(a[f>>0]|0,a[f+1>>0]|0)|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -74:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1062>>0]|0)!=-1){Gx(22,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -73:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1110>>0]|0)!=-1){Gx(23,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -72:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1158>>0]|0)!=-1){Gx(24,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -46:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1206>>0]|0)!=-1){Gx(25,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -45:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1254>>0]|0)!=-1){Gx(26,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -71:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1302>>0]|0)!=-1){Gx(27,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -44:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1350>>0]|0)!=-1){Gx(28,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -70:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1398>>0]|0)!=-1){Gx(29,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -69:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1446>>0]|0)!=-1){Gx(30,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -60:{if((a[3358608+((j&255)*1968|0)+1494>>0]|0)!=-1){Gx(31,j,a[n+1>>0]|0,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -59:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1542>>0]|0)!=-1){Gx(32,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -68:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1590>>0]|0)!=-1){Gx(33,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -58:{g=n+1|0;h=a[g>>0]|0;i=(h&255)>>>7;if((a[3358608+((i&255)*1968|0)+1590>>0]|0)!=-1){f=(Zx(h,a[g+1>>0]|0)|0)&32767;Jc(i,f,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -57:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1638>>0]|0)!=-1){Gx(34,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -67:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1686>>0]|0)!=-1){Gx(35,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -43:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1734>>0]|0)!=-1){Gx(36,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -66:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1782>>0]|0)!=-1){Gx(37,h,g&127,0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -42:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1782>>0]|0)!=-1){Gx(37,h,g|-128,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -56:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1830>>0]|0)!=-1){Gx(38,h,g&127,a[n+2>>0]|0,a[n+3>>0]|0);f=c[854031]|0}f=f+4|0;c[854031]=f;i=o;break b}case -31:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1878>>0]|0)!=-1){Vd(h,(g&255)<<8&32512|d[n+2>>0],(d[n+3>>0]<<8|d[n+4>>0])&65535);f=c[854031]|0}f=f+5|0;c[854031]=f;i=o;break b}case -65:{g=a[n+1>>0]|0;h=(g&255)>>>7;if((a[3358608+((h&255)*1968|0)+1926>>0]|0)!=-1){Gx(40,h,0,g&127,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case -112:{g=a[n+1>>0]|0;if(g<<24>>24==-1){f=f+5|0;c[854031]=f;i=o;break b}f=3366624+((g&255)<<1)|0;if(!(a[f>>0]|0)){vp(g);xp(g);a[f>>0]=1;m=a[3416915]|0;a[3366368+(m&255)>>0]=g;a[3416915]=m+1<<24>>24}i=a[n+2>>0]|0;f=n+3|0;yp(g,i&127,(i&255)>>>7,Zx(a[f>>0]|0,a[f+1>>0]|0)|0);f=(c[854031]|0)+5|0;c[854031]=f;i=o;break b}case -111:{g=a[n+1>>0]|0;if(g<<24>>24!=-1?(p=g&255,a[3366624+(p<<1)>>0]|0):0){i=a[n+2>>0]|0;i=(i&255)>63?0:i;a[3366624+(p<<1)+1>>0]=i;i=i&255;b[1708436]=c[3364832+(i*24|0)>>2];zp(g,c[3364832+(i*24|0)+12>>2]|0,c[3364832+(i*24|0)+8>>2]|0,a[n+3>>0]|0,a[n+4>>0]|0);f=f+5|0;c[854031]=f;i=o;break b}f=f+5|0;c[854031]=f;i=o;break b}case -110:{g=a[n+1>>0]|0;if(g<<24>>24!=-1?a[3366624+((g&255)<<1)>>0]|0:0){Bp(g,Vx(n+2|0)|0);f=f+6|0;c[854031]=f;i=o;break b}f=f+6|0;c[854031]=f;i=o;break b}case -109:{g=a[n+1>>0]|0;if((g<<24>>24!=-1?(q=g&255,a[3366624+(q<<1)>>0]|0):0)?c[3364832+((d[3366624+(q<<1)+1>>0]|0)*24|0)>>2]|0:0){m=Vx(n+2|0)|0;i=a[n+6>>0]|0;Cp(g,m,i,Vx(n+7|0)|0);f=f+11|0;c[854031]=f;i=o;break b}f=f+11|0;c[854031]=f;i=o;break b}case -108:{g=a[n+1>>0]|0;if(!(a[3366624+((g&255)<<1)>>0]|0)){f=f+2|0;c[854031]=f;i=o;break b}if(g<<24>>24==-1){f=0;do{Dp(f);f=f+1<<24>>24}while(f<<24>>24!=-1);f=c[854031]|0}else Dp(g);f=f+2|0;c[854031]=f;i=o;break b}case -107:{g=a[n+1>>0]|0;if((g<<24>>24!=-1?(r=g&255,a[3366624+(r<<1)>>0]|0):0)?(s=d[3366624+(r<<1)+1>>0]|0,t=c[3364832+(s*24|0)>>2]|0,t|0):0){f=n+2|0;f=Ux(a[f>>0]|0,a[f+1>>0]|0)|0;b[1708436]=t;f=f&65535;i=c[3364832+(s*24|0)+4>>2]|0;f=t>>>0>f>>>0?f:0;n=d[n+4>>0]|0;Cp(g,c[i+(f*12|0)+8>>2]|0,(n<<7|n&16|15)&255,c[i+(f*12|0)>>2]|0);f=(c[854031]|0)+5|0;c[854031]=f;i=o;break b}f=f+5|0;c[854031]=f;i=o;break b}default:switch((h&255)>>>4&15){case 3:{k=297;break c}case 11:case 10:case 5:case 4:{k=298;break c}case 2:case 1:case 0:{f=f+1|0;c[854031]=f;i=o;break b}case 13:case 12:{f=f+4|0;c[854031]=f;i=o;break b}case 15:case 14:{f=f+5|0;c[854031]=f;i=o;break b}default:{a[3416913]=1;a[3416912]=1;i=o;break b}}}while(0)}while(0);switch(k|0){case 48:{if((a[3358608+((g&255)*1968|0)+6>>0]|0)!=-1){Gx(0,g,0,0,a[n+1>>0]|0);f=c[854031]|0}f=f+2|0;c[854031]=f;i=o;break b}case 51:{if((a[3358608+((g&255)*1968|0)+54>>0]|0)!=-1){Gx(1,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 120:{if((a[3358608+((g&255)*1968|0)+6>>0]|0)!=-1){Gx(0,g,1,0,a[n+1>>0]|0);f=c[854031]|0}f=f+2|0;c[854031]=f;i=o;break b}case 123:{if((a[3358608+((g&255)*1968|0)+150>>0]|0)!=-1){Gx(3,g,1,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 135:{if((a[3358608+((g&255)*1968|0)+294>>0]|0)!=-1){Gx(6,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 144:{if((a[3358608+((g&255)*1968|0)+438>>0]|0)!=-1){Gx(9,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 147:{if((a[3358608+((g&255)*1968|0)+486>>0]|0)!=-1){Gx(10,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 150:{if((a[3358608+((g&255)*1968|0)+534>>0]|0)!=-1){Gx(11,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 156:{if((a[3358608+((g&255)*1968|0)+726>>0]|0)!=-1){Gx(15,g,0,a[n+1>>0]|0,a[n+2>>0]|0);f=c[854031]|0}f=f+3|0;c[854031]=f;i=o;break b}case 297:{f=f+2|0;c[854031]=f;i=o;break b}case 298:{f=f+3|0;c[854031]=f;i=o;break b}}}while(0);if(f>>>0>=(c[853970]|0)>>>0){k=303;break}if(a[3416913]|0){k=305;break}g=c[854032]|0;if((g|0)>(i|0)){k=305;break}else o=i}if((k|0)!=113)if((k|0)==303){a[3416913]=1;return}else if((k|0)==305)return}function Lx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=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;E=k;k=k+16|0;t=E;B=E+8|0;if(a[3416913]|0){k=E;return}switch(a[3416906]|0){case 1:{if(!b){c[853624]=-1;c[853625]=-1;c[853626]=-1;c[853627]=-1;c[853628]=-1;c[853629]=-1;c[853630]=-1;c[853631]=-1;c[853632]=-1;c[853633]=-1;c[853634]=-1;c[853635]=-1;c[853636]=0;c[853637]=0;c[853638]=0;c[853639]=0;l=c[854031]|0;e=c[854032]|0;g=c[853982]|0;c[854031]=g;i=c[854039]|0;f=e;a:while(1){f=f+(Mx(B)|0)|0;c[854032]=f;h=g+(c[B>>2]|0)|0;c[854031]=h;g=a[i+h>>0]|0;if(g<<24>>24<0){h=h+1|0;c[854031]=h}else g=a[50060]|0;switch(((g&-16&255)+-128|0)>>>4&268435455|0){case 7:{if(g<<24>>24==-1)if((a[i+h>>0]|0)==47)break a;else o=h;else{m=1;w=13}break}case 6:case 3:case 2:case 1:case 0:{m=2;w=13;break}case 5:case 4:{m=1;w=13;break}default:{n=h;w=14}}if((w|0)==13){n=h+m|0;c[854031]=n;w=14}if((w|0)==14){w=0;if((g&255)<240){a[50060]=g;o=n}else o=n}g=o}c[853975]=f;c[853977]=f;c[854031]=l;c[854032]=e}else e=c[854032]|0;f=Nx((c[854033]|0)+b|0)|0;e=e+(Mx(B)|0)|0;if((e|0)>(f|0)){k=E;return}g=c[854031]|0;b:while(1){c[854032]=e;h=g+(c[B>>2]|0)|0;c[854031]=h;v=c[854039]|0;g=a[v+h>>0]|0;if(g<<24>>24<0){h=h+1|0;c[854031]=h}else g=a[50060]|0;l=g&255;t=l&15;i=a[3416931]&32;do if(i<<24>>24)if(t>>>0<11){r=(t>>>0)/6|0;a[3416933]=r;r=t+(M(r,-6)|0)|0;break}else{s=t+245&255;r=(s>>>0)%3|0;a[3416933]=0;r=(s+-3|0)>>>0<3&(r|0)==0?8:r+6|0;break}else{r=(t>>>0)/9|0;a[3416933]=r;r=t-(0-r&9)|0}while(0);a[3416933]=0;q=r&255;s=i<<24>>24!=0&q>>>0>5;i=l&240;c:do switch((i+-128|0)>>>4&268435455|0){case 4:{w=68;break b}case 7:{if(g<<24>>24!=-1){u=h+1|0;w=71;break c}if((a[v+h>>0]|0)==47){i=c[854065]|0;if((i|0)==1){w=38;break b}l=c[853982]|0;c[854031]=l;j=c[853977]|0;c[854032]=e-j;j=Ox(j)|0;j=(c[854033]|0)-j|0;c[854033]=j;j=Nx(j+b|0)|0;x=(c[854034]|0)+1|0;c[854034]=x;if((i+-1|0)>>>0>>0){a[3416908]=1;e=1}else e=a[3416908]|0;if(e<<24>>24==0|(c[853961]|0)!=0)x=l;else{w=37;break b}}else{j=f;x=h}break}case 1:case 0:{m=a[v+h>>0]|0;e=Px(m,a[3414544+q>>0]|0)|0;if((i|0)==128)l=0;else l=(a[v+(h+1)>>0]|0)!=0&1;o=e&255;if(s)n=(e&65535)>>>8&255;else n=(((l&255)<<13|e&65535)&65535)>>>8&255;p=l<<24>>24!=0;a[3416933]=0;e=3414512+q|0;i=(a[e>>0]|0)==-1;do if(!p){if(i){a[3416933]=1;e=3414512+(q|16)|0;if((a[e>>0]|0)==-1){a[3416933]=-1;break}else i=1}else i=0;a[e>>0]=-1;if(s){C=0;w=55}else{y=i;z=0;w=54}}else{if(i){i=e;e=0}else{i=3414512+(q|16)|0;y=(a[i>>0]|0)==-1;z=y&1;a[3416933]=z;i=y?i:e;e=z}a[i>>0]=m;if(!s){Qx(e,r&255,g,a[3414496+t>>0]|0,a[v+(h+1)>>0]|0);e=a[3416933]|0}y=e;z=l&255;w=54}while(0);if((w|0)==54?(w=0,Gx(9,y,0,(r|160)&255,o),Gx(9,a[3416933]|0,0,(r|176)&255,n),s):0){C=z;w=55}if((w|0)==55){m=t^15;e=a[3416933]|0;i=3416931+(e&255)|0;l=(1<>0]&255;a[i>>0]=l;if(p){Gx(9,e,0,-67,l);e=a[3416933]|0;l=3416931+(e&255)|0;i=l;l=a[l>>0]|0}w=(C<>0]=w;Gx(9,e,0,-67,w)}u=(c[854031]|0)+2|0;w=71;break}case 3:{switch(a[v+h>>0]|0){case 105:{A=3414544+q|0;a[A>>0]=0-(d[v+(h+1)>>0]|0);w=63;break}case 103:{u=(a[v+(h+1)>>0]|0)==0?-64:-32;a[3416931]=u;a[3416932]=u;Gx(9,0,0,-67,u);Gx(9,a[3416933]|0,0,-67,a[3416932]|0);break}case 104:{A=3414544+q|0;a[A>>0]=a[v+(h+1)>>0]|0;w=63;break}default:{}}if((w|0)==63){a[3416933]=0;m=(r|160)&255;l=(r|176)&255;e=0;do{i=a[3414512+((e&255)<<4|q)>>0]|0;if(!(s|i<<24>>24==-1)){w=Px(i,a[A>>0]|0)|0;Gx(9,e,0,m,w&255);Gx(9,a[3416933]|0,0,l,(w&65535)>>>8&255|32);e=a[3416933]|0}e=e+1<<24>>24;a[3416933]=e}while((e&255)<2)}u=(c[854031]|0)+2|0;w=71;break}case 6:case 2:{u=h+2|0;w=71;break}case 5:{u=h+1|0;w=71;break}default:{D=h;w=72}}while(0);if((w|0)==71){c[854031]=u;D=u;w=72}if((w|0)==72){w=0;if((g&255)<240){a[50060]=g;j=f;x=D}else{j=f;x=D}}if(a[3416913]|0){w=98;break}e=Mx(B)|0;e=(c[854032]|0)+e|0;if((e|0)>(j|0)){w=98;break}else{f=j;g=x}}if((w|0)==37){a[3416913]=1;k=E;return}else if((w|0)==38){a[3416913]=1;k=E;return}else if((w|0)==68){a[3414496+t>>0]=a[v+h>>0]|0;a[3416933]=0;ra()}else if((w|0)==98){k=E;return}break}case 2:{if(!b){e=-1;do{Gx(9,0,0,e,0);e=e+-1<<24>>24}while((e&255)>31);Gx(9,0,0,8,0);Gx(9,0,0,1,0);e=1}else e=0;o=Nx((c[854033]|0)+b|0)|0;f=c[854032]|0;if((f|0)>(o|0)){k=E;return}n=0;m=e;l=c[854031]|0;while(1){h=c[854039]|0;e=a[h+l>>0]|0;g=e<<24>>24==0?0:e<<24>>24==1?-1:e;b=m<<24>>24==0|(g&255)<(n&255);n=b?n:g;m=b?0:m;i=l+1|0;j=h+i|0;g=b?g:-1;d:while(1){switch(g<<24>>24){case 0:{w=84;break d}case 3:case 2:{w=87;break d}case 4:{w=89;break d}case 1:break;default:{r=l;s=e;w=90;break d}}q=d[j>>0]|d[j+1>>0]<<8;if((q&-256)<<16>>16==-17152)g=-1;else{w=86;break}}if((w|0)==84){w=0;c[854032]=f+1+(d[j>>0]|0);p=l+2|0}else if((w|0)==86){w=0;c[854032]=f+1+(q&65535);p=l+3|0}else if((w|0)==87){w=0;b=g&1;a[3416933]=b;if(b<<24>>24!=0&(a[3416874]|0)==0){yA();a[3416874]=1;p=(c[854031]|0)+1|0}else p=i}else if((w|0)==89){c[854031]=i;r=i;s=a[j>>0]|0;w=90}if((w|0)==90){if(!(a[3416933]|0)){Gx(9,0,0,s,a[h+(r+1)>>0]|0);e=c[854031]|0}else e=r;p=e+2|0}c[854031]=p;if(p>>>0>=(c[854060]|0)>>>0){w=94;break}if(a[3416913]|0){w=98;break}f=c[854032]|0;if((f|0)>(o|0)){w=98;break}else l=p}if((w|0)==94){e=c[853975]|0;f=c[854032]|0;if((e|0)!=(f|0)){c[t>>2]=e;c[t+4>>2]=f;xA(0,t);c[853975]=c[854032]}a[3416913]=1;k=E;return}else if((w|0)==98){k=E;return}break}default:{k=E;return}}}function Mx(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=c[854031]|0;g=c[854039]|0;b=0;e=f;do{h=d[g+e>>0]|0;b=h&127|b<<7;e=e+1|0}while((h&128|0)!=0);if(!a)return b|0;c[a>>2]=e-f;return b|0}function Nx(a){a=a|0;a=JA(c[854029]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=HA(a|0,x|0,c[853960]|0,0)|0;return a|0}function Ox(a){a=a|0;a=JA(c[853960]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=HA(a|0,x|0,c[854029]|0,0)|0;return a|0}function Px(a,b){a=a|0;b=b|0;var c=0.0;a=a&255;c=+ma(+((+(b<<24>>24)*.00390625+ +(a+-69|0))/12.0))*440.0;b=((a>>>0)/12|0)+255|0;a=b<<24;b=(a|0)<0?0:(a|0)>117440512?7:b;return (b<<10|~~(c*+Yz(20-(b<<24>>24)|0)/49715.90277777778+.5)&65535)&65535|0}function Qx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ra()}function Rx(a){a=a|0;a=JA(c[854070]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=HA(a|0,x|0,c[854069]|0,0)|0;return a|0}function Sx(){var b=0;b=c[841212]|0;if(b>>>0>=(c[841210]|0)>>>0){b=-128;return b|0}c[841212]=b+1;b=a[(c[841211]|0)+b>>0]|0;return b|0}function Tx(a){a=a|0;a=JA(c[854069]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=HA(a|0,x|0,c[854070]|0,0)|0;return a|0}function Ux(a,b){a=a|0;b=b|0;return ((b&255)<<8|a&255)&65535|0}function Vx(a){a=a|0;return (d[a+2>>0]|0)<<16|(d[a+3>>0]|0)<<24|(d[a+1>>0]|0)<<8|(d[a>>0]|0)|0}function Wx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=e&255;p=i&63;if(c[854034]|0)return;if(e<<24>>24==127){_x(f,g);return}e=3364832+(p*24|0)+20|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;e=3364832+(p*24|0)|0;l=c[e>>2]|0;if(n>>>0<=l>>>0)return;h=l+1|0;c[e>>2]=h;if((b[1708436]|0)!=-1)b[1708436]=h;e=3364832+(p*24|0)+4|0;c[e>>2]=Ky(c[e>>2]|0,h*12|0)|0;i=(i&64|0)!=0;if(i)k=Vx(g+1|0)|0;else k=f;m=3364832+(p*24|0)+12|0;n=3364832+(p*24|0)+8|0;c[m>>2]=Ky(c[m>>2]|0,(c[n>>2]|0)+k|0)|0;h=c[e>>2]|0;e=h+(l*12|0)|0;j=c[n>>2]|0;c[h+(l*12|0)+8>>2]=j;do if(i){h=h+(l*12|0)+4|0;c[h>>2]=(c[m>>2]|0)+j;if(!(($x(e,f,g)|0)<<24>>24)){c[h>>2]=0;c[e>>2]=0;break}else{o=14;break}}else{c[e>>2]=f;o=(c[m>>2]|0)+j|0;c[h+(l*12|0)+4>>2]=o;PA(o|0,g|0,f|0)|0;o=14}while(0);if((o|0)==14){if((k|0)!=(c[e>>2]|0))_z(50151,46,1,48768)|0;c[n>>2]=(c[n>>2]|0)+k}e=a[3416915]|0;if(!(e<<24>>24))return;i=0;do{h=a[3366368+i>>0]|0;if((p|0)==(d[3366624+((h&255)<<1)+1>>0]|0))Ap(h,c[m>>2]|0,c[n>>2]|0);i=i+1|0}while(i>>>0<(e&255)>>>0);return}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;return (b&255)<<8|(c&255)<<16|a&255|0}function Yx(a,b){a=a|0;b=b|0;if((a&255)>63){b=0;return b|0}a=a&255;if((c[3364832+(a*24|0)+8>>2]|0)>>>0<=b>>>0){b=0;return b|0}b=(c[3364832+(a*24|0)+12>>2]|0)+b|0;return b|0}function Zx(a,b){a=a|0;b=b|0;return ((a&255)<<8|b&255)&65535|0}function _x(d,e){d=d|0;e=e|0;var f=0,g=0;a[3416244]=a[e>>0]|0;a[3416245]=a[e+1>>0]|0;g=a[e+2>>0]|0;a[3416246]=g;a[3416247]=a[e+3>>0]|0;f=Ux(a[e+4>>0]|0,a[e+5>>0]|0)|0;b[1708124]=f;f=M(((g&255)+7|0)>>>3,f&65535)|0;g=Ky(c[854063]|0,f)|0;c[854063]=g;PA(g|0,e+6|0,f|0)|0;if((f+6|0)>>>0<=d>>>0)return;_z(50357,31,1,48768)|0;return}function $x(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=a[g>>0]|0;l=Vx(g+1|0)|0;c[e>>2]=l;switch(z<<24>>24){case 0:{i=a[g+5>>0]|0;j=a[g+6>>0]|0;y=j&255;z=a[g+7>>0]|0;k=Ux(a[g+8>>0]|0,a[g+9>>0]|0)|0;if(z<<24>>24==2){h=c[854063]|0;if(!(b[1708124]|0)){c[e>>2]=0;_z(50198,60,1,48768)|0;z=0;return z|0}if(i<<24>>24==(a[3416246]|0)?j<<24>>24==(a[3416247]|0):0){x=h;w=h}else{c[e>>2]=0;_z(50259,57,1,48768)|0;z=0;return z|0}}else{x=0;w=0}v=i&255;t=(v+7|0)>>>3;u=g+f|0;v=v-y|0;i=c[e+4>>2]|0;s=i+l|0;if(!((f|0)>10&(l|0)>0)){z=1;return z|0}q=j<<24>>24==0;r=(t|0)==1;o=k&65535;p=t&255;j=0;h=0;n=i;i=g+10|0;while(1){if(q)k=0;else{g=0;m=y;k=0;while(1){l=m>>>0<8?m:8;m=m-l|0;f=(1<>0]<>8&f;if(j>>>0>7){j=j+-8|0;i=i+1|0;if(!j)j=0;else e=d[i>>0]<>8&f|e}k=e<>24){case 0:{h=k+o|0;break}case 1:{h=(k<>0]|0;break a}case 2:{h=x+(k<<1)|0;h=(Ux(a[h>>0]|0,a[h+1>>0]|0)|0)&65535;break a}default:break a}default:{}}while(0);a[n>>0]=h;if(!r)a[n+1>>0]=h>>>8;n=n+t|0;if(!(i>>>0>>0&n>>>0>>0)){h=1;break}}return h|0}case 1:{h=a[g+5>>0]|0;i=a[g+6>>0]|0;u=i&255;k=(Ux(a[g+8>>0]|0,a[g+9>>0]|0)|0)&65535;v=c[854063]|0;if(!(b[1708124]|0)){c[e>>2]=0;_z(50198,60,1,48768)|0;z=0;return z|0}j=h&255;if(!(h<<24>>24==(a[3416246]|0)?i<<24>>24==(a[3416247]|0):0)){c[e>>2]=0;_z(50259,57,1,48768)|0;z=0;return z|0}s=(j+7|0)>>>3;t=g+f|0;h=c[e+4>>2]|0;r=h+l|0;if(!((f|0)>10&(l|0)>0)){z=1;return z|0}p=i<<24>>24==0;q=s&255;o=(1<>>0<8?g:8;g=g-l|0;f=(1<>0]<>8&f;if(j>>>0>7){j=j+-8|0;i=i+1|0;if(!j)j=0;else e=d[i>>0]<>8&f|e}k=e<>0]|0);a[n>>0]=h;break}case 2:{z=v+(k<<1)|0;h=o&h+((Ux(a[z>>0]|0,a[z+1>>0]|0)|0)&65535);a[n>>0]=h;a[n+1>>0]=h>>>8;break}default:{}}n=n+s|0;if(!(i>>>0>>0&n>>>0>>0)){h=1;break}}return h|0}default:{_z(50317,39,1,48768)|0;z=0;return z|0}}return 0}function ay(b){b=b|0;var d=0;if((a[3416907]|0)==-1)return;d=c[854034]|0;d=M(Tx(c[853977]|0)|0,d)|0;d=b-d-(c[854033]|0)|0;a[3416910]=1;if((d|0)<0){by();d=(b|0)>0?b:0}Jx(d);a[3416910]=0;return}function by(){var b=0;b=a[3416910]|0;c[854031]=c[853982];c[854032]=0;c[854033]=0;a[3416913]=0;a[3416912]=0;c[854034]=0;yx(1);if(a[3416911]|0)a[3416909]=1;a[3416914]=1;Jx(0);a[3416914]=0;a[3416908]=0;g[853967]=1.0;c[853968]=0;c[854027]=c[854026];c[854030]=0;a[3416910]=b;return}function cy(){var e=0,f=0,h=0,i=0,j=0,k=0;c[853960]=44100;c[853961]=5e3;a[3416899]=0;g[853962]=1.0;b[1708435]=0;a[3416900]=0;g[853963]=0.0;a[3416901]=0;c[853964]=2;c[853965]=0;c[854065]=1;a[3416902]=0;a[3416903]=0;c[853966]=0;a[3416904]=0;a[3416905]=0;j=0;do{f=3362544+(j*984|0)|0;h=j&255;e=3358608+(j*1968|0)|0;i=0;while(1){a[f+(i*24|0)>>0]=0;a[f+(i*24|0)+1>>0]=0;b[f+(i*24|0)+4>>1]=0;a[f+(i*24|0)+2>>0]=0;k=f+(i*24|0)+8|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[e+6>>0]=-1;a[e+7>>0]=h;c[e+44>>2]=0;i=i+1|0;if((i|0)==41)break;else e=e+48|0}b[3362544+(j*984|0)+460>>1]=3;b[3362544+(j*984|0)+484>>1]=-31817;b[3362544+(j*984|0)+772>>1]=1;a[3364512+(j*144|0)+6>>0]=-1;a[3364512+(j*144|0)+7>>0]=h;c[3364512+(j*144|0)+44>>2]=0;a[3364512+(j*144|0)+54>>0]=-1;a[3364512+(j*144|0)+55>>0]=h;c[3364512+(j*144|0)+92>>2]=0;a[3364512+(j*144|0)+102>>0]=-1;a[3364512+(j*144|0)+103>>0]=h;c[3364512+(j*144|0)+140>>2]=0;e=3362544+(j*984|0)+2|0;a[e>>0]=4;k=Hy(8)|0;f=3362544+(j*984|0)+20|0;c[f>>2]=k;b[k>>1]=0;if((d[e>>0]|0)>1){h=1;do{b[(c[f>>2]|0)+(h<<1)>>1]=0;h=h+1|0}while(h>>>0<(d[e>>0]|0)>>>0)}e=3362544+(j*984|0)+26|0;a[e>>0]=14;k=Hy(28)|0;f=3362544+(j*984|0)+44|0;c[f>>2]=k;b[k>>1]=0;if((d[e>>0]|0)>1){h=1;do{b[(c[f>>2]|0)+(h<<1)>>1]=0;h=h+1|0}while(h>>>0<(d[e>>0]|0)>>>0)}j=j+1|0}while((j|0)!=2);c[841200]=0;c[841201]=0;c[841202]=0;c[841203]=0;c[841204]=0;c[841205]=0;c[841206]=0;c[841207]=0;c[841200]=3416935;a[3416906]=-1;return}function dy(){var e=0,f=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+80|0;n=r;o=r+64|0;a[3416934]=0;p=Hy((Sz(3373536)|0)+1|0)|0;Wz(p,3373536)|0;q=bA(p,50685)|0;Iy(p);if(!q){_z(50688,20,1,48768)|0;k=r;return}a:do if(!(lA(q)|0)){p=n;e=0;do{b:while(1){if(!(kA(n,q)|0))break a;c:do if((a[n>>0]|0)!=59){f=(Sz(n)|0)+-1|0;h=n+f|0;if((a[h>>0]|0)<32)do{a[h>>0]=0;if(!f)break c;f=f+-1|0;h=n+f|0}while((a[h>>0]|0)<32);if(f|0){l=n;d:while(1){f=a[l>>0]|0;switch(f<<24>>24){case 59:break c;case 91:{j=19;break d}case 32:break;default:{j=18;break d}}l=l+1|0}if((j|0)==18){j=0;i=Tz(n,61)|0}else if((j|0)==19){j=0;f=91;i=Tz(n,93)|0}if(i|0)break b}}while(0);if(lA(q)|0)break a}e:do if(f<<24>>24==91){f=l+1|0;e=Tz(n,93)|0;if(e|0)a[e>>0]=0;if((ry(f,50709)|0)<<24>>24){e=0;while(1){if(!((ry(f,sy(e)|0)|0)<<24>>24))break;e=e+1<<24>>24;if((e&255)>=41){e=-1;break e}}e=e|-128;if(e<<24>>24==-1)e=-1;else j=182}else{e=0;j=182}}else{i=i-p|0;a[n+i>>0]=0;f=n+(i+-1)|0;if((a[f>>0]|0)==32)do{a[f>>0]=0;f=f+-1|0}while((a[f>>0]|0)==32);if((a[h>>0]|0)==32)do{a[h>>0]=0;h=h+-1|0}while((a[h>>0]|0)==32);j=n+(i+1)|0;while(1)if((a[j>>0]|0)==32)j=j+1|0;else break;switch(e<<24>>24){case 0:{if(!((ry(l,50717)|0)<<24>>24)){c[853960]=az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50728)|0)<<24>>24)){c[853965]=az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50741)|0)<<24>>24)){a[3416905]=ty(j)|0;e=0;j=182;break e}if(!((ry(l,50754)|0)<<24>>24)){a[3416934]=ty(j)|0;e=0;j=182;break e}if(!((ry(l,50767)|0)<<24>>24)){az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50776)|0)<<24>>24)){az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50787)|0)<<24>>24)){az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50799)|0)<<24>>24)){a[3416899]=az(j,o,0)|0;if((c[o>>2]|0)!=(j|0)){e=0;j=182;break e}a[3416899]=(ty(j)|0)<<24>>24!=0&1;e=0;j=182;break e}if(!((ry(l,50811)|0)<<24>>24)){ty(j)|0;e=0;j=182;break e}if(!((ry(l,50823)|0)<<24>>24)){g[853962]=+zA(j);e=0;j=182;break e}if(!((ry(l,50830)|0)<<24>>24)){az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50839)|0)<<24>>24)){c[853964]=az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50848)|0)<<24>>24)){c[854065]=az(j,0,0)|0;e=0;j=182;break e}if(!((ry(l,50860)|0)<<24>>24)){a[3416902]=bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50875)|0)<<24>>24)){a[3416903]=bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50888)|0)<<24>>24)){c[853966]=bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50901)|0)<<24>>24)){bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50914)|0)<<24>>24)){bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50927)|0)<<24>>24)){a[3416901]=ty(j)|0;e=0;j=182;break e}if(!((ry(l,50941)|0)<<24>>24)){a[3416904]=ty(j)|0;e=0;j=182;break e}if(!((ry(l,50954)|0)<<24>>24)){bz(j,0)|0;e=0;j=182;break e}if(!((ry(l,50969)|0)<<24>>24)){b[1708435]=az(j,0,16)|0;e=0;j=182;break e}if(!((ry(l,50976)|0)<<24>>24)){a[3416900]=ty(j)|0;e=0;j=182;break e}if(!((ry(l,50984)|0)<<24>>24)){g[853963]=+zA(j);e=0;j=182;break e}if(!((ry(l,50993)|0)<<24>>24)){ty(j)|0;e=0;j=182;break e}if((ry(l,51003)|0)<<24>>24){e=0;j=182;break e}ty(j)|0;e=0;j=182;break e}case -88:case -89:case -90:case -91:case -92:case -93:case -94:case -95:case -96:case -97:case -98:case -99:case -100:case -101:case -102:case -103:case -104:case -105:case -106:case -107:case -108:case -109:case -110:case -111:case -112:case -113:case -114:case -115:case -116:case -117:case -118:case -119:case -120:case -121:case -122:case -123:case -124:case -125:case -126:case -127:case -128:break;default:{j=182;break e}}h=e&127;m=h&255;if(!((ry(l,51014)|0)<<24>>24)){a[3362544+(m*24|0)>>0]=ty(j)|0;j=182;break}if(!((ry(l,51023)|0)<<24>>24)){a[3362544+(m*24|0)+1>>0]=bz(j,0)|0;j=182;break}if(!((ry(l,51036)|0)<<24>>24)){if(!(a[44720+m>>0]|0)){j=182;break}h=az(j,0,0)|0;i=3362544+(m*24|0)+8|0;c[i>>2]=h;f=a[44768+m>>0]|0;if((f&255)>=32){j=182;break}c[i>>2]=(1<<(f&255))+-1&h;j=182;break}if(!((uy(l,51045,6)|0)<<24>>24)){i=a[44720+m>>0]|0;if(!(i<<24>>24)){j=182;break}f=bz(l+6|0,o)|0;h=c[o>>2]|0;if(!h){j=182;break}if(a[h>>0]|0){j=182;break}f=f&255;if(f>>>0>=(i&255)>>>0){j=182;break}l=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24)){l=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&-65|(l&255)<<6;j=182;break e}if(!((ry(l,51060)|0)<<24>>24)){l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}if(!((ry(l,51072)|0)<<24>>24)){l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=(l&255)<<1|b[j>>1]&-3&65535;j=182;break e}if(!((ry(l,51079)|0)<<24>>24)){l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=(l&255)<<2|b[j>>1]&-5&65535;j=182;break e}if((ry(l,51092)|0)<<24>>24){j=182;break e}m=3362544+(m*24|0)+4|0;b[m>>1]=(az(j,0,0)|0)<<3&24|b[m>>1]&-25&65535;j=182;break e}case 6:{if((ry(l,51102)|0)<<24>>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}case 8:case 7:{if(!((ry(l,51102)|0)<<24>>24)){l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}if(!((ry(l,51112)|0)<<24>>24)){j=az(j,0,0)|0;c[3362544+(m*24|0)+8>>2]=(1<>0])+-1&j;j=182;break e}if(!((ry(l,51124)|0)<<24>>24)){j=az(j,0,0)|0;c[3362544+(m*24|0)+12>>2]=(2<>0])+-1&j;j=182;break e}if(!((uy(l,51137,8)|0)<<24>>24)){f=bz(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=182;break e}if(a[h>>0]|0){j=182;break e}f=f&255;if(f>>>0>=(d[44768+m>>0]|0)>>>0){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24){if((ry(l,51156)|0)<<24>>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+12|0;c[j>>2]=c[j>>2]&-65|(l&255)<<6;j=182;break e}f=bz(l+9|0,o)|0;h=c[o>>2]|0;if(!h){j=182;break e}if(a[h>>0]|0){j=182;break e}f=f&255;if(f>>>0>=(d[44768+m>>0]|0)>>>0){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+12|0;c[j>>2]=c[j>>2]&~(1<>24)if((ry(l,51170)|0)<<24>>24)if((ry(l,51177)|0)<<24>>24)if((ry(l,51185)|0)<<24>>24)if((ry(l,51192)|0)<<24>>24){if(h<<24>>24!=11){j=182;break e}if(!((ry(l,51156)|0)<<24>>24))f=5;else{j=182;break e}}else f=4;else f=3;else f=2;else f=1;else f=0;l=f+((h&255)<12?9:18)|0;i=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24)){j=az(j,0,0)|0;c[3362544+(m*24|0)+8>>2]=(1<>0])+-1&j;j=182;break e}if(!((ry(l,51199)|0)<<24>>24)){j=az(j,0,0)|0;c[3362544+(m*24|0)+12>>2]=(1<>0])+-1&j;j=182;break e}if(!((uy(l,51137,8)|0)<<24>>24)){f=bz(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=182;break e}if(a[h>>0]|0){j=182;break e}f=f&255;if(f>>>0>=(d[44720+(m+-1)>>0]|0)>>>0){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24){if((uy(l,51234,8)|0)<<24>>24){j=182;break e}f=bz(l+8|0,o)|0;h=c[o>>2]|0;if(!h){j=182;break e}if(a[h>>0]|0){j=182;break e}f=f&255;if(f>>>0>=(d[44768+m>>0]|0)>>>0){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+12|0;c[j>>2]=c[j>>2]&~(1<>24)if((ry(f,51221)|0)<<24>>24){if(!((ry(f,51224)|0)<<24>>24)){f=20;break}if(!((ry(f,51228)|0)<<24>>24)){f=21;break}if(!((ry(f,51231)|0)<<24>>24))f=22;else{j=182;break e}}else f=19;else f=18;while(0);l=ty(j)|0;j=3362544+(m*24|0)+8|0;c[j>>2]=c[j>>2]&~(1<>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}case 20:{if(!((ry(l,51256)|0)<<24>>24)){l=(bz(j,0)|0)&3;j=3362544+(m*24|0)+4|0;b[j>>1]=l|b[j>>1]&32764;j=182;break e}if(!((ry(l,51267)|0)<<24>>24)){l=bz(j,0)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=l<<2&12|b[j>>1]&32755;j=182;break e}if(!((ry(l,51275)|0)<<24>>24)){l=bz(j,0)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=l<<4&4080|b[j>>1]&28687;j=182;break e}if((ry(l,51283)|0)<<24>>24){j=182;break e}m=3362544+(m*24|0)+4|0;b[m>>1]=(bz(j,0)|0)<<12&4096|b[m>>1]&28671;j=182;break e}case 23:{if((ry(l,51291)|0)<<24>>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}case 32:{if((ry(l,51303)|0)<<24>>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}case 39:{if((ry(l,51313)|0)<<24>>24){j=182;break e}l=ty(j)|0;j=3362544+(m*24|0)+4|0;b[j>>1]=b[j>>1]&-2&65535|l&255;j=182;break e}default:{j=182;break e}}while(0)}while(0)}while((lA(q)|0)==0)}while(0);e=3363528;f=3362544;h=0;while(1){a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;b[e+4>>1]=b[f+4>>1]|0;c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2];c[e+16>>2]=c[f+16>>2];h=h+1<<24>>24;if((h&255)>=41)break;else{e=e+24|0;f=f+24|0}}hA(q)|0;if((c[853966]|0)>=1){k=r;return}c[853966]=c[853960];k=r;return}function ey(){if(b[1708435]|0)b[1708435]=0;c[854067]=Hy(1024)|0;c[854068]=Hy(1024)|0;if((c[853966]|0)>=1){a[3416907]=-1;return}c[853966]=c[853960];a[3416907]=-1;return}function fy(){var a=0,b=0;a=gy()|0;b=Ka()|0;if(!b){b=0;return b|0}a=hy(b,a)|0;Wa(b);b=a;return b|0}function gy(){var a=0,b=0;a=bA(3374560,50407)|0;if(!a){a=-1;return a|0}b=qy(a)|0;hA(a)|0;a=b;return a|0}function hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=k;k=k+16|0;g=h+8|0;f=h;e=h+12|0;Ua(b)|0;iy(b,e)|0;if((c[e>>2]|0)!=544040790){b=0;k=h;return b|0}if((a[3416906]|0)!=-1)ux();a[3416906]=0;c[854060]=d;Ta(b,0,0)|0;jy(b);if((c[853969]|0)!=544040790){_z(50410,68,1,48768)|0;_z(50479,74,1,48768)|0;b=0;k=h;return b|0}c[854029]=44100;d=c[854060]|0;e=c[853970]|0;if(!d){c[854060]=e;d=e}if((e+-1|0)>>>0>=d>>>0){c[f>>2]=e;c[f+4>>2]=d;oA(48768,50554,f);c[853970]=c[854060]}if(!((c[853976]|0)==0|(c[853977]|0)!=0)){_z(50611,35,1,48768)|0;c[853976]=0}d=c[853982]|0;if(d>>>0<64){c[g>>2]=d;oA(48768,50647,g);c[853982]=64};c[854057]=0;c[854058]=0;c[854059]=0;c[854035]=0;c[854036]=0;c[854037]=0;c[854038]=0;g=c[853970]|0;c[854060]=g;g=Hy(g)|0;c[854039]=g;if(!g){b=0;k=h;return b|0}Ua(b)|0;Pa(b,c[854039]|0,c[854060]|0)|0;d=c[854016]|0;if(d|0){f=c[854039]|0;g=Vx(f+d|0)|0;g=g>>>0<12?g:12;c[854057]=g;g=g+d|0;d=d+4|0;if(d>>>0>>0){e=3416232;while(1){i=Vx(f+d|0)|0;c[e>>2]=(i|0)==0?0:i+d|0;d=d+4|0;if(d>>>0>=g>>>0)break;else e=e+4|0}}ky(c[854058]|0);ly(c[854059]|0)}if((my(b,c[853974]|0)|0)<<24>>24!=16){if(c[853974]|0){i=1;k=h;return i|0}}else c[853974]=0;c[854043]=ny()|0;c[854044]=ny()|0;c[854045]=ny()|0;c[854046]=ny()|0;c[854047]=ny()|0;c[854048]=ny()|0;c[854049]=ny()|0;c[854050]=ny()|0;c[854051]=ny()|0;c[854052]=ny()|0;c[854053]=ny()|0;i=1;k=h;return i|0}function iy(a,b){a=a|0;b=b|0;var e=0,f=0;e=k;k=k+16|0;f=e;a=Pa(a,f,4)|0;c[b>>2]=(d[f+2>>0]|0)<<16|(d[f+3>>0]|0)<<24|(d[f+1>>0]|0)<<8|(d[f>>0]|0);k=e;return a|0}function jy(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=k;k=k+240|0;m=n;Pa(d,m,228)|0;e=0;do{d=m+e|0;switch(e&2147483647|0){case 40:{b[d>>1]=Ux(a[d>>0]|0,a[d+1>>0]|0)|0;break}case 148:case 124:case 120:break;default:c[d>>2]=Vx(d)|0}e=e+4|0}while(e>>>0<228);d=c[m+8>>2]|0;if(d>>>0>=257)if(d>>>0>=272)if(d>>>0<336)j=11;else e=0;else j=9;else{c[m+36>>2]=0;j=9}if((j|0)==9){b[m+40>>1]=0;a[m+42>>0]=0;i=c[m+16>>2]|0;c[m+44>>2]=i;c[m+48>>2]=i;j=11}if((j|0)==11){c[m+52>>2]=0;a[m+43>>0]=0;c[m+56>>2]=0;c[m+60>>2]=0;e=1}if(c[m+12>>2]|0){d=m+40|0;if(!(b[d>>1]|0))b[d>>1]=9;d=m+42|0;if(!(a[d>>0]|0))a[d>>0]=16}h=m+4|0;d=c[h>>2]|0;if(d|0)c[h>>2]=d+4;i=m+20|0;d=c[i>>2]|0;if(d|0)c[i>>2]=d+20;g=m+28|0;d=c[g>>2]|0;if(d|0)c[g>>2]=d+28;f=m+52|0;if(!e){d=c[f>>2]|0;if(!d)d=0;else j=26}else{c[f>>2]=12;d=12;j=26}if((j|0)==26){d=d+52|0;c[f>>2]=d}d=e?64:d;d=(d|0)==0?64:d;if(d>>>0<228)QA(m+d|0,0,228-d|0)|0;d=m+127|0;if(!(a[d>>0]|0))a[d>>0]=16;e=m+188|0;d=c[e>>2]|0;if(d|0?(l=d+188|0,c[e>>2]=l,l>>>0<228):0)QA(m+l|0,0,40-d|0)|0;d=c[h>>2]|0;if((c[i>>2]|0)>>>0>=d>>>0)c[i>>2]=0;if((c[g>>2]|0)>>>0>=d>>>0)c[g>>2]=0;if((c[f>>2]|0)>>>0>=d>>>0)c[f>>2]=64;if((c[e>>2]|0)>>>0>>0){PA(3415876,m|0,228)|0;k=n;return}c[e>>2]=0;PA(3415876,m|0,228)|0;k=n;return}function ky(b){b=b|0;var e=0,f=0,g=0,h=0;if(!((b|0)!=0&(c[854060]|0)>>>0>b>>>0)){a[3416140]=0;c[854036]=0;return}f=c[854039]|0;e=a[f+b>>0]|0;a[3416140]=e;if(!(e<<24>>24)){c[854036]=0;return}h=Hy((e&255)<<3)|0;c[854036]=h;e=b+1|0;a[h>>0]=a[f+e>>0]|0;g=c[854039]|0;c[h+4>>2]=Vx(g+(b+2)|0)|0;if((d[3416140]|0)<=1)return;f=1;do{b=e;e=e+5|0;h=c[854036]|0;a[h+(f<<3)>>0]=a[g+e>>0]|0;c[h+(f<<3)+4>>2]=Vx(g+(b+6)|0)|0;f=f+1|0}while(f>>>0<(d[3416140]|0)>>>0);return}function ly(e){e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0&(c[854060]|0)>>>0>e>>>0){g=c[854039]|0;f=a[g+e>>0]|0;a[3416148]=f;if(f<<24>>24){f=Hy((f&255)<<2)|0;c[854038]=f;i=c[854039]|0;h=e+1|0;e=f;f=0;while(1){a[e+(f<<2)>>0]=a[g+h>>0]|0;a[e+(f<<2)+1>>0]=a[i+(h+1)>>0]|0;g=i+(h+2)|0;b[e+(f<<2)+2>>1]=Ux(a[g>>0]|0,a[g+1>>0]|0)|0;f=f+1|0;if(f>>>0>=(d[3416148]|0)>>>0)break;h=h+4|0;g=i;e=c[854038]|0}return}}else a[3416148]=0;c[854038]=0;return}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=k;k=k+16|0;e=g+4|0;f=g;if(b){Ta(a,b,0)|0;iy(a,f)|0;h=(c[f>>2]|0)==540238919;d=h?0:16;if(h){c[854040]=540238919;h=(iy(a,3416164)|0)+(b+4)|0;h=(iy(a,3416168)|0)+h|0;c[e>>2]=h;h=(c[854042]|0)+h|0;c[f>>2]=h;c[854043]=oy(a,e,h)|0;c[854044]=oy(a,e,h)|0;c[854045]=oy(a,e,h)|0;c[854046]=oy(a,e,h)|0;c[854047]=oy(a,e,h)|0;c[854048]=oy(a,e,h)|0;c[854049]=oy(a,e,h)|0;c[854050]=oy(a,e,h)|0;c[854051]=oy(a,e,h)|0;c[854052]=oy(a,e,h)|0;c[854053]=oy(a,e,h)|0;h=d;k=g;return h|0}}else d=0;a=3416160;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));h=d;k=g;return h|0}function ny(){var a=0;a=Hy(4)|0;c[a>>2]=0;return a|0}function oy(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=k;k=k+16|0;j=n;f=c[d>>2]|0;if(f>>>0>=e>>>0){m=0;k=n;return m|0}l=Hy((e-f|0)>>>1<<2)|0;if(!l){m=0;k=n;return m|0}if((Va(a)|0)!=(f|0))Ta(a,f,0)|0;h=0;i=l+-4|0;do{i=i+4|0;py(a,j);g=b[j>>1]|0;c[i>>2]=g&65535;f=f+2|0;h=h+1|0;if(f>>>0>=e>>>0){m=7;break}}while(g<<16>>16!=0);if((m|0)==7)c[i>>2]=0;m=Ky(l,h<<2)|0;c[d>>2]=f;k=n;return m|0}function py(a,c){a=a|0;c=c|0;var e=0,f=0;e=k;k=k+16|0;f=e;Pa(a,f,2)|0;b[c>>1]=(d[f+1>>0]|0)<<8|(d[f>>0]|0);k=e;return}function qy(d){d=d|0;var e=0,f=0,g=0,h=0;g=k;k=k+16|0;e=g;f=g+4|0;if((vA(f,2,1,d)|0?(h=Zx(a[f>>0]|0,a[f+1>>0]|0)|0,b[f>>1]=h,h<<16>>16==8075):0)?(nA(d,-4,2)|0,vA(e,4,1,d)|0):0){h=c[e>>2]|0;k=g;return h|0}nA(d,0,2)|0;h=wA(d)|0;c[e>>2]=h;k=g;return h|0}function ry(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=cz(a[b>>0]|0)|0;d=d<<24;f=d>>24;e=(cz(a[c>>0]|0)|0)<<24>>24;if((f|0)<(e|0)){f=-1;return f|0}while(1){if((f|0)>(e|0)){b=1;d=6;break}if(!d){b=0;d=6;break}b=b+1|0;c=c+1|0;d=cz(a[b>>0]|0)|0;d=d<<24;f=d>>24;e=(cz(a[c>>0]|0)|0)<<24>>24;if((f|0)<(e|0)){b=-1;d=6;break}}if((d|0)==6)return b|0;return 0}function sy(a){a=a|0;if((a&255)>=41){a=0;return a|0}a=c[44816+((a&255)<<2)>>2]|0;return a|0}function ty(a){a=a|0;if(!((ry(a,51325)|0)<<24>>24)){a=1;return a|0}if(!((ry(a,51330)|0)<<24>>24)){a=0;return a|0}a=(bz(a,0)|0)!=0&1;return a|0}function uy(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;while(1){h=cz(a[b>>0]|0)|0;h=h<<24;g=h>>24;f=(cz(a[c>>0]|0)|0)<<24>>24;if((g|0)<(f|0)){b=-1;c=6;break}if((g|0)>(f|0)){b=1;c=6;break}if(!h){b=0;c=6;break}e=e+1|0;if(e>>>0>=d>>>0){b=0;c=6;break}else{b=b+1|0;c=c+1|0}}if((c|0)==6)return b|0;return 0}function vy(b,d){b=b|0;d=d|0;if((b|0)!=0?(c[b>>2]|0)!=0:0){if((d|0)!=0?(c[d>>2]|0)!=0:0)b=(a[3416934]|0)==0?b:d}else b=d;return ((b|0)==0?3416284:b)|0}function wy(a,b){a=a|0;b=b|0;PA(a|0,b|0,((xy(b)|0)<<2)+4|0)|0;return}function xy(a){a=a|0;var b=0;if(!(c[a>>2]|0)){a=0;return a|0}b=0;do{b=b+1|0;a=a+4|0}while((c[a>>2]|0)!=0);return b|0}function yy(){var b=0,c=0,d=0,e=0,f=0;e=k;k=k+16|0;d=e;a[3373280]=0;c=0;do{b=Ax(c,d)|0;if(!b)b=0;else{f=(Ax(c|-128,0)|0)==0;b=f?b:b|1073741824}zy(c,a[d>>0]|0,b);c=c+1<<24>>24}while((c&255)<41);k=e;return}function zy(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if(!d)return;e=b<<24>>24==0&(d|0)<0?d&-1073741825:d;d=Sz(3373280)|0;if(!d)d=0;else{f=3373280+d|0;a[f>>0]=a[51629]|0;a[f+1>>0]=a[51630]|0;a[f+2>>0]=a[51631]|0;d=d+2|0}if(e&1073741824){f=3373280+d|0;a[f>>0]=a[51632]|0;a[f+1>>0]=a[51633]|0;a[f+2>>0]=a[51634]|0;d=d+2|0}f=Ay((e|0)<0?b|-128:b,c)|0;PA(3373280+d|0,f|0,(Sz(f)|0)+1|0)|0;return}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0;c=a&255;d=c&127;a:do if(d>>>0>40)b=0;else{b:do switch(a&127){case 4:{b=51853;break a}case 0:{if(c&128|0){b=51684;break a}switch(b<<24>>24){case 1:{b=51690;break a}case 2:{b=51698;break a}case 3:{b=51707;break a}case 4:{b=51336;break a}case 5:{b=51715;break a}case 6:{b=51723;break a}case 7:{b=51732;break a}case 8:{b=51740;break a}default:{b=51336;break a}}}case 1:{if(c&128|0){b=51679;break a}break}case 2:{b=(c&128|0)==0?51351:51635;break a}case 8:{b=(c&128|0)==0?51394:51642;break a}case 18:switch(b<<24>>24){case 0:{b=51862;break a}case 1:{b=51747;break a}case 2:{b=51757;break a}case 3:{b=51767;break a}case 4:{b=51774;break a}case 16:{b=51784;break a}case 17:{b=51791;break a}case 18:{b=51798;break a}case 19:{b=51805;break a}default:break b}case 19:{b=51812;break a}case 20:{b=(c&128|0)==0?51478:51650;break a}case 25:{b=(c&128|0)==0?51519:51664;break a}case 28:{switch(b<<24>>24){case 1:case 0:{b=51543;break a}case 2:break;default:break b}b=51819;break a}case 33:{b=51824;break a}case 34:{b=51835;break a}case 37:{b=(c&128|0)==0?51672:51599;break a}case 40:{b=51843;break a}default:{}}while(0);b=sy(d&255)|0}while(0);return b|0}function By(){var a=0,b=0;a=c[854028]|0;b=c[853977]|0;do if(!a)if(!b){b=0;a=c[853975]|0;break}else{b=-1e3;return b|0}else{a=(M(b,a+-1|0)|0)+(c[853975]|0)|0;if(!b)b=0;else b=((c[853961]|0)>>>0)/1e3|0}while(0);b=a+(M(b,c[854029]|0)|0)|0;return b|0}function Cy(a){a=a|0;a=JA(c[854069]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=HA(a|0,x|0,c[854070]|0,0)|0;return a|0}function Dy(){var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=k;k=k+16|0;l=o;if(!(a[3416908]|0))f=0;else f=((c[853960]|0)>>>0)/44100|0;j=Ey()|0;c[854056]=(a[3416913]|0)==0?c[854055]|0:c[854054]|0;m=l+4|0;e=0;while(1){Jx(1);c[l>>2]=0;c[m>>2]=0;g=c[854056]|0;if(!g){g=0;h=0}else{do{if(!(a[c[g+4>>2]>>0]|0))Fy(c[g>>2]|0,l);g=c[g+8>>2]|0}while((g|0)!=0);g=c[l>>2]|0;h=c[m>>2]|0}i=(M(g>>5,j)|0)>>11;c[l>>2]=i;g=(M(h>>5,j)|0)>>11;c[m>>2]=g;if(a[3416901]|0){g=0-g|0;c[m>>2]=g}h=d[3416898]|0;b[3381728+(e<<2)>>1]=Gy(i<>1]=Gy(g<>>0)/100|0}if((f|0)!=0?((e>>>0)%(f>>>0)|0|0)==0:0)g=Ey()|0;else g=j;if((a[3416913]|0)!=0&(a[3416912]|0)==0)break;e=e+1|0;if(e>>>0<8192)j=g;else{n=20;break}}if((n|0)==20){k=o;return e|0}a[3416912]=1;n=e;k=o;return n|0}function Ey(){var b=0.0,d=0,e=0;if(!(a[3416908]|0)){b=+g[854027];b=b*256.0;b=b+.5;e=~~b;return e|0}d=c[853968]|0;e=c[854030]|0;if(!d){c[853968]=e;d=e}b=1.0-+((e-d|0)>>>0)/+((c[853960]|0)>>>0)/(+((c[853961]|0)>>>0)*1.0000000474974513e-03);g[853967]=b;if(b<0.0){g[853967]=0.0;a[3416913]=1;b=0.0}b=b*(+g[854026]*b);g[854027]=b;b=b*256.0;b=b+.5;e=~~b;return e|0}function Fy(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=k;k=k+16|0;z=I;A=c[854067]|0;B=c[854068]|0;C=A+4|0;D=B+4|0;E=A+8|0;F=B+8|0;G=z+4|0;H=d+4|0;do{a:do switch(a[b+8>>0]|0){case 0:{y=b+24|0;f=c[y>>2]|0;j=b+20|0;c[j>>2]=f;w=b+16|0;g=(c[w>>2]|0)+1|0;c[w>>2]=g;g=KA(JA(c[b>>2]|0,0,g|0,0)|0,x|0,c[853960]|0,0)|0;c[y>>2]=g;if(f>>>0>=g>>>0){f=b+4|0;g=M(c[b+28>>2]|0,e[f>>1]|0)|0;c[d>>2]=g+(c[d>>2]|0);f=M(c[b+32>>2]|0,e[f>>1]|0)|0;c[H>>2]=f+(c[H>>2]|0);f=b;g=j;break a}i=g-f|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,3416268,i);if((i|0)==1){f=b+4|0;g=M(c[A>>2]|0,e[f>>1]|0)|0;c[d>>2]=g+(c[d>>2]|0);f=M(c[B>>2]|0,e[f>>1]|0)|0;c[H>>2]=f+(c[H>>2]|0);c[b+28>>2]=c[A>>2];c[b+32>>2]=c[B>>2];f=b;g=j;break a}f=c[A>>2]|0;if((i|0)==2){g=b+4|0;f=(M((c[C>>2]|0)+f|0,e[g>>1]|0)|0)>>1;c[d>>2]=f+(c[d>>2]|0);f=(M((c[D>>2]|0)+(c[B>>2]|0)|0,e[g>>1]|0)|0)>>1;c[H>>2]=f+(c[H>>2]|0);c[b+28>>2]=c[C>>2];c[b+32>>2]=c[D>>2];f=b;g=j;break a}g=c[B>>2]|0;if((i|0)>1){h=1;do{f=(c[A+(h<<2)>>2]|0)+f|0;g=(c[B+(h<<2)>>2]|0)+g|0;h=h+1|0}while((h|0)<(i|0))}y=b+4|0;f=(M(f,e[y>>1]|0)|0)/(i|0)|0;c[d>>2]=(c[d>>2]|0)+f;f=(M(g,e[y>>1]|0)|0)/(i|0)|0;c[H>>2]=(c[H>>2]|0)+f;f=i+-1|0;c[b+28>>2]=c[A+(f<<2)>>2];c[b+32>>2]=c[B+(f<<2)>>2];f=b;g=j;break}case 1:{f=b+16|0;p=JA(c[f>>2]<<11|0,0,c[b>>2]|0,0)|0;p=KA(p|0,x|0,c[853960]|0,0)|0;w=(p+2047|0)>>>11;r=b+28|0;c[A>>2]=c[r>>2];t=b+32|0;c[B>>2]=c[t>>2];v=b+36|0;c[C>>2]=c[v>>2];y=b+40|0;c[D>>2]=c[y>>2];c[z>>2]=E;c[G>>2]=F;s=b+24|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,z,w-(c[s>>2]|0)|0);n=c[s>>2]<<11;g=b+20|0;c[g>>2]=p>>>11;c[s>>2]=w;n=p+2048-n|0;p=b+4|0;s=n>>>11;w=(n+2047|0)>>>11;n=n&2047;q=A+(s<<2)|0;j=c[q>>2]|0;o=2048-n|0;j=JA(o|0,0,j|0,((j|0)<0)<<31>>31|0)|0;m=x;u=A+(w<<2)|0;l=c[u>>2]|0;l=JA(n|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=DA(j|0,m|0,l|0,x|0)|0;m=x;s=B+(s<<2)|0;j=c[s>>2]|0;j=JA(o|0,0,j|0,((j|0)<0)<<31>>31|0)|0;o=x;w=B+(w<<2)|0;i=c[w>>2]|0;n=JA(i|0,((i|0)<0)<<31>>31|0,n|0,0)|0;n=DA(j|0,o|0,n|0,x|0)|0;o=x;m=JA(l|0,m|0,e[p>>1]|0,0)|0;m=HA(m|0,x|0,2048,0)|0;c[d>>2]=(c[d>>2]|0)+m;p=JA(n|0,o|0,e[p>>1]|0,0)|0;p=HA(p|0,x|0,2048,0)|0;c[H>>2]=(c[H>>2]|0)+p;c[r>>2]=c[q>>2];c[t>>2]=c[s>>2];c[v>>2]=c[u>>2];c[y>>2]=c[w>>2];c[f>>2]=(c[f>>2]|0)+1;f=b;break}case 2:{g=b+16|0;y=M(c[b>>2]|0,c[g>>2]|0)|0;f=b+24|0;c[f>>2]=(y>>>0)/((c[853960]|0)>>>0)|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,3416268,1);y=b+4|0;w=M(c[A>>2]|0,e[y>>1]|0)|0;c[d>>2]=w+(c[d>>2]|0);y=M(c[B>>2]|0,e[y>>1]|0)|0;c[H>>2]=y+(c[H>>2]|0);c[g>>2]=(c[g>>2]|0)+1;g=b+20|0;c[g>>2]=c[f>>2];f=b;break}case 3:{l=c[b>>2]|0;t=b+16|0;v=JA((c[t>>2]<<11)+2048|0,0,l|0,0)|0;v=KA(v|0,x|0,c[853960]|0,0)|0;u=b+24|0;c[u>>2]=(v+2047|0)>>>11;v=b+28|0;c[A>>2]=c[v>>2];w=b+32|0;c[B>>2]=c[w>>2];c[z>>2]=C;c[G>>2]=D;g=b+20|0;ya[c[b+12>>2]&63](a[b+7>>0]|0,z,(c[u>>2]|0)-(c[g>>2]|0)|0);p=JA(c[t>>2]<<11|0,0,l|0,0)|0;r=c[853960]|0;p=KA(p|0,x|0,r|0,0)|0;q=c[g>>2]<<11;o=p-q|0;f=o+2048|0;y=b+4|0;l=NA(l|0,0,11)|0;r=KA(l|0,x|0,r|0,0)|0;l=f+r|0;n=0-o&2047;if(!n){i=0;j=0;h=0;f=0}else{h=f>>>11;i=c[A+(h<<2)>>2]|0;i=JA(i|0,((i|0)<0)<<31>>31|0,n|0,0)|0;j=x;h=c[B+(h<<2)>>2]|0;h=JA(h|0,((h|0)<0)<<31>>31|0,n|0,0)|0;f=x}m=l&2047;s=l>>>11;if(m){l=c[A+(s<<2)>>2]|0;l=JA(l|0,((l|0)<0)<<31>>31|0,m|0,0)|0;i=DA(l|0,x|0,i|0,j|0)|0;j=x;l=c[B+(s<<2)>>2]|0;l=JA(l|0,((l|0)<0)<<31>>31|0,m|0,0)|0;h=DA(l|0,x|0,h|0,f|0)|0;n=m+n|0;f=x}l=(o+4095|0)>>>11;n=n+(s-l<<11)|0;if(s>>>0>l>>>0){m=(p+2048-q+r|0)>>>11;do{r=c[A+(l<<2)>>2]|0;r=NA(r|0,((r|0)<0)<<31>>31|0,11)|0;i=DA(r|0,x|0,i|0,j|0)|0;j=x;r=c[B+(l<<2)>>2]|0;r=NA(r|0,((r|0)<0)<<31>>31|0,11)|0;h=DA(r|0,x|0,h|0,f|0)|0;f=x;l=l+1|0}while((l|0)!=(m|0))}q=JA(i|0,j|0,e[y>>1]|0,0)|0;r=((n|0)<0)<<31>>31;q=HA(q|0,x|0,n|0,r|0)|0;c[d>>2]=(c[d>>2]|0)+q;f=JA(h|0,f|0,e[y>>1]|0,0)|0;f=HA(f|0,x|0,n|0,r|0)|0;c[H>>2]=(c[H>>2]|0)+f;c[v>>2]=c[A+(s<<2)>>2];c[w>>2]=c[B+(s<<2)>>2];c[t>>2]=(c[t>>2]|0)+1;c[g>>2]=c[u>>2];f=b;break}default:{f=b+16|0;c[f>>2]=(c[f>>2]|0)+(c[853960]|0);f=b;g=b+20|0}}while(0);h=c[g>>2]|0;f=c[f>>2]|0;if(h>>>0>=f>>>0){c[g>>2]=h-f;y=b+24|0;c[y>>2]=(c[y>>2]|0)-f;y=b+16|0;c[y>>2]=(c[y>>2]|0)-(c[853960]|0)}b=c[b+44>>2]|0}while((b|0)!=0);k=I;return}function Gy(a){a=a|0;a=(a|0)>-32768?a:-32768;return ((a|0)<32767?a:32767)&65535|0} +function Aa(a){a=a|0;var b=0;b=k;k=k+a|0;k=k+15&-16;return b|0}function Ba(){return k|0}function Ca(a){a=a|0;k=a}function Da(a,b){a=a|0;b=b|0;k=a;l=b}function Ea(a,b){a=a|0;b=b|0;if(!m){m=a;n=b}}function Fa(a){a=a|0;x=a}function Ga(){return x|0}function Ha(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a>>>16;a=a&65535;if((c|0)==1){h=a+(d[b>>0]|0)|0;h=h>>>0>65520?h+-65521|0:h;f=h+e|0;g=f<<16;h=(f>>>0>65520?g+983040|0:g)|h;return h|0}if(!b){h=1;return h|0}if(c>>>0<16){if(c)while(1){c=c+-1|0;a=a+(d[b>>0]|0)|0;e=a+e|0;if(!c)break;else b=b+1|0}h=((e>>>0)%65521|0)<<16|(a>>>0>65520?a+-65521|0:a);return h|0}if(c>>>0>5551){do{f=347;g=b;while(1){w=a+(d[g>>0]|0)|0;v=w+(d[g+1>>0]|0)|0;u=v+(d[g+2>>0]|0)|0;t=u+(d[g+3>>0]|0)|0;s=t+(d[g+4>>0]|0)|0;r=s+(d[g+5>>0]|0)|0;q=r+(d[g+6>>0]|0)|0;p=q+(d[g+7>>0]|0)|0;o=p+(d[g+8>>0]|0)|0;n=o+(d[g+9>>0]|0)|0;m=n+(d[g+10>>0]|0)|0;l=m+(d[g+11>>0]|0)|0;k=l+(d[g+12>>0]|0)|0;j=k+(d[g+13>>0]|0)|0;i=j+(d[g+14>>0]|0)|0;a=i+(d[g+15>>0]|0)|0;e=w+e+v+u+t+s+r+q+p+o+n+m+l+k+j+i+a|0;f=f+-1|0;if(!f)break;else g=g+16|0}c=c+-5552|0;b=b+5552|0;a=(a>>>0)%65521|0;e=(e>>>0)%65521|0}while(c>>>0>5551);if(c)if(c>>>0>15)h=16;else h=19}else h=16;if((h|0)==16){g=c+-16|0;h=g&-16;f=b;while(1){c=c+-16|0;i=a+(d[f>>0]|0)|0;j=i+(d[f+1>>0]|0)|0;k=j+(d[f+2>>0]|0)|0;l=k+(d[f+3>>0]|0)|0;m=l+(d[f+4>>0]|0)|0;n=m+(d[f+5>>0]|0)|0;o=n+(d[f+6>>0]|0)|0;p=o+(d[f+7>>0]|0)|0;q=p+(d[f+8>>0]|0)|0;r=q+(d[f+9>>0]|0)|0;s=r+(d[f+10>>0]|0)|0;t=s+(d[f+11>>0]|0)|0;u=t+(d[f+12>>0]|0)|0;v=u+(d[f+13>>0]|0)|0;w=v+(d[f+14>>0]|0)|0;a=w+(d[f+15>>0]|0)|0;e=i+e+j+k+l+m+n+o+p+q+r+s+t+u+v+w+a|0;if(c>>>0<=15)break;else f=f+16|0}c=g-h|0;if(!c)h=21;else{b=b+(h+16)|0;h=19}}if((h|0)==19)while(1){c=c+-1|0;a=a+(d[b>>0]|0)|0;e=a+e|0;if(!c){h=21;break}else b=b+1|0}if((h|0)==21){e=(e>>>0)%65521|0;a=(a>>>0)%65521|0}w=e<<16|a;return w|0}function Ia(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=0;else a=Ja(a,b,c)|0;return a|0}function Ja(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;a=~a;if(!e){h=a;h=~h;return h|0}while(1){if(!(b&3))break;a=c[16+((a&255^(d[b>>0]|0))<<2)>>2]^a>>>8;e=e+-1|0;if(!e){f=16;break}else b=b+1|0}if((f|0)==16){h=~a;return h|0}if(e>>>0>31){g=e+-32|0;h=g&-32;f=b+(h+32)|0;while(1){i=c[b>>2]^a;i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+4>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+8>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+12>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+16>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+20>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+24>>2];i=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2]^c[b+28>>2];a=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2];e=e+-32|0;if(e>>>0<=31)break;else b=b+32|0}b=f;e=g-h|0}if(e>>>0>3){h=e+-4|0;g=h>>>2;f=b;while(1){i=c[f>>2]^a;a=c[2064+((i>>>8&255)<<2)>>2]^c[3088+((i&255)<<2)>>2]^c[1040+((i>>>16&255)<<2)>>2]^c[16+(i>>>24<<2)>>2];e=e+-4|0;if(e>>>0<=3)break;else f=f+4|0}b=b+(g+1<<2)|0;e=h&3}if(!e){i=a;i=~i;return i|0}while(1){a=c[16+((a&255^(d[b>>0]|0))<<2)>>2]^a>>>8;e=e+-1|0;if(!e)break;else b=b+1|0}i=~a;return i|0}function Ka(){return La()|0}function La(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=k;k=k+128|0;s=t+80|0;i=t;p=Hy(116)|0;if(!p){s=0;k=t;return s|0}c[p+32>>2]=0;c[p+36>>2]=0;c[p+40>>2]=0;l=p+68|0;c[p>>2]=0;m=p+72|0;n=p+12|0;c[n>>2]=0;o=p+16|0;c[o>>2]=0;q=p+4|0;c[q>>2]=0;r=p+64|0;b=p+56|0;c[p+100>>2]=0;c[p+104>>2]=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[p+108>>2]=-1;c[p+76>>2]=Ia(0,0,0)|0;c[p+80>>2]=0;c[p+88>>2]=0;b=Hy((Sz(3374560)|0)+1|0)|0;c[p+84>>2]=b;if(!b){Ma(p)|0;s=0;k=t;return s|0}Wz(b,3374560)|0;j=p+92|0;a[j>>0]=0;h=i+80|0;d=i;g=50407;e=0;f=-1;while(1){b=a[g>>0]|0;if(b<<24>>24==114){a[j>>0]=114;b=a[g>>0]|0}switch(b<<24>>24){case 97:case 119:{a[j>>0]=119;b=a[g>>0]|0;break}default:{}}a:do if((b+-48&255)<10)f=(b<<24>>24)+-48|0;else switch(b<<24>>24){case 102:{e=1;b=104;break a}case 104:{e=2;b=104;break a}case 82:{e=3;b=104;break a}default:{a[d>>0]=b;d=d+1|0;b=a[g>>0]|0;break a}}while(0);if((d|0)!=(h|0)&b<<24>>24!=0)g=g+1|0;else break}b:do switch(a[j>>0]|0){case 0:{Ma(p)|0;s=0;k=t;return s|0}case 119:{h=Ya(p,f,8,-15,8,e,49406,56)|0;l=Hy(16384)|0;c[m>>2]=l;c[n>>2]=l;if((h|0)!=0|(l|0)==0){Ma(p)|0;s=0;k=t;return s|0}break}default:{n=Hy(16384)|0;c[l>>2]=n;c[p>>2]=n;if((Gb(p)|0)==0?c[l>>2]|0:0)break b;Ma(p)|0;s=0;k=t;return s|0}}while(0);c[o>>2]=16384;c[854212]=0;b=bA(3374560,i)|0;c[r>>2]=b;if(!b){Ma(p)|0;s=0;k=t;return s|0}if((a[j>>0]|0)==119){c[s>>2]=31;c[s+4>>2]=139;c[s+8>>2]=8;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;c[s+32>>2]=0;c[s+36>>2]=3;oA(b,49412,s);c[p+96>>2]=10;s=p;k=t;return s|0}else{Na(p);s=wA(c[r>>2]|0)|0;c[p+96>>2]=s-(c[q>>2]|0);s=p;k=t;return s|0}return 0}function Ma(b){b=b|0;var d=0,e=0,f=0;if(!b){b=-2;return b|0}d=c[b+80>>2]|0;if(d|0)Iy(d);a:do if(!(c[b+28>>2]|0))d=0;else switch(a[b+92>>0]|0){case 119:{d=Za(b)|0;break a}case 114:{d=Kb(b)|0;break a}default:{d=0;break a}}while(0);e=c[b+64>>2]|0;if((e|0)!=0?(hA(e)|0)!=0:0)d=(c[854212]|0)==29?d:-1;f=c[b+56>>2]|0;e=c[b+68>>2]|0;if(e|0)Iy(e);e=c[b+72>>2]|0;if(e|0)Iy(e);e=c[b+84>>2]|0;if(e|0)Iy(e);Iy(b);b=(f|0)<0?f:d;return b|0}function Na(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=b+4|0;f=c[i>>2]|0;do if(f>>>0<2){if(!f)h=b+68|0;else{h=b+68|0;a[c[h>>2]>>0]=a[c[b>>2]>>0]|0}c[854212]=0;g=b+64|0;e=vA((c[h>>2]|0)+f|0,1,16384>>>f,c[g>>2]|0)|0;if((e|0)==0?mA(c[g>>2]|0)|0:0)c[b+56>>2]=-1;f=(c[i>>2]|0)+e|0;c[i>>2]=f;e=c[h>>2]|0;c[b>>2]=e;if(f>>>0>=2){g=b;break}c[b+88>>2]=f;return}else{g=b;e=c[b>>2]|0}while(0);if((a[e>>0]|0)==31?(a[e+1>>0]|0)==-117:0){c[i>>2]=f+-2;c[g>>2]=e+2;i=Oa(b)|0;e=Oa(b)|0;if(!((i|0)==8&(e&224|0)==0)){c[b+56>>2]=-3;return}Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;Oa(b)|0;if(e&4|0?(d=Oa(b)|0,d=((Oa(b)|0)<<8)+d|0,d|0):0)do d=d+-1|0;while(!((Oa(b)|0)==-1|(d|0)==0));if(e&8|0)do{}while(((Oa(b)|0)+1|0)>>>0>1);if(e&16|0)do{}while(((Oa(b)|0)+1|0)>>>0>1);if(e&2|0){Oa(b)|0;Oa(b)|0}c[b+56>>2]=(c[b+60>>2]|0)==0?0:-3;return}c[b+88>>2]=1;return}function Oa(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;g=a+60|0;if(c[g>>2]|0){h=-1;return h|0}h=a+4|0;e=c[h>>2]|0;do if(!e){c[854212]=0;b=a+68|0;f=a+64|0;e=vA(c[b>>2]|0,1,16384,c[f>>2]|0)|0;c[h>>2]=e;if(e|0){b=c[b>>2]|0;c[a>>2]=b;f=a;break}c[g>>2]=1;if(!(mA(c[f>>2]|0)|0)){h=-1;return h|0}c[a+56>>2]=-1;h=-1;return h|0}else{f=a;b=c[a>>2]|0}while(0);c[h>>2]=e+-1;c[f>>2]=b+1;h=d[b>>0]|0;return h|0}function Pa(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;if(!b){e=-2;return e|0}if((a[b+92>>0]|0)!=114){e=-2;return e|0}r=b+56|0;switch(c[r>>2]|0){case 1:{e=0;return e|0}case -1:case -3:{e=-1;return e|0}default:{f=b+12|0;c[f>>2]=d;s=b+16|0;c[s>>2]=e;a:do if(e){h=b+108|0;g=c[h>>2]|0;do if((g|0)==-1){i=d;q=b+104|0;h=e}else{i=d+1|0;a[d>>0]=g;c[f>>2]=(c[f>>2]|0)+1;g=(c[s>>2]|0)+-1|0;c[s>>2]=g;c[h>>2]=-1;d=b+104|0;c[d>>2]=(c[d>>2]|0)+1;if(!(c[b+112>>2]|0))if(!g){d=i;t=11;break a}else{q=d;h=g;break}c[r>>2]=1;e=1;return e|0}while(0);k=b+88|0;m=b+4|0;o=b+60|0;p=b+100|0;l=b+68|0;n=b+64|0;g=b+76|0;d=i;j=h;while(1){h=c[m>>2]|0;if(c[k>>2]|0){t=15;break}if(!h)if(!(c[o>>2]|0)){c[854212]=0;h=vA(c[l>>2]|0,1,16384,c[n>>2]|0)|0;c[m>>2]=h;if((h|0)==0?(c[o>>2]=1,mA(c[n>>2]|0)|0):0){t=24;break}c[b>>2]=c[l>>2];j=c[s>>2]|0}else h=0;c[p>>2]=(c[p>>2]|0)+h;c[q>>2]=(c[q>>2]|0)+j;h=Hb(b)|0;c[r>>2]=h;c[p>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)-(c[s>>2]|0);if((h|0)==1){j=c[f>>2]|0;c[g>>2]=Ia(c[g>>2]|0,d,j-d|0)|0;d=j;j=Qa(b)|0;if((j|0)!=(c[g>>2]|0)){t=28;break}Qa(b)|0;Na(b);if(c[r>>2]|0)break a;Fb(b)|0;c[g>>2]=Ia(0,0,0)|0;h=c[r>>2]|0}if(h|0)break a;if(c[o>>2]|0)break a;h=c[s>>2]|0;if(!h)break a;else j=h}if((t|0)==15){h=h>>>0>j>>>0?j:h;if(h){PA(c[f>>2]|0,c[b>>2]|0,h|0)|0;g=i+h|0;c[f>>2]=g;c[b>>2]=(c[b>>2]|0)+h;d=(c[s>>2]|0)-h|0;c[s>>2]=d;c[m>>2]=(c[m>>2]|0)-h;if(!d)d=0;else{f=g;t=17}}else{f=i;d=j;t=17}if((t|0)==17){d=vA(f,1,d,c[n>>2]|0)|0;d=(c[s>>2]|0)-d|0;c[s>>2]=d}d=e-d|0;c[p>>2]=(c[p>>2]|0)+d;c[q>>2]=(c[q>>2]|0)+d;if(d|0){e=d;return e|0}c[o>>2]=1;e=0;return e|0}else if((t|0)==24){c[r>>2]=-1;break}else if((t|0)==28){c[r>>2]=-3;break}}else t=11;while(0);if((t|0)==11)g=b+76|0;c[g>>2]=Ia(c[g>>2]|0,d,(c[f>>2]|0)-d|0)|0;d=c[s>>2]|0;b:do if((d|0)==(e|0)){switch(c[r>>2]|0){case -1:case -3:{d=-1;break}default:break b}return d|0}while(0);e=e-d|0;return e|0}}return 0}function Qa(a){a=a|0;var b=0,d=0;b=Oa(a)|0;b=((Oa(a)|0)<<8)+b|0;b=b+((Oa(a)|0)<<16)|0;d=Oa(a)|0;if((d|0)!=-1){d=d<<24;d=b+d|0;return d|0}c[a+56>>2]=-3;d=d<<24;d=b+d|0;return d|0}function Ra(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!b){e=-2;return e|0}if((a[b+92>>0]|0)!=119){e=-2;return e|0}c[b>>2]=d;n=b+4|0;c[n>>2]=e;a:do if(!e)f=0;else{o=b+16|0;h=b+72|0;i=b+12|0;j=b+64|0;k=b+100|0;l=b+104|0;m=b+56|0;g=c[o>>2]|0;f=e;while(1){if(!g){g=c[h>>2]|0;c[i>>2]=g;if((_z(g,1,16384,c[j>>2]|0)|0)!=16384)break;c[o>>2]=16384;f=c[n>>2]|0;g=16384}c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=(c[l>>2]|0)+g;p=ib(b,0)|0;c[m>>2]=p;f=c[n>>2]|0;c[k>>2]=(c[k>>2]|0)-f;g=c[o>>2]|0;c[l>>2]=(c[l>>2]|0)-g;if((p|0)!=0|(f|0)==0)break a}c[m>>2]=-1;f=c[n>>2]|0}while(0);p=b+76|0;c[p>>2]=Ia(c[p>>2]|0,d,e)|0;p=e-f|0;return p|0}function Sa(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!b){n=-2;return n|0}if((a[b+92>>0]|0)!=119){n=-2;return n|0}c[b+4>>2]=0;j=b+16|0;k=b+72|0;l=b+64|0;m=b+104|0;h=b+56|0;i=b+12|0;f=0;d=c[j>>2]|0;while(1){e=16384-d|0;g=(e|0)==0;if(!g){if((_z(c[k>>2]|0,1,e,c[l>>2]|0)|0)!=(e|0)){n=6;break}c[i>>2]=c[k>>2];c[j>>2]=16384;d=16384}if(f|0){n=9;break}c[m>>2]=(c[m>>2]|0)+d;d=ib(b,4)|0;c[h>>2]=d;e=c[j>>2]|0;c[m>>2]=(c[m>>2]|0)-e;if(!(g&(d|0)==-5)){if(d>>>0>=2)break}else{c[h>>2]=0;d=0}f=((e|0)!=0|(d|0)==1)&1;d=e}if((n|0)==6){c[h>>2]=-1;n=-1;return n|0}else if((n|0)==9)d=c[h>>2]|0;n=(d|0)==1?0:d;return n|0}function Ta(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if(!b){b=-1;return b|0}g=b+56|0;switch(c[g>>2]|0){case -3:case -1:{b=-1;return b|0}default:{}}if((a[b+92>>0]|0)==119){if(!e)d=d-(c[b+100>>2]|0)|0;if((d|0)<0){b=-1;return b|0}f=b+68|0;e=c[f>>2]|0;do if(!e){e=Hy(16384)|0;c[f>>2]=e;if(!e){b=-1;return b|0}else{QA(e|0,0,16384)|0;break}}while(0);a:do if((d|0)>0){e=Ra(b,e,(d|0)<16384?d:16384)|0;if(!e){b=-1;return b|0}d=d-e|0;while(1){if((d|0)<=0)break a;e=Ra(b,c[f>>2]|0,(d|0)<16384?d:16384)|0;if(!e){d=-1;break}else d=d-e|0}return d|0}while(0);b=c[b+100>>2]|0;return b|0}if((e|0)==1)d=(c[b+104>>2]|0)+d|0;if((d|0)<0){b=-1;return b|0}if(c[b+88>>2]|0){c[b+108>>2]=-1;c[b+4>>2]=0;c[b>>2]=c[b+68>>2];if((nA(c[b+64>>2]|0,d,0)|0)<0){b=-1;return b|0}c[b+104>>2]=d;c[b+100>>2]=d;b=d;return b|0}i=b+104|0;e=c[i>>2]|0;if((d|0)<(e|0)){if((Ua(b)|0)<0){b=-1;return b|0}}else d=d-e|0;b:do if(d|0){h=b+72|0;e=c[h>>2]|0;if(!e){e=Hy(16384)|0;c[h>>2]=e;if(!e){b=-1;return b|0}}f=b+108|0;if((c[f>>2]|0)!=-1){c[f>>2]=-1;c[i>>2]=(c[i>>2]|0)+1;d=d+-1|0;if(c[b+112>>2]|0)c[g>>2]=1}if((d|0)>0){while(1){g=Pa(b,e,(d|0)<16384?d:16384)|0;d=d-g|0;if((g|0)<1){d=-1;break}if((d|0)<=0)break b;e=c[h>>2]|0}return d|0}}while(0);b=c[i>>2]|0;return b|0}function Ua(b){b=b|0;if(!b){b=-1;return b|0}if((a[b+92>>0]|0)!=114){b=-1;return b|0}c[b+56>>2]=0;c[b+60>>2]=0;c[b+108>>2]=-1;c[b+4>>2]=0;c[b>>2]=c[b+68>>2];c[b+76>>2]=Ia(0,0,0)|0;if(!(c[b+88>>2]|0))Fb(b)|0;c[b+100>>2]=0;c[b+104>>2]=0;b=nA(c[b+64>>2]|0,c[b+96>>2]|0,0)|0;return b|0}function Va(a){a=a|0;return Ta(a,0,1)|0}function Wa(b){b=b|0;var d=0;if(!b)return;if((a[b+92>>0]|0)==119?(Sa(b)|0)==0:0){d=b+64|0;Xa(c[d>>2]|0,c[b+76>>2]|0);Xa(c[d>>2]|0,c[b+100>>2]|0)}Ma(b)|0;return}function Xa(a,b){a=a|0;b=b|0;uA(b&255,a);uA(b>>>8&255,a);uA(b>>>16&255,a);uA(b>>>24,a);return}function Ya(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;if(!i){h=-6;return h|0}if((j|0)!=56|(a[i>>0]|0)!=49){h=-6;return h|0}if(!b){h=-2;return h|0}n=b+24|0;c[n>>2]=0;m=b+32|0;i=c[m>>2]|0;if(!i){c[m>>2]=5;c[b+40>>2]=0;i=5}j=b+36|0;if(!(c[j>>2]|0))c[j>>2]=4;l=(d|0)==-1?6:d;if((f|0)<0){k=0;j=0-f|0}else{j=(f|0)>15;k=j?2:1;j=j?f+-16|0:f}if(h>>>0>4|(l>>>0>9|((e|0)!=8|(g+-1|0)>>>0>8|(j&-8|0)!=8))){h=-2;return h|0}d=(j|0)==8?9:j;j=b+40|0;f=va[i&7](c[j>>2]|0,1,5824)|0;if(!f){h=-4;return h|0}c[b+28>>2]=f;c[f>>2]=b;c[f+24>>2]=k;c[f+28>>2]=0;c[f+48>>2]=d;k=1<>2]=k;c[f+52>>2]=k+-1;d=g+7|0;c[f+80>>2]=d;d=1<>2]=d;c[f+84>>2]=d+-1;c[f+88>>2]=((g+9|0)>>>0)/3|0;d=f+56|0;c[d>>2]=va[c[m>>2]&7](c[j>>2]|0,k,2)|0;k=f+64|0;c[k>>2]=va[c[m>>2]&7](c[j>>2]|0,c[e>>2]|0,2)|0;e=f+68|0;c[e>>2]=va[c[m>>2]&7](c[j>>2]|0,c[i>>2]|0,2)|0;i=1<>2]=i;i=va[c[m>>2]&7](c[j>>2]|0,i,4)|0;c[f+8>>2]=i;j=c[g>>2]|0;c[f+12>>2]=j<<2;if((c[d>>2]|0?c[k>>2]|0:0)?!((i|0)==0|(c[e>>2]|0)==0):0){c[f+5796>>2]=i+(j>>>1<<1);c[f+5784>>2]=i+(j*3|0);c[f+132>>2]=l;c[f+136>>2]=h;a[f+36>>0]=8;h=_a(b)|0;return h|0}c[f+4>>2]=666;c[n>>2]=49446;Za(b)|0;h=-4;return h|0}function Za(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}f=a+28|0;b=c[f>>2]|0;if(!b){g=-2;return g|0}g=c[b+4>>2]|0;switch(g|0){case 42:case 69:case 73:case 91:case 103:case 113:case 666:break;default:{g=-2;return g|0}}d=c[b+8>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+68>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+64>>2]|0;if(d){xa[c[a+36>>2]&31](c[a+40>>2]|0,d);b=c[f>>2]|0}d=c[b+56>>2]|0;if(!d){e=a+40|0;d=a+36|0}else{b=a+36|0;e=a+40|0;xa[c[b>>2]&31](c[e>>2]|0,d);d=b;b=c[f>>2]|0}xa[c[d>>2]&31](c[e>>2]|0,b);c[f>>2]=0;g=(g|0)==113?-3:0;return g|0}function _a(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){f=-2;return f|0}f=c[a+28>>2]|0;if(!f){f=-2;return f|0}if(!(c[a+32>>2]|0)){f=-2;return f|0}if(!(c[a+36>>2]|0)){f=-2;return f|0}c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+44>>2]=2;c[f+20>>2]=0;c[f+16>>2]=c[f+8>>2];d=f+24|0;b=c[d>>2]|0;e=0-b|0;if((b|0)<0){c[d>>2]=e;b=e}c[f+4>>2]=(b|0)==0?113:42;if((b|0)==2)b=Ia(0,0,0)|0;else b=Ha(0,0,0)|0;c[a+48>>2]=b;c[f+40>>2]=0;kb(f);$a(f);f=0;return f|0}function $a(a){a=a|0;var d=0,f=0;c[a+60>>2]=c[a+44>>2]<<1;f=a+68|0;d=a+76|0;b[(c[f>>2]|0)+((c[d>>2]|0)+-1<<1)>>1]=0;QA(c[f>>2]|0,0,(c[d>>2]<<1)+-2|0)|0;d=c[a+132>>2]|0;c[a+128>>2]=e[8208+(d*12|0)+2>>1];c[a+140>>2]=e[8208+(d*12|0)>>1];c[a+144>>2]=e[8208+(d*12|0)+4>>1];c[a+124>>2]=e[8208+(d*12|0)+6>>1];c[a+108>>2]=0;c[a+92>>2]=0;c[a+116>>2]=0;c[a+120>>2]=2;c[a+96>>2]=2;c[a+104>>2]=0;c[a+72>>2]=0;return}function ab(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=(c[a+12>>2]|0)+-5|0;i=i>>>0<65535?i:65535;g=a+116|0;k=a+108|0;l=a+92|0;h=a+44|0;j=a+56|0;while(1){d=c[g>>2]|0;if(d>>>0<2){db(a);d=c[g>>2]|0;if(!(d|b)){d=0;e=20;break}if(!d){e=15;break}}d=(c[k>>2]|0)+d|0;c[k>>2]=d;c[g>>2]=0;f=c[l>>2]|0;e=f+i|0;if(!((d|0)!=0&d>>>0>>0)){c[g>>2]=d-e;c[k>>2]=e;if((f|0)>-1)d=(c[j>>2]|0)+f|0;else d=0;rb(a,d,i,0);c[l>>2]=c[k>>2];gb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=20;break}d=c[k>>2]|0;f=c[l>>2]|0}e=d-f|0;if(e>>>0>=((c[h>>2]|0)+-262|0)>>>0){if((f|0)>-1)d=(c[j>>2]|0)+f|0;else d=0;rb(a,d,e,0);c[l>>2]=c[k>>2];gb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){d=0;e=20;break}}}if((e|0)==15){f=c[l>>2]|0;if((f|0)>-1)e=(c[j>>2]|0)+f|0;else e=0;d=(b|0)==4;rb(a,e,(c[k>>2]|0)-f|0,d&1);c[l>>2]=c[k>>2];gb(c[a>>2]|0);if(!(c[(c[a>>2]|0)+16>>2]|0)){l=d?2:0;return l|0}else{l=d?3:1;return l|0}}else if((e|0)==20)return d|0;return 0}function bb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;u=e+116|0;w=(f|0)==0;x=e+72|0;y=e+88|0;C=e+56|0;F=e+108|0;A=e+84|0;B=e+68|0;k=e+64|0;l=e+52|0;m=e+96|0;n=e+44|0;o=e+112|0;p=e+5796|0;q=e+5792|0;r=e+5784|0;s=e+5788|0;t=e+136|0;v=e+128|0;E=e+92|0;g=0;while(1){if((c[u>>2]|0)>>>0<262){db(e);h=c[u>>2]|0;if(w&h>>>0<262){g=0;D=31;break}if(!h){D=26;break}if(h>>>0>2)D=6}else D=6;if((D|0)==6){D=0;j=c[F>>2]|0;g=(c[x>>2]<>2]^(d[(c[C>>2]|0)+(j+2)>>0]|0))&c[A>>2];c[x>>2]=g;g=b[(c[B>>2]|0)+(g<<1)>>1]|0;b[(c[k>>2]|0)+((c[l>>2]&j)<<1)>>1]=g;b[(c[B>>2]|0)+(c[x>>2]<<1)>>1]=c[F>>2];g=g&65535}do if((g|0)!=0?(z=(c[F>>2]|0)-g|0,z>>>0<=((c[n>>2]|0)+-262|0)>>>0):0){h=c[t>>2]|0;if((h&-2|0)!=2){h=eb(e,g)|0;c[m>>2]=h;break}if((z|0)==1&(h|0)==3){h=fb(e,g)|0;c[m>>2]=h}else D=13}else D=13;while(0);if((D|0)==13){D=0;h=c[m>>2]|0}do if(h>>>0>2){h=h+253|0;i=(c[F>>2]|0)-(c[o>>2]|0)|0;b[(c[p>>2]|0)+(c[q>>2]<<1)>>1]=i;G=c[r>>2]|0;j=c[q>>2]|0;c[q>>2]=j+1;a[G+j>>0]=h;h=e+148+((d[8848+(h&255)>>0]|0|256)+1<<2)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;i=i+65535&65535;i=e+2440+((d[8336+(i>>>0<256?i:(i>>>7)+256|0)>>0]|0)<<2)|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;i=(c[q>>2]|0)==((c[s>>2]|0)+-1|0)&1;h=c[m>>2]|0;j=(c[u>>2]|0)-h|0;c[u>>2]=j;if(!(j>>>0>2?h>>>0<=(c[v>>2]|0)>>>0:0)){j=(c[F>>2]|0)+h|0;c[F>>2]=j;c[m>>2]=0;G=c[C>>2]|0;h=d[G+j>>0]|0;c[x>>2]=h;c[x>>2]=(h<>2]^(d[G+(j+1)>>0]|0))&c[A>>2];break}c[m>>2]=h+-1;do{g=c[F>>2]|0;G=g+1|0;c[F>>2]=G;g=(c[x>>2]<>2]^(d[(c[C>>2]|0)+(g+3)>>0]|0))&c[A>>2];c[x>>2]=g;g=b[(c[B>>2]|0)+(g<<1)>>1]|0;b[(c[k>>2]|0)+((c[l>>2]&G)<<1)>>1]=g;b[(c[B>>2]|0)+(c[x>>2]<<1)>>1]=c[F>>2];G=(c[m>>2]|0)+-1|0;c[m>>2]=G}while((G|0)!=0);j=(c[F>>2]|0)+1|0;c[F>>2]=j;g=g&65535}else{i=a[(c[C>>2]|0)+(c[F>>2]|0)>>0]|0;b[(c[p>>2]|0)+(c[q>>2]<<1)>>1]=0;G=c[r>>2]|0;j=c[q>>2]|0;c[q>>2]=j+1;a[G+j>>0]=i;i=e+148+((i&255)<<2)|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;i=(c[q>>2]|0)==((c[s>>2]|0)+-1|0)&1;c[u>>2]=(c[u>>2]|0)+-1;j=(c[F>>2]|0)+1|0;c[F>>2]=j}while(0);if(i|0){h=c[E>>2]|0;if((h|0)>-1)i=(c[C>>2]|0)+h|0;else i=0;rb(e,i,j-h|0,0);c[E>>2]=c[F>>2];gb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;D=31;break}}}if((D|0)==26){i=c[E>>2]|0;if((i|0)>-1)h=(c[C>>2]|0)+i|0;else h=0;g=(f|0)==4;rb(e,h,(c[F>>2]|0)-i|0,g&1);c[E>>2]=c[F>>2];gb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){G=g?2:0;return G|0}else{G=g?3:1;return G|0}}else if((D|0)==31)return g|0;return 0}function cb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;x=e+116|0;C=(f|0)==0;D=e+72|0;E=e+88|0;I=e+56|0;L=e+108|0;G=e+84|0;H=e+68|0;n=e+64|0;o=e+52|0;p=e+96|0;q=e+120|0;r=e+112|0;s=e+100|0;t=e+128|0;u=e+104|0;v=e+44|0;w=e+5796|0;y=e+5792|0;z=e+5784|0;A=e+5788|0;B=e+136|0;K=e+92|0;g=0;a:while(1){if((c[x>>2]|0)>>>0<262){db(e);h=c[x>>2]|0;if(C&h>>>0<262){g=0;J=45;break}if(!h){J=38;break}if(h>>>0>2)J=6}else J=6;if((J|0)==6){J=0;m=c[L>>2]|0;g=(c[D>>2]<>2]^(d[(c[I>>2]|0)+(m+2)>>0]|0))&c[G>>2];c[D>>2]=g;g=b[(c[H>>2]|0)+(g<<1)>>1]|0;b[(c[n>>2]|0)+((c[o>>2]&m)<<1)>>1]=g;b[(c[H>>2]|0)+(c[D>>2]<<1)>>1]=c[L>>2];g=g&65535}h=c[p>>2]|0;c[q>>2]=h;c[s>>2]=c[r>>2];c[p>>2]=2;if(!g)i=2;else{do if(h>>>0<(c[t>>2]|0)>>>0?(F=(c[L>>2]|0)-g|0,F>>>0<=((c[v>>2]|0)+-262|0)>>>0):0){h=c[B>>2]|0;if((h&-2|0)==2)if((F|0)==1&(h|0)==3){i=fb(e,g)|0;J=14}else i=2;else{i=eb(e,g)|0;J=14}if((J|0)==14){J=0;c[p>>2]=i;if(i>>>0>=6)break;h=c[B>>2]|0}if((h|0)!=1){if((i|0)!=3)break;if(((c[L>>2]|0)-(c[r>>2]|0)|0)>>>0<=4096){i=3;break}}c[p>>2]=2;i=2}else i=2;while(0);h=c[q>>2]|0}do if(h>>>0<3|i>>>0>h>>>0){if(!(c[u>>2]|0)){c[u>>2]=1;c[L>>2]=(c[L>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;break}m=a[(c[I>>2]|0)+((c[L>>2]|0)+-1)>>0]|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=0;k=c[z>>2]|0;l=c[y>>2]|0;c[y>>2]=l+1;a[k+l>>0]=m;m=e+148+((m&255)<<2)|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if((c[y>>2]|0)==((c[A>>2]|0)+-1|0)){h=c[K>>2]|0;if((h|0)>-1)i=(c[I>>2]|0)+h|0;else i=0;rb(e,i,(c[L>>2]|0)-h|0,0);c[K>>2]=c[L>>2];gb(c[e>>2]|0)}c[L>>2]=(c[L>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1;if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;J=45;break a}}else{k=c[L>>2]|0;m=k+-3+(c[x>>2]|0)|0;l=h+253|0;k=k+65535-(c[s>>2]|0)|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=k;j=c[z>>2]|0;h=c[y>>2]|0;c[y>>2]=h+1;a[j+h>>0]=l;l=e+148+((d[8848+(l&255)>>0]|0|256)+1<<2)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;k=k+65535&65535;k=e+2440+((d[8336+(k>>>0<256?k:(k>>>7)+256|0)>>0]|0)<<2)|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=c[y>>2]|0;l=c[A>>2]|0;h=c[q>>2]|0;c[x>>2]=1-h+(c[x>>2]|0);h=h+-2|0;c[q>>2]=h;do{i=c[L>>2]|0;j=i+1|0;c[L>>2]=j;if(j>>>0<=m>>>0){g=(c[D>>2]<>2]^(d[(c[I>>2]|0)+(i+3)>>0]|0))&c[G>>2];c[D>>2]=g;g=b[(c[H>>2]|0)+(g<<1)>>1]|0;b[(c[n>>2]|0)+((c[o>>2]&j)<<1)>>1]=g;b[(c[H>>2]|0)+(c[D>>2]<<1)>>1]=c[L>>2];g=g&65535;h=c[q>>2]|0}h=h+-1|0;c[q>>2]=h}while((h|0)!=0);c[u>>2]=0;c[p>>2]=2;j=(c[L>>2]|0)+1|0;c[L>>2]=j;if((k|0)==(l+-1|0)){h=c[K>>2]|0;if((h|0)>-1)i=(c[I>>2]|0)+h|0;else i=0;rb(e,i,j-h|0,0);c[K>>2]=c[L>>2];gb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){g=0;J=45;break a}}}while(0)}if((J|0)==38){if(c[u>>2]|0){J=a[(c[I>>2]|0)+((c[L>>2]|0)+-1)>>0]|0;b[(c[w>>2]|0)+(c[y>>2]<<1)>>1]=0;G=c[z>>2]|0;H=c[y>>2]|0;c[y>>2]=H+1;a[G+H>>0]=J;J=e+148+((J&255)<<2)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;c[u>>2]=0}i=c[K>>2]|0;if((i|0)>-1)h=(c[I>>2]|0)+i|0;else h=0;g=(f|0)==4;rb(e,h,(c[L>>2]|0)-i|0,g&1);c[K>>2]=c[L>>2];gb(c[e>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){L=g?2:0;return L|0}else{L=g?3:1;return L|0}}else if((J|0)==45)return g|0;return 0}function db(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=a+44|0;p=c[i>>2]|0;q=a+60|0;r=a+116|0;s=a+108|0;t=p+-262|0;u=a+56|0;v=a+112|0;w=a+92|0;j=a+76|0;k=a+68|0;l=a+72|0;m=a+88|0;n=a+84|0;o=a+64|0;f=c[r>>2]|0;g=p;while(1){h=c[s>>2]|0;f=(c[q>>2]|0)-f-h|0;if(h>>>0>=(t+g|0)>>>0){h=c[u>>2]|0;PA(h|0,h+p|0,p|0)|0;c[v>>2]=(c[v>>2]|0)-p;c[s>>2]=(c[s>>2]|0)-p;c[w>>2]=(c[w>>2]|0)-p;h=c[j>>2]|0;g=h;h=(c[k>>2]|0)+(h<<1)|0;do{h=h+-2|0;x=e[h>>1]|0;b[h>>1]=p>>>0>x>>>0?0:x-p&65535;g=g+-1|0}while((g|0)!=0);g=p;h=(c[o>>2]|0)+(p<<1)|0;do{h=h+-2|0;x=e[h>>1]|0;b[h>>1]=p>>>0>x>>>0?0:x-p&65535;g=g+-1|0}while((g|0)!=0);f=f+p|0}g=c[a>>2]|0;if(!(c[g+4>>2]|0)){f=13;break}f=hb(g,(c[u>>2]|0)+(c[s>>2]|0)+(c[r>>2]|0)|0,f)|0;f=(c[r>>2]|0)+f|0;c[r>>2]=f;if(f>>>0>2?(h=c[u>>2]|0,x=c[s>>2]|0,g=d[h+x>>0]|0,c[l>>2]=g,c[l>>2]=(g<>2]^(d[h+(x+1)>>0]|0))&c[n>>2],f>>>0>=262):0){f=13;break}if(!(c[(c[a>>2]|0)+4>>2]|0)){f=13;break}g=c[i>>2]|0}if((f|0)==13)return}function eb(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=c[b+124>>2]|0;s=c[b+56>>2]|0;m=c[b+108>>2]|0;t=s+m|0;i=c[b+120>>2]|0;v=c[b+144>>2]|0;u=(c[b+44>>2]|0)+-262|0;u=m>>>0>u>>>0?m-u|0:0;m=c[b+64>>2]|0;n=c[b+52>>2]|0;w=c[b+116>>2]|0;v=v>>>0>w>>>0?w:v;o=b+112|0;p=t+1|0;q=t+258|0;f=a[t+i>>0]|0;k=a[t+(i+-1)>>0]|0;l=d;d=i;j=i>>>0<(c[b+140>>2]|0)>>>0?j:j>>>2;while(1){b=s+l|0;if((((a[b+d>>0]|0)==f<<24>>24?(a[b+(d+-1)>>0]|0)==k<<24>>24:0)?(a[b>>0]|0)==(a[t>>0]|0):0)?(r=b+1|0,(a[r>>0]|0)==(a[p>>0]|0)):0){h=2;i=r;do{g=t+h|0;b=g+1|0;if((a[b>>0]|0)!=(a[i+2>>0]|0))break;b=g+2|0;if((a[b>>0]|0)!=(a[i+3>>0]|0))break;b=g+3|0;if((a[b>>0]|0)!=(a[i+4>>0]|0))break;b=g+4|0;if((a[b>>0]|0)!=(a[i+5>>0]|0))break;b=g+5|0;if((a[b>>0]|0)!=(a[i+6>>0]|0))break;b=g+6|0;if((a[b>>0]|0)!=(a[i+7>>0]|0))break;b=g+7|0;g=i;i=i+8|0;if((a[b>>0]|0)!=(a[i>>0]|0))break;x=h;h=h+8|0;b=t+h|0}while(x>>>0<250?(a[b>>0]|0)==(a[g+9>>0]|0):0);b=b-q|0;g=b+258|0;if((g|0)>(d|0)){c[o>>2]=l;if((g|0)>=(v|0)){d=g;b=20;break}f=a[t+g>>0]|0;b=a[t+(b+257)>>0]|0;d=g}else b=k}else b=k;l=e[m+((l&n)<<1)>>1]|0;if(u>>>0>=l>>>0){b=20;break}j=j+-1|0;if(!j){b=20;break}else k=b}if((b|0)==20)return (d>>>0>w>>>0?w:d)|0;return 0}function fb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b+56>>2]|0;i=e+(c[b+108>>2]|0)|0;j=i+258|0;e=e+d|0;if((a[e>>0]|0)!=(a[i>>0]|0)){d=2;return d|0}if((a[e+1>>0]|0)!=(a[i+1>>0]|0)){d=2;return d|0}h=2;g=e+2|0;do{f=i+h|0;e=f+1|0;if((a[e>>0]|0)!=(a[g+1>>0]|0))break;e=f+2|0;if((a[e>>0]|0)!=(a[g+2>>0]|0))break;e=f+3|0;if((a[e>>0]|0)!=(a[g+3>>0]|0))break;e=f+4|0;if((a[e>>0]|0)!=(a[g+4>>0]|0))break;e=f+5|0;if((a[e>>0]|0)!=(a[g+5>>0]|0))break;e=f+6|0;if((a[e>>0]|0)!=(a[g+6>>0]|0))break;e=f+7|0;if((a[e>>0]|0)!=(a[g+7>>0]|0))break;h=h+8|0;e=i+h|0;g=g+8|0}while(h>>>0<258?(a[e>>0]|0)==(a[g>>0]|0):0);e=e-j+258|0;if((e|0)<3){d=2;return d|0}c[b+112>>2]=d;d=c[b+116>>2]|0;d=e>>>0>d>>>0?d:e;return d|0}function gb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+28|0;d=c[b>>2]|0;f=c[d+20>>2]|0;e=a+16|0;g=c[e>>2]|0;f=f>>>0>g>>>0?g:f;if(!f)return;g=a+12|0;PA(c[g>>2]|0,c[d+16>>2]|0,f|0)|0;c[g>>2]=(c[g>>2]|0)+f;g=(c[b>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+f;a=a+20|0;c[a>>2]=(c[a>>2]|0)+f;c[e>>2]=(c[e>>2]|0)-f;a=(c[b>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)-f;a=c[b>>2]|0;if(c[a+20>>2]|0)return;c[a+16>>2]=c[a+8>>2];return}function hb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=f>>>0>d>>>0?d:f;if(!g){b=0;return b|0}c[e>>2]=f-g;switch(c[(c[a+28>>2]|0)+24>>2]|0){case 1:{d=a+48|0;e=c[a>>2]|0;c[d>>2]=Ha(c[d>>2]|0,e,g)|0;d=a;break}case 2:{d=a+48|0;e=c[a>>2]|0;c[d>>2]=Ia(c[d>>2]|0,e,g)|0;d=a;break}default:{d=a;e=c[a>>2]|0}}PA(b|0,e|0,g|0)|0;c[d>>2]=(c[d>>2]|0)+g;b=a+8|0;c[b>>2]=(c[b>>2]|0)+g;b=g;return b|0}function ib(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){x=-2;return x|0}x=c[d+28>>2]|0;if(e>>>0>4|(x|0)==0){x=-2;return x|0}do if(c[d+12>>2]|0){if((c[d>>2]|0)==0?c[d+4>>2]|0:0)break;t=x+4|0;f=c[t>>2]|0;u=(e|0)!=4;if(!(u&(f|0)==666)){v=d+16|0;if(!(c[v>>2]|0)){c[d+24>>2]=49466;x=-5;return x|0}c[x>>2]=d;w=x+40|0;s=c[w>>2]|0;c[w>>2]=e;do if((f|0)==42){if((c[x+24>>2]|0)!=2){g=(c[x+48>>2]<<12)+-30720|0;if((c[x+136>>2]|0)<=1?(h=c[x+132>>2]|0,(h|0)>=2):0)f=(h|0)<6?64:(h|0)==6?128:192;else f=0;f=f|g;o=x+108|0;f=(c[o>>2]|0)==0?f:f|32;c[t>>2]=113;jb(x,(((f>>>0)%31|0)^31)+f|0);f=d+48|0;if(c[o>>2]|0){jb(x,(c[f>>2]|0)>>>16);jb(x,c[f>>2]&65535)}c[f>>2]=Ha(0,0,0)|0;f=c[t>>2]|0;l=29;break}h=d+48|0;c[h>>2]=Ia(0,0,0)|0;j=x+8|0;g=c[j>>2]|0;k=x+20|0;f=c[k>>2]|0;c[k>>2]=f+1;a[g+f>>0]=31;f=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=-117;g=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[g+f>>0]=8;f=x+28|0;g=c[f>>2]|0;if(!g){r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[f+r>>0]=0;r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[f+r>>0]=0;r=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[r+f>>0]=0;f=c[x+132>>2]|0;if((f|0)==9)f=2;else f=((f|0)<2?1:(c[x+136>>2]|0)>1)?4:0;r=c[j>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;a[r+q>>0]=f;q=c[j>>2]|0;r=c[k>>2]|0;c[k>>2]=r+1;a[q+r>>0]=3;c[t>>2]=113;break}n=(((c[g+44>>2]|0)==0?0:2)|(c[g>>2]|0)!=0|((c[g+16>>2]|0)==0?0:4)|((c[g+28>>2]|0)==0?0:8)|((c[g+36>>2]|0)==0?0:16))&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[(c[f>>2]|0)+4>>2]&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+4>>2]|0)>>>8&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=(c[(c[f>>2]|0)+4>>2]|0)>>>16&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+4>>2]|0)>>>24&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[x+132>>2]|0;if((g|0)==9)g=2;else g=((g|0)<2?1:(c[x+136>>2]|0)>1)?4:0;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=c[(c[f>>2]|0)+12>>2]&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[f>>2]|0;if(c[g+16>>2]|0){g=c[g+20>>2]&255;o=c[j>>2]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[o+n>>0]=g;n=(c[(c[f>>2]|0)+20>>2]|0)>>>8&255;o=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[o+g>>0]=n;g=c[f>>2]|0}if(c[g+44>>2]|0)c[h>>2]=Ia(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[x+32>>2]=0;c[t>>2]=69;l=31}else l=29;while(0);if((l|0)==29)if((f|0)==69){f=x+28|0;l=31}else l=48;do if((l|0)==31){g=c[f>>2]|0;if(!(c[g+16>>2]|0)){c[t>>2]=73;l=50;break}n=x+20|0;i=c[n>>2]|0;o=x+32|0;j=c[o>>2]|0;a:do if(j>>>0<(c[g+20>>2]&65535)>>>0){k=x+12|0;l=x+8|0;m=d+48|0;h=i;while(1){if((i|0)==(c[k>>2]|0)){if(i>>>0>h>>>0&(c[g+44>>2]|0)!=0)c[m>>2]=Ia(c[m>>2]|0,(c[l>>2]|0)+h|0,i-h|0)|0;gb(d);i=c[n>>2]|0;g=c[f>>2]|0;if((i|0)==(c[k>>2]|0)){h=i;break a}h=i;j=c[o>>2]|0}g=a[(c[g+16>>2]|0)+j>>0]|0;j=c[l>>2]|0;c[n>>2]=i+1;a[j+i>>0]=g;j=(c[o>>2]|0)+1|0;c[o>>2]=j;g=c[f>>2]|0;if(j>>>0>=(c[g+20>>2]&65535)>>>0)break a;i=c[n>>2]|0}}else h=i;while(0);if((c[g+44>>2]|0)!=0?(p=c[n>>2]|0,p>>>0>h>>>0):0){g=d+48|0;c[g>>2]=Ia(c[g>>2]|0,(c[x+8>>2]|0)+h|0,p-h|0)|0;g=c[f>>2]|0}if((c[o>>2]|0)==(c[g+20>>2]|0)){c[o>>2]=0;c[t>>2]=73;l=50;break}else{f=c[t>>2]|0;l=48;break}}while(0);if((l|0)==48)if((f|0)==73){g=x+28|0;f=g;g=c[g>>2]|0;l=50}else l=65;do if((l|0)==50){if(!(c[g+28>>2]|0)){c[t>>2]=91;l=67;break}k=x+20|0;h=c[k>>2]|0;j=x+12|0;l=x+32|0;m=x+8|0;n=d+48|0;g=h;while(1){if((h|0)==(c[j>>2]|0)){if(h>>>0>g>>>0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,h-g|0)|0;gb(d);i=c[k>>2]|0;if((i|0)==(c[j>>2]|0)){h=1;g=i;break}else{g=i;h=i}}o=c[(c[f>>2]|0)+28>>2]|0;p=c[l>>2]|0;c[l>>2]=p+1;p=a[o+p>>0]|0;o=c[m>>2]|0;c[k>>2]=h+1;a[o+h>>0]=p;if(!(p<<24>>24)){h=0;break}h=c[k>>2]|0}if(c[(c[f>>2]|0)+44>>2]|0?(q=c[k>>2]|0,q>>>0>g>>>0):0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,q-g|0)|0;if(!h){c[l>>2]=0;c[t>>2]=91;l=67;break}else{f=c[t>>2]|0;l=65;break}}while(0);if((l|0)==65)if((f|0)==91){f=x+28|0;l=67}else{i=f;l=82}do if((l|0)==67){if(!(c[(c[f>>2]|0)+36>>2]|0)){c[t>>2]=103;l=84;break}l=x+20|0;h=c[l>>2]|0;j=x+12|0;k=x+32|0;m=x+8|0;n=d+48|0;g=h;while(1){if((h|0)==(c[j>>2]|0)){if(h>>>0>g>>>0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,h-g|0)|0;gb(d);i=c[l>>2]|0;if((i|0)==(c[j>>2]|0)){h=1;g=i;break}else{g=i;h=i}}p=c[(c[f>>2]|0)+36>>2]|0;q=c[k>>2]|0;c[k>>2]=q+1;q=a[p+q>>0]|0;p=c[m>>2]|0;c[l>>2]=h+1;a[p+h>>0]=q;if(!(q<<24>>24)){h=0;break}h=c[l>>2]|0}if(c[(c[f>>2]|0)+44>>2]|0?(r=c[l>>2]|0,r>>>0>g>>>0):0)c[n>>2]=Ia(c[n>>2]|0,(c[m>>2]|0)+g|0,r-g|0)|0;if(!h){c[t>>2]=103;l=84;break}else{i=c[t>>2]|0;l=82;break}}while(0);if((l|0)==82?(i|0)==103:0){f=x+28|0;l=84}do if((l|0)==84){if(!(c[(c[f>>2]|0)+44>>2]|0)){c[t>>2]=113;break}j=x+20|0;f=c[j>>2]|0;g=f+2|0;i=x+12|0;h=c[i>>2]|0;if(g>>>0>h>>>0){gb(d);f=c[j>>2]|0;g=f+2|0;h=c[i>>2]|0}if(g>>>0<=h>>>0){r=d+48|0;q=c[r>>2]&255;p=x+8|0;o=c[p>>2]|0;c[j>>2]=f+1;a[o+f>>0]=q;o=(c[r>>2]|0)>>>8&255;p=c[p>>2]|0;q=c[j>>2]|0;c[j>>2]=q+1;a[p+q>>0]=o;c[r>>2]=Ia(0,0,0)|0;c[t>>2]=113}}while(0);j=x+20|0;do if(!(c[j>>2]|0)){f=c[d+4>>2]|0;if(u&(s|0)>=(e|0)&(f|0)==0){c[d+24>>2]=49466;x=-5;return x|0}}else{gb(d);if(c[v>>2]|0){f=c[d+4>>2]|0;break}c[w>>2]=-1;x=0;return x|0}while(0);g=(c[t>>2]|0)==666;f=(f|0)==0;if(g)if(f)l=100;else{c[d+24>>2]=49466;x=-5;return x|0}else if(f)l=100;else l=101;if((l|0)==100?!(((e|0)==0|g)&(c[x+116>>2]|0)==0):0)l=101;if((l|0)==101){f=ua[c[8208+((c[x+132>>2]|0)*12|0)+8>>2]&3](x,e)|0;if((f|1|0)==3)c[t>>2]=666;if((f|2|0)==2){if(c[v>>2]|0){x=0;return x|0}c[w>>2]=-1;x=0;return x|0}if((f|0)==1){if((e|0)!=1){mb(x,0,0,0);if((e|0)==3){e=x+68|0;t=x+76|0;b[(c[e>>2]|0)+((c[t>>2]|0)+-1<<1)>>1]=0;QA(c[e>>2]|0,0,(c[t>>2]<<1)+-2|0)|0}}else pb(x);gb(d);if(!(c[v>>2]|0)){c[w>>2]=-1;x=0;return x|0}}}if(u){x=0;return x|0}i=x+24|0;f=c[i>>2]|0;if((f|0)<1){x=1;return x|0}g=d+48|0;h=c[g>>2]|0;if((f|0)==2){w=x+8|0;t=c[w>>2]|0;u=c[j>>2]|0;c[j>>2]=u+1;a[t+u>>0]=h;u=(c[g>>2]|0)>>>8&255;t=c[w>>2]|0;v=c[j>>2]|0;c[j>>2]=v+1;a[t+v>>0]=u;v=(c[g>>2]|0)>>>16&255;t=c[w>>2]|0;u=c[j>>2]|0;c[j>>2]=u+1;a[t+u>>0]=v;u=(c[g>>2]|0)>>>24&255;t=c[w>>2]|0;v=c[j>>2]|0;c[j>>2]=v+1;a[t+v>>0]=u;v=d+8|0;t=c[v>>2]&255;u=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[u+x>>0]=t;x=(c[v>>2]|0)>>>8&255;u=c[w>>2]|0;t=c[j>>2]|0;c[j>>2]=t+1;a[u+t>>0]=x;t=(c[v>>2]|0)>>>16&255;u=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[u+x>>0]=t;v=(c[v>>2]|0)>>>24&255;w=c[w>>2]|0;x=c[j>>2]|0;c[j>>2]=x+1;a[w+x>>0]=v}else{jb(x,h>>>16);jb(x,c[g>>2]&65535)}gb(d);f=c[i>>2]|0;if((f|0)>0)c[i>>2]=0-f;x=(c[j>>2]|0)==0&1;return x|0}}while(0);c[d+24>>2]=49433;x=-2;return x|0}function jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+8|0;g=c[e>>2]|0;f=b+20|0;b=c[f>>2]|0;c[f>>2]=b+1;a[g+b>>0]=d>>>8;e=c[e>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[e+b>>0]=d;return}function kb(a){a=a|0;c[a+2840>>2]=a+148;c[a+2848>>2]=48520;c[a+2852>>2]=a+2440;c[a+2860>>2]=48540;c[a+2864>>2]=a+2684;c[a+2872>>2]=48560;b[a+5816>>1]=0;c[a+5820>>2]=0;c[a+5812>>2]=8;lb(a);return}function lb(a){a=a|0;var d=0;d=0;do{b[a+148+(d<<2)>>1]=0;d=d+1|0}while((d|0)!=286);b[a+2440>>1]=0;b[a+2444>>1]=0;b[a+2448>>1]=0;b[a+2452>>1]=0;b[a+2456>>1]=0;b[a+2460>>1]=0;b[a+2464>>1]=0;b[a+2468>>1]=0;b[a+2472>>1]=0;b[a+2476>>1]=0;b[a+2480>>1]=0;b[a+2484>>1]=0;b[a+2488>>1]=0;b[a+2492>>1]=0;b[a+2496>>1]=0;b[a+2500>>1]=0;b[a+2504>>1]=0;b[a+2508>>1]=0;b[a+2512>>1]=0;b[a+2516>>1]=0;b[a+2520>>1]=0;b[a+2524>>1]=0;b[a+2528>>1]=0;b[a+2532>>1]=0;b[a+2536>>1]=0;b[a+2540>>1]=0;b[a+2544>>1]=0;b[a+2548>>1]=0;b[a+2552>>1]=0;b[a+2556>>1]=0;b[a+2684>>1]=0;b[a+2688>>1]=0;b[a+2692>>1]=0;b[a+2696>>1]=0;b[a+2700>>1]=0;b[a+2704>>1]=0;b[a+2708>>1]=0;b[a+2712>>1]=0;b[a+2716>>1]=0;b[a+2720>>1]=0;b[a+2724>>1]=0;b[a+2728>>1]=0;b[a+2732>>1]=0;b[a+2736>>1]=0;b[a+2740>>1]=0;b[a+2744>>1]=0;b[a+2748>>1]=0;b[a+2752>>1]=0;b[a+2756>>1]=0;b[a+1172>>1]=1;c[a+5804>>2]=0;c[a+5800>>2]=0;c[a+5808>>2]=0;c[a+5792>>2]=0;return}function mb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+5820|0;k=c[j>>2]|0;l=d+5816|0;i=h<>1]|0);b[l>>1]=i;if((k|0)>13){k=d+8|0;o=c[k>>2]|0;n=d+20|0;m=c[n>>2]|0;c[n>>2]=m+1;a[o+m>>0]=i;m=(e[l>>1]|0)>>>8&255;i=c[k>>2]|0;k=c[n>>2]|0;c[n>>2]=k+1;a[i+k>>0]=m;k=c[j>>2]|0;b[l>>1]=(h&65535)>>>(16-k|0);l=k+-13|0;c[j>>2]=l;nb(d,f,g);return}else{o=k+3|0;c[j>>2]=o;nb(d,f,g);return}}function nb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;ob(b);c[b+5812>>2]=8;g=b+8|0;i=c[g>>2]|0;f=b+20|0;b=c[f>>2]|0;c[f>>2]=b+1;a[i+b>>0]=e;b=c[g>>2]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[b+i>>0]=e>>>8;i=e&65535^65535;b=c[g>>2]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[b+h>>0]=i;h=c[g>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[h+b>>0]=i>>>8;if(!e)return;b=e;while(1){b=b+-1|0;e=a[d>>0]|0;h=c[g>>2]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[h+i>>0]=e;if(!b)break;else d=d+1|0}return}function ob(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=d+5820|0;g=c[h>>2]|0;do if((g|0)<=8){f=d+5816|0;if((g|0)>0){j=b[f>>1]&255;i=c[d+8>>2]|0;d=d+20|0;g=c[d>>2]|0;c[d>>2]=g+1;d=j;g=i+g|0;break}else{j=f;b[j>>1]=0;c[h>>2]=0;return}}else{f=d+5816|0;k=b[f>>1]&255;j=d+8|0;g=c[j>>2]|0;i=d+20|0;d=c[i>>2]|0;c[i>>2]=d+1;a[g+d>>0]=k;d=(e[f>>1]|0)>>>8&255;j=c[j>>2]|0;g=c[i>>2]|0;c[i>>2]=g+1;g=j+g|0}while(0);a[g>>0]=d;k=f;b[k>>1]=0;c[h>>2]=0;return}function pb(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=d+5820|0;g=c[j>>2]|0;i=d+5816|0;f=2<>1]|0);b[i>>1]=f;if((g|0)>13){g=d+8|0;l=c[g>>2]|0;k=d+20|0;h=c[k>>2]|0;c[k>>2]=h+1;a[l+h>>0]=f;h=(e[i>>1]|0)>>>8&255;f=c[g>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=h;g=c[j>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;c[j>>2]=g;if((g|0)>9){l=d+8|0;g=c[l>>2]|0;h=d+20|0;k=c[h>>2]|0;c[h>>2]=k+1;a[g+k>>0]=f;k=(e[i>>1]|0)>>>8&255;l=c[l>>2]|0;f=c[h>>2]|0;c[h>>2]=f+1;a[l+f>>0]=k;b[i>>1]=0;f=(c[j>>2]|0)+-9|0}else f=g+7|0;c[j>>2]=f;qb(d);h=d+5812|0;g=c[j>>2]|0;if(((c[h>>2]|0)+11-g|0)>=9){c[h>>2]=7;return}f=2<>1]|0);b[i>>1]=f;if((g|0)>13){g=d+8|0;m=c[g>>2]|0;k=d+20|0;l=c[k>>2]|0;c[k>>2]=l+1;a[m+l>>0]=f;l=(e[i>>1]|0)>>>8&255;f=c[g>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;a[f+g>>0]=l;g=c[j>>2]|0;f=2>>>(16-g|0);b[i>>1]=f;g=g+-13|0}else g=g+3|0;c[j>>2]=g;if((g|0)>9){m=d+8|0;g=c[m>>2]|0;k=d+20|0;l=c[k>>2]|0;c[k>>2]=l+1;a[g+l>>0]=f;l=(e[i>>1]|0)>>>8&255;m=c[m>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;a[m+f>>0]=l;b[i>>1]=0;f=(c[j>>2]|0)+-9|0}else f=g+7|0;c[j>>2]=f;qb(d);c[h>>2]=7;return}function qb(d){d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=d+5820|0;f=c[g>>2]|0;do if((f|0)!=16)if((f|0)>7){f=d+5816|0;i=b[f>>1]&255;h=c[d+8>>2]|0;j=d+20|0;d=c[j>>2]|0;c[j>>2]=d+1;a[h+d>>0]=i;b[f>>1]=(e[f>>1]|0)>>>8;d=(c[g>>2]|0)+-8|0;break}else return;else{j=d+5816|0;l=b[j>>1]&255;i=d+8|0;k=c[i>>2]|0;f=d+20|0;h=c[f>>2]|0;c[f>>2]=h+1;a[k+h>>0]=l;h=(e[j>>1]|0)>>>8&255;i=c[i>>2]|0;d=c[f>>2]|0;c[f>>2]=d+1;a[i+d>>0]=h;b[j>>1]=0;d=0}while(0);c[g>>2]=d;return}function rb(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[d+132>>2]|0)>0){if(g|0?(c[(c[d>>2]|0)+44>>2]|0)==2:0)sb(d);tb(d,d+2840|0);tb(d,d+2852|0);k=ub(d)|0;i=((c[d+5800>>2]|0)+10|0)>>>3;j=((c[d+5804>>2]|0)+10|0)>>>3;i=j>>>0>i>>>0?i:j;k=k+1|0}else{j=g+5|0;i=j;k=1}do if(!((f|0)!=0&(g+4|0)>>>0<=i>>>0)){n=d+5820|0;l=c[n>>2]|0;m=(l|0)>13;if((j|0)==(i|0)?1:(c[d+136>>2]|0)==4){f=h+2|0;g=d+5816|0;i=f<>1]|0);b[g>>1]=i;if(m){l=d+8|0;m=c[l>>2]|0;j=d+20|0;k=c[j>>2]|0;c[j>>2]=k+1;a[m+k>>0]=i;k=(e[g>>1]|0)>>>8&255;l=c[l>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;a[l+m>>0]=k;m=c[n>>2]|0;b[g>>1]=(f&65535)>>>(16-m|0);f=m+-13|0}else f=l+3|0;c[n>>2]=f;vb(d,9440,9184);break}else{f=h+4|0;g=d+5816|0;i=f<>1]|0);b[g>>1]=i;if(m){l=d+8|0;m=c[l>>2]|0;o=d+20|0;j=c[o>>2]|0;c[o>>2]=j+1;a[m+j>>0]=i;j=(e[g>>1]|0)>>>8&255;l=c[l>>2]|0;m=c[o>>2]|0;c[o>>2]=m+1;a[l+m>>0]=j;m=c[n>>2]|0;b[g>>1]=(f&65535)>>>(16-m|0);f=m+-13|0}else f=l+3|0;c[n>>2]=f;wb(d,(c[d+2844>>2]|0)+1|0,(c[d+2856>>2]|0)+1|0,k);vb(d,d+148|0,d+2440|0);break}}else mb(d,f,g,h);while(0);lb(d);if(!h)return;ob(d);return}function sb(a){a=a|0;var d=0;do if(((((((((((((((((((b[a+148>>1]|0)==0?(b[a+152>>1]|0)==0:0)?(b[a+156>>1]|0)==0:0)?(b[a+160>>1]|0)==0:0)?(b[a+164>>1]|0)==0:0)?(b[a+168>>1]|0)==0:0)?(b[a+172>>1]|0)==0:0)?(b[a+176>>1]|0)==0:0)?(b[a+180>>1]|0)==0:0)?(b[a+204>>1]|0)==0:0)?(b[a+208>>1]|0)==0:0)?(b[a+212>>1]|0)==0:0)?(b[a+216>>1]|0)==0:0)?(b[a+220>>1]|0)==0:0)?(b[a+224>>1]|0)==0:0)?(b[a+228>>1]|0)==0:0)?(b[a+232>>1]|0)==0:0)?(b[a+236>>1]|0)==0:0)?(b[a+240>>1]|0)==0:0){if(b[a+244>>1]|0){d=0;break}if(b[a+248>>1]|0){d=0;break}if(b[a+252>>1]|0){d=0;break}if(b[a+256>>1]|0){d=0;break}if(b[a+260>>1]|0){d=0;break}if(b[a+264>>1]|0){d=0;break}if(b[a+268>>1]|0){d=0;break}d=(b[a+272>>1]|0)==0&1}else d=0;while(0);c[(c[a>>2]|0)+44>>2]=d;return}function tb(d,f){d=d|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;o=c[f>>2]|0;p=f+8|0;h=c[p>>2]|0;n=c[h>>2]|0;h=c[h+12>>2]|0;q=d+5200|0;c[q>>2]=0;r=d+5204|0;c[r>>2]=573;if((h|0)>0){g=-1;i=0;do{if(!(b[o+(i<<2)>>1]|0))b[o+(i<<2)+2>>1]=0;else{g=(c[q>>2]|0)+1|0;c[q>>2]=g;c[d+2908+(g<<2)>>2]=i;a[d+5208+i>>0]=0;g=i}i=i+1|0}while((i|0)!=(h|0));i=c[q>>2]|0;if((i|0)<2)j=8;else k=g}else{g=-1;i=0;j=8}if((j|0)==8){k=d+5800|0;l=(n|0)==0;m=d+5804|0;do{s=(g|0)<2;j=g+1|0;g=s?j:g;j=s?j:0;i=i+1|0;c[q>>2]=i;c[d+2908+(i<<2)>>2]=j;b[o+(j<<2)>>1]=1;a[d+5208+j>>0]=0;c[k>>2]=(c[k>>2]|0)+-1;if(!l)c[m>>2]=(c[m>>2]|0)-(e[n+(j<<2)+2>>1]|0);i=c[q>>2]|0}while((i|0)<2);k=g}j=f+4|0;c[j>>2]=k;g=c[q>>2]|0;if((g|0)>1){g=g>>>1;while(1){zb(d,o,g);if((g|0)>1)g=g+-1|0;else break}g=c[q>>2]|0}i=d+2912|0;while(1){s=c[i>>2]|0;c[q>>2]=g+-1;c[i>>2]=c[d+2908+(g<<2)>>2];zb(d,o,1);m=c[i>>2]|0;n=(c[r>>2]|0)+-1|0;c[r>>2]=n;c[d+2908+(n<<2)>>2]=s;n=(c[r>>2]|0)+-1|0;c[r>>2]=n;c[d+2908+(n<<2)>>2]=m;b[o+(h<<2)>>1]=(e[o+(m<<2)>>1]|0)+(e[o+(s<<2)>>1]|0);n=a[d+5208+s>>0]|0;l=a[d+5208+m>>0]|0;a[d+5208+h>>0]=(((n&255)<(l&255)?l:n)&255)+1;n=h&65535;b[o+(m<<2)+2>>1]=n;b[o+(s<<2)+2>>1]=n;c[i>>2]=h;zb(d,o,1);g=c[q>>2]|0;if((g|0)<=1)break;else h=h+1|0}q=c[i>>2]|0;s=(c[r>>2]|0)+-1|0;c[r>>2]=s;c[d+2908+(s<<2)>>2]=q;Ab(d,c[f>>2]|0,c[j>>2]|0,c[p>>2]|0);Bb(o,k,d+2876|0);return}function ub(a){a=a|0;var d=0;yb(a,a+148|0,c[a+2844>>2]|0);yb(a,a+2440|0,c[a+2856>>2]|0);tb(a,a+2864|0);if(!(b[a+2746>>1]|0))if(!(b[a+2690>>1]|0))if(!(b[a+2742>>1]|0))if(!(b[a+2694>>1]|0))if(!(b[a+2738>>1]|0))if(!(b[a+2698>>1]|0))if(!(b[a+2734>>1]|0))if(!(b[a+2702>>1]|0))if(!(b[a+2730>>1]|0))if(!(b[a+2706>>1]|0))if(!(b[a+2726>>1]|0))if(!(b[a+2710>>1]|0))if(!(b[a+2722>>1]|0))if(!(b[a+2714>>1]|0))if(!(b[a+2718>>1]|0))d=(b[a+2686>>1]|0)==0?2:3;else d=4;else d=5;else d=6;else d=7;else d=8;else d=9;else d=10;else d=11;else d=12;else d=13;else d=14;else d=15;else d=16;else d=17;else d=18;a=a+5800|0;c[a>>2]=(d*3|0)+17+(c[a>>2]|0);return d|0}function vb(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=f+5792|0;if(!(c[w>>2]|0)){m=f+5820|0;i=f+5816|0;o=i;n=m;m=c[m>>2]|0;i=b[i>>1]|0}else{x=f+5796|0;y=f+5784|0;n=f+5820|0;o=f+5816|0;u=f+8|0;v=f+20|0;t=0;do{p=b[(c[x>>2]|0)+(t<<1)>>1]|0;r=p&65535;q=d[(c[y>>2]|0)+t>>0]|0;t=t+1|0;do if(!(p<<16>>16)){l=e[g+(q<<2)+2>>1]|0;m=c[n>>2]|0;j=e[g+(q<<2)>>1]|0;k=j<>1]|0);i=k&65535;b[o>>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;s=c[v>>2]|0;c[v>>2]=s+1;a[i+s>>0]=k;s=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=s;m=c[n>>2]|0;i=j>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0;s=23;break}else{m=m+l|0;s=23;break}}else{p=d[8848+q>>0]|0;i=(p|256)+1|0;l=e[g+(i<<2)+2>>1]|0;m=c[n>>2]|0;i=e[g+(i<<2)>>1]|0;k=i<>1]|0);j=k&65535;b[o>>1]=j;if((m|0)>(16-l|0)){m=c[u>>2]|0;j=c[v>>2]|0;c[v>>2]=j+1;a[m+j>>0]=k;k=(e[o>>1]|0)>>>8&255;j=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[j+m>>0]=k;m=c[n>>2]|0;j=i>>>(16-m|0)&65535;b[o>>1]=j;m=l+-16+m|0}else m=m+l|0;c[n>>2]=m;l=c[10592+(p<<2)>>2]|0;if((p+-8|0)>>>0<20){k=q-(c[10752+(p<<2)>>2]|0)|0;i=k<>1]=j;if((m|0)>(16-l|0)){j=c[u>>2]|0;q=c[v>>2]|0;c[v>>2]=q+1;a[j+q>>0]=i;q=(e[o>>1]|0)>>>8&255;j=c[u>>2]|0;i=c[v>>2]|0;c[v>>2]=i+1;a[j+i>>0]=q;i=c[n>>2]|0;j=(k&65535)>>>(16-i|0)&65535;b[o>>1]=j;i=l+-16+i|0}else i=l+m|0;c[n>>2]=i;m=i}p=r+-1|0;q=d[8336+(p>>>0<256?p:(p>>>7)+256|0)>>0]|0;l=e[h+(q<<2)+2>>1]|0;k=e[h+(q<<2)>>1]|0;j=k<>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;r=c[v>>2]|0;c[v>>2]=r+1;a[i+r>>0]=j;r=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=r;m=c[n>>2]|0;i=k>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0}else m=m+l|0;c[n>>2]=m;l=c[9312+(q<<2)>>2]|0;if((q+-4|0)>>>0<26){k=p-(c[10880+(q<<2)>>2]|0)|0;j=k<>1]=i;if((m|0)>(16-l|0)){i=c[u>>2]|0;s=c[v>>2]|0;c[v>>2]=s+1;a[i+s>>0]=j;s=(e[o>>1]|0)>>>8&255;i=c[u>>2]|0;m=c[v>>2]|0;c[v>>2]=m+1;a[i+m>>0]=s;m=c[n>>2]|0;i=(k&65535)>>>(16-m|0)&65535;b[o>>1]=i;m=l+-16+m|0;s=23;break}else{m=l+m|0;s=23;break}}}while(0);if((s|0)==23){s=0;c[n>>2]=m}}while(t>>>0<(c[w>>2]|0)>>>0)}k=g+1026|0;l=e[k>>1]|0;j=e[g+1024>>1]|0;i=j<>1]=i;if((m|0)>(16-l|0)){y=f+8|0;g=c[y>>2]|0;w=f+20|0;x=c[w>>2]|0;c[w>>2]=x+1;a[g+x>>0]=i;x=(e[o>>1]|0)>>>8&255;y=c[y>>2]|0;g=c[w>>2]|0;c[w>>2]=g+1;a[y+g>>0]=x;g=c[n>>2]|0;b[o>>1]=j>>>(16-g|0);g=l+-16+g|0;c[n>>2]=g;g=b[k>>1]|0;g=g&65535;f=f+5812|0;c[f>>2]=g;return}else{g=m+l|0;c[n>>2]=g;g=b[k>>1]|0;g=g&65535;f=f+5812|0;c[f>>2]=g;return}}function wb(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f+5820|0;l=c[p>>2]|0;k=g+-257|0;q=f+5816|0;j=k<>1]|0);b[q>>1]=j;if((l|0)>11){o=f+8|0;l=c[o>>2]|0;m=f+20|0;n=c[m>>2]|0;c[m>>2]=n+1;a[l+n>>0]=j;n=(e[q>>1]|0)>>>8&255;j=c[o>>2]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[j+o>>0]=n;o=c[p>>2]|0;j=(k&65535)>>>(16-o|0);b[q>>1]=j;k=o+-11|0}else k=l+5|0;c[p>>2]=k;o=h+-1|0;j=o<>1]=j;if((k|0)>11){l=f+8|0;h=c[l>>2]|0;m=f+20|0;n=c[m>>2]|0;c[m>>2]=n+1;a[h+n>>0]=j;n=(e[q>>1]|0)>>>8&255;j=c[l>>2]|0;l=c[m>>2]|0;c[m>>2]=l+1;a[j+l>>0]=n;l=c[p>>2]|0;j=(o&65535)>>>(16-l|0);b[q>>1]=j;l=l+-11|0}else l=k+5|0;c[p>>2]=l;k=i+-4|0;j=k<>1]=j;if((l|0)>12){n=f+8|0;l=c[n>>2]|0;h=f+20|0;m=c[h>>2]|0;c[h>>2]=m+1;a[l+m>>0]=j;m=(e[q>>1]|0)>>>8&255;j=c[n>>2]|0;n=c[h>>2]|0;c[h>>2]=n+1;a[j+n>>0]=m;n=c[p>>2]|0;j=(k&65535)>>>(16-n|0);b[q>>1]=j;k=n+-12|0}else k=l+4|0;c[p>>2]=k;if((i|0)<=0){p=f+148|0;q=g+-1|0;xb(f,p,q);q=f+2440|0;xb(f,q,o);return}m=f+8|0;n=f+20|0;h=0;do{l=e[f+2684+((d[10720+h>>0]|0)<<2)+2>>1]|0;j=l<>1]=j;if((k|0)>13){k=c[m>>2]|0;r=c[n>>2]|0;c[n>>2]=r+1;a[k+r>>0]=j;r=(e[q>>1]|0)>>>8&255;j=c[m>>2]|0;k=c[n>>2]|0;c[n>>2]=k+1;a[j+k>>0]=r;k=c[p>>2]|0;j=l>>>(16-k|0);b[q>>1]=j;k=k+-13|0}else k=k+3|0;c[p>>2]=k;h=h+1|0}while((h|0)!=(i|0));q=f+148|0;r=g+-1|0;xb(f,q,r);r=f+2440|0;xb(f,r,o);return}function xb(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=b[f+2>>1]|0;i=h<<16>>16==0;if((g|0)<0)return;D=d+5820|0;E=d+5816|0;v=d+8|0;w=d+20|0;x=d+2754|0;y=d+2752|0;z=d+2758|0;A=d+2756|0;B=d+2750|0;C=d+2748|0;l=-1;t=h&65535;h=0;u=0;k=i?138:7;j=i?3:4;while(1){s=u;u=u+1|0;q=b[f+(u<<2)+2>>1]|0;p=t;t=q&65535;m=h+1|0;r=(p|0)==(t|0);if((m|0)<(k|0)&r){i=l;h=m}else{if((m|0)<(j|0)){n=d+2684+(p<<2)+2|0;o=d+2684+(p<<2)|0;h=c[D>>2]|0;i=b[E>>1]|0;do{l=e[n>>1]|0;k=e[o>>1]|0;j=k<>1]=i;if((h|0)>(16-l|0)){h=c[v>>2]|0;i=c[w>>2]|0;c[w>>2]=i+1;a[h+i>>0]=j;j=(e[E>>1]|0)>>>8&255;i=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[i+h>>0]=j;h=c[D>>2]|0;i=k>>>(16-h|0)&65535;b[E>>1]=i;h=l+-16+h|0}else h=h+l|0;c[D>>2]=h;m=m+-1|0}while((m|0)!=0)}else{do if(!p)if((h|0)<10){k=e[x>>1]|0;l=c[D>>2]|0;i=e[y>>1]|0;j=i<>1]|0);b[E>>1]=j;if((l|0)>(16-k|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=j;n=(e[E>>1]|0)>>>8&255;j=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[j+o>>0]=n;o=c[D>>2]|0;j=i>>>(16-o|0);b[E>>1]=j;k=k+-16+o|0}else k=l+k|0;c[D>>2]=k;i=h+-2|0;h=i<>1]=h;if((k|0)>13){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-13|0;break}else{h=k+3|0;break}}else{k=e[z>>1]|0;l=c[D>>2]|0;i=e[A>>1]|0;j=i<>1]|0);b[E>>1]=j;if((l|0)>(16-k|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=j;n=(e[E>>1]|0)>>>8&255;j=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[j+o>>0]=n;o=c[D>>2]|0;j=i>>>(16-o|0);b[E>>1]=j;k=k+-16+o|0}else k=l+k|0;c[D>>2]=k;i=h+-10|0;h=i<>1]=h;if((k|0)>9){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-9|0;break}else{h=k+7|0;break}}else{if((p|0)==(l|0)){h=m;i=c[D>>2]|0}else{i=e[d+2684+(p<<2)+2>>1]|0;j=c[D>>2]|0;k=e[d+2684+(p<<2)>>1]|0;l=k<>1]|0);b[E>>1]=l;if((j|0)>(16-i|0)){n=c[v>>2]|0;m=c[w>>2]|0;c[w>>2]=m+1;a[n+m>>0]=l;m=(e[E>>1]|0)>>>8&255;n=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[n+o>>0]=m;o=c[D>>2]|0;b[E>>1]=k>>>(16-o|0);i=i+-16+o|0}else i=j+i|0;c[D>>2]=i}l=e[B>>1]|0;j=e[C>>1]|0;k=j<>1]|0);b[E>>1]=k;if((i|0)>(16-l|0)){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=k;n=(e[E>>1]|0)>>>8&255;k=c[v>>2]|0;o=c[w>>2]|0;c[w>>2]=o+1;a[k+o>>0]=n;o=c[D>>2]|0;k=j>>>(16-o|0);b[E>>1]=k;j=l+-16+o|0}else j=i+l|0;c[D>>2]=j;i=h+-3|0;h=i<>1]=h;if((j|0)>14){o=c[v>>2]|0;n=c[w>>2]|0;c[w>>2]=n+1;a[o+n>>0]=h;n=(e[E>>1]|0)>>>8&255;o=c[v>>2]|0;h=c[w>>2]|0;c[w>>2]=h+1;a[o+h>>0]=n;h=c[D>>2]|0;b[E>>1]=(i&65535)>>>(16-h|0);h=h+-14|0;break}else{h=j+2|0;break}}while(0);c[D>>2]=h}j=q<<16>>16==0;i=p;k=j?138:r?6:7;j=j|r?3:4;h=0}if((s|0)==(g|0))break;else l=i}return}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=b[c+2>>1]|0;g=f<<16>>16==0;r=d+1|0;b[c+(r<<2)+2>>1]=-1;if((d|0)<0)return;o=a+2752|0;p=a+2756|0;q=a+2748|0;k=0;m=f&65535;n=0;l=-1;d=g?138:7;g=g?3:4;while(1){n=n+1|0;i=b[c+(n<<2)+2>>1]|0;f=m;m=i&65535;h=k+1|0;j=(f|0)==(m|0);if((h|0)<(d|0)&j)f=l;else{do if((h|0)>=(g|0))if(!f)if((k|0)<10){b[o>>1]=(b[o>>1]|0)+1<<16>>16;break}else{b[p>>1]=(b[p>>1]|0)+1<<16>>16;break}else{d=a+2684+(f<<2)|0;if((f|0)!=(l|0))b[d>>1]=(b[d>>1]|0)+1<<16>>16;b[q>>1]=(b[q>>1]|0)+1<<16>>16;break}else{l=a+2684+(f<<2)|0;b[l>>1]=h+(e[l>>1]|0)}while(0);d=i<<16>>16==0;h=0;g=d|j?3:4;d=d?138:j?6:7}if((n|0)==(r|0))break;else{k=h;l=f}}return}function zb(a,e,f){a=a|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;g=a+2908+(f<<2)|0;r=c[g>>2]|0;p=a+5208+r|0;h=f<<1;q=a+5200|0;i=c[q>>2]|0;if((h|0)>(i|0)){a=g;c[a>>2]=r;return}o=e+(r<<2)|0;g=i;while(1){do if((h|0)<(g|0)){i=h|1;g=a+2908+(i<<2)|0;j=c[g>>2]|0;k=b[e+(j<<2)>>1]|0;n=a+2908+(h<<2)|0;l=c[n>>2]|0;m=b[e+(l<<2)>>1]|0;if((k&65535)>=(m&65535)){if(k<<16>>16!=m<<16>>16){j=h;g=n;break}if((d[a+5208+j>>0]|0)>(d[a+5208+l>>0]|0)){j=h;g=n;break}}j=i}else{j=h;g=a+2908+(h<<2)|0}while(0);i=b[o>>1]|0;g=c[g>>2]|0;h=b[e+(g<<2)>>1]|0;if((i&65535)<(h&65535))break;if(i<<16>>16==h<<16>>16?(d[p>>0]|0)<=(d[a+5208+g>>0]|0):0)break;c[a+2908+(f<<2)>>2]=g;h=j<<1;g=c[q>>2]|0;if((h|0)>(g|0)){f=j;break}else f=j}a=a+2908+(f<<2)|0;c[a>>2]=r;return}function Ab(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[g>>2]|0;r=c[g+4>>2]|0;s=c[g+8>>2]|0;m=c[g+16>>2]|0;g=a+2876|0;h=g+32|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(h|0));g=a+5204|0;b[d+(c[a+2908+(c[g>>2]<<2)>>2]<<2)+2>>1]=0;g=c[g>>2]|0;if((g|0)>=572)return;t=a+5800|0;o=(q|0)==0;p=a+5804|0;k=0;do{h=g;g=g+1|0;j=c[a+2908+(g<<2)>>2]|0;l=d+(j<<2)+2|0;n=e[d+((e[l>>1]|0)<<2)+2>>1]|0;i=(m|0)>(n|0);n=i?n+1|0:m;k=k+((i^1)&1)|0;b[l>>1]=n;if((j|0)<=(f|0)){l=a+2876+(n<<1)|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((j|0)<(s|0))i=0;else i=c[r+(j-s<<2)>>2]|0;l=e[d+(j<<2)>>1]|0;n=M(i+n|0,l)|0;c[t>>2]=n+(c[t>>2]|0);if(!o){n=M(i+(e[q+(j<<2)+2>>1]|0)|0,l)|0;c[p>>2]=n+(c[p>>2]|0)}}}while((h|0)<571);if(!k)return;l=a+2876+(m<<1)|0;while(1){h=m;while(1){g=h+-1|0;i=a+2876+(g<<1)|0;j=b[i>>1]|0;if(!(j<<16>>16))h=g;else break}b[i>>1]=j+-1<<16>>16;h=a+2876+(h<<1)|0;b[h>>1]=(e[h>>1]|0)+2;h=(b[l>>1]|0)+-1<<16>>16;b[l>>1]=h;if((k|0)>2)k=k+-2|0;else break}if(!m)return;g=573;while(1){if(h<<16>>16){l=m&65535;k=h&65535;do{do{g=g+-1|0;h=c[a+2908+(g<<2)>>2]|0}while((h|0)>(f|0));i=d+(h<<2)+2|0;j=e[i>>1]|0;if((m|0)!=(j|0)){s=M(m-j|0,e[d+(h<<2)>>1]|0)|0;c[t>>2]=s+(c[t>>2]|0);b[i>>1]=l}k=k+-1|0}while((k|0)!=0)}h=m+-1|0;if(!h)break;m=h;h=b[a+2876+(h<<1)>>1]|0}return}function Bb(a,c,d){a=a|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;i=k;k=k+32|0;h=i;f=0;g=1;do{f=(f&65534)+(e[d+(g+-1<<1)>>1]|0)<<1;b[h+(g<<1)>>1]=f;g=g+1|0}while((g|0)!=16);if((c|0)<0){k=i;return}f=0;while(1){d=b[a+(f<<2)+2>>1]|0;g=d&65535;if(d<<16>>16){j=h+(g<<1)|0;d=b[j>>1]|0;b[j>>1]=d+1<<16>>16;b[a+(f<<2)>>1]=Cb(d&65535,g)|0}if((f|0)==(c|0))break;else f=f+1|0}k=i;return}function Cb(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){c=c|a&1;if((b|0)>1){c=c<<1;b=b+-1|0;a=a>>>1}else break}return c&2147483647|0}function Db(a,b,c){a=a|0;b=b|0;c=c|0;return Hy(M(c,b)|0)|0}function Eb(a,b){a=a|0;b=b|0;Iy(b);return}function Fb(a){a=a|0;var b=0;if(!a){b=-2;return b|0}b=c[a+28>>2]|0;if(!b){b=-2;return b|0}c[b+28>>2]=0;c[a+20>>2]=0;c[a+8>>2]=0;c[a+24>>2]=0;c[a+48>>2]=1;c[b>>2]=0;c[b+4>>2]=0;c[b+12>>2]=0;c[b+20>>2]=32768;c[b+32>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[b+48>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;a=b+1328|0;c[b+108>>2]=a;c[b+80>>2]=a;c[b+76>>2]=a;b=0;return b|0}function Gb(a){a=a|0;var b=0,d=0;if(!a){a=-2;return a|0}c[a+24>>2]=0;d=a+32|0;b=c[d>>2]|0;if(!b){c[d>>2]=5;c[a+40>>2]=0;b=5}d=a+36|0;if(!(c[d>>2]|0))c[d>>2]=4;b=va[b&7](c[a+40>>2]|0,1,9520)|0;if(!b){a=-4;return a|0}c[a+28>>2]=b;c[b+8>>2]=0;c[b+36>>2]=15;c[b+52>>2]=0;a=Fb(a)|0;return a|0}function Hb(f){f=f|0;var g=0,h=0,i=0,j=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,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,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;xa=k;k=k+16|0;Y=xa;if(!f){wa=-2;k=xa;return wa|0}wa=c[f+28>>2]|0;if(!wa){wa=-2;k=xa;return wa|0}va=f+12|0;i=c[va>>2]|0;if(!i){wa=-2;k=xa;return wa|0}h=c[f>>2]|0;if((h|0)==0?c[f+4>>2]|0:0){wa=-2;k=xa;return wa|0}g=c[wa>>2]|0;if((g|0)==11){c[wa>>2]=12;g=12;h=c[f>>2]|0;i=c[va>>2]|0}ia=f+16|0;w=c[ia>>2]|0;da=f+4|0;ea=c[da>>2]|0;fa=wa+56|0;ra=wa+60|0;ka=wa+8|0;qa=wa+16|0;x=wa+12|0;sa=wa+4|0;y=wa+64|0;z=wa+104|0;A=wa+92|0;B=wa+96|0;C=wa+100|0;D=wa+72|0;E=wa+80|0;F=wa+88|0;G=wa+32|0;ta=wa+24|0;ua=f+48|0;H=wa+76|0;I=wa+84|0;J=wa+68|0;K=wa+44|0;L=f+24|0;M=wa+1328|0;N=wa+108|0;O=wa+112|0;P=wa+752|0;Q=wa+48|0;la=f+20|0;ma=wa+28|0;R=Y+1|0;S=Y+2|0;T=Y+3|0;U=wa+52|0;ga=wa+40|0;V=wa+36|0;W=wa+20|0;m=0;v=w;j=c[ra>>2]|0;l=c[fa>>2]|0;q=ea;a:while(1){b:do switch(g|0){case 26:{na=w;oa=v;ja=j;ha=l;ca=q;X=h;pa=1;break a}case 27:{u=300;break a}case 28:{g=-4;u=313;break a}case 0:{n=c[ka>>2]|0;if(!n){c[wa>>2]=12;n=w;p=v;g=q;break b}if(j>>>0<16){o=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=o;pa=m;break a}g=g+-1|0;h=o+1|0;l=((d[o>>0]|0)<>>0<16)o=h;else break}}else g=q;if((n&2|0)!=0&(l|0)==35615){n=Ia(0,0,0)|0;c[ta>>2]=n;a[Y>>0]=31;a[R>>0]=-117;c[ta>>2]=Ia(n,Y,2)|0;c[wa>>2]=1;n=w;p=v;j=0;l=0;break b}c[qa>>2]=0;o=c[G>>2]|0;if(o){c[o+48>>2]=-1;n=c[ka>>2]|0}if(n&1|0?((((l<<8&65280)+(l>>>8)|0)>>>0)%31|0|0)==0:0){if((l&15|0)!=8){c[L>>2]=49502;c[wa>>2]=27;n=w;p=v;break b}o=l>>>4;n=o&15;if((n+8|0)>>>0>(c[V>>2]|0)>>>0){c[L>>2]=49529;c[wa>>2]=27;n=w;p=v;j=j+-4|0;l=o;break b}else{c[W>>2]=256<>2]=n;c[ua>>2]=n;c[wa>>2]=l>>>12&2^11;n=w;p=v;j=0;l=0;break b}}c[L>>2]=49479;c[wa>>2]=27;n=w;p=v;break}case 1:{if(j>>>0<16){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<16)n=h;else break}}else g=q;c[qa>>2]=l;if((l&255|0)!=8){c[L>>2]=49502;c[wa>>2]=27;n=w;p=v;break b}if(l&57344|0){c[L>>2]=49549;c[wa>>2]=27;n=w;p=v;break b}j=c[G>>2]|0;if(!j)j=l;else{c[j>>2]=l>>>8&1;j=c[qa>>2]|0}if(j&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0}c[wa>>2]=2;j=0;l=0;u=48;break}case 2:{if(j>>>0<32){g=q;u=48}else{g=q;u=51}break}case 3:{if(j>>>0<16){g=q;u=57}else{g=q;u=60}break}case 4:{g=q;n=c[qa>>2]|0;u=65;break}case 5:{g=q;u=77;break}case 6:{g=q;n=c[qa>>2]|0;u=87;break}case 7:{g=q;u=101;break}case 8:{g=q;u=115;break}case 9:{if(j>>>0<32){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>=32)break;else n=h}}else g=q;j=OA(l|0)|0;c[ta>>2]=j;c[ua>>2]=j;c[wa>>2]=10;j=0;l=0;u=130;break}case 10:{g=q;u=130;break}case 12:case 11:{g=q;u=133;break}case 13:{t=j&7;l=l>>>t;j=j-t|0;if(j>>>0<32){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}else g=q;n=l&65535;if((n|0)==(l>>>16^65535|0)){c[y>>2]=n;c[wa>>2]=14;j=0;l=0;u=151;break b}else{c[L>>2]=49613;c[wa>>2]=27;n=w;p=v;break b}}case 14:{g=q;n=c[y>>2]|0;u=151;break}case 15:{if(j>>>0<14){n=h;g=q;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<14)n=h;else break}}else g=q;s=(l&31)+257|0;c[B>>2]=s;t=l>>>5&31;c[C>>2]=t+1;n=(l>>>10&15)+4|0;c[A>>2]=n;l=l>>>14;j=j+-14|0;if(s>>>0>286|t>>>0>29){c[L>>2]=49642;c[wa>>2]=27;n=w;p=v;break b}else{c[z>>2]=0;c[wa>>2]=16;o=0;u=163;break b}}case 16:{o=c[z>>2]|0;n=c[A>>2]|0;if(o>>>0>>0){g=q;u=163}else{g=q;m=o;u=168}break}case 17:{g=q;o=c[z>>2]|0;u=174;break}case 18:{g=q;u=215;break}case 19:{g=q;o=c[D>>2]|0;u=234;break}case 20:{g=q;u=241;break}case 21:{g=q;o=c[D>>2]|0;u=254;break}case 22:{g=q;u=264;break}case 23:{if(!w){na=0;oa=v;ja=j;ha=l;ca=q;X=h;pa=m;break a}a[i>>0]=c[y>>2];c[wa>>2]=18;n=w+-1|0;i=i+1|0;p=v;g=q;break}case 24:{if(c[ka>>2]|0){if(j>>>0<32){g=q;n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}else g=q;n=v-w|0;c[la>>2]=(c[la>>2]|0)+n;c[ma>>2]=(c[ma>>2]|0)+n;if(n|0){o=c[ta>>2]|0;p=i+(0-n)|0;if(!(c[qa>>2]|0))n=Ha(o,p,n)|0;else n=Ia(o,p,n)|0;c[ta>>2]=n;c[ua>>2]=n}t=(c[qa>>2]|0)==0;v=OA(l|0)|0;if(((t?v:l)|0)==(c[ta>>2]|0)){n=w;j=0;l=0}else{c[L>>2]=49779;c[wa>>2]=27;n=w;p=w;break b}}else{n=v;g=q}c[wa>>2]=25;o=n;u=290;break}case 25:{o=v;g=q;u=290;break}default:{u=312;break a}}while(0);do if((u|0)==48){u=0;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}g=g+-1|0;n=h+1|0;l=((d[h>>0]|0)<>>0>=32){h=n;u=51;break}else h=n}}else if((u|0)==130){if(!(c[x>>2]|0)){u=131;break a}u=Ha(0,0,0)|0;c[ta>>2]=u;c[ua>>2]=u;c[wa>>2]=11;u=133}else if((u|0)==151){u=0;if(!n){c[wa>>2]=11;n=w;p=v;break}o=n>>>0>g>>>0?g:n;o=o>>>0>w>>>0?w:o;if(!o){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}PA(i|0,h|0,o|0)|0;c[y>>2]=(c[y>>2]|0)-o;n=w-o|0;i=i+o|0;p=v;g=g-o|0;h=h+o|0}else if((u|0)==163){u=0;while(1){if(j>>>0<3){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}p=j+8|0;l=((d[h>>0]|0)<>2]=q;b[wa+112+((e[11008+(o<<1)>>1]|0)<<1)>>1]=l&7;l=l>>>3;j=p+-3|0;if(q>>>0>>0)o=q;else{m=q;u=168;break}}}else if((u|0)==290){u=0;if(!(c[ka>>2]|0)){u=298;break a}if(!(c[qa>>2]|0)){u=298;break a}if(j>>>0<32){n=h;while(1){if(!g){na=w;oa=o;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<32)n=h;else break}}if((l|0)==(c[ma>>2]|0)){j=0;l=0;u=298;break a}c[L>>2]=49800;c[wa>>2]=27;n=w;p=o}while(0);do if((u|0)==51){j=c[G>>2]|0;if(j|0)c[j+4>>2]=l;if(c[qa>>2]&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;a[S>>0]=l>>>16;a[T>>0]=l>>>24;c[ta>>2]=Ia(c[ta>>2]|0,Y,4)|0}c[wa>>2]=3;j=0;l=0;u=57}else if((u|0)==133){u=0;if(c[sa>>2]|0){t=j&7;c[wa>>2]=24;n=w;p=v;j=j-t|0;l=l>>>t;break}if(j>>>0<3){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}o=j+8|0;l=((d[h>>0]|0)<>2]=l&1;switch(l>>>1&3){case 0:{j=13;break}case 1:{Ib(wa);j=18;break}case 2:{j=15;break}case 3:{c[L>>2]=49594;j=27;break}default:{u=142;break a}}c[wa>>2]=j;n=w;p=v;j=o+-3|0;l=l>>>3}else if((u|0)==168){u=0;if(m>>>0<19)do{t=m;m=m+1|0;c[z>>2]=m;b[wa+112+((e[11008+(t<<1)>>1]|0)<<1)>>1]=0}while((m|0)!=19);c[N>>2]=M;c[H>>2]=M;c[I>>2]=7;m=Lb(0,O,19,N,I,P)|0;if(!m){c[z>>2]=0;c[wa>>2]=17;m=0;o=0;u=174;break}else{c[L>>2]=49678;c[wa>>2]=27;n=w;p=v;break}}while(0);c:do if((u|0)==57){u=0;n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>=16){u=60;break}else n=h}}else if((u|0)==174){u=0;n=c[B>>2]|0;p=(c[C>>2]|0)+n|0;do if(o>>>0

>>0){s=o;d:while(1){r=c[H>>2]|0;q=(1<>2])+-1|0;n=q&l;o=d[r+(n<<2)+1>>0]|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;if(j>>>0>>0)n=h;else break}}q=b[r+(n<<2)+2>>1]|0;if((q&65535)<16){if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}c[z>>2]=s+1;b[wa+112+(s<<1)>>1]=q;j=j-o|0;l=l>>>o}else{switch(q<<16>>16){case 16:{q=o+2|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}q=l>>>o;j=j-o|0;if(!s){u=192;break d}r=e[wa+112+(s+-1<<1)>>1]|0;j=j+-2|0;l=q>>>2;n=(q&3)+3|0;break}case 17:{q=o+3|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=l>>>o;r=0;j=-3-o+j|0;l=n>>>3;n=(n&7)+3|0;break}default:{q=o+7|0;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=l>>>o;r=0;j=-7-o+j|0;l=n>>>7;n=(n&127)+11|0}}if((n+s|0)>>>0>p>>>0){u=205;break}o=r&65535;c[z>>2]=s+1;b[wa+112+(s<<1)>>1]=o;n=n+-1|0;do{t=c[z>>2]|0;n=n+-1|0;c[z>>2]=t+1;b[wa+112+(t<<1)>>1]=o}while((n|0)!=0)}s=c[z>>2]|0;n=c[B>>2]|0;p=(c[C>>2]|0)+n|0;if(s>>>0>=p>>>0){u=209;break}}if((u|0)==192){u=0;c[L>>2]=49703;c[wa>>2]=27;n=w;p=v;l=q;break c}else if((u|0)==205){u=0;c[L>>2]=49703;c[wa>>2]=27;n=w;p=v;break c}else if((u|0)==209){u=0;if((c[wa>>2]|0)==27){n=w;p=v;break c}else{m=n;break}}}else m=n;while(0);c[N>>2]=M;c[H>>2]=M;c[I>>2]=9;m=Lb(1,O,m,N,I,P)|0;if(m|0){c[L>>2]=49729;c[wa>>2]=27;n=w;p=v;break}c[E>>2]=c[N>>2];c[F>>2]=6;m=Lb(2,wa+112+(c[B>>2]<<1)|0,c[C>>2]|0,N,F,P)|0;if(!m){c[wa>>2]=18;m=0;u=215;break}else{c[L>>2]=49757;c[wa>>2]=27;n=w;p=v;break}}while(0);do if((u|0)==60){j=c[G>>2]|0;if(j|0){c[j+8>>2]=l&255;c[(c[G>>2]|0)+12>>2]=l>>>8}n=c[qa>>2]|0;if(n&512|0){a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0}c[wa>>2]=4;j=0;l=0;u=65}else if((u|0)==215){u=0;if(w>>>0>257&g>>>0>5){c[va>>2]=i;c[ia>>2]=w;c[f>>2]=h;c[da>>2]=g;c[fa>>2]=l;c[ra>>2]=j;Mb(f,v);n=c[ia>>2]|0;i=c[va>>2]|0;p=v;j=c[ra>>2]|0;l=c[fa>>2]|0;g=c[da>>2]|0;h=c[f>>2]|0;break}t=c[H>>2]|0;q=(1<>2])+-1|0;o=q&l;p=a[t+(o<<2)+1>>0]|0;n=p&255;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;n=p&255;if(j>>>0>>0)n=h;else{s=n;r=p;break}}}else{s=n;r=p}n=b[t+(o<<2)+2>>1]|0;p=a[t+(o<<2)>>0]|0;o=p&255;if(p<<24>>24!=0&(o&240|0)==0){q=n&65535;p=(1<>>s)+q|0;o=a[t+(n<<2)+1>>0]|0;if((s+(o&255)|0)>>>0>j>>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>s)+q|0;o=a[t+(n<<2)+1>>0]|0;if((s+(o&255)|0)>>>0>j>>>0)n=h;else break}}p=a[t+(n<<2)>>0]|0;j=j-s|0;l=l>>>s;q=p&255;n=b[t+(n<<2)+2>>1]|0}else{q=o;o=r}t=o&255;l=l>>>t;j=j-t|0;c[y>>2]=n&65535;if(!(p<<24>>24)){c[wa>>2]=23;n=w;p=v;break}if(q&32|0){c[wa>>2]=11;n=w;p=v;break}if(!(q&64)){o=q&15;c[D>>2]=o;c[wa>>2]=19;u=234;break}else{c[L>>2]=49823;c[wa>>2]=27;n=w;p=v;break}}while(0);if((u|0)==65){u=0;if(!(n&1024)){n=c[G>>2]|0;if(n)c[n+16>>2]=0}else{if(j>>>0<16){o=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=o;pa=m;break a}g=g+-1|0;h=o+1|0;l=((d[o>>0]|0)<>>0>=16)break;else o=h}}c[y>>2]=l;j=c[G>>2]|0;if(!j)j=n;else{c[j+20>>2]=l;j=c[qa>>2]|0}if(!(j&512)){j=0;l=0}else{a[Y>>0]=l;a[R>>0]=l>>>8;c[ta>>2]=Ia(c[ta>>2]|0,Y,2)|0;j=0;l=0}}c[wa>>2]=5;u=77}else if((u|0)==234){u=0;if(o){if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}c[y>>2]=(c[y>>2]|0)+(l&(1<>>o}c[wa>>2]=20;u=241}do if((u|0)==77){u=0;n=c[qa>>2]|0;if(n&1024){p=c[y>>2]|0;q=p>>>0>g>>>0?g:p;if(!q)o=p;else{o=c[G>>2]|0;if((o|0)!=0?(Z=c[o+16>>2]|0,(Z|0)!=0):0){n=(c[o+20>>2]|0)-p|0;t=c[o+24>>2]|0;PA(Z+n|0,h|0,((n+q|0)>>>0>t>>>0?t-n|0:q)|0)|0;n=c[qa>>2]|0}if(n&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,q)|0;o=(c[y>>2]|0)-q|0;c[y>>2]=o;h=h+q|0;g=g-q|0}if(o){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}}c[y>>2]=0;c[wa>>2]=6;u=87}else if((u|0)==241){u=0;s=c[E>>2]|0;q=(1<>2])+-1|0;p=q&l;o=a[s+(p<<2)+1>>0]|0;n=o&255;if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>0]|0;n=o&255;if(j>>>0>>0)n=h;else{r=n;break}}}else r=n;n=b[s+(p<<2)+2>>1]|0;p=d[s+(p<<2)>>0]|0;if(!(p&240)){q=n&65535;p=(1<>>r)+q|0;o=a[s+(n<<2)+1>>0]|0;if((r+(o&255)|0)>>>0>j>>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>r)+q|0;o=a[s+(n<<2)+1>>0]|0;if((r+(o&255)|0)>>>0>j>>>0)n=h;else break}}j=j-r|0;l=l>>>r;p=d[s+(n<<2)>>0]|0;n=b[s+(n<<2)+2>>1]|0}t=o&255;l=l>>>t;j=j-t|0;if(!(p&64)){c[J>>2]=n&65535;o=p&15;c[D>>2]=o;c[wa>>2]=21;u=254;break}else{c[L>>2]=49851;c[wa>>2]=27;n=w;p=v;break}}while(0);do if((u|0)==87){u=0;if(!(n&2048)){n=c[G>>2]|0;if(n)c[n+28>>2]=0}else{if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break a}p=0;do{n=p;p=p+1|0;n=a[h+n>>0]|0;o=c[G>>2]|0;if((o|0?(_=c[o+28>>2]|0,_|0):0)?($=c[y>>2]|0,$>>>0<(c[o+32>>2]|0)>>>0):0){c[y>>2]=$+1;a[_+$>>0]=n}n=n<<24>>24!=0}while(n&g>>>0>p>>>0);if(c[qa>>2]&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,p)|0;g=g-p|0;h=h+p|0;if(n){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break a}}c[y>>2]=0;c[wa>>2]=7;u=101}else if((u|0)==254){u=0;if(!o)n=c[J>>2]|0;else{if(j>>>0>>0){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0>>0)n=h;else break}}n=(c[J>>2]|0)+(l&(1<>2]=n;j=j-o|0;l=l>>>o}if(n>>>0>(v-w+(c[K>>2]|0)|0)>>>0){c[L>>2]=49873;c[wa>>2]=27;n=w;p=v;break}else{c[wa>>2]=22;u=264;break}}while(0);if((u|0)==101){u=0;if(!(c[qa>>2]&4096)){n=c[G>>2]|0;if(n)c[n+36>>2]=0}else{if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=h;pa=m;break}p=0;do{n=p;p=p+1|0;n=a[h+n>>0]|0;o=c[G>>2]|0;if((o|0?(aa=c[o+36>>2]|0,aa|0):0)?(ba=c[y>>2]|0,ba>>>0<(c[o+40>>2]|0)>>>0):0){c[y>>2]=ba+1;a[aa+ba>>0]=n}n=n<<24>>24!=0}while(n&g>>>0>p>>>0);if(c[qa>>2]&512|0)c[ta>>2]=Ia(c[ta>>2]|0,h,p)|0;g=g-p|0;h=h+p|0;if(n){na=w;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break}}c[wa>>2]=8;u=115}else if((u|0)==264){u=0;if(!w){na=0;oa=v;ja=j;ha=l;ca=g;X=h;pa=m;break}n=v-w|0;o=c[J>>2]|0;if(o>>>0>n>>>0){n=o-n|0;o=c[Q>>2]|0;if(n>>>0>o>>>0){n=n-o|0;p=n;n=(c[ga>>2]|0)-n|0}else{p=n;n=o-n|0}o=c[y>>2]|0;q=(c[U>>2]|0)+n|0;n=p>>>0>o>>>0?o:p}else{t=c[y>>2]|0;q=i+(0-o)|0;n=t;o=t}r=n>>>0>w>>>0?w:n;c[y>>2]=o-r;o=r;p=i;n=q;while(1){a[p>>0]=a[n>>0]|0;o=o+-1|0;if(!o)break;else{p=p+1|0;n=n+1|0}}n=w-r|0;i=i+r|0;if(!(c[y>>2]|0)){c[wa>>2]=18;p=v}else p=v}do if((u|0)==115){u=0;o=c[qa>>2]|0;if(o&512){if(j>>>0<16){n=h;while(1){if(!g){na=w;oa=v;ja=j;ha=l;ca=0;X=n;pa=m;break a}g=g+-1|0;h=n+1|0;l=((d[n>>0]|0)<>>0<16)n=h;else break}}if((l|0)==(c[ta>>2]&65535|0)){j=0;l=0}else{c[L>>2]=49574;c[wa>>2]=27;n=w;p=v;break}}n=c[G>>2]|0;if(n|0){c[n+44>>2]=o>>>9&1;c[(c[G>>2]|0)+48>>2]=1}n=Ia(0,0,0)|0;c[ta>>2]=n;c[ua>>2]=n;c[wa>>2]=11;n=w;p=v}while(0);v=p;w=n;q=g;g=c[wa>>2]|0}if((u|0)==131){c[va>>2]=i;c[ia>>2]=w;c[f>>2]=h;c[da>>2]=g;c[fa>>2]=l;c[ra>>2]=j;wa=2;k=xa;return wa|0}else if((u|0)!=142)if((u|0)==298){c[wa>>2]=26;na=w;oa=o;ja=j;ha=l;ca=g;X=h;pa=1}else if((u|0)==300){na=w;oa=v;ja=j;ha=l;ca=q;X=h;pa=-3}else if((u|0)==312){wa=-2;k=xa;return wa|0}else if((u|0)==313){k=xa;return g|0}c[va>>2]=i;c[ia>>2]=na;c[f>>2]=X;c[da>>2]=ca;c[fa>>2]=ha;c[ra>>2]=ja;if(!(c[ga>>2]|0)){if((c[wa>>2]|0)>>>0<24?(oa|0)!=(c[ia>>2]|0):0)u=304}else u=304;if((u|0)==304?Jb(f,oa)|0:0){c[wa>>2]=28;wa=-4;k=xa;return wa|0}j=ea-(c[da>>2]|0)|0;i=oa-(c[ia>>2]|0)|0;oa=f+8|0;c[oa>>2]=(c[oa>>2]|0)+j;c[la>>2]=(c[la>>2]|0)+i;c[ma>>2]=(c[ma>>2]|0)+i;if((i|0)!=0&(c[ka>>2]|0)!=0){h=c[ta>>2]|0;g=(c[va>>2]|0)+(0-i)|0;if(!(c[qa>>2]|0))g=Ha(h,g,i)|0;else g=Ia(h,g,i)|0;c[ta>>2]=g;c[ua>>2]=g}c[f+44>>2]=((c[sa>>2]|0)==0?0:64)+(c[ra>>2]|0)+((c[wa>>2]|0)==11?128:0);wa=(pa|(i|j)|0)==0?-5:pa;k=xa;return wa|0}function Ib(a){a=a|0;c[a+76>>2]=11056;c[a+84>>2]=9;c[a+80>>2]=13104;c[a+88>>2]=5;return}function Jb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[a+28>>2]|0;j=i+52|0;d=c[j>>2]|0;if(!d){d=va[c[a+32>>2]&7](c[a+40>>2]|0,1<>2],1)|0;c[j>>2]=d;if(!d){j=1;return j|0}}h=i+40|0;e=c[h>>2]|0;if(!e){e=1<>2];c[h>>2]=e;c[i+48>>2]=0;c[i+44>>2]=0}b=b-(c[a+16>>2]|0)|0;if(b>>>0>=e>>>0){PA(d|0,(c[a+12>>2]|0)+(0-e)|0,e|0)|0;c[i+48>>2]=0;c[i+44>>2]=c[h>>2];j=0;return j|0}f=i+48|0;k=c[f>>2]|0;g=e-k|0;g=g>>>0>b>>>0?b:g;e=a+12|0;PA(d+k|0,(c[e>>2]|0)+(0-b)|0,g|0)|0;d=b-g|0;if(d|0){PA(c[j>>2]|0,(c[e>>2]|0)+(0-d)|0,d|0)|0;c[f>>2]=d;c[i+44>>2]=c[h>>2];k=0;return k|0}d=(c[f>>2]|0)+g|0;k=c[h>>2]|0;c[f>>2]=(d|0)==(k|0)?0:d;d=i+44|0;e=c[d>>2]|0;if(e>>>0>=k>>>0){k=0;return k|0}c[d>>2]=e+g;k=0;return k|0}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a){g=-2;return g|0}g=a+28|0;b=c[g>>2]|0;if(!b){g=-2;return g|0}e=a+36|0;d=c[e>>2]|0;if(!d){g=-2;return g|0}f=c[b+52>>2]|0;a=a+40|0;if(f){xa[d&31](c[a>>2]|0,f);d=c[e>>2]|0;b=c[g>>2]|0}xa[d&31](c[a>>2]|0,b);c[g>>2]=0;g=0;return g|0}function Lb(d,f,g,h,i,j){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var 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,J=0,K=0;K=k;k=k+64|0;H=K+32|0;F=K;c[H>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;c[H+24>>2]=0;c[H+28>>2]=0;E=(g|0)==0;if(!E){l=0;do{J=H+(e[f+(l<<1)>>1]<<1)|0;b[J>>1]=(b[J>>1]|0)+1<<16>>16;l=l+1|0}while((l|0)!=(g|0));m=b[H+30>>1]|0;l=c[i>>2]|0;if(!(m<<16>>16))if(!(b[H+28>>1]|0))I=76;else{o=14;m=0;n=16}else{o=15;n=15}}else{l=c[i>>2]|0;I=76}if((I|0)==76)if(!(b[H+26>>1]|0))if(!(b[H+24>>1]|0))if(!(b[H+22>>1]|0))if(!(b[H+20>>1]|0))if(!(b[H+18>>1]|0))if(!(b[H+16>>1]|0))if(!(b[H+14>>1]|0))if(!(b[H+12>>1]|0))if(!(b[H+10>>1]|0))if(!(b[H+8>>1]|0))if(!(b[H+6>>1]|0))if(!(b[H+4>>1]|0))if(!(b[H+2>>1]|0)){J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;J=c[h>>2]|0;c[h>>2]=J+4;a[J>>0]=64;a[J+1>>0]=1;b[J+2>>1]=0;c[i>>2]=1;i=0;k=K;return i|0}else{o=1;m=0;n=16}else{o=2;m=0;n=16}else{o=3;m=0;n=16}else{o=4;m=0;n=16}else{o=5;m=0;n=16}else{o=6;m=0;n=16}else{o=7;m=0;n=16}else{o=8;m=0;n=16}else{o=9;m=0;n=16}else{o=10;m=0;n=16}else{o=11;m=0;n=16}else{o=12;m=0;n=16}else{o=13;m=0;n=16}l=l>>>0>o>>>0?o:l;D=b[H+2>>1]|0;if(!(D<<16>>16))if(!(b[H+4>>1]|0))if(!(b[H+6>>1]|0))if(!(b[H+8>>1]|0))if(!(b[H+10>>1]|0))if(!(b[H+12>>1]|0))if(!(b[H+14>>1]|0))if(!(b[H+16>>1]|0))if(!(b[H+18>>1]|0))if(!(b[H+20>>1]|0))if(!(b[H+22>>1]|0))if(!(b[H+24>>1]|0))if(!(b[H+26>>1]|0))p=(b[H+28>>1]|0)==0?n:14;else p=13;else p=12;else p=11;else p=10;else p=9;else p=8;else p=7;else p=6;else p=5;else p=4;else p=3;else p=2;else p=1;J=l>>>0

>>0?p:l;B=D&65535;l=2-B|0;if((l|0)<0){i=-1;k=K;return i|0}C=e[H+4>>1]|0;l=(l<<1)-C|0;if((l|0)<0){i=-1;k=K;return i|0}A=e[H+6>>1]|0;l=(l<<1)-A|0;if((l|0)<0){i=-1;k=K;return i|0}z=e[H+8>>1]|0;l=(l<<1)-z|0;if((l|0)<0){i=-1;k=K;return i|0}y=e[H+10>>1]|0;l=(l<<1)-y|0;if((l|0)<0){i=-1;k=K;return i|0}x=e[H+12>>1]|0;l=(l<<1)-x|0;if((l|0)<0){i=-1;k=K;return i|0}w=e[H+14>>1]|0;l=(l<<1)-w|0;if((l|0)<0){i=-1;k=K;return i|0}v=e[H+16>>1]|0;l=(l<<1)-v|0;if((l|0)<0){i=-1;k=K;return i|0}u=e[H+18>>1]|0;l=(l<<1)-u|0;if((l|0)<0){i=-1;k=K;return i|0}t=e[H+20>>1]|0;l=(l<<1)-t|0;if((l|0)<0){i=-1;k=K;return i|0}s=e[H+22>>1]|0;l=(l<<1)-s|0;if((l|0)<0){i=-1;k=K;return i|0}r=e[H+24>>1]|0;l=(l<<1)-r|0;if((l|0)<0){i=-1;k=K;return i|0}q=e[H+26>>1]|0;l=(l<<1)-q|0;if((l|0)<0){i=-1;k=K;return i|0}n=e[H+28>>1]|0;l=(l<<1)-n|0;if((l|0)<0){i=-1;k=K;return i|0}l=(l<<1)-(m&65535)|0;if((l|0)<0){i=-1;k=K;return i|0}if(l|0?(d|0)==0|(o|0)!=1:0){i=-1;k=K;return i|0}b[F+2>>1]=0;b[F+4>>1]=D;D=C+B|0;b[F+6>>1]=D;D=D+A|0;b[F+8>>1]=D;D=D+z|0;b[F+10>>1]=D;D=D+y|0;b[F+12>>1]=D;D=D+x|0;b[F+14>>1]=D;D=D+w|0;b[F+16>>1]=D;D=D+v|0;b[F+18>>1]=D;D=D+u|0;b[F+20>>1]=D;D=D+t|0;b[F+22>>1]=D;D=D+s|0;b[F+24>>1]=D;D=D+r|0;b[F+26>>1]=D;D=D+q|0;b[F+28>>1]=D;b[F+30>>1]=D+n;if(!E){l=0;do{m=b[f+(l<<1)>>1]|0;if(m<<16>>16){D=F+((m&65535)<<1)|0;E=b[D>>1]|0;b[D>>1]=E+1<<16>>16;b[j+((E&65535)<<1)>>1]=l}l=l+1|0}while((l|0)!=(g|0))}a:do switch(d|0){case 0:{y=j;z=j;A=19;B=0;break}case 1:{if(J>>>0>10)l=1;else{y=12718;z=12846;A=256;B=1;break a}k=K;return l|0}default:{y=13296;z=13424;A=-1;B=0}}while(0);D=1<>2]|0;C=-1;q=0;n=0;l=J;r=0;b:while(1){x=1<>1]|0;s=p&65535;do if((A|0)>(s|0))v=0;else{if((A|0)>=(s|0)){v=96;p=0;break}v=b[y+(s<<1)>>1]&255;p=b[z+(s<<1)>>1]|0}while(0);t=1<>>n;s=x;do{s=s-t|0;F=s+u|0;a[m+(F<<2)>>0]=v;a[m+(F<<2)+1>>0]=l;b[m+(F<<2)+2>>1]=p}while((s|0)!=0);p=1<>>1;q=(p|0)==0?0:(p+-1&q)+p|0;s=r+1|0;g=H+(w<<1)|0;F=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=F;if(!(F<<16>>16)){if((w|0)==(o|0))break b;w=e[f+(e[j+(s<<1)>>1]<<1)>>1]|0}if(w>>>0>J>>>0?(G=q&E,(G|0)!=(C|0)):0)break;r=s}n=(n|0)==0?J:n;m=m+(x<<2)|0;l=w-n|0;c:do if(w>>>0>>0){p=1<>1]|0)|0;if((p|0)<1)break c;l=l+1|0;r=l+n|0;if(r>>>0>=o>>>0)break;else p=p<<1}}while(0);p=(1<>>0>1455){l=1;I=49;break}a[(c[h>>2]|0)+(G<<2)>>0]=l;a[(c[h>>2]|0)+(G<<2)+1>>0]=d;C=c[h>>2]|0;b[C+(G<<2)+2>>1]=(m-C|0)>>>2;C=G;D=p;r=s;p=w}if((I|0)==49){k=K;return l|0}if(q|0)while(1){if((n|0)==0|(q&E|0)==(C|0))p=l;else{m=c[h>>2]|0;n=0;o=J;p=d}l=q>>>n;a[m+(l<<2)>>0]=64;a[m+(l<<2)+1>>0]=p;b[m+(l<<2)+2>>1]=0;l=1<>>1;q=(l|0)==0?0:(l+-1&q)+l|0;if(!q)break;else l=p}c[h>>2]=(c[h>>2]|0)+(D<<2);c[i>>2]=J;i=0;k=K;return i|0}function Mb(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;C=c[e+28>>2]|0;i=(c[e>>2]|0)+-1|0;I=e+4|0;J=i+((c[I>>2]|0)+-5)|0;D=e+12|0;h=(c[D>>2]|0)+-1|0;E=e+16|0;q=c[E>>2]|0;F=h+(q+-257)|0;v=c[C+40>>2]|0;w=c[C+44>>2]|0;x=c[C+48>>2]|0;G=C+56|0;H=C+60|0;y=c[C+76>>2]|0;z=c[C+80>>2]|0;A=(1<>2])+-1|0;B=(1<>2])+-1|0;q=h+(q-f)|0;r=(c[C+52>>2]|0)+-1|0;s=(x|0)==0;t=x+v|0;u=q-x|0;g=c[G>>2]|0;f=c[H>>2]|0;a:while(1){if(f>>>0<15){p=i+2|0;j=p;g=((d[i+1>>0]|0)<>0]|0)<>0]|0;k=b[y+(p<<2)+2>>1]|0;p=d[y+(p<<2)+1>>0]|0;g=g>>>p;f=f-p|0;do if(i<<24>>24){i=i&255;while(1){if(i&16|0)break;if(i&64|0){K=54;break a}p=(g&(1<>0]|0;k=b[y+(p<<2)+2>>1]|0;p=d[y+(p<<2)+1>>0]|0;g=g>>>p;f=f-p|0;if(!(i<<24>>24)){K=6;break}else i=i&255}if((K|0)==6){i=k&255;K=7;break}m=k&65535;k=i&15;if(k){i=j+1|0;if(f>>>0>>0){j=i;g=((d[i>>0]|0)<>>k;f=f-k|0}if(f>>>0<15){p=j+2|0;i=p;g=((d[j+1>>0]|0)<>0]|0)<>1]|0;p=d[z+(k<<2)+1>>0]|0;g=g>>>p;f=f-p|0;k=d[z+(k<<2)>>0]|0;if(!(k&16))do{if(k&64|0){j=i;i=49851;K=56;break a}k=(g&(1<>1]|0;p=d[z+(k<<2)+1>>0]|0;g=g>>>p;f=f-p|0;k=d[z+(k<<2)>>0]|0}while((k&16|0)==0);n=j&65535;o=k&15;if(f>>>0>>0){k=i+1|0;g=((d[k>>0]|0)<>>0>>0){i=j;g=((d[j>>0]|0)<>>o;f=f-o|0;n=h;j=n-q|0;if(p>>>0<=j>>>0){l=h+(0-p)|0;while(1){a[h+1>>0]=a[l+1>>0]|0;a[h+2>>0]=a[l+2>>0]|0;j=l+3|0;k=h+3|0;a[k>>0]=a[j>>0]|0;m=m+-3|0;if(m>>>0<=2)break;else{l=j;h=k}}if(!m){h=k;break}j=h+4|0;a[j>>0]=a[l+4>>0]|0;if((m|0)==1){h=j;break}h=h+5|0;a[h>>0]=a[l+5>>0]|0;break}l=p-j|0;if(l>>>0>w>>>0){j=i;i=49873;K=56;break a}do if(s){k=r+(v-l)|0;if(m>>>0>l>>>0){j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);h=h+q+(p-n)|0;k=h+(0-p)|0}else j=m}else{if(x>>>0>=l>>>0){k=r+(x-l)|0;if(m>>>0<=l>>>0){j=m;break}j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);h=h+q+(p-n)|0;k=h+(0-p)|0;break}k=r+(t-l)|0;l=l-x|0;if(m>>>0>l>>>0){j=m-l|0;m=h;do{k=k+1|0;m=m+1|0;a[m>>0]=a[k>>0]|0;l=l+-1|0}while((l|0)!=0);n=p-n|0;o=h+u+n|0;if(j>>>0>x>>>0){l=r;m=x;k=o;do{l=l+1|0;k=k+1|0;a[k>>0]=a[l>>0]|0;m=m+-1|0}while((m|0)!=0);h=h+q+n|0;j=j-x|0;k=h+(0-p)|0}else{k=r;h=o}}else j=m}while(0);if(j>>>0>2)do{a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;k=k+3|0;h=h+3|0;a[h>>0]=a[k>>0]|0;j=j+-3|0}while(j>>>0>2);if(j){l=h+1|0;a[l>>0]=a[k+1>>0]|0;if((j|0)==1)h=l;else{h=h+2|0;a[h>>0]=a[k+2>>0]|0}}}else{i=k&255;K=7}while(0);if((K|0)==7){K=0;h=h+1|0;a[h>>0]=i;i=j}if(!(h>>>0>>0&i>>>0>>0)){K=58;break}}if((K|0)==54)if(!(i&32)){i=49823;K=56}else i=11;else if((K|0)==58){B=f>>>3;B=0-B|0;B=i+B|0;K=f&7;C=1<>2]=A;e=h+1|0;c[D>>2]=e;D=J;J=B;D=D+5|0;J=D-J|0;c[I>>2]=J;I=F;J=h;I=I+257|0;J=I-J|0;c[E>>2]=J;c[G>>2]=C;c[H>>2]=K;return}if((K|0)==56){c[e+24>>2]=i;i=27}c[C>>2]=i;z=j;B=h;C=g;K=f;A=K>>>3;A=0-A|0;A=z+A|0;K=K&7;z=1<>2]=z;e=B+1|0;c[D>>2]=e;D=J;J=A;D=D+5|0;J=D-J|0;c[I>>2]=J;I=F;J=B;I=I+257|0;J=I-J|0;c[E>>2]=J;c[G>>2]=C;c[H>>2]=K;return}function Nb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[51952+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[51952+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[84752+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[D>>2]|0)+ca|0;c[D>>2]=ca;ca=(c[G>>2]|0)+(c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[G>>2]=ca;ca=(c[I>>2]|0)+(c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)|0;c[I>>2]=ca;ca=c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Ob(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[51952+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[51952+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[84752+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[(c[84752+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)+ca+(c[G>>2]|0)|0;c[G>>2]=ca;ca=(c[I>>2]|0)+(c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)|0;c[I>>2]=ca;ca=c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Pb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[51952+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[51952+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);c[s>>2]=c[b>>2];c[b>>2]=c[(c[84752+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[G>>2]|0)+(c[(c[84752+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[G>>2]=ca;ca=(c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(c[s>>2]|0)+(c[I>>2]|0)|0;c[I>>2]=ca;ca=c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Qb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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,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,ba=0,ca=0;$=b+420|0;aa=b+480|0;if(!((c[aa>>2]|0)!=536870912&(e|0)>0))return;ba=b+96|0;z=b+144|0;A=a+7400|0;B=b+312|0;C=b+360|0;D=a+7404|0;E=b+204|0;F=b+252|0;G=a+7408|0;H=b+468|0;I=a+7412|0;J=b+148|0;K=b+364|0;L=b+256|0;M=b+472|0;N=b+124|0;O=b+156|0;P=b+108|0;Q=a+7416|0;R=b+340|0;S=b+372|0;T=b+324|0;U=a+7420|0;V=b+232|0;W=b+264|0;X=b+216|0;Y=a+7424|0;Z=b+448|0;_=b+432|0;g=a+7428|0;h=b+160|0;i=b+164|0;j=b+376|0;k=b+380|0;l=b+152|0;m=b+268|0;n=b+272|0;o=b+368|0;p=b+484|0;q=b+488|0;r=b+260|0;s=b+4|0;t=b+36|0;u=b+20|0;v=b+24|0;w=b+28|0;x=d+4|0;y=b+476|0;f=0;do{c[A>>2]=c[z>>2];c[D>>2]=c[C>>2];c[G>>2]=c[F>>2];c[I>>2]=c[H>>2];c[z>>2]=(c[z>>2]|0)+(c[J>>2]|0);c[C>>2]=(c[C>>2]|0)+(c[K>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[L>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[M>>2]|0);a=(c[P>>2]|0)+(c[51952+(c[O>>2]>>16<<2)>>2]|0)|0;if(c[N>>2]&4)a=(a|0)>4095?0:a^4095;c[Q>>2]=a;a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[X>>2]|0)+(c[51952+(c[W>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[Y>>2]=a;a=(c[_>>2]|0)+(c[51952+(c[aa>>2]>>16<<2)>>2]|0)|0;if(c[Z>>2]&4)a=(a|0)>4095?0:a^4095;c[g>>2]=a;a=(c[O>>2]|0)+(c[h>>2]|0)|0;c[O>>2]=a;if((a|0)>=(c[i>>2]|0))wa[c[14e3+(c[l>>2]<<2)>>2]&31](ba);a=(c[S>>2]|0)+(c[j>>2]|0)|0;c[S>>2]=a;if((a|0)>=(c[k>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](B);a=(c[W>>2]|0)+(c[m>>2]|0)|0;c[W>>2]=a;if((a|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](E);a=(c[aa>>2]|0)+(c[p>>2]|0)|0;c[aa>>2]=a;if((a|0)>=(c[q>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31]($);c[A>>2]=(c[A>>2]|0)+((c[s>>2]|0)+(c[b>>2]|0)>>c[t>>2]);ca=c[b>>2]|0;c[s>>2]=ca;c[b>>2]=c[(c[84752+(((c[A>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Q>>2]<<2)>>2];ca=(c[D>>2]|0)+ca|0;c[D>>2]=ca;ca=(c[(c[84752+(((c[G>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[Y>>2]<<2)>>2]|0)+(c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2]|0)+(c[I>>2]|0)|0;c[I>>2]=ca;ca=c[(c[84752+((ca>>>14&4095)<<2)>>2]|0)+(c[g>>2]<<2)>>2]>>15;c[u>>2]=ca;a=(c[d>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[v>>2]&ca);a=(c[x>>2]|0)+(f<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[w>>2]&c[u>>2]);f=f+1|0}while((f|0)!=(e|0));return}function Rb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0,da=0;ba=b+312|0;ca=b+372|0;do if((c[ca>>2]|0)==536870912){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else if((e|0)>0){f=b+480|0;break}else return;while(0);B=b+96|0;C=b+144|0;D=a+7400|0;E=b+360|0;F=a+7404|0;G=b+204|0;H=b+252|0;I=a+7408|0;J=b+420|0;K=b+468|0;L=a+7412|0;M=b+148|0;N=b+364|0;O=b+256|0;P=b+472|0;Q=b+124|0;R=b+156|0;S=b+108|0;T=a+7416|0;U=b+340|0;V=b+324|0;W=a+7420|0;X=b+232|0;Y=b+264|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;i=a+7428|0;j=b+160|0;k=b+164|0;l=b+376|0;m=b+380|0;n=b+152|0;o=b+268|0;p=b+272|0;q=b+368|0;r=b+484|0;s=b+488|0;t=b+260|0;u=b+4|0;v=b+36|0;w=b+20|0;x=b+476|0;y=b+24|0;z=b+28|0;A=d+4|0;h=0;do{c[D>>2]=c[C>>2];c[F>>2]=c[E>>2];c[I>>2]=c[H>>2];c[L>>2]=c[K>>2];c[C>>2]=(c[C>>2]|0)+(c[M>>2]|0);c[E>>2]=(c[E>>2]|0)+(c[N>>2]|0);c[H>>2]=(c[H>>2]|0)+(c[O>>2]|0);c[K>>2]=(c[K>>2]|0)+(c[P>>2]|0);a=(c[S>>2]|0)+(c[51952+(c[R>>2]>>16<<2)>>2]|0)|0;if(c[Q>>2]&4)a=(a|0)>4095?0:a^4095;c[T>>2]=a;a=(c[V>>2]|0)+(c[51952+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[U>>2]&4)a=(a|0)>4095?0:a^4095;c[W>>2]=a;a=(c[Z>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[X>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[i>>2]=a;g=(c[R>>2]|0)+(c[j>>2]|0)|0;c[R>>2]=g;if((g|0)>=(c[k>>2]|0))wa[c[14e3+(c[n>>2]<<2)>>2]&31](B);g=(c[ca>>2]|0)+(c[l>>2]|0)|0;c[ca>>2]=g;if((g|0)>=(c[m>>2]|0))wa[c[14e3+(c[q>>2]<<2)>>2]&31](ba);g=(c[Y>>2]|0)+(c[o>>2]|0)|0;c[Y>>2]=g;if((g|0)>=(c[p>>2]|0))wa[c[14e3+(c[t>>2]<<2)>>2]&31](G);g=(c[f>>2]|0)+(c[r>>2]|0)|0;c[f>>2]=g;if((g|0)>=(c[s>>2]|0))wa[c[14e3+(c[x>>2]<<2)>>2]&31](J);c[D>>2]=(c[D>>2]|0)+((c[u>>2]|0)+(c[b>>2]|0)>>c[v>>2]);a=c[b>>2]|0;c[u>>2]=a;c[b>>2]=c[(c[84752+(((c[D>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[T>>2]<<2)>>2];a=(c[F>>2]|0)+a|0;c[F>>2]=a;g=(c[L>>2]|0)+(c[(c[84752+(((c[I>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;c[L>>2]=g;g=(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[W>>2]<<2)>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;a=g>>15;c[w>>2]=a;if((g|0)<=402653183){if((g|0)<-402620416){a=-12287;da=24}}else{a=12287;da=24}if((da|0)==24){da=0;c[w>>2]=a}g=(c[d>>2]|0)+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[y>>2]&a);g=(c[A>>2]|0)+(h<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[z>>2]&c[w>>2]);h=h+1|0}while((h|0)<(e|0));return}function Sb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,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,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,ba=0,ca=0,da=0,ea=0;ba=b+312|0;ca=b+372|0;if((c[ca>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else da=4;do if((da|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);C=b+96|0;D=b+144|0;E=a+7400|0;F=b+360|0;G=a+7404|0;H=b+204|0;I=b+252|0;J=a+7408|0;K=b+420|0;L=b+468|0;M=a+7412|0;N=b+148|0;O=b+364|0;P=b+256|0;Q=b+472|0;R=b+124|0;S=b+156|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;j=a+7428|0;k=b+160|0;l=b+164|0;m=b+376|0;n=b+380|0;o=b+152|0;p=b+268|0;q=b+272|0;r=b+368|0;s=b+484|0;t=b+488|0;u=b+260|0;v=b+4|0;w=b+36|0;x=b+20|0;y=b+476|0;z=b+24|0;A=b+28|0;B=d+4|0;i=0;do{c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];c[J>>2]=c[I>>2];c[M>>2]=c[L>>2];c[D>>2]=(c[D>>2]|0)+(c[N>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[O>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[P>>2]|0);c[L>>2]=(c[L>>2]|0)+(c[Q>>2]|0);a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[51952+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[j>>2]=a;h=(c[S>>2]|0)+(c[k>>2]|0)|0;c[S>>2]=h;if((h|0)>=(c[l>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](C);h=(c[ca>>2]|0)+(c[m>>2]|0)|0;c[ca>>2]=h;if((h|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](ba);h=(c[g>>2]|0)+(c[p>>2]|0)|0;c[g>>2]=h;if((h|0)>=(c[q>>2]|0))wa[c[14e3+(c[u>>2]<<2)>>2]&31](H);h=(c[f>>2]|0)+(c[s>>2]|0)|0;c[f>>2]=h;if((h|0)>=(c[t>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31](K);c[E>>2]=(c[E>>2]|0)+((c[v>>2]|0)+(c[b>>2]|0)>>c[w>>2]);ea=c[b>>2]|0;c[v>>2]=ea;c[b>>2]=c[(c[84752+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];ea=(c[G>>2]|0)+ea|0;c[G>>2]=ea;h=(c[J>>2]|0)+(c[v>>2]|0)|0;c[J>>2]=h;a=(c[M>>2]|0)+(c[v>>2]|0)|0;c[M>>2]=a;h=(c[(c[84752+((ea>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[84752+((a>>>14&4095)<<2)>>2]|0)+(c[j>>2]<<2)>>2]|0)+(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=h>>15;c[x>>2]=a;if((h|0)<=402653183){if((h|0)<-402620416){a=-12287;da=25}}else{a=12287;da=25}if((da|0)==25){da=0;c[x>>2]=a}ea=(c[d>>2]|0)+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+(c[z>>2]&a);ea=(c[B>>2]|0)+(i<<2)|0;c[ea>>2]=(c[ea>>2]|0)+(c[A>>2]&c[x>>2]);i=i+1|0}while((i|0)<(e|0));return}function Tb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0,da=0;ba=b+312|0;ca=b+372|0;if((c[ca>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else da=4;do if((da|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);C=b+96|0;D=b+144|0;E=a+7400|0;F=b+360|0;G=a+7404|0;H=b+204|0;I=b+252|0;J=a+7408|0;K=b+420|0;L=b+468|0;M=a+7412|0;N=b+148|0;O=b+364|0;P=b+256|0;Q=b+472|0;R=b+124|0;S=b+156|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;j=a+7428|0;k=b+160|0;l=b+164|0;m=b+376|0;n=b+380|0;o=b+152|0;p=b+268|0;q=b+272|0;r=b+368|0;s=b+484|0;t=b+488|0;u=b+260|0;v=b+4|0;w=b+36|0;x=b+20|0;y=b+476|0;z=b+24|0;A=b+28|0;B=d+4|0;i=0;do{c[E>>2]=c[D>>2];c[G>>2]=c[F>>2];c[J>>2]=c[I>>2];c[M>>2]=c[L>>2];c[D>>2]=(c[D>>2]|0)+(c[N>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[O>>2]|0);c[I>>2]=(c[I>>2]|0)+(c[P>>2]|0);c[L>>2]=(c[L>>2]|0)+(c[Q>>2]|0);a=(c[T>>2]|0)+(c[51952+(c[S>>2]>>16<<2)>>2]|0)|0;if(c[R>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[51952+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[j>>2]=a;h=(c[S>>2]|0)+(c[k>>2]|0)|0;c[S>>2]=h;if((h|0)>=(c[l>>2]|0))wa[c[14e3+(c[o>>2]<<2)>>2]&31](C);h=(c[ca>>2]|0)+(c[m>>2]|0)|0;c[ca>>2]=h;if((h|0)>=(c[n>>2]|0))wa[c[14e3+(c[r>>2]<<2)>>2]&31](ba);h=(c[g>>2]|0)+(c[p>>2]|0)|0;c[g>>2]=h;if((h|0)>=(c[q>>2]|0))wa[c[14e3+(c[u>>2]<<2)>>2]&31](H);h=(c[f>>2]|0)+(c[s>>2]|0)|0;c[f>>2]=h;if((h|0)>=(c[t>>2]|0))wa[c[14e3+(c[y>>2]<<2)>>2]&31](K);c[E>>2]=(c[E>>2]|0)+((c[v>>2]|0)+(c[b>>2]|0)>>c[w>>2]);h=c[b>>2]|0;c[v>>2]=h;c[b>>2]=c[(c[84752+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];h=(c[G>>2]|0)+h|0;c[G>>2]=h;h=(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[84752+(((c[M>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[j>>2]<<2)>>2]|0)+(c[(c[84752+(((c[J>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=h>>15;c[x>>2]=a;if((h|0)<=402653183){if((h|0)<-402620416){a=-12287;da=25}}else{a=12287;da=25}if((da|0)==25){da=0;c[x>>2]=a}h=(c[d>>2]|0)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[z>>2]&a);h=(c[B>>2]|0)+(i<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[A>>2]&c[x>>2]);i=i+1|0}while((i|0)<(e|0));return}function Ub(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,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,ba=0,ca=0,da=0;ba=b+96|0;ca=b+156|0;if(((c[ca>>2]|0)==536870912?(h=b+372|0,(c[h>>2]|0)==536870912):0)?(f=b+264|0,(c[f>>2]|0)==536870912):0){g=b+480|0;if(!((c[g>>2]|0)!=536870912&(e|0)>0))return}else da=5;do if((da|0)==5)if((e|0)>0){f=b+264|0;g=b+480|0;h=b+372|0;break}else return;while(0);D=b+144|0;E=a+7400|0;F=b+312|0;G=b+360|0;H=a+7404|0;I=b+204|0;J=b+252|0;K=a+7408|0;L=b+420|0;M=b+468|0;N=a+7412|0;O=b+148|0;P=b+364|0;Q=b+256|0;R=b+472|0;S=b+124|0;T=b+108|0;U=a+7416|0;V=b+340|0;W=b+324|0;X=a+7420|0;Y=b+232|0;Z=b+216|0;_=a+7424|0;$=b+448|0;aa=b+432|0;k=a+7428|0;l=b+160|0;m=b+164|0;n=b+376|0;o=b+380|0;p=b+152|0;q=b+268|0;r=b+272|0;s=b+368|0;t=b+484|0;u=b+488|0;v=b+260|0;w=b+4|0;x=b+36|0;y=b+20|0;z=b+476|0;A=b+24|0;B=b+28|0;C=d+4|0;j=0;do{c[E>>2]=c[D>>2];c[H>>2]=c[G>>2];c[K>>2]=c[J>>2];c[N>>2]=c[M>>2];c[D>>2]=(c[D>>2]|0)+(c[O>>2]|0);c[G>>2]=(c[G>>2]|0)+(c[P>>2]|0);c[J>>2]=(c[J>>2]|0)+(c[Q>>2]|0);c[M>>2]=(c[M>>2]|0)+(c[R>>2]|0);a=(c[T>>2]|0)+(c[51952+(c[ca>>2]>>16<<2)>>2]|0)|0;if(c[S>>2]&4)a=(a|0)>4095?0:a^4095;c[U>>2]=a;a=(c[W>>2]|0)+(c[51952+(c[h>>2]>>16<<2)>>2]|0)|0;if(c[V>>2]&4)a=(a|0)>4095?0:a^4095;c[X>>2]=a;a=(c[Z>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[Y>>2]&4)a=(a|0)>4095?0:a^4095;c[_>>2]=a;a=(c[aa>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[$>>2]&4)a=(a|0)>4095?0:a^4095;c[k>>2]=a;i=(c[ca>>2]|0)+(c[l>>2]|0)|0;c[ca>>2]=i;if((i|0)>=(c[m>>2]|0))wa[c[14e3+(c[p>>2]<<2)>>2]&31](ba);i=(c[h>>2]|0)+(c[n>>2]|0)|0;c[h>>2]=i;if((i|0)>=(c[o>>2]|0))wa[c[14e3+(c[s>>2]<<2)>>2]&31](F);i=(c[f>>2]|0)+(c[q>>2]|0)|0;c[f>>2]=i;if((i|0)>=(c[r>>2]|0))wa[c[14e3+(c[v>>2]<<2)>>2]&31](I);i=(c[g>>2]|0)+(c[t>>2]|0)|0;c[g>>2]=i;if((i|0)>=(c[u>>2]|0))wa[c[14e3+(c[z>>2]<<2)>>2]&31](L);c[E>>2]=(c[E>>2]|0)+((c[w>>2]|0)+(c[b>>2]|0)>>c[x>>2]);i=c[b>>2]|0;c[w>>2]=i;c[b>>2]=c[(c[84752+(((c[E>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[U>>2]<<2)>>2];i=(c[(c[84752+(((c[N>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[k>>2]<<2)>>2]|0)+i+(c[(c[84752+(((c[H>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[X>>2]<<2)>>2]|0)+(c[(c[84752+(((c[K>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[_>>2]<<2)>>2]|0)|0;a=i>>15;c[y>>2]=a;if((i|0)<=402653183){if((i|0)<-402620416){a=-12287;da=26}}else{a=12287;da=26}if((da|0)==26){da=0;c[y>>2]=a}i=(c[d>>2]|0)+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+(c[A>>2]&a);i=(c[C>>2]|0)+(j<<2)|0;c[i>>2]=(c[i>>2]|0)+(c[B>>2]&c[y>>2]);j=j+1|0}while((j|0)<(e|0));return}function Vb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[51952+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[51952+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[84752+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[m>>2]|0)+g|0;c[m>>2]=g;g=(c[p>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;c[p>>2]=g;g=(c[r>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[r>>2]=g;g=c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Wb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[51952+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[51952+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[84752+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+g+(c[p>>2]|0)|0;c[p>>2]=g;g=(c[r>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)|0;c[r>>2]=g;g=c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Xb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[51952+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[51952+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);c[ca>>2]=c[b>>2];c[b>>2]=c[(c[84752+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[p>>2]|0)+(c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)|0;c[p>>2]=g;g=(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)+(c[ca>>2]|0)+(c[r>>2]|0)|0;c[r>>2]=g;g=c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Yb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;N=b+420|0;Y=b+480|0;if(!((c[Y>>2]|0)!=536870912&(e|0)>0))return;ja=b+96|0;i=b+144|0;j=a+7400|0;k=b+312|0;l=b+360|0;m=a+7404|0;n=b+204|0;o=b+252|0;p=a+7408|0;q=b+468|0;r=a+7412|0;s=b+40|0;t=b+148|0;u=b+364|0;v=b+256|0;w=b+472|0;x=b+124|0;y=b+156|0;z=b+108|0;A=b+196|0;B=a+7416|0;C=b+340|0;D=b+372|0;E=b+324|0;F=b+412|0;G=a+7420|0;H=b+232|0;I=b+264|0;J=b+216|0;K=b+304|0;L=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Z=b+272|0;_=b+368|0;$=b+484|0;aa=b+488|0;ba=b+260|0;ca=b+4|0;da=b+36|0;ea=b+20|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;ia=b+476|0;h=0;do{c[j>>2]=c[i>>2];c[m>>2]=c[l>>2];c[p>>2]=c[o>>2];c[r>>2]=c[q>>2];f=(M(c[a+6376+(h<<2)>>2]|0,c[s>>2]|0)|0)>>9;g=c[t>>2]|0;if(!f){c[i>>2]=(c[i>>2]|0)+g;c[l>>2]=(c[l>>2]|0)+(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[v>>2]|0);f=(c[q>>2]|0)+(c[w>>2]|0)|0}else{g=((M(f,g)|0)>>9)+g|0;c[i>>2]=g+(c[i>>2]|0);g=c[u>>2]|0;la=(M(g,f)|0)>>9;c[l>>2]=(c[l>>2]|0)+g+la;la=c[v>>2]|0;g=(M(la,f)|0)>>9;c[o>>2]=(c[o>>2]|0)+la+g;g=c[w>>2]|0;f=(M(g,f)|0)>>9;f=(c[q>>2]|0)+g+f|0}c[q>>2]=f;g=c[a+5352+(h<<2)>>2]|0;f=(c[z>>2]|0)+(c[51952+(c[y>>2]>>16<<2)>>2]|0)|0;if(c[x>>2]&4){c[B>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=9}}else ka=9;if((ka|0)==9){ka=0;f=(g>>c[A>>2])+f|0}c[B>>2]=f;f=(c[E>>2]|0)+(c[51952+(c[D>>2]>>16<<2)>>2]|0)|0;if(c[C>>2]&4){c[G>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;f=(g>>c[F>>2])+f|0}c[G>>2]=f;f=(c[J>>2]|0)+(c[51952+(c[I>>2]>>16<<2)>>2]|0)|0;if(c[H>>2]&4){c[L>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;f=(g>>c[K>>2])+f|0}c[L>>2]=f;f=(c[P>>2]|0)+(c[51952+(c[Y>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=f;if((f|0)>4095)f=0;else{f=f^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;f=(g>>c[Q>>2])+f|0}c[R>>2]=f;la=(c[y>>2]|0)+(c[S>>2]|0)|0;c[y>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](ja);la=(c[D>>2]|0)+(c[U>>2]|0)|0;c[D>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[_>>2]<<2)>>2]&31](k);la=(c[I>>2]|0)+(c[X>>2]|0)|0;c[I>>2]=la;if((la|0)>=(c[Z>>2]|0))wa[c[14e3+(c[ba>>2]<<2)>>2]&31](n);la=(c[Y>>2]|0)+(c[$>>2]|0)|0;c[Y>>2]=la;if((la|0)>=(c[aa>>2]|0))wa[c[14e3+(c[ia>>2]<<2)>>2]&31](N);c[j>>2]=(c[j>>2]|0)+((c[ca>>2]|0)+(c[b>>2]|0)>>c[da>>2]);g=c[b>>2]|0;c[ca>>2]=g;c[b>>2]=c[(c[84752+(((c[j>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[B>>2]<<2)>>2];g=(c[m>>2]|0)+g|0;c[m>>2]=g;g=(c[(c[84752+(((c[p>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[L>>2]<<2)>>2]|0)+(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[G>>2]<<2)>>2]|0)+(c[r>>2]|0)|0;c[r>>2]=g;g=c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]>>15;c[ea>>2]=g;la=(c[d>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(h<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[ea>>2]);h=h+1|0}while((h|0)!=(e|0));return}function Zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;do if((c[ja>>2]|0)==536870912){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else if((e|0)>0){f=b+480|0;break}else return;while(0);j=b+96|0;k=b+144|0;l=a+7400|0;m=b+360|0;n=a+7404|0;o=b+204|0;p=b+252|0;q=a+7408|0;r=b+420|0;s=b+468|0;t=a+7412|0;u=b+40|0;v=b+148|0;w=b+364|0;x=b+256|0;y=b+472|0;z=b+124|0;A=b+156|0;B=b+108|0;C=b+196|0;D=a+7416|0;E=b+340|0;F=b+324|0;G=b+412|0;H=a+7420|0;I=b+232|0;J=b+264|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;i=0;do{c[l>>2]=c[k>>2];c[n>>2]=c[m>>2];c[q>>2]=c[p>>2];c[t>>2]=c[s>>2];g=(M(c[a+6376+(i<<2)>>2]|0,c[u>>2]|0)|0)>>9;h=c[v>>2]|0;if(!g){c[k>>2]=(c[k>>2]|0)+h;c[m>>2]=(c[m>>2]|0)+(c[w>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[x>>2]|0);g=(c[s>>2]|0)+(c[y>>2]|0)|0}else{h=((M(g,h)|0)>>9)+h|0;c[k>>2]=h+(c[k>>2]|0);h=c[w>>2]|0;la=(M(h,g)|0)>>9;c[m>>2]=(c[m>>2]|0)+h+la;la=c[x>>2]|0;h=(M(la,g)|0)>>9;c[p>>2]=(c[p>>2]|0)+la+h;h=c[y>>2]|0;g=(M(h,g)|0)>>9;g=(c[s>>2]|0)+h+g|0}c[s>>2]=g;h=c[a+5352+(i<<2)>>2]|0;g=(c[B>>2]|0)+(c[51952+(c[A>>2]>>16<<2)>>2]|0)|0;if(c[z>>2]&4){c[D>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=12}}else ka=12;if((ka|0)==12){ka=0;g=(h>>c[C>>2])+g|0}c[D>>2]=g;g=(c[F>>2]|0)+(c[51952+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[E>>2]&4){c[H>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=16}}else ka=16;if((ka|0)==16){ka=0;g=(h>>c[G>>2])+g|0}c[H>>2]=g;g=(c[K>>2]|0)+(c[51952+(c[J>>2]>>16<<2)>>2]|0)|0;if(c[I>>2]&4){c[N>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=20}}else ka=20;if((ka|0)==20){ka=0;g=(h>>c[L>>2])+g|0}c[N>>2]=g;g=(c[P>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=g;if((g|0)>4095)g=0;else{g=g^4095;ka=24}}else ka=24;if((ka|0)==24){ka=0;g=(h>>c[Q>>2])+g|0}c[R>>2]=g;la=(c[A>>2]|0)+(c[S>>2]|0)|0;c[A>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](j);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[J>>2]|0)+(c[X>>2]|0)|0;c[J>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](o);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](r);c[l>>2]=(c[l>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);g=c[b>>2]|0;c[ba>>2]=g;c[b>>2]=c[(c[84752+(((c[l>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[D>>2]<<2)>>2];g=(c[n>>2]|0)+g|0;c[n>>2]=g;h=(c[t>>2]|0)+(c[(c[84752+(((c[q>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;c[t>>2]=h;h=(c[(c[84752+((g>>>14&4095)<<2)>>2]|0)+(c[H>>2]<<2)>>2]|0)+(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)|0;g=h>>15;c[da>>2]=g;if((h|0)<=402653183){if((h|0)<-402620416){g=-12287;ka=35}}else{g=12287;ka=35}if((ka|0)==35){ka=0;c[da>>2]=g}la=(c[d>>2]|0)+(i<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&g);la=(c[ha>>2]|0)+(i<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);i=i+1|0}while((i|0)<(e|0));return}function _b(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,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,J=0,K=0,L=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;ia=b+312|0;ja=b+372|0;if((c[ja>>2]|0)==536870912?(g=b+264|0,(c[g>>2]|0)==536870912):0){f=b+480|0;if(!((c[f>>2]|0)!=536870912&(e|0)>0))return}else ka=4;do if((ka|0)==4)if((e|0)>0){f=b+480|0;g=b+264|0;break}else return;while(0);k=b+96|0;l=b+144|0;m=a+7400|0;n=b+360|0;o=a+7404|0;p=b+204|0;q=b+252|0;r=a+7408|0;s=b+420|0;t=b+468|0;u=a+7412|0;v=b+40|0;w=b+148|0;x=b+364|0;y=b+256|0;z=b+472|0;A=b+124|0;B=b+156|0;C=b+108|0;D=b+196|0;E=a+7416|0;F=b+340|0;G=b+324|0;H=b+412|0;I=a+7420|0;J=b+232|0;K=b+216|0;L=b+304|0;N=a+7424|0;O=b+448|0;P=b+432|0;Q=b+520|0;R=a+7428|0;S=b+160|0;T=b+164|0;U=b+376|0;V=b+380|0;W=b+152|0;X=b+268|0;Y=b+272|0;Z=b+368|0;_=b+484|0;$=b+488|0;aa=b+260|0;ba=b+4|0;ca=b+36|0;da=b+20|0;ea=b+476|0;fa=b+24|0;ga=b+28|0;ha=d+4|0;j=0;do{c[m>>2]=c[l>>2];c[o>>2]=c[n>>2];c[r>>2]=c[q>>2];c[u>>2]=c[t>>2];h=(M(c[a+6376+(j<<2)>>2]|0,c[v>>2]|0)|0)>>9;i=c[w>>2]|0;if(!h){c[l>>2]=(c[l>>2]|0)+i;c[n>>2]=(c[n>>2]|0)+(c[x>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[y>>2]|0);h=(c[t>>2]|0)+(c[z>>2]|0)|0}else{i=((M(h,i)|0)>>9)+i|0;c[l>>2]=i+(c[l>>2]|0);i=c[x>>2]|0;la=(M(i,h)|0)>>9;c[n>>2]=(c[n>>2]|0)+i+la;la=c[y>>2]|0;i=(M(la,h)|0)>>9;c[q>>2]=(c[q>>2]|0)+la+i;i=c[z>>2]|0;h=(M(i,h)|0)>>9;h=(c[t>>2]|0)+i+h|0}c[t>>2]=h;i=c[a+5352+(j<<2)>>2]|0;h=(c[C>>2]|0)+(c[51952+(c[B>>2]>>16<<2)>>2]|0)|0;if(c[A>>2]&4){c[E>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=13}}else ka=13;if((ka|0)==13){ka=0;h=(i>>c[D>>2])+h|0}c[E>>2]=h;h=(c[G>>2]|0)+(c[51952+(c[ja>>2]>>16<<2)>>2]|0)|0;if(c[F>>2]&4){c[I>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=17}}else ka=17;if((ka|0)==17){ka=0;h=(i>>c[H>>2])+h|0}c[I>>2]=h;h=(c[K>>2]|0)+(c[51952+(c[g>>2]>>16<<2)>>2]|0)|0;if(c[J>>2]&4){c[N>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=21}}else ka=21;if((ka|0)==21){ka=0;h=(i>>c[L>>2])+h|0}c[N>>2]=h;h=(c[P>>2]|0)+(c[51952+(c[f>>2]>>16<<2)>>2]|0)|0;if(c[O>>2]&4){c[R>>2]=h;if((h|0)>4095)h=0;else{h=h^4095;ka=25}}else ka=25;if((ka|0)==25){ka=0;h=(i>>c[Q>>2])+h|0}c[R>>2]=h;la=(c[B>>2]|0)+(c[S>>2]|0)|0;c[B>>2]=la;if((la|0)>=(c[T>>2]|0))wa[c[14e3+(c[W>>2]<<2)>>2]&31](k);la=(c[ja>>2]|0)+(c[U>>2]|0)|0;c[ja>>2]=la;if((la|0)>=(c[V>>2]|0))wa[c[14e3+(c[Z>>2]<<2)>>2]&31](ia);la=(c[g>>2]|0)+(c[X>>2]|0)|0;c[g>>2]=la;if((la|0)>=(c[Y>>2]|0))wa[c[14e3+(c[aa>>2]<<2)>>2]&31](p);la=(c[f>>2]|0)+(c[_>>2]|0)|0;c[f>>2]=la;if((la|0)>=(c[$>>2]|0))wa[c[14e3+(c[ea>>2]<<2)>>2]&31](s);c[m>>2]=(c[m>>2]|0)+((c[ba>>2]|0)+(c[b>>2]|0)>>c[ca>>2]);la=c[b>>2]|0;c[ba>>2]=la;c[b>>2]=c[(c[84752+(((c[m>>2]|0)>>>14&4095)<<2)>>2]|0)+(c[E>>2]<<2)>>2];la=(c[o>>2]|0)+la|0;c[o>>2]=la;i=(c[r>>2]|0)+(c[ba>>2]|0)|0;c[r>>2]=i;h=(c[u>>2]|0)+(c[ba>>2]|0)|0;c[u>>2]=h;i=(c[(c[84752+((la>>>14&4095)<<2)>>2]|0)+(c[I>>2]<<2)>>2]|0)+(c[(c[84752+((h>>>14&4095)<<2)>>2]|0)+(c[R>>2]<<2)>>2]|0)+(c[(c[84752+((i>>>14&4095)<<2)>>2]|0)+(c[N>>2]<<2)>>2]|0)|0;h=i>>15;c[da>>2]=h;if((i|0)<=402653183){if((i|0)<-402620416){h=-12287;ka=36}}else{h=12287;ka=36}if((ka|0)==36){ka=0;c[da>>2]=h}la=(c[d>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[fa>>2]&h);la=(c[ha>>2]|0)+(j<<2)|0;c[la>>2]=(c[la>>2]|0)+(c[ga>>2]&c[da>>2]);j=j+1|0}while((j|0)<(e|0));return} +function Hy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=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;x=k;k=k+16|0;o=x;do if(a>>>0<245){l=a>>>0<11?16:a+11&-8;a=l>>>3;n=c[854072]|0;d=n>>>a;if(d&3|0){b=(d&1^1)+a|0;a=3416328+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[854072]=n&~(1<>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;k=x;return w|0}m=c[854074]|0;if(l>>>0>m>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=3416328+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=n&~(1<>2]=b;c[a>>2]=d;a=n}w=e<<3;h=w-l|0;c[g+4>>2]=l|3;f=g+l|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(m|0){e=c[854077]|0;b=m>>>3;d=3416328+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[854074]=h;c[854077]=f;w=i;k=x;return w|0}g=c[854073]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[3416592+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-l|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-l|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+l|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=3416592+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[854073]=g&~(1<>2]|0)==(i|0)?w:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){w=j+l|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=l|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(m|0){e=c[854077]|0;b=m>>>3;d=3416328+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[854074]=j;c[854077]=h}w=i+8|0;k=x;return w|0}else n=l}else n=l}else n=l}else if(a>>>0<=4294967231){a=a+11|0;l=a&-8;e=c[854073]|0;if(e){f=0-l|0;a=a>>>8;if(a)if(l>>>0>16777215)j=31;else{n=(a+1048320|0)>>>16&8;s=a<>>16&4;s=s<>>16&2;j=14-(i|n|j)+(s<>>15)|0;j=l>>>(j+7|0)&1|j<<1}else j=0;d=c[3416592+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;s=61}else{a=0;i=l<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-l|0;if(h>>>0>>0)if(!h){a=d;f=0;s=65;break a}else{a=d;f=h}s=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(s|0)==0|(s|0)==(d|0)?g:s;if(!d){d=g;s=61;break}else i=i<<1}}while(0);if((s|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;n=n>>>h;g=n>>>5&8;n=n>>>g;i=n>>>2&4;n=n>>>i;j=n>>>1&2;n=n>>>j;d=n>>>1&1;a=0;d=c[3416592+((g|h|i|j|d)+(n>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else s=65}if((s|0)==65){g=d;while(1){n=(c[g+4>>2]&-8)-l|0;d=n>>>0>>0;f=d?n:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[854074]|0)-l|0)>>>0:0)?(m=i+l|0,m>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(g){a=c[i+28>>2]|0;d=3416592+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?w:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){w=h+l|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}else{c[i+4>>2]=l|3;c[m+4>>2]=h|1;c[m+h>>2]=h;b=h>>>3;if(h>>>0<256){d=3416328+(b<<1<<2)|0;a=c[854072]|0;b=1<>2]|0}c[a>>2]=m;c[b+12>>2]=m;c[m+8>>2]=b;c[m+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;d=14-(u|v|d)+(w<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=3416592+(d<<2)|0;c[m+28>>2]=d;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=m;c[m+24>>2]=b;c[m+12>>2]=m;c[m+8>>2]=m;break b}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=m;c[v>>2]=m;c[m+8>>2]=w;c[m+12>>2]=b;c[m+24>>2]=0}while(0);w=i+8|0;k=x;return w|0}else n=l}else n=l}else n=-1;while(0);d=c[854074]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[854077]|0;if(b>>>0>15){w=a+n|0;c[854077]=w;c[854074]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[854074]=0;c[854077]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;k=x;return w|0}h=c[854075]|0;if(h>>>0>n>>>0){u=h-n|0;c[854075]=u;w=c[854078]|0;v=w+n|0;c[854078]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;k=x;return w|0}if(!(c[854190]|0)){c[854192]=4096;c[854191]=4096;c[854193]=-1;c[854194]=-1;c[854195]=0;c[854183]=0;c[854190]=o&-16^1431655768;a=4096}else a=c[854192]|0;i=n+48|0;j=n+47|0;g=a+j|0;f=0-a|0;l=g&f;if(l>>>0<=n>>>0){w=0;k=x;return w|0}a=c[854182]|0;if(a|0?(m=c[854180]|0,o=m+l|0,o>>>0<=m>>>0|o>>>0>a>>>0):0){w=0;k=x;return w|0}d:do if(!(c[854183]&4)){d=c[854078]|0;e:do if(d){e=3416736;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(r=e+4|0,(a+(c[r>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){s=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=RA(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[r>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;s=145;break d}}else{e=a;s=136}}else b=0}else s=128;while(0);do if((s|0)==128){d=RA(0)|0;if((d|0)!=(-1|0)?(b=d,p=c[854191]|0,q=p+-1|0,b=((q&b|0)==0?0:(q+b&0-p)-b|0)+l|0,p=c[854180]|0,q=b+p|0,b>>>0>n>>>0&b>>>0<2147483647):0){r=c[854182]|0;if(r|0?q>>>0<=p>>>0|q>>>0>r>>>0:0){b=0;break}a=RA(b|0)|0;if((a|0)==(d|0)){h=b;g=d;s=145;break d}else{e=a;s=136}}else b=0}while(0);do if((s|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;s=145;break d}a=c[854192]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;s=145;break d}if((RA(a|0)|0)==(-1|0)){RA(d|0)|0;b=0;break}else{h=a+b|0;g=e;s=145;break d}}while(0);c[854183]=c[854183]|4;s=143}else{b=0;s=143}while(0);if(((s|0)==143?l>>>0<2147483647:0)?(v=RA(l|0)|0,r=RA(0)|0,t=r-v|0,u=t>>>0>(n+40|0)>>>0,!((v|0)==(-1|0)|u^1|v>>>0>>0&((v|0)!=(-1|0)&(r|0)!=(-1|0))^1)):0){h=u?t:b;g=v;s=145}if((s|0)==145){b=(c[854180]|0)+h|0;c[854180]=b;if(b>>>0>(c[854181]|0)>>>0)c[854181]=b;j=c[854078]|0;f:do if(j){b=3416736;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){s=154;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((s|0)==154?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[854075]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[854078]=v;c[854075]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[854079]=c[854194];break}if(g>>>0<(c[854076]|0)>>>0)c[854076]=g;d=g+h|0;b=3416736;while(1){if((c[b>>2]|0)==(d|0)){s=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((s|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;l=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;g:do if((j|0)==(b|0)){w=(c[854075]|0)+i|0;c[854075]=w;c[854078]=l;c[l+4>>2]=w|1}else{if((c[854077]|0)==(b|0)){w=(c[854074]|0)+i|0;c[854074]=w;c[854077]=l;c[l+4>>2]=w|1;c[l+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[854072]=c[854072]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=3416592+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){w=g+16|0;c[((c[w>>2]|0)==(b|0)?w:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[854073]=c[854073]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[l+4>>2]=f|1;c[l+f>>2]=f;b=f>>>3;if(f>>>0<256){d=3416328+(b<<1<<2)|0;a=c[854072]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;e=14-(u|v|e)+(w<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=3416592+(e<<2)|0;c[l+28>>2]=e;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[854073]|0;d=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break g}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=l;c[v>>2]=l;c[l+8>>2]=w;c[l+12>>2]=b;c[l+24>>2]=0}while(0);w=m+8|0;k=x;return w|0}b=3416736;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(w=a+(c[b+4>>2]|0)|0,w>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[854078]=v;c[854075]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[854079]=c[854194];d=a+4|0;c[d>>2]=27;c[b>>2]=c[854184];c[b+4>>2]=c[854185];c[b+8>>2]=c[854186];c[b+12>>2]=c[854187];c[854184]=g;c[854185]=h;c[854187]=0;c[854186]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=3416328+(b<<1<<2)|0;a=c[854072]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;e=14-(u|v|e)+(w<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=3416592+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[854073]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);v=b+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=b;c[j+24>>2]=0}}else{w=c[854076]|0;if((w|0)==0|g>>>0>>0)c[854076]=g;c[854184]=g;c[854185]=h;c[854187]=0;c[854081]=c[854190];c[854080]=-1;c[854085]=3416328;c[854084]=3416328;c[854087]=3416336;c[854086]=3416336;c[854089]=3416344;c[854088]=3416344;c[854091]=3416352;c[854090]=3416352;c[854093]=3416360;c[854092]=3416360;c[854095]=3416368;c[854094]=3416368;c[854097]=3416376;c[854096]=3416376;c[854099]=3416384;c[854098]=3416384;c[854101]=3416392;c[854100]=3416392;c[854103]=3416400;c[854102]=3416400;c[854105]=3416408;c[854104]=3416408;c[854107]=3416416;c[854106]=3416416;c[854109]=3416424;c[854108]=3416424;c[854111]=3416432;c[854110]=3416432;c[854113]=3416440;c[854112]=3416440;c[854115]=3416448;c[854114]=3416448;c[854117]=3416456;c[854116]=3416456;c[854119]=3416464;c[854118]=3416464;c[854121]=3416472;c[854120]=3416472;c[854123]=3416480;c[854122]=3416480;c[854125]=3416488;c[854124]=3416488;c[854127]=3416496;c[854126]=3416496;c[854129]=3416504;c[854128]=3416504;c[854131]=3416512;c[854130]=3416512;c[854133]=3416520;c[854132]=3416520;c[854135]=3416528;c[854134]=3416528;c[854137]=3416536;c[854136]=3416536;c[854139]=3416544;c[854138]=3416544;c[854141]=3416552;c[854140]=3416552;c[854143]=3416560;c[854142]=3416560;c[854145]=3416568;c[854144]=3416568;c[854147]=3416576;c[854146]=3416576;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[854078]=v;c[854075]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[854079]=c[854194]}while(0);b=c[854075]|0;if(b>>>0>n>>>0){u=b-n|0;c[854075]=u;w=c[854078]|0;v=w+n|0;c[854078]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;k=x;return w|0}}c[854212]=12;w=0;k=x;return w|0}function Iy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[854076]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[854077]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[854074]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[854072]=c[854072]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=3416592+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[854073]=c[854073]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[854078]|0)==(j|0)){j=(c[854075]|0)+b|0;c[854075]=j;c[854078]=i;c[i+4>>2]=j|1;if((i|0)!=(c[854077]|0))return;c[854077]=0;c[854074]=0;return}if((c[854077]|0)==(j|0)){j=(c[854074]|0)+b|0;c[854074]=j;c[854077]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[854072]=c[854072]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=3416592+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[854073]=c[854073]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[854077]|0)){c[854074]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=3416328+(a<<1<<2)|0;b=c[854072]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=3416592+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[854073]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[854080]|0)+-1|0;c[854080]=j;if(j|0)return;a=3416744;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[854080]=-1;return}function Jy(){var a=0;a=Hy(3744)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;QA(a|0,0,3744)|0;return a|0}function Ky(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=Hy(b)|0;return b|0}if(b>>>0>4294967231){c[854212]=12;b=0;return b|0}d=Ly(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=Hy(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;PA(d|0,a|0,(e>>>0>>0?e:b)|0)|0;Iy(a);b=d;return b|0}function Ly(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[854192]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;My(k,d);return a|0}if((c[854078]|0)==(i|0)){k=(c[854075]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[854078]=e;c[854075]=d;return a|0}if((c[854077]|0)==(i|0)){e=(c[854074]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[854074]=d;c[854077]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[854072]=c[854072]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=3416592+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[854073]=c[854073]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;My(i,k);return a|0}return 0}function My(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[854077]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[854074]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[854072]=c[854072]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=3416592+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[854073]=c[854073]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[854078]|0)==(i|0)){i=(c[854075]|0)+b|0;c[854075]=i;c[854078]=h;c[h+4>>2]=i|1;if((h|0)!=(c[854077]|0))return;c[854077]=0;c[854074]=0;return}if((c[854077]|0)==(i|0)){i=(c[854074]|0)+b|0;c[854074]=i;c[854077]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[854072]=c[854072]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=3416592+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[854073]=c[854073]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[854077]|0)){c[854074]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=3416328+(b<<1<<2)|0;a=c[854072]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=3416592+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[854073]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function Ny(a){a=a|0;var b=0,d=0;b=k;k=k+16|0;d=b;c[d>>2]=Sy(c[a+60>>2]|0)|0;a=Qy(ia(6,d|0)|0)|0;k=b;return a|0}function Oy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=k;k=k+48|0;l=n+32|0;g=n+16|0;f=n;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=Qy(ea(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[l>>2]=c[h>>2];c[l+4>>2]=f;c[l+8>>2]=b;g=Qy(ea(146,l|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}k=n;return d|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=k;k=k+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Qy(ca(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;k=f;return a|0}function Qy(a){a=a|0;if(a>>>0>4294963200){c[854212]=0-a;a=-1}return a|0}function Ry(){return 3416848}function Sy(a){a=a|0;return a|0}function Ty(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=k;k=k+32|0;f=l+16|0;i=l;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=Qy(da(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;k=l;return f|0}function Uy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=k;k=k+32|0;f=g;c[b+36>>2]=1;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,ha(54,f|0)|0):0)a[b+75>>0]=-1;f=Oy(b,d,e)|0;k=g;return f|0}function Vy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=k;k=k+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;Wy(h);d=Xy(h,d,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));k=j;return d|0}function Wy(a){a=a|0;var b=0;c[a+104>>2]=0;b=c[a+8>>2]|0;c[a+108>>2]=b-(c[a+4>>2]|0);c[a+100>>2]=b;return}function Xy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[854212]=22;g=0;f=0}else{q=b+4|0;r=b+100|0;do{h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0}while((Zy(h)|0)!=0);b:do switch(h|0){case 43:case 45:{h=((h|0)==45)<<31>>31;i=c[q>>2]|0;if(i>>>0<(c[r>>2]|0)>>>0){c[q>>2]=i+1;p=h;h=d[i>>0]|0;break b}else{p=h;h=Yy(b)|0;break b}}default:p=0}while(0);i=(e|0)==0;do if((e|16|0)==16&(h|0)==48){h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;if((h|32|0)!=120)if(i){i=8;n=43;break}else{i=e;n=28;break}h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;if((d[44993+h>>0]|0)>15){if(!(c[r>>2]|0)){g=0;f=0;break a}c[q>>2]=(c[q>>2]|0)+-2;g=0;f=0;break a}else{i=16;n=43}}else{i=i?10:e;if(i>>>0>(d[44993+h>>0]|0)>>>0)n=28;else{if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;Wy(b);c[854212]=22;g=0;f=0;break a}}while(0);c:do if((n|0)==28)if((i|0)==10){h=h+-48|0;if(h>>>0<10){e=0;j=h;do{e=(e*10|0)+j|0;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;j=h+-48|0;i=j>>>0<10}while(i&e>>>0<429496729);if(i){m=e;e=0;do{i=JA(m|0,e|0,10,0)|0;k=x;l=((j|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&i>>>0>~j>>>0){i=10;k=m;n=72;break c}m=DA(i|0,k|0,j|0,l|0)|0;e=x;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;j=h+-48|0}while(j>>>0<10&(e>>>0<429496729|(e|0)==429496729&m>>>0<2576980378));if(j>>>0>9){j=p;i=e;h=m}else{i=10;k=m;n=72}}else{j=p;i=0;h=e}}else{j=p;i=0;h=0}}else n=43;while(0);d:do if((n|0)==43){if(!(i+-1&i)){o=a[51872+((i*23|0)>>>5&7)>>0]|0;j=a[44993+h>>0]|0;e=j&255;if(i>>>0>e>>>0){k=0;do{k=e|k<>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;j=a[44993+h>>0]|0;e=j&255}while(k>>>0<134217728&i>>>0>e>>>0);l=e;e=0}else{l=e;e=0;k=0}m=MA(-1,-1,o|0)|0;n=x;if(i>>>0<=l>>>0|(n>>>0>>0|(n|0)==(e|0)&m>>>0>>0)){n=72;break}while(1){k=NA(k|0,e|0,o|0)|0;e=x;k=k|j&255;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;j=a[44993+h>>0]|0;if(i>>>0<=(j&255)>>>0|(e>>>0>n>>>0|(e|0)==(n|0)&k>>>0>m>>>0)){n=72;break d}}}e=a[44993+h>>0]|0;j=e&255;if(i>>>0>j>>>0){k=0;do{k=j+(M(k,i)|0)|0;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;e=a[44993+h>>0]|0;j=e&255}while(k>>>0<119304647&i>>>0>j>>>0);l=0}else{k=0;l=0}if(i>>>0>j>>>0){n=KA(-1,-1,i|0,0)|0;o=x;m=l;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&k>>>0>n>>>0){e=m;n=72;break d}j=JA(k|0,m|0,i|0,0)|0;l=x;e=e&255;if(l>>>0>4294967295|(l|0)==-1&j>>>0>~e>>>0){e=m;n=72;break d}k=DA(j|0,l|0,e|0,0)|0;j=x;h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0;e=a[44993+h>>0]|0;if(i>>>0<=(e&255)>>>0){e=j;n=72;break}else m=j}}else{e=l;n=72}}while(0);if((n|0)==72)if(i>>>0>(d[44993+h>>0]|0)>>>0){do{h=c[q>>2]|0;if(h>>>0<(c[r>>2]|0)>>>0){c[q>>2]=h+1;h=d[h>>0]|0}else h=Yy(b)|0}while(i>>>0>(d[44993+h>>0]|0)>>>0);c[854212]=34;j=(f&1|0)==0&0==0?p:0;i=g;h=f}else{j=p;i=e;h=k}if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if(!(i>>>0>>0|(i|0)==(g|0)&h>>>0>>0)){if(!((f&1|0)!=0|0!=0|(j|0)!=0)){c[854212]=34;f=DA(f|0,g|0,-1,-1)|0;g=x;break}if(i>>>0>g>>>0|(i|0)==(g|0)&h>>>0>f>>>0){c[854212]=34;break}}f=((j|0)<0)<<31>>31;f=EA(h^j|0,i^f|0,j|0,f|0)|0;g=x}while(0);x=g;return f|0}function Yy(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=_y(b)|0;if((e|0)>=0){f=c[f>>2]|0;j=c[b+8>>2]|0;if(f){g=b+4|0;i=c[g>>2]|0;h=f-(c[b+108>>2]|0)|0;f=j;if((j-i|0)<(h|0))k=9;else c[b+100>>2]=i+(h+-1)}else{g=b+4|0;f=j;k=9}if((k|0)==9)c[b+100>>2]=j;if(!f)f=c[g>>2]|0;else{j=c[g>>2]|0;b=b+108|0;c[b>>2]=f+1-j+(c[b>>2]|0);f=j}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function Zy(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function _y(a){a=a|0;var b=0,e=0;e=k;k=k+16|0;b=e;if(($y(a)|0)==0?(va[c[a+32>>2]&7](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;k=e;return a|0}function $y(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)va[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function az(a,b,c){a=a|0;b=b|0;c=c|0;c=Vy(a,b,c,-1,0)|0;return c|0}function bz(a,b){a=a|0;b=b|0;b=Vy(a,b,0,-2147483648,0)|0;return b|0}function cz(a){a=a|0;var b=0;b=(dz(a)|0)==0;return (b?a:a&95)|0}function dz(a){a=a|0;return (a+-97|0)>>>0<26|0}function ez(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function fz(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function gz(a){a=a|0;return (a+-48|0)>>>0<10|0}function hz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=k;k=k+128|0;l=p+124|0;m=p;n=m;q=49020;r=n+124|0;do{c[n>>2]=c[q>>2];n=n+4|0;q=q+4|0}while((n|0)<(r|0));if((d+-1|0)>>>0>2147483646)if(!d){g=l;h=1;o=4}else c[854212]=75;else{g=b;h=d;o=4}if((o|0)==4?(r=-2-g|0,r=h>>>0>r>>>0?r:h,c[m+48>>2]=r,i=m+20|0,c[i>>2]=g,c[m+44>>2]=g,q=g+r|0,j=m+16|0,c[j>>2]=q,c[m+28>>2]=q,iz(m,e,f)|0,r|0):0){r=c[i>>2]|0;a[r+(((r|0)==(c[j>>2]|0))<<31>>31)>>0]=0}k=p;return}function iz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=k;k=k+224|0;n=r+208|0;o=r+160|0;p=r+80|0;q=r;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((jz(0,d,n,p,o)|0)<0)e=-1;else{e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=q;i=b+28|0;c[i>>2]=q;j=b+20|0;c[j>>2]=q;c[f>>2]=80;l=b+16|0;c[l>>2]=q+80;e=jz(b,d,n,p,o)|0;if(h){va[c[b+36>>2]&7](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[l>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=jz(b,d,n,p,o)|0;q=c[b>>2]|0;c[b>>2]=q|m;e=(q&32|0)==0?e:-1}k=r;return e|0}function jz(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=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,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=k;k=k+64|0;C=G+56|0;D=G+40|0;A=G;E=G+48|0;F=G+60|0;c[C>>2]=e;w=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=E+4|0;j=0;e=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[854212]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[C>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=93;break a}l=r;b:while(1){switch(j<<24>>24){case 37:{v=10;break b}case 0:{j=l;break b}default:{}}u=l+1|0;c[C>>2]=u;j=a[u>>0]|0;l=u}c:do if((v|0)==10){v=0;j=l;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[C>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-r|0;if(w)lz(d,r,j)}while((j|0)!=0);l=c[C>>2]|0;j=a[l+1>>0]|0;if(!(gz(j)|0)){s=-1;p=m;j=1}else{u=(a[l+2>>0]|0)==36;s=u?j+-48|0:-1;p=u?1:m;j=u?3:1}n=l+j|0;c[C>>2]=n;j=a[n>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<>2]=n;j=a[n>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<>24==42){l=o+1|0;j=a[l>>0]|0;if((gz(j)|0)!=0?(a[o+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;j=c[g+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;l=o+3|0}else{if(p|0){e=-1;break}if(w){n=(c[f>>2]|0)+(4-1)&~(4-1);j=c[n>>2]|0;c[f>>2]=n+4;n=0}else{j=0;n=0}}c[C>>2]=l;u=(j|0)<0;t=u?0-j|0:j;m=u?m|8192:m;u=n}else{j=mz(C)|0;if((j|0)<0){e=-1;break}t=j;u=p;l=c[C>>2]|0}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[C>>2]=j;p=mz(C)|0;j=c[C>>2]|0;break}n=l+2|0;j=a[n>>0]|0;if(gz(j)|0?(a[l+3>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;p=c[g+((a[n>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[C>>2]=j;break}if(u|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;c[C>>2]=n;p=j;j=n}else{p=-1;j=l}while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}l=j+1|0;c[C>>2]=l;n=a[(a[j>>0]|0)+-65+(45264+(q*58|0))>>0]|0;o=n&255;if((o+-1|0)>>>0<8){q=o;j=l}else break}if(!(n<<24>>24)){e=-1;break}l=(s|0)>-1;do if(n<<24>>24==19)if(l){e=-1;break a}else v=52;else{if(l){c[i+(s<<2)>>2]=o;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=D;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=52;break}if(!w){e=0;break a}nz(D,o,f);v=53}while(0);if((v|0)==52){v=0;if(w)v=53;else j=0}d:do if((v|0)==53){v=0;j=a[j>>0]|0;j=(q|0)!=0&(j&15|0)==3?j&-33:j;l=m&-65537;s=(m&8192|0)==0?m:l;e:do switch(j|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[D>>2]>>2]=e;j=0;break d}case 1:{c[c[D>>2]>>2]=e;j=0;break d}case 2:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[D>>2]>>1]=e;j=0;break d}case 4:{a[c[D>>2]>>0]=e;j=0;break d}case 6:{c[c[D>>2]>>2]=e;j=0;break d}case 7:{j=c[D>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=120;l=p>>>0>8?p:8;m=s|8;v=65;break}case 88:case 120:{l=p;m=s;v=65;break}case 111:{l=D;j=c[l>>2]|0;l=c[l+4>>2]|0;o=pz(j,l,y)|0;m=z-o|0;q=0;n=51881;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=71;break}case 105:case 100:{l=D;j=c[l>>2]|0;l=c[l+4>>2]|0;if((l|0)<0){j=EA(0,0,j|0,l|0)|0;l=x;m=D;c[m>>2]=j;c[m+4>>2]=l;m=1;n=51881;v=70;break e}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?51881:51883):51882;v=70;break e}}case 117:{l=D;m=0;n=51881;j=c[l>>2]|0;l=c[l+4>>2]|0;v=70;break}case 99:{a[A>>0]=c[D>>2];r=A;q=0;n=51881;o=1;j=z;break}case 109:{j=rz(c[854212]|0)|0;v=75;break}case 115:{j=c[D>>2]|0;j=(j|0)==0?51891:j;v=75;break}case 67:{c[E>>2]=c[D>>2];c[B>>2]=0;c[D>>2]=E;p=-1;m=E;v=80;break}case 83:if(!p){tz(d,32,t,0,s);j=0;v=90;break e}else{m=c[D>>2]|0;v=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=vz(d,+h[D>>3],t,p,s,j)|0;break d}default:{q=0;n=51881;o=p;l=s;j=z}}while(0);f:do if((v|0)==65){s=D;r=c[s>>2]|0;s=c[s+4>>2]|0;o=oz(r,s,y,j&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?51881:51881+(j>>>4)|0;p=l;j=r;l=s;v=71}else if((v|0)==70){o=qz(j,l,y)|0;q=m;m=s;v=71}else if((v|0)==75){v=0;s=sz(j,0,p)|0;m=(s|0)==0;r=j;q=0;n=51881;o=m?p:s-j|0;j=m?j+p|0:s}else if((v|0)==80){v=0;o=m;j=0;while(1){l=c[o>>2]|0;if(!l)break;l=uz(F,l)|0;n=(l|0)<0;if(n|l>>>0>(p-j|0)>>>0){v=84;break}j=l+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((v|0)==84){v=0;if(n){e=-1;break a}}tz(d,32,t,j,s);if(!j){j=0;v=90}else{n=0;while(1){l=c[m>>2]|0;if(!l){v=90;break f}l=uz(F,l)|0;n=l+n|0;if((n|0)>(j|0)){v=90;break f}lz(d,F,l);if(n>>>0>=j>>>0){v=90;break}else m=m+4|0}}}while(0);if((v|0)==71){v=0;l=(j|0)!=0|(l|0)!=0;j=(p|0)!=0|l;l=z-o+((l^1)&1)|0;r=j?o:y;o=j?((p|0)>(l|0)?p:l):0;l=(p|0)>-1?m&-65537:m;j=z}else if((v|0)==90){v=0;tz(d,32,t,j,s^8192);j=(t|0)>(j|0)?t:j;break}p=j-r|0;o=(o|0)<(p|0)?p:o;s=o+q|0;j=(t|0)<(s|0)?s:t;tz(d,32,j,s,l);lz(d,n,q);tz(d,48,j,s,l^65536);tz(d,48,o,p,0);lz(d,r,p);tz(d,32,j,s,l^8192)}while(0);m=u}g:do if((v|0)==93)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;nz(g+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}l=0;while(1){j=e+1|0;if(l|0){e=-1;break g}if(j>>>0>=10){e=1;break g}e=j;l=c[i+(j<<2)>>2]|0}}while(0);k=G;return e|0}function kz(){return 0}function lz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))Fz(b,d,a)|0;return}function mz(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=a[e>>0]|0;if(!(gz(f<<24>>24)|0))d=0;else{d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((gz(f<<24>>24)|0)!=0)}return d|0}function nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function oz(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[45728+(b&15)>>0]|0|f;b=MA(b|0,c|0,4)|0;c=x}while(!((b|0)==0&(c|0)==0));return e|0}function pz(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=MA(b|0,c|0,3)|0;c=x}while(!((b|0)==0&(c|0)==0));return d|0}function qz(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=KA(b|0,c|0,10,0)|0;f=c;c=x;g=JA(b|0,c|0,-10,-1)|0;g=DA(e|0,f|0,g|0,x|0)|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g+(M(c,-10)|0)|48}while(g>>>0>=10);return d|0}function rz(a){a=a|0;return Az(a,c[12333]|0)|0}function sz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24)break a;b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);b:do if((i|0)==5){do if(f){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e)break;else break b;f=M(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e)break;while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function tz(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;g=k;k=k+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){c=c-d|0;QA(f|0,b<<24>>24|0,(c>>>0<256?c:256)|0)|0;if(c>>>0>255){d=c;do{lz(a,f,256);d=d+-256|0}while(d>>>0>255);c=c&255}lz(a,f,c)}k=g;return}function uz(a,b){a=a|0;b=b|0;if(!a)a=0;else a=zz(a,b)|0;return a|0}function vz(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=k;k=k+560|0;m=H+32|0;v=H+536|0;G=H;F=G;n=H+540|0;c[v>>2]=0;E=n+12|0;wz(e)|0;j=x;if((j|0)<0){e=-e;wz(e)|0;D=1;C=51898;j=x}else{D=(h&2049|0)!=0&1;C=(h&2048|0)==0?((h&1|0)==0?51899:51904):51901}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;tz(b,32,f,j,h&-65537);lz(b,C,D);lz(b,e!=e|0.0!=0.0?(G?51940:51925):G?51917:51921,3);tz(b,32,f,j,h^8192)}else{r=+xz(e,v)*2.0;j=r!=0.0;if(j)c[v>>2]=(c[v>>2]|0)+-1;u=i|32;if((u|0)==97){p=i&32;s=(p|0)==0?C:C+9|0;q=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);l=c[v>>2]|0;j=(l|0)<0?0-l|0:l;j=qz(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(l>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;l=(g|0)<1;m=(h&8|0)==0;n=G;do{D=~~e;j=n+1|0;a[n>>0]=p|d[45728+D>>0];e=(e-+(D|0))*16.0;if((j-F|0)==1?!(m&(l&e==0.0)):0){a[j>>0]=46;n=n+2|0}else n=j}while(e!=0.0);if((g|0)!=0?(-2-F+n|0)<(g|0):0){l=E;m=o;j=g+2+l-m|0}else{l=E;m=o;j=l-F-m+n|0}E=j+q|0;tz(b,32,f,E,h);lz(b,s,q);tz(b,48,f,E,h^65536);F=n-F|0;lz(b,G,F);G=l-m|0;tz(b,48,j-(F+G)|0,0,0);lz(b,o,G);tz(b,32,f,E,h^8192);j=E;break}l=(g|0)<0?6:g;if(j){j=(c[v>>2]|0)+-28|0;c[v>>2]=j;e=r*268435456.0}else{e=r;j=c[v>>2]|0}B=(j|0)<0?m:m+288|0;m=B;do{z=~~e>>>0;c[m>>2]=z;m=m+4|0;e=(e-+(z>>>0))*1.0e9}while(e!=0.0);z=B;if((j|0)>0){p=B;while(1){o=(j|0)<29?j:29;j=m+-4|0;if(j>>>0>=p>>>0){n=0;do{t=NA(c[j>>2]|0,0,o|0)|0;t=DA(t|0,x|0,n|0,0)|0;w=x;n=KA(t|0,w|0,1e9,0)|0;y=JA(n|0,x|0,-1e9,-1)|0;y=DA(t|0,w|0,y|0,x|0)|0;c[j>>2]=y;j=j+-4|0}while(j>>>0>=p>>>0);if(n){y=p+-4|0;c[y>>2]=n;n=y}else n=p}else n=p;a:do if(m>>>0>n>>>0){j=m;while(1){m=j+-4|0;if(c[m>>2]|0){m=j;break a}if(m>>>0>n>>>0)j=m;else break}}while(0);j=(c[v>>2]|0)-o|0;c[v>>2]=j;if((j|0)>0)p=n;else break}}else n=B;if((j|0)<0){g=((l+25|0)/9|0)+1|0;t=(u|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0>>0){o=(1<>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=M(y&o,p)|0;j=j+4|0}while(j>>>0>>0);n=(c[n>>2]|0)==0?n+4|0:n;if(q){c[m>>2]=q;m=m+4|0}}else n=(c[n>>2]|0)==0?n+4|0:n;j=t?B:n;m=(m-j>>2|0)>(g|0)?j+(g<<2)|0:m;j=(c[v>>2]|0)+s|0;c[v>>2]=j}while((j|0)<0);t=n}else t=n;if(t>>>0>>0){j=(z-t>>2)*9|0;o=c[t>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;j=j+1|0}while(o>>>0>=n>>>0)}}else j=0;v=(u|0)==103;w=(l|0)!=0;n=l-((u|0)==102?0:j)+((w&v)<<31>>31)|0;if((n|0)<(((m-z>>2)*9|0)+-9|0)){y=n+9216|0;n=(y|0)/9|0;g=B+4+(n+-1024<<2)|0;n=y+(M(n,-9)|0)|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[g>>2]|0;n=(p>>>0)/(o>>>0)|0;s=M(n,o)|0;p=p-s|0;q=(g+4|0)==(m|0);if(!(q&(p|0)==0)){e=(n&1|0)==0?9007199254740992.0:9007199254740994.0;y=o>>>1;r=p>>>0>>0?.5:q&(p|0)==(y|0)?1.0:1.5;if(D){y=(a[C>>0]|0)==45;r=y?-r:r;e=y?-e:e}c[g>>2]=s;if(e+r!=e){y=s+o|0;c[g>>2]=y;if(y>>>0>999999999){o=g;j=t;while(1){n=o+-4|0;c[o>>2]=0;if(n>>>0>>0){j=j+-4|0;c[j>>2]=0}y=(c[n>>2]|0)+1|0;c[n>>2]=y;if(y>>>0>999999999)o=n;else{o=j;break}}}else{n=g;o=t}j=(z-o>>2)*9|0;q=c[o>>2]|0;if(q>>>0>=10){p=10;do{p=p*10|0;j=j+1|0}while(q>>>0>=p>>>0)}}else{n=g;o=t}}else{n=g;o=t}y=n+4|0;m=m>>>0>y>>>0?y:m}else o=t;g=0-j|0;b:do if(m>>>0>o>>>0)while(1){n=m+-4|0;if(c[n>>2]|0){y=m;u=1;break b}if(n>>>0>o>>>0)m=n;else{y=n;u=0;break}}else{y=m;u=0}while(0);do if(v){l=l+((w^1)&1)|0;if((l|0)>(j|0)&(j|0)>-5){p=i+-1|0;l=l+-1-j|0}else{p=i+-2|0;l=l+-1|0}if(!(h&8)){if(u?(A=c[y+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;m=10;do{m=m*10|0;n=n+1|0}while(!((A>>>0)%(m>>>0)|0|0))}else n=0;else n=9;m=((y-z>>2)*9|0)+-9|0;if((p|32|0)==102){i=m-n|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}else{i=m+j-n|0;i=(i|0)>0?i:0;l=(l|0)<(i|0)?l:i;break}}}else p=i;while(0);t=(l|0)!=0;q=t?1:h>>>3&1;s=(p|32|0)==102;if(s){w=0;j=(j|0)>0?j:0}else{m=(j|0)<0?g:j;m=qz(m,((m|0)<0)<<31>>31,E)|0;n=E;if((n-m|0)<2)do{m=m+-1|0;a[m>>0]=48}while((n-m|0)<2);a[m+-1>>0]=(j>>31&2)+43;j=m+-2|0;a[j>>0]=p;w=j;j=n-j|0}j=D+1+l+q+j|0;tz(b,32,f,j,h);lz(b,C,D);tz(b,48,f,j,h^65536);if(s){q=o>>>0>B>>>0?B:o;s=G+9|0;o=s;p=G+8|0;n=q;do{m=qz(c[n>>2]|0,0,s)|0;if((n|0)==(q|0)){if((m|0)==(s|0)){a[p>>0]=48;m=p}}else if(m>>>0>G>>>0){QA(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}lz(b,m,o-m|0);n=n+4|0}while(n>>>0<=B>>>0);if(!((h&8|0)==0&(t^1)))lz(b,51929,1);if(n>>>0>>0&(l|0)>0)while(1){m=qz(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){QA(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}lz(b,m,(l|0)<9?l:9);n=n+4|0;m=l+-9|0;if(!(n>>>0>>0&(l|0)>9)){l=m;break}else l=m}tz(b,48,l+9|0,9,0)}else{v=u?y:o+4|0;if(o>>>0>>0&(l|0)>-1){g=G+9|0;t=(h&8|0)==0;u=g;q=0-F|0;s=G+8|0;p=o;do{m=qz(c[p>>2]|0,0,g)|0;if((m|0)==(g|0)){a[s>>0]=48;m=s}do if((p|0)==(o|0)){n=m+1|0;lz(b,m,1);if(t&(l|0)<1){m=n;break}lz(b,51929,1);m=n}else{if(m>>>0<=G>>>0)break;QA(G|0,48,m+q|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=u-m|0;lz(b,m,(l|0)>(F|0)?F:l);l=l-F|0;p=p+4|0}while(p>>>0>>0&(l|0)>-1)}tz(b,48,l+18|0,18,0);lz(b,w,E-w|0)}tz(b,32,f,j,h^8192)}while(0);k=H;return ((j|0)<(f|0)?f:j)|0}function wz(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;x=c[j+4>>2]|0;return b|0}function xz(a,b){a=+a;b=b|0;return +(+yz(a,b))}function yz(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=MA(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+yz(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function zz(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[12333]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[854212]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[854212]=84;b=-1;break}}else b=1;while(0);return b|0}function Az(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[45744+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=45840;else{b=f;g=5}if((g|0)==5){f=45840;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return Bz(f,c[e+20>>2]|0)|0}function Bz(a,b){a=a|0;b=b|0;return Cz(a,b)|0}function Cz(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Dz(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function Dz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=Ez(c[b+8>>2]|0,o)|0;f=Ez(c[b+12>>2]|0,o)|0;g=Ez(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=Ez(c[b+(g<<2)>>2]|0,o)|0;g=Ez(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=fz(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=Ez(c[b+(f<<2)>>2]|0,o)|0;f=Ez(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function Ez(a,b){a=a|0;b=b|0;var c=0;c=OA(a|0)|0;return ((b|0)==0?a:c)|0}function Fz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(Gz(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=va[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=va[c[e+36>>2]&7](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);PA(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function Gz(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;PA(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Iz(b){b=b|0;var e=0.0,f=0,g=0,h=0,i=0,j=0,k=0;j=b+4|0;i=b+100|0;do{f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=Yy(b)|0}while((Zy(f)|0)!=0);a:do switch(f|0){case 43:case 45:{h=1-(((f|0)==45&1)<<1)|0;f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;g=d[f>>0]|0;break a}else{g=Yy(b)|0;break a}}default:{g=f;h=1}}while(0);f=0;while(1){if((g|32|0)!=(a[51931+f>>0]|0))break;do if(f>>>0<7){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0;break}else{g=Yy(b)|0;break}}while(0);f=f+1|0;if(f>>>0>=8){f=8;break}}b:do switch(f&2147483647|0){case 8:{k=27;break}case 3:{k=20;break}default:{if(f>>>0>3)if((f|0)==8){k=27;break b}else{k=20;break b}c:do if(!f){f=0;do{if((g|32|0)!=(a[51940+f>>0]|0)){k=36;break c}do if(f>>>0<2){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0;break}else{g=Yy(b)|0;break}}while(0);f=f+1|0}while(f>>>0<3)}else k=36;while(0);d:do if((k|0)==36){switch(f|0){case 3:break d;case 0:break;default:{if(c[i>>2]|0)c[j>>2]=(c[j>>2]|0)+-1;c[854212]=22;Wy(b);e=0.0;break b}}if((g|0)==48){f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=Yy(b)|0;if((f|32|0)==120){e=+Jz(b,h);break b}if(!(c[i>>2]|0))f=48;else{c[j>>2]=(c[j>>2]|0)+-1;f=48}}else f=g;e=+Kz(b,f,h);break b}while(0);f=c[j>>2]|0;if(f>>>0<(c[i>>2]|0)>>>0){c[j>>2]=f+1;f=d[f>>0]|0}else f=Yy(b)|0;if((f|0)!=40){if(!(c[i>>2]|0)){e=q;break b}c[j>>2]=(c[j>>2]|0)+-1;e=q;break b}f=1;while(1){g=c[j>>2]|0;if(g>>>0<(c[i>>2]|0)>>>0){c[j>>2]=g+1;g=d[g>>0]|0}else g=Yy(b)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;f=f+1|0}if((g|0)!=41){g=(c[i>>2]|0)==0;if(!g)c[j>>2]=(c[j>>2]|0)+-1;if(f){do{f=f+-1|0;if(!g)c[j>>2]=(c[j>>2]|0)+-1}while((f|0)!=0);e=q}else e=q}else e=q}}while(0);if((k|0)==20){g=(c[i>>2]|0)==0;if(!g)c[j>>2]=(c[j>>2]|0)+-1;if(f>>>0>3){do{if(!g)c[j>>2]=(c[j>>2]|0)+-1;f=f+-1|0}while(f>>>0>3);k=27}else k=27}if((k|0)==27)e=+(h|0)*r;return +e}function Jz(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,y=0,z=0;w=a+4|0;g=c[w>>2]|0;y=a+100|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=Yy(a)|0;i=0;a:while(1){switch(g|0){case 46:{z=10;break a}case 48:break;default:{n=0;k=i;j=0;i=0;break a}}g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=Yy(a)|0;i=1}if((z|0)==10){g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=Yy(a)|0;if((g|0)==48){j=0;i=0;do{g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=Yy(a)|0;j=DA(j|0,i|0,-1,-1)|0;i=x}while((g|0)==48);n=1;k=1}else{n=1;k=i;j=0;i=0}}m=0;l=1.0;e=0.0;t=0;q=n;r=k;k=0;s=0;while(1){o=g+-48|0;n=g|32;if(o>>>0>=10){p=(g|0)==46;if(!(p|(n+-97|0)>>>0<6))break;if(p)if(!q){q=1;h=l;n=t;p=r;j=s;i=k;o=s}else{g=46;break}else z=24}else z=24;if((z|0)==24){z=0;g=(g|0)>57?n+-87|0:o;do if(!((k|0)<0|(k|0)==0&s>>>0<8))if((k|0)<0|(k|0)==0&s>>>0<14){l=l*.0625;h=l;e=e+l*+(g|0);g=t;break}else{g=(m|0)!=0|(g|0)==0;m=g?m:1;h=l;e=g?e:e+l*.5;g=t;break}else{h=l;g=g+(t<<4)|0}while(0);o=DA(s|0,k|0,1,0)|0;n=g;p=1;k=x}g=c[w>>2]|0;if(g>>>0<(c[y>>2]|0)>>>0){c[w>>2]=g+1;g=d[g>>0]|0}else g=Yy(a)|0;l=h;t=n;r=p;s=o}do if(!r){if(c[y>>2]|0?(u=c[w>>2]|0,c[w>>2]=u+-2,q|0):0)c[w>>2]=u+-3;e=+(b|0)*0.0}else{m=(q|0)==0;n=m?s:j;m=m?k:i;if((k|0)<0|(k|0)==0&s>>>0<8){i=t;j=s;while(1){i=i<<4;u=j;j=DA(j|0,k|0,1,0)|0;if(!((k|0)<0|(k|0)==0&u>>>0<7)){j=i;break}else k=x}}else j=t;if(!((g|32|0)==112?(v=Lz(a)|0,f=x,!((v|0)==0&(f|0)==-2147483648)):0))if(!(c[y>>2]|0)){g=0;f=0}else{c[w>>2]=(c[w>>2]|0)+-1;g=0;f=0}else g=v;i=NA(n|0,m|0,2)|0;i=DA(i|0,x|0,-32,-1)|0;i=DA(i|0,x|0,g|0,f|0)|0;f=x;if(!j){e=+(b|0)*0.0;break}if((f|0)>0|(f|0)==0&i>>>0>1074){c[854212]=34;e=+(b|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}if((f|0)<-1|(f|0)==-1&i>>>0<4294966116){c[854212]=34;e=+(b|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((j|0)>-1){g=j;do{y=!(e>=.5);g=g<<1|(y^1)&1;e=e+(y?e:e+-1.0);i=DA(i|0,f|0,-1,-1)|0;f=x}while((g|0)>-1);l=e;j=g}else l=e;g=DA(i|0,f|0,1106,0)|0;y=x;do if((y|0)<0|(y|0)==0&g>>>0<53){if((g|0)>0)if((g|0)<53){f=g;g=84-g|0}else{f=g;z=60;break}else{f=0;g=84}e=+(b|0);h=+Nz(+Mz(1.0,g),e)}else{f=53;z=60}while(0);if((z|0)==60){h=0.0;e=+(b|0)}z=(j&1|0)==0&(l!=0.0&(f|0)<32);e=(z?0.0:l)*e+(h+e*+((j+(z&1)|0)>>>0))-h;if(!(e!=0.0))c[854212]=34;e=+Pz(e,i)}while(0);return +e}function Kz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0.0;E=k;k=k+512|0;D=E;B=a+4|0;C=a+100|0;g=0;a:while(1){switch(b|0){case 46:{w=7;break a}case 48:break;default:{s=0;n=g;g=0;m=0;break a}}b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;g=1}if((w|0)==7){b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;if((b|0)==48){g=0;b=0;while(1){g=DA(g|0,b|0,-1,-1)|0;m=x;b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;if((b|0)==48)b=m;else{s=1;n=1;break}}}else{s=1;n=g;g=0;m=0}}c[D>>2]=0;j=b+-48|0;i=(b|0)==46;b:do if(i|j>>>0<10){y=D+496|0;t=0;h=0;w=0;A=n;u=i;v=j;n=0;i=0;c:while(1){do if(u)if(!s){s=1;p=w;j=A;g=n;m=i}else break c;else{n=DA(n|0,i|0,1,0)|0;i=x;p=(b|0)!=48;if((h|0)>=125){if(!p){p=w;j=A;break}c[y>>2]=c[y>>2]|1;p=w;j=A;break}j=D+(h<<2)|0;if(!t)b=v;else b=b+-48+((c[j>>2]|0)*10|0)|0;c[j>>2]=b;t=t+1|0;j=(t|0)==9;t=j?0:t;h=h+(j&1)|0;p=p?n:w;j=1}while(0);b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;v=b+-48|0;u=(b|0)==46;if(!(u|v>>>0<10)){w=31;break b}else{w=p;A=j}}b=t;p=w;j=(A|0)!=0;w=37}else{t=0;h=0;p=0;j=n;n=0;i=0;w=31}while(0);do if((w|0)==31){A=(s|0)==0;g=A?n:g;m=A?i:m;j=(j|0)!=0;if(!(j&(b|32|0)==101))if((b|0)>-1){b=t;w=37;break}else{b=t;w=39;break}j=Lz(a)|0;b=x;if((j|0)==0&(b|0)==-2147483648)if(!(c[C>>2]|0)){j=0;b=0}else{c[B>>2]=(c[B>>2]|0)+-1;j=0;b=0}g=DA(j|0,b|0,g|0,m|0)|0;b=t;m=x;w=41}while(0);if((w|0)==37)if(c[C>>2]|0){c[B>>2]=(c[B>>2]|0)+-1;if(j)w=41;else w=40}else w=39;if((w|0)==39)if(j)w=41;else w=40;do if((w|0)==40){c[854212]=22;Wy(a);f=0.0}else if((w|0)==41){j=c[D>>2]|0;if(!j){f=+(e|0)*0.0;break}if(((i|0)<0|(i|0)==0&n>>>0<10)&((g|0)==(n|0)&(m|0)==(i|0))){f=+(e|0)*+(j>>>0);break}if((m|0)>0|(m|0)==0&g>>>0>537){c[854212]=34;f=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}if((m|0)<-1|(m|0)==-1&g>>>0<4294966116){c[854212]=34;f=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){j=D+(h<<2)|0;i=c[j>>2]|0;while(1){i=i*10|0;if((b|0)>=8)break;else b=b+1|0}c[j>>2]=i}h=h+1|0}if((p|0)<9?(p|0)<=(g|0)&(g|0)<18:0){if((g|0)==9){f=+(e|0)*+((c[D>>2]|0)>>>0);break}if((g|0)<9){f=+(e|0)*+((c[D>>2]|0)>>>0)/+(c[47648+(8-g<<2)>>2]|0);break}a=(M(g,-3)|0)+80|0;b=c[D>>2]|0;if((a|0)>30|(b>>>a|0)==0){f=+(e|0)*+(b>>>0)*+(c[47648+(g+-10<<2)>>2]|0);break}}b=(g|0)%9|0;if(!b)i=0;else{p=(g|0)>-1?b:b+9|0;m=c[47648+(8-p<<2)>>2]|0;if(h){n=1e9/(m|0)|0;j=0;i=0;b=0;do{B=D+(b<<2)|0;C=c[B>>2]|0;a=(C>>>0)/(m>>>0)|0;C=C-(M(a,m)|0)|0;a=a+j|0;c[B>>2]=a;j=M(n,C)|0;a=(b|0)==(i|0)&(a|0)==0;g=a?g+-9|0:g;i=a?i+1&127:i;b=b+1|0}while((b|0)!=(h|0));if(!j)b=h;else{c[D+(h<<2)>>2]=j;b=h+1|0}}else{i=0;b=0}h=b;g=9-p+g|0}b=0;d:while(1){s=(g|0)<18;t=(g|0)==18;u=D+(i<<2)|0;while(1){if(!s){if(!t)break d;if((c[u>>2]|0)>>>0>=9007199){g=18;break d}}j=0;v=h;h=h+127|0;while(1){n=h&127;m=D+(n<<2)|0;h=NA(c[m>>2]|0,0,29)|0;h=DA(h|0,x|0,j|0,0)|0;j=x;if(j>>>0>0|(j|0)==0&h>>>0>1e9){p=KA(h|0,j|0,1e9,0)|0;a=JA(p|0,x|0,-1e9,-1)|0;h=DA(h|0,j|0,a|0,x|0)|0}else p=0;c[m>>2]=h;a=(n|0)==(i|0);m=(n|0)!=(v+127&127|0)|a?v:(h|0)==0?n:v;if(a)break;else{j=p;v=m;h=n+-1|0}}b=b+-29|0;if(!p)h=v;else break}i=i+127&127;h=m+127&127;j=D+((m+126&127)<<2)|0;if((i|0)==(m|0))c[j>>2]=c[j>>2]|c[D+(h<<2)>>2];else h=v;c[D+(i<<2)>>2]=p;g=g+9|0}e:while(1){t=h+1&127;u=D+((h+127&127)<<2)|0;while(1){n=(g|0)==18;s=(g|0)>27?9:1;v=i;while(1){m=0;while(1){i=m+v&127;if((i|0)==(h|0)){w=89;break}i=c[D+(i<<2)>>2]|0;j=c[49388+(m<<2)>>2]|0;if(i>>>0>>0){w=89;break}if(i>>>0>j>>>0)break;if((m+1|0)>>>0<2)m=1;else{w=89;break}}if((w|0)==89?(w=0,n):0)break e;b=s+b|0;if((v|0)==(h|0))v=h;else break}n=(1<>>s;m=0;i=v;j=v;do{B=D+(j<<2)|0;C=c[B>>2]|0;a=(C>>>s)+m|0;c[B>>2]=a;m=M(C&n,p)|0;a=(j|0)==(i|0)&(a|0)==0;g=a?g+-9|0:g;i=a?i+1&127:i;j=j+1&127}while((j|0)!=(h|0));if(m|0){if((t|0)!=(i|0))break;c[u>>2]=c[u>>2]|1}}c[D+(h<<2)>>2]=m;h=t}f=0.0;g=h;i=0;do{j=i+v&127;h=g+1&127;if((j|0)==(g|0)){c[D+(h+-1<<2)>>2]=0;g=h}f=f*1.0e9+ +((c[D+(j<<2)>>2]|0)>>>0);i=i+1|0}while((i|0)!=2);q=+(e|0);l=f*q;i=b+53|0;m=b+1127|0;n=(b|0)<-1074;j=n?((m|0)>0?m:0):53;if((j|0)<53){F=+Nz(+Mz(1.0,105-j|0),l);o=+Oz(l,+Mz(1.0,53-j|0));r=F;f=o;o=F+(l-o)}else{r=0.0;f=0.0;o=l}h=v+2&127;if((h|0)!=(g|0)){h=c[D+(h<<2)>>2]|0;do if(h>>>0>=5e8){if((h|0)!=5e8){f=q*.75+f;break}if((v+3&127|0)==(g|0)){f=q*.5+f;break}else{f=q*.75+f;break}}else{if((h|0)==0?(v+3&127|0)==(g|0):0)break;f=q*.25+f}while(0);if((53-j|0)>1?!(+Oz(f,1.0)!=0.0):0)l=f+1.0;else l=f}else l=f;f=o+l-r;do if((i&2147483644)>>>0>1019){D=!(+z(+f)>=9007199254740992.0);b=b+((D^1)&1)|0;f=D?f:f*.5;if((b|0)<=971?!(l!=0.0&(n&((j|0)!=(m|0)|D))):0)break;c[854212]=34}while(0);f=+Pz(f,b)}while(0);k=E;return +f}function Lz(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;b=c[i>>2]|0;j=a+100|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;switch(b|0){case 43:case 45:{e=(b|0)==45&1;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=Yy(a)|0;if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=14}else f=12;break}default:if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else f=14;else{e=0;f=12}}if((f|0)==12){h=0;while(1){h=b+-48+(h*10|0)|0;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;f=d[b>>0]|0}else f=Yy(a)|0;g=(f+-48|0)>>>0<10;if(!(g&(h|0)<214748364))break;else b=f}b=((h|0)<0)<<31>>31;if(g){do{k=JA(h|0,b|0,10,0)|0;g=x;f=DA(f|0,((f|0)<0)<<31>>31|0,-48,-1)|0;h=DA(f|0,x|0,k|0,g|0)|0;b=x;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[i>>2]=f+1;f=d[f>>0]|0}else f=Yy(a)|0;g=(f+-48|0)>>>0<10}while(g&((b|0)<21474836|(b|0)==21474836&h>>>0<2061584302));if(g){do{f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[i>>2]=f+1;f=d[f>>0]|0}else f=Yy(a)|0}while((f+-48|0)>>>0<10);f=h}else f=h}else f=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(e|0)==0;k=EA(0,0,f|0,b|0)|0;e=j?b:x;b=j?f:k}else if((f|0)==14){c[i>>2]=(c[i>>2]|0)+-1;e=-2147483648;b=0}x=e;return b|0}function Mz(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=NA(b+1023|0,0,52)|0;e=x;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function Nz(a,b){a=+a;b=+b;return +(+ez(a,b))}function Oz(a,b){a=+a;b=+b;return +(+Qz(a,b))}function Pz(a,b){a=+a;b=b|0;return +(+Mz(a,b))}function Qz(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=MA(i|0,l|0,52)|0;e=e&2047;m=MA(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=NA(n|0,o|0,1)|0;k=x;a:do if(!((g|0)==0&(k|0)==0)?(f=Rz(b)|0,d=x&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=NA(i|0,l|0,1)|0;f=x;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=NA(i|0,l|0,12)|0;f=x;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=NA(d|0,f|0,1)|0;f=x}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=NA(i|0,l|0,1-e|0)|0;g=x}else g=l&1048575|1048576;if(!m){f=NA(n|0,o|0,12)|0;k=x;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=NA(f|0,k|0,1)|0;k=x}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=NA(n|0,o|0,1-d|0)|0;m=d;l=x}else l=o&1048575|1048576;f=EA(i|0,g|0,n|0,l|0)|0;d=x;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=NA(f|0,d|0,1)|0;g=x;e=e+-1|0;f=EA(i|0,g|0,n|0,l|0)|0;d=x;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=NA(f|0,d|0,1)|0;d=x;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=DA(f|0,d|0,0,-1048576)|0;d=x;e=NA(e|0,0,52)|0;d=d|x;e=o|e}else{e=MA(f|0,d|0,1-e|0)|0;d=x}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Rz(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;x=c[j+4>>2]|0;return b|0}function Sz(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Tz(b,c){b=b|0;c=c|0;b=Uz(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Uz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Sz(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=M(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Vz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=k;k=k+16|0;g=f;c[g>>2]=e;hz(a,b,d,g);k=f;return}function Wz(a,b){a=a|0;b=b|0;Xz(a,b);return a|0}function Xz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=d;a:do if(!((f^b)&3)){if(!(f&3))e=d;else while(1){f=a[d>>0]|0;a[b>>0]=f;if(!(f<<24>>24))break a;d=d+1|0;b=b+1|0;if(!(d&3)){e=d;break}}d=c[e>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))while(1){e=e+4|0;f=b+4|0;c[b>>2]=d;d=c[e>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){b=f;break}else b=f}g=b;h=10}else{e=d;g=b;h=10}while(0);if((h|0)==10?(h=a[e>>0]|0,a[g>>0]=h,h<<24>>24):0){b=g;do{e=e+1|0;b=b+1|0;h=a[e>>0]|0;a[b>>0]=h}while(h<<24>>24!=0)}return}function Yz(a){a=a|0;return +(+Mz(1.0,a))}function Zz(){var a=0;a=Sz(50061)|0;return ((_z(50061,1,a,48892)|0)!=(a|0))<<31>>31|0}function _z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=M(c,b)|0;a=Fz(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function $z(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;c[((a|0)==0?49376:a+116|0)>>2]=b}return}function aA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=k;k=k+16|0;j=m;l=e&255;a[j>>0]=l;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(Gz(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=l;break}if((va[c[b+36>>2]&7](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);k=m;return f|0}function bA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=k;k=k+48|0;h=i+32|0;g=i+16|0;e=i;if(Tz(51944,a[d>>0]|0)|0){f=cA(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=Qy(ga(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;fa(221,g|0)|0}b=dA(e,d)|0;if(!b){c[h>>2]=e;ia(6,h|0)|0;b=0}}else b=0}else{c[854212]=22;b=0}k=i;return b|0}function cA(b){b=b|0;var c=0,d=0,e=0;d=(Tz(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Tz(b,120)|0)==0;d=e?d:d|128;b=(Tz(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function dA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=k;k=k+64|0;j=l+40|0;h=l+24|0;g=l+16|0;f=l;i=l+56|0;if(Tz(51944,a[d>>0]|0)|0){e=Hy(1156)|0;if(!e)e=0;else{QA(e|0,0,124)|0;if(!(Tz(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(Tz(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;fa(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=fa(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;fa(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(ha(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=6;c[e+36>>2]=1;c[e+40>>2]=2;c[e+12>>2]=4;if(!(c[854197]|0))c[e+76>>2]=-1;eA(e)|0}}else{c[854212]=22;e=0}k=l;return e|0}function eA(a){a=a|0;var b=0;fA();b=c[854215]|0;c[a+56>>2]=b;if(b|0)c[b+52>>2]=a;c[854215]=a;gA();return a|0}function fA(){aa(3416852);return}function gA(){ja(3416852);return}function hA(a){a=a|0;var b=0,d=0,e=0;$z(a);e=(c[a>>2]&1|0)!=0;if(!e){fA();d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[854215]|0)==(a|0))c[854215]=b;gA()}b=iA(a)|0;b=ta[c[a+12>>2]&7](a)|0|b;d=c[a+92>>2]|0;if(d|0)Iy(d);if(!e)Iy(a);return b|0}function iA(a){a=a|0;var b=0;if(!a){if(!(c[12254]|0))a=0;else a=iA(c[12254]|0)|0;fA();b=c[854215]|0;if(b)do{if((c[b+20>>2]|0)>>>0>(c[b+28>>2]|0)>>>0)a=jA(b)|0|a;b=c[b+56>>2]|0}while((b|0)!=0);gA()}else a=jA(a)|0;return a|0}function jA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(va[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)va[c[a+40>>2]&7](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function kA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;j=e+4|0;k=e+8|0;i=63;f=b;while(1){g=c[j>>2]|0;m=g;n=(c[k>>2]|0)-m|0;l=sz(g,10,n)|0;h=(l|0)==0;l=h?n:1-m+l|0;l=l>>>0>>0?l:i;PA(f|0,g|0,l|0)|0;g=(c[j>>2]|0)+l|0;c[j>>2]=g;f=f+l|0;i=i-l|0;if(!(h&(i|0)!=0)){g=9;break}if(g>>>0>=(c[k>>2]|0)>>>0){g=_y(e)|0;if((g|0)<0){g=6;break}}else{c[j>>2]=g+1;g=d[g>>0]|0}h=f+1|0;a[f>>0]=g;i=i+-1|0;if((g&255|0)==10|(i|0)==0){f=h;g=9;break}else f=h}if((g|0)==6)if((f|0)!=(b|0)?(c[e>>2]&16|0)!=0:0)g=9;else b=0;if((g|0)==9)if(!b)b=0;else a[f>>0]=0;return b|0}function lA(a){a=a|0;return (c[a>>2]|0)>>>4&1|0}function mA(a){a=a|0;return (c[a>>2]|0)>>>5&1|0}function nA(a,b,c){a=a|0;b=b|0;c=c|0;return pA(a,b,c)|0}function oA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=k;k=k+16|0;f=e;c[f>>2]=d;iz(a,b,f)|0;k=e;return}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return qA(a,b,c)|0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(va[c[a+36>>2]&7](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((va[c[a+40>>2]&7](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function rA(){var a=0,b=0,d=0;b=3415600;b=JA(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=DA(b|0,x|0,1,0)|0;a=x;d=3415600;c[d>>2]=b;c[d+4>>2]=a;a=MA(b|0,a|0,33)|0;return a|0}function sA(a){a=a|0;return tA(a)|0}function tA(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=va[c[a+40>>2]&7](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function uA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;do if((c[d+76>>2]|0)>=0?(kz()|0)!=0:0){e=b&255;if((b&255|0)!=(a[d+75>>0]|0)?(h=d+20|0,i=c[h>>2]|0,i>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=i+1;a[i>>0]=e;break}aA(d,b)|0}else j=3;while(0);do if((j|0)==3){e=b&255;if((b&255|0)!=(a[d+75>>0]|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=e;break}aA(d,b)|0}while(0);return}function vA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=M(e,d)|0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:j;PA(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=j-i|0;b=b+i|0}else g=j;a:do if(g){i=f+32|0;while(1){if($y(f)|0)break;h=va[c[i>>2]&7](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g)break a;else b=b+h|0}e=((j-g|0)>>>0)/(d>>>0)|0}while(0);return e|0}function wA(a){a=a|0;return sA(a)|0}function xA(a,b){a=a|0;b=b|0;var d=0;a=k;k=k+16|0;d=a;c[d>>2]=b;iz(48892,50101,d)|0;k=a;return}function yA(){var b=0;do if((Zz()|0)>=0){if((a[48967]|0)!=10?(b=c[12228]|0,b>>>0<(c[12227]|0)>>>0):0){c[12228]=b+1;a[b>>0]=10;break}aA(48892,10)|0}while(0);return}function zA(a){a=a|0;return +(+AA(a))}function AA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=k;k=k+128|0;b=e;d=b;f=d+124|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));c[b+4>>2]=a;c[b+8>>2]=-1;c[b+44>>2]=a;c[b+76>>2]=-1;Wy(b);g=+Iz(b);k=e;return +g}function BA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=48728;b=2;while(1){d=c[a>>2]|0;e=c[f>>2]|0;if((e|0)==0|((d|0)==0|(d|0)!=(e|0))){g=4;break}b=b+-1|0;if(!b){a=0;break}else{f=f+4|0;a=a+4|0}}if((g|0)==4)a=d-e|0;return a|0}function CA(){}function DA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (x=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function EA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (x=d,a-c>>>0|0)|0}function FA(a){a=a|0;return (a?31-(P(a^a-1)|0)|0:32)|0}function GA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (x=n,f)|0}else{if(!g){n=0;f=0;return (x=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (x=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(P(i|0)|0)-(P(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (x=n,f)|0}g=h-1|0;if(g&h|0){i=(P(h|0)|0)+33-(P(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (x=o,p)|0}else{p=FA(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (x=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (x=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (x=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((FA(i|0)|0)>>>0);return (x=o,p)|0}g=(P(i|0)|0)-(P(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (x=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=DA(m|0,l|0,-1,-1)|0;d=x;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;EA(k|0,d|0,e|0,n|0)|0;p=x;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=EA(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=x;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (x=o,p)|0}function HA(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;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=EA(j^a|0,i^b|0,j|0,i|0)|0;g=x;a=f^j;b=e^i;return EA((GA(h,g,EA(f^c|0,e^d|0,f|0,e|0)|0,x,0)|0)^a|0,x^b|0,a|0,b|0)|0}function IA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=M(e,f)|0;d=a>>>16;a=(c>>>16)+(M(e,d)|0)|0;e=b>>>16;b=M(e,f)|0;return (x=(a>>>16)+(M(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function JA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=IA(e,f)|0;a=x;return (x=(M(b,f)|0)+(M(d,e)|0)+a|a&0,c|0|0)|0}function KA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return GA(a,b,c,d,0)|0}function LA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b>>c;return a>>>c|(b&(1<>c-32|0}function MA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b>>>c;return a>>>c|(b&(1<>>c-32|0}function NA(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){x=b<>>32-c;return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function PA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return ka(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function QA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function RA(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){U()|0;ba(12);return -1}c[i>>2]=b;if((b|0)>(T()|0)?(S()|0)==0:0){c[i>>2]=d;ba(12);return -1}return d|0}function SA(a,b){a=a|0;b=b|0;return ta[a&7](b|0)|0}function TA(a,b,c){a=a|0;b=b|0;c=c|0;return ua[a&3](b|0,c|0)|0}function UA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return va[a&7](b|0,c|0,d|0)|0}function VA(a,b){a=a|0;b=b|0;wa[a&31](b|0)}function WA(a,b,c){a=a|0;b=b|0;c=c|0;xa[a&31](b|0,c|0)}function XA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ya[a&63](b|0,c|0,d|0)}function YA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;za[a&63](b|0,c|0,d|0,e|0)}function ZA(a){a=a|0;Q(0);return 0}function _A(a,b){a=a|0;b=b|0;Q(1);return 0}function $A(a,b,c){a=a|0;b=b|0;c=c|0;Q(2);return 0}function aB(a){a=a|0;Q(3)}function bB(a,b){a=a|0;b=b|0;Q(4)}function cB(a,b,c){a=a|0;b=b|0;c=c|0;Q(5)}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Q(6)} // EMSCRIPTEN_END_FUNCS -var ta=[wz,og,Cj,gk,kx,wn,zn,wz];var ua=[xz,$a,ab,bb];var va=[yz,lx,mx,rx,ey,Cb,qx,yz];var wa=[zz,qc,rc,sc,tc,uc,be,ce,de,ee,fe,pg,Dj,hk,Em,Fm,Gm,Hm,Im,te,Tl,Qm,Fn,zz,zz,zz,zz,zz,zz,zz,zz,zz];var xa=[Az,mg,Aj,ek,Db,$v,re,Fh,xj,yj,ck,dk,Rl,Om,Hn,In,vn,yn,Dn,Az,Az,Az,Az,Az,Az,Az,Az,Az,Az,Az,Az,Az];var ya=[Bz,ng,Bj,fk,pe,Pl,Mm,Bn,Yv,Zt,hh,Qk,qf,Es,us,bg,cg,tj,uj,Yj,_j,$j,xm,aw,Fl,qn,Wd,Vu,tu,qv,Qs,is,Tn,_o,tq,Mp,fu,rr,Jr,dp,Bp,ro,ao,rp,Xr,rs,Ys,Gc,Lc,Sc,Dd,fd,vc,Md,Zc,Bz,Bz,Bz,Bz,Bz,Bz,Bz,Bz,Bz];var za=[Cz,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz,Cz];return{___divdi3:ez,___errno_location:ox,___muldi3:gz,___udivdi3:hz,_bitshift64Ashr:iz,_bitshift64Lshr:jz,_bitshift64Shl:kz,_emu_compute_audio_samples:Hv,_emu_get_audio_buffer:Iv,_emu_get_audio_buffer_length:Jv,_emu_get_max_position:Kv,_emu_get_position:Lv,_emu_get_sample_rate:Mv,_emu_get_track_info:Nv,_emu_init:Ov,_emu_seek_position:Pv,_emu_set_subsong:Qv,_emu_teardown:Rv,_free:fx,_i64Add:az,_i64Subtract:bz,_llvm_bswap_i32:lz,_malloc:ex,_memcpy:mz,_memset:nz,_sbrk:oz,dynCall_ii:pz,dynCall_iii:qz,dynCall_iiii:rz,dynCall_vi:sz,dynCall_vii:tz,dynCall_viii:uz,dynCall_viiii:vz,establishStackSpace:Da,getTempRet0:Ga,runPostSets:$y,setTempRet0:Fa,setThrew:Ea,stackAlloc:Aa,stackRestore:Ca,stackSave:Ba}}) +var ta=[ZA,qg,Hj,lk,Ny,_n,bo,ZA];var ua=[_A,ab,bb,cb];var va=[$A,Oy,Py,Uy,Hz,Db,Ty,$A];var wa=[aB,rc,sc,tc,uc,vc,de,ee,fe,ge,he,rg,Ij,mk,gn,hn,jn,kn,ln,ve,vm,tn,io,aB,aB,aB,aB,aB,aB,aB,aB,aB];var xa=[bB,og,Fj,jk,Eb,Cx,te,Kh,Cj,Dj,hk,ik,tm,rn,ko,lo,Zn,ao,go,bB,bB,bB,bB,bB,bB,bB,bB,bB,bB,bB,bB,bB];var ya=[cB,pg,Gj,kk,re,rm,pn,eo,zx,zv,mh,Vk,sf,eu,Wt,dg,eg,yj,zj,bk,dk,ek,$m,Dx,hm,Un,Yd,vw,Vv,Tw,qu,et,wo,Np,pr,Iq,Hv,ns,Fs,$p,xq,Xo,Go,nq,Ts,Qt,yu,Hc,Mc,Tc,Ed,gd,wc,Nd,_c,cB,cB,cB,cB,cB,cB,cB,cB,cB];var za=[dB,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB,dB];return{___divdi3:HA,___errno_location:Ry,___muldi3:JA,___udivdi3:KA,_bitshift64Ashr:LA,_bitshift64Lshr:MA,_bitshift64Shl:NA,_emu_compute_audio_samples:ix,_emu_get_audio_buffer:jx,_emu_get_audio_buffer_length:kx,_emu_get_max_position:lx,_emu_get_position:mx,_emu_get_sample_rate:nx,_emu_get_track_info:ox,_emu_init:px,_emu_seek_position:qx,_emu_set_subsong:rx,_emu_teardown:sx,_free:Iy,_i64Add:DA,_i64Subtract:EA,_llvm_bswap_i32:OA,_malloc:Hy,_memcpy:PA,_memset:QA,_sbrk:RA,dynCall_ii:SA,dynCall_iii:TA,dynCall_iiii:UA,dynCall_vi:VA,dynCall_vii:WA,dynCall_viii:XA,dynCall_viiii:YA,establishStackSpace:Da,getTempRet0:Ga,runPostSets:CA,setTempRet0:Fa,setThrew:Ea,stackAlloc:Aa,stackRestore:Ca,stackSave:Ba}}) // EMSCRIPTEN_END_ASM diff --git a/emscripten/makeEmscripten.bat b/emscripten/makeEmscripten.bat index 3828bb8..0e8cffb 100644 --- a/emscripten/makeEmscripten.bat +++ b/emscripten/makeEmscripten.bat @@ -2,6 +2,7 @@ rem POOR MAN'S DOS PROMPT BUILD SCRIPT.. make sure to delete the respective *.b rem existing *.bc files will not be recompiled. Unfortunately the script occasionally rem fails for no good reason - this must be the wonderful world of DOS/Win... ;-) +rem XXX why -DVGM_BIG_ENDIAN?? setlocal enabledelayedexpansion SET ERRORLEVEL @@ -14,7 +15,7 @@ if not exist "built/thirdparty.bc" ( ) if not exist "built/chips.bc" ( - call emcc.bat %OPT% ../src/chips/x1_010.c ../src/chips/ws_audio.c ../src/chips/vsu.c ../src/chips/saa1099.c ../src/chips/iremga20.c ../src/chips/es5506.c ../src/chips/es5503.c ../src/chips/c352.c ../src/chips/262intf.c ../src/chips/2151intf.c ../src/chips/2203intf.c ../src/chips/2413intf.c ../src/chips/2608intf.c ../src/chips/2610intf.c ../src/chips/2612intf.c ../src/chips/3526intf.c ../src/chips/3812intf.c ../src/chips/8950intf.c ../src/chips/adlibemu_opl2.c ../src/chips/adlibemu_opl3.c ../src/chips/ay8910.c ../src/chips/ay_intf.c ../src/chips/c140.c ../src/chips/c6280.c ../src/chips/c6280intf.c ../src/chips/dac_control.c ../src/chips/emu2149.c ../src/chips/emu2413.c ../src/chips/fm2612.c ../src/chips/fm.c ../src/chips/fmopl.c ../src/chips/gb.c ../src/chips/k051649.c ../src/chips/k053260.c ../src/chips/k054539.c ../src/chips/multipcm.c ../src/chips/nes_apu.c ../src/chips/nes_intf.c ../src/chips/np_nes_apu.c ../src/chips/np_nes_dmc.c ../src/chips/np_nes_fds.c ../src/chips/okim6258.c ../src/chips/okim6295.c ../src/chips/Ootake_PSG.c ../src/chips/panning.c ../src/chips/pokey.c ../src/chips/pwm.c ../src/chips/qsound.c ../src/chips/rf5c68.c ../src/chips/segapcm.c ../src/chips/scd_pcm.c ../src/chips/scsp.c ../src/chips/scspdsp.c ../src/chips/sn76489.c ../src/chips/sn76496.c ../src/chips/sn764intf.c ../src/chips/upd7759.c ../src/chips/ym2151.c ../src/chips/ym2413.c ../src/chips/ym2612.c ../src/chips/ymdeltat.c ../src/chips/ymf262.c ../src/chips/ymf271.c ../src/chips/ymf278b.c ../src/chips/ymz280b.c ../src/chips/ay8910_opl.c ../src/chips/sn76496_opl.c ../src/chips/ym2413hd.c ../src/chips/ym2413_opl.c -o built/chips.bc + call emcc.bat %OPT% ../src/chips/x1_010.c ../src/chips/ws_audio.c ../src/chips/vsu.c ../src/chips/saa1099.c ../src/chips/iremga20.c ../src/chips/es5506.c ../src/chips/es5503.c ../src/chips/c352.c ../src/chips/262intf.c ../src/chips/2151intf.c ../src/chips/2203intf.c ../src/chips/2413intf.c ../src/chips/2608intf.c ../src/chips/2610intf.c ../src/chips/2612intf.c ../src/chips/3526intf.c ../src/chips/3812intf.c ../src/chips/8950intf.c ../src/chips/adlibemu_opl2.c ../src/chips/adlibemu_opl3.c ../src/chips/ay8910.c ../src/chips/ay_intf.c ../src/chips/c140.c ../src/chips/c6280.c ../src/chips/c6280intf.c ../src/chips/dac_control.c ../src/chips/emu2149.c ../src/chips/emu2413.c ../src/chips/fm2612.c ../src/chips/fm.c ../src/chips/fmopl.c ../src/chips/gb.c ../src/chips/k051649.c ../src/chips/k053260.c ../src/chips/k054539.c ../src/chips/multipcm.c ../src/chips/nes_apu.c ../src/chips/nes_intf.c ../src/chips/np_nes_apu.c ../src/chips/np_nes_dmc.c ../src/chips/np_nes_fds.c ../src/chips/okim6258.c ../src/chips/okim6295.c ../src/chips/Ootake_PSG.c ../src/chips/panning.c ../src/chips/pokey.c ../src/chips/pwm.c ../src/chips/qsound_mame.c ../src/chips/qsound_intf.c ../src/chips/qsound_ctr.c ../src/chips/rf5c68.c ../src/chips/segapcm.c ../src/chips/scd_pcm.c ../src/chips/scsp.c ../src/chips/scspdsp.c ../src/chips/sn76489.c ../src/chips/sn76496.c ../src/chips/sn764intf.c ../src/chips/upd7759.c ../src/chips/ym2151.c ../src/chips/ym2413.c ../src/chips/ym2612.c ../src/chips/ymdeltat.c ../src/chips/ymf262.c ../src/chips/ymf271.c ../src/chips/ymf278b.c ../src/chips/ymz280b.c ../src/chips/ay8910_opl.c ../src/chips/sn76496_opl.c ../src/chips/ym3438.c ../src/chips/ym2413hd.c ../src/chips/ym2413_opl.c -o built/chips.bc IF !ERRORLEVEL! NEQ 0 goto :END ) @@ -23,6 +24,6 @@ if not exist "built/main.bc" ( IF !ERRORLEVEL! NEQ 0 goto :END ) -call emcc.bat %OPT% -s TOTAL_MEMORY=67108864 --closure 1 --llvm-lto 1 built/thirdparty.bc built/chips.bc built/main.bc -s EXPORTED_FUNCTIONS="['_alloc', '_emu_init','_emu_get_sample_rate','_emu_get_position','_emu_get_max_position','_emu_seek_position','_emu_teardown','_emu_set_subsong','_emu_get_track_info','_emu_get_audio_buffer','_emu_get_audio_buffer_length','_emu_compute_audio_samples', '_malloc', '_free']" -o htdocs/vgm.js -s SINGLE_FILE=0 -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'Pointer_stringify']" -s BINARYEN_ASYNC_COMPILATION=1 -s BINARYEN_TRAP_MODE='clamp' && copy /b shell-pre.js + htdocs\vgm.js + shell-post.js htdocs\vgmPlay3.js && del htdocs\vgm.js && copy /b htdocs\vgmPlay3.js + vgm_adapter.js htdocs\backend_vgm.js && del htdocs\vgmPlay3.js +call emcc.bat %OPT% -s TOTAL_MEMORY=67108864 --closure 1 --llvm-lto 1 built/thirdparty.bc built/chips.bc built/main.bc -s EXPORTED_FUNCTIONS="['_alloc', '_emu_init','_emu_get_sample_rate','_emu_get_position','_emu_get_max_position','_emu_seek_position','_emu_teardown','_emu_set_subsong','_emu_get_track_info','_emu_get_audio_buffer','_emu_get_audio_buffer_length','_emu_compute_audio_samples', '_malloc', '_free']" -o htdocs/vgm.js -s SINGLE_FILE=0 -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'Pointer_stringify']" -s BINARYEN_ASYNC_COMPILATION=1 -s BINARYEN_TRAP_MODE='clamp' && copy /b shell-pre.js + htdocs\vgm.js + shell-post.js htdocs\vgmPlay3.js && del htdocs\vgm.js && copy /b htdocs\vgmPlay3.js + vgm_adapter.js htdocs\backend_vgm.js && del htdocs\vgmPlay3.js :END \ No newline at end of file diff --git a/emscripten/makeEmscriptenStripped.bat b/emscripten/makeEmscriptenStripped.bat index 64a8d50..2a26282 100644 --- a/emscripten/makeEmscriptenStripped.bat +++ b/emscripten/makeEmscriptenStripped.bat @@ -24,6 +24,6 @@ if not exist "built/main.bc" ( IF !ERRORLEVEL! NEQ 0 goto :END ) -call emcc.bat %OPT% --closure 1 --llvm-lto 1 -s TOTAL_MEMORY=67108864 built/thirdparty.bc built/chips.bc built/main.bc -s EXPORTED_FUNCTIONS="['_alloc', '_emu_init','_emu_get_sample_rate','_emu_get_position','_emu_get_max_position','_emu_seek_position','_emu_teardown','_emu_set_subsong','_emu_get_track_info','_emu_get_audio_buffer','_emu_get_audio_buffer_length','_emu_compute_audio_samples', '_malloc', '_free']" -o htdocs/vgm.js -s SINGLE_FILE=0 -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'Pointer_stringify']" -s BINARYEN_ASYNC_COMPILATION=1 -s BINARYEN_TRAP_MODE='clamp' && copy /b shell-pre.js + htdocs\vgm.js + shell-post.js htdocs\vgmPlay3.js && del htdocs\vgm.js && copy /b htdocs\vgmPlay3.js + vgm_adapter.js htdocs\backend_vgm.js && del htdocs\vgmPlay3.js +call emcc.bat %OPT% --closure 1 --llvm-lto 1 -s TOTAL_MEMORY=67108864 built/chips.bc built/main.bc -s EXPORTED_FUNCTIONS="['_alloc', '_emu_init','_emu_get_sample_rate','_emu_get_position','_emu_get_max_position','_emu_seek_position','_emu_teardown','_emu_set_subsong','_emu_get_track_info','_emu_get_audio_buffer','_emu_get_audio_buffer_length','_emu_compute_audio_samples', '_malloc', '_free']" -o htdocs/vgm.js -s SINGLE_FILE=0 -s EXTRA_EXPORTED_RUNTIME_METHODS="['ccall', 'Pointer_stringify']" -s BINARYEN_ASYNC_COMPILATION=1 -s BINARYEN_TRAP_MODE='clamp' && copy /b shell-pre.js + htdocs\vgm.js + shell-post.js htdocs\vgmPlay3.js && del htdocs\vgm.js && copy /b htdocs\vgmPlay3.js + vgm_adapter.js htdocs\backend_vgm.js && del htdocs\vgmPlay3.js :END \ No newline at end of file diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..3ffa2a0 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1,4 @@ +/obj +/vgm2pcm +/vgmplay +/vgm2wav diff --git a/src/ChipMapper.c b/src/ChipMapper.c index 41016ab..7e94418 100644 --- a/src/ChipMapper.c +++ b/src/ChipMapper.c @@ -1,7 +1,7 @@ // ChipMapper.c - Handles Chip Write (including OPL Hardware Support) #include -#include +#include #include #include "stdbool.h" @@ -12,16 +12,30 @@ #endif #ifdef WIN32 + #include #include // for QueryPerformance### + #else + #ifndef DISABLE_HW_SUPPORT #include +#ifdef __APPLE__ +#include +#else #include #endif +#endif // DISABLE_HW_SUPPORT + #include #endif +#ifdef __APPLE__ +#define ioperm(x,y,z) +#define outb(x,y) +#define inb(x) +#endif + #include "chips/mamedef.h" #include "chips/ChipIncl.h" @@ -71,6 +85,7 @@ extern bool WINNT_MODE; extern UINT16 FMPort; extern UINT8 PlayingMode; extern bool FMBreakFade; +extern bool FMOPL2Pan; extern float FinalVol; #ifdef WIN32 @@ -84,7 +99,8 @@ extern float FinalVol; #define DELAY_OPL2_REG 3.3f #define DELAY_OPL2_DATA 23.0f #define DELAY_OPL3_REG 0.0f -#define DELAY_OPL3_DATA 0.28f +//#define DELAY_OPL3_DATA 0.28f // fine for ISA cards (like SoundBlaster 16) +#define DELAY_OPL3_DATA 13.3f // required for PCI cards (CMI8738) #ifdef WIN32 INT64 HWusTime; #endif @@ -726,14 +742,14 @@ void chip_reg_write(UINT8 ChipType, UINT8 ChipID, } break; case 0x09: // YM3812 - if ((Offset & 0xF0) == 0xC0 && ! (Data & 0x30)) + if ((Offset & 0xF0) == 0xC0 && (! FMOPL2Pan || ! (Data & 0x30))) Data |= 0x30; else if ((Offset & 0xF0) == 0xE0) Data &= 0xF3; OPL_RegMapper((ChipID << 8) | Offset, Data); break; case 0x0A: // YM3526 - if ((Offset & 0xF0) == 0xC0 && ! (Data & 0x30)) + if ((Offset & 0xF0) == 0xC0 && (! FMOPL2Pan || ! (Data & 0x30))) Data |= 0x30; else if ((Offset & 0xF0) == 0xE0) Data &= 0xF0; @@ -742,7 +758,7 @@ void chip_reg_write(UINT8 ChipType, UINT8 ChipID, case 0x0B: // Y8950 if (Offset == 0x07 || (Offset >= 0x09 && Offset <= 0x17)) break; - if ((Offset & 0xF0) == 0xC0 && ! (Data & 0x30)) + if ((Offset & 0xF0) == 0xC0 && (! FMOPL2Pan || ! (Data & 0x30))) Data |= 0x30; else if ((Offset & 0xF0) == 0xE0) Data &= 0xF0; diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..a608145 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,300 @@ +######################## +# +# VGMPlay Makefile +# (for GNU Make 3.81) +# +######################## + +# TODO: Make this look less horrible. + +# (notice that you can just pass these as arguments when running make) + +# set to 1 if you build on Windows using MinGW. +ifndef WINDOWS +WINDOWS = 0 +endif + +# set to 1 if you build on Mac OSX +ifndef MACOSX +MACOSX = 0 +endif + +ifeq ($(WINDOWS), 1) +# no libAO for Windows +USE_LIBAO = 0 +endif +ifeq ($(MACOSX), 1) +# Mac OSX requires libAO +USE_LIBAO = 1 +endif + +# disable Hardware OPL Support [enabled by default] +ifndef DISABLE_HWOPL_SUPPORT +DISABLE_HWOPL_SUPPORT = 1 +endif + +# set to 1 if you want to use libao instead of OSS for sound streaming under Linux [enabled by default] +ifndef USE_LIBAO +USE_LIBAO = 1 +endif + +# set to 1 for debug builds +ifndef DEBUG +DEBUG = 0 +endif + +# set to 1 for swprintf fix on older MinGW versions +ifndef OLD_SWPRINTF +OLD_SWPRINTF = 0 +endif + +# Byte Order +# 0 = undefined (use endian-safe code, might be slightly slower) +# 1 = Little Endian (Intel) [default] +# 2 = Big Endian (Motorola) +ifndef BYTE_ORDER +BYTE_ORDER = 1 +endif + + + +CC = gcc +ifndef PREFIX +PREFIX = /usr/local +#PREFIX = $(HOME)/.local +endif +MANPREFIX = $(PREFIX)/share/man + +# -- VGMPlay specific Compile Flags -- +MAINFLAGS := -DCONSOLE_MODE -DADDITIONAL_FORMATS -DSET_CONSOLE_TITLE +ifeq ($(WINDOWS), 1) +# MinGW defines __WINDOWS__, Visual Studio defines WIN32 +MAINFLAGS += -DWIN32 +endif +ifeq ($(OLD_SWPRINTF), 1) +MAINFLAGS += -DOLD_SWPRINTF +endif +ifeq ($(USE_LIBAO), 1) +MAINFLAGS += -DUSE_LIBAO +endif +EMUFLAGS := -DENABLE_ALL_CORES + +# -- Byte Order Optimizations -- +ifeq ($(BYTE_ORDER), 1) +# Intel Byte Order +MAINFLAGS += -DVGM_LITTLE_ENDIAN +EMUFLAGS += -DVGM_LITTLE_ENDIAN +else +ifeq ($(BYTE_ORDER), 2) +# Motorola Byte Order +MAINFLAGS += -DVGM_BIG_ENDIAN +EMUFLAGS += -DVGM_BIG_ENDIAN +else +# undefined byte order +endif +endif + +ifeq ($(DISABLE_HWOPL_SUPPORT), 1) +MAINFLAGS += -DDISABLE_HW_SUPPORT +endif + + +# -- General Compile Flags -- +ifeq ($(DEBUG), 0) +CFLAGS := -O3 -g0 $(CFLAGS) +else +CFLAGS := -g $(CFLAGS) +endif +#CFLAGS += -Wall +CFLAGS += -Wno-unused-variable -Wno-unused-value -Wno-unused-but-set-variable +# libm (math library) and libz (zlib) +LDFLAGS := -lm -lz $(LDFLAGS) + +ifeq ($(WINDOWS), 1) +# for Windows, add kernel32 and winmm (Multimedia APIs) +LDFLAGS += -lkernel32 -lwinmm +else # if UNIX +ifeq ($(MACOSX), 1) +# You might want to include additional paths using -I/some/path here, +# in case some libraries (like libao) can't be found. +#CFLAGS += -I/some/path +else +# for Linux, add librt (clock stuff) and libpthread (threads) +LDFLAGS += -lrt -lpthread -pthread +endif +MAINFLAGS += -pthread -DSHARE_PREFIX=\"$(PREFIX)\" +endif + +ifeq ($(USE_LIBAO), 1) +LDFLAGS += -lao +endif + +# add Library Path, if defined +ifdef LD_LIBRARY_PATH +LDFLAGS += -L $(LD_LIBRARY_PATH) +endif + +SRC = . +OBJ = obj +EMUSRC = $(SRC)/chips +EMUOBJ = $(OBJ)/chips + +OBJDIRS = \ + $(OBJ) \ + $(EMUOBJ) +MAINOBJS = \ + $(OBJ)/VGMPlay.o \ + $(OBJ)/VGMPlay_AddFmts.o \ + $(OBJ)/Stream.o \ + $(OBJ)/ChipMapper.o +ifeq ($(WINDOWS), 1) +ifeq ($(DISABLE_HWOPL_SUPPORT), 0) +MAINOBJS += $(OBJ)/pt_ioctl.o +endif +endif +EMUOBJS = \ + $(EMUOBJ)/262intf.o \ + $(EMUOBJ)/2151intf.o \ + $(EMUOBJ)/2203intf.o \ + $(EMUOBJ)/2413intf.o \ + $(EMUOBJ)/2608intf.o \ + $(EMUOBJ)/2610intf.o \ + $(EMUOBJ)/2612intf.o \ + $(EMUOBJ)/3526intf.o \ + $(EMUOBJ)/3812intf.o \ + $(EMUOBJ)/8950intf.o \ + $(EMUOBJ)/adlibemu_opl2.o \ + $(EMUOBJ)/adlibemu_opl3.o \ + $(EMUOBJ)/ay8910.o \ + $(EMUOBJ)/ay_intf.o \ + $(EMUOBJ)/c140.o \ + $(EMUOBJ)/c352.o \ + $(EMUOBJ)/c6280.o \ + $(EMUOBJ)/c6280intf.o \ + $(EMUOBJ)/dac_control.o \ + $(EMUOBJ)/es5503.o \ + $(EMUOBJ)/es5506.o \ + $(EMUOBJ)/emu2149.o \ + $(EMUOBJ)/emu2413.o \ + $(EMUOBJ)/fm2612.o \ + $(EMUOBJ)/fm.o \ + $(EMUOBJ)/fmopl.o \ + $(EMUOBJ)/gb.o \ + $(EMUOBJ)/iremga20.o \ + $(EMUOBJ)/k051649.o \ + $(EMUOBJ)/k053260.o \ + $(EMUOBJ)/k054539.o \ + $(EMUOBJ)/multipcm.o \ + $(EMUOBJ)/nes_apu.o \ + $(EMUOBJ)/nes_intf.o \ + $(EMUOBJ)/np_nes_apu.o \ + $(EMUOBJ)/np_nes_dmc.o \ + $(EMUOBJ)/np_nes_fds.o \ + $(EMUOBJ)/okim6258.o \ + $(EMUOBJ)/okim6295.o \ + $(EMUOBJ)/Ootake_PSG.o \ + $(EMUOBJ)/panning.o \ + $(EMUOBJ)/pokey.o \ + $(EMUOBJ)/pwm.o \ + $(EMUOBJ)/qsound_ctr.o \ + $(EMUOBJ)/qsound_mame.o \ + $(EMUOBJ)/qsound_intf.o \ + $(EMUOBJ)/rf5c68.o \ + $(EMUOBJ)/saa1099.o \ + $(EMUOBJ)/segapcm.o \ + $(EMUOBJ)/scd_pcm.o \ + $(EMUOBJ)/scsp.o \ + $(EMUOBJ)/scspdsp.o \ + $(EMUOBJ)/sn76489.o \ + $(EMUOBJ)/sn76496.o \ + $(EMUOBJ)/sn764intf.o \ + $(EMUOBJ)/upd7759.o \ + $(EMUOBJ)/vsu.o \ + $(EMUOBJ)/ws_audio.o \ + $(EMUOBJ)/x1_010.o \ + $(EMUOBJ)/ym2151.o \ + $(EMUOBJ)/ym2413.o \ + $(EMUOBJ)/ym2612.o \ + $(EMUOBJ)/ym3438.o \ + $(EMUOBJ)/ymdeltat.o \ + $(EMUOBJ)/ymf262.o \ + $(EMUOBJ)/ymf271.o \ + $(EMUOBJ)/ymf278b.o \ + $(EMUOBJ)/ymz280b.o \ + $(EMUOBJ)/ay8910_opl.o \ + $(EMUOBJ)/sn76496_opl.o \ + $(EMUOBJ)/ym2413hd.o \ + $(EMUOBJ)/ym2413_opl.o +VGMPLAY_OBJS = \ + $(OBJ)/VGMPlayUI.o +VGM2PCM_OBJS = \ + $(OBJ)/vgm2pcm.o +VGM2WAV_OBJS = \ + $(OBJ)/vgm2wav.o +EXTRA_OBJS = $(VGMPLAY_OBJS) $(VGM2PCM_OBJS) $(VGM2WAV_OBJS) + + +all: vgmplay vgm2pcm vgm2wav + +vgmplay: $(EMUOBJS) $(MAINOBJS) $(VGMPLAY_OBJS) + @echo Linking vgmplay ... + @$(CC) $(VGMPLAY_OBJS) $(MAINOBJS) $(EMUOBJS) $(LDFLAGS) -o vgmplay + @echo Done. + +vgm2pcm: $(EMUOBJS) $(MAINOBJS) $(VGM2PCM_OBJS) + @echo Linking vgm2pcm ... + @$(CC) $(VGM2PCM_OBJS) $(MAINOBJS) $(EMUOBJS) $(LDFLAGS) -o vgm2pcm + @echo Done. + +vgm2wav: $(EMUOBJS) $(MAINOBJS) $(VGM2WAV_OBJS) + @echo Linking vgm2wav ... + @$(CC) $(VGM2WAV_OBJS) $(MAINOBJS) $(EMUOBJS) $(LDFLAGS) -o vgm2wav + @echo Done. + +# compile the chip-emulator c-files +$(EMUOBJ)/%.o: $(EMUSRC)/%.c + @echo Compiling $< ... + @mkdir -p $(@D) + @$(CC) $(CFLAGS) $(EMUFLAGS) -c $< -o $@ + +# compile the main c-files +$(OBJ)/%.o: $(SRC)/%.c + @echo Compiling $< ... + @mkdir -p $(@D) + @$(CC) $(CFLAGS) $(MAINFLAGS) -c $< -o $@ + +clean: + @echo Deleting object files ... + @rm -f $(MAINOBJS) $(EMUOBJS) $(EXTRA_OBJS) + @echo Deleting executable files ... + @rm -f vgmplay vgm2pcm vgm2wav + @echo Done. + +# Thanks to ZekeSulastin and nextvolume for the install and uninstall routines. +install: vgmplay + install -m 755 vgmplay $(DESTDIR)$(PREFIX)/bin/vgmplay + install -m 755 vgm2pcm $(DESTDIR)$(PREFIX)/bin/vgm2pcm + install -m 755 vgm2wav $(DESTDIR)$(PREFIX)/bin/vgm2wav + mkdir -m 755 -p $(DESTDIR)$(MANPREFIX)/man1 + install -m 644 vgmplay.1 $(DESTDIR)$(MANPREFIX)/man1/vgmplay.1 + mkdir -m 755 -p $(DESTDIR)$(PREFIX)/share/vgmplay + install -m 644 VGMPlay.ini $(DESTDIR)$(PREFIX)/share/vgmplay/vgmplay.ini + +# install ROMs +rom_install: + install -m 644 yrw801.rom $(DESTDIR)$(PREFIX)/share/vgmplay/yrw801.rom + + +# Install the "vgm-player" wrapper +play_install: install + install -m 755 vgm-player $(DESTDIR)$(PREFIX)/bin/vgm-player + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/bin/vgmplay + rm -f $(DESTDIR)$(PREFIX)/bin/vgm2pcm + rm -f $(DESTDIR)$(PREFIX)/bin/vgm2wav + rm -f $(DESTDIR)$(PREFIX)/bin/vgm-player + rm -f $(DESTDIR)$(MANPREFIX)/man1/vgmplay.1 + rm -rf $(DESTDIR)$(PREFIX)/share/vgmplay + +.PHONY: all clean install uninstall diff --git a/src/Stream.c b/src/Stream.c index 1e593d0..ab7282a 100644 --- a/src/Stream.c +++ b/src/Stream.c @@ -5,7 +5,7 @@ #include #include "stdbool.h" -#include +#include #ifdef WIN32 #include @@ -16,6 +16,8 @@ #include #ifdef __NetBSD__ #include +#elif defined(__APPLE__) || defined(__OpenBSD__) +// nothing #else #include #endif @@ -199,13 +201,13 @@ UINT8 SaveFile(UINT32 FileLen, const void* TempData) UINT32 CurSmpl; const UINT16* SmplData; - SmplData = (INT16*)TempData; + SmplData = (UINT16*)TempData; DataLen = SAMPLESIZE * FileLen / 0x02; for (CurSmpl = 0x00; CurSmpl < DataLen; CurSmpl ++) SndLogLen += fputLE16(SmplData[CurSmpl], hFile); } #endif - //sprintf(ResultStr, "Position:\t%ld\nBytes written:\t%ld\nFile Length:\t%lu\nPointer:\t%p", + //sprintf(ResultStr, "Position:\t%d\nBytes written:\t%d\nFile Length:\t%u\nPointer:\t%p", // TempVal[0], TempVal[1], FileLen, TempData); //AfxMessageBox(ResultStr); } diff --git a/src/VGMPlay.c b/src/VGMPlay.c index bb6c696..21612b5 100644 --- a/src/VGMPlay.c +++ b/src/VGMPlay.c @@ -6,7 +6,6 @@ /*3456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 0000000001111111111222222222233333333334444444444555555555566666666667777777777888888888899999*/ -// TODO: Callback "ChangeSampleRate" to fix YM2203's AY8910 // Mixer Muting ON: // Mixer's FM Volume is set to 0 or Mute -> absolutely muted @@ -23,7 +22,8 @@ // //#define ADDITIONAL_FORMATS //#define CONSOLE_MODE -//#define VGM_BIG_ENDIAN +//#define VGM_LITTLE_ENDIAN // enable optimizations for Little Endian systems +//#define VGM_BIG_ENDIAN // enable optimizations for Big Endian systems #include #include @@ -46,7 +46,29 @@ #ifndef EMSCRIPTEN #include // for pthread functions #endif +// (suitable?) Apple substitute for clock_gettime() +//#ifdef __MACH__ +#if 0 // not required in Mac OS X 10.12 and later +#include +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 0 +int clock_gettime(int clk_id, struct timespec *t) +{ + mach_timebase_info_data_t timebase; + mach_timebase_info(&timebase); + uint64_t time; + time = mach_absolute_time(); + double nseconds = ((double)time * (double)timebase.numer)/((double)timebase.denom); + double seconds = ((double)time * (double)timebase.numer)/((double)timebase.denom * 1e9); + t->tv_sec = seconds; + t->tv_nsec = nseconds; + return 0; +} +#else #include // for clock_gettime() + +#endif + #include // for usleep() #define MAX_PATH PATH_MAX @@ -287,6 +309,7 @@ UINT32 PauseTime; // current Pause Time float VolumeLevel; bool SurroundSound; +UINT8 HardStopOldVGMs; bool FadeRAWLog; //bool FullBufFill; // Fill Buffer until it's full bool PauseEmulate; @@ -302,6 +325,7 @@ bool FMForce; //bool FMAccurate; bool FMBreakFade; float FMVol; +bool FMOPL2Pan; CHIPS_OPTION ChipOpts[0x02]; @@ -425,6 +449,7 @@ void VGMPlay_Init(void) FadeTime = 5000; PauseTime = 0; + HardStopOldVGMs = 0x00; FadeRAWLog = false; VolumeLevel = 1.0f; //FullBufFill = false; @@ -433,6 +458,7 @@ void VGMPlay_Init(void) //FMAccurate = false; FMBreakFade = false; FMVol = 0.0f; + FMOPL2Pan = false; SurroundSound = false; VGMMaxLoop = 0x02; VGMPbRate = 0; @@ -469,8 +495,10 @@ void VGMPlay_Init(void) } ChipOpts[CurCSet].GameBoy.SpecialFlags = 0x0003; // default options, 0x8000 skips the option write and keeps NSFPlay's default values + // TODO: Is this really necessary?? ChipOpts[CurCSet].NES.SpecialFlags = 0x8000 | (0x00 << 12) | (0x3B << 4) | (0x01 << 2) | (0x03 << 0); + ChipOpts[CurCSet].SCSP.SpecialFlags = 0x0001; // bypass SCSP DSP TempCAud = CA_Paired[CurCSet]; for (CurChip = 0x00; CurChip < 0x03; CurChip ++, TempCAud ++) @@ -506,13 +534,13 @@ void VGMPlay_Init(void) #ifdef _DEBUG if (sizeof(CHIP_AUDIO) != sizeof(CAUD_ATTR) * CHIP_COUNT) { - printf("Fatal Error! ChipAudio structure invalid!\n"); + fprintf(stderr, "Fatal Error! ChipAudio structure invalid!\n"); getchar(); exit(-1); } if (sizeof(CHIPS_OPTION) != sizeof(CHIP_OPTS) * CHIP_COUNT) { - printf("Fatal Error! ChipOpts structure invalid!\n"); + fprintf(stderr, "Fatal Error! ChipOpts structure invalid!\n"); getchar(); exit(-1); } @@ -623,39 +651,124 @@ char* FindFile(const char* FileName) char** CurPath; UINT32 NameLen; UINT32 PathLen; + UINT32 FullLen; FILE* hFile; NameLen = strlen(FileName); //printf("Find File: %s\n", FileName); - // go to end of the list + // go to end of the list + get size of largest path // (The first entry has the lowest priority.) + PathLen = 0; CurPath = AppPaths; while(*CurPath != NULL) + { + FullLen = strlen(*CurPath); + if (FullLen > PathLen) + PathLen = FullLen; CurPath ++; + } CurPath --; + FullLen = PathLen + NameLen; + FullName = (char*)malloc(FullLen + 1); - while(CurPath >= AppPaths) + hFile = NULL; + for (; CurPath >= AppPaths; CurPath --) { - PathLen = strlen(*CurPath); - FullName = (char*)malloc(PathLen + NameLen + 0x01); strcpy(FullName, *CurPath); strcat(FullName, FileName); //printf("Trying path: %s\n", FullName); hFile = fopen(FullName, "r"); if (hFile != NULL) + break; + } + + if (hFile != NULL) + { + fclose(hFile); + //printf("Success!\n"); + return FullName; // The caller has to free the string. + } + else + { + free(FullName); + //printf("Fail!\n"); + return NULL; + } +} + +char* FindFile_List(const char** FileNameList) +{ + char* FullName; + const char** CurFile; + char** CurPath; + char* PathPtr; + UINT32 NameLen; + UINT32 PathLen; + UINT32 FullLen; + FILE* hFile; + + NameLen = 0; + CurFile = FileNameList; + while(*CurFile != NULL) + { + FullLen = strlen(*CurFile); + if (FullLen > NameLen) + NameLen = FullLen; + CurFile ++; + } + + // go to end of the list + get size of largest path + // (The first entry has the lowest priority.) + PathLen = 0; + CurPath = AppPaths; + while(*CurPath != NULL) + { + FullLen = strlen(*CurPath); + if (FullLen > PathLen) + PathLen = FullLen; + CurPath ++; + } + CurPath --; + FullLen = PathLen + NameLen; + FullName = (char*)malloc(FullLen + 1); + + hFile = NULL; + while(CurPath >= AppPaths) + { + strcpy(FullName, *CurPath); + PathPtr = FullName + strlen(FullName); + CurFile = FileNameList; + while(*CurFile != NULL) { - fclose(hFile); - //printf("Success!\n"); - return FullName; + strcpy(PathPtr, *CurFile); + + //printf("Trying path: %s\n", FullName); + hFile = fopen(FullName, "r"); + if (hFile != NULL) + break; + + CurFile ++; } + if (hFile != NULL) + break; CurPath --; } - //printf("Fail!\n"); - return NULL; + if (hFile != NULL) + { + fclose(hFile); + //printf("Success!\n"); + return FullName; // The caller has to free the string. + } + else + { + free(FullName); + //printf("Fail!\n"); + return NULL; + } } #endif @@ -939,7 +1052,7 @@ void PlayVGM(void) ResetPBTimer = false; if (StartThread()) { - printf("Error starting Playing Thread!\n"); + fprintf(stderr, "Error starting Playing Thread!\n"); return; } #ifdef CONSOLE_MODE @@ -1278,7 +1391,8 @@ static bool OpenVGMFile_Internal(gzFile hFile, UINT32 FileSize) UINT32 CurPos; UINT32 HdrLimit; - gzseek(hFile, 0x00, SEEK_SET); + //gzseek(hFile, 0x00, SEEK_SET); + gzrewind(hFile); gzgetLE32(hFile, &fccHeader); if (fccHeader != FCC_VGM) return false; @@ -1290,26 +1404,33 @@ static bool OpenVGMFile_Internal(gzFile hFile, UINT32 FileSize) VGMDataLen = FileSize; gzseek(hFile, 0x00, SEEK_SET); + //gzrewind(hFile); ReadVGMHeader(hFile, &VGMHead); + if (VGMHead.fccVGM != FCC_VGM) + { + fprintf(stderr, "VGM signature matched on the first read, but not on the second one!\n"); + fprintf(stderr, "This is a known zlib bug where gzseek fails. Please install a fixed zlib.\n"); + return false; + } VGMSampleRate = 44100; if (! VGMDataLen) VGMDataLen = VGMHead.lngEOFOffset; if (! VGMHead.lngEOFOffset || VGMHead.lngEOFOffset > VGMDataLen) { - printf("Warning! Invalid EOF Offset 0x%02X! (should be: 0x%02X)\n", + fprintf(stderr, "Warning! Invalid EOF Offset 0x%02X! (should be: 0x%02X)\n", VGMHead.lngEOFOffset, VGMDataLen); VGMHead.lngEOFOffset = VGMDataLen; } if (VGMHead.lngLoopOffset && ! VGMHead.lngLoopSamples) { // 0-Sample-Loops causes the program to hangs in the playback routine - printf("Warning! Ignored Zero-Sample-Loop!\n"); + fprintf(stderr, "Warning! Ignored Zero-Sample-Loop!\n"); VGMHead.lngLoopOffset = 0x00000000; } if (VGMHead.lngDataOffset < 0x00000040) { - printf("Warning! Invalid Data Offset 0x%02X!\n", VGMHead.lngDataOffset); + fprintf(stderr, "Warning! Invalid Data Offset 0x%02X!\n", VGMHead.lngDataOffset); VGMHead.lngDataOffset = 0x00000040; } @@ -1321,7 +1442,8 @@ static bool OpenVGMFile_Internal(gzFile hFile, UINT32 FileSize) VGMData = (UINT8*)malloc(VGMDataLen); if (VGMData == NULL) return false; - gzseek(hFile, 0x00, SEEK_SET); + //gzseek(hFile, 0x00, SEEK_SET); + gzrewind(hFile); gzread(hFile, VGMData, VGMDataLen); // Read Extra Header Data @@ -1700,7 +1822,8 @@ static wchar_t* ReadWStrFromFile(gzFile hFile, UINT32* FilePos, UINT32 EOFPos) if (TextStr == NULL) return NULL; - gzseek(hFile, CurPos, SEEK_SET); + if ((UINT32)gztell(hFile) != CurPos) + gzseek(hFile, CurPos, SEEK_SET); TempStr = TextStr - 1; StrLen = 0x00; do @@ -1782,7 +1905,8 @@ static UINT32 GetVGMFileInfo_Internal(gzFile hFile, UINT32 FileSize, UINT32 TempLng; VGM_HEADER TempHead; - gzseek(hFile, 0x00, SEEK_SET); + //gzseek(hFile, 0x00, SEEK_SET); + gzrewind(hFile); gzgetLE32(hFile, &fccHeader); if (fccHeader != FCC_VGM) return 0x00; @@ -1790,7 +1914,8 @@ static UINT32 GetVGMFileInfo_Internal(gzFile hFile, UINT32 FileSize, if (RetVGMHead == NULL && RetGD3Tag == NULL) return FileSize; - gzseek(hFile, 0x00, SEEK_SET); + //gzseek(hFile, 0x00, SEEK_SET); + gzrewind(hFile); ReadVGMHeader(hFile, &TempHead); if (! TempHead.lngEOFOffset || TempHead.lngEOFOffset > FileSize) @@ -1947,7 +2072,7 @@ const char* GetChipName(UINT8 ChipID) const char* CHIP_STRS[CHIP_COUNT] = { "SN76496", "YM2413", "YM2612", "YM2151", "SegaPCM", "RF5C68", "YM2203", "YM2608", "YM2610", "YM3812", "YM3526", "Y8950", "YMF262", "YMF278B", "YMF271", "YMZ280B", - "RF5C164", "PWM", "AY8910", "GameBoy", "NES APU", "MultiPCM", "uPD7759", "OKIM6258", + "RF5C164", "PWM", "AY8910", "GameBoy", "NES APU", "YMW258", "uPD7759", "OKIM6258", "OKIM6295", "K051649", "K054539", "HuC6280", "C140", "K053260", "Pokey", "QSound", "SCSP", "WSwan", "VSU", "SAA1099", "ES5503", "ES5506", "X1-010", "C352", "GA20"}; @@ -1973,7 +2098,6 @@ const char* GetChipName(UINT8 ChipID) const char* GetAccurateChipName(UINT8 ChipID, UINT8 SubType) { const char* RetStr; - static char TempStr[0x10]; if ((ChipID & 0x7F) >= CHIP_COUNT) return NULL; @@ -2002,10 +2126,13 @@ const char* GetAccurateChipName(UINT8 ChipID, UINT8 SubType) RetStr = "SN94624"; break; case 0x06: - RetStr = "NCR7496"; + RetStr = "SEGA PSG"; break; case 0x07: - RetStr = "SEGA PSG"; + RetStr = "NCR8496"; + break; + case 0x08: + RetStr = "PSSJ-3"; break; default: RetStr = "SN76496"; @@ -2021,6 +2148,12 @@ const char* GetAccurateChipName(UINT8 ChipID, UINT8 SubType) if (ChipID & 0x80) RetStr = "VRC7"; break; + case 0x02: + if (! (ChipID & 0x80)) + RetStr = "YM2612"; + else + RetStr = "YM3438"; + break; case 0x04: RetStr = "Sega PCM"; break; @@ -2071,6 +2204,12 @@ const char* GetAccurateChipName(UINT8 ChipID, UINT8 SubType) else RetStr = "NES APU + FDS"; break; + case 0x19: + if (! (ChipID & 0x80)) + RetStr = "K051649"; + else + RetStr = "K052539"; + break; case 0x1C: switch(SubType) { @@ -2079,7 +2218,7 @@ const char* GetAccurateChipName(UINT8 ChipID, UINT8 SubType) RetStr = "C140"; break; case 0x02: - RetStr = "C140 (219)"; + RetStr = "C219"; break; } break; @@ -2120,7 +2259,7 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) case 0x00: Clock = FileHead->lngHzPSG; AllowBit31 = 0x01; // T6W28 Mode - if (RetSubType != NULL && ! (Clock & 0x80000000)) // The T6W28 is handles differently. + if (RetSubType != NULL && ! (Clock & 0x80000000)) // The T6W28 is handled differently. { switch(FileHead->bytPSG_SRWidth) { @@ -2132,9 +2271,14 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) break; case 0x10: // 0x8000 if (FileHead->shtPSG_Feedback == 0x0009) - SubType = 0x07; // SEGA PSG + SubType = 0x06; // SEGA PSG else if (FileHead->shtPSG_Feedback == 0x0022) - SubType = 0x06; // NCR7496 + { + if (FileHead->bytPSG_Flags & 0x10) // if Tandy noise mode enabled + SubType = (FileHead->bytPSG_Flags & 0x02) ? 0x07 : 0x08; // NCR8496 / PSSJ-3 + else + SubType = 0x07; // NCR8496 + } break; case 0x11: // 0x10000 if (FileHead->bytPSG_Flags & 0x08) // Clock Divider == 1? @@ -2150,12 +2294,13 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) 03 SN76494 0x10000, 0x04, 0x08, FALSE, FALSE, 1, TRUE 0C 11 0D (00|04|08|01) 04 SN76496 0x10000, 0x04, 0x08, FALSE, FALSE, 8, TRUE 0C 11 05 (00|04|00|01) [same as SN76489A] 05 SN94624 0x4000, 0x01, 0x02, TRUE, FALSE, 1, TRUE 03 0F 0F (02|04|08|01) [unverified, SN76489A without /8] - 06 NCR7496 0x8000, 0x02, 0x20, FALSE, FALSE, 8, TRUE 22 10 05 (00|04|00|01) [unverified] - 07 GameGear PSG 0x8000, 0x01, 0x08, TRUE, TRUE, 8, FALSE 09 10 02 (02|00|00|00) - 07 SEGA VDP PSG 0x8000, 0x01, 0x08, TRUE, FALSE, 8, FALSE 09 10 06 (02|04|00|00) + 06 GameGear PSG 0x8000, 0x01, 0x08, TRUE, TRUE, 8, FALSE 09 10 02 (02|00|00|00) + 06 SEGA VDP PSG 0x8000, 0x01, 0x08, TRUE, FALSE, 8, FALSE 09 10 06 (02|04|00|00) + 07 NCR8496 0x8000, 0x02, 0x20, TRUE, FALSE, 8, TRUE 22 10 07 (02|04|00|01) + 08 PSSJ-3 0x8000, 0x02, 0x20, FALSE, FALSE, 8, TRUE 22 10 05 (00|04|00|01) 01 U8106 0x4000, 0x01, 0x02, TRUE, FALSE, 8, TRUE 03 0F 07 (02|04|00|01) [unverified, same as SN76489] 02 Y2404 0x10000, 0x04, 0x08, FALSE, FALSE; 8, TRUE 0C 11 05 (00|04|00|01) [unverified, same as SN76489A] - -- T6W28 0x4000, 0x01, 0x04, ????, FALSE, 8, ???? 05 0F ?? (??|??|00|01) [It IS stereo, but not in GameGear way]. + -- T6W28 0x10000, 0x04, 0x08, ????, FALSE, 8, ???? 0C 11 ?? (??|??|00|01) [It IS stereo, but not in GameGear way]. */ } break; @@ -2165,6 +2310,7 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) break; case 0x02: Clock = FileHead->lngHzYM2612; + AllowBit31 = 0x01; // YM3438 Mode break; case 0x03: Clock = FileHead->lngHzYM2151; @@ -2247,6 +2393,7 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) break; case 0x19: Clock = FileHead->lngHzK051649; + AllowBit31 = 0x01; // SCC/SCC+ Bit break; case 0x1A: Clock = FileHead->lngHzK054539; @@ -2293,6 +2440,7 @@ UINT32 GetChipClock(VGM_HEADER* FileHead, UINT8 ChipID, UINT8* RetSubType) break; case 0x27: Clock = FileHead->lngHzC352; + AllowBit31 = 0x01; // disable rear channels break; case 0x28: Clock = FileHead->lngHzGA20; @@ -2339,7 +2487,7 @@ static UINT16 GetChipVolume(VGM_HEADER* FileHead, UINT8 ChipID, UINT8 ChipNum, U 0x80, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x98, // 08-0F 0x80, 0xE0/*0xCD*/, 0x100, 0xC0, 0x100, 0x40, 0x11E, 0x1C0, // 10-17 0x100/*110*/, 0xA0, 0x100, 0x100, 0x100, 0xB3, 0x100, 0x100, // 18-1F - 0x100, 0x100, 0x100, 0x100, 0x40, 0x20, 0x100, 0x40, // 20-27 + 0x20, 0x100, 0x100, 0x100, 0x40, 0x20, 0x100, 0x40, // 20-27 0x280}; UINT16 Volume; UINT8 CurChp; @@ -2593,7 +2741,6 @@ static void Chips_GeneralActions(UINT8 Mode) ym2612_set_options((UINT8)ChipOpts[0x00].YM2612.SpecialFlags); ChipOpts[0x01].YM2612.EmuCore = ChipOpts[0x00].YM2612.EmuCore; ChipOpts[0x01].YM2612.SpecialFlags = ChipOpts[0x00].YM2612.SpecialFlags; - ChipCnt = (VGMHead.lngHzYM2612 & 0x40000000) ? 0x02 : 0x01; for (CurChip = 0x00; CurChip < ChipCnt; CurChip ++) { @@ -2679,7 +2826,7 @@ static void Chips_GeneralActions(UINT8 Mode) ChipClk = GetChipClock(&VGMHead, (CurChip << 7) | CAA->ChipType, NULL); CAA->SmpRate = device_start_ym2203(CurChip, ChipClk, COpt->SpecialFlags & 0x01, VGMHead.bytAYFlagYM2203, - &CAA->Paired->SmpRate); + (int*)&CAA->Paired->SmpRate); CAA->StreamUpdate = &ym2203_stream_update; CAA->Paired->StreamUpdate = &ym2203_stream_update_ay; ym2203_set_srchg_cb(CurChip, &ChangeChipSampleRate, CAA, CAA->Paired); @@ -2709,7 +2856,7 @@ static void Chips_GeneralActions(UINT8 Mode) ChipClk = GetChipClock(&VGMHead, (CurChip << 7) | CAA->ChipType, NULL); CAA->SmpRate = device_start_ym2608(CurChip, ChipClk, COpt->SpecialFlags & 0x01, VGMHead.bytAYFlagYM2608, - &CAA->Paired->SmpRate); + (int*)&CAA->Paired->SmpRate); CAA->StreamUpdate = &ym2608_stream_update; CAA->Paired->StreamUpdate = &ym2608_stream_update_ay; ym2608_set_srchg_cb(CurChip, &ChangeChipSampleRate, CAA, CAA->Paired); @@ -2740,7 +2887,7 @@ static void Chips_GeneralActions(UINT8 Mode) ChipClk = GetChipClock(&VGMHead, (CurChip << 7) | CAA->ChipType, NULL); CAA->SmpRate = device_start_ym2610(CurChip, ChipClk, COpt->SpecialFlags & 0x01, - &CAA->Paired->SmpRate); + (int*)&CAA->Paired->SmpRate); CAA->StreamUpdate = (ChipClk & 0x80000000) ? ym2610b_stream_update : ym2610_stream_update; CAA->Paired->StreamUpdate = &ym2610_stream_update_ay; @@ -3221,6 +3368,9 @@ static void Chips_GeneralActions(UINT8 Mode) } if (VGMHead.lngHzQSound) { + qsound_set_emu_core(ChipOpts[0x00].QSound.EmuCore); + ChipOpts[0x01].QSound.EmuCore = ChipOpts[0x00].QSound.EmuCore; + //ChipVol = 0x100; ChipCnt = (VGMHead.lngHzQSound & 0x40000000) ? 0x02 : 0x01; for (CurChip = 0x00; CurChip < ChipCnt; CurChip ++) @@ -3241,7 +3391,7 @@ static void Chips_GeneralActions(UINT8 Mode) scsp_set_options((UINT8)ChipOpts[0x00].SCSP.SpecialFlags); ChipOpts[0x01].SCSP.SpecialFlags = ChipOpts[0x00].SCSP.SpecialFlags; - //ChipVol = 0x100; + //ChipVol = 0x20; ChipCnt = (VGMHead.lngHzSCSP & 0x40000000) ? 0x02 : 0x01; for (CurChip = 0x00; CurChip < ChipCnt; CurChip ++) { @@ -3253,7 +3403,7 @@ static void Chips_GeneralActions(UINT8 Mode) CAA->StreamUpdate = &SCSP_Update; CAA->Volume = GetChipVolume(&VGMHead, CAA->ChipType, CurChip, ChipCnt); - AbsVol += CAA->Volume; + AbsVol += CAA->Volume * 8; } } if (VGMHead.lngHzWSwan) @@ -3362,6 +3512,9 @@ static void Chips_GeneralActions(UINT8 Mode) } if (VGMHead.lngHzC352) { + c352_set_options((UINT8)ChipOpts[0x00].C352.SpecialFlags); + ChipOpts[0x01].C352.SpecialFlags = ChipOpts[0x00].C352.SpecialFlags; + //ChipVol = 0x40; ChipCnt = (VGMHead.lngHzC352 & 0x40000000) ? 0x02 : 0x01; for (CurChip = 0x00; CurChip < ChipCnt; CurChip ++) @@ -3914,7 +4067,7 @@ static UINT8 StartThread(void) } static UINT8 StopThread(void) -{ +{ #ifdef WIN32 UINT16 Cnt; #endif @@ -4169,7 +4322,7 @@ static void AddPCMData(UINT8 Type, UINT32 DataSize, const UINT8* Data) } } if (BankSize != TempBnk->DataSize) - printf("Error reading Data Block! Data Size conflict!\n"); + fprintf(stderr, "Error reading Data Block! Data Size conflict!\n"); TempPCM->DataSize += BankSize; // realloc may've moved the Bank block, so refresh all DAC Streams @@ -4257,12 +4410,12 @@ static void DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* Ent2B = (UINT16*)PCMTbl.Entries; if (! PCMTbl.EntryCount) { - printf("Error loading table-compressed data block! No table loaded!\n"); + fprintf(stderr, "Error loading table-compressed data block! No table loaded!\n"); return; } else if (BitDec != PCMTbl.BitDec || BitCmp != PCMTbl.BitCmp) { - printf("Warning! Data block and loaded value table incompatible!\n"); + fprintf(stderr, "Warning! Data block and loaded value table incompatible!\n"); return; } } @@ -4303,7 +4456,7 @@ static void DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* } //Time = GetTickCount() - Time; - //printf("Decompression Time: %lu\n", Time); + //printf("Decompression Time: %u\n", Time); return; }*/ @@ -4353,6 +4506,8 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* BitCmp = Data[0x06]; CmpSubType = Data[0x07]; AddVal = ReadLE16(&Data[0x08]); + Ent1B = NULL; + Ent2B = NULL; if (CmpSubType == 0x02) { @@ -4361,13 +4516,13 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* if (! PCMTbl.EntryCount) { Bank->DataSize = 0x00; - printf("Error loading table-compressed data block! No table loaded!\n"); + fprintf(stderr, "Error loading table-compressed data block! No table loaded!\n"); return false; } else if (BitDec != PCMTbl.BitDec || BitCmp != PCMTbl.BitCmp) { Bank->DataSize = 0x00; - printf("Warning! Data block and loaded value table incompatible!\n"); + fprintf(stderr, "Warning! Data block and loaded value table incompatible!\n"); return false; } } @@ -4378,6 +4533,7 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* InShift = 0; OutShift = BitDec - BitCmp; OutDataEnd = Bank->Data + Bank->DataSize; + OutVal = 0x0000; for (OutPos = Bank->Data; OutPos < OutDataEnd && InPos < InDataEnd; OutPos += ValSize) { @@ -4436,7 +4592,7 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* if (ValSize == 0x01) *((UINT8*)OutPos) = (UINT8)OutVal; else //if (ValSize == 0x02) - *((UINT16*)OutPos) = (UINT16)OutVal; // EMSCRIPTEN potentially unaligned + *((UINT16*)OutPos) = (UINT16)OutVal;// EMSCRIPTEN potentially unaligned #else if (ValSize == 0x01) { @@ -4460,13 +4616,13 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* if (! PCMTbl.EntryCount) { Bank->DataSize = 0x00; - printf("Error loading table-compressed data block! No table loaded!\n"); + fprintf(stderr, "Error loading table-compressed data block! No table loaded!\n"); return false; } else if (BitDec != PCMTbl.BitDec || BitCmp != PCMTbl.BitCmp) { Bank->DataSize = 0x00; - printf("Warning! Data block and loaded value table incompatible!\n"); + fprintf(stderr, "Warning! Data block and loaded value table incompatible!\n"); return false; } @@ -4517,16 +4673,13 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* case 0x02: #ifndef VGM_BIG_ENDIAN AddVal = Ent2B[InVal]; + OutVal += AddVal; + OutVal &= OutMask; + *((UINT16*)OutPos) = (UINT16)OutVal; #else AddVal = ReadLE16((UINT8*)&Ent2B[InVal]); -#endif OutVal += AddVal; OutVal &= OutMask; -#ifndef VGM_BIG_ENDIAN -// *((UINT16*)OutPos) = (UINT16)OutVal; EMSCRIPTEN potential alignment issue - OutPos[0x00] = (UINT8)((OutVal & 0xFF00) >> 8); - OutPos[0x01] = (UINT8)((OutVal & 0x00FF) >> 0); -#else OutPos[0x00] = (UINT8)((OutVal & 0x00FF) >> 0); OutPos[0x01] = (UINT8)((OutVal & 0xFF00) >> 8); #endif @@ -4535,13 +4688,13 @@ static bool DecompressDataBlk(VGM_PCM_DATA* Bank, UINT32 DataSize, const UINT8* } break; default: - printf("Error: Unknown data block compression!\n"); + fprintf(stderr, "Error: Unknown data block compression!\n"); return false; } #if defined(_DEBUG) && defined(WIN32) Time = GetTickCount() - Time; - printf("Decompression Time: %lu\n", Time); + fprintf(stderr, "Decompression Time: %u\n", Time); #endif return true; @@ -4605,7 +4758,7 @@ static void ReadPCMTable(UINT32 DataSize, const UINT8* Data) memcpy(PCMTbl.Entries, &Data[0x06], TblSize); if (DataSize < 0x06 + TblSize) - printf("Warning! Bad PCM Table Length!\n"); + fprintf(stderr, "Warning! Bad PCM Table Length!\n"); return; } @@ -4793,12 +4946,19 @@ static void InterpretVGM(UINT32 SampleCount) if (VGMHead.lngTotalSamples != (UINT32)VGMSmplPos) { #ifdef CONSOLE_MODE - printf("Warning! Header Samples: %u\t Counted Samples: %u\n", + fprintf(stderr, "Warning! Header Samples: %u\t Counted Samples: %u\n", VGMHead.lngTotalSamples, VGMSmplPos); ErrorHappened = true; #endif VGMHead.lngTotalSamples = VGMSmplPos; } + + if (HardStopOldVGMs) + { + if (VGMHead.lngVersion < 0x150 || + (VGMHead.lngVersion == 0x150 && HardStopOldVGMs == 0x02)) + Chips_GeneralActions(0x01); // reset all chips, for instant silence + } VGMEnd = true; break; } @@ -4912,7 +5072,7 @@ static void InterpretVGM(UINT32 SampleCount) case 0x87: // YMF278B RAM Image if (! CHIP_CHECK(YMF278B)) break; - //ymf278b_write_ram(CurChip, ROMSize, DataStart, DataLen, ROMData); + ymf278b_write_ram(CurChip, DataStart, DataLen, ROMData); break; case 0x88: // Y8950 DELTA-T ROM Image if (! CHIP_CHECK(Y8950) || PlayingMode == 0x01) @@ -5020,6 +5180,11 @@ static void InterpretVGM(UINT32 SampleCount) scsp_write_ram(CurChip, DataStart, DataLen, ROMData); break; #endif + case 0xE1: // ES5503 RAM + if (! CHIP_CHECK(ES5503)) + break; + es5503_write_ram(CurChip, DataStart, DataLen, ROMData); + break; } break; } @@ -5029,6 +5194,16 @@ static void InterpretVGM(UINT32 SampleCount) PCMBank[0x00].DataPos = ReadLE32(&VGMPnt[0x01]); VGMPos += 0x05; break; + case 0x31: // Set AY8910 stereo mask + TempByt = VGMPnt[0x01]; + TempLng = TempByt & 0x3F; + CurChip = (TempByt & 0x80)? 1: 0; + if (TempByt & 0x40) + ym2203_set_stereo_mask_ay(CurChip, TempLng); + else + ayxx_set_stereo_mask(CurChip, TempLng); + VGMPos += 0x02; + break; case 0x4F: // GG Stereo if (CHIP_CHECK(SN76496)) { @@ -5558,7 +5733,7 @@ static void InterpretVGM(UINT32 SampleCount) #ifdef CONSOLE_MODE if (! CmdList[Command]) { - printf("Unknown command: %02hhX\n", Command); + fprintf(stderr, "Unknown command: %02hhX\n", Command); CmdList[Command] = true; } #endif @@ -5874,7 +6049,7 @@ static void ResampleChipStream(CA_LIST* CLst, WAVE_32BS* RetSample, UINT32 Lengt InNow = (UINT32)fp2i_ceil(InPosL); /*if (InNow - CAA->SmpNext >= SMPL_BUFSIZE) { - printf("Sample Buffer Overflow!\n"); + fprintf(stderr, "Sample Buffer Overflow!\n"); #ifdef _DEBUG *(char*)NULL = 0; #endif @@ -5895,7 +6070,7 @@ static void ResampleChipStream(CA_LIST* CLst, WAVE_32BS* RetSample, UINT32 Lengt InBase = FIXPNT_FACT + (UINT32)(InPosL - (SLINT)CAA->SmpNext * FIXPNT_FACT); /*if (fp2i_floor(InBase) >= SMPL_BUFSIZE) { - printf("Sample Buffer Overflow!\n"); + fprintf(stderr, "Sample Buffer Overflow!\n"); #ifdef _DEBUG *(char*)NULL = 0; #endif diff --git a/src/VGMPlay.dsp b/src/VGMPlay.dsp new file mode 100644 index 0000000..7098f91 --- /dev/null +++ b/src/VGMPlay.dsp @@ -0,0 +1,1120 @@ +# Microsoft Developer Studio Project File - Name="VGMPlay" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=VGMPlay - Win32 Debug +!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE +!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl +!MESSAGE +!MESSAGE NMAKE /f "VGMPlay.mak". +!MESSAGE +!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben +!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: +!MESSAGE +!MESSAGE NMAKE /f "VGMPlay.mak" CFG="VGMPlay - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "VGMPlay - Win32 Release" (basierend auf "Win32 (x86) Console Application") +!MESSAGE "VGMPlay - Win32 Debug" (basierend auf "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MD /W3 /GX /Ox /Ot /Og /Oi /Ob2 /I "zlib" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "VGM_LITTLE_ENDIAN" /D "ENABLE_ALL_CORES" /D "CONSOLE_MODE" /D "ADDITIONAL_FORMATS" /D "SET_CONSOLE_TITLE" /FD /c +# SUBTRACT CPP /Oa /Ow /YX /Yc /Yu +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 msvcrt.lib oldnames.lib kernel32.lib user32.lib advapi32.lib winmm.lib zdll.lib /nologo /subsystem:console /machine:I386 /nodefaultlib /libpath:"zlib" +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=..\vgm2txt\HiddenMsg.exe Release\VGMPlay.exe +# End Special Build Tool + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "zlib" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "VGM_LITTLE_ENDIAN" /D "ENABLE_ALL_CORES" /D "CONSOLE_MODE" /D "ADDITIONAL_FORMATS" /D "SET_CONSOLE_TITLE" /FR /FD /GZ /c +# SUBTRACT CPP /YX /Yc /Yu +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 msvcrtd.lib oldnames.lib kernel32.lib user32.lib advapi32.lib winmm.lib zlibd.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib /libpath:"zlib" +# SUBTRACT LINK32 /profile /map + +!ENDIF + +# Begin Target + +# Name "VGMPlay - Win32 Release" +# Name "VGMPlay - Win32 Debug" +# Begin Group "Quellcodedateien" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\pt_ioctl.c +# End Source File +# Begin Source File + +SOURCE=.\Stream.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay_AddFmts.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\VGMPlayUI.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header-Dateien" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\PortTalk_IOCTL.h +# End Source File +# Begin Source File + +SOURCE=.\Stream.h +# End Source File +# Begin Source File + +SOURCE=".\XMasFiles\SWJ-SQRC01_1C.h" +# End Source File +# Begin Source File + +SOURCE=.\VGMFile.h +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay.h +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay_Intf.h +# End Source File +# Begin Source File + +SOURCE=.\XMasFiles\XMasBonus.h +# End Source File +# End Group +# Begin Group "Ressourcendateien" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "SoundCore" + +# PROP Default_Filter "c;h;cpp" +# Begin Group "FM OPL Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2413intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2413intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2413tone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\262intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\262intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\281btone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\3526intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\3526intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\3812intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\3812intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\8950intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\8950intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu_opl2.c +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu_opl3.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2413.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2413.h +# End Source File +# Begin Source File + +SOURCE=.\chips\emutypes.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fmopl.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\fmopl.h +# End Source File +# Begin Source File + +SOURCE=.\chips\opl.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\chips\opl.h +# End Source File +# Begin Source File + +SOURCE=.\chips\vrc7tone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf262.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf262.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf278b.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf278b.h +# End Source File +# End Group +# Begin Group "FM OPN Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2203intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2203intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2608intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2608intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2610intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2610intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2612intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2612intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fm.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\fm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fm2612.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2612.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2612.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ym3438.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym3438.h +# End Source File +# End Group +# Begin Group "FM OPx Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2151intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2151intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scsp.c +# End Source File +# Begin Source File + +SOURCE=.\chips\scsp.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scspdsp.c +# End Source File +# Begin Source File + +SOURCE=.\chips\scspdsp.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scsplfo.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2151.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2151.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf271.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf271.h +# End Source File +# End Group +# Begin Group "PCM Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\c140.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c140.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c352.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c352.h +# End Source File +# Begin Source File + +SOURCE=.\chips\es5503.c +# End Source File +# Begin Source File + +SOURCE=.\chips\es5503.h +# End Source File +# Begin Source File + +SOURCE=.\chips\es5506.c +# End Source File +# Begin Source File + +SOURCE=.\chips\es5506.h +# End Source File +# Begin Source File + +SOURCE=.\chips\iremga20.c +# End Source File +# Begin Source File + +SOURCE=.\chips\iremga20.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k053260.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k053260.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k054539.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k054539.h +# End Source File +# Begin Source File + +SOURCE=.\chips\multipcm.c +# End Source File +# Begin Source File + +SOURCE=.\chips\multipcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6258.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6258.h +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6295.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6295.h +# End Source File +# Begin Source File + +SOURCE=.\chips\pwm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\pwm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_ctr.c +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_ctr.h +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_intf.c +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_mame.c +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound_mame.h +# End Source File +# Begin Source File + +SOURCE=.\chips\rf5c68.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\rf5c68.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scd_pcm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\scd_pcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\segapcm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\segapcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\upd7759.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\upd7759.h +# End Source File +# Begin Source File + +SOURCE=.\chips\x1_010.c +# End Source File +# Begin Source File + +SOURCE=.\chips\x1_010.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymdeltat.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ymdeltat.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymz280b.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ymz280b.h +# End Source File +# End Group +# Begin Group "OPL Mapper" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\ay8910_opl.c +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496_opl.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413_opl.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413hd.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413hd.h +# End Source File +# End Group +# Begin Group "PSG Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\ay8910.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ay8910.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ay_intf.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ay_intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2149.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2149.h +# End Source File +# Begin Source File + +SOURCE=.\chips\gb.c +# End Source File +# Begin Source File + +SOURCE=.\chips\gb.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k051649.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k051649.h +# End Source File +# Begin Source File + +SOURCE=.\chips\Ootake_PSG.c +# End Source File +# Begin Source File + +SOURCE=.\chips\Ootake_PSG.h +# End Source File +# Begin Source File + +SOURCE=.\chips\pokey.c +# End Source File +# Begin Source File + +SOURCE=.\chips\pokey.h +# End Source File +# Begin Source File + +SOURCE=.\chips\saa1099.c +# End Source File +# Begin Source File + +SOURCE=.\chips\saa1099.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76489.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76489.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn764intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn764intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\vsu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\vsu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_audio.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_audio.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_initialIo.h +# End Source File +# End Group +# Begin Group "NES Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\nes_apu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_apu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_defs.h +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_intf.c +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_apu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_apu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_dmc.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_dmc.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_fds.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_fds.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\chips\ChipIncl.h +# End Source File +# Begin Source File + +SOURCE=.\ChipMapper.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\ChipMapper.h +# End Source File +# Begin Source File + +SOURCE=.\chips\dac_control.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\dac_control.h +# End Source File +# Begin Source File + +SOURCE=.\chips\mamedef.h +# End Source File +# Begin Source File + +SOURCE=.\chips\panning.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\panning.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\ReadMe.txt +# End Source File +# End Target +# End Project diff --git a/src/VGMPlay.dsw b/src/VGMPlay.dsw new file mode 100644 index 0000000..47d3691 --- /dev/null +++ b/src/VGMPlay.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN! + +############################################################################### + +Project: "VGMPlay"=".\VGMPlay.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/src/VGMPlay.h b/src/VGMPlay.h index 39652c3..914fb39 100644 --- a/src/VGMPlay.h +++ b/src/VGMPlay.h @@ -2,7 +2,7 @@ #include "VGMFile.h" -#define VGMPLAY_VER_STR "0.40.6" +#define VGMPLAY_VER_STR "0.40.9" //#define APLHA //#define BETA #define VGM_VER_STR "1.71b" diff --git a/src/VGMPlay.ini b/src/VGMPlay.ini new file mode 100644 index 0000000..f6b320d --- /dev/null +++ b/src/VGMPlay.ini @@ -0,0 +1,351 @@ +; VGMPlay Configuration File +; -------------------------- +; +; Default Values are usually 0 (False for boolean ones) +; Boolean Values are: +; False / 0 +; True / 1 + +[General] +; Default Sample Rate: 44100 +SampleRate = 48000 +; If you set PlaybackRate to 50, some songs will play slower, like on a PAL console. +; If you set it to 60, some songs may play faster, like PAL games on a NTSC console. +PlaybackRate = 0 + +; double the volume of the YM2xxx SSG, if it gets overridden by a VGM's header. +; This option will be removed once all VGMs on vgmrips are fixed. +DoubleSSGVol = True + +; Display Japanese GD3 Tag if available +; Most western Windows systems won't be able to display Japanese characters in the normal console, +; so use at own risk. (Linux doesn't have this problem.) +PreferJapTag = False + +; Default Fade Time: 5000 +FadeTime = 8000 +; In-Playlist Fade Time: for all looping tracks in a playlist (except the last one) +; Setting this to 0 simulate a Song-Medley without gaps. +; Default Fade Time in Playlist: 2000 +FadeTimePL = 0 +JinglePause = 1000 + +; enforce silence at the end of old VGMs (version <1.50), enable to fix hanging notes in playlists +HardStopOld = False +; Fade RAW logs from emulators (VGMs without Creator-Tag) so that they don't +; end abruptly at the full volume level but at 33% +FadeRAWLogs = False +; Default Volume: 1.0 (of course) +Volume = 1.0 + +; Log Sound to Wave: 0 - no logging, 1 - log only, 2 - play and log +LogSound = 0 + +; Maximum Loops before fading +; Default: 0x02 (0x01 for CMF) +MaxLoops = 0x02 +MaxLoopsCMF = 0x01 + +; Resampling Mode: +; 0 - always high quality resampler (default) +; 1 - HQ resampler for upsampling, LQ resampler for downsampling (recommend for slow machines) +; 2 - always low quality resampler (very fast) +ResamplingMode = 0 +; Chip Sample Mode: +; 0 - Native (default) +; 1 - use highest sampling rate (native or the one below) +; 2 - use always the sampling rate below (CPU friendly) +; 3 - use native sample rate for FM chips and highest sampling rate for all others +ChipSmplMode = 3 +; Default Chip Sample Rate: 0 (results in value of Playback SampleRate) +ChipSmplRate = 0 + +; [Windows only] waveOut device ID to use (0 = default/Wave Mapper) +OutputDevice = 0 +; Force Audio Buffer Number (1 Buffer = 10 ms, Minimum is 4, Maximum is 200) +; higher values result in greater delays while seeking (and pausing with EmulatePause On) +; set this to 50 or 100 if the sound is choppy +; 0 results in 10 for Windows 98/ME/2000/XP/7, +; 50 for Windows 95 and 20 for Windows Vista +AudioBuffers = 0 +; "Surround" Sound - inverts the waveform of the right channel to create a pseudo surround effect +; use only with headphones!! +SurroundSound = False +; Emulate during Pause: continue to generate sound while playback is paused +EmulatePause = False +; Shows the last data block played with DAC Stream Command 95. Useful for debugging. +; 0 - don't show +; 1 - show data block ID only +; 2 - show data block ID + frequency +; 3 - show data block ID + frequency in KHz +ShowStreamCmds = 3 + +; --- FM Hardware Section Start --- +; Hardware FM Port (in hex, usually 220 or 388) +FMPort = 0 +; Force FM Mode, even if only the SN76496 is used, also enables Mixed Mode (Hardware FM + Software Emulator) +FMForce = False +; Makes some FM-Voices fading on track-end instead of instant silencing them +FMSoftStop = True +; Overrides Volume setting, if FM hardware is used +; Possible values: +; = 0 - don't override (default) +; > 0 - override Volume setting and VGM Volume Modifier +; < 0 - multiply with volume +FMVolume = 1.0 +; allow OPL3 panning commands in OPL 1/2 data (default: False) +FMOPL2Pan = True +; --- FM Hardware Section End --- + + +; Chip Options +; ------------ +; - Disabled = False/True +; disable the emulation of the current chip +; - EmulatorType = 0 / 1 / ... +; 0 is recommend/default, 1+ are alternative emulation cores +; - MuteMask = 0 +; mute channels by setting the muting bitmask +; - MuteCh? = False/True +; mute channel ? +; - Mutexxx = False/True +; mute channel with the name xxx (e.g. DAC, DT, BD, ...) + +[SN76496] +Disabled = False +; EmulatorType: 0 - MAME, 1 - Maxim +EmulatorType = 0x00 +; Channels: 4 (0-3) + +[YM2413] +Disabled = False +; FMPort = 0: +; EmulatorType: 0 - EMU2413, 1 - MAME +; FMPort != 0: +; EmulatorType: 0 - Valley Bell Custom, 1 - Meka +EmulatorType = 0x00 +; Channels: 14 (0-8, BD, SD, TOM, TC, HH) + +[YM2612] +Disabled = False +; EmulatorType: 0 - MAME (Genesis Plus GX), 1 - Nuked OPN2, 2 - Gens +EmulatorType = 0x00 +; MAME: if on, the chip updates its left/right channel alternatively, creating a nice pseudo-stereo effect +; Note: If you emulate at a set sample rate, this option halves it. +PseudoStereo = False +; Gens: DAC Highpass-Filter (sometimes sounds good, but sometimes it generates a terrible noise) +DACHighpass = False +; Gens: SSG-EG Enable (very buggy) +SSG-EG = False +; Nuked OPN2 chip type: 0 - YM2612 with Mega Drive model 1 filter simulation +; 1 - ASIC YM3438, 2 - Discrete YM3438, 3 - YM2612 +NukedType = 0x00 +; Channels: 7 (0-5, DAC) + +[YM2151] +Disabled = False +; Channels: 8 (0-7) + +[SegaPCM] +Disabled = False +; Channels: 16 (0-15) + +[RF5C68] +Disabled = False +; Channels: 8 (0-7) + +[YM2203] +Disabled = False +; AY/YM2149 EmulatorType: 0 - EMU2149, 1 - MAME +EmulatorType = 0x00 +; disable the AY8910-part to speed up loading +DisableAY = False +; Channels: 3 (0-2) + +[YM2608] +Disabled = False +EmulatorType = 0x00 +DisableAY = False +; Channels: 6 FM (0-5) + 6 ADPCM (0-5) + 1 Delta-T +; Use MuteMask_FM, MuteMask_PCM (Delta-T is Ch6), MuteFMCh, MutePCMCh and MuteDT + +[YM2610] +Disabled = False +EmulatorType = 0x00 +DisableAY = False +; Channels: 6 FM (0-5) + 6 ADPCM (0-5) + 1 Delta-T +; Use MuteMask_FM, MuteMask_PCM (Delta-T is Ch6), MuteFMCh, MutePCMCh and MuteDT + +[YM3812] +Disabled = False +; EmulatorType: 0 - DOSBox (AdLibEmu), 1 - MAME +EmulatorType = 0x00 +; Channels: 14 (0-8, BD, SD, TOM, TC, HH) + +[YM3526] +Disabled = False +; Channels: 14 (0-8, BD, SD, TOM, TC, HH) + +[Y8950] +Disabled = False +; Channels: 15 (0-8, BD, SD, TOM, TC, HH, DT) + +[YMF262] +Disabled = False +; EmulatorType: 0 - DOSBox (AdLibEmu), 1 - MAME +EmulatorType = 0x00 +; Channels: 23 (0-17, BD, SD, TOM, TC, HH) + +[YMF278B] +Disabled = False +; Channels: 23 FM (0-17, BD, SD, TOM, TC, HH) + 24 WaveTable (0-23) +; Use MuteMask_FM, MuteMask_WT, MuteFMCh and MuteWTCh + +[YMF271] +Disabled = False +; Channels: 12 (0-11) + +[YMZ280B] +Disabled = False +; Channels: 8 (0-7) + +[RF5C164] +Disabled = False +; Channels: 8 (0-7) + +[PWM] +Disabled = False +; Channels: none (it just has left and right) + +[AY8910] +Disabled = False +; EmulatorType: 0 - EMU2149, 1 - MAME +EmulatorType = 0x00 +; Channels: 3 (0-2) + +[GameBoy] +Disabled = False +; double the volume of the Wave Channel (sounds better, but may be less accurate and seems to sound distorted sometimes, like nezplay++) +BoostWaveChn = True +; Channels: 4 (0-3) + +[NES APU] +Disabled = False +; EmulatorType: 0 - NSFPlay, 1 - MAME +EmulatorType = 0x00 +; Channels: 6 (0-5 = Square 1, Square 2, Triangle, Noise, DPCM, FDS) + +; Options (NSFPlay cores only) +; ------- +; APU/DMC Options (2 bits, default: 0x03) +; 0x01 - OPT_UNMUTE_ON_RESET (enable all channels by default after reset) +; 0x02 - OPT_NONLINEAR_MIXER +SharedOpts = 0x03 +; APU Options (2 bits, default: 0x01) +; 0x01 - OPT_PHASE_REFRESH +; 0x02 - OPT_DUTY_SWAP +APUOpts = 0x01 +; DMC Options (6 bits, default: 0x3B) +; 0x01 - OPT_ENABLE_4011 +; 0x02 - OPT_ENABLE_PNOISE +; 0x04 - OPT_DPCM_ANTI_CLICK (nullify register 4011 writes, keeps DPCM limits correctly) +; 0x08 - OPT_RANDOMIZE_NOISE +; 0x10 - OPT_TRI_MUTE (stops Triangle wave if set to freq = 0, processes it at a very high rate else) +; 0x20 - OPT_TRI_NULL (VB custom, always makes Triangle return to null-level when stopping) +DMCOpts = 0x3B +; FDS Options (1 bit, default: 0x00) +; 0x01 - OPT_4085_RESET (reset modulation phase on 4085 writes) +FDSOpts = 0x00 + +[YMW258] +Disabled = False +; Channels: 28 (0-27) + +[uPD7759] +Disabled = False +; Channels: none (actually 1) + +[OKIM6258] +Disabled = False +; enables internal 10-bit processing (original MESS behaviour) +; The comments in the code say something about 10-bit and 12-bit DAC, but that's not what the code does. +Enable10Bit = False +; Channels: none (actually 1) + +[OKIM6295] +Disabled = False +; Channels: 4 (0-3) + +[K051649] +; also known as SCC1 +Disabled = False +; Channels: 5 (0-4) + +[K054539] +Disabled = False +; Channels: 8 (0-7) + +[HuC6280] +Disabled = False +; EmulatorType: 0 - Ootake, 1 - MAME (sounds brighter, lacks LFO) +EmulatorType = 0x00 +; Channels: 6 (0-5) + +[C140] +Disabled = False +; Channels: 24 (0-23) + +[K053260] +Disabled = False +; Channels: 4 (0-3) + +[Pokey] +Disabled = False +; Channels: 4 (0-3) + +[QSound] +Disabled = False +; EmulatorType: 0 - superctr custom (Based on real DSP code, featuring QSound effects), +; 1 - MAME (old HLE, higher sample rate) +EmulatorType = 0x00 +; Channels: 16 (0-15) + +[SCSP] +Disabled = False +; Skip all DSP calculations, huge speedup (the DSP doesn't work correctly right now anyway) (default: True) +BypassDSP = True +; Channels: 32 (0-31) + +[WSwan] +Disabled = False +; Channels: 4 (0-3) + +[VSU] +Disabled = False +; Channels: 6 (0-5) + +[SAA1099] +Disabled = False +; Channels: 6 (0-5) + +[ES5503] +Disabled = False +; Channels: 32 (0-31) + +[ES5506] +Disabled = False +; Channels: 32 (0-31) + +[X1-010] +Disabled = False +; Channels: 16 (0-15) + +[C352] +Disabled = False +; disable rear channels (disregarding the rear enable/disable setting in VGMs) +DisableRear = False +; Channels: 32 (0-31) + +[GA20] +Disabled = False +; Channels: 4 (0-3) diff --git a/src/VGMPlay.sln b/src/VGMPlay.sln new file mode 100644 index 0000000..59a9003 --- /dev/null +++ b/src/VGMPlay.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VGMPlay", "VGMPlay.vcxproj", "{8519237F-1B46-4C8A-994C-58D218182F2C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8519237F-1B46-4C8A-994C-58D218182F2C}.Debug|Win32.ActiveCfg = Debug|Win32 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Debug|Win32.Build.0 = Debug|Win32 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Debug|x64.ActiveCfg = Debug|x64 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Debug|x64.Build.0 = Debug|x64 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Release|Win32.ActiveCfg = Release|Win32 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Release|Win32.Build.0 = Release|Win32 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Release|x64.ActiveCfg = Release|x64 + {8519237F-1B46-4C8A-994C-58D218182F2C}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/src/VGMPlay.txt b/src/VGMPlay.txt index c6a127d..05dc4a5 100644 --- a/src/VGMPlay.txt +++ b/src/VGMPlay.txt @@ -34,7 +34,7 @@ Supported chips - AY8910 (MSX PSG) - GameBoy DMG - NES APU (incl. FDS) -- MultiPCM +- YMW258 (MultiPCM) - UPD7759 - OKI6258 (Sharp X68000 ADPCM) - OKI6295 @@ -58,7 +58,7 @@ Supported chips * This chip can be emulated via OPL Hardware (like Soundblaster sound cards). ** OPL hardware emulation is available, but software emulation is prefered. Hardware emulation is used if another chip activates HW emulation or FMForce is True. -! You need a sample ROM, called yrw801.rom, to make playback work. Place it in the directory where VGMPlay.exe lies. +! For some songs you need a sample ROM, called yrw801.rom, to make playback work. Place it in the directory of VGMPlay.exe. OPL hardware emulation can be enabled by setting the "FMPort"-entry in the ini-file. If you want to use FM Hardware under Windows NT/2000/XP/... you have to install PortTalk. @@ -114,7 +114,7 @@ Under Linux you have to double-tap ESC to quit the program (or just press Q). I Sometimes MAME's sound cores tend to sound strange. I already fixed some, but it's not my fault. -Ubuntu refuses to run (or maybe compile) VGMPlay correctly. It either crashes upon opening a vgm file or doesn't open the sound device. (and the ini-file, too. VGMs are opened for some reason.) +Ubuntu might refuse to run (or maybe compile) VGMPlay correctly. If so, it either crashes upon opening a vgm file or doesn't open the sound device. (and the ini-file, too. VGMs are opened for some reason.) Using Wine with the Windows-version of VGMPlay should work. It runs fine on openSUSE. (I compile and test it regularly with 12.3 64-bit. Older version were successfully tested with 11.1 32-bit and 11.4 64-bit) @@ -132,7 +132,7 @@ The SN76496 OPL emulation is okay, but it's impossible to get the noise sound ri EMU2413 Emulator was added, because sometimes the one of MAME sounds strange. I added the Gens YM2612 core for the same reason (before I fixed MAME's YM2612 core). -I haven't yet found a player that supports all three version of dro files. +I haven't yet found a player that supports all three version of dro files. P.S.: AdPlug now seems to support them. Some may be wondering, how someone can have the idea to implement OPL Hardware support. Here a more or less small story: @@ -144,6 +144,7 @@ Credits ======= This program was written by Valley Bell. +- Special thanks to ctr for major contributions in general. - almost all software emulators are from MAME (http://mamedev.org) - EMU2413 and Gens YM2612 were ported from Maxim's in_vgm - the YMF278B core was ported from openMSX @@ -157,3 +158,5 @@ This program was written by Valley Bell. - EMU2149, the alternative NES APU core and the NES FDS core were ported from rainwarrior's NSFPlay. - the WonderSwan core was ported from in_wsr - Virtual Boy VSU core was ported from vbjin and originates from mednafen +- Thanks to grauw for patches that make it work properly on Mac OS X. +- ctr for writing the new C352 sound core. diff --git a/src/VGMPlay.vcxproj b/src/VGMPlay.vcxproj new file mode 100644 index 0000000..7705159 --- /dev/null +++ b/src/VGMPlay.vcxproj @@ -0,0 +1,345 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + + + + + + + + + + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 15.0 + {8519237F-1B46-4C8A-994C-58D218182F2C} + Win32Proj + VGMPlay + 7.0 + + + + Application + true + v100 + MultiByte + + + Application + false + v100 + true + MultiByte + + + Application + true + v100 + MultiByte + + + Application + false + v100 + true + MultiByte + + + + + + + + + + + + + + + + + + + + + true + $(ProjectDir)zlib;$(IncludePath) + $(ProjectDir)zlib;$(LibraryPath) + $(SolutionDir)$(Configuration)_Win32\ + $(Configuration)_Win32\ + + + true + $(ProjectDir)zlib;$(IncludePath) + $(ProjectDir)zlib;$(LibraryPath) + $(SolutionDir)$(Configuration)_Win64\ + $(Configuration)_Win64\ + + + false + $(ProjectDir)zlib;$(IncludePath) + $(ProjectDir)zlib;$(LibraryPath) + $(SolutionDir)$(Configuration)_Win32\ + $(Configuration)_Win32\ + + + false + $(ProjectDir)zlib;$(IncludePath) + $(ProjectDir)zlib;$(LibraryPath) + $(SolutionDir)$(Configuration)_Win64\ + $(Configuration)_Win64\ + + + + NotUsing + Level3 + Disabled + VGM_LITTLE_ENDIAN;ENABLE_ALL_CORES;CONSOLE_MODE;ADDITIONAL_FORMATS;SET_CONSOLE_TITLE;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + kernel32.lib;user32.lib;advapi32.lib;winmm.lib;zlibd.lib;%(AdditionalDependencies) + true + + + + + NotUsing + Level3 + Disabled + VGM_LITTLE_ENDIAN;ENABLE_ALL_CORES;CONSOLE_MODE;ADDITIONAL_FORMATS;SET_CONSOLE_TITLE;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + EditAndContinue + true + + + Console + kernel32.lib;user32.lib;advapi32.lib;winmm.lib;zlibstat64d.lib;%(AdditionalDependencies) + true + + + + + Level3 + NotUsing + MaxSpeed + true + true + VGM_LITTLE_ENDIAN;ENABLE_ALL_CORES;CONSOLE_MODE;ADDITIONAL_FORMATS;SET_CONSOLE_TITLE;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + kernel32.lib;user32.lib;advapi32.lib;winmm.lib;zdll.lib;%(AdditionalDependencies) + + + + + Level3 + NotUsing + MaxSpeed + true + true + VGM_LITTLE_ENDIAN;ENABLE_ALL_CORES;CONSOLE_MODE;ADDITIONAL_FORMATS;SET_CONSOLE_TITLE;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + kernel32.lib;user32.lib;advapi32.lib;winmm.lib;zlibstat64.lib;%(AdditionalDependencies) + + + + + + \ No newline at end of file diff --git a/src/VGMPlay.vcxproj.filters b/src/VGMPlay.vcxproj.filters new file mode 100644 index 0000000..a02d77a --- /dev/null +++ b/src/VGMPlay.vcxproj.filters @@ -0,0 +1,545 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {d92e176a-b6da-4926-ac77-9285e175b450} + c;h;cpp + + + {7b8c14e4-98d2-494e-8eeb-102684e2b0d8} + c;h + + + {b7d46055-4043-4069-8dfd-cd0614f24cb8} + c;h + + + {5f79bd0e-fae5-4188-8c92-06c81891c82c} + c;h + + + {a8502cef-6a14-45a9-b505-818f39601a20} + c;h + + + {b0a32a39-96e4-4b81-92ca-fff506eb2b1e} + c;h + + + {c2ae641c-5a5a-41d2-8a54-e5caa03cd919} + c;h + + + {8e35abaa-f8c4-43f7-8fe0-e17fefb8c132} + c;h + + + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + Headerdateien + + + SoundCore + + + SoundCore + + + SoundCore + + + SoundCore + + + SoundCore + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\OPL Mapper + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + Quelldateien + + + SoundCore + + + SoundCore + + + SoundCore + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPL Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPN Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\FM OPx Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\PCM Chips + + + SoundCore\OPL Mapper + + + SoundCore\OPL Mapper + + + SoundCore\OPL Mapper + + + SoundCore\OPL Mapper + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\PSG Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + SoundCore\NES Chips + + + \ No newline at end of file diff --git a/src/VGMPlayUI.c b/src/VGMPlayUI.c index 52cfa65..183357c 100644 --- a/src/VGMPlayUI.c +++ b/src/VGMPlayUI.c @@ -1,4 +1,3 @@ -// TODO: Check codepage stuff (SetConsoleCP) - it looks like I don't need printc anymore // VGMPlayUI.c: C Source File for the Console User Interface // Note: In order to make MS VC6 NOT crash when using fprintf with stdout, stderr, etc. @@ -10,6 +9,7 @@ #include #include #include +#include // for toupper #include // for setlocale #include "stdbool.h" #include @@ -22,7 +22,9 @@ #include #include // for STDIN_FILENO and usleep() #include // for struct timeval in _kbhit() - +#ifndef EMSCRIPTEN +#include // for signal() +#endif #define Sleep(msec) usleep(msec * 1000) #define _vsnwprintf vswprintf #endif @@ -44,7 +46,6 @@ #ifdef XMAS_EXTRA #include "XMasFiles/XMasBonus.h" #endif -#define WS_DEMO #ifdef WS_DEMO #include "XMasFiles/SWJ-SQRC01_1C.h" #endif @@ -78,7 +79,7 @@ static void RemoveNewLines(char* String); static void RemoveQuotationMarks(char* String); static char* GetLastDirSeparator(const char* FilePath); static bool IsAbsolutePath(const char* FilePath); -static char* GetFileExtention(const char* FilePath); +static char* GetFileExtension(const char* FilePath); static void StandardizeDirSeparators(char* FilePath); #ifdef WIN32 static void WinNT_Check(void); @@ -105,11 +106,6 @@ static bool OpenMusicFile(const char* FileName); extern bool OpenVGMFile(const char* FileName); extern bool OpenOtherFile(const char* FileName); -//#ifdef WIN32 -//static void printc(const char* format, ...); -//#else -#define printc printf -//#endif static void wprintc(const wchar_t* format, ...); static void PrintChipStr(UINT8 ChipID, UINT8 SubType, UINT32 Clock); const wchar_t* GetTagStrEJ(const wchar_t* EngTag, const wchar_t* JapTag);// EMSCRIPTEN we want to use this @@ -139,12 +135,14 @@ static UINT8 Show95Cmds; extern float VolumeLevel; extern bool SurroundSound; +extern UINT8 HardStopOldVGMs; extern bool FadeRAWLog; static UINT8 LogToWave; //extern bool FullBufFill; extern bool PauseEmulate; extern bool DoubleSSGVol; static UINT16 ForceAudioBuf; +static UINT8 OutputDevID; extern UINT8 ResampleMode; // 00 - HQ both, 01 - LQ downsampling, 02 - LQ both extern UINT8 CHIP_SAMPLING_MODE; @@ -156,6 +154,7 @@ extern bool FMForce; //extern bool FMAccurate; extern bool FMBreakFade; extern float FMVol; +extern bool FMOPL2Pan; extern CHIPS_OPTION ChipOpts[0x02]; @@ -225,6 +224,7 @@ extern bool ResetPBTimer; static struct termios oldterm; static bool termmode; #endif +static volatile bool sigint = false; UINT8 CmdList[0x100]; @@ -237,6 +237,30 @@ extern UINT32 Last95Freq; // for optvgm debugging static bool PrintMSHours; #ifndef EMSCRIPTEN +#ifdef WIN32 +static BOOL WINAPI signal_handler(DWORD dwCtrlType) +{ + switch(dwCtrlType) + { + case CTRL_C_EVENT: // Ctrl + C + case CTRL_CLOSE_EVENT: // close console window via X button + case CTRL_BREAK_EVENT: // Ctrl + Break + sigint = true; + return TRUE; + case CTRL_LOGOFF_EVENT: + case CTRL_SHUTDOWN_EVENT: + return FALSE; + } + return FALSE; +} +#else +static void signal_handler(int signal) +{ + if(signal == SIGINT) + sigint = true; +} +#endif + int main(int argc, char* argv[]) { int argbase; @@ -250,7 +274,6 @@ int main(int argc, char* argv[]) const char* FileExt; UINT8 CurPath; UINT32 ChrPos; - INT32 OldCP; // set locale to "current system locale" // (makes Unicode characters (like umlauts) work under Linux and fixes some @@ -260,6 +283,9 @@ int main(int argc, char* argv[]) #ifndef WIN32 tcgetattr(STDIN_FILENO, &oldterm); termmode = false; + signal(SIGINT, signal_handler); +#else + SetConsoleCtrlHandler(signal_handler, TRUE); #endif if (argc > 1) @@ -363,19 +389,30 @@ int main(int argc, char* argv[]) ErrRet = 0; argbase = 0x01; - if (argc >= argbase + 0x01) + while(argbase < argc) { if (! strnicmp_u(argv[argbase], "-LogSound:", 10)) { LogToWave = (UINT8)strtoul(argv[argbase] + 10, NULL, 0); argbase ++; } + else if (! strnicmp_u(argv[argbase], "-DeviceId:", 10)) + { + OutputDevID = (UINT8)strtoul(argv[argbase] + 10, NULL, 0); + argbase ++; + } + else + { + break; + } } printf("\nFile Name:\t"); if (argc <= argbase) { #ifdef WIN32 + INT32 OldCP; + OldCP = GetConsoleCP(); // Set the Console Input Codepage to ANSI. @@ -427,7 +464,7 @@ int main(int argc, char* argv[]) { // The argument should already use the ANSI codepage. strcpy(VgmFileName, argv[argbase]); - printc("%s\n", VgmFileName); + printf("%s\n", VgmFileName); } if (! strlen(VgmFileName)) goto ExitProgram; @@ -472,7 +509,7 @@ int main(int argc, char* argv[]) FirstInit = true; StreamStarted = false; - FileExt = GetFileExtention(VgmFileName); + FileExt = GetFileExtension(VgmFileName); if (FileExt == NULL || stricmp_u(FileExt, "m3u")) PLMode = 0x00; else @@ -517,16 +554,13 @@ int main(int argc, char* argv[]) for (CurPLFile = 0x00; CurPLFile < PLFileCount; CurPLFile ++) { - if (PLMode) - { - cls(); - printf(APP_NAME); - printf("\n----------\n"); - printc("\nPlaylist File:\t%s\n", PLFileName); - printf("Playlist Entry:\t%u / %u\n", CurPLFile + 1, PLFileCount); - printc("File Name:\t%s\n", PlayListFile[CurPLFile]); - } - + cls(); + printf(APP_NAME); + printf("\n----------\n"); + printf("\nPlaylist File:\t%s\n", PLFileName); + printf("Playlist Entry:\t%u / %u\n", CurPLFile + 1, PLFileCount); + printf("File Name:\t%s\n", PlayListFile[CurPLFile]); + if (IsAbsolutePath(PlayListFile[CurPLFile])) { strcpy(VgmFileName, PlayListFile[CurPLFile]); @@ -557,7 +591,6 @@ int main(int argc, char* argv[]) ShowVGMTag(); NextPLCmd = 0x00; PlayVGM_UI(); - CloseVGMFile(); if (ErrorHappened) @@ -664,7 +697,7 @@ static bool IsAbsolutePath(const char* FilePath) return false; } -static char* GetFileExtention(const char* FilePath) +static char* GetFileExtension(const char* FilePath) { char* DirSepPos; char* ExtDotPos; @@ -734,17 +767,12 @@ static void WinNT_Check(void) static char* GetAppFileName(void) { char* AppPath; - int RetVal; - AppPath = (char*)malloc(MAX_PATH * sizeof(char)); + AppPath = calloc(MAX_PATH, sizeof(char)); #ifdef WIN32 - RetVal = GetModuleFileName(NULL, AppPath, MAX_PATH); - if (! RetVal) - AppPath[0] = '\0'; + GetModuleFileName(NULL, AppPath, MAX_PATH - 1); #else - RetVal = readlink("/proc/self/exe", AppPath, MAX_PATH); - if (RetVal == -1) - AppPath[0] = '\0'; + readlink("/proc/self/exe", AppPath, MAX_PATH - 1); #endif return AppPath; @@ -781,7 +809,9 @@ static void cls(void) // put the cursor at (0, 0) bSuccess = SetConsoleCursorPosition(hConsole, coordScreen); #else - system("clear"); + int retVal; + + retVal = system("clear"); #endif return; @@ -931,6 +961,7 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this 0x20, 0x04, 0x06, 0x06, 0x20, 0x20, 0x10, 0x20, 0x04 }; + const char* FNList[3]; char* FileName; FILE* hFile; char TempStr[0x40]; @@ -952,10 +983,11 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this PauseTimeL = 0; Show95Cmds = 0x00; LogToWave = 0x00; + OutputDevID = 0; ForceAudioBuf = 0x00; PreferJapTag = false; - -#ifndef EMSCRIPTEN + +#ifndef EMSCRIPTEN if (AppName == NULL) { printerr("Argument \"Application-Path\" is NULL!\nSkip loading INI.\n"); @@ -972,7 +1004,7 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this strcpy(FileName, RStr); // FileName: "VGMPlay.exe" - RStr = GetFileExtention(FileName); + RStr = GetFileExtension(FileName); if (RStr == NULL) { RStr = FileName + strlen(FileName); @@ -980,18 +1012,17 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this RStr ++; } strcpy(RStr, "ini"); - // FileName: "VGMPlay.ini" + // FileName: "VGMPlay.ini" or "vgmplay.ini" + // on Linux platforms, it searches for "vgmplay.ini" first and + // file names are case sensitive + FNList[0] = FileName; + FNList[1] = "VGMPlay.ini"; + FNList[2] = NULL; LStr = FileName; - FileName = FindFile(LStr); + FileName = FindFile_List(FNList); free(LStr); if (FileName == NULL) - { - // on Linux platforms, it searches for "vgmplay.ini" first and - // file names are case sensitive - FileName = FindFile("VGMPlay.ini"); - } - if (FileName == NULL) { printerr("Failed to load INI.\n"); return; @@ -1021,10 +1052,10 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this StrLen = strlen(TempStr) - 0x01; //if (TempStr[StrLen] == '\n') - // TempStr[StrLen] = 0x00; + // TempStr[StrLen] = '\0'; while(TempStr[StrLen] < 0x20) { - TempStr[StrLen] = 0x00; + TempStr[StrLen] = '\0'; if (! StrLen) break; StrLen --; @@ -1052,7 +1083,7 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this LStr ++; RStr = strchr(TempStr, ']'); if (RStr != NULL) - RStr[0x00] = 0x00; + RStr[0x00] = '\0'; if (! stricmp_u(LStr, "General")) { @@ -1077,16 +1108,16 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this { // Line pattern: Option = Value TempLng = RStr - TempStr; - TempStr[TempLng] = 0x00; + TempStr[TempLng] = '\0'; // Prepare Strings (trim the spaces) RStr = &TempStr[TempLng - 0x01]; while(*RStr == ' ') - *(RStr --) = 0x00; + *(RStr --) = '\0'; RStr = &TempStr[StrLen - 0x01]; while(*RStr == ' ') - *(RStr --) = 0x00; + *(RStr --) = '\0'; RStr = &TempStr[TempLng + 0x01]; while(*RStr == ' ') RStr ++; @@ -1122,6 +1153,12 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this { PauseTimeJ = strtoul(RStr, NULL, 0); } + else if (! stricmp_u(LStr, "HardStopOld")) + { + HardStopOldVGMs = (UINT8)strtoul(RStr, &TempPnt, 0); + if (TempPnt == RStr) + HardStopOldVGMs = GetBoolFromStr(RStr) ? 0x01 : 0x00; + } else if (! stricmp_u(LStr, "FadeRAWLogs")) { FadeRAWLog = GetBoolFromStr(RStr); @@ -1155,6 +1192,10 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this { CHIP_SAMPLE_RATE = strtol(RStr, NULL, 0); } + else if (! stricmp_u(LStr, "OutputDevice")) + { + OutputDevID = (UINT8)strtol(RStr, NULL, 0); + } else if (! stricmp_u(LStr, "AudioBuffers")) { ForceAudioBuf = (UINT16)strtol(RStr, NULL, 0); @@ -1185,6 +1226,10 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this { FMVol = (float)strtod(RStr, NULL); } + else if (! stricmp_u(LStr, "FMOPL2Pan")) + { + FMOPL2Pan = GetBoolFromStr(RStr); + } /*else if (! stricmp_u(LStr, "AccurateFM")) { FMAccurate = GetBoolFromStr(RStr); @@ -1298,6 +1343,12 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this TempCOpt->SpecialFlags &= ~(0x01 << 2); TempCOpt->SpecialFlags |= TempFlag << 2; } + else if (! stricmp_u(LStr, "NukedType")) + { + TempLng = (UINT32)strtoul(RStr, NULL, 0) & 0x03; + TempCOpt->SpecialFlags &= ~(0x03 << 3); + TempCOpt->SpecialFlags |= TempLng << 3; + } break; //case 0x03: // YM2151 //case 0x04: // SegaPCM @@ -1333,18 +1384,18 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this CurChn = (UINT8)strtol(LStr + 0x08, &TempPnt, 0); if (TempPnt == NULL || *TempPnt) break; - if (CurChn >= CHN_COUNT[CurChip]) + if (CurChn >= CHN_MASK_CNT[CurChip]) break; TempFlag = GetBoolFromStr(RStr); TempCOpt->ChnMute1 &= ~(0x01 << CurChn); TempCOpt->ChnMute1 |= TempFlag << CurChn; } - else if (! strnicmp_u(LStr, "MutePCMCh", 0x08)) + else if (! strnicmp_u(LStr, "MutePCMCh", 0x09)) { - CurChn = (UINT8)strtol(LStr + 0x08, &TempPnt, 0); + CurChn = (UINT8)strtol(LStr + 0x09, &TempPnt, 0); if (TempPnt == NULL || *TempPnt) break; - if (CurChn >= CHN_COUNT[CurChip]) + if (CurChn >= CHN_MASK_CNT[CurChip]) break; TempFlag = GetBoolFromStr(RStr); TempCOpt->ChnMute2 &= ~(0x01 << CurChn); @@ -1459,18 +1510,6 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this TempCOpt->SpecialFlags &= ~(0x01 << 0); TempCOpt->SpecialFlags |= TempFlag << 0; } - else if (! stricmp_u(LStr, "LowerNoiseChn")) - { - TempFlag = GetBoolFromStr(RStr); - TempCOpt->SpecialFlags &= ~(0x01 << 1); - TempCOpt->SpecialFlags |= TempFlag << 1; - } - else if (! stricmp_u(LStr, "Inaccurate")) - { - TempFlag = GetBoolFromStr(RStr); - TempCOpt->SpecialFlags &= ~(0x01 << 2); - TempCOpt->SpecialFlags |= TempFlag << 2; - } break; case 0x14: // NES if (! stricmp_u(LStr, "SharedOpts")) @@ -1509,15 +1548,17 @@ void ReadOptions(const char* AppName) // EMSCRIPTEN we want to use this TempCOpt->SpecialFlags &= ~(0x01 << 0); TempCOpt->SpecialFlags |= TempFlag << 0; } - else if (! stricmp_u(LStr, "RemoveDCOfs")) + break; + case 0x20: // SCSP + if (! stricmp_u(LStr, "BypassDSP")) { TempFlag = GetBoolFromStr(RStr); - TempCOpt->SpecialFlags &= ~(0x01 << 1); - TempCOpt->SpecialFlags |= TempFlag << 1; + TempCOpt->SpecialFlags &= ~(0x01 << 0); + TempCOpt->SpecialFlags |= TempFlag << 0; } break; - case 0x20: // SCSP - if (! stricmp_u(LStr, "BypassDSP")) + case 0x27: // C352 + if (! stricmp_u(LStr, "DisableRear")) { TempFlag = GetBoolFromStr(RStr); TempCOpt->SpecialFlags &= ~(0x01 << 0); @@ -1633,7 +1674,7 @@ static bool XMas_Extra(char* FileName, bool Mode) hFile = fopen(FileName, "wb"); if (hFile == NULL) { - FileName[0x00] = 0x00; + FileName[0x00] = '\0'; printerr("Critical XMas-Error!\n"); return false; } @@ -1668,9 +1709,9 @@ static void ConvertCP1252toUTF8(char** DstStr, const char* SrcStr) UINT32 StrLen; UINT16 UnicodeChr; char* DstPtr; - const char* SrcPtr; + const unsigned char* SrcPtr; - SrcPtr = SrcStr; + SrcPtr = (const unsigned char*)SrcStr; StrLen = 0x00; while(*SrcPtr != '\0') { @@ -1688,7 +1729,7 @@ static void ConvertCP1252toUTF8(char** DstStr, const char* SrcStr) } *DstStr = (char*)malloc((StrLen + 0x01) * sizeof(char)); - SrcPtr = SrcStr; + SrcPtr = (const unsigned char*)SrcStr; DstPtr = *DstStr; while(*SrcPtr != '\0') { @@ -1768,7 +1809,7 @@ static bool OpenPlayListFile(const char* FileName) RetStr = TempStr + strlen(TempStr) - 0x01; while(RetStr >= TempStr && *RetStr < 0x20) { - *RetStr = 0x00; // remove NewLine-Characters + *RetStr = '\0'; // remove NewLine-Characters RetStr --; } if (! strlen(TempStr)) @@ -1851,36 +1892,6 @@ static bool OpenMusicFile(const char* FileName) return false; } -/*#ifdef WIN32 -// "printc" initially meant "print correct, though "print console" would also make sense ;) -static void printc(const char* format, ...) -{ - int RetVal; - UINT32 BufSize; - char* printbuf; - va_list arg_list; - - BufSize = 0x00; - printbuf = NULL; - do - { - BufSize += 0x100; - printbuf = (char*)realloc(printbuf, BufSize); - va_start(arg_list, format); - RetVal = _vsnprintf(printbuf, BufSize - 0x01, format, arg_list); - va_end(arg_list); - } while(RetVal == -1 && BufSize < 0x1000); - - CharToOem(printbuf, printbuf); - - printf("%s", printbuf); - - free(printbuf); - - return; -} -#endif*/ - static void wprintc(const wchar_t* format, ...) { va_list arg_list; @@ -1927,6 +1938,7 @@ static void wprintc(const wchar_t* format, ...) free(oembuf); } #else + // on Linux, it's easy printf("%ls", printbuf); #endif @@ -1950,7 +1962,7 @@ static void AppendChipStr(UINT8 ChipID, UINT8 SubType, UINT32 Clock) Clock &= ~0x80000000; ChipID |= 0x80; } - + int len= strlen(ChipNamesBuf); // must be reset before 1st use or buffer may overflow! if (len) { @@ -2058,7 +2070,7 @@ static void ShowVGMTag(void) } else { -#if (defined(_MSC_VER) && _MSC_VER < 1400) || defined(__MINGW32__) +#if (defined(_MSC_VER) && _MSC_VER < 1400) || defined(OLD_SWPRINTF) swprintf(TitleStr, L"%.*ls", 0x70, TitleTag); #else swprintf(TitleStr, 0x80, L"%.*ls", 0x70, TitleTag); @@ -2068,7 +2080,7 @@ static void ShowVGMTag(void) if (wcslen(GameTag) && StrLen < 0x6C) { -#if (defined(_MSC_VER) && _MSC_VER < 1400) || defined(__MINGW32__) +#if (defined(_MSC_VER) && _MSC_VER < 1400) || defined(OLD_SWPRINTF) swprintf(TitleStr + StrLen, L" (%.*ls)", 0x70 - 3 - StrLen, GameTag); #else swprintf(TitleStr + StrLen, 0x80, L" (%.*ls)", 0x70 - 3 - StrLen, GameTag); @@ -2246,7 +2258,7 @@ static void PlayVGM_UI(void) if (LogToWave) { strcpy(WavFileName, VgmFileName); - TempStr = GetFileExtention(WavFileName); + TempStr = GetFileExtension(WavFileName); if (TempStr == NULL) TempStr = WavFileName + strlen(WavFileName); else @@ -2265,7 +2277,7 @@ static void PlayVGM_UI(void) if (FirstInit || ! StreamStarted) { // support smooth transistions between songs - RetVal = StartStream(0x00); + RetVal = StartStream(OutputDevID); if (RetVal) { printf("Error openning Sound Device!\n"); @@ -2314,6 +2326,12 @@ static void PlayVGM_UI(void) QuitPlay = false; while(! QuitPlay) { + if(sigint) + { + QuitPlay = true; + NextPLCmd = 0xFF; + } + if (! PausePlay || PosPrint) { PosPrint = false; @@ -2355,12 +2373,13 @@ static void PlayVGM_UI(void) printf(" seconds"); if (Show95Cmds && Last95Max != 0xFFFF) { + UINT16 drumID = 1 + Last95Drum; // 0-based -> 1-based, 0xFFFF = 0 if (Show95Cmds == 0x01) - printf(" %02hX / %02hX", 1 + Last95Drum, Last95Max); + printf(" %02hX / %02hX", drumID , Last95Max); else if (Show95Cmds == 0x02) - printf(" %02hX / %02hX at %5u Hz", 1 + Last95Drum, Last95Max, Last95Freq); + printf(" %02hX / %02hX at %5u Hz", drumID, Last95Max, Last95Freq); else if (Show95Cmds == 0x03) - printf(" %02hX / %02hX at %4.1f KHz", 1 + Last95Drum, Last95Max, + printf(" %02hX / %02hX at %4.1f KHz", drumID, Last95Max, Last95Freq / 1000.0); } //printf(" %u / %u", multipcm_get_channels(0, NULL), 28); @@ -2391,7 +2410,7 @@ static void PlayVGM_UI(void) #endif } #ifndef WIN32 - if (! PausePlay) + if (! PausePlay && PlayingMode != 0x01) WaveOutLinuxCallBack(); else Sleep(100); diff --git a/src/VGMPlay_AddFmts.c b/src/VGMPlay_AddFmts.c index 72e221d..9e91633 100644 --- a/src/VGMPlay_AddFmts.c +++ b/src/VGMPlay_AddFmts.c @@ -3,13 +3,11 @@ #include #include #include -#include -#include "stdbool.h" -#include - #ifdef EMSCRIPTEN #include #endif +#include "stdbool.h" +#include #ifndef EMSCRIPTEN #ifdef WIN32 @@ -439,7 +437,7 @@ INLINE UINT16 ReadLE16(const UINT8* Data) #if !defined(VGM_BIG_ENDIAN) && !defined(EMSCRIPTEN) return *(UINT16*)Data; #else - return (Data[0x01] << 8) | (Data[0x00] << 0); + return (Data[0x01] << 8) | (Data[0x00] << 0); #endif } @@ -447,7 +445,7 @@ INLINE UINT32 ReadLE32(const UINT8* Data) { // read 32-Bit Word (Little Endian/Intel Byte Order) #if !defined(VGM_BIG_ENDIAN) && !defined(EMSCRIPTEN) - return *(UINT32*)Data; + return *(UINT32*)Data; #else return (Data[0x03] << 24) | (Data[0x02] << 16) | (Data[0x01] << 8) | (Data[0x00] << 0); @@ -566,7 +564,7 @@ static void SendMIDIVolume(UINT8 ChipID, UINT8 Channel, UINT8 Command, if (NoteVol < 0x00) NoteVol = 0x00; - TempByt = NoteVol | TempIns->ScaleLevel[TempLng] & 0xC0; + TempByt = NoteVol | (TempIns->ScaleLevel[TempLng] & 0xC0); chip_reg_write(0x09, ChipID, 0x00, 0x40 | (OpBase + OpMask), TempByt); return; diff --git a/src/VGMPlay_Intf.h b/src/VGMPlay_Intf.h index 906e656..e207b60 100644 --- a/src/VGMPlay_Intf.h +++ b/src/VGMPlay_Intf.h @@ -24,6 +24,7 @@ void VGMPlay_Init(void); void VGMPlay_Init2(void); void VGMPlay_Deinit(void); char* FindFile(const char* FileName); +char* FindFile_List(const char** FileNameList); UINT32 GetGZFileLength(const char* FileName); bool OpenVGMFile(const char* FileName); diff --git a/src/VGMPlay_Updates.txt b/src/VGMPlay_Updates.txt index 1990ad4..d5617c3 100644 --- a/src/VGMPlay_Updates.txt +++ b/src/VGMPlay_Updates.txt @@ -125,3 +125,49 @@ Updates since 0.4.0u6 (30.05.2015) - [VGMPlay] fix compiling under Linux (broken since Wide-Charcter file name support) - fixed ES5503 sample rate (divider was off by one) - applied fix from VOGONS that makes the SAA1099 core actually use the chip clock +- fixed YMF278B's FM part being emulated at wrong sample rate +- fixed Irem GA20 channel muting +- fixed playing non-NMK banked OKIM6295 VGMs after NMK-banked ones +- fixed SN76489 PSG muting (muting didn't work if the frequency was set to 0 to play PCM) +- [misc] added vgm2wav (thanks libertyernie) +- improved DAC Stream Control for HuC6280 +- [VGMPlay] added warning for zlib seeking bug +- [VGMPlay + in_vgm] fixed bugs with .ini file reading +- fixed YMF278B sample looping +- repalced C352 sound core with new one written by superctr +- added option to disable rarely used C352 rear channels +- [in_vgm] added option to disable caching of VGM info (tags/etc.) +- added option to enforce silence at the end of <1.50 VGMs +- fixed memory leak when seeking back in songs that use the YM2610 (thanks to GTheGuardian for reporting) +- fixed bug with X1-010 PCM loops + +Updates since 0.4.0u7 (04.05.2016) +- fixed looping samples in YMF278B (was broken since 0.4.0u7) +- fixed OKIM6258 ADPCM algorithm (thanks, XM6 source code) +- "fixed" some Project2612 VGMs (worked around incorrect register order in the initialization block of Kega Fusion logs) +- [VGMPlay] fixed YM2608/YM2610 "MutePCMCh" option not working +- fixed bug with YM2612 "PseudoStereo" option +- fixed YMF278B FM<->Wavetable volume balance, added code to emulate the "FM mix" register +- fixed YM2151 to use 10 bits per channel instead of 9 (improves Toms in Sharp X1 Space Harrier), thanks MovieMovies1 +- improved GameBoy emulation by porting current MAME core (ported from libvgm) +- improved C352 emulation by porting ctr's updates from libvgm + +Updates since 0.4.0u8 (16.04.2017) +- [in_vgm] fixed a crash and incorrect track times (thanks to NewRisingSun for the bug report) +- fixed mid-sample frequency changes in DAC Stream Control (thanks NewRisingSun) +- fixed SAA1099 sample rate and noise volume (thanks NewRisingSun) +- [in_vgm] fixed being unable to mute 2nd MultiPCM chip (thanks to Alianger for the bug report) +- added Nuked OPN2 core (YM2612 emulation) (thanks Nuke.YKT) +- improved C352 emulation (thanks ctr) +- added command for AY8910 panning (thanks NewRisingSun) +- fixed YMF278B FM<->Wavetable volume balance again (thanks to ctr for a test VGM and thanks to l_oliveira for the hardware recording) +- added (very basic) YMF278B RAM block support +- slightly improved YMF271 emulation, thanks to GTheGuardian and kirishima +- added new and accurate QSound sound core (thanks ctr) +- slightly improved YMF278B emulation +- swapped YM2612 emulator type IDs 1 and 2, so that Nuked OPN2 is selectable in in_vgm +- [VGMPlay] added "OutputDevice" configuration option (thanks ctr for the "-DeviceId" commandline option) +- fixed SN76496 variant being incorrectly called NCR7496 instead of NCR8496 +- [in_vgm] made "Tag fallback" option work (finally, after 5 years!) +- [in_vgm] made "disable file information cache" option selectable via configuration +- [in_vgm] fix VGM information dialog using cached data even if file was changed diff --git a/src/XMasFiles/SWJ-SQRC01_1C.h b/src/XMasFiles/SWJ-SQRC01_1C.h new file mode 100644 index 0000000..972d3ed --- /dev/null +++ b/src/XMasFiles/SWJ-SQRC01_1C.h @@ -0,0 +1,403 @@ +// SWJ-SQRC01_1C.vgz +UINT8 FF1ws_1C[0x1908] = +{ 0x1F, 0x8B, 0x08, 0x00, 0xD4, 0x7A, 0x2F, 0x52, 0x02, 0x00, 0xD4, 0x98, 0x57, 0xCC, 0x0E, 0x51, + 0x10, 0x86, 0xC7, 0xFA, 0x7D, 0x7A, 0x0D, 0x42, 0x5C, 0x10, 0x12, 0x2E, 0x08, 0xA2, 0x25, 0x7A, + 0xFB, 0x95, 0x04, 0x21, 0xD1, 0xE2, 0x42, 0x39, 0x21, 0x24, 0x12, 0xD1, 0xAD, 0x16, 0xBD, 0xF7, + 0xDE, 0x7B, 0xEF, 0xBD, 0x1B, 0xDC, 0x6D, 0x24, 0x88, 0x1E, 0xA2, 0x04, 0x97, 0x6E, 0x48, 0x5C, + 0x48, 0x44, 0x94, 0x67, 0x8F, 0xC3, 0xE2, 0x60, 0xD5, 0xE0, 0x4B, 0x26, 0xF1, 0xAD, 0x9D, 0x77, + 0xDE, 0x77, 0x66, 0xCE, 0x9C, 0xF9, 0xFE, 0x2E, 0xFD, 0x06, 0x94, 0xEB, 0xDA, 0x4B, 0x64, 0x70, + 0x0E, 0xF9, 0xF0, 0x69, 0xDA, 0x53, 0xE4, 0x71, 0xC9, 0x72, 0x72, 0xB5, 0x80, 0x48, 0xA5, 0x1E, + 0x65, 0xE4, 0xF3, 0xCF, 0x1A, 0xF9, 0x87, 0x3E, 0x0F, 0xAB, 0x7E, 0xF2, 0x75, 0x90, 0xE6, 0x11, + 0xCD, 0x27, 0x9A, 0x5F, 0x54, 0x44, 0x73, 0x88, 0x06, 0xA2, 0x39, 0x45, 0xB3, 0x44, 0x73, 0x89, + 0x66, 0x44, 0x73, 0xF3, 0x46, 0x01, 0xD1, 0x82, 0xA2, 0x79, 0x45, 0x8B, 0x34, 0xD1, 0xE2, 0xA2, + 0x45, 0x33, 0x83, 0xB4, 0x50, 0x29, 0x2D, 0x1C, 0x98, 0xD6, 0x41, 0x24, 0x13, 0xDE, 0x44, 0x32, + 0x11, 0x9B, 0x84, 0x4D, 0xC6, 0xA6, 0x60, 0x53, 0xB1, 0x69, 0xD8, 0x74, 0x6C, 0x86, 0x44, 0x32, + 0x13, 0x9B, 0x85, 0xCD, 0xC6, 0xE6, 0x60, 0x73, 0xB1, 0x79, 0xD8, 0x7C, 0x19, 0x1A, 0xC9, 0x02, + 0x5E, 0x5A, 0x88, 0x2D, 0xC2, 0x16, 0x63, 0x4B, 0xB0, 0xA5, 0xD8, 0x32, 0x6C, 0x39, 0xB6, 0x82, + 0x17, 0x57, 0x62, 0xAB, 0xB0, 0xD5, 0xD8, 0x1A, 0x6C, 0x2D, 0xB6, 0x0E, 0x5B, 0x2F, 0xC3, 0x22, + 0xD9, 0xF0, 0x2A, 0x92, 0x8D, 0xCB, 0x22, 0xD9, 0x54, 0x3D, 0x92, 0xCD, 0x2F, 0x23, 0xD9, 0x32, + 0x35, 0x92, 0xAD, 0xCD, 0x22, 0xD9, 0x56, 0x2C, 0x92, 0xED, 0x2D, 0x22, 0xD9, 0xD1, 0x27, 0x92, + 0x9D, 0xE5, 0x23, 0xD9, 0x55, 0x3B, 0x92, 0xDD, 0xFB, 0x22, 0xD9, 0xC3, 0xFB, 0x7B, 0x4F, 0x44, + 0xB2, 0x6F, 0x78, 0x24, 0xFB, 0x6B, 0x8C, 0x00, 0xA0, 0x39, 0x00, 0xE5, 0x01, 0x78, 0x03, 0xC0, + 0x13, 0x00, 0xEA, 0x00, 0xB0, 0x06, 0x80, 0x0C, 0x00, 0x97, 0x01, 0x78, 0x03, 0x00, 0xB6, 0x0B, + 0xDB, 0x1D, 0x00, 0xD0, 0x0F, 0x80, 0x0D, 0x00, 0x08, 0x00, 0xC5, 0x06, 0x6B, 0x56, 0x69, 0xCD, + 0x95, 0x7B, 0x70, 0x24, 0x07, 0x00, 0x3E, 0x08, 0x91, 0x43, 0x10, 0x39, 0x0C, 0x91, 0x23, 0x10, + 0x39, 0x0A, 0x91, 0x63, 0x10, 0x39, 0x0E, 0x91, 0x13, 0x10, 0x39, 0x49, 0x9C, 0x53, 0x10, 0x39, + 0x0D, 0x11, 0xE5, 0xFD, 0x33, 0x10, 0x39, 0x0B, 0x91, 0x73, 0x35, 0x86, 0x03, 0xD0, 0x1C, 0x80, + 0xF2, 0x00, 0xBC, 0x01, 0xE0, 0x09, 0x00, 0x75, 0x00, 0x58, 0x03, 0x40, 0x06, 0x80, 0xCB, 0x00, + 0xBC, 0x01, 0x00, 0x3B, 0x85, 0x9D, 0x86, 0x88, 0xF6, 0x03, 0x60, 0x03, 0x00, 0x02, 0x00, 0x44, + 0x32, 0xBD, 0x35, 0x77, 0xD6, 0x20, 0x2D, 0xD2, 0xD6, 0x54, 0x0D, 0x34, 0x6F, 0xCD, 0xA1, 0x9A, + 0x0F, 0xCB, 0x5F, 0xD3, 0xDC, 0xC8, 0x68, 0xBE, 0xEC, 0x21, 0x9A, 0x3F, 0xDB, 0xCC, 0xCC, 0xD2, + 0xBC, 0xD9, 0xA6, 0x6C, 0x5E, 0xCD, 0xDB, 0xD9, 0xDC, 0xE5, 0x69, 0x27, 0xFE, 0xBF, 0x85, 0xB9, + 0x96, 0x51, 0x69, 0xA8, 0x39, 0x72, 0x8F, 0xD4, 0xE0, 0xB9, 0xE6, 0xCC, 0x0A, 0xB5, 0x48, 0x7B, + 0x53, 0x23, 0xD0, 0x3C, 0xD9, 0x43, 0x41, 0x31, 0xF3, 0x63, 0x1F, 0xB0, 0xFA, 0x80, 0xD0, 0xD2, + 0x34, 0xE2, 0x79, 0x67, 0x73, 0x2B, 0xA3, 0x79, 0xFA, 0x0E, 0x8D, 0x51, 0x96, 0x67, 0x69, 0xFE, + 0xF2, 0xA6, 0x21, 0x4F, 0xC3, 0x21, 0x9A, 0xB7, 0xAF, 0x39, 0x50, 0x50, 0xA5, 0xC6, 0x08, 0x0D, + 0xCE, 0xDB, 0x67, 0x44, 0x05, 0x61, 0x81, 0x8D, 0x9A, 0x6D, 0x3D, 0x6F, 0xC7, 0x9E, 0x43, 0x62, + 0xCF, 0x0E, 0x41, 0xCC, 0x6D, 0x4A, 0x16, 0x9E, 0x43, 0x63, 0xCF, 0xFD, 0x78, 0x36, 0xC4, 0xF3, + 0x39, 0x9E, 0x2E, 0xF6, 0x50, 0x18, 0x9A, 0xD9, 0x2E, 0x7E, 0xB6, 0x69, 0xFA, 0x69, 0xEC, 0x21, + 0xE8, 0x33, 0x57, 0x33, 0xCE, 0x9F, 0x6F, 0xE5, 0x63, 0xF4, 0x7C, 0x45, 0xCD, 0xCD, 0x0C, 0x1C, + 0x46, 0xC2, 0x81, 0x67, 0x12, 0x6A, 0xA6, 0xB2, 0xA9, 0x86, 0x67, 0x11, 0xA2, 0xE6, 0x30, 0x0F, + 0x32, 0x71, 0x1E, 0x2E, 0xE1, 0x55, 0x8E, 0xEF, 0x81, 0x39, 0x5E, 0xF0, 0x7D, 0x06, 0x3A, 0x86, + 0x1A, 0xB4, 0xD1, 0x9C, 0xB9, 0x4C, 0xBD, 0x4F, 0xA5, 0x8F, 0xF8, 0x92, 0xEC, 0xC5, 0x59, 0x04, + 0xB2, 0x84, 0x12, 0xF2, 0xDD, 0x21, 0x3F, 0x04, 0xF2, 0x9F, 0x78, 0xC7, 0x14, 0x1C, 0xF1, 0x44, + 0x3A, 0x04, 0x49, 0xD7, 0x7B, 0xBF, 0x81, 0xF8, 0x9D, 0xFA, 0xDC, 0xCF, 0xB4, 0xF8, 0xCC, 0xE7, + 0x86, 0x13, 0x4A, 0x8A, 0xE3, 0x58, 0xC8, 0x1B, 0x32, 0x5A, 0x33, 0xCF, 0x34, 0x77, 0xCE, 0x77, + 0xEA, 0x86, 0xA2, 0x0E, 0xAA, 0xD6, 0x1D, 0x85, 0x25, 0xF2, 0xBE, 0x57, 0xB8, 0x22, 0x0B, 0x85, + 0xD4, 0x1C, 0x19, 0xE8, 0x24, 0x5C, 0x18, 0x87, 0xAB, 0xEF, 0x55, 0xC7, 0x0F, 0x97, 0x48, 0xEB, + 0x0B, 0xC5, 0xE5, 0x3E, 0x45, 0x97, 0x14, 0x5F, 0xD6, 0xC1, 0x82, 0x2E, 0x0E, 0x14, 0x8F, 0x98, + 0xEA, 0xEF, 0xB3, 0x1F, 0xC6, 0xFC, 0xE6, 0x59, 0x7E, 0x25, 0x3F, 0xF0, 0x5B, 0x6E, 0xF9, 0x95, + 0xB3, 0xFC, 0xA8, 0xA6, 0x84, 0x48, 0xBB, 0x93, 0x14, 0xC1, 0x8F, 0x35, 0xD4, 0xF1, 0xFB, 0xA8, + 0xE3, 0xC6, 0xC3, 0xEF, 0x05, 0xFC, 0x7E, 0x44, 0xD3, 0x34, 0x7C, 0x4A, 0x6A, 0xCE, 0x0C, 0x6E, + 0xDF, 0x1B, 0xEA, 0xA0, 0x0B, 0x75, 0x7F, 0xA4, 0x66, 0x9D, 0xD2, 0x5C, 0xB9, 0x46, 0x68, 0x26, + 0x5B, 0x73, 0x07, 0xA6, 0x8A, 0x13, 0x98, 0x1C, 0xB9, 0x19, 0xAE, 0xF6, 0x58, 0x22, 0xD6, 0xB6, + 0x6C, 0x27, 0xB3, 0x24, 0x16, 0x4C, 0x4F, 0x80, 0x18, 0x1F, 0x2B, 0x0E, 0xE2, 0xFB, 0xD2, 0xAC, + 0x07, 0x7B, 0x0C, 0xA5, 0x49, 0xE7, 0x93, 0xC8, 0x58, 0x89, 0x4F, 0x9F, 0x71, 0x9A, 0x59, 0xC6, + 0xA1, 0xC7, 0xCF, 0xB1, 0x28, 0x9F, 0xB0, 0x18, 0x01, 0x03, 0x34, 0xC6, 0x18, 0xED, 0x03, 0xBA, + 0x96, 0x21, 0xE0, 0x12, 0xE2, 0x5A, 0xA3, 0x41, 0xE0, 0xF0, 0xEC, 0x48, 0x90, 0xA1, 0x31, 0x9B, + 0x2B, 0xB0, 0x99, 0x3B, 0x12, 0x36, 0x23, 0x34, 0xAB, 0x86, 0xE6, 0xCA, 0x98, 0x5A, 0x8E, 0x54, + 0x0E, 0x4B, 0x19, 0x62, 0x08, 0x41, 0x82, 0x03, 0xCD, 0x26, 0x94, 0xA5, 0x47, 0x3D, 0xDB, 0x04, + 0x24, 0xC1, 0x06, 0x09, 0x47, 0x24, 0x67, 0x32, 0xF6, 0x10, 0xD3, 0x2D, 0x78, 0x37, 0xA4, 0xDE, + 0xB5, 0xC4, 0x08, 0x97, 0x2D, 0xD7, 0xB2, 0xE8, 0x72, 0x87, 0xBC, 0x9C, 0x59, 0xFD, 0x59, 0xD3, + 0xAE, 0x0C, 0x51, 0xE9, 0x37, 0x85, 0x23, 0x00, 0x19, 0x08, 0xF8, 0xF9, 0xE9, 0x9F, 0x1F, 0xB2, + 0xBC, 0xE5, 0x32, 0xEB, 0x55, 0x3A, 0xFB, 0x9B, 0xE7, 0x72, 0x17, 0x3E, 0x5B, 0x4D, 0xA3, 0xEF, + 0x6E, 0xAA, 0x93, 0x05, 0xDF, 0xE5, 0xAB, 0x24, 0x6D, 0x51, 0x99, 0x9E, 0x70, 0x87, 0x72, 0xC8, + 0xD7, 0x54, 0xFA, 0xC7, 0xF3, 0x3A, 0x4A, 0xB7, 0xA2, 0x74, 0xA1, 0x55, 0x1A, 0xDA, 0xA8, 0x73, + 0x9C, 0xAE, 0x6C, 0xFE, 0x45, 0xE4, 0x11, 0x68, 0x25, 0xB9, 0x70, 0x8A, 0xA3, 0xDB, 0x67, 0x35, + 0x4D, 0xDB, 0x00, 0xB6, 0x7C, 0xE7, 0x3D, 0x18, 0xA3, 0xD2, 0xF9, 0xCE, 0x75, 0x95, 0x4E, 0x7C, + 0xFB, 0xBC, 0xF3, 0x05, 0xCF, 0xF9, 0x52, 0x2E, 0xFC, 0xAC, 0x2A, 0x7A, 0x46, 0xF6, 0xA3, 0xF9, + 0x24, 0x08, 0x56, 0x93, 0x1F, 0x3D, 0xD6, 0xE0, 0x7B, 0x93, 0x61, 0xBC, 0xC7, 0x12, 0x1B, 0xF5, + 0x2F, 0x38, 0x17, 0xA1, 0x1B, 0x4C, 0x55, 0x9C, 0xCA, 0x1C, 0xF6, 0x5C, 0x24, 0x87, 0x7F, 0x1A, + 0xBE, 0x45, 0x5C, 0xE3, 0x64, 0x07, 0xC9, 0x10, 0x68, 0x86, 0x8E, 0x13, 0x74, 0xDD, 0x7D, 0xF4, + 0x7B, 0x1A, 0xC2, 0x38, 0x43, 0x53, 0x2C, 0x8B, 0x05, 0x5F, 0x67, 0x31, 0x44, 0xE5, 0x30, 0x1A, + 0x2E, 0xD8, 0xAB, 0xA3, 0xEE, 0x8F, 0xE9, 0xB0, 0xAD, 0xDD, 0xD4, 0x69, 0xB9, 0x8F, 0x96, 0x3B, + 0x08, 0x39, 0xF2, 0x53, 0x2A, 0x56, 0xA2, 0x82, 0x7E, 0xF5, 0xE3, 0xDB, 0xDB, 0x64, 0xAA, 0xC7, + 0xC1, 0x57, 0x71, 0x22, 0x9E, 0x33, 0x56, 0xC5, 0xD7, 0x7A, 0xC1, 0xE5, 0x61, 0xC8, 0x57, 0x55, + 0x8C, 0x50, 0xB9, 0x34, 0x92, 0xED, 0xEA, 0x09, 0xDB, 0xD5, 0x7D, 0xB6, 0xAB, 0x8B, 0x6C, 0x57, + 0xA7, 0xD9, 0xAE, 0x76, 0xB1, 0x5D, 0xAD, 0x64, 0xBB, 0x9A, 0xC1, 0x76, 0x15, 0xB2, 0x5D, 0xF5, + 0x65, 0xBB, 0xEA, 0xCC, 0x76, 0x95, 0xCD, 0x76, 0x55, 0x93, 0xED, 0xAA, 0x3C, 0xDB, 0x55, 0xD1, + 0xC1, 0x94, 0x73, 0x94, 0x3D, 0xFC, 0xB9, 0x47, 0xB3, 0x9A, 0x5C, 0x60, 0x35, 0xB9, 0xC7, 0x6A, + 0xF2, 0x9A, 0xD5, 0xE4, 0x0D, 0xAB, 0x09, 0x76, 0xF4, 0x29, 0xAB, 0xC9, 0x25, 0x56, 0x13, 0x65, + 0x35, 0xA9, 0xC5, 0x6A, 0x52, 0x81, 0xD5, 0x24, 0x07, 0xAB, 0x89, 0x44, 0xA2, 0xD8, 0x99, 0x22, + 0xAC, 0x26, 0x35, 0x58, 0x4D, 0x9A, 0xB3, 0x9A, 0x9C, 0x8F, 0x4F, 0x7D, 0x59, 0xA7, 0x64, 0x25, + 0x1C, 0xB1, 0xFC, 0x2B, 0x4D, 0x13, 0x18, 0xCF, 0xA0, 0xB2, 0x33, 0x98, 0x42, 0x68, 0x0B, 0x35, + 0xDF, 0x0C, 0x9B, 0xCB, 0x90, 0x3C, 0x85, 0x6E, 0x6A, 0xB5, 0x8B, 0x55, 0xF1, 0x4E, 0x5F, 0x37, + 0x19, 0xDF, 0xCD, 0xD1, 0x10, 0xFF, 0xCE, 0x64, 0x12, 0xDD, 0xAE, 0x3B, 0xB2, 0xE9, 0x0E, 0x54, + 0xBB, 0xC5, 0x81, 0x9E, 0xA1, 0x52, 0x31, 0x16, 0x4F, 0x82, 0x85, 0xE0, 0x95, 0x37, 0x75, 0xF0, + 0x97, 0xA1, 0xC4, 0xC7, 0xBF, 0xB3, 0xC9, 0x76, 0xB1, 0x8B, 0x32, 0x3B, 0xDE, 0x45, 0x14, 0xD3, + 0xC2, 0x55, 0x93, 0x88, 0xAC, 0xB7, 0x44, 0xFA, 0xB0, 0xFE, 0xC4, 0xD9, 0x77, 0xB3, 0xD5, 0x34, + 0x0F, 0x58, 0x7A, 0xC9, 0xEA, 0x24, 0xB2, 0x3A, 0x99, 0xAC, 0x4E, 0x21, 0xAB, 0x53, 0xC9, 0xEA, + 0x34, 0xB2, 0x3A, 0x9D, 0xAC, 0xCE, 0x08, 0x59, 0x7A, 0xC9, 0xEA, 0x2C, 0xB2, 0x3A, 0x9B, 0xAC, + 0xCE, 0x21, 0xAB, 0x73, 0xC9, 0xEA, 0x3C, 0xB2, 0x2A, 0x0B, 0x35, 0x47, 0x66, 0xC8, 0x3B, 0x56, + 0x77, 0x58, 0x37, 0xAC, 0xF0, 0xC0, 0x91, 0x2A, 0x0A, 0x01, 0x48, 0xD9, 0xA0, 0xA1, 0x3D, 0x94, + 0x39, 0x48, 0x89, 0xF8, 0x84, 0x28, 0x3D, 0x64, 0xE2, 0x27, 0x72, 0x47, 0x73, 0xE4, 0x72, 0x78, + 0x5B, 0xED, 0x75, 0xF6, 0x1E, 0xCF, 0xB4, 0x4E, 0xB0, 0xC0, 0x05, 0xCB, 0xB4, 0x49, 0x70, 0xDC, + 0x38, 0x9B, 0xFF, 0x01, 0x67, 0xEB, 0xA7, 0xBC, 0x12, 0x1C, 0x24, 0x0B, 0xC9, 0x94, 0xC1, 0xF1, + 0x5E, 0xD8, 0xD8, 0x62, 0x2E, 0x70, 0xFC, 0x52, 0x30, 0x2D, 0x37, 0x20, 0xE8, 0xE7, 0xA0, 0x0F, + 0xDC, 0xEC, 0x30, 0x0D, 0x86, 0x38, 0x6E, 0xA9, 0x38, 0x89, 0xC6, 0x3E, 0x09, 0xB7, 0x85, 0x10, + 0xFB, 0x3A, 0x48, 0x5B, 0x0B, 0xD2, 0xEA, 0x8B, 0x20, 0x0B, 0xBF, 0xA8, 0x8E, 0x97, 0x3D, 0x90, + 0xEF, 0xCF, 0xF6, 0xCF, 0xE1, 0xF8, 0xD9, 0xFE, 0xF1, 0xAA, 0xF9, 0x7C, 0x2E, 0xFC, 0x4A, 0xF5, + 0x2F, 0xC0, 0xC7, 0x56, 0xCA, 0xE3, 0x93, 0x52, 0xA9, 0xB4, 0xFC, 0xFC, 0x64, 0xC5, 0xB7, 0xFE, + 0x07, 0x15, 0x77, 0x19, 0xFE, 0x7B, 0x15, 0xEF, 0xE3, 0xF1, 0xF9, 0x81, 0xB3, 0xD9, 0x27, 0xA9, + 0xF8, 0xC2, 0x9F, 0x3E, 0x98, 0x7E, 0x86, 0x87, 0xFC, 0xB9, 0x9E, 0xF1, 0xCB, 0xED, 0x67, 0xF8, + 0x37, 0x57, 0xFC, 0x42, 0x6A, 0xC5, 0x53, 0xCE, 0xD4, 0xEF, 0xAA, 0xF8, 0xD0, 0x24, 0x3F, 0xA3, + 0x35, 0xEB, 0xBC, 0xE6, 0xCA, 0xD2, 0x02, 0x32, 0x8A, 0xF5, 0x84, 0x3D, 0x8B, 0x3F, 0xC7, 0xF0, + 0xAB, 0xFF, 0xB2, 0xA9, 0xF8, 0xD1, 0xC4, 0x0E, 0x99, 0xD8, 0xBB, 0x58, 0x03, 0x88, 0xC3, 0xC5, + 0x66, 0x71, 0xB8, 0xE8, 0xF8, 0xFE, 0x9E, 0x39, 0xCB, 0x20, 0x6B, 0x5F, 0x12, 0xD5, 0x5E, 0x7F, + 0x33, 0xDD, 0xCF, 0x16, 0x16, 0x0A, 0x1B, 0xBD, 0xED, 0xE7, 0x27, 0xB1, 0x9E, 0x2D, 0x8D, 0x0B, + 0x81, 0x7B, 0x92, 0x56, 0x0F, 0x34, 0x91, 0xC2, 0xBB, 0x0E, 0xD0, 0xEB, 0x99, 0xF1, 0x83, 0x34, + 0xF3, 0x48, 0x73, 0xE7, 0x46, 0x02, 0x7B, 0x56, 0x82, 0x5D, 0xCE, 0xEE, 0x59, 0x76, 0x3B, 0x70, + 0xC4, 0xBE, 0xD1, 0x02, 0xBC, 0x5F, 0x04, 0xFC, 0xD4, 0x03, 0x3B, 0xE4, 0x8B, 0x9C, 0xC3, 0xCF, + 0x39, 0xCF, 0xF7, 0x38, 0x7B, 0xAD, 0xC5, 0xEF, 0xAD, 0xBE, 0x31, 0xE5, 0xAA, 0x1F, 0x43, 0x7B, + 0x77, 0x77, 0x0A, 0x74, 0xCA, 0x79, 0x4E, 0x52, 0x9C, 0x74, 0xCA, 0xD7, 0x52, 0x9C, 0xD4, 0xCC, + 0xBF, 0x2F, 0xD9, 0x63, 0x97, 0xB3, 0x93, 0x8F, 0x7C, 0xD7, 0x2B, 0x83, 0x6C, 0xA6, 0x3F, 0x6B, + 0x94, 0xD3, 0x1F, 0x1A, 0x25, 0xDB, 0x35, 0x0A, 0x99, 0x77, 0x01, 0x53, 0x1B, 0x25, 0xA9, 0xEB, + 0xC7, 0xF7, 0x47, 0xA3, 0x8F, 0x8B, 0x89, 0x7B, 0xCA, 0x3C, 0x48, 0x2B, 0x62, 0xA8, 0x59, 0x6D, + 0x50, 0xE0, 0xB7, 0x8A, 0x5D, 0x04, 0xA1, 0x6D, 0x5B, 0x65, 0x78, 0x4C, 0x6D, 0xD6, 0x8F, 0xB5, + 0xA3, 0x3F, 0x35, 0x52, 0x98, 0xFF, 0x40, 0xFB, 0x5D, 0x78, 0xC7, 0xBC, 0x7C, 0x48, 0xBB, 0x7C, + 0x9A, 0xF8, 0x0F, 0x0B, 0xAC, 0xE5, 0x6D, 0x3A, 0x04, 0xEF, 0x35, 0x84, 0xF6, 0xB4, 0x36, 0xFC, + 0xB4, 0x7B, 0xEC, 0xF2, 0xDA, 0xD4, 0x46, 0x6C, 0xEF, 0xCA, 0xE3, 0x74, 0x80, 0x21, 0x66, 0x46, + 0xEA, 0xC4, 0x21, 0x1E, 0x5A, 0x5A, 0xA4, 0xDC, 0x57, 0xA9, 0x55, 0x18, 0xF9, 0x6E, 0xF2, 0x84, + 0x1F, 0xB5, 0x52, 0xE5, 0x3F, 0xD2, 0x4A, 0x5B, 0x3F, 0xBA, 0x9B, 0x9C, 0x88, 0x1F, 0x98, 0x39, + 0x29, 0xBD, 0x39, 0x7E, 0xF0, 0x57, 0x66, 0x8E, 0xD7, 0x48, 0x3F, 0xDD, 0xAE, 0x70, 0x4E, 0x9F, + 0x93, 0x2D, 0xBC, 0x46, 0xFA, 0xBE, 0x99, 0xF3, 0x27, 0x7B, 0xC8, 0x9F, 0x47, 0xBF, 0x3E, 0x3E, + 0xFD, 0x79, 0xF4, 0x96, 0x57, 0xAB, 0xC7, 0x69, 0x23, 0x0C, 0xA2, 0x52, 0xA2, 0xF4, 0x7B, 0x04, + 0x8B, 0x2A, 0x0A, 0x22, 0x48, 0xA6, 0x4B, 0x88, 0x44, 0xA4, 0xB5, 0x82, 0x65, 0x8A, 0x48, 0xC8, + 0x27, 0x88, 0xB4, 0x6D, 0xD0, 0x6E, 0xC2, 0x1A, 0x28, 0x68, 0x28, 0x42, 0x41, 0x91, 0x32, 0x07, + 0xC8, 0x2D, 0x72, 0x03, 0xCE, 0x92, 0x26, 0x27, 0xC8, 0x78, 0x3C, 0x9F, 0x9F, 0x9F, 0x9F, 0xF9, + 0x3E, 0x81, 0xA3, 0x34, 0xC8, 0x08, 0xF6, 0x9B, 0xBF, 0x37, 0x6F, 0xDE, 0x37, 0xEB, 0x3F, 0xBF, + 0x5E, 0x3C, 0x0F, 0x3E, 0x9A, 0x47, 0xB4, 0x47, 0x11, 0xFD, 0x33, 0x3A, 0xD2, 0x46, 0x40, 0x53, + 0x17, 0xC7, 0x6F, 0xAB, 0xF5, 0x0D, 0x08, 0x45, 0x23, 0x7C, 0xB2, 0x46, 0x98, 0x49, 0x07, 0xB8, + 0xF7, 0x47, 0xF0, 0xFE, 0x91, 0x53, 0xF7, 0x4E, 0x8B, 0x8F, 0x39, 0xD9, 0xE4, 0xE7, 0xA4, 0x95, + 0x35, 0x4A, 0xCC, 0xA8, 0xED, 0xCD, 0x85, 0xAF, 0xF3, 0xE7, 0xDE, 0xCC, 0x0D, 0xF6, 0xBE, 0x17, + 0x4C, 0x08, 0x6E, 0xE7, 0x4F, 0xDC, 0xE6, 0xA8, 0xCB, 0x26, 0x47, 0x67, 0x07, 0x7C, 0x41, 0xB5, + 0x60, 0x9E, 0xE2, 0xF5, 0x0B, 0xF8, 0x07, 0x8A, 0x97, 0x80, 0x7E, 0xB5, 0x08, 0xE0, 0x6C, 0xB3, + 0x27, 0x53, 0xF2, 0x44, 0x88, 0xEC, 0x2A, 0x62, 0x40, 0xB2, 0x5B, 0x8E, 0xFD, 0xA3, 0xC7, 0x6E, + 0x9F, 0x99, 0xDA, 0xCE, 0xD3, 0x73, 0x6F, 0x3D, 0xD9, 0x14, 0x7B, 0x67, 0x4F, 0x04, 0xEC, 0xC7, + 0xCB, 0x17, 0x59, 0x67, 0x4F, 0x7D, 0x93, 0x75, 0x66, 0xAF, 0x1C, 0xEC, 0x15, 0x8A, 0x63, 0x84, + 0xC8, 0xB2, 0x9D, 0xBB, 0x80, 0xEC, 0xBD, 0x8C, 0x95, 0x90, 0x60, 0x3D, 0x96, 0xB4, 0xCD, 0x25, + 0xF0, 0xEE, 0xAB, 0x46, 0xF4, 0x97, 0xFF, 0x5E, 0x77, 0x81, 0x9A, 0x58, 0x7D, 0x44, 0xFA, 0x7C, + 0xAD, 0x67, 0x96, 0x23, 0x7D, 0x3D, 0x5D, 0x9D, 0x7A, 0x26, 0x4F, 0x3F, 0xA7, 0x31, 0x70, 0x24, + 0xF8, 0xDB, 0x79, 0x6C, 0x03, 0x4B, 0xA9, 0xCE, 0x91, 0x49, 0xE7, 0x8F, 0xED, 0xFC, 0xCF, 0x0C, + 0x4D, 0x54, 0xF6, 0x95, 0x3F, 0x1E, 0xD8, 0x6C, 0xE7, 0xE4, 0xF4, 0x7E, 0x89, 0xCD, 0xDA, 0x3F, + 0x83, 0x9C, 0xA6, 0x09, 0x9F, 0x5E, 0x39, 0x10, 0x93, 0xA7, 0x21, 0x0C, 0x57, 0x44, 0x4E, 0x20, + 0x58, 0x33, 0x8A, 0x19, 0xB4, 0xEF, 0x6B, 0xA5, 0x72, 0x07, 0x9A, 0x39, 0xEE, 0xBE, 0xDE, 0x0F, + 0x67, 0xBE, 0x32, 0x0C, 0x23, 0x36, 0xFF, 0x67, 0xE6, 0x70, 0x1C, 0x54, 0xE2, 0xEF, 0xE1, 0xCA, + 0xE6, 0xC3, 0x3C, 0x20, 0x06, 0x8D, 0x55, 0x1E, 0x0E, 0xF3, 0x5D, 0x7A, 0x07, 0x12, 0xF2, 0x3A, + 0xD8, 0xDF, 0xE2, 0x58, 0x8B, 0x28, 0x16, 0xBD, 0xA8, 0x30, 0xCB, 0x3B, 0xF0, 0xC3, 0x1E, 0x41, + 0x8C, 0x6B, 0x10, 0x20, 0x6B, 0x53, 0x1D, 0x46, 0x6E, 0xFC, 0x28, 0x8C, 0xC7, 0x90, 0x80, 0x03, + 0x97, 0x3A, 0x28, 0xDE, 0xB9, 0x23, 0x93, 0xA5, 0x23, 0xD7, 0x2B, 0x50, 0xE8, 0x17, 0x90, 0x9F, + 0x91, 0x3E, 0x80, 0x33, 0x3B, 0x9B, 0xB8, 0x1D, 0x0E, 0x59, 0x4E, 0x28, 0x07, 0xE7, 0xC9, 0x5C, + 0x3D, 0x8F, 0xDB, 0xE1, 0xE0, 0x95, 0x24, 0xF3, 0x3D, 0xCB, 0x93, 0x89, 0xA7, 0x02, 0x76, 0xA1, + 0x4B, 0x32, 0x76, 0x4F, 0x50, 0x81, 0x36, 0x67, 0x7D, 0x2A, 0xD6, 0x1B, 0x5E, 0x99, 0xC0, 0xE4, + 0x40, 0xCA, 0xEC, 0xC1, 0xB5, 0x5C, 0x60, 0x1C, 0x5D, 0xC5, 0xD1, 0x28, 0xF0, 0xE9, 0x1A, 0x11, + 0xCF, 0x68, 0x00, 0x10, 0xDE, 0x1D, 0x1D, 0x5C, 0xE0, 0x2E, 0x15, 0xB8, 0xE6, 0xD8, 0xD0, 0x6C, + 0xDE, 0xF9, 0xF5, 0x45, 0x74, 0x47, 0x90, 0x30, 0x0A, 0x0C, 0x47, 0x8E, 0xB9, 0xD7, 0x83, 0xC9, + 0xD8, 0x8B, 0x81, 0xCE, 0x01, 0x34, 0x32, 0x2A, 0x9B, 0xDA, 0xA5, 0x77, 0x3B, 0x84, 0xF0, 0x0A, + 0x08, 0x0F, 0x8E, 0x19, 0x92, 0xFC, 0x77, 0x60, 0xC5, 0x5B, 0x28, 0xED, 0xA4, 0x69, 0x87, 0x3A, + 0x82, 0xC7, 0x9A, 0x8E, 0xF5, 0x88, 0xBF, 0xAE, 0x45, 0xF5, 0x82, 0x21, 0xEB, 0x67, 0x72, 0x7F, + 0xF3, 0xB3, 0xCA, 0xBA, 0x66, 0xF3, 0x78, 0x3E, 0x88, 0xF3, 0x06, 0xD2, 0x7A, 0xCE, 0xEA, 0x69, + 0xEC, 0xA9, 0x22, 0xB3, 0xCF, 0x42, 0x7A, 0xA8, 0x00, 0x94, 0x25, 0x18, 0x56, 0x53, 0x30, 0xD1, + 0x14, 0x40, 0xD1, 0x68, 0x0A, 0x10, 0x80, 0x79, 0x6E, 0xD9, 0x15, 0x4C, 0x09, 0x71, 0xD7, 0x30, + 0x40, 0xC4, 0xAD, 0x38, 0xBA, 0x0D, 0x36, 0x85, 0x94, 0xCC, 0xB0, 0x69, 0xF9, 0x9A, 0x76, 0x9A, + 0xD7, 0x8F, 0x35, 0xF1, 0xBF, 0x22, 0x91, 0x13, 0x34, 0xE2, 0x04, 0x9D, 0xA7, 0x7C, 0x83, 0x6B, + 0x0D, 0x01, 0x92, 0xA4, 0x04, 0x15, 0xBE, 0x16, 0xDA, 0xCF, 0xEC, 0x25, 0x0A, 0x20, 0x0E, 0xD1, + 0xA8, 0x50, 0xE9, 0x33, 0x50, 0x31, 0x4B, 0x8F, 0x96, 0xF0, 0xCD, 0xBA, 0xF4, 0xAD, 0x99, 0x96, + 0x82, 0x8C, 0xE0, 0xBC, 0x42, 0xA5, 0x12, 0xA8, 0x90, 0x2A, 0xE4, 0x7D, 0xC2, 0xF0, 0x99, 0x12, + 0xAD, 0x0E, 0xDF, 0xA2, 0x70, 0xE7, 0xC6, 0x57, 0x71, 0xF1, 0x3A, 0xCC, 0x0C, 0x80, 0xCF, 0x85, + 0xE7, 0x97, 0x79, 0x71, 0xE1, 0x19, 0x68, 0x59, 0x60, 0x1C, 0x74, 0x49, 0x02, 0x27, 0x2D, 0xB5, + 0xD3, 0x01, 0x6A, 0xC2, 0x3C, 0x33, 0xE1, 0xBD, 0x8D, 0x68, 0x3B, 0x74, 0x6F, 0x58, 0x03, 0x5B, + 0xA0, 0x84, 0xB8, 0xBA, 0x4D, 0x0C, 0x78, 0xE3, 0x0A, 0x2B, 0xA1, 0xEE, 0x1B, 0xF9, 0x70, 0xCC, + 0x0A, 0x6E, 0x8D, 0xF3, 0x46, 0x50, 0x70, 0xAC, 0x12, 0x55, 0xC1, 0xB5, 0x7A, 0xFE, 0x18, 0x31, + 0x0A, 0x7B, 0xED, 0x82, 0x61, 0x95, 0xC1, 0x16, 0x99, 0x5D, 0x8A, 0x87, 0xDB, 0xC4, 0x62, 0xC1, + 0xF4, 0x0A, 0xCC, 0x2A, 0x24, 0x03, 0x21, 0x49, 0x44, 0x5C, 0xB4, 0x42, 0xF1, 0xFE, 0x77, 0x52, + 0x86, 0x10, 0x2C, 0xA8, 0x7E, 0x63, 0x72, 0x57, 0xC6, 0x51, 0x1C, 0x82, 0xBA, 0xDC, 0x03, 0xD5, + 0xD0, 0x27, 0xD9, 0x2A, 0xDB, 0x61, 0xC5, 0x0A, 0x43, 0xC1, 0xF5, 0x2B, 0x48, 0xDF, 0x23, 0x8C, + 0x95, 0xD1, 0x0E, 0x05, 0x5F, 0x46, 0xFC, 0x34, 0x83, 0xF8, 0xC2, 0x8C, 0x2F, 0x63, 0xDD, 0x33, + 0xC2, 0x38, 0xE7, 0x9B, 0x4A, 0xB5, 0x96, 0x85, 0x66, 0x6D, 0xC9, 0x77, 0xC1, 0xA2, 0x91, 0x5B, + 0x6C, 0xCB, 0x4B, 0x12, 0x4C, 0x4B, 0xD0, 0xE8, 0x32, 0x6C, 0xCA, 0xE8, 0x9E, 0x24, 0xD1, 0xC9, + 0x1D, 0xA9, 0xC2, 0x1D, 0x89, 0xEA, 0x7B, 0xBF, 0x50, 0xA6, 0x3B, 0xA8, 0xAF, 0xA8, 0x53, 0xEF, + 0x32, 0xD4, 0x17, 0x03, 0x40, 0xEB, 0x8B, 0x7E, 0xAB, 0x3B, 0xAD, 0xAF, 0x43, 0xB8, 0xF3, 0xC0, + 0xC9, 0x97, 0x21, 0xAF, 0xBF, 0xA2, 0xBE, 0xEC, 0xC7, 0xA0, 0xD5, 0xDB, 0xA8, 0xD6, 0x77, 0xB2, + 0x29, 0xC9, 0x0F, 0x64, 0x61, 0xAC, 0xFA, 0x1C, 0x2A, 0x8E, 0x97, 0x63, 0xC8, 0x6F, 0x58, 0x6A, + 0x10, 0xB1, 0xB3, 0x5D, 0xDF, 0xAA, 0x30, 0x80, 0xBA, 0xF8, 0xBE, 0xF5, 0x45, 0x0D, 0xD9, 0x01, + 0x17, 0xEE, 0x93, 0x92, 0x3B, 0x02, 0xF3, 0x5E, 0x68, 0x07, 0x9A, 0xEF, 0xF9, 0xEA, 0xB4, 0xAB, + 0x8C, 0x78, 0x43, 0x5C, 0x7C, 0xBD, 0xAA, 0xEF, 0x0E, 0x49, 0xE2, 0x8E, 0x68, 0x5C, 0x17, 0x24, + 0x6E, 0x51, 0xDF, 0x6D, 0x21, 0x37, 0xA0, 0x4F, 0x21, 0x37, 0xA8, 0xC6, 0x4A, 0x94, 0xDB, 0x2F, + 0x1B, 0xF8, 0x92, 0xF5, 0x13, 0xCA, 0x8F, 0xDE, 0x64, 0xF4, 0xBC, 0x7C, 0xCB, 0x03, 0x98, 0x60, + 0x25, 0xC3, 0x18, 0x1E, 0x10, 0x53, 0xF4, 0xC2, 0x14, 0x89, 0x13, 0x79, 0x1A, 0x48, 0x9F, 0x8C, + 0x64, 0x12, 0x28, 0x07, 0xA2, 0xFE, 0xF7, 0x22, 0x12, 0x3D, 0xC4, 0x27, 0xCD, 0x82, 0x11, 0xA3, + 0x31, 0xBE, 0x71, 0x0B, 0x34, 0x3E, 0x3C, 0x0B, 0x7E, 0x3C, 0x48, 0x8B, 0x10, 0x1F, 0x25, 0x5A, + 0xCC, 0x10, 0xFE, 0x5D, 0x1C, 0xFF, 0x7B, 0xB3, 0x94, 0xDC, 0xFD, 0x5F, 0xFB, 0x31, 0x95, 0x98, + 0x42, 0x88, 0x25, 0x62, 0x46, 0xA1, 0x8B, 0xA4, 0x5C, 0x31, 0x29, 0xA3, 0xED, 0xFF, 0xF6, 0x72, + 0x25, 0xAF, 0x3F, 0x45, 0x51, 0xFC, 0x9A, 0x43, 0x8A, 0x94, 0x4C, 0xE5, 0x87, 0x42, 0x64, 0x9E, + 0xE7, 0x79, 0x26, 0x22, 0xAC, 0x2C, 0x9E, 0x29, 0x4A, 0x86, 0x2F, 0xBE, 0xCF, 0xAC, 0x64, 0xA1, + 0x64, 0x8A, 0x05, 0x52, 0x94, 0x58, 0xA0, 0xA4, 0x64, 0xCA, 0x7F, 0x80, 0x28, 0x0B, 0x0B, 0x2C, + 0x14, 0x76, 0xB2, 0xA6, 0x0C, 0x9F, 0xF7, 0xB9, 0xC3, 0xE7, 0xDD, 0x77, 0xCD, 0x13, 0x7D, 0xF9, + 0x0E, 0xF7, 0x9E, 0xF9, 0x9E, 0x73, 0xEE, 0xBD, 0xE7, 0xBC, 0xAD, 0xF7, 0x1A, 0xAF, 0xB9, 0xD7, + 0xA4, 0x45, 0x8E, 0x1C, 0x20, 0xE4, 0x98, 0x3A, 0x46, 0x53, 0x52, 0x0D, 0xAA, 0x95, 0x50, 0x93, + 0x24, 0xFA, 0x36, 0x0A, 0x77, 0x09, 0x08, 0x33, 0x10, 0x3A, 0xF8, 0xA4, 0xDE, 0x73, 0x14, 0x19, + 0x5A, 0x0F, 0xCA, 0x77, 0x90, 0x0C, 0xC7, 0x42, 0x06, 0xDE, 0x8F, 0x9E, 0xE4, 0xD8, 0xD7, 0xCD, + 0x0B, 0x5C, 0x23, 0x98, 0xAB, 0xF9, 0xF8, 0x3E, 0xB3, 0x84, 0xA7, 0x63, 0x4B, 0x90, 0x9A, 0x7B, + 0xD8, 0x6D, 0x6D, 0x31, 0x15, 0x3C, 0x28, 0x62, 0x1B, 0x8A, 0xD3, 0x7A, 0x69, 0x67, 0x51, 0xF3, + 0x98, 0x0E, 0x96, 0x30, 0xB1, 0x48, 0xBA, 0x65, 0x5E, 0x48, 0x7F, 0xE5, 0x4A, 0x99, 0xF3, 0x30, + 0xE7, 0xDC, 0x65, 0xCA, 0x6B, 0x4A, 0x57, 0x17, 0x4B, 0x74, 0x2A, 0x05, 0x50, 0xA1, 0xB4, 0x3C, + 0x5B, 0xFC, 0x95, 0xFD, 0x4E, 0x97, 0x96, 0xDE, 0x43, 0x0E, 0x45, 0x75, 0x2C, 0x15, 0x8A, 0x59, + 0xDD, 0x5A, 0xFA, 0xDA, 0xAE, 0x76, 0xD9, 0x71, 0x90, 0x8A, 0x84, 0xA8, 0xF1, 0x47, 0xD8, 0x5A, + 0xBA, 0x6D, 0xEC, 0xF7, 0x75, 0x21, 0x07, 0x83, 0x6B, 0x47, 0x7D, 0x71, 0x39, 0x31, 0x58, 0xE4, + 0xDE, 0xAC, 0x40, 0xBF, 0x0F, 0x20, 0xFC, 0x85, 0x16, 0xB3, 0x84, 0xEE, 0x00, 0x34, 0xE1, 0xEA, + 0xBE, 0xA1, 0x10, 0x5C, 0xB8, 0x41, 0xE8, 0x61, 0x13, 0x6E, 0x88, 0xAC, 0x13, 0x35, 0xCD, 0x43, + 0xAA, 0xCA, 0x65, 0xE6, 0xB4, 0xE8, 0x32, 0x73, 0x46, 0xE3, 0x02, 0xD3, 0x14, 0xF9, 0x7E, 0xD1, + 0xC0, 0xCF, 0xE0, 0x29, 0xC6, 0x5F, 0xF3, 0xF8, 0xBB, 0x12, 0x3F, 0x64, 0x80, 0x4A, 0x35, 0xE1, + 0x07, 0x5F, 0x56, 0x65, 0xFE, 0x32, 0x32, 0xEC, 0x9A, 0x4B, 0x2B, 0x8D, 0xE9, 0x91, 0x76, 0xCD, + 0xDE, 0xC0, 0x73, 0xA9, 0x82, 0x7E, 0x46, 0xC6, 0x0D, 0x31, 0x28, 0x16, 0x44, 0xA2, 0xA0, 0x3D, + 0x90, 0x14, 0xAA, 0xA4, 0x8B, 0x23, 0x67, 0x49, 0x49, 0x1C, 0x43, 0x72, 0xEB, 0x02, 0xB6, 0x69, + 0x7F, 0xA5, 0xE3, 0xDC, 0x58, 0x27, 0xE9, 0xD2, 0x3F, 0x18, 0x45, 0x12, 0xF0, 0xC6, 0xF5, 0x99, + 0xEF, 0x8C, 0xF5, 0x33, 0x4D, 0x31, 0x07, 0x0C, 0x40, 0x03, 0x76, 0x54, 0x0E, 0xC8, 0xB6, 0x5A, + 0x58, 0x7E, 0xAB, 0x04, 0xCB, 0x7E, 0xCE, 0x83, 0x1F, 0x23, 0x2C, 0x18, 0xB4, 0x87, 0x02, 0x2C, + 0x4D, 0x57, 0xF2, 0x88, 0x71, 0x30, 0x1D, 0xB3, 0x65, 0x32, 0xD7, 0xE2, 0x11, 0xAD, 0xA4, 0x45, + 0x90, 0xF7, 0x85, 0x44, 0x66, 0x68, 0x88, 0x38, 0xD4, 0xA4, 0x5D, 0x58, 0xF2, 0xA5, 0xD0, 0x95, + 0xA2, 0x1D, 0xD6, 0xA7, 0xFC, 0xBF, 0x08, 0xA7, 0x53, 0x92, 0xB7, 0x17, 0x7B, 0xD9, 0x51, 0x81, + 0x8D, 0x5C, 0x34, 0x58, 0xDB, 0xE1, 0x85, 0x2D, 0x87, 0x37, 0xA8, 0x98, 0x53, 0x57, 0x39, 0x65, + 0x39, 0xBB, 0x59, 0x93, 0xC6, 0x14, 0x93, 0xEF, 0x28, 0x2C, 0x61, 0x8C, 0x17, 0x51, 0x6A, 0x0D, + 0x64, 0xCC, 0x63, 0xDC, 0x07, 0x8C, 0x2B, 0xFD, 0x68, 0x3A, 0xC2, 0xDC, 0x96, 0x9F, 0x83, 0x4A, + 0xF9, 0x6E, 0x04, 0x85, 0x20, 0xF4, 0xA1, 0x12, 0xBA, 0xC4, 0xC2, 0x22, 0x50, 0x57, 0xEA, 0x5E, + 0x07, 0x0F, 0x95, 0xDD, 0xB8, 0xAC, 0xB8, 0xE2, 0x29, 0xC3, 0x7E, 0xF5, 0xA0, 0x4B, 0x9C, 0x28, + 0x3D, 0x79, 0x4B, 0x9B, 0x2E, 0x31, 0xB1, 0x7A, 0xDE, 0xBC, 0xA0, 0xED, 0x09, 0xBD, 0x25, 0xC7, + 0x62, 0x04, 0x1B, 0x3D, 0x38, 0xEE, 0x4D, 0xF3, 0xB0, 0x5C, 0xE5, 0x2F, 0x6B, 0x7E, 0xA5, 0x98, + 0x2C, 0x6B, 0x0D, 0xCA, 0x39, 0xB6, 0x2D, 0x1D, 0x52, 0x0F, 0xF0, 0x07, 0x59, 0x81, 0xDE, 0xC5, + 0x58, 0xF2, 0xD9, 0x84, 0x28, 0xE1, 0x7D, 0xDC, 0x9C, 0x87, 0x51, 0x91, 0xB3, 0x5C, 0x83, 0xDA, + 0xE1, 0x70, 0xF4, 0xC4, 0x83, 0xAA, 0x73, 0x4D, 0xED, 0x3A, 0x45, 0x42, 0xE8, 0xB4, 0x03, 0x98, + 0xD2, 0x8C, 0x72, 0xB5, 0x79, 0xEE, 0xEA, 0x4B, 0x11, 0x1E, 0xDF, 0xDB, 0xC8, 0x4E, 0x0F, 0x4E, + 0xF3, 0xA4, 0x5B, 0x5C, 0xE3, 0xEE, 0x17, 0xC9, 0x93, 0xBC, 0x39, 0x5D, 0xD3, 0x90, 0x7D, 0xD1, + 0x79, 0xDA, 0x5F, 0x91, 0xE9, 0xB3, 0xE6, 0x8C, 0x0B, 0x7F, 0x55, 0xA6, 0x74, 0x63, 0xFF, 0x47, + 0xA0, 0x32, 0xEF, 0xE9, 0xDF, 0x12, 0xA8, 0xDB, 0x44, 0x9C, 0xAC, 0x08, 0x74, 0x48, 0xDD, 0x3A, + 0xB7, 0x9F, 0x95, 0x29, 0x48, 0x22, 0x07, 0x7F, 0x2E, 0x53, 0x45, 0x74, 0xBB, 0x6F, 0x11, 0x1E, + 0x45, 0xF4, 0xFA, 0x37, 0x22, 0x3A, 0xC3, 0x93, 0x82, 0x7A, 0x2A, 0x5A, 0x12, 0x26, 0xD1, 0x4E, + 0x0E, 0xA2, 0x3D, 0xDF, 0x54, 0xF1, 0x7D, 0xEC, 0x3F, 0x97, 0xAE, 0x22, 0x3A, 0xCF, 0x4D, 0x7E, + 0xEC, 0x0C, 0x82, 0xC9, 0x2A, 0xAA, 0x83, 0x22, 0x1A, 0x8A, 0xE3, 0xC0, 0x89, 0x44, 0x51, 0x15, + 0x78, 0x10, 0xC6, 0xBE, 0x17, 0x51, 0xE3, 0x88, 0x2E, 0x97, 0x1A, 0x1F, 0xA1, 0xC9, 0xAD, 0x12, + 0x7F, 0xEE, 0x55, 0x31, 0xD4, 0xBB, 0xCC, 0x38, 0xCF, 0xD9, 0xA2, 0x00, 0x0B, 0x7E, 0x15, 0x5C, + 0x49, 0xD1, 0x8F, 0x73, 0x8C, 0x7D, 0x39, 0xB2, 0xC9, 0xEF, 0xA5, 0x92, 0x8A, 0x52, 0x5A, 0xCC, + 0xE9, 0xD2, 0xA1, 0xE1, 0x1D, 0x8A, 0x74, 0x1C, 0x1B, 0xDE, 0x5C, 0x19, 0x1E, 0xB4, 0x23, 0xC3, + 0x1B, 0x1E, 0x52, 0x49, 0xC9, 0x7E, 0xE6, 0x8F, 0x52, 0xC9, 0x1C, 0x0B, 0x3A, 0xDA, 0xF5, 0xD2, + 0xEA, 0xD2, 0xE5, 0xE0, 0xD2, 0x49, 0xED, 0x72, 0x2F, 0x34, 0x8D, 0x4B, 0x0A, 0xB4, 0xAF, 0x05, + 0x89, 0x0B, 0x94, 0x52, 0x6A, 0x5F, 0x4B, 0x51, 0x13, 0xED, 0xFF, 0x4A, 0x26, 0x25, 0xE0, 0xC8, + 0xF4, 0xC8, 0x52, 0x6A, 0x7A, 0x3F, 0x50, 0xF4, 0x61, 0x99, 0x9E, 0x8B, 0x2C, 0xDB, 0x93, 0x64, + 0xB2, 0x5F, 0x92, 0x4C, 0xD2, 0x9B, 0x8A, 0x0E, 0x60, 0x91, 0xF9, 0x7B, 0xAF, 0x72, 0x52, 0xF8, + 0xB1, 0x6C, 0x7F, 0x2E, 0x99, 0x9C, 0x95, 0x26, 0x93, 0xA9, 0xCD, 0xA7, 0x09, 0x25, 0x44, 0xF8, + 0x0B, 0x36, 0xFF, 0x93, 0xC9, 0x24, 0xC8, 0xC1, 0xAB, 0x7A, 0x52, 0x3F, 0xE8, 0x5B, 0x89, 0x64, + 0xA4, 0x8F, 0x24, 0x8D, 0xC4, 0xAF, 0xED, 0x94, 0xEA, 0x57, 0xD2, 0xBF, 0xC5, 0x61, 0x8C, 0x51, + 0x3E, 0x06, 0x42, 0xA3, 0x14, 0x72, 0xDB, 0x9F, 0xB6, 0x35, 0x6F, 0x86, 0x78, 0xC3, 0x41, 0x43, + 0x8F, 0x6A, 0x1E, 0x5A, 0x10, 0x58, 0x48, 0xD4, 0xE4, 0x39, 0xCC, 0x60, 0x1B, 0x52, 0xAC, 0x1D, + 0xD4, 0x81, 0x1F, 0xFF, 0xDD, 0x7C, 0x94, 0xB3, 0x6B, 0x2E, 0x9D, 0x63, 0x37, 0xE3, 0x1A, 0x61, + 0xAA, 0xE4, 0xA5, 0x07, 0xFD, 0xF8, 0xA0, 0xF4, 0x5C, 0x59, 0xA9, 0x90, 0x49, 0x0A, 0x15, 0xF0, + 0xB4, 0xD3, 0x7D, 0x4E, 0xCD, 0x62, 0x24, 0x05, 0xBD, 0xA6, 0xB0, 0x27, 0x29, 0xB0, 0x5A, 0xC9, + 0xD0, 0xA3, 0x6C, 0x55, 0xE4, 0x45, 0x16, 0xE5, 0xC0, 0x6C, 0xF1, 0xC2, 0x67, 0xD2, 0x15, 0xBA, + 0x7D, 0x38, 0xFB, 0x9B, 0x49, 0xAA, 0x08, 0xA0, 0x1C, 0xEA, 0x90, 0xA4, 0x66, 0x45, 0xC9, 0x6A, + 0x15, 0xCB, 0xE1, 0x42, 0x16, 0x62, 0xAC, 0xAA, 0xA1, 0x5A, 0x01, 0x77, 0xB6, 0x4B, 0x59, 0xF7, + 0x25, 0x29, 0xAB, 0x9B, 0x95, 0x6E, 0xEE, 0xD9, 0x8B, 0xE4, 0xF1, 0xE0, 0x73, 0xE3, 0xC3, 0x4C, + 0x60, 0x78, 0x02, 0x16, 0x3B, 0x0A, 0xC0, 0x9F, 0x8F, 0xDF, 0x4F, 0x67, 0x13, 0x9D, 0x04, 0x7A, + 0x28, 0x6E, 0x52, 0xB8, 0xD3, 0xB0, 0xA8, 0xAD, 0x2A, 0xD8, 0xD7, 0xC8, 0x8A, 0xAA, 0x7D, 0x5B, + 0xE5, 0x28, 0x06, 0xBA, 0xC4, 0xBF, 0x41, 0x3B, 0x4E, 0xA6, 0x55, 0xC0, 0x5B, 0x40, 0xE4, 0xBF, + 0xA0, 0xC9, 0x1E, 0x16, 0x99, 0xB7, 0x50, 0xA7, 0x36, 0x17, 0xBC, 0xAE, 0xAF, 0x8E, 0x42, 0xF7, + 0xE0, 0xC7, 0xBA, 0x2A, 0xE6, 0x63, 0xEB, 0x88, 0xC1, 0x72, 0xA5, 0x4C, 0x76, 0x93, 0x3A, 0xA1, + 0x6C, 0xAA, 0xC8, 0x97, 0xEC, 0x24, 0x6D, 0x5F, 0xBE, 0x8A, 0xA1, 0x17, 0x46, 0x7E, 0xDC, 0x2B, + 0x59, 0x0E, 0x20, 0x17, 0x8A, 0xF6, 0xF1, 0xC5, 0xC4, 0xF8, 0x6F, 0xA0, 0x1C, 0xA2, 0x64, 0x27, + 0xDD, 0x36, 0xA6, 0x68, 0x5D, 0xD6, 0x29, 0xF3, 0xA8, 0xCB, 0x34, 0x66, 0x6A, 0x74, 0xCE, 0x52, + 0x1A, 0xCE, 0x70, 0x39, 0xB5, 0x63, 0xE9, 0x98, 0x87, 0xED, 0x3A, 0x66, 0x31, 0x47, 0xB0, 0x65, + 0xFB, 0x55, 0xC3, 0xAF, 0xA7, 0x46, 0x4F, 0x86, 0xF0, 0x6E, 0x28, 0x98, 0x8C, 0x31, 0x26, 0x86, + 0x9F, 0x2D, 0x4E, 0x8D, 0xBE, 0x2C, 0x10, 0x50, 0x21, 0xDE, 0x30, 0x82, 0x27, 0x71, 0x76, 0x6A, + 0xFE, 0x2D, 0xA5, 0xC5, 0xEC, 0xE5, 0x29, 0x7B, 0x89, 0xE5, 0xC4, 0x4B, 0x3B, 0x39, 0xB9, 0xCD, + 0x13, 0xE7, 0xFC, 0x3D, 0xCD, 0xD5, 0x1C, 0x93, 0xD9, 0x84, 0xA0, 0xB6, 0x03, 0xDF, 0xC5, 0xCD, + 0x7C, 0x08, 0xFE, 0xF1, 0x4C, 0x36, 0x92, 0x02, 0xFD, 0xB1, 0x31, 0x72, 0x5D, 0xFF, 0xD8, 0x12, + 0xB7, 0xA2, 0x5E, 0xF0, 0x3E, 0xEA, 0x05, 0x9F, 0xA3, 0x5C, 0xF0, 0x13, 0xCA, 0x04, 0xDF, 0xA1, + 0x4C, 0xF0, 0x21, 0xCA, 0x04, 0xEF, 0xA1, 0x4C, 0x70, 0x18, 0xCA, 0x04, 0x7B, 0xA2, 0x4C, 0xB0, + 0x11, 0xCA, 0x03, 0xDB, 0xA2, 0x3C, 0x70, 0x08, 0xCA, 0x03, 0xA7, 0xA2, 0x3C, 0xF0, 0x44, 0xFE, + 0xBD, 0x56, 0xCC, 0x4D, 0xDF, 0xEB, 0xC5, 0xDC, 0x74, 0xAF, 0xF1, 0x46, 0x88, 0xF0, 0xD5, 0xBD, + 0x66, 0x8D, 0xB7, 0xA3, 0x17, 0x13, 0xE1, 0xE3, 0xFA, 0x67, 0x3E, 0x26, 0x42, 0xBD, 0x98, 0x78, + 0xDD, 0xC4, 0xEB, 0x16, 0x5E, 0xB7, 0x0D, 0x7A, 0x31, 0xF1, 0xBA, 0x6B, 0x4A, 0xBD, 0x98, 0xC6, + 0x3D, 0x26, 0xC2, 0xE0, 0x7E, 0x63, 0xDE, 0xBD, 0x16, 0xCD, 0x37, 0x15, 0xCD, 0x7C, 0x7D, 0x98, + 0x02, 0x79, 0x33, 0x7B, 0xD0, 0xDC, 0x56, 0x7C, 0xC1, 0xC3, 0x29, 0xBF, 0x43, 0x44, 0xC8, 0xAD, + 0xD7, 0x41, 0x0E, 0xE7, 0x8A, 0x78, 0xDC, 0xD6, 0xE2, 0x20, 0x12, 0xA5, 0xA2, 0x87, 0xF3, 0xA1, + 0xEB, 0x4C, 0xCF, 0xED, 0x66, 0x8D, 0xB1, 0xFD, 0x72, 0x76, 0x1A, 0xD9, 0x19, 0x17, 0x00, 0x20, + 0x63, 0x1C, 0xA0, 0xA2, 0x67, 0x1A, 0xB0, 0xAE, 0xB4, 0x01, 0x3E, 0xCE, 0x7E, 0xCE, 0xD9, 0x93, + 0x0A, 0x5C, 0x90, 0x35, 0x60, 0xF2, 0x9B, 0xCB, 0x80, 0x02, 0x12, 0x41, 0x03, 0x66, 0xBA, 0x6C, + 0x11, 0x59, 0x20, 0xE6, 0x3F, 0xE5, 0xFC, 0x4B, 0x6D, 0x54, 0xAB, 0x76, 0x90, 0x30, 0x4F, 0xEB, + 0xE4, 0x95, 0x14, 0x18, 0x52, 0x3E, 0x8D, 0x5E, 0xFF, 0xB2, 0xCA, 0x99, 0xCC, 0x39, 0x58, 0xC3, + 0x72, 0x6C, 0xC9, 0x76, 0xE1, 0xB2, 0xF9, 0x97, 0x78, 0xB6, 0x9D, 0xD5, 0x29, 0xCF, 0x2E, 0x75, + 0x8A, 0x79, 0x9E, 0xF7, 0x0D, 0x9E, 0x4D, 0x89, 0xE7, 0x47, 0xCC, 0xA5, 0xC9, 0xAD, 0xC3, 0x0B, + 0x5A, 0x41, 0x97, 0x78, 0x5E, 0xE2, 0x78, 0x7E, 0x82, 0x91, 0xD3, 0x30, 0x93, 0x19, 0x50, 0x2B, + 0xF6, 0xA0, 0x63, 0x93, 0x2C, 0xCE, 0x57, 0xB6, 0xA6, 0x7C, 0x88, 0xFD, 0x2C, 0xB0, 0x5F, 0xCC, + 0x46, 0x35, 0x76, 0x57, 0x8A, 0x18, 0x21, 0xBE, 0xFC, 0xBC, 0x1C, 0x8F, 0x4B, 0xC0, 0x6C, 0x2B, + 0x57, 0x4A, 0xE8, 0x34, 0xA8, 0xF3, 0xB4, 0xBF, 0xBF, 0xD7, 0xA2, 0x99, 0x36, 0x70, 0x60, 0x41, + 0x00, 0xC0, 0x26, 0x26, 0x1F, 0xF9, 0xAE, 0x21, 0x48, 0x0D, 0xDD, 0x98, 0xAE, 0x89, 0xB4, 0x71, + 0x54, 0x02, 0x02, 0x16, 0x9B, 0xEA, 0x17, 0x43, 0x09, 0x77, 0x60, 0x83, 0xD2, 0x03, 0xE5, 0x99, + 0xE8, 0xA1, 0x9E, 0xDA, 0x1E, 0xF5, 0x20, 0xFE, 0xA1, 0x3F, 0xD9, 0x9E, 0xD0, 0x9D, 0xA6, 0x24, + 0x80, 0x94, 0x52, 0x90, 0xED, 0x5C, 0x2D, 0x6C, 0x4F, 0xB3, 0xCB, 0xB2, 0xC9, 0x9E, 0x51, 0x1B, + 0xA7, 0x30, 0xF3, 0x4E, 0x36, 0x49, 0xB6, 0x07, 0xCD, 0x4A, 0x8F, 0xD7, 0x28, 0xBB, 0x67, 0x9C, + 0xFB, 0x18, 0x9A, 0x31, 0x78, 0xEF, 0xF1, 0xBD, 0x48, 0x04, 0x67, 0x4F, 0xB1, 0x4F, 0x7C, 0x57, + 0x70, 0xA4, 0x43, 0x57, 0x34, 0x4C, 0xF6, 0xF1, 0x2E, 0x70, 0x22, 0xEB, 0xBD, 0x06, 0xEB, 0x3D, + 0xB1, 0xA3, 0xA0, 0x6E, 0x38, 0xAF, 0x7B, 0x62, 0xA9, 0xF1, 0x1C, 0x9D, 0xFD, 0xE7, 0x0C, 0x4C, + 0x80, 0xD4, 0x95, 0x96, 0x6B, 0xD5, 0x60, 0xC4, 0x33, 0xB7, 0x47, 0x3A, 0x64, 0xA3, 0x7C, 0x99, + 0x21, 0x05, 0x5B, 0x64, 0xDE, 0xB1, 0x78, 0x67, 0xC1, 0xD1, 0x68, 0xDE, 0x75, 0xC8, 0x26, 0x29, + 0x0B, 0x42, 0x20, 0x5F, 0xCE, 0x32, 0x0F, 0x86, 0x03, 0x08, 0xC2, 0x05, 0x46, 0x99, 0x85, 0x30, + 0xC2, 0x24, 0x90, 0x0E, 0x68, 0xAD, 0xA0, 0xBB, 0x82, 0x3D, 0xEE, 0xE7, 0x10, 0xCD, 0x3F, 0x32, + 0xE0, 0x0D, 0x2D, 0xF4, 0x58, 0x8B, 0x2C, 0x62, 0x47, 0xC0, 0xB7, 0x25, 0x78, 0x89, 0x12, 0xCE, + 0x97, 0xCD, 0xEF, 0x35, 0x5D, 0x8C, 0x06, 0x75, 0x88, 0x1E, 0xCC, 0xFA, 0x13, 0x46, 0x09, 0x96, + 0x62, 0x01, 0x58, 0x97, 0x12, 0xD1, 0x8A, 0x99, 0xD8, 0x2D, 0x71, 0xE2, 0xC5, 0x8E, 0xAA, 0xF1, + 0x78, 0xE7, 0x59, 0xF1, 0xD4, 0x86, 0x4E, 0x08, 0xBF, 0x56, 0xBC, 0xFE, 0x5E, 0x9E, 0xC2, 0xE4, + 0xF2, 0x74, 0x42, 0x5E, 0x42, 0x68, 0x64, 0xB3, 0xEE, 0x85, 0x3D, 0xB4, 0x16, 0x6F, 0x47, 0x96, + 0xEF, 0xBD, 0xD7, 0xB4, 0x57, 0x41, 0xD6, 0x28, 0x4C, 0x68, 0xE2, 0x40, 0x1D, 0x44, 0x18, 0xF7, + 0x77, 0x65, 0xC0, 0x45, 0xAD, 0xBB, 0xE8, 0x03, 0x5B, 0xF2, 0xA5, 0x8F, 0x8D, 0x42, 0x95, 0x5E, + 0x8F, 0x9D, 0x20, 0x10, 0xE0, 0xE3, 0x47, 0x2C, 0xA9, 0x20, 0x7D, 0x53, 0x54, 0x91, 0x1E, 0x57, + 0xA2, 0xEF, 0xDB, 0x1E, 0x6D, 0x53, 0x77, 0x86, 0x7C, 0xA9, 0xE8, 0x12, 0xEC, 0xFD, 0xE3, 0x6A, + 0xE9, 0xE4, 0x16, 0x5E, 0x15, 0xD3, 0x4A, 0x9D, 0xD3, 0x7B, 0xF4, 0xCB, 0xDC, 0xAC, 0xB8, 0xB3, + 0x2A, 0x32, 0xDE, 0xC0, 0x03, 0x83, 0xC6, 0x16, 0x56, 0xD6, 0xE0, 0x4C, 0xB2, 0x51, 0x61, 0x06, + 0x4C, 0x4A, 0x2F, 0x66, 0x53, 0x43, 0x15, 0x28, 0xDD, 0xB6, 0x7F, 0xB4, 0x06, 0x1F, 0x77, 0x02, + 0xC7, 0xD9, 0x94, 0x07, 0xED, 0xBF, 0x5D, 0x1B, 0x74, 0xF0, 0x6B, 0x35, 0x9B, 0xFB, 0xB6, 0xE9, + 0xDC, 0x80, 0xB0, 0x9B, 0xF8, 0x3B, 0x7E, 0xB8, 0x02, 0x7F, 0x6A, 0xD0, 0x38, 0xB7, 0x8F, 0xEC, + 0x08, 0xE7, 0x05, 0xC4, 0xDB, 0x28, 0x5C, 0xE5, 0xBD, 0x68, 0x1E, 0x84, 0x8A, 0x8B, 0x1A, 0x4F, + 0x97, 0x11, 0x5D, 0x30, 0x78, 0x77, 0x8A, 0x69, 0xCE, 0x65, 0x33, 0x7F, 0x5C, 0x3D, 0xA4, 0x6B, + 0xE9, 0x9F, 0xAA, 0x1E, 0x3A, 0x51, 0x2B, 0x38, 0xA9, 0xBB, 0x13, 0x1E, 0x09, 0x3C, 0xDD, 0xF7, + 0x91, 0x74, 0xAF, 0x04, 0xB2, 0x48, 0x9F, 0xA1, 0x1B, 0xEF, 0x46, 0xBA, 0xA5, 0xB5, 0x87, 0xF6, + 0x1C, 0x99, 0x3B, 0xA5, 0x90, 0x54, 0xCC, 0x0A, 0x73, 0xF9, 0x2F, 0x44, 0x13, 0xC6, 0x1F, 0xDE, + 0xB7, 0x83, 0x64, 0xFC, 0x72, 0xD1, 0x8E, 0x6A, 0x33, 0xA6, 0xFE, 0x4C, 0xD1, 0x8E, 0xF8, 0x0E, + 0xC7, 0x52, 0xD4, 0x9C, 0xCB, 0xC4, 0xE7, 0x8A, 0xC9, 0x32, 0xA1, 0xB4, 0xB7, 0x50, 0x97, 0x82, + 0x51, 0x60, 0xD0, 0x55, 0x43, 0x30, 0x89, 0x94, 0xE6, 0xD2, 0xAD, 0x32, 0x98, 0xA4, 0xB0, 0x3C, + 0x4D, 0x80, 0xE8, 0x61, 0x9C, 0x00, 0xD3, 0xB4, 0x22, 0xB2, 0x9E, 0x96, 0xF3, 0xFC, 0x52, 0xB9, + 0xD6, 0xB8, 0x5F, 0x2C, 0xE7, 0x39, 0xB7, 0xC5, 0x9A, 0xB1, 0x4E, 0x9F, 0xFE, 0xA6, 0x09, 0x90, + 0xBB, 0xED, 0x51, 0x53, 0xC7, 0x6F, 0x56, 0x20, 0xF0, 0x8A, 0x7B, 0x4D, 0x3D, 0xDC, 0x18, 0xA9, + 0x0A, 0xC1, 0x6E, 0xD2, 0x92, 0x8A, 0xB4, 0x25, 0xE5, 0x92, 0x0B, 0xB1, 0x28, 0x2A, 0xB6, 0x68, + 0xB5, 0x46, 0x9B, 0x86, 0x1D, 0x15, 0x1E, 0xC9, 0xC5, 0xE2, 0xEA, 0xB5, 0x60, 0x2D, 0x70, 0xAA, + 0x1B, 0x2A, 0x19, 0xEF, 0xAF, 0x96, 0x1D, 0x34, 0x7C, 0xBF, 0xEC, 0x80, 0xCB, 0x57, 0x86, 0x7B, + 0x39, 0x31, 0xDC, 0xB6, 0x91, 0xE1, 0x42, 0x5C, 0xDE, 0xE0, 0xA8, 0x20, 0xAA, 0x85, 0x30, 0xA8, + 0x12, 0xEF, 0x2A, 0xE9, 0x34, 0x8C, 0x7D, 0x52, 0x93, 0x63, 0x63, 0x7F, 0x6B, 0x6E, 0x19, 0x29, + 0xD0, 0x5F, 0xAA, 0xC3, 0x55, 0x61, 0x95, 0x1A, 0x61, 0xD4, 0x86, 0x06, 0x13, 0xA2, 0x8B, 0x91, + 0x99, 0xD3, 0x57, 0xD2, 0xC2, 0xA2, 0xE3, 0x7D, 0x86, 0x33, 0xAE, 0x0D, 0xE8, 0xF9, 0xA8, 0x7C, + 0xA5, 0xAB, 0xAE, 0x95, 0xAF, 0xDC, 0x14, 0x9C, 0x25, 0x25, 0x69, 0x4A, 0x05, 0xDA, 0x0D, 0x91, + 0xB3, 0xFC, 0x9B, 0xC5, 0xAE, 0xA9, 0xB3, 0x4C, 0xAD, 0x28, 0x56, 0x72, 0xBA, 0x52, 0x54, 0xE3, + 0xC6, 0x08, 0x20, 0x5F, 0x22, 0x67, 0x39, 0x2F, 0x71, 0x96, 0x52, 0xA5, 0xFC, 0x46, 0xEA, 0x2C, + 0xA5, 0x2D, 0xD9, 0xDB, 0xCF, 0x16, 0x11, 0xCB, 0xDE, 0x54, 0xB7, 0x14, 0xF3, 0x9D, 0x06, 0x64, + 0x5D, 0x20, 0xC7, 0x4C, 0x92, 0xDC, 0xD4, 0x15, 0xA4, 0xCE, 0x72, 0xD2, 0xD7, 0x9D, 0x65, 0x2A, + 0x2C, 0x40, 0x4C, 0xDD, 0x49, 0xBA, 0xD6, 0x7E, 0x5C, 0x5A, 0x27, 0xDE, 0x7F, 0x5C, 0x5E, 0xA7, + 0xB3, 0x3D, 0x49, 0xE1, 0x5C, 0xE4, 0x4A, 0xFE, 0xD8, 0x08, 0x6A, 0x89, 0x8C, 0x14, 0x0C, 0x52, + 0xF6, 0x7E, 0xBA, 0xB6, 0x93, 0xDE, 0xD2, 0x07, 0x84, 0xD1, 0x5F, 0xBB, 0x5F, 0x4F, 0x02, 0xC2, + 0x92, 0x5A, 0xEC, 0x2D, 0xEB, 0x96, 0xC5, 0x88, 0x43, 0xEE, 0x97, 0xBE, 0xC9, 0x61, 0x5C, 0x1D, + 0xA1, 0xD3, 0x9C, 0xC8, 0xD0, 0xED, 0xE5, 0xFB, 0x7B, 0xF4, 0x86, 0x62, 0x0B, 0x32, 0x6F, 0xBB, + 0xCD, 0x96, 0xB3, 0xC1, 0x8C, 0x51, 0x3F, 0xDD, 0xCF, 0xA1, 0xFE, 0x13, 0xFA, 0x30, 0xF9, 0x97, + 0x1A, 0x36, 0xBE, 0xEE, 0x3C, 0x02, 0xF9, 0xB2, 0xF7, 0xAA, 0xED, 0x38, 0xC7, 0xB0, 0x90, 0x89, + 0x0F, 0x99, 0xA4, 0x2B, 0xE9, 0x5E, 0x7C, 0x6E, 0xFC, 0x3E, 0x14, 0x76, 0x13, 0xBC, 0xDA, 0x30, + 0xBE, 0xF9, 0x64, 0x10, 0x96, 0x0F, 0xCE, 0x2B, 0x2E, 0x64, 0x37, 0xDB, 0x24, 0x5F, 0xE5, 0xE6, + 0xA2, 0xDC, 0x27, 0x91, 0x35, 0xBF, 0xF2, 0xD2, 0xC6, 0x1F, 0xD5, 0x86, 0xEF, 0x52, 0x7F, 0xEA, + 0x9D, 0x7D, 0xEE, 0x48, 0xC5, 0xF6, 0x27, 0x84, 0xAD, 0x9D, 0xEA, 0x2B, 0x73, 0x05, 0x0E, 0xC7, + 0xBC, 0x72, 0xD4, 0x35, 0x21, 0x47, 0xA5, 0xB0, 0x69, 0x5E, 0x43, 0xEB, 0xB4, 0x1A, 0x5F, 0x29, + 0xBF, 0x03, 0x12, 0x42, 0xFC, 0x04, 0xEC, 0xFA, 0x57, 0xE1, 0x42, 0x89, 0xF4, 0x2E, 0x31, 0x5C, + 0x40, 0xF3, 0x41, 0xA8, 0x9D, 0x2B, 0x39, 0x59, 0x02, 0xE7, 0x6B, 0xCF, 0x5B, 0x69, 0x2E, 0xD8, + 0x23, 0xF3, 0x14, 0xF8, 0x60, 0xEE, 0x77, 0x28, 0xE3, 0xFD, 0xF5, 0x87, 0x05, 0x1F, 0x5A, 0xE4, + 0x4C, 0xB9, 0x45, 0x2E, 0x5B, 0xC4, 0xCD, 0x10, 0x57, 0x21, 0xC6, 0xA9, 0x2D, 0x6E, 0x71, 0xB1, + 0x6B, 0xE6, 0xF7, 0x10, 0x37, 0x4F, 0x6A, 0xA9, 0xA9, 0x09, 0x05, 0x8A, 0x52, 0x0D, 0xB9, 0x71, + 0x0F, 0x1C, 0xFC, 0xC9, 0xF6, 0xB8, 0xB4, 0x3B, 0xCC, 0x3D, 0xAC, 0x4E, 0x3D, 0xD2, 0x5B, 0xFD, + 0x73, 0x51, 0x20, 0xA7, 0xC1, 0x05, 0x36, 0xC0, 0x08, 0x07, 0x78, 0x9C, 0xD3, 0x2E, 0x75, 0x75, + 0x78, 0x6F, 0xA1, 0xDC, 0xA9, 0x43, 0x87, 0x7B, 0xA1, 0x42, 0xE8, 0x0F, 0x73, 0xC3, 0xD1, 0xFF, + 0xE4, 0x2A, 0x8C, 0x9A, 0x44, 0x80, 0xB9, 0x9E, 0x79, 0x52, 0x26, 0x68, 0x2F, 0x00, 0xED, 0x05, + 0x44, 0xDB, 0x01, 0x01, 0x59, 0xD0, 0x1A, 0x1C, 0xB4, 0x63, 0x36, 0xE0, 0x07, 0x8A, 0x04, 0x49, + 0x2D, 0x80, 0xC0, 0x28, 0xBA, 0xC0, 0x53, 0xAF, 0xC2, 0x5E, 0x87, 0x78, 0x60, 0x98, 0xF6, 0x1D, + 0x40, 0xFC, 0x57, 0x20, 0x7A, 0xD9, 0xA3, 0xF5, 0x5E, 0x3C, 0xEA, 0xF6, 0x10, 0xB8, 0x5E, 0x27, + 0x55, 0xA1, 0x6C, 0x11, 0x73, 0x98, 0x2D, 0xCD, 0x8A, 0xB9, 0x1A, 0x98, 0x83, 0xC0, 0x0B, 0xFE, + 0x20, 0xEC, 0x08, 0x5E, 0x43, 0x0A, 0x4F, 0xF9, 0x8C, 0xD8, 0x8B, 0x60, 0x8D, 0x07, 0x6D, 0x39, + 0x76, 0xDF, 0x81, 0xB6, 0x5A, 0x44, 0x5B, 0xAE, 0x58, 0x25, 0x05, 0x46, 0x41, 0xB5, 0x1E, 0x02, + 0xF1, 0x16, 0xFB, 0x0C, 0xD5, 0x8D, 0x82, 0x03, 0xEC, 0x3F, 0x6F, 0x00, 0x17, 0x5D, 0x29, 0x1A, + 0x3C, 0xDB, 0x0D, 0xEC, 0x96, 0xF9, 0xB0, 0x0E, 0xB7, 0x57, 0xEE, 0x6B, 0x99, 0x94, 0x2F, 0x77, + 0x37, 0x1B, 0x7A, 0xDE, 0x82, 0xCF, 0x63, 0xD3, 0x76, 0x5A, 0x1C, 0xD9, 0x28, 0xFB, 0x25, 0x1C, + 0x6F, 0xD7, 0x79, 0xDA, 0x56, 0x6B, 0xE1, 0xC8, 0xBE, 0x39, 0xFF, 0xA2, 0x0F, 0xDF, 0x9C, 0xDB, + 0xA4, 0x6A, 0x47, 0xF8, 0xB5, 0x31, 0xD7, 0x0D, 0x71, 0x61, 0x96, 0x2C, 0x7F, 0xAE, 0xCF, 0xBF, + 0x30, 0x5E, 0x17, 0x58, 0x80, 0x58, 0x1E, 0xB5, 0xC5, 0xED, 0xB9, 0xF5, 0xBB, 0xA0, 0x08, 0x8B, + 0xE6, 0x2A, 0x73, 0x39, 0x18, 0xED, 0x75, 0xBC, 0xD7, 0xF8, 0x71, 0x03, 0x2A, 0x10, 0x84, 0x2E, + 0xE3, 0xD1, 0x15, 0x91, 0xA4, 0x05, 0xE6, 0x84, 0x43, 0x56, 0x28, 0x58, 0xCE, 0xBF, 0xB8, 0x25, + 0x88, 0x84, 0x19, 0x4D, 0xC5, 0xF6, 0xB6, 0x78, 0x91, 0x10, 0x17, 0x67, 0x1D, 0xE4, 0x45, 0x47, + 0xEE, 0x4E, 0x57, 0x24, 0x92, 0x63, 0x62, 0x2B, 0x0E, 0x9B, 0x07, 0xA3, 0xB3, 0x91, 0x71, 0x24, + 0x2E, 0x2A, 0x0B, 0x75, 0x84, 0x2D, 0x70, 0x8C, 0x49, 0xD7, 0xB9, 0x25, 0x6C, 0x67, 0xDC, 0xF3, + 0xB4, 0x26, 0xF4, 0x14, 0xAE, 0xB1, 0x89, 0x6A, 0x40, 0x1C, 0x15, 0xC5, 0x12, 0x2F, 0x9F, 0x73, + 0x2C, 0x3B, 0xA3, 0xAB, 0x95, 0x40, 0x87, 0x06, 0x81, 0x0E, 0x15, 0x5E, 0xBA, 0xF2, 0x4D, 0x85, + 0x44, 0x07, 0x25, 0x86, 0x42, 0xA9, 0xAA, 0x00, 0xA0, 0xCC, 0x75, 0x61, 0x3C, 0xBB, 0xC5, 0x38, + 0x09, 0x60, 0x7E, 0x37, 0xDE, 0x33, 0x4C, 0x44, 0x6D, 0xB7, 0x70, 0xB3, 0xA6, 0xB9, 0x32, 0x12, + 0x3E, 0x70, 0x98, 0x90, 0xAB, 0xC6, 0xB2, 0x6F, 0x8F, 0x7D, 0xDE, 0x23, 0x42, 0x7A, 0x88, 0x89, + 0xB9, 0x0D, 0xFD, 0xC1, 0xEB, 0x0F, 0x55, 0x3B, 0x03, 0x65, 0xD3, 0xA3, 0xD2, 0xFB, 0xDE, 0xAE, + 0xD2, 0x75, 0x6D, 0xCA, 0x4D, 0x0D, 0xF8, 0xD7, 0x2B, 0xFF, 0x09, 0xCF, 0x97, 0xD6, 0xB6, 0xF6, + 0xCA, 0x5D, 0x85, 0x77, 0x26, 0xEB, 0xDC, 0xA9, 0xD8, 0x1E, 0xB5, 0xEF, 0x84, 0x07, 0x60, 0xE6, + 0x08, 0x0E, 0xB9, 0x7D, 0x8E, 0x25, 0xB8, 0x94, 0x7A, 0xD7, 0xB8, 0xBC, 0x38, 0x69, 0xC6, 0x27, + 0xC2, 0xA8, 0x5D, 0x99, 0x76, 0xA4, 0x56, 0xE5, 0x69, 0x69, 0x30, 0xAA, 0xAB, 0x59, 0x4F, 0x0E, + 0xE3, 0x27, 0x30, 0x88, 0xE5, 0x1F, 0x61, 0xC8, 0x55, 0xB0, 0x8E, 0x1F, 0x5D, 0x3F, 0x7D, 0x39, + 0x79, 0x91, 0xD4, 0x92, 0xC4, 0xA5, 0x9D, 0x4B, 0x5C, 0xE6, 0xFC, 0xF6, 0x63, 0x2B, 0x37, 0x25, + 0x4F, 0x40, 0xC9, 0xC6, 0xFC, 0xB5, 0xC7, 0x4C, 0xAE, 0x99, 0xB9, 0x6A, 0x68, 0x83, 0x69, 0x64, + 0xCC, 0x07, 0x63, 0xCC, 0x3C, 0x93, 0x99, 0x2D, 0x66, 0xAB, 0x69, 0x30, 0x53, 0xF0, 0x6E, 0x2B, + 0xFE, 0xAE, 0x37, 0xAB, 0x4D, 0xF1, 0x67, 0x86, 0x59, 0x67, 0x36, 0x98, 0x0C, 0x9F, 0x1B, 0xF0, + 0x3E, 0xC3, 0xFB, 0xAD, 0x1C, 0xBB, 0x83, 0xBF, 0x2E, 0x33, 0x1B, 0xF1, 0xCD, 0x2A, 0x8C, 0xAD, + 0x99, 0xC5, 0x26, 0xE7, 0xEF, 0x0D, 0x66, 0x2A, 0xBE, 0x5D, 0x8F, 0x57, 0xCD, 0xF8, 0x3F, 0x43, + 0xCC, 0x20, 0xFE, 0xED, 0x6F, 0x06, 0xE3, 0x7D, 0x7F, 0xBC, 0x1B, 0x8D, 0x6F, 0x97, 0x16, 0x70, + 0x89, 0x69, 0x07, 0x31, 0xAF, 0xE6, 0x27, 0x63, 0x16, 0x63, 0xEE, 0x36, 0xC2, 0x6D, 0x30, 0xB3, + 0xCD, 0x34, 0x33, 0x06, 0xFF, 0x0F, 0x06, 0xD4, 0x56, 0x66, 0x26, 0xC6, 0x6C, 0x28, 0xB0, 0x91, + 0xCA, 0xD5, 0x1C, 0xB1, 0x82, 0xB3, 0x97, 0x61, 0xD6, 0x22, 0xD3, 0x10, 0xCD, 0x5D, 0x08, 0x68, + 0x99, 0xD9, 0xC1, 0xF1, 0x0D, 0x8E, 0x86, 0x11, 0xC4, 0x3E, 0x9C, 0xFF, 0x0E, 0x01, 0xAE, 0x2F, + 0x11, 0x23, 0x48, 0xC8, 0x5B, 0x60, 0x00, 0x00}; diff --git a/src/XMasFiles/SWJ-SQRC01_1C_trimmed_optimized.vgz b/src/XMasFiles/SWJ-SQRC01_1C_trimmed_optimized.vgz new file mode 100644 index 0000000000000000000000000000000000000000..97fc202ac3b80f80b873fe3f7e96e6098ed296ee GIT binary patch literal 6408 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 Wj)oD$KAis!0j@6*BS^?wU;qHI?sG2y literal 0 HcmV?d00001 diff --git a/src/XMasFiles/WEWISH.CMF b/src/XMasFiles/WEWISH.CMF new file mode 100644 index 0000000000000000000000000000000000000000..6e6ebc6fb6783f80e4709c55f4242c96e9197b23 GIT binary patch literal 8773 zcmbtZJB(G=6+MrSN$z_>#!{pdDUc2Gfsw-q0mjA*!wka=3=HBUrm>(IN#+k`4n3^=J0#gYpbE>gS2lI5gw*4k(9bNBr`J~7hs^?mQ`@7kZU z_sm_ru+ZyGgs;OyxEbQVp8S*l@AX2jHwbx{{=?61%?^9-gs@wF_~XZ4-1^Ox}0Bwi3Si=H^BSKa%%7z2BdD`gG3&J0C(n zeE8+^iu{QG4Dk8Smk-nX4!nQo-g|ie*1!K7zrXqr-^PEvPqx4J)wZAFSd@%L@v&v^XfmGBol{<$ms6_0=YIDCr7 z=h?MEs8T!SE^>F7c`7Xn2J`WOn ziW31}SEO?6@Os!9i{x8lLY~?Ad;uaB);rjP&tdRc0AGAe6%(ucGUb=#=X2mU*W#Cz zQ%<)z@Wdyd#o1YyH{CX`#eWtw_!v#`ZZyAX7d({fQF^JIhS+!2B`U6%0qJpwJru>7 zD042;+Z872yW%9s->yjI*pUuQ%-4$$vDorq zU-%pWpGEirA5+D|njvOH6T3zTW#yZ2j_IcHWB8Sa+vc_S8;&t-gE;nB+b&|F5iOV? zti+?oU_yh`Lcv6JV4|Fi0};;EVTNcePfh_7D24ANPt&5XQxTPnTbY z$R&teSQGQ=;s7L_e;IO^iVYP_9Xg&WDgT;YYBE|=i+@(`b$Y7{q=l&)hqG|Q{R4)pgK`q5NFpR`~{r&5VC za1uC5WU;j&GR48?qJzuV+r|_pV|*E=^!2&u>(oYwk+P8EN7^!Un`*ZQ> zq+bnF%|d3EV2aEVB-oKUSXgM8=nhOBN8`ju5eF|v2U}!#V~SHzNyC)BUXH#_Es_{1 z3p?J7)7;VJ*KqyCWj6VvbeN$jPd)$9bs%FHr}jCb7L=16p*;&X zbjfvbQBHz48wOh`6OXlsiDzXODbw_eJwtCdslgK7=D&VsyZQ|&C%6k`jtp0B2@4ze_`)yZT&^S6y0O>l@p7Vn8k-%43r3Z1gz zB3vn3%2mfiIlVWDa!!JhRm#=KWKgjySIsWD#Ewu7vslxUDE8j2PGuumO<9s5&xee7 z+?hLsy%h(~N{TOc5_L&HF~5%;5Z^YNxpd^aIW^qPMF(E<#c< zwL+qL*-R4)bLH*yJ>A9aO`LI{^E`ZnkDF~W+Wd&_+l*CqJroEs$sn1^YN-KEzwD2N zF!pQu!0f`eze$Nwpq_Brr%f#SoYAnS^Sd=I;aJ0gOI)*Qd%!zdE9$nc+ayL*=`_pO z(8pudy3LeHM%v0o2T4h@$X@3cq~$Z#Z5FZ>zxui@V*?WKUvAw7JsCi&6@M*YHk>!s zZON|sx*&Urb(@$@4^v&;%~;h$*1W*FEwjBB6=&yD-=#afEe5!itJZBvcROz@n-(UV z4W7Slt9;hLPWe@syxh92jfpl-+o>>VnG%X!vWu8#-C<~19?Q1t+3U70Ok4$%44Ovv zj9#~8wnsBetY6r@zkA)5bWf|z?sXg3$3)I~p~lBl5wXah`rdlE!o@1pEMghf8AEY%J8<(fcJTYWcg;feZh4b%5GKU{*QHAvdS{a zGEA!yya#(Y{eg$(U_a$esZ+gSzVjnSu)tkz_H^oU1y1j$-8@``{8do5Ww;_m> zpuiv7JS#bVG^z)ZjH1A%MkixE*8m*rVXldc;sESX@Z?y}^#N1UscP!beA0FDcf+Of z&u9|$DBo~;H^+LoRkn~5(H&l|mOOPk?;8dQX$4BSOV20!p{gN85}I00C^~eZpEpm# zd_RA`V`O4z|ef#uPGQ zS9wZbW1T2d3);Q>)sPq|3p?JlNib5nd==*}LF94=rp9v>au9|?Ou_@i`~p(#(D zULAFy%2VWPK^bT~qiR7p)e+ji%Uv#xkTOlbSpKpkY5q#L zXAk0XlvuNxvYInoPy!4kbAiWN;)Z1uapP%$C=*+NM_G_$W0?|g3V)FyP*!YloY?7CK_6t8m4=eunKM&vk54Ej_asU7T literal 0 HcmV?d00001 diff --git a/src/XMasFiles/XMasBonus.h b/src/XMasFiles/XMasBonus.h new file mode 100644 index 0000000..619c04a --- /dev/null +++ b/src/XMasFiles/XMasBonus.h @@ -0,0 +1,2255 @@ +// WEWISH.CMF - We Wish You A Merry Christmas +const unsigned char WEWISH_CMF[0x2245] = +{ 0x43, 0x54, 0x4D, 0x46, 0x01, 0x01, 0x28, 0x00, 0xE8, 0x00, 0x28, 0x00, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x00, 0x01, 0x01, 0x0C, 0x00, 0x90, 0x00, 0x31, 0xA1, 0x1C, 0x80, 0x41, 0x92, 0x01, 0x3B, + 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0xB1, 0xD2, 0x80, 0x81, 0xF1, 0x03, 0x05, + 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x4F, 0x00, 0xF1, 0xD2, 0x53, 0x74, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x4E, 0x00, 0xDA, 0xF9, 0x25, 0x15, + 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x12, 0x4F, 0x00, 0xF2, 0xF2, 0x60, 0x72, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x01, 0x8A, 0x40, 0xF1, 0xF1, 0x11, 0xB3, + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x00, 0xA8, 0xD6, 0x4C, 0x4F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0xF8, 0xD6, 0xB5, 0x4F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0xF7, 0xD6, 0xB5, 0x4F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF5, 0xD6, 0xB5, 0x4F, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDE, 0x00, 0x00, 0xF7, 0x10, 0xB5, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xB2, 0x03, 0x5D, 0xDA, 0x02, 0x18, 0x01, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x67, 0x01, 0x00, 0x69, 0x00, 0x00, + 0xC0, 0x00, 0x00, 0xB1, 0x69, 0x00, 0x00, 0xC1, 0x02, 0x00, 0xB2, 0x69, 0x00, 0x00, 0xC2, 0x03, + 0x00, 0xB3, 0x69, 0x00, 0x00, 0xC3, 0x05, 0x00, 0xB4, 0x69, 0x00, 0x00, 0xC4, 0x05, 0x00, 0xB5, + 0x69, 0x00, 0x00, 0xC5, 0x02, 0x00, 0xBB, 0x69, 0x00, 0x00, 0xCB, 0x06, 0x00, 0xBC, 0x69, 0x00, + 0x00, 0xCC, 0x07, 0x00, 0xBE, 0x69, 0x00, 0x00, 0xCE, 0x09, 0x00, 0xBF, 0x69, 0x00, 0x00, 0xCF, + 0x0A, 0x55, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x2A, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, + 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, 0x00, 0x95, 0x2C, 0x74, 0x00, 0x9B, 0x24, + 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x3C, + 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, + 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x44, 0x78, + 0x00, 0x92, 0x44, 0x6B, 0x00, 0x93, 0x3C, 0x6B, 0x00, 0x94, 0x33, 0x6B, 0x00, 0x9C, 0x26, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x90, 0x44, 0x00, + 0x00, 0x92, 0x44, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x9B, 0x24, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x3C, 0x00, + 0x00, 0x94, 0x33, 0x00, 0x00, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, + 0x00, 0x92, 0x44, 0x6B, 0x00, 0x93, 0x3C, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, + 0x00, 0x92, 0x44, 0x00, 0x00, 0x90, 0x43, 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x9B, 0x24, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x95, 0x2C, 0x00, + 0x00, 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, + 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x95, 0x31, 0x74, 0x00, 0x9B, 0x24, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x9C, 0x26, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x41, 0x00, + 0x00, 0x92, 0x41, 0x00, 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3D, 0x6B, + 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x28, 0x58, 0x0B, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x31, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, + 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x39, 0x6B, 0x00, + 0x95, 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, + 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x28, 0x58, 0x0B, 0x28, + 0x00, 0x0A, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x39, + 0x00, 0x00, 0x95, 0x30, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x95, 0x2E, + 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, + 0x00, 0x0B, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x28, 0x00, + 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x3A, 0x00, + 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x35, 0x6B, + 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0A, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, + 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0B, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x35, 0x00, 0x00, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, + 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x3A, 0x6B, + 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, + 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0A, 0x95, 0x2E, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x44, 0x00, + 0x00, 0x92, 0x44, 0x00, 0x00, 0x90, 0x43, 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x95, 0x33, 0x74, + 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0B, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0B, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, + 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, + 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x28, 0x58, 0x0B, 0x90, 0x3F, 0x00, 0x00, + 0x92, 0x3F, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x33, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, + 0x94, 0x37, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, + 0x94, 0x37, 0x6B, 0x00, 0x95, 0x31, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x28, 0x58, 0x0B, 0x28, 0x00, 0x0A, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3F, + 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x95, 0x31, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, + 0x6B, 0x00, 0x95, 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, + 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x40, 0x6B, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9F, 0x28, + 0x58, 0x0A, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x93, 0x40, 0x00, + 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, 0x00, 0x93, 0x40, 0x6B, + 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x49, 0x78, + 0x00, 0x92, 0x49, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x40, 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x49, 0x00, + 0x00, 0x92, 0x49, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, 0x00, 0x93, 0x40, 0x6B, + 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x46, 0x78, + 0x00, 0x92, 0x46, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x95, 0x30, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3C, 0x00, + 0x00, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, + 0x00, 0x95, 0x35, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x41, 0x6B, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x6B, + 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, + 0x00, 0x92, 0x44, 0x00, 0x00, 0x95, 0x35, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3C, 0x00, + 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3D, 0x6B, 0x00, 0x94, 0x3A, 0x6B, + 0x00, 0x95, 0x2E, 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x28, 0x58, 0x0B, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x95, 0x2E, 0x00, 0x00, + 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, + 0x95, 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, + 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x3F, 0x00, 0x00, + 0x92, 0x3F, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, + 0x28, 0x00, 0x0A, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x95, 0x30, 0x00, 0x00, 0x90, + 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x95, + 0x31, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0B, 0x93, 0x3D, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x90, + 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x31, 0x00, 0x00, 0x93, + 0x3D, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, + 0x41, 0x6B, 0x00, 0x94, 0x3D, 0x6B, 0x00, 0x95, 0x2E, 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, + 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x9B, 0x24, 0x6B, 0x00, 0x9F, + 0x28, 0x58, 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x9B, 0x24, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0B, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x95, 0x2E, 0x00, 0x00, 0x90, + 0x43, 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x3D, 0x6B, 0x00, 0x95, + 0x33, 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0C, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0C, 0x90, 0x43, 0x00, 0x00, 0x92, + 0x43, 0x00, 0x00, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x93, 0x3F, 0x00, 0x00, 0x94, + 0x3D, 0x00, 0x00, 0x95, 0x33, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, 0x00, 0x93, + 0x3F, 0x6B, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x95, 0x2C, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, + 0x28, 0x58, 0x0C, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x9C, 0x26, 0x6B, 0x00, 0x9F, + 0x28, 0x58, 0x0C, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x9C, 0x26, 0x58, 0x00, 0x9F, + 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x9C, 0x26, 0x5F, 0x00, 0x9F, + 0x28, 0x58, 0x0B, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, + 0x3C, 0x00, 0x00, 0x95, 0x2C, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, + 0x4B, 0x78, 0x00, 0xC1, 0x00, 0x00, 0x91, 0x43, 0x72, 0x00, 0xC2, 0x04, 0x00, 0x92, 0x3F, 0x65, + 0x00, 0x93, 0x3D, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x95, 0x27, 0x78, 0x00, 0x9B, 0x24, 0x6B, + 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x4B, 0x00, 0x00, 0x91, 0x43, 0x00, 0x00, 0x90, 0x4D, 0x78, + 0x00, 0x91, 0x44, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x90, 0x4D, 0x00, + 0x00, 0x91, 0x44, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x00, 0x90, 0x4F, 0x78, + 0x00, 0x91, 0x46, 0x72, 0x0A, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x3A, 0x00, + 0x00, 0x95, 0x27, 0x00, 0x00, 0x90, 0x4F, 0x00, 0x00, 0x91, 0x46, 0x00, 0x00, 0x90, 0x50, 0x78, + 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x95, 0x20, 0x78, 0x00, 0x9B, 0x24, 0x6B, + 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x3C, 0x72, + 0x00, 0x94, 0x38, 0x72, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x29, 0x00, 0x0B, 0x90, 0x50, 0x00, 0x00, + 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, + 0x90, 0x50, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x3C, 0x72, 0x00, + 0x94, 0x33, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0A, 0x90, 0x50, 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, + 0x90, 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x3C, 0x00, 0x00, + 0x94, 0x33, 0x00, 0x00, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, + 0x90, 0x50, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x3C, 0x72, 0x00, + 0x94, 0x38, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, + 0x90, 0x4F, 0x78, 0x00, 0x91, 0x46, 0x72, 0x00, 0x92, 0x43, 0x65, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x95, 0x20, 0x00, 0x00, + 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x4F, 0x00, 0x00, 0x91, 0x46, 0x00, 0x00, + 0x92, 0x43, 0x00, 0x00, 0x90, 0x4D, 0x78, 0x00, 0x91, 0x44, 0x72, 0x00, 0x92, 0x41, 0x65, 0x00, + 0x95, 0x25, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0B, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x4D, 0x00, 0x00, 0x91, 0x44, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, + 0x90, 0x4D, 0x78, 0x00, 0x91, 0x44, 0x72, 0x00, 0x92, 0x41, 0x65, 0x00, 0x93, 0x3D, 0x72, 0x00, + 0x94, 0x38, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0A, 0x29, 0x4C, 0x0B, 0x90, 0x4D, 0x00, 0x00, 0x91, 0x44, 0x00, 0x00, 0x92, + 0x41, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x95, 0x25, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x94, + 0x38, 0x00, 0x00, 0x90, 0x4D, 0x78, 0x00, 0x91, 0x45, 0x72, 0x00, 0x92, 0x41, 0x65, 0x00, 0x93, + 0x3F, 0x72, 0x00, 0x94, 0x39, 0x72, 0x00, 0x95, 0x24, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, + 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9E, + 0x29, 0x00, 0x0B, 0x29, 0x4C, 0x0B, 0x29, 0x00, 0x0A, 0x90, 0x4D, 0x00, 0x00, 0x91, 0x45, 0x00, + 0x00, 0x92, 0x41, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x39, 0x00, 0x00, 0x95, 0x24, 0x00, + 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x4A, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, 0x95, 0x22, 0x78, + 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, + 0x0B, 0x93, 0x3E, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x29, 0x00, 0x0B, + 0x90, 0x52, 0x00, 0x00, 0x91, 0x4A, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, + 0x94, 0x3A, 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x4A, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, + 0x93, 0x3E, 0x72, 0x00, 0x94, 0x35, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, + 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x90, 0x52, 0x00, 0x00, 0x91, 0x4A, 0x00, 0x00, + 0x92, 0x46, 0x00, 0x00, 0x90, 0x54, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x48, 0x65, 0x00, + 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, + 0x93, 0x3E, 0x00, 0x00, 0x94, 0x35, 0x00, 0x00, 0x90, 0x54, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, + 0x92, 0x48, 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x4A, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, + 0x93, 0x3E, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, + 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x52, 0x00, 0x00, 0x91, 0x4A, 0x00, 0x00, + 0x92, 0x46, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, + 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, + 0x95, 0x22, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x50, 0x00, 0x00, + 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x90, 0x4F, 0x78, 0x00, 0x91, 0x46, 0x72, 0x00, + 0x92, 0x43, 0x65, 0x00, 0x95, 0x27, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, + 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, + 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x4F, 0x00, 0x00, 0x91, 0x46, 0x00, 0x00, + 0x92, 0x43, 0x00, 0x00, 0x90, 0x4B, 0x78, 0x00, 0x91, 0x43, 0x72, 0x00, 0x92, 0x3F, 0x65, 0x00, + 0x93, 0x3F, 0x72, 0x00, 0x94, 0x37, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, + 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x29, 0x4C, 0x0B, 0x90, 0x4B, 0x00, 0x00, 0x91, + 0x43, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x95, 0x27, 0x00, 0x00, 0x93, + 0x3F, 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x4B, 0x78, 0x00, 0x91, 0x43, 0x72, 0x00, 0x92, + 0x3F, 0x65, 0x00, 0x93, 0x3F, 0x72, 0x00, 0x94, 0x37, 0x72, 0x00, 0x95, 0x25, 0x78, 0x00, 0x9B, + 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, + 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x29, 0x4C, 0x0B, 0x29, 0x00, 0x0A, 0x90, 0x4B, 0x00, + 0x00, 0x91, 0x43, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x37, 0x00, + 0x00, 0x95, 0x25, 0x00, 0x00, 0x90, 0x54, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, 0x92, 0x48, 0x65, + 0x00, 0x95, 0x24, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x40, 0x72, 0x00, 0x94, 0x37, 0x72, 0x00, 0x9E, 0x29, 0x4C, + 0x0A, 0x29, 0x00, 0x0B, 0x90, 0x54, 0x00, 0x00, 0x91, 0x4C, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, + 0x93, 0x40, 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x54, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, + 0x92, 0x48, 0x65, 0x00, 0x93, 0x40, 0x72, 0x00, 0x94, 0x37, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9E, 0x29, 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x90, 0x54, 0x00, 0x00, + 0x91, 0x4C, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x55, 0x78, 0x00, 0x91, 0x4D, 0x72, 0x00, + 0x92, 0x49, 0x65, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x40, 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x55, 0x00, 0x00, + 0x91, 0x4D, 0x00, 0x00, 0x92, 0x49, 0x00, 0x00, 0x90, 0x54, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, + 0x92, 0x48, 0x65, 0x00, 0x93, 0x40, 0x72, 0x00, 0x94, 0x3C, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9E, 0x29, 0x4C, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x54, 0x00, 0x00, + 0x91, 0x4C, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, + 0x92, 0x46, 0x65, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0A, 0x95, 0x24, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3C, 0x00, 0x00, + 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, + 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x95, 0x29, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9E, 0x29, 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x41, 0x72, 0x00, + 0x94, 0x3C, 0x72, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, + 0x95, 0x29, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3C, 0x00, 0x00, 0x90, 0x4D, 0x78, 0x00, + 0x91, 0x49, 0x72, 0x00, 0x92, 0x41, 0x65, 0x00, 0x93, 0x3D, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, + 0x95, 0x22, 0x78, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, + 0x9E, 0x29, 0x00, 0x0A, 0x29, 0x4C, 0x0B, 0x90, 0x4D, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, + 0x41, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x95, + 0x22, 0x00, 0x00, 0x90, 0x4B, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x3F, 0x65, 0x00, 0x93, + 0x3F, 0x72, 0x00, 0x94, 0x38, 0x72, 0x00, 0x95, 0x24, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, + 0x26, 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9E, + 0x29, 0x00, 0x0B, 0x90, 0x4B, 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x90, + 0x4B, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x3F, 0x65, 0x00, 0x9E, 0x29, 0x4C, 0x0B, 0x29, + 0x00, 0x0A, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x95, 0x24, 0x00, 0x00, 0x90, 0x4B, + 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x90, 0x4D, 0x78, 0x00, 0x91, 0x44, + 0x72, 0x00, 0x92, 0x41, 0x65, 0x00, 0x95, 0x25, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x3D, 0x72, 0x00, 0x94, 0x38, + 0x72, 0x00, 0x9E, 0x29, 0x4C, 0x0A, 0x90, 0x4D, 0x00, 0x00, 0x91, 0x44, 0x00, 0x00, 0x92, 0x41, + 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x95, 0x25, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x38, + 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, 0x93, 0x41, + 0x72, 0x00, 0x94, 0x3D, 0x72, 0x00, 0x95, 0x22, 0x78, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0B, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x9B, 0x24, + 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x95, 0x22, + 0x00, 0x00, 0x90, 0x4F, 0x78, 0x00, 0x91, 0x46, 0x72, 0x00, 0x92, 0x43, 0x65, 0x00, 0x93, 0x3F, + 0x72, 0x00, 0x94, 0x3D, 0x72, 0x00, 0x95, 0x27, 0x78, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0C, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0C, 0x90, 0x4F, 0x00, 0x00, 0x91, 0x46, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x9B, 0x24, + 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0C, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x95, 0x27, + 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x3F, + 0x72, 0x00, 0x94, 0x3C, 0x72, 0x00, 0x95, 0x20, 0x78, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0C, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0C, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0C, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x9C, 0x26, 0x6B, 0x00, 0x9E, 0x29, + 0x4C, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0A, 0x29, 0x4C, 0x0B, 0x90, 0x50, 0x00, + 0x00, 0x91, 0x48, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x3C, 0x00, + 0x00, 0x95, 0x20, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0xC0, 0x01, 0x00, 0x90, 0x3F, 0x65, 0x00, + 0xC2, 0x03, 0x00, 0x92, 0x3F, 0x72, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9E, + 0x29, 0x4C, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x29, + 0x4C, 0x0B, 0x29, 0x00, 0x0A, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x90, 0x44, 0x65, + 0x00, 0x92, 0x44, 0x72, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x95, 0x2C, 0x6E, 0x00, 0x9B, 0x24, 0x65, + 0x00, 0x9E, 0x29, 0x45, 0x00, 0xCF, 0x0B, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, + 0x94, 0x3C, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x28, 0x00, 0x0B, 0x90, + 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x44, 0x65, 0x00, 0x92, + 0x44, 0x72, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x9C, + 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x3C, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, + 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, + 0x00, 0x00, 0x90, 0x44, 0x65, 0x00, 0x92, 0x44, 0x72, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, + 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x94, 0x3C, + 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0A, 0x95, 0x2C, 0x00, + 0x00, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x43, 0x65, + 0x00, 0x92, 0x43, 0x72, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x95, 0x2E, 0x6E, 0x00, 0x9B, 0x24, 0x65, + 0x00, 0x9E, 0x29, 0x45, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x94, 0x3A, 0x00, + 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x28, 0x00, 0x0B, 0x93, 0x3F, 0x00, 0x00, + 0x94, 0x3A, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x9C, 0x26, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x3A, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, + 0x28, 0x00, 0x0B, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, + 0x43, 0x65, 0x00, 0x92, 0x43, 0x72, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, + 0x28, 0x5F, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x94, 0x3A, 0x00, 0x00, 0x93, + 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0A, 0x95, 0x2E, 0x00, 0x00, 0x90, 0x43, + 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x44, 0x65, 0x00, 0x92, 0x44, + 0x72, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x95, 0x2E, 0x6E, 0x00, 0x9B, 0x24, 0x65, 0x00, 0x9E, 0x29, + 0x45, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x94, 0x3A, 0x00, 0x00, 0x93, 0x3E, + 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, + 0x00, 0x93, 0x3E, 0x00, 0x00, 0x90, 0x43, 0x65, 0x00, 0x92, 0x43, 0x72, 0x00, 0x94, 0x3A, 0x6B, + 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0A, 0x94, 0x3A, 0x00, 0x00, 0x93, 0x3E, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0B, + 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x90, 0x41, 0x65, 0x00, + 0x92, 0x41, 0x72, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, + 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x94, 0x38, 0x00, 0x00, 0x93, 0x3E, 0x6B, 0x00, + 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0A, 0x95, 0x2E, 0x00, 0x00, 0x90, 0x41, 0x00, 0x00, 0x92, + 0x41, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x90, 0x3F, 0x65, 0x00, 0x92, 0x3F, 0x72, 0x00, 0x94, + 0x37, 0x6B, 0x00, 0x95, 0x27, 0x6E, 0x00, 0x9B, 0x24, 0x65, 0x00, 0x9E, 0x29, 0x45, 0x0B, 0x9B, + 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x94, 0x37, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, + 0x28, 0x5F, 0x0A, 0x28, 0x00, 0x0B, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, + 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x37, + 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, + 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x46, 0x65, 0x00, 0x92, 0x46, + 0x72, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, 0x26, + 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x94, 0x37, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, + 0x5F, 0x0B, 0x28, 0x00, 0x0A, 0x95, 0x27, 0x00, 0x00, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, + 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x48, 0x65, 0x00, 0x92, 0x48, 0x72, 0x00, 0x94, 0x38, 0x6B, + 0x00, 0x95, 0x2C, 0x6E, 0x00, 0x9B, 0x24, 0x65, 0x00, 0x9E, 0x29, 0x45, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x94, 0x38, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, + 0x0A, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, + 0x90, 0x46, 0x65, 0x00, 0x92, 0x46, 0x72, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, + 0x9F, 0x28, 0x5F, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x3A, 0x00, 0x00, + 0x93, 0x3D, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, + 0x46, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x90, 0x44, 0x65, 0x00, 0x92, 0x44, 0x72, 0x00, 0x94, + 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0B, 0x94, 0x3C, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, + 0x00, 0x0A, 0x95, 0x2C, 0x00, 0x00, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, + 0x00, 0x00, 0x90, 0x4B, 0x65, 0x00, 0x92, 0x4B, 0x72, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x95, 0x30, + 0x6E, 0x00, 0x9B, 0x24, 0x65, 0x00, 0x9E, 0x29, 0x45, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, + 0x00, 0x0B, 0x94, 0x38, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x28, 0x00, + 0x0B, 0x90, 0x4B, 0x00, 0x00, 0x92, 0x4B, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x3F, 0x65, + 0x00, 0x92, 0x3F, 0x72, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, + 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x38, 0x00, 0x00, 0x93, 0x3F, 0x6B, + 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, + 0x93, 0x3F, 0x00, 0x00, 0x90, 0x3F, 0x65, 0x00, 0x92, 0x3F, 0x72, 0x00, 0x94, 0x38, 0x6B, 0x00, + 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x3F, 0x65, 0x00, + 0x92, 0x3F, 0x72, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x28, 0x00, 0x0A, 0x95, + 0x30, 0x00, 0x00, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, + 0x41, 0x65, 0x00, 0x92, 0x41, 0x72, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x95, 0x31, 0x6E, 0x00, 0x9B, + 0x24, 0x65, 0x00, 0x9E, 0x29, 0x45, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0B, 0x94, + 0x38, 0x00, 0x00, 0x93, 0x3D, 0x6B, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x90, 0x41, 0x00, 0x00, 0x92, + 0x41, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x93, 0x3D, 0x00, 0x00, 0x90, 0x46, 0x65, 0x00, 0x92, + 0x46, 0x72, 0x00, 0x94, 0x3D, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x9C, + 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x94, 0x3D, 0x00, 0x00, 0x93, 0x41, 0x6B, 0x00, 0x9F, + 0x28, 0x5F, 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x95, + 0x31, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x90, 0x43, 0x65, 0x00, 0x92, 0x43, 0x72, 0x00, 0x94, + 0x3D, 0x6B, 0x00, 0x95, 0x33, 0x6E, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, + 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x94, 0x3D, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9F, + 0x28, 0x5F, 0x0C, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x95, + 0x33, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x90, 0x44, 0x65, 0x00, 0x92, 0x44, 0x72, 0x00, 0x94, + 0x3C, 0x6B, 0x00, 0x95, 0x2C, 0x6E, 0x00, 0x9B, 0x24, 0x65, 0x00, 0x9E, 0x29, 0x45, 0x0C, 0x9B, + 0x24, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x0C, 0x94, 0x3C, 0x00, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x9C, + 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0C, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x93, + 0x3F, 0x00, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, 0x0C, 0x9C, + 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x94, 0x38, 0x00, 0x00, 0x93, 0x3D, 0x6B, 0x00, 0x9C, + 0x26, 0x5F, 0x00, 0x9F, 0x28, 0x5F, 0x0B, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x95, + 0x2C, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x3D, 0x00, 0x00, 0xC0, + 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0xC2, 0x03, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x93, 0x3A, 0x6B, + 0x00, 0x94, 0x37, 0x6B, 0x00, 0x95, 0x33, 0x74, 0x00, 0x9C, 0x26, 0x65, 0x00, 0x9F, 0x28, 0x5F, + 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x00, 0x9C, 0x26, 0x68, 0x0B, 0x26, 0x00, 0x00, + 0x26, 0x6A, 0x00, 0x9F, 0x28, 0x5F, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x00, 0x9C, + 0x26, 0x6D, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3A, 0x00, 0x00, 0x94, + 0x37, 0x00, 0x00, 0x95, 0x33, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0xC1, + 0x02, 0x00, 0x92, 0x44, 0x6B, 0x00, 0x95, 0x2C, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, + 0x6B, 0x00, 0x9E, 0x29, 0x4C, 0x00, 0xCF, 0x0A, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9E, 0x29, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x3C, 0x6B, + 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, + 0x92, 0x44, 0x6B, 0x00, 0x93, 0x3C, 0x6B, 0x00, 0x94, 0x33, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x3C, 0x00, 0x00, + 0x94, 0x33, 0x00, 0x00, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, + 0x92, 0x44, 0x6B, 0x00, 0x93, 0x3C, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x90, 0x43, 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x2C, 0x00, 0x00, + 0x93, 0x3C, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, + 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x95, 0x31, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x9C, 0x26, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x41, 0x00, 0x00, + 0x92, 0x41, 0x00, 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3D, 0x6B, 0x00, + 0x94, 0x38, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x28, 0x58, 0x0B, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0A, 0x95, 0x31, 0x00, 0x00, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, + 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x39, 0x6B, 0x00, 0x95, + 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, + 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x28, 0x58, 0x0A, 0x28, 0x00, + 0x0B, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x39, 0x00, + 0x00, 0x95, 0x30, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x95, 0x2E, 0x74, + 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, + 0x0A, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x3A, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x28, 0x00, 0x0B, + 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, + 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x35, 0x6B, 0x00, + 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, 0x00, + 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, + 0x93, 0x3E, 0x00, 0x00, 0x94, 0x35, 0x00, 0x00, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, + 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, 0x3E, 0x6B, 0x00, 0x94, 0x3A, 0x6B, 0x00, + 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, 0x00, + 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x95, 0x2E, 0x00, 0x00, 0x93, 0x3E, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x44, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x90, 0x43, 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x95, 0x33, 0x74, 0x00, + 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, + 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, + 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, + 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, + 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x28, 0x58, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, + 0x3F, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x95, 0x33, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, + 0x37, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, + 0x37, 0x6B, 0x00, 0x95, 0x31, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, + 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x28, + 0x58, 0x0A, 0x28, 0x00, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x93, 0x3F, 0x00, + 0x00, 0x94, 0x37, 0x00, 0x00, 0x95, 0x31, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, + 0x00, 0x95, 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, + 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x40, 0x6B, 0x00, 0x94, 0x37, 0x6B, 0x00, 0x9F, 0x28, 0x58, + 0x0B, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, + 0x94, 0x37, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, 0x00, 0x93, 0x40, 0x6B, 0x00, + 0x94, 0x37, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x49, 0x78, 0x00, + 0x92, 0x49, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x40, 0x00, 0x00, 0x94, 0x37, 0x00, 0x00, 0x90, 0x49, 0x00, 0x00, + 0x92, 0x49, 0x00, 0x00, 0x90, 0x48, 0x78, 0x00, 0x92, 0x48, 0x6B, 0x00, 0x93, 0x40, 0x6B, 0x00, + 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x48, 0x00, 0x00, 0x92, 0x48, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, + 0x92, 0x46, 0x6B, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9B, 0x24, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x30, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3C, 0x00, 0x00, + 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, 0x00, + 0x95, 0x35, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0A, 0x93, 0x41, 0x6B, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, + 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x44, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x95, 0x35, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3C, 0x00, 0x00, + 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x93, 0x3D, 0x6B, 0x00, 0x94, 0x3A, 0x6B, 0x00, + 0x95, 0x2E, 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, + 0x9F, 0x28, 0x00, 0x0B, 0x28, 0x58, 0x0B, 0x90, 0x41, 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x9F, + 0x28, 0x00, 0x0A, 0x93, 0x3D, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x95, 0x2E, 0x00, 0x00, 0x90, + 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x95, + 0x30, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, + 0x24, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x90, 0x3F, 0x00, 0x00, 0x92, + 0x3F, 0x00, 0x00, 0x90, 0x3F, 0x78, 0x00, 0x92, 0x3F, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0A, 0x28, + 0x00, 0x0B, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x95, 0x30, 0x00, 0x00, 0x90, 0x3F, + 0x00, 0x00, 0x92, 0x3F, 0x00, 0x00, 0x90, 0x41, 0x78, 0x00, 0x92, 0x41, 0x6B, 0x00, 0x95, 0x31, + 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, + 0x00, 0x0A, 0x93, 0x3D, 0x6B, 0x00, 0x94, 0x38, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x90, 0x41, + 0x00, 0x00, 0x92, 0x41, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x95, 0x31, 0x00, 0x00, 0x93, 0x3D, + 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x46, 0x78, 0x00, 0x92, 0x46, 0x6B, 0x00, 0x93, 0x41, + 0x6B, 0x00, 0x94, 0x3D, 0x6B, 0x00, 0x95, 0x2E, 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, + 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, + 0x58, 0x0B, 0x90, 0x46, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, + 0x00, 0x0A, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x95, 0x2E, 0x00, 0x00, 0x90, 0x43, + 0x78, 0x00, 0x92, 0x43, 0x6B, 0x00, 0x93, 0x3F, 0x6B, 0x00, 0x94, 0x3D, 0x6B, 0x00, 0x95, 0x33, + 0x74, 0x00, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0B, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, + 0x00, 0x0C, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, 0x58, 0x0C, 0x90, 0x43, 0x00, 0x00, 0x92, 0x43, + 0x00, 0x00, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x3D, + 0x00, 0x00, 0x95, 0x33, 0x00, 0x00, 0x90, 0x44, 0x78, 0x00, 0x92, 0x44, 0x6B, 0x00, 0x93, 0x3F, + 0x6B, 0x00, 0x94, 0x3C, 0x6B, 0x00, 0x95, 0x2C, 0x74, 0x00, 0x9B, 0x24, 0x6B, 0x00, 0x9F, 0x28, + 0x58, 0x0C, 0x9B, 0x24, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0C, 0x9C, 0x26, 0x6B, 0x00, 0x9F, 0x28, + 0x58, 0x0C, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x9C, 0x26, 0x58, 0x00, 0x9F, 0x28, + 0x58, 0x0A, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0B, 0x9C, 0x26, 0x5F, 0x00, 0x9F, 0x28, + 0x58, 0x0B, 0x90, 0x44, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x3C, + 0x00, 0x00, 0x95, 0x2C, 0x00, 0x00, 0x9C, 0x26, 0x00, 0x00, 0x9F, 0x28, 0x00, 0x0A, 0x90, 0x4E, + 0x78, 0x00, 0xC1, 0x00, 0x00, 0x91, 0x46, 0x72, 0x00, 0xC2, 0x04, 0x00, 0x92, 0x42, 0x65, 0x00, + 0x93, 0x40, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x95, 0x2A, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, + 0x9C, 0x29, 0x65, 0x00, 0x9F, 0x2B, 0x58, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, 0x00, 0x00, + 0x9F, 0x2B, 0x00, 0x0B, 0x90, 0x4E, 0x00, 0x00, 0x91, 0x46, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, + 0x91, 0x47, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9F, 0x2B, 0x58, 0x0A, 0x90, 0x50, 0x00, 0x00, + 0x91, 0x47, 0x00, 0x00, 0x9C, 0x29, 0x00, 0x00, 0x9F, 0x2B, 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, + 0x91, 0x49, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x0B, 0x92, 0x42, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, + 0x94, 0x3A, 0x00, 0x00, 0x95, 0x2A, 0x00, 0x00, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, + 0x9C, 0x29, 0x00, 0x00, 0x90, 0x53, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, + 0x95, 0x23, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, + 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x93, 0x3F, 0x72, 0x00, + 0x94, 0x3B, 0x72, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x2C, 0x00, 0x0B, 0x90, 0x53, 0x00, 0x00, 0x91, + 0x4B, 0x00, 0x00, 0x92, 0x47, 0x00, 0x00, 0x93, 0x3F, 0x00, 0x00, 0x94, 0x3B, 0x00, 0x00, 0x90, + 0x53, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, 0x93, 0x3F, 0x72, 0x00, 0x94, + 0x36, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x90, 0x53, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, 0x92, 0x47, 0x00, 0x00, 0x90, + 0x55, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, 0x92, 0x49, 0x65, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, + 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x93, 0x3F, 0x00, 0x00, 0x94, + 0x36, 0x00, 0x00, 0x90, 0x55, 0x00, 0x00, 0x91, 0x4C, 0x00, 0x00, 0x92, 0x49, 0x00, 0x00, 0x90, + 0x53, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, 0x93, 0x3F, 0x72, 0x00, 0x94, + 0x3B, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x90, 0x53, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, 0x92, 0x47, 0x00, 0x00, 0x90, + 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, + 0x2C, 0x4C, 0x0A, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x95, 0x23, 0x00, 0x00, 0x93, + 0x3F, 0x00, 0x00, 0x94, 0x3B, 0x00, 0x00, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, + 0x46, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, 0x47, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x95, + 0x28, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0A, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x47, 0x00, 0x00, 0x92, 0x44, 0x00, 0x00, 0x90, + 0x50, 0x78, 0x00, 0x91, 0x47, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x40, 0x72, 0x00, 0x94, + 0x3B, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x2C, 0x4C, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x47, 0x00, 0x00, 0x92, 0x44, + 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x95, 0x28, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3B, + 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, 0x48, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x42, + 0x72, 0x00, 0x94, 0x3C, 0x72, 0x00, 0x95, 0x27, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9C, 0x29, + 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, + 0x00, 0x0B, 0x2C, 0x4C, 0x0A, 0x2C, 0x00, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x48, 0x00, 0x00, + 0x92, 0x44, 0x00, 0x00, 0x93, 0x42, 0x00, 0x00, 0x94, 0x3C, 0x00, 0x00, 0x95, 0x27, 0x00, 0x00, + 0x90, 0x55, 0x78, 0x00, 0x91, 0x4D, 0x72, 0x00, 0x92, 0x49, 0x65, 0x00, 0x95, 0x25, 0x7B, 0x00, + 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, + 0x93, 0x41, 0x72, 0x00, 0x94, 0x3D, 0x72, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x2C, 0x00, 0x0B, 0x90, + 0x55, 0x00, 0x00, 0x91, 0x4D, 0x00, 0x00, 0x92, 0x49, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x94, + 0x3D, 0x00, 0x00, 0x90, 0x55, 0x78, 0x00, 0x91, 0x4D, 0x72, 0x00, 0x92, 0x49, 0x65, 0x00, 0x93, + 0x41, 0x72, 0x00, 0x94, 0x38, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9C, + 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x90, 0x55, 0x00, 0x00, 0x91, 0x4D, 0x00, 0x00, 0x92, + 0x49, 0x00, 0x00, 0x90, 0x57, 0x78, 0x00, 0x91, 0x4E, 0x72, 0x00, 0x92, 0x4B, 0x65, 0x00, 0x9B, + 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x93, + 0x41, 0x00, 0x00, 0x94, 0x38, 0x00, 0x00, 0x90, 0x57, 0x00, 0x00, 0x91, 0x4E, 0x00, 0x00, 0x92, + 0x4B, 0x00, 0x00, 0x90, 0x55, 0x78, 0x00, 0x91, 0x4D, 0x72, 0x00, 0x92, 0x49, 0x65, 0x00, 0x93, + 0x41, 0x72, 0x00, 0x94, 0x3D, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9C, + 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x90, 0x55, 0x00, 0x00, 0x91, 0x4D, 0x00, 0x00, 0x92, + 0x49, 0x00, 0x00, 0x90, 0x53, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, 0x9B, + 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x95, + 0x25, 0x00, 0x00, 0x93, 0x41, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x90, 0x53, 0x00, 0x00, 0x91, + 0x4B, 0x00, 0x00, 0x92, 0x47, 0x00, 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, 0x92, + 0x46, 0x65, 0x00, 0x95, 0x2A, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, + 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9C, + 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, + 0x46, 0x00, 0x00, 0x90, 0x4E, 0x78, 0x00, 0x91, 0x46, 0x72, 0x00, 0x92, 0x42, 0x65, 0x00, 0x93, + 0x42, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9C, + 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x2C, 0x4C, 0x0B, 0x90, 0x4E, 0x00, 0x00, 0x91, 0x46, + 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x95, 0x2A, 0x00, 0x00, 0x93, 0x42, + 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x4E, 0x78, 0x00, 0x91, 0x46, 0x72, 0x00, 0x92, 0x42, + 0x65, 0x00, 0x93, 0x42, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x95, 0x28, 0x7B, 0x00, 0x9B, 0x27, + 0x6B, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, + 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x2C, 0x4C, 0x0A, 0x2C, 0x00, 0x0B, 0x90, 0x4E, 0x00, 0x00, + 0x91, 0x46, 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0x93, 0x42, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, + 0x95, 0x28, 0x00, 0x00, 0x90, 0x57, 0x78, 0x00, 0x91, 0x4F, 0x72, 0x00, 0x92, 0x4B, 0x65, 0x00, + 0x95, 0x27, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, + 0x9E, 0x2C, 0x00, 0x0A, 0x93, 0x43, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, + 0x2C, 0x00, 0x0B, 0x90, 0x57, 0x00, 0x00, 0x91, 0x4F, 0x00, 0x00, 0x92, 0x4B, 0x00, 0x00, 0x93, + 0x43, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x57, 0x78, 0x00, 0x91, 0x4F, 0x72, 0x00, 0x92, + 0x4B, 0x65, 0x00, 0x93, 0x43, 0x72, 0x00, 0x94, 0x3A, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, + 0x2C, 0x4C, 0x0A, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x90, 0x57, 0x00, 0x00, 0x91, + 0x4F, 0x00, 0x00, 0x92, 0x4B, 0x00, 0x00, 0x90, 0x58, 0x78, 0x00, 0x91, 0x50, 0x72, 0x00, 0x92, + 0x4C, 0x65, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0A, 0x93, 0x43, 0x00, 0x00, 0x94, 0x3A, 0x00, 0x00, 0x90, 0x58, 0x00, 0x00, 0x91, + 0x50, 0x00, 0x00, 0x92, 0x4C, 0x00, 0x00, 0x90, 0x57, 0x78, 0x00, 0x91, 0x4F, 0x72, 0x00, 0x92, + 0x4B, 0x65, 0x00, 0x93, 0x43, 0x72, 0x00, 0x94, 0x3F, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, + 0x2C, 0x4C, 0x0B, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0B, 0x90, 0x57, 0x00, 0x00, 0x91, + 0x4F, 0x00, 0x00, 0x92, 0x4B, 0x00, 0x00, 0x90, 0x55, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, 0x92, + 0x49, 0x65, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9B, 0x27, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x95, 0x27, 0x00, 0x00, 0x93, 0x43, 0x00, 0x00, 0x94, 0x3F, 0x00, 0x00, 0x90, + 0x55, 0x00, 0x00, 0x91, 0x4C, 0x00, 0x00, 0x92, 0x49, 0x00, 0x00, 0x90, 0x53, 0x78, 0x00, 0x91, + 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, 0x95, 0x2C, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, + 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x93, 0x44, 0x72, 0x00, 0x94, + 0x3F, 0x72, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x90, 0x53, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, 0x92, 0x47, 0x00, 0x00, 0x95, + 0x2C, 0x00, 0x00, 0x93, 0x44, 0x00, 0x00, 0x94, 0x3F, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, + 0x4C, 0x72, 0x00, 0x92, 0x44, 0x65, 0x00, 0x93, 0x40, 0x72, 0x00, 0x94, 0x3D, 0x72, 0x00, 0x95, + 0x25, 0x7B, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x9C, 0x29, 0x00, 0x00, 0x9E, + 0x2C, 0x00, 0x0B, 0x2C, 0x4C, 0x0B, 0x90, 0x50, 0x00, 0x00, 0x91, 0x4C, 0x00, 0x00, 0x92, 0x44, + 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0A, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3D, 0x00, 0x00, 0x95, 0x25, + 0x00, 0x00, 0x90, 0x4E, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x42, 0x65, 0x00, 0x93, 0x42, + 0x72, 0x00, 0x94, 0x3B, 0x72, 0x00, 0x95, 0x27, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9C, 0x29, + 0x6B, 0x00, 0x9E, 0x2C, 0x4C, 0x0B, 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, + 0x00, 0x0B, 0x90, 0x4E, 0x00, 0x00, 0x91, 0x4B, 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0x90, 0x4E, + 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x42, 0x65, 0x00, 0x9E, 0x2C, 0x4C, 0x0A, 0x2C, 0x00, + 0x0B, 0x93, 0x42, 0x00, 0x00, 0x94, 0x3B, 0x00, 0x00, 0x95, 0x27, 0x00, 0x00, 0x90, 0x4E, 0x00, + 0x00, 0x91, 0x4B, 0x00, 0x00, 0x92, 0x42, 0x00, 0x00, 0x90, 0x50, 0x78, 0x00, 0x91, 0x47, 0x72, + 0x00, 0x92, 0x44, 0x65, 0x00, 0x95, 0x28, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, + 0x0C, 0x9B, 0x27, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0C, 0x93, 0x40, 0x72, 0x00, 0x94, 0x3B, 0x72, + 0x00, 0x9E, 0x2C, 0x4C, 0x0C, 0x90, 0x50, 0x00, 0x00, 0x91, 0x47, 0x00, 0x00, 0x92, 0x44, 0x00, + 0x00, 0x9E, 0x2C, 0x00, 0x0C, 0x95, 0x28, 0x00, 0x00, 0x93, 0x40, 0x00, 0x00, 0x94, 0x3B, 0x00, + 0x00, 0x90, 0x55, 0x78, 0x00, 0x91, 0x4C, 0x72, 0x00, 0x92, 0x49, 0x65, 0x00, 0x93, 0x44, 0x72, + 0x00, 0x94, 0x40, 0x72, 0x00, 0x95, 0x25, 0x7B, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, + 0x0C, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0C, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, + 0x0C, 0x90, 0x55, 0x00, 0x00, 0x91, 0x4C, 0x00, 0x00, 0x92, 0x49, 0x00, 0x00, 0x9B, 0x27, 0x00, + 0x00, 0x9E, 0x2C, 0x00, 0x0C, 0x93, 0x44, 0x00, 0x00, 0x94, 0x40, 0x00, 0x00, 0x95, 0x25, 0x00, + 0x00, 0x90, 0x52, 0x78, 0x00, 0x91, 0x49, 0x72, 0x00, 0x92, 0x46, 0x65, 0x00, 0x93, 0x42, 0x72, + 0x00, 0x94, 0x40, 0x72, 0x00, 0x95, 0x2A, 0x7B, 0x00, 0x9C, 0x29, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, + 0x0C, 0x9C, 0x29, 0x00, 0x00, 0x9E, 0x2C, 0x00, 0x0E, 0x9B, 0x27, 0x6B, 0x00, 0x9E, 0x2C, 0x4C, + 0x0E, 0x90, 0x52, 0x00, 0x00, 0x91, 0x49, 0x00, 0x00, 0x92, 0x46, 0x00, 0x00, 0x9B, 0x27, 0x00, + 0x00, 0x9E, 0x2C, 0x00, 0x0E, 0x93, 0x42, 0x00, 0x00, 0x94, 0x40, 0x00, 0x00, 0x95, 0x2A, 0x00, + 0x00, 0x90, 0x53, 0x78, 0x00, 0x91, 0x4B, 0x72, 0x00, 0x92, 0x47, 0x65, 0x00, 0x93, 0x42, 0x72, + 0x00, 0x94, 0x3F, 0x72, 0x00, 0x95, 0x23, 0x7B, 0x00, 0x9B, 0x27, 0x6B, 0x00, 0x9C, 0x29, 0x6B, + 0x00, 0x9E, 0x2C, 0x4C, 0x00, 0x9F, 0x2B, 0x58, 0x0E, 0x9B, 0x27, 0x00, 0x00, 0x9C, 0x29, 0x00, + 0x00, 0x9E, 0x2C, 0x00, 0x00, 0x9F, 0x2B, 0x00, 0x52, 0x90, 0x53, 0x00, 0x00, 0x91, 0x4B, 0x00, + 0x00, 0x92, 0x47, 0x00, 0x00, 0x93, 0x42, 0x00, 0x00, 0x94, 0x3F, 0x00, 0x00, 0x95, 0x23, 0x00, + 0x00, 0xFF, 0x2F, 0x00, 0xFF}; + +// lemmings_012_tim7.vgz - Lemmings: Ronda Alla Turca +const unsigned char TIM7_VGZ[0x065B] = +{ 0x1F, 0x8B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xED, 0x5B, 0xCD, 0x6F, 0x1B, 0x45, + 0x14, 0x7F, 0x6B, 0x77, 0x9D, 0x28, 0x87, 0xBA, 0xB2, 0x95, 0x9E, 0xDD, 0x18, 0x28, 0x0A, 0xD0, + 0xAC, 0x93, 0x12, 0x04, 0xA7, 0x36, 0x31, 0x02, 0x09, 0xAA, 0xF2, 0x51, 0x15, 0xE9, 0x69, 0x57, + 0xAA, 0x93, 0xB8, 0xAE, 0x45, 0xD2, 0x4A, 0xFD, 0xE0, 0xEB, 0x54, 0x28, 0x48, 0x48, 0xAC, 0x4F, + 0x9C, 0x7C, 0x41, 0xA4, 0xFD, 0x07, 0x9C, 0xCD, 0x25, 0x7B, 0x40, 0x6A, 0x81, 0x7B, 0xFE, 0x00, + 0x5F, 0x5A, 0x08, 0x12, 0x11, 0x17, 0x2E, 0xDC, 0x79, 0x33, 0xDE, 0xD9, 0xEC, 0xDA, 0xEB, 0xCD, + 0x8E, 0xD7, 0x9B, 0x38, 0x81, 0xB5, 0x62, 0xAF, 0x67, 0xF6, 0xCD, 0xBE, 0xDF, 0x7B, 0x33, 0xBF, + 0xDF, 0xCE, 0xB3, 0x72, 0xB5, 0xB6, 0x56, 0x58, 0x78, 0x15, 0xE0, 0x7D, 0x05, 0xDC, 0xE3, 0xD7, + 0x39, 0x80, 0xBF, 0xBF, 0x9F, 0x86, 0x35, 0xE8, 0x7C, 0x76, 0x1F, 0xEF, 0x42, 0xFF, 0xA3, 0xF9, + 0xC3, 0x3C, 0xC8, 0x1C, 0xA8, 0x14, 0xF0, 0xA7, 0xC7, 0x38, 0x0E, 0x78, 0x6D, 0x07, 0x97, 0xFF, + 0xC1, 0xFB, 0x19, 0x7C, 0x30, 0x86, 0x4F, 0x53, 0xF8, 0x3B, 0xE0, 0xE3, 0x2C, 0x16, 0x00, 0x8B, + 0x19, 0xBC, 0x00, 0xB8, 0x08, 0xD8, 0x3A, 0x89, 0x3F, 0xD6, 0xB0, 0x35, 0x85, 0x95, 0x5D, 0x5C, + 0xD9, 0xC5, 0x2F, 0x55, 0xFC, 0x5A, 0xC5, 0x67, 0x29, 0xDC, 0x49, 0xE1, 0x13, 0x05, 0xCF, 0x28, + 0xF8, 0x9C, 0x82, 0x17, 0x01, 0xCB, 0x80, 0x1B, 0x59, 0x5C, 0x6F, 0xE3, 0xC6, 0x39, 0x5C, 0xDA, + 0xC5, 0xEA, 0x2E, 0x7E, 0xA5, 0xE2, 0x37, 0x2A, 0xFE, 0x96, 0xC2, 0x3F, 0x52, 0xF8, 0xB3, 0x82, + 0x53, 0x0A, 0x3E, 0xAF, 0xE0, 0x02, 0xE0, 0x9B, 0x80, 0x56, 0x1A, 0x1F, 0xB6, 0xD1, 0x9A, 0xC5, + 0xCD, 0x4C, 0xC5, 0x98, 0xC4, 0x8D, 0x93, 0xB8, 0x6E, 0x31, 0x43, 0x2B, 0x87, 0x0F, 0x2D, 0x6A, + 0xAF, 0x68, 0x93, 0xD8, 0x4A, 0x39, 0xF7, 0x65, 0xBD, 0x35, 0xD1, 0x5B, 0x63, 0xBD, 0x7A, 0x90, + 0x49, 0x69, 0x12, 0xAF, 0xED, 0xE2, 0xF2, 0x2E, 0xDE, 0x57, 0xF1, 0x41, 0x0A, 0x9F, 0x2A, 0x1C, + 0x4B, 0x06, 0x0B, 0x0A, 0x16, 0x15, 0xBC, 0x30, 0x8E, 0x8B, 0xE3, 0x62, 0xCC, 0x17, 0xC4, 0x98, + 0xB3, 0xDC, 0x9C, 0x79, 0x52, 0xD9, 0x9A, 0xC6, 0x56, 0xA6, 0xD3, 0x5B, 0x69, 0x4C, 0x47, 0x08, + 0x4B, 0x46, 0xB8, 0x97, 0xC3, 0xF5, 0xF3, 0xB8, 0x31, 0xC3, 0x87, 0x3A, 0x8F, 0xD6, 0x1C, 0x73, + 0xDE, 0x0D, 0x85, 0x95, 0x77, 0xC6, 0x37, 0x64, 0xDD, 0xF3, 0xA3, 0x73, 0x20, 0xB7, 0x45, 0x63, + 0xDB, 0x81, 0x2C, 0x7C, 0xF6, 0x23, 0x6A, 0x32, 0x37, 0xCC, 0x38, 0x88, 0xB6, 0x39, 0x22, 0x72, + 0x7E, 0x9B, 0x0D, 0xA5, 0x77, 0x10, 0x35, 0x45, 0x23, 0x1F, 0x3F, 0x2A, 0xA2, 0x26, 0xB6, 0x8A, + 0xDC, 0xBC, 0x2A, 0xCC, 0xAB, 0x9E, 0x28, 0xF9, 0xC7, 0xA4, 0x1B, 0xB5, 0xD2, 0x02, 0x51, 0x96, + 0x07, 0x61, 0x96, 0xF7, 0x52, 0x10, 0xE6, 0x19, 0x5E, 0xE6, 0x5B, 0x07, 0xE6, 0x69, 0x3E, 0x19, + 0xE6, 0xB9, 0x89, 0x1B, 0x04, 0xEA, 0x2D, 0x8B, 0xDE, 0x32, 0xEB, 0x35, 0x82, 0x4C, 0xE8, 0xD6, + 0x72, 0xD1, 0xB0, 0x84, 0xB9, 0xE5, 0xDC, 0xB1, 0x77, 0x4C, 0xB9, 0xE9, 0xD7, 0xE3, 0xA7, 0xDE, + 0xC7, 0x4F, 0x1F, 0xB4, 0xB6, 0xE8, 0x6D, 0xB3, 0x5E, 0x3B, 0x4E, 0x7E, 0x7D, 0x37, 0x62, 0xCB, + 0x90, 0x66, 0x8B, 0x9C, 0xFF, 0x7E, 0x67, 0x28, 0xCE, 0xDD, 0x6E, 0x53, 0xDE, 0xCF, 0xF2, 0x2B, + 0x3B, 0x29, 0x16, 0xD1, 0x23, 0x57, 0x5B, 0x63, 0xA2, 0x37, 0xDB, 0x0D, 0x39, 0x12, 0x90, 0x31, + 0x0F, 0x90, 0xA2, 0x30, 0x2F, 0x32, 0xF3, 0xAD, 0x88, 0x28, 0x2C, 0x81, 0xA2, 0x27, 0x89, 0xDD, + 0xF3, 0x6A, 0x20, 0x14, 0x66, 0x3C, 0x14, 0x8D, 0xE9, 0xC8, 0x2B, 0xEB, 0x6C, 0x00, 0x8A, 0xEE, + 0x5C, 0x8C, 0xF5, 0x45, 0x61, 0x8F, 0x02, 0x0A, 0x37, 0x17, 0xEE, 0x2A, 0x53, 0x45, 0x84, 0xBD, + 0xF1, 0x77, 0x07, 0x77, 0xC9, 0xCD, 0xF1, 0x5C, 0x6E, 0xCE, 0xEC, 0xAF, 0x62, 0xB9, 0xC8, 0x2A, + 0x96, 0xDF, 0x47, 0xC5, 0xF4, 0x50, 0x15, 0xD3, 0x82, 0x4C, 0x8C, 0x78, 0x2A, 0x66, 0x0E, 0x4F, + 0xC5, 0xF4, 0x20, 0x15, 0x2B, 0x25, 0xA0, 0x62, 0x5A, 0xA8, 0x8A, 0xD9, 0xC3, 0x53, 0x31, 0x6D, + 0x34, 0x54, 0xCC, 0x88, 0x42, 0xF5, 0x11, 0xD4, 0xA1, 0x94, 0x80, 0x8A, 0x19, 0xF1, 0x54, 0x4C, + 0x8B, 0x22, 0xD0, 0x7E, 0xE1, 0x68, 0x1C, 0x4D, 0x15, 0xB3, 0x93, 0x54, 0x31, 0xF3, 0x58, 0xA8, + 0x98, 0x1D, 0x4F, 0xC5, 0xB4, 0x49, 0xDF, 0xB4, 0x0C, 0x51, 0xB1, 0xC6, 0x91, 0x55, 0xB1, 0xAD, + 0x44, 0x55, 0x8C, 0xC7, 0x21, 0x92, 0x8A, 0x65, 0xC8, 0x19, 0xB6, 0x7C, 0x24, 0x1E, 0x3C, 0x8A, + 0x1E, 0xB0, 0x79, 0x47, 0x32, 0x18, 0xD8, 0xB4, 0x67, 0x71, 0x65, 0x70, 0x63, 0x6E, 0x8F, 0x15, + 0x3D, 0xDA, 0x84, 0x1B, 0xF9, 0xEE, 0x5E, 0xB9, 0xB5, 0x9F, 0xE7, 0x6A, 0xD5, 0x31, 0x57, 0x05, + 0x9B, 0xB9, 0x63, 0x9E, 0x96, 0xE4, 0x76, 0xD7, 0x25, 0x3F, 0x1C, 0x1F, 0x9B, 0x39, 0x51, 0xEA, + 0x61, 0x33, 0x97, 0xF9, 0xB9, 0xA6, 0x0F, 0xCA, 0x66, 0x92, 0x91, 0xCF, 0x7A, 0x54, 0x52, 0x78, + 0xD5, 0x9B, 0x0E, 0x6D, 0x32, 0x2C, 0x1D, 0x76, 0x92, 0xE9, 0xD0, 0x82, 0xD2, 0xA1, 0xC7, 0x4B, + 0x47, 0x49, 0x2A, 0x1D, 0x56, 0x9C, 0x74, 0xB0, 0xB5, 0x10, 0x75, 0x2B, 0x91, 0x11, 0x19, 0x51, + 0x45, 0x46, 0x6A, 0xCE, 0x93, 0xD2, 0x9E, 0x3E, 0x7A, 0x1F, 0x08, 0x29, 0x23, 0xAA, 0x9F, 0xB7, + 0x45, 0x12, 0x1D, 0x6F, 0xBB, 0x7A, 0x05, 0x52, 0x73, 0x7A, 0x20, 0xB9, 0x17, 0xD1, 0x33, 0x82, + 0xA2, 0xA7, 0x45, 0xCC, 0x88, 0xEA, 0x97, 0xFB, 0xFC, 0xDE, 0xC3, 0x2A, 0x6B, 0xF4, 0x03, 0x77, + 0x74, 0xD3, 0x35, 0xD9, 0x16, 0x4F, 0x95, 0x65, 0x4F, 0x46, 0x58, 0x2F, 0x8F, 0xF0, 0xD0, 0x17, + 0x48, 0x9F, 0x74, 0x68, 0x41, 0xE9, 0x30, 0x42, 0xD3, 0x61, 0x86, 0xA6, 0xA3, 0x31, 0x7A, 0xE9, + 0xD0, 0x83, 0xD2, 0x61, 0x84, 0xA6, 0xC3, 0x83, 0x51, 0x0E, 0xD1, 0x30, 0x8B, 0x81, 0xB9, 0xBD, + 0x6D, 0x54, 0xBF, 0xCA, 0x9E, 0x6C, 0x31, 0x50, 0x8B, 0xB7, 0x8D, 0xF2, 0xF2, 0x86, 0x3D, 0x7A, + 0xC5, 0x40, 0x2D, 0x68, 0x1B, 0xA5, 0x87, 0x6E, 0xA3, 0x1A, 0x09, 0x17, 0x03, 0xB5, 0x78, 0xDB, + 0x28, 0xE3, 0x40, 0x8A, 0x81, 0x5A, 0xBF, 0x2D, 0xCF, 0xB0, 0xB7, 0x51, 0x5A, 0xBC, 0x6D, 0x94, + 0x21, 0x5F, 0x0C, 0x8C, 0x35, 0x63, 0x87, 0xBD, 0x8D, 0x3A, 0x62, 0x65, 0xB4, 0x3E, 0xDB, 0x28, + 0xBD, 0x6B, 0x03, 0x72, 0x34, 0x8B, 0x81, 0x5E, 0x14, 0xA5, 0xD0, 0x6D, 0x94, 0x19, 0x8A, 0xC2, + 0xFE, 0xBF, 0x18, 0x18, 0xB9, 0x18, 0x38, 0x2C, 0x15, 0xD3, 0x87, 0xA7, 0x62, 0xC7, 0xA3, 0x18, + 0x18, 0x8B, 0xE5, 0x22, 0x14, 0x03, 0xF5, 0x78, 0x2A, 0x56, 0x3A, 0x5E, 0xC5, 0xC0, 0x24, 0x54, + 0x2C, 0x7A, 0x31, 0xD0, 0x8C, 0xAD, 0x62, 0x8D, 0xD1, 0xF8, 0x49, 0x6B, 0xEB, 0x50, 0x55, 0x4C, + 0x8B, 0xAC, 0x62, 0x66, 0x92, 0x25, 0xCD, 0x21, 0xAA, 0x98, 0x11, 0x43, 0xC5, 0x1A, 0x87, 0xAA, + 0x62, 0x66, 0xA8, 0x8A, 0x79, 0x66, 0x91, 0x9C, 0xDA, 0x8E, 0x66, 0x31, 0xD0, 0x0C, 0x2D, 0x06, + 0x36, 0x0E, 0xBC, 0x18, 0xA8, 0xC5, 0xAB, 0x3E, 0x19, 0x07, 0x58, 0x0C, 0x34, 0xE3, 0x15, 0x03, + 0x0D, 0xF9, 0x62, 0x60, 0x78, 0x3A, 0xEC, 0x63, 0x57, 0x0C, 0x34, 0x25, 0x8B, 0x81, 0x31, 0xAB, + 0x4F, 0xBA, 0x7C, 0xF5, 0x29, 0xD1, 0x62, 0x60, 0xBF, 0xE8, 0x0D, 0xBD, 0xFA, 0x54, 0x8A, 0x5C, + 0x7D, 0xB2, 0xFF, 0xC3, 0xC5, 0x40, 0x3D, 0x28, 0x1D, 0xA5, 0x04, 0xD2, 0xA1, 0x47, 0xAE, 0xCD, + 0xCA, 0x21, 0xCA, 0xB2, 0x41, 0x24, 0x25, 0xC3, 0x27, 0x10, 0x95, 0x3A, 0xAE, 0xD4, 0xB9, 0x84, + 0x9D, 0xC0, 0x67, 0x69, 0xDC, 0x49, 0xE3, 0x93, 0x09, 0x3C, 0x03, 0x5C, 0xC2, 0x4E, 0x61, 0x79, + 0x7C, 0x8F, 0xE5, 0x22, 0x95, 0x13, 0x89, 0x61, 0x66, 0xF0, 0x46, 0x1D, 0x3F, 0xAE, 0xE3, 0xB7, + 0x2A, 0x7E, 0x77, 0x02, 0xFF, 0x4C, 0xE3, 0x5F, 0x69, 0xFC, 0x65, 0x02, 0x5F, 0x04, 0x7C, 0x49, + 0xC1, 0xB7, 0x4F, 0xE1, 0x3B, 0xE3, 0xE4, 0x30, 0x3E, 0x6A, 0xE2, 0x26, 0x27, 0x4C, 0x2B, 0xCB, + 0x73, 0x31, 0xE3, 0x7B, 0xF6, 0x66, 0x8D, 0x19, 0xD6, 0xA8, 0x7B, 0x2E, 0x90, 0xAA, 0x17, 0x31, + 0x2B, 0xE6, 0x8C, 0x7C, 0x45, 0xA5, 0x33, 0x19, 0x1C, 0x73, 0xDC, 0xCC, 0x3B, 0xAE, 0x96, 0x3C, + 0x9E, 0xE8, 0x41, 0xAE, 0x6A, 0x7E, 0x57, 0x7D, 0x17, 0x70, 0x4F, 0x64, 0x95, 0x48, 0x6C, 0x5A, + 0xE5, 0x1F, 0xA7, 0x39, 0x04, 0xD7, 0x73, 0x7B, 0x40, 0xFA, 0x8D, 0x7B, 0xDF, 0x2E, 0x15, 0x1E, + 0x4C, 0x02, 0x9C, 0xF0, 0x76, 0x50, 0x88, 0x5D, 0xBC, 0x57, 0x59, 0xE4, 0x96, 0x6A, 0x53, 0xAC, + 0x3B, 0x95, 0x57, 0x0C, 0xC8, 0x55, 0x0B, 0x37, 0x39, 0x2F, 0x05, 0x2E, 0x55, 0x71, 0x25, 0x9F, + 0xA8, 0x1E, 0x12, 0x93, 0xF0, 0xDF, 0x23, 0x2B, 0xD1, 0x5D, 0x75, 0x14, 0x9C, 0x3B, 0x13, 0x4C, + 0xE9, 0x5E, 0x6A, 0xED, 0x60, 0xC9, 0xE1, 0xA3, 0x0C, 0x0B, 0xBB, 0x1E, 0x82, 0x65, 0x30, 0xCE, + 0xE4, 0x41, 0x73, 0x63, 0x35, 0x98, 0x04, 0xB8, 0xEE, 0x39, 0xE4, 0xA3, 0x7A, 0x66, 0x85, 0x3A, + 0x50, 0x9D, 0x44, 0x15, 0xAC, 0xEB, 0xA6, 0x32, 0xE3, 0xCC, 0x76, 0x89, 0x38, 0x3B, 0x94, 0x25, + 0x16, 0xAF, 0xDA, 0x15, 0xB4, 0x58, 0x1E, 0x32, 0x66, 0xCE, 0x4B, 0x3D, 0x52, 0xFA, 0x7E, 0xC7, + 0xDF, 0x9F, 0x99, 0x73, 0x09, 0x30, 0x73, 0x3E, 0x80, 0x99, 0xA3, 0xD0, 0xDD, 0x21, 0x32, 0xB3, + 0x94, 0x88, 0x94, 0x82, 0x98, 0x59, 0x8A, 0x15, 0xED, 0xE1, 0x31, 0x73, 0x63, 0x04, 0x98, 0xD9, + 0x8E, 0xCD, 0xCC, 0x8D, 0x24, 0x99, 0x59, 0x9F, 0x0C, 0xFE, 0x81, 0x7B, 0x88, 0xCC, 0x6C, 0x0F, + 0xC4, 0xCC, 0x5E, 0xC9, 0x30, 0xA2, 0x31, 0xB3, 0x76, 0x74, 0x98, 0xD9, 0x4E, 0x80, 0x99, 0x1B, + 0x03, 0x31, 0xB3, 0xEE, 0x61, 0x66, 0xAD, 0x2F, 0x33, 0x5F, 0x7F, 0x6B, 0x65, 0xAE, 0x00, 0x0A, + 0xC0, 0x12, 0xFD, 0x5D, 0x81, 0x3A, 0xAC, 0x41, 0x01, 0x5E, 0x83, 0x37, 0xE8, 0xFD, 0x03, 0xB8, + 0x05, 0x37, 0x61, 0x05, 0x2A, 0x74, 0x7E, 0x11, 0x56, 0xE9, 0xC5, 0xCE, 0xAE, 0xC0, 0x3D, 0xB8, + 0x0D, 0xCB, 0x74, 0xDE, 0xF9, 0x0F, 0x9F, 0x2A, 0x59, 0xAC, 0x91, 0xDD, 0x4D, 0xA8, 0xC1, 0x1D, + 0xDE, 0xF6, 0x1E, 0x2C, 0xD2, 0x75, 0x33, 0xF4, 0x77, 0x09, 0x3E, 0x84, 0x57, 0xA0, 0x0C, 0x97, + 0xE9, 0x93, 0x1D, 0x97, 0x68, 0xC4, 0x2F, 0xC8, 0xF2, 0x36, 0xDC, 0xE5, 0xDF, 0x4B, 0xF0, 0x3A, + 0xBD, 0x4A, 0x74, 0x76, 0x95, 0x5A, 0xD9, 0x1D, 0xAA, 0xF0, 0x39, 0xD9, 0x2D, 0xD0, 0x27, 0xFB, + 0x06, 0x34, 0x12, 0xF3, 0xE1, 0x13, 0xFA, 0xCE, 0x6C, 0xAA, 0xE4, 0x4D, 0x01, 0xAE, 0xD3, 0xF9, + 0x2D, 0xEE, 0x27, 0xF3, 0xA7, 0x4C, 0x7E, 0x5E, 0xE6, 0xAD, 0x75, 0x6E, 0xFF, 0x32, 0x9D, 0xAF, + 0x52, 0x7F, 0x8D, 0x5E, 0x9D, 0xEB, 0x3F, 0xA5, 0x9E, 0xBB, 0x70, 0x83, 0x5F, 0x7B, 0x8B, 0x7C, + 0x5C, 0xA0, 0xF7, 0xCF, 0xE0, 0x1C, 0x4C, 0xD0, 0x6B, 0x81, 0xC6, 0xB8, 0xE3, 0x5C, 0xC7, 0xEE, + 0x54, 0x80, 0xA9, 0x7D, 0x71, 0x4F, 0xD1, 0xB7, 0x25, 0xEE, 0xE7, 0x47, 0x74, 0xE5, 0x2A, 0xDD, + 0xB9, 0x46, 0xAD, 0x0C, 0x3F, 0xBB, 0x7E, 0x8D, 0xCE, 0x57, 0x68, 0xC4, 0x7B, 0x34, 0x6E, 0xA1, + 0x07, 0xF1, 0xBF, 0x46, 0x65, 0x12, 0x63, 0x46, 0x35, 0x00, 0x00}; + +// lem_xmas_001_jb.dro - Xmas Lemmings: Jingle Bells +const unsigned char JB_DRO[0x3100] = +{ 0x44, 0x42, 0x52, 0x41, 0x57, 0x4F, 0x50, 0x4C, 0x02, 0x00, 0x00, 0x00, 0x36, 0x18, 0x00, 0x00, + 0xC3, 0xAB, 0x01, 0x00, 0x00, 0x00, 0x00, 0x7A, 0x7B, 0x7A, 0x01, 0x04, 0x05, 0x08, 0xBD, 0x20, + 0x40, 0x60, 0x80, 0xE0, 0x21, 0x41, 0x61, 0x81, 0xE1, 0x22, 0x42, 0x62, 0x82, 0xE2, 0x23, 0x43, + 0x63, 0x83, 0xE3, 0x24, 0x44, 0x64, 0x84, 0xE4, 0x25, 0x45, 0x65, 0x85, 0xE5, 0x28, 0x48, 0x68, + 0x88, 0xE8, 0x29, 0x49, 0x69, 0x89, 0xE9, 0x2A, 0x4A, 0x6A, 0x8A, 0xEA, 0x2B, 0x4B, 0x6B, 0x8B, + 0xEB, 0x2C, 0x4C, 0x6C, 0x8C, 0xEC, 0x2D, 0x4D, 0x6D, 0x8D, 0xED, 0x30, 0x50, 0x70, 0x90, 0xF0, + 0x31, 0x51, 0x71, 0x91, 0xF1, 0x32, 0x52, 0x72, 0x92, 0xF2, 0x33, 0x53, 0x73, 0x93, 0xF3, 0x34, + 0x54, 0x74, 0x94, 0xF4, 0x35, 0x55, 0x75, 0x95, 0xF5, 0xA0, 0xB0, 0xC0, 0xA1, 0xB1, 0xC1, 0xA2, + 0xB2, 0xC2, 0xA3, 0xB3, 0xC3, 0xA4, 0xB4, 0xC4, 0xA5, 0xB5, 0xC5, 0xA6, 0xB6, 0xC6, 0xA7, 0xB7, + 0xC7, 0xA8, 0xB8, 0xC8, 0x4B, 0x02, 0x5A, 0x03, 0x4D, 0x99, 0x5C, 0x59, 0x4E, 0x06, 0x5D, 0x07, + 0x77, 0x23, 0x79, 0x0B, 0x4F, 0x01, 0x5E, 0x02, 0x78, 0x32, 0x77, 0x44, 0x7A, 0x0C, 0x77, 0x67, + 0x7A, 0x0C, 0x77, 0x8B, 0x7A, 0x0D, 0x77, 0xB2, 0x7A, 0x0D, 0x77, 0xDB, 0x7A, 0x0D, 0x78, 0x12, + 0x7A, 0xA3, 0x77, 0x65, 0x7A, 0x00, 0x78, 0x2F, 0x7A, 0x0C, 0x77, 0x99, 0x7A, 0x0D, 0x77, 0xCF, + 0x7A, 0x0D, 0x77, 0x05, 0x78, 0x32, 0x7A, 0x0C, 0x77, 0x23, 0x7A, 0x0D, 0x77, 0x44, 0x7A, 0x0D, + 0x78, 0x12, 0x77, 0xCF, 0x78, 0x2F, 0x7A, 0x0D, 0x77, 0x99, 0x7A, 0x0C, 0x77, 0x65, 0x7A, 0x0D, + 0x77, 0x34, 0x7A, 0x0D, 0x77, 0x06, 0x7A, 0x0C, 0x77, 0xDB, 0x7A, 0x00, 0x78, 0x2E, 0x7A, 0x1A, + 0x77, 0xB2, 0x7A, 0x0D, 0x77, 0x8B, 0x7A, 0x0C, 0x77, 0x67, 0x7A, 0x0D, 0x77, 0x44, 0x7A, 0x0D, + 0x77, 0x23, 0x7A, 0x0D, 0x78, 0x0E, 0x7B, 0x02, 0x7A, 0x7B, 0x5C, 0x89, 0x4E, 0x36, 0x5D, 0x47, + 0x4F, 0x03, 0x5E, 0x00, 0x79, 0x00, 0x4B, 0x22, 0x5A, 0x21, 0x7A, 0x00, 0x77, 0xB2, 0x78, 0x22, + 0x7A, 0x6C, 0x77, 0xDB, 0x7A, 0x0D, 0x77, 0x06, 0x78, 0x23, 0x7A, 0x0C, 0x77, 0x34, 0x7A, 0x0D, + 0x77, 0x65, 0x7A, 0x0D, 0x77, 0x99, 0x7A, 0x0D, 0x77, 0xCF, 0x7A, 0x0C, 0x77, 0x05, 0x78, 0x26, + 0x7A, 0x1B, 0x77, 0x23, 0x7A, 0x0D, 0x77, 0x44, 0x7A, 0x0C, 0x77, 0x67, 0x7A, 0x0D, 0x77, 0x8B, + 0x7A, 0x0D, 0x77, 0xB2, 0x7A, 0x0C, 0x77, 0xDB, 0x7A, 0x0D, 0x77, 0x06, 0x78, 0x27, 0x7A, 0x0D, + 0x78, 0x07, 0x7B, 0x03, 0x7A, 0x13, 0x00, 0x20, 0x04, 0xC0, 0x07, 0xF2, 0x16, 0xF2, 0x08, 0xF2, + 0x17, 0xF2, 0x61, 0x08, 0x05, 0x27, 0x14, 0x32, 0x7A, 0x00, 0x06, 0x4F, 0x15, 0x08, 0x5F, 0x65, + 0x60, 0x33, 0x0C, 0x53, 0x1B, 0xAA, 0x0D, 0x5A, 0x1C, 0x1A, 0x64, 0x0C, 0x0A, 0x21, 0x19, 0x21, + 0x0B, 0x97, 0x1A, 0x80, 0x11, 0x53, 0x20, 0xAA, 0x12, 0x5A, 0x21, 0x1A, 0x67, 0x0C, 0x7A, 0x00, + 0x0F, 0x21, 0x1E, 0x21, 0x10, 0x97, 0x1F, 0x80, 0x25, 0x53, 0x34, 0xAA, 0x26, 0x5A, 0x35, 0x1A, + 0x6A, 0x0C, 0x23, 0x21, 0x32, 0x21, 0x24, 0x97, 0x33, 0x80, 0x68, 0xB2, 0x69, 0x2A, 0x2A, 0xE2, + 0x39, 0xE3, 0x2B, 0xF3, 0x7A, 0x00, 0x3A, 0xF3, 0x2C, 0x02, 0x6D, 0x0E, 0x28, 0x26, 0x37, 0x32, + 0x29, 0x42, 0x38, 0x0E, 0x6B, 0xB2, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x45, 0x60, 0x13, 0x60, 0x33, + 0x62, 0x05, 0x63, 0x2E, 0x65, 0xB2, 0x66, 0x2E, 0x69, 0x0A, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x2F, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0x6C, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xDB, + 0x60, 0x13, 0x60, 0x33, 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, + 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0xB2, 0x69, 0x2A, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x0A, + 0x68, 0x65, 0x69, 0x2F, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0x6C, 0x63, 0x0E, 0x66, 0x0E, + 0x69, 0x0F, 0x7A, 0xDB, 0x60, 0x13, 0x60, 0x33, 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x2F, 0x7A, 0x00, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0xB2, + 0x69, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, + 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x0A, 0x68, 0x65, 0x69, 0x2F, 0x38, 0x16, 0x7A, 0x00, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xD9, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0x6D, 0x60, 0x16, 0x5F, 0xB2, + 0x60, 0x32, 0x68, 0xB2, 0x69, 0x2A, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x0A, 0x68, 0x65, 0x69, 0x2F, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x60, 0x12, 0x5F, 0x06, 0x60, 0x33, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, + 0x63, 0x0E, 0x62, 0xB2, 0x63, 0x2A, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x0A, 0x63, 0x2E, 0x65, 0x05, 0x66, 0x2E, 0x69, 0x2F, 0x7A, 0x00, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0x6C, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xDA, + 0x63, 0x2E, 0x66, 0x2E, 0x7A, 0x00, 0x69, 0x2F, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, + 0x7A, 0x00, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0x99, 0x69, 0x2B, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x62, 0x44, 0x63, 0x2E, 0x65, 0xB2, 0x66, 0x2E, + 0x69, 0x0B, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x0E, + 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xA3, 0x60, 0x13, 0x7A, 0x00, 0x60, 0x33, 0x69, 0x2B, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xDA, 0x69, 0x0B, 0x7A, 0x6D, 0x60, 0x13, 0x63, 0x2E, 0x66, 0x2E, + 0x69, 0x2F, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x33, 0x7A, 0x36, 0x63, 0x0E, + 0x66, 0x0E, 0x7A, 0x6D, 0x60, 0x13, 0x60, 0x33, 0x62, 0x65, 0x63, 0x2B, 0x69, 0x0F, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x0B, 0x62, 0xB2, + 0x63, 0x2E, 0x65, 0x05, 0x66, 0x2E, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x2F, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, + 0x69, 0x2B, 0x38, 0x0E, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, + 0x60, 0x33, 0x62, 0x05, 0x63, 0x2E, 0x7A, 0x00, 0x65, 0xB2, 0x66, 0x2E, 0x69, 0x0B, 0x69, 0x2F, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, + 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x68, 0x06, 0x69, 0x2B, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x06, 0x60, 0x33, 0x7A, 0x00, 0x62, 0xCF, 0x63, 0x2B, 0x65, 0x44, + 0x66, 0x2E, 0x69, 0x0B, 0x69, 0x2F, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xDA, 0x63, 0x0B, + 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0x6D, 0x60, 0x13, 0x60, 0x33, 0x69, 0x2B, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x5F, 0x65, 0x7A, 0x00, 0x60, 0x33, + 0x63, 0x2B, 0x66, 0x2E, 0x69, 0x0B, 0x69, 0x2F, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xDA, 0x63, 0x0B, + 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0x6D, 0x60, 0x13, 0x5F, 0x06, 0x60, 0x33, 0x68, 0x05, 0x69, 0x2A, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x13, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x5F, 0x05, 0x60, 0x36, 0x62, 0x05, 0x63, 0x2E, 0x65, 0x8B, 0x66, 0x2E, + 0x7A, 0x00, 0x69, 0x0A, 0x68, 0x06, 0x69, 0x2F, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x16, 0x5F, 0x65, 0x60, 0x33, + 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0xB2, 0x7A, 0x00, 0x69, 0x2A, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x63, 0x2E, 0x65, 0xB2, 0x66, 0x2E, 0x69, 0x0A, + 0x68, 0x65, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0x6C, 0x63, 0x0E, + 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xDA, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x2E, 0x66, 0x2E, + 0x69, 0x2F, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0xB2, + 0x69, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x63, 0x2E, + 0x66, 0x2E, 0x69, 0x0A, 0x68, 0x65, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0x6C, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xDB, 0x60, 0x13, 0x60, 0x33, 0x63, 0x2E, + 0x66, 0x2E, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, + 0x60, 0x13, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, + 0x69, 0x0F, 0x68, 0xB2, 0x69, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, + 0x5F, 0x05, 0x60, 0x36, 0x63, 0x2E, 0x7A, 0x00, 0x66, 0x2E, 0x69, 0x0A, 0x68, 0x65, 0x69, 0x2F, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xDA, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0x6D, + 0x60, 0x16, 0x5F, 0xB2, 0x60, 0x32, 0x68, 0xB2, 0x69, 0x2A, 0x38, 0x0E, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x2E, 0x7A, 0x00, 0x66, 0x2E, 0x69, 0x0A, 0x68, 0x65, + 0x69, 0x2F, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x12, 0x5F, 0x06, 0x60, 0x33, 0x7A, 0xA4, + 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x0E, 0x62, 0xB2, 0x63, 0x2A, 0x66, 0x0E, 0x69, 0x0F, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x0A, 0x63, 0x2E, 0x7A, 0x00, 0x65, 0x05, + 0x66, 0x2E, 0x69, 0x2F, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0x6C, 0x63, 0x0E, 0x66, 0x0E, + 0x69, 0x0F, 0x7A, 0xDB, 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, + 0x5F, 0x99, 0x60, 0x33, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x68, 0x99, 0x69, 0x2B, 0x6C, 0x16, + 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x62, 0x44, 0x63, 0x2E, + 0x65, 0xB2, 0x66, 0x2E, 0x69, 0x0B, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x69, 0x2B, + 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xDA, 0x69, 0x0B, 0x7A, 0x6D, 0x60, 0x13, + 0x63, 0x2E, 0x66, 0x2E, 0x69, 0x2F, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, 0x60, 0x33, 0x7A, 0x35, + 0x63, 0x0E, 0x66, 0x0E, 0x7A, 0x6D, 0x60, 0x13, 0x60, 0x33, 0x62, 0x65, 0x63, 0x2B, 0x7A, 0x00, + 0x69, 0x0F, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, + 0x63, 0x0B, 0x62, 0xB2, 0x63, 0x2E, 0x65, 0x05, 0x66, 0x2E, 0x68, 0x65, 0x69, 0x2F, 0x7A, 0x00, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xA3, + 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x69, 0x2B, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x13, 0x60, 0x33, 0x62, 0x05, 0x63, 0x2E, 0x65, 0xB2, 0x66, 0x2E, 0x69, 0x0B, + 0x69, 0x2F, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, + 0x63, 0x0E, 0x66, 0x0E, 0x69, 0x0F, 0x7A, 0xA3, 0x60, 0x13, 0x7A, 0x00, 0x5F, 0x05, 0x60, 0x36, + 0x63, 0x2A, 0x65, 0x05, 0x66, 0x2E, 0x68, 0x05, 0x69, 0x32, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x0A, 0x66, 0x0E, 0x69, 0x12, 0x7A, 0xA4, 0x60, 0x16, 0x60, 0x36, 0x63, 0x2A, 0x66, 0x2E, + 0x69, 0x32, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x0A, 0x66, 0x0E, + 0x69, 0x12, 0x7A, 0xA4, 0x60, 0x16, 0x5F, 0x99, 0x60, 0x33, 0x62, 0x99, 0x63, 0x27, 0x65, 0x99, + 0x66, 0x2B, 0x68, 0x99, 0x69, 0x2F, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, + 0x63, 0x07, 0x66, 0x0B, 0x69, 0x0F, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x06, 0x60, 0x33, 0x62, 0x06, + 0x63, 0x27, 0x65, 0x06, 0x66, 0x2B, 0x7A, 0x00, 0x68, 0x06, 0x69, 0x2F, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x07, 0x66, 0x0B, 0x69, 0x0F, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0xB2, 0x60, 0x32, + 0x62, 0xB2, 0x63, 0x26, 0x65, 0xB2, 0x66, 0x2A, 0x68, 0xB2, 0x69, 0x2E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x49, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x06, + 0x66, 0x0A, 0x69, 0x0E, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x07, 0x55, 0x16, 0x43, 0x08, 0x75, 0x17, 0x65, 0x09, 0x01, + 0x18, 0x01, 0x61, 0x0B, 0x05, 0x22, 0x14, 0x22, 0x06, 0x00, 0x15, 0x00, 0x60, 0x12, 0x5F, 0x05, + 0x60, 0x2A, 0x7A, 0x00, 0x0C, 0x52, 0x1B, 0x32, 0x0D, 0x18, 0x1C, 0x18, 0x64, 0x09, 0x0A, 0x64, + 0x19, 0x24, 0x0B, 0x0A, 0x1A, 0x0A, 0x62, 0x05, 0x63, 0x2A, 0x11, 0x52, 0x20, 0x32, 0x12, 0x18, + 0x21, 0x18, 0x67, 0x09, 0x0F, 0x64, 0x1E, 0x24, 0x7A, 0x00, 0x10, 0x0A, 0x1F, 0x0A, 0x66, 0x2A, + 0x25, 0x52, 0x34, 0x32, 0x26, 0x18, 0x35, 0x18, 0x6A, 0x09, 0x23, 0x64, 0x32, 0x24, 0x24, 0x0A, + 0x33, 0x0A, 0x68, 0x65, 0x69, 0x2B, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x45, + 0x60, 0x0A, 0x5F, 0x65, 0x7A, 0x00, 0x60, 0x2B, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0A, 0x5F, 0x05, 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x60, 0x0A, 0x7A, 0xA4, 0x5F, 0x65, 0x60, 0x27, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, + 0x60, 0x07, 0x5F, 0x99, 0x60, 0x27, 0x7A, 0xA3, 0x60, 0x07, 0x5F, 0x05, 0x60, 0x2A, 0x6C, 0x16, + 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x38, 0x16, + 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, + 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0xB2, + 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x0A, 0x5F, 0x44, 0x60, 0x2A, + 0x63, 0x0A, 0x62, 0x44, 0x63, 0x2A, 0x66, 0x0A, 0x66, 0x2A, 0x69, 0x0B, 0x68, 0x99, 0x69, 0x2B, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0A, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0A, 0x5F, 0x99, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x65, 0x60, 0x2B, 0x38, 0x0E, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x8B, 0x60, 0x2A, 0x63, 0x0A, 0x62, 0x8B, 0x63, 0x2A, + 0x66, 0x0A, 0x65, 0x06, 0x66, 0x2B, 0x69, 0x0B, 0x68, 0x05, 0x69, 0x2E, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x38, 0x0E, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0A, 0x5F, 0x05, 0x60, 0x2E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, + 0x60, 0x0E, 0x7A, 0xA4, 0x60, 0x2E, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0E, 0x5F, 0x99, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0B, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x0A, 0x7A, 0x00, 0x62, 0xB2, 0x63, 0x2A, 0x66, 0x0B, + 0x65, 0x65, 0x66, 0x2B, 0x69, 0x0E, 0x69, 0x2E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x0B, 0x5F, 0x05, + 0x60, 0x2A, 0x63, 0x0A, 0x62, 0x05, 0x63, 0x2A, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x69, 0x0E, + 0x68, 0x65, 0x69, 0x2B, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0A, + 0x5F, 0x65, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x0A, + 0x5F, 0x05, 0x60, 0x2A, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0A, 0x60, 0x2A, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0A, 0x5F, 0x44, 0x60, 0x2A, 0x63, 0x0A, 0x62, 0x44, + 0x63, 0x2A, 0x66, 0x0A, 0x7A, 0x00, 0x66, 0x2A, 0x69, 0x0B, 0x68, 0x99, 0x69, 0x2B, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x49, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0A, 0x60, 0x2A, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0A, 0x5F, 0x99, 0x60, 0x2B, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0x65, 0x60, 0x2B, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0xA4, + 0x60, 0x0B, 0x5F, 0x05, 0x60, 0x2E, 0x63, 0x0A, 0x62, 0x8B, 0x63, 0x2A, 0x66, 0x0A, 0x65, 0x06, + 0x66, 0x2B, 0x69, 0x0B, 0x68, 0x05, 0x69, 0x2E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0E, 0x60, 0x2E, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0E, 0x60, 0x2E, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA4, 0x60, 0x0E, 0x60, 0x2E, 0x63, 0x0A, 0x62, 0x05, 0x63, 0x2E, 0x25, 0xF2, + 0x34, 0xF2, 0x26, 0xF2, 0x35, 0xF2, 0x7A, 0x00, 0x6A, 0x08, 0x23, 0x27, 0x32, 0x32, 0x24, 0x4F, + 0x33, 0x08, 0x69, 0x0E, 0x69, 0x36, 0x7A, 0xA3, 0x60, 0x0E, 0x5F, 0x44, 0x60, 0x2E, 0x63, 0x0E, + 0x62, 0x44, 0x63, 0x2E, 0x66, 0x0B, 0x69, 0x16, 0x68, 0x44, 0x69, 0x36, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0E, 0x5F, 0x05, 0x60, 0x2E, 0x7A, 0x00, 0x63, 0x0E, 0x62, 0x05, + 0x63, 0x2E, 0x69, 0x16, 0x68, 0x05, 0x69, 0x36, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x0E, 0x5F, 0x99, 0x60, 0x2B, 0x63, 0x0E, 0x62, 0x99, 0x63, 0x2B, 0x69, 0x16, + 0x68, 0x99, 0x69, 0x33, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, + 0x60, 0x0B, 0x7A, 0x00, 0x5F, 0x06, 0x60, 0x2B, 0x63, 0x0B, 0x62, 0x06, 0x63, 0x2B, 0x69, 0x13, + 0x68, 0x06, 0x69, 0x33, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x0B, 0x5F, 0xB2, + 0x60, 0x2A, 0x63, 0x0B, 0x62, 0xB2, 0x63, 0x2A, 0x69, 0x13, 0x68, 0xB2, 0x69, 0x32, 0x6C, 0x16, + 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x63, 0x0A, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x60, 0x0A, 0x69, 0x12, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x07, 0xF2, 0x16, 0xF2, + 0x08, 0xF2, 0x17, 0xF2, 0x09, 0x00, 0x18, 0x00, 0x61, 0x08, 0x7A, 0x00, 0x05, 0x27, 0x14, 0x32, + 0x06, 0x4F, 0x15, 0x08, 0x5F, 0x65, 0x60, 0x33, 0x0C, 0xE9, 0x1B, 0xE9, 0x0D, 0x05, 0x1C, 0x04, + 0x0E, 0x01, 0x64, 0x06, 0x0A, 0x01, 0x19, 0x01, 0x0B, 0x08, 0x1A, 0x08, 0x63, 0x26, 0x7A, 0x00, + 0x1F, 0x16, 0x65, 0xB2, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x23, 0x00, 0x32, 0x00, 0x24, 0x00, 0x33, 0x04, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x23, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA1, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x26, + 0x66, 0x0E, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, + 0x63, 0x26, 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x06, 0x62, 0x05, + 0x63, 0x26, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, + 0x63, 0x06, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, + 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x62, 0x05, + 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0A, 0x66, 0x2E, + 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x7A, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, + 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x26, 0x66, 0x0E, 0x7A, 0x00, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x16, 0x5F, 0xB2, 0x60, 0x32, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, + 0x7A, 0x00, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x12, 0x5F, 0x06, + 0x60, 0x33, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, + 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x65, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x65, + 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, + 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, + 0x25, 0xE8, 0x7A, 0x00, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, + 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x44, 0x66, 0x2E, 0x25, 0xE4, + 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x7A, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, + 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x99, 0x7A, 0x00, 0x66, 0x2B, + 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, + 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x47, 0x60, 0x13, 0x63, 0x07, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x33, 0x62, 0xB2, 0x63, 0x26, + 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0A, + 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, + 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x44, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x60, 0x33, 0x63, 0x07, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x7A, 0xA3, 0x60, 0x13, 0x7A, 0x00, 0x60, 0x33, 0x63, 0x07, + 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x06, 0x60, 0x33, 0x62, 0x06, + 0x63, 0x27, 0x66, 0x0E, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x7A, 0x00, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x38, 0x16, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, + 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x7A, 0x00, 0x68, 0x65, + 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, + 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, 0x63, 0x27, 0x66, 0x0B, 0x65, 0xB2, 0x7A, 0x00, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x13, 0x5F, 0x06, + 0x60, 0x33, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x7A, 0xA4, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, + 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x25, 0xE4, 0x34, 0xF5, 0x7A, 0x00, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, + 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x5F, 0x05, 0x60, 0x36, + 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x05, + 0x63, 0x2A, 0x7A, 0x00, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x16, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x0A, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, + 0x65, 0xB2, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x7A, 0x00, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x13, 0x7A, 0x00, 0x60, 0x33, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x7A, 0x00, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x06, 0x62, 0x05, 0x63, 0x26, + 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, 0x63, 0x06, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x7A, 0x00, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x63, 0x26, 0x66, 0x0E, + 0x7A, 0x00, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, + 0x62, 0x05, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x33, 0x63, 0x06, 0x7A, 0x00, 0x62, 0xB2, 0x63, 0x26, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x26, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x16, 0x5F, 0xB2, 0x7A, 0x00, 0x60, 0x32, 0x63, 0x26, + 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x7A, 0x00, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x12, + 0x5F, 0x06, 0x60, 0x33, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x06, + 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x65, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x7A, 0x00, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, + 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x7A, 0x00, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, + 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x7A, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x07, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x44, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x99, + 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x07, 0x7A, 0x00, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x33, 0x62, 0xB2, + 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, + 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x7A, 0x00, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x7A, 0x00, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x60, 0x33, 0x63, 0x07, 0x63, 0x27, + 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x7A, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x07, 0x62, 0x99, + 0x63, 0x27, 0x7A, 0xA3, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x07, 0x62, 0x05, 0x63, 0x2A, + 0x66, 0x0A, 0x65, 0x06, 0x7A, 0x00, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x16, 0x60, 0x36, 0x63, 0x0A, 0x63, 0x2E, 0x66, 0x0B, + 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x16, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x0E, 0x62, 0x99, + 0x63, 0x27, 0x7A, 0x00, 0x66, 0x0A, 0x65, 0x8B, 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, + 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x5F, 0x06, + 0x60, 0x33, 0x63, 0x07, 0x62, 0x06, 0x63, 0x2B, 0x66, 0x0A, 0x65, 0x44, 0x66, 0x2A, 0x25, 0xE4, + 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, + 0x5F, 0xB2, 0x60, 0x32, 0x7A, 0x00, 0x63, 0x0B, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x05, + 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x47, 0x66, 0x0A, 0x7A, 0x00, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x06, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x7A, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x07, 0x55, 0x16, 0x43, 0x08, 0x75, + 0x17, 0x65, 0x09, 0x01, 0x18, 0x01, 0x61, 0x0B, 0x05, 0x22, 0x14, 0x22, 0x06, 0x00, 0x15, 0x00, + 0x60, 0x12, 0x5F, 0x05, 0x60, 0x2A, 0x63, 0x26, 0x7A, 0x00, 0x1F, 0x0A, 0x66, 0x2A, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA1, 0x63, 0x06, 0x7A, 0xA4, + 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x65, 0x7A, 0x00, 0x66, 0x2B, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, + 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0B, 0x65, 0x06, + 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x7A, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, + 0x7A, 0x00, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0xA3, 0x60, 0x0A, 0x5F, 0x05, + 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0A, 0x65, 0x05, 0x66, 0x2A, 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA4, 0x63, 0x26, 0x69, 0x23, 0x7A, 0xA3, 0x63, 0x06, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x7A, 0x00, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x26, 0x69, 0x02, + 0x7A, 0xA4, 0x63, 0x06, 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x0A, 0x66, 0x0A, 0x69, 0x03, 0x7A, 0xA4, 0x5F, 0x65, 0x60, 0x27, + 0x63, 0x06, 0x65, 0x65, 0x66, 0x27, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x60, 0x07, 0x5F, 0x99, 0x60, 0x27, 0x66, 0x07, 0x65, 0x99, 0x66, 0x27, 0x69, 0x02, 0x7A, 0x00, + 0x69, 0x22, 0x7A, 0xA3, 0x60, 0x07, 0x5F, 0x05, 0x60, 0x2A, 0x63, 0x26, 0x66, 0x07, 0x65, 0x05, + 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x65, + 0x66, 0x2B, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0B, + 0x65, 0x06, 0x66, 0x2B, 0x7A, 0x00, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x63, 0x06, + 0x63, 0x26, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x62, 0x99, 0x7A, 0x00, 0x63, 0x27, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x7A, 0xA3, 0x60, 0x0A, 0x5F, 0x44, 0x60, 0x2A, 0x63, 0x07, 0x66, 0x0A, + 0x65, 0x44, 0x66, 0x2A, 0x7A, 0x00, 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x27, + 0x69, 0x23, 0x7A, 0xA4, 0x63, 0x07, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x27, 0x69, 0x02, 0x7A, 0xA3, 0x63, 0x07, 0x63, 0x27, + 0x25, 0xE8, 0x7A, 0x00, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, + 0x69, 0x03, 0x7A, 0xA4, 0x60, 0x0A, 0x66, 0x0A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x7A, 0x00, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, 0x69, 0x02, 0x69, 0x22, 0x7A, 0xA4, 0x60, 0x2A, 0x63, 0x27, + 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA2, + 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x0A, 0x5F, 0x99, 0x60, 0x2B, 0x63, 0x27, 0x66, 0x0A, 0x65, 0x99, + 0x66, 0x2B, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x7A, 0x00, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x0B, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x27, + 0x66, 0x0B, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x63, 0x07, + 0x66, 0x0B, 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x7A, 0x00, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x62, 0x05, 0x63, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x23, + 0x7A, 0xA3, 0x60, 0x0B, 0x5F, 0x8B, 0x60, 0x2A, 0x63, 0x0A, 0x66, 0x0B, 0x65, 0x8B, 0x66, 0x2A, + 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, 0x63, 0x2A, 0x69, 0x23, 0x7A, 0xA3, 0x63, 0x0A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x2A, 0x69, 0x02, 0x7A, 0xA4, 0x63, 0x0A, 0x63, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x69, 0x03, 0x7A, 0xA3, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x68, 0x44, + 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x0A, 0x69, 0x02, 0x69, 0x22, 0x7A, 0xA4, + 0x60, 0x0A, 0x5F, 0x05, 0x60, 0x2E, 0x63, 0x2A, 0x66, 0x0A, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, + 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x0E, 0x63, 0x0A, + 0x66, 0x0E, 0x7A, 0xA3, 0x60, 0x2E, 0x7A, 0x00, 0x63, 0x2A, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x0A, 0x7A, 0xA4, + 0x60, 0x0E, 0x5F, 0x99, 0x60, 0x2B, 0x63, 0x2A, 0x66, 0x0E, 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x7A, 0x00, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, + 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x63, 0x0A, 0x66, 0x0B, 0x65, 0x06, 0x66, 0x2B, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA2, 0x62, 0xB2, + 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0xA3, 0x60, 0x0B, 0x5F, 0x65, + 0x60, 0x2B, 0x63, 0x06, 0x66, 0x0B, 0x65, 0x65, 0x66, 0x2B, 0x69, 0x03, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x26, 0x69, 0x23, 0x7A, 0xA4, 0x63, 0x06, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x26, 0x7A, 0x00, + 0x69, 0x02, 0x7A, 0xA3, 0x63, 0x06, 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x69, 0x03, 0x7A, 0xA4, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x7A, 0x00, 0x69, 0x02, 0x69, 0x22, 0x7A, 0xA3, 0x60, 0x0B, + 0x5F, 0x05, 0x60, 0x2A, 0x63, 0x26, 0x7A, 0x00, 0x66, 0x0B, 0x65, 0x05, 0x66, 0x2A, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, + 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE4, + 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, + 0x7A, 0xA3, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0x00, 0x63, 0x26, 0x66, 0x0B, 0x65, 0x06, + 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0xA3, 0x60, 0x0A, 0x7A, 0x00, 0x5F, 0x05, + 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0A, 0x65, 0x05, 0x66, 0x2A, 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x69, 0x23, 0x7A, 0xA4, 0x63, 0x06, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x26, 0x69, 0x02, 0x7A, 0xA4, + 0x63, 0x06, 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x69, 0x03, 0x7A, 0xA4, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x06, 0x69, 0x02, 0x69, 0x22, 0x7A, 0xA4, 0x60, 0x0A, 0x60, 0x2A, 0x63, 0x26, + 0x66, 0x0A, 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x7A, 0x00, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x26, 0x7A, 0x00, + 0x66, 0x0A, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, + 0x63, 0x26, 0x66, 0x0B, 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, + 0x63, 0x06, 0x7A, 0x00, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x62, 0x99, 0x63, 0x27, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x7A, 0xA3, 0x60, 0x0A, 0x5F, 0x44, 0x60, 0x2A, 0x63, 0x07, 0x66, 0x0A, 0x65, 0x44, + 0x66, 0x2A, 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA4, 0x63, 0x27, 0x69, 0x23, 0x7A, 0xA3, + 0x63, 0x07, 0x7A, 0x00, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x27, 0x69, 0x02, 0x7A, 0xA4, 0x63, 0x07, 0x63, 0x27, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x7A, 0x00, 0x33, 0x04, + 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x69, 0x03, 0x7A, 0xA4, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, 0x69, 0x02, 0x69, 0x22, + 0x7A, 0xA4, 0x60, 0x0A, 0x60, 0x2A, 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2A, 0x25, 0xE8, 0x7A, 0x00, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x0A, + 0x5F, 0x99, 0x60, 0x2B, 0x63, 0x27, 0x66, 0x0A, 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, + 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, + 0x60, 0x0B, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x27, 0x66, 0x0B, 0x7A, 0x00, 0x65, 0x65, 0x66, 0x2B, + 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, + 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x47, 0x63, 0x07, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, + 0x7A, 0xA3, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x62, 0x05, 0x63, 0x2A, 0x66, 0x0B, 0x65, 0x06, + 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, 0x7A, 0xA2, 0x60, 0x0B, 0x5F, 0x05, + 0x60, 0x2E, 0x63, 0x0A, 0x66, 0x0B, 0x7A, 0x00, 0x65, 0x05, 0x66, 0x2E, 0x69, 0x03, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x2A, 0x69, 0x23, 0x7A, 0xA4, 0x60, 0x0E, 0x60, 0x2E, 0x63, 0x0A, + 0x66, 0x0E, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x2A, 0x69, 0x02, 0x7A, 0xA3, 0x60, 0x0E, 0x7A, 0x00, 0x60, 0x2E, + 0x63, 0x0A, 0x63, 0x2A, 0x66, 0x0E, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x69, 0x03, 0x7A, 0xA4, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x7A, 0x00, 0x68, 0x44, 0x69, 0x22, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x0E, 0x60, 0x2E, 0x63, 0x0A, 0x66, 0x0E, 0x66, 0x2E, + 0x69, 0x02, 0x7A, 0xA4, 0x60, 0x0E, 0x5F, 0x44, 0x60, 0x2E, 0x62, 0x44, 0x63, 0x2A, 0x66, 0x0E, + 0x65, 0x44, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x47, 0x60, 0x0E, 0x5F, 0x05, 0x60, 0x2E, 0x63, 0x0A, 0x62, 0x05, 0x63, 0x2A, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x7A, 0x00, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0E, 0x5F, 0x99, 0x60, 0x2B, 0x63, 0x0A, + 0x62, 0x99, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x7A, 0x00, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0x06, + 0x60, 0x2B, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0B, 0x65, 0x06, 0x7A, 0x00, 0x66, 0x2B, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x69, 0x02, 0x7A, 0xA4, + 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, + 0x7A, 0x00, 0x33, 0x04, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x69, 0x02, 0x69, 0x22, 0x7A, 0xA4, 0x63, 0x06, 0x69, 0x02, 0x38, 0x0E, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0A, 0x66, 0x0A, 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0x6C, 0x69, 0x02, 0x69, 0x22, 0x7A, 0x6D, 0x69, 0x02, 0x69, 0x22, 0x7A, 0x6D, + 0x07, 0xF2, 0x16, 0xF2, 0x08, 0xF2, 0x17, 0xF2, 0x09, 0x00, 0x18, 0x00, 0x61, 0x08, 0x05, 0x27, + 0x14, 0x32, 0x06, 0x4F, 0x15, 0x08, 0x5F, 0x65, 0x7A, 0x00, 0x60, 0x33, 0x63, 0x26, 0x7A, 0x00, + 0x1F, 0x16, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA1, 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x13, 0x7A, 0x00, 0x60, 0x33, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x7A, 0x00, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x06, 0x62, 0x05, 0x63, 0x26, + 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, 0x63, 0x06, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x7A, 0x00, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x7A, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x63, 0x26, 0x7A, 0x00, + 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, + 0x62, 0x05, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x33, 0x63, 0x06, 0x7A, 0x00, 0x62, 0xB2, 0x63, 0x26, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x26, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x16, 0x7A, 0x00, 0x5F, 0xB2, 0x60, 0x32, + 0x63, 0x26, 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x7A, 0x00, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x60, 0x12, 0x5F, 0x06, 0x60, 0x33, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, + 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x7A, 0x00, 0x68, 0x65, + 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x65, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x7A, 0x00, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, + 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x7A, 0x00, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, + 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x7A, 0x00, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x44, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x7A, 0x00, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x07, 0x7A, 0x00, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x33, + 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x7A, 0x00, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x44, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x99, 0x66, 0x2B, 0x7A, 0x00, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, + 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x60, 0x33, 0x63, 0x07, + 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x60, 0x13, 0x7A, 0x00, 0x60, 0x33, 0x63, 0x27, 0x7A, 0xA3, 0x60, 0x13, + 0x60, 0x33, 0x63, 0x07, 0x63, 0x27, 0x66, 0x0A, 0x7A, 0x00, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, + 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x06, + 0x60, 0x33, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, + 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x07, 0x7A, 0xA3, + 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, + 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, + 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, 0x63, 0x27, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x60, 0x13, 0x5F, 0x06, 0x60, 0x33, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x7A, 0xA3, 0x66, 0x0A, + 0x66, 0x2E, 0x7A, 0x00, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x60, 0x13, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x7A, 0xA4, 0x5F, 0x05, + 0x60, 0x36, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, + 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, + 0x62, 0x05, 0x63, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x16, 0x5F, 0x65, 0x60, 0x33, 0x63, 0x0A, 0x62, 0xB2, 0x63, 0x26, + 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x7A, 0x00, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x05, 0x7A, 0x00, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x26, + 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x7A, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x06, 0x62, 0x05, 0x63, 0x26, + 0x66, 0x0B, 0x7A, 0x00, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, 0x63, 0x06, + 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x7A, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x13, 0x60, 0x33, 0x7A, 0x00, 0x63, 0x06, 0x66, 0x0E, + 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x63, 0x26, + 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x7A, 0x00, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x63, 0x06, + 0x62, 0x05, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x33, 0x63, 0x06, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0A, + 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x7A, 0x00, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x26, 0x66, 0x0E, 0x65, 0x05, + 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x7A, 0x00, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA2, 0x63, 0x06, 0x7A, 0xA4, 0x60, 0x16, 0x5F, 0xB2, 0x60, 0x32, 0x63, 0x26, 0x66, 0x0E, + 0x65, 0x65, 0x7A, 0x00, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x06, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x60, 0x12, + 0x7A, 0x00, 0x5F, 0x06, 0x60, 0x33, 0x63, 0x26, 0x7A, 0xA3, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, + 0x63, 0x06, 0x62, 0x99, 0x63, 0x27, 0x7A, 0x00, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, + 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x07, 0x62, 0x65, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x7A, 0x00, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0x06, 0x63, 0x27, 0x66, 0x0E, + 0x7A, 0x00, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x63, 0x07, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0B, + 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, + 0x7A, 0x00, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x7A, 0x00, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, + 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x7A, 0x00, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, + 0x65, 0x44, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x7A, 0x00, 0x35, 0x07, 0x27, 0x02, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, + 0x7A, 0x00, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x27, + 0x66, 0x0E, 0x65, 0x99, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x7A, 0x00, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x63, 0x07, 0x66, 0x0B, 0x65, 0xB2, + 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x7A, 0x00, 0x27, 0x02, 0x6A, 0x0F, + 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x60, 0x33, 0x62, 0xB2, 0x63, 0x26, 0x7A, 0xA4, 0x60, 0x13, 0x60, 0x33, 0x63, 0x06, 0x62, 0x99, + 0x63, 0x27, 0x66, 0x0A, 0x66, 0x2E, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x32, 0x00, 0x7A, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, + 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x65, 0x60, 0x33, 0x62, 0x65, + 0x63, 0x27, 0x66, 0x0E, 0x7A, 0x00, 0x65, 0x05, 0x66, 0x2E, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA2, 0x63, 0x07, 0x7A, 0xA4, 0x60, 0x13, + 0x60, 0x33, 0x63, 0x27, 0x66, 0x0E, 0x65, 0x65, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, + 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, + 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x13, 0x60, 0x33, + 0x63, 0x07, 0x7A, 0x00, 0x63, 0x27, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, + 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, + 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, 0x60, 0x13, 0x5F, 0x99, 0x60, 0x33, 0x63, 0x07, + 0x62, 0x99, 0x63, 0x27, 0x7A, 0xA4, 0x60, 0x13, 0x5F, 0x05, 0x60, 0x36, 0x63, 0x07, 0x62, 0x05, + 0x63, 0x2A, 0x66, 0x0A, 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, + 0x27, 0x01, 0x7A, 0x00, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x16, 0x7A, 0x00, 0x60, 0x36, 0x63, 0x0A, + 0x63, 0x2E, 0x66, 0x0B, 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, + 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, + 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x16, 0x5F, 0x99, 0x60, 0x33, + 0x63, 0x0E, 0x62, 0x99, 0x63, 0x27, 0x66, 0x0A, 0x65, 0x8B, 0x66, 0x2A, 0x25, 0xE8, 0x34, 0xE9, + 0x26, 0x07, 0x7A, 0x00, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, + 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x60, 0x13, + 0x5F, 0x06, 0x60, 0x33, 0x63, 0x07, 0x62, 0x06, 0x63, 0x2B, 0x66, 0x0A, 0x65, 0x44, 0x66, 0x2A, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, + 0x69, 0x03, 0x68, 0x44, 0x7A, 0x00, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, + 0x60, 0x13, 0x5F, 0xB2, 0x60, 0x32, 0x63, 0x0B, 0x62, 0xB2, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x05, + 0x66, 0x2A, 0x25, 0xE8, 0x7A, 0x00, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, + 0x7A, 0x48, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x7A, 0x00, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, + 0x7B, 0x00, 0x7A, 0x47, 0x66, 0x0A, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, + 0x6A, 0x06, 0x7A, 0x00, 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x38, 0x0E, + 0x6C, 0x16, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x48, 0x63, 0x06, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, + 0x35, 0x07, 0x27, 0x02, 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, + 0x6C, 0x16, 0x7A, 0x00, 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x07, 0x55, 0x16, 0x43, 0x08, 0x75, + 0x17, 0x65, 0x09, 0x01, 0x7A, 0x00, 0x18, 0x01, 0x61, 0x0B, 0x05, 0x22, 0x14, 0x22, 0x06, 0x00, + 0x15, 0x00, 0x60, 0x12, 0x5F, 0x05, 0x60, 0x2A, 0x63, 0x26, 0x1F, 0x0A, 0x7A, 0x00, 0x66, 0x2A, + 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, 0x32, 0x00, 0x33, 0x04, + 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA1, 0x63, 0x06, + 0x7A, 0xA4, 0x60, 0x0A, 0x5F, 0x65, 0x60, 0x2B, 0x63, 0x26, 0x66, 0x0A, 0x65, 0x65, 0x66, 0x2B, + 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, 0x6A, 0x0F, 0x32, 0x06, + 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x38, 0x16, 0x6C, 0x16, 0x6C, 0x36, 0x7A, 0xA3, + 0x63, 0x06, 0x7A, 0xA3, 0x60, 0x0B, 0x5F, 0x06, 0x60, 0x2B, 0x7A, 0x00, 0x63, 0x26, 0x66, 0x0B, + 0x65, 0x06, 0x66, 0x2B, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0x00, 0x38, 0x0E, 0x6C, 0x16, + 0x6C, 0x36, 0x7B, 0x00, 0x7A, 0x47, 0x60, 0x0B, 0x5F, 0xB2, 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0B, + 0x65, 0xB2, 0x66, 0x2A, 0x25, 0xE4, 0x34, 0xF5, 0x26, 0x06, 0x35, 0x07, 0x27, 0x02, 0x7A, 0x00, + 0x6A, 0x0F, 0x32, 0x06, 0x33, 0x00, 0x69, 0x03, 0x68, 0x44, 0x69, 0x22, 0x6C, 0x16, 0x6C, 0x36, + 0x7A, 0xA3, 0x63, 0x26, 0x25, 0xE8, 0x34, 0xE9, 0x26, 0x07, 0x35, 0x08, 0x27, 0x01, 0x6A, 0x06, + 0x32, 0x00, 0x33, 0x04, 0x69, 0x02, 0x68, 0x65, 0x69, 0x23, 0x7A, 0xA4, 0x60, 0x0A, 0x5F, 0x05, + 0x60, 0x2A, 0x63, 0x06, 0x66, 0x0A, 0x65, 0x05, 0x66, 0x2A, 0x69, 0x03, 0x6C, 0x16, 0x6C, 0x36}; + +// rudolph.dro - Rudolph, the red-nosed Reindeer (Recording of RUDOLPH.CMF) +const unsigned char RODOLPH_DRO[0x1451] = +{ 0x44, 0x42, 0x52, 0x41, 0x57, 0x4F, 0x50, 0x4C, 0xE2, 0x36, 0x01, 0x00, 0x40, 0x14, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x01, 0x20, 0x02, 0x08, 0x04, 0x08, 0x0B, 0x08, 0x0D, 0x08, 0x0F, 0x08, 0x16, + 0x08, 0x18, 0x08, 0x1A, 0x08, 0x20, 0x01, 0x21, 0x01, 0x22, 0x01, 0x23, 0x11, 0x24, 0x11, 0x25, + 0x11, 0x28, 0x01, 0x29, 0x01, 0x2A, 0x01, 0x2B, 0x11, 0x2C, 0x11, 0x2D, 0x11, 0x30, 0x01, 0x31, + 0x01, 0x32, 0x01, 0x33, 0x11, 0x34, 0x11, 0x35, 0x11, 0x40, 0x4F, 0x41, 0x4F, 0x42, 0x4F, 0x48, + 0x4F, 0x49, 0x4F, 0x4A, 0x4F, 0x50, 0x4F, 0x51, 0x4F, 0x52, 0x4F, 0x60, 0xF1, 0x61, 0xF1, 0x62, + 0xF1, 0x63, 0xD2, 0x64, 0xF2, 0x65, 0xF2, 0x68, 0xF1, 0x69, 0xF1, 0x6A, 0xF1, 0x6B, 0xF2, 0x6C, + 0xF2, 0x6D, 0xF2, 0x70, 0xF1, 0x71, 0xF1, 0x72, 0xF1, 0x73, 0xF2, 0x74, 0xF2, 0x75, 0xF2, 0x80, + 0x53, 0x81, 0x53, 0x82, 0x53, 0x83, 0x74, 0x84, 0x74, 0x85, 0x74, 0x88, 0x53, 0x89, 0x53, 0x8A, + 0x53, 0x8B, 0x74, 0x8C, 0x74, 0x8D, 0x74, 0x90, 0x53, 0x91, 0x53, 0x92, 0x53, 0x93, 0x74, 0x94, + 0x74, 0x95, 0x74, 0xA0, 0x02, 0xA1, 0x81, 0xA2, 0x87, 0xBD, 0xE0, 0xB0, 0x36, 0x21, 0x01, 0x24, + 0x11, 0x41, 0x4F, 0x61, 0xF1, 0x64, 0xD2, 0x81, 0x53, 0x84, 0x74, 0xE1, 0x00, 0x00, 0x05, 0xE4, + 0x00, 0xC1, 0x00, 0x44, 0x00, 0xA1, 0x81, 0xB1, 0x35, 0x22, 0x01, 0x25, 0x11, 0x42, 0x4F, 0x00, + 0x05, 0x62, 0xF1, 0x65, 0xD2, 0x82, 0x53, 0x85, 0x74, 0xE2, 0x00, 0xE5, 0x00, 0xC2, 0x00, 0x45, + 0x00, 0xA2, 0x87, 0x00, 0x05, 0xB2, 0x32, 0x00, 0xCB, 0xA0, 0x02, 0xB0, 0x16, 0x43, 0x00, 0xA0, + 0x41, 0xB0, 0x36, 0x00, 0xDA, 0xA0, 0x41, 0xB0, 0x16, 0x43, 0x00, 0xA0, 0x02, 0xB0, 0x36, 0x01, + 0xBF, 0x01, 0xA1, 0x81, 0xB1, 0x15, 0xA2, 0x87, 0xB2, 0x12, 0xA0, 0x02, 0xB0, 0x16, 0x43, 0x00, + 0xA0, 0xCA, 0xB0, 0x35, 0x00, 0x05, 0x44, 0x00, 0xA1, 0x57, 0xB1, 0x35, 0x45, 0x00, 0xA2, 0x41, + 0xB2, 0x32, 0x00, 0xD3, 0xA0, 0xCA, 0xB0, 0x15, 0x43, 0x00, 0xA0, 0x02, 0xB0, 0x36, 0x00, 0xDA, + 0xA0, 0x02, 0xB0, 0x16, 0x43, 0x00, 0xA0, 0xCA, 0xB0, 0x35, 0x01, 0xBF, 0x01, 0xA1, 0x57, 0xB1, + 0x15, 0xA2, 0x41, 0xB2, 0x12, 0xA0, 0xCA, 0xB0, 0x15, 0x43, 0x00, 0xA0, 0xB0, 0x00, 0x05, 0xB0, + 0x35, 0x44, 0x00, 0xA1, 0x87, 0xB1, 0x32, 0x45, 0x00, 0xA2, 0x02, 0xB2, 0x32, 0x00, 0xD4, 0xA0, + 0xB0, 0xB0, 0x15, 0x43, 0x00, 0xA0, 0xCA, 0xB0, 0x35, 0x00, 0xE4, 0xA0, 0xCA, 0xB0, 0x15, 0x43, + 0x00, 0xA0, 0xB0, 0xB0, 0x35, 0x01, 0xB4, 0x01, 0xA1, 0x87, 0xB1, 0x12, 0xA2, 0x02, 0xB2, 0x12, + 0xA0, 0xB0, 0xB0, 0x15, 0x43, 0x00, 0xA0, 0x81, 0x00, 0x05, 0xB0, 0x35, 0x44, 0x00, 0xA1, 0x41, + 0xB1, 0x32, 0x45, 0x00, 0xA2, 0xCA, 0xB2, 0x31, 0x01, 0x79, 0x03, 0xA0, 0x81, 0xB0, 0x15, 0xA1, + 0x41, 0xB1, 0x12, 0xA2, 0xCA, 0xB2, 0x11, 0x43, 0x00, 0xA0, 0x57, 0x00, 0x05, 0xB0, 0x35, 0x44, + 0x00, 0xA1, 0x02, 0xB1, 0x32, 0x45, 0x00, 0xA2, 0xB0, 0xB2, 0x31, 0x00, 0xD4, 0xA0, 0x57, 0xB0, + 0x15, 0x43, 0x00, 0xA0, 0x81, 0xB0, 0x35, 0x00, 0xD9, 0xA0, 0x81, 0xB0, 0x15, 0x43, 0x00, 0xA0, + 0x57, 0xB0, 0x35, 0x01, 0xBF, 0x01, 0xA1, 0x02, 0xB1, 0x12, 0xA2, 0xB0, 0xB2, 0x11, 0xA0, 0x57, + 0xB0, 0x15, 0x43, 0x00, 0xA0, 0x87, 0x00, 0x05, 0xB0, 0x32, 0x44, 0x00, 0xA1, 0xE5, 0xB1, 0x31, + 0x45, 0x00, 0xA2, 0x98, 0xB2, 0x31, 0x00, 0xD4, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x00, 0xA0, 0x57, + 0xB0, 0x35, 0x00, 0xE4, 0xA0, 0x57, 0xB0, 0x15, 0x43, 0x00, 0xA0, 0x87, 0xB0, 0x32, 0x01, 0xB5, + 0x01, 0xA1, 0xE5, 0xB1, 0x11, 0xA2, 0x98, 0xB2, 0x11, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x00, 0xA0, + 0x41, 0xB0, 0x32, 0x00, 0x05, 0x44, 0x00, 0xA1, 0xCA, 0xB1, 0x31, 0x45, 0x00, 0xA2, 0x81, 0xB2, + 0x31, 0x01, 0xB9, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x00, 0xA0, 0x81, 0xB0, 0x35, 0x01, 0xBE, + 0x01, 0xA1, 0xCA, 0xB1, 0x11, 0xA2, 0x81, 0xB2, 0x11, 0xA0, 0x81, 0xB0, 0x15, 0x43, 0x00, 0xA0, + 0x02, 0x00, 0x05, 0xB0, 0x32, 0x44, 0x00, 0xA1, 0xCA, 0xB1, 0x31, 0x45, 0x00, 0xA2, 0x87, 0xB2, + 0x2E, 0x01, 0xAF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA1, 0xCA, 0xB1, 0x11, 0xA2, 0x87, 0xB2, 0x0E, + 0x20, 0x32, 0x23, 0x61, 0x00, 0x05, 0x40, 0x9A, 0x60, 0x51, 0x63, 0xA2, 0x80, 0x1B, 0x83, 0x3B, + 0xE0, 0x00, 0xE3, 0x00, 0xC0, 0x00, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xD8, + 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x87, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x87, 0xB0, 0x12, + 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x21, 0x31, 0x24, 0x61, 0x41, 0x1C, 0x61, 0x41, 0x00, 0x05, + 0x64, 0x92, 0x81, 0x0B, 0x84, 0x3B, 0xE1, 0x00, 0xE4, 0x00, 0xC1, 0x00, 0x44, 0x80, 0xA1, 0xB0, + 0x00, 0x05, 0xB1, 0x31, 0x22, 0x31, 0x25, 0x61, 0x42, 0x1C, 0x62, 0x41, 0x65, 0x92, 0x82, 0x0B, + 0x85, 0x3B, 0xE2, 0x00, 0x00, 0x05, 0xE5, 0x00, 0xC2, 0x00, 0x45, 0x80, 0xA2, 0x41, 0xB2, 0x2E, + 0x28, 0x01, 0x2B, 0x11, 0x48, 0x4F, 0x00, 0x05, 0x68, 0xF1, 0x6B, 0xD2, 0x88, 0x53, 0x8B, 0x74, + 0xE8, 0x00, 0xEB, 0x00, 0xC3, 0x00, 0x4B, 0x00, 0xA3, 0xCA, 0x00, 0x05, 0xB3, 0x2D, 0x00, 0xC6, + 0xA0, 0x57, 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, 0x01, 0xA0, 0x41, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x00, 0xDA, 0xA1, 0xB0, 0xB1, 0x11, 0xA2, 0x41, 0xB2, + 0x0E, 0xA3, 0xCA, 0xB3, 0x0D, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x87, 0xB0, + 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x31, 0x45, 0x80, 0xA2, 0x02, 0xB2, 0x2E, 0x00, 0x05, 0x4B, + 0x00, 0xA3, 0xB0, 0xB3, 0x2D, 0x00, 0xD8, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, + 0x32, 0x01, 0xB4, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x00, 0xE4, + 0xA1, 0x81, 0xB1, 0x11, 0xA2, 0x02, 0xB2, 0x0E, 0xA3, 0xB0, 0xB3, 0x0D, 0xA0, 0xB0, 0xB0, 0x11, + 0x00, 0x05, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x45, 0x80, + 0xA2, 0xCA, 0x00, 0x05, 0xB2, 0x2D, 0x4B, 0x00, 0xA3, 0x81, 0xB3, 0x2D, 0x00, 0xCE, 0xA0, 0x41, + 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x01, 0xBF, 0x01, 0xA0, 0xCA, 0xB0, 0x11, 0x43, + 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x00, 0xDA, 0xA1, 0x57, 0xB1, 0x11, 0xA2, 0xCA, 0xB2, 0x0D, 0xA3, + 0x81, 0xB3, 0x0D, 0xA0, 0x81, 0xB0, 0x11, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x41, 0xB0, 0x32, 0x44, + 0x80, 0xA1, 0x87, 0xB1, 0x2E, 0x45, 0x80, 0xA2, 0xB0, 0xB2, 0x2D, 0x00, 0x05, 0x4B, 0x00, 0xA3, + 0x57, 0xB3, 0x2D, 0x00, 0xCD, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x01, + 0x9A, 0x02, 0xA1, 0x87, 0xB1, 0x0E, 0xA2, 0xB0, 0xB2, 0x0D, 0xA3, 0x57, 0xB3, 0x0D, 0xA0, 0x02, + 0xB0, 0x12, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x44, 0x80, 0xA1, 0xB0, 0xB1, 0x31, + 0x45, 0x80, 0xA2, 0x41, 0xB2, 0x2E, 0x00, 0x05, 0x4B, 0x00, 0xA3, 0xCA, 0xB3, 0x2D, 0x00, 0xD8, + 0xA0, 0x57, 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xB5, 0x01, 0xA0, 0x41, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x00, 0xE4, 0xA1, 0xB0, 0xB1, 0x11, 0xA2, 0x41, 0xB2, + 0x0E, 0xA3, 0xCA, 0xB3, 0x0D, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x87, 0xB0, + 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x31, 0x45, 0x80, 0xA2, 0x02, 0xB2, 0x2E, 0x00, 0x05, 0x4B, + 0x00, 0xA3, 0xB0, 0xB3, 0x2D, 0x00, 0xCE, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, + 0x32, 0x01, 0xBE, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x00, 0xDA, + 0xA1, 0x81, 0xB1, 0x11, 0xA2, 0x02, 0xB2, 0x0E, 0xA3, 0xB0, 0xB3, 0x0D, 0xA0, 0xB0, 0xB0, 0x11, + 0x00, 0x05, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x45, 0x80, + 0xA2, 0xCA, 0xB2, 0x2D, 0x00, 0x05, 0x4B, 0x00, 0xA3, 0x81, 0xB3, 0x2D, 0x00, 0xCE, 0xA0, 0x41, + 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x01, 0xBF, 0x01, 0xA0, 0xCA, 0xB0, 0x11, 0x43, + 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x00, 0xDA, 0xA1, 0x57, 0xB1, 0x11, 0xA2, 0xCA, 0xB2, 0x0D, 0xA3, + 0x81, 0xB3, 0x0D, 0xA0, 0x81, 0xB0, 0x11, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x41, 0xB0, 0x32, 0x44, + 0x80, 0xA1, 0x87, 0xB1, 0x2E, 0x45, 0x80, 0xA2, 0xB0, 0xB2, 0x2D, 0x00, 0x05, 0x4B, 0x00, 0xA3, + 0x57, 0xB3, 0x2D, 0x00, 0xD8, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x01, + 0x99, 0x02, 0xA1, 0x87, 0xB1, 0x0E, 0xA2, 0xB0, 0xB2, 0x0D, 0xA3, 0x57, 0xB3, 0x0D, 0xA0, 0x02, + 0xB0, 0x12, 0x00, 0x05, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x29, 0xB2, 0x2C, 0xB1, 0x49, 0xCD, + 0x69, 0x91, 0x6C, 0x91, 0x00, 0x05, 0x89, 0x2A, 0x8C, 0x2A, 0xE9, 0x00, 0xEC, 0x00, 0xC4, 0x00, + 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x44, 0x80, 0x00, 0x05, 0xA1, 0x41, 0xB1, 0x2E, 0x45, 0x80, + 0xA2, 0x57, 0xB2, 0x2D, 0x01, 0xAD, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0xB0, 0xB4, 0x11, 0x43, + 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x4C, 0x80, 0x00, 0x05, 0xA4, 0xB0, 0xB4, 0x31, 0x01, 0xB9, 0x01, + 0xA1, 0x41, 0xB1, 0x0E, 0xA2, 0x57, 0xB2, 0x0D, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0xB0, 0xB4, 0x11, + 0x00, 0x05, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x81, 0xB4, 0x31, 0x44, 0x80, + 0xA1, 0x20, 0xB1, 0x2E, 0x00, 0x05, 0x45, 0x80, 0xA2, 0x87, 0xB2, 0x2A, 0x01, 0xB3, 0x01, 0xA0, + 0xB0, 0xB0, 0x11, 0xA4, 0x81, 0xB4, 0x11, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x4C, 0x80, 0x00, + 0x05, 0xA4, 0x81, 0xB4, 0x31, 0x01, 0xAE, 0x01, 0xA1, 0x20, 0xB1, 0x0E, 0xA2, 0x87, 0xB2, 0x0A, + 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0x81, 0xB4, 0x11, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, + 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x2A, 0xB2, 0x2D, 0xB1, 0x00, 0x05, 0x4A, 0xCD, 0x6A, 0x91, + 0x6D, 0x91, 0x8A, 0x2A, 0x8D, 0x2A, 0xEA, 0x00, 0xED, 0x00, 0xC5, 0x00, 0x4D, 0x80, 0x00, 0x05, + 0xA5, 0x57, 0xB5, 0x31, 0x44, 0x80, 0xA1, 0x41, 0xB1, 0x2A, 0x01, 0xB8, 0x01, 0xA1, 0x41, 0xB1, + 0x0A, 0x44, 0x80, 0xA1, 0xB0, 0xB1, 0x2D, 0x01, 0xBF, 0x01, 0xA1, 0xB0, 0xB1, 0x0D, 0x44, 0x80, + 0xA1, 0x41, 0xB1, 0x2E, 0x01, 0xB4, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0xA4, 0xB0, 0xB4, 0x11, 0xA5, + 0x57, 0xB5, 0x11, 0xA1, 0x41, 0xB1, 0x0E, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, + 0xDE, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x87, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x87, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x00, 0x05, 0x4D, + 0x80, 0xA5, 0xB0, 0xB5, 0x31, 0x44, 0x80, 0xA1, 0x41, 0xB1, 0x2A, 0x01, 0xB9, 0x01, 0xA0, 0x57, + 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x01, 0xB4, 0x01, 0xA4, 0xE5, 0xB4, 0x11, 0xA5, + 0xB0, 0xB5, 0x11, 0xA1, 0x41, 0xB1, 0x0A, 0xA0, 0x57, 0xB0, 0x15, 0x00, 0x05, 0x43, 0x80, 0xA0, + 0x57, 0xB0, 0x35, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0xB0, 0x00, 0x05, 0xB5, + 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x00, 0xD8, 0xA0, 0x57, 0xB0, 0x15, 0xA4, 0xE5, 0xB4, + 0x11, 0xA5, 0xB0, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0x87, 0x00, 0x05, 0xB0, 0x32, 0x4C, 0x80, 0xA4, + 0xE5, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, 0x31, 0x01, 0xAF, 0x01, 0xA0, 0x87, 0xB0, 0x12, + 0xA4, 0xE5, 0xB4, 0x11, 0xA5, 0x81, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0x41, 0x00, 0x05, 0xB0, 0x32, + 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x57, 0xB5, 0x31, 0x00, 0xDE, 0xA1, 0x81, + 0xB1, 0x0D, 0xA0, 0x41, 0xB0, 0x12, 0xA4, 0xE5, 0xB4, 0x11, 0xA5, 0x57, 0xB5, 0x11, 0x00, 0x05, + 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x57, + 0xB5, 0x31, 0x00, 0x05, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xA8, 0x01, 0xA5, 0x57, 0xB5, + 0x11, 0x4D, 0x80, 0xA5, 0x41, 0xB5, 0x2E, 0x01, 0xBF, 0x01, 0xA1, 0x02, 0xB1, 0x0A, 0xA5, 0x41, + 0xB5, 0x0E, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x44, 0x80, 0x00, 0x05, 0xA1, 0x02, 0xB1, 0x2A, + 0x45, 0x80, 0xA2, 0xCA, 0xB2, 0x2D, 0x01, 0x6F, 0x03, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, + 0x11, 0xA5, 0x87, 0xB5, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0xA2, 0xCA, 0x00, 0x05, 0xB2, 0x0D, 0x43, + 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x44, 0x80, 0x00, 0x05, 0xA1, + 0x57, 0xB1, 0x2D, 0x00, 0xD8, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, + 0xDA, 0xA4, 0xB0, 0xB4, 0x11, 0xA1, 0x57, 0xB1, 0x0D, 0x00, 0xD9, 0xA0, 0x41, 0xB0, 0x12, 0x43, + 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE4, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xB0, 0xB0, + 0x31, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0x05, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, + 0xAF, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0x57, 0xB4, 0x11, 0xA1, 0x02, 0xB1, 0x0A, 0x43, 0x80, + 0xA0, 0x57, 0x00, 0x05, 0xB0, 0x35, 0x01, 0xB9, 0x01, 0xA0, 0x57, 0xB0, 0x15, 0x43, 0x80, 0xA0, + 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x01, 0xBF, 0x01, 0xA0, 0x41, 0xB0, 0x12, + 0xA1, 0x57, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0x00, 0x05, + 0xB4, 0x31, 0x01, 0xAE, 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA4, 0xB0, + 0xB4, 0x11, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x01, 0xBF, 0x01, 0xA0, + 0x02, 0xB0, 0x12, 0xA4, 0xB0, 0xB4, 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0x00, + 0x05, 0xA4, 0xB0, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x00, 0xD4, 0xA0, 0x02, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xD9, 0xA1, 0x57, 0xB1, 0x0D, 0xA0, 0x41, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE5, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x41, 0xB0, 0x32, 0x00, 0xD9, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x44, + 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x00, 0x05, 0x45, 0x80, 0xA2, 0xB0, 0xB2, 0x2D, 0x01, 0xB9, 0x01, + 0xA4, 0xB0, 0xB4, 0x11, 0xA0, 0x02, 0xB0, 0x12, 0xA2, 0xB0, 0xB2, 0x0D, 0x43, 0x80, 0xA0, 0x57, + 0x00, 0x05, 0xB0, 0x35, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x45, 0x80, 0xA2, 0x98, 0xB2, 0x2D, + 0x01, 0xAF, 0x01, 0xA1, 0x57, 0xB1, 0x11, 0xA0, 0x57, 0xB0, 0x15, 0xA4, 0xE5, 0xB4, 0x11, 0xA2, + 0x98, 0xB2, 0x0D, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x87, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, + 0x2D, 0x01, 0xB9, 0x01, 0xA1, 0x81, 0xB1, 0x0D, 0x4C, 0x80, 0xA4, 0x02, 0xB4, 0x32, 0x4D, 0x80, + 0xA5, 0xCA, 0xB5, 0x31, 0x01, 0xBE, 0x01, 0xA4, 0x02, 0xB4, 0x12, 0xA5, 0xCA, 0xB5, 0x11, 0x44, + 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xB5, 0x01, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0x02, + 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xCA, 0xB5, 0x31, 0x01, 0xBF, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0xA4, + 0x02, 0xB4, 0x12, 0xA5, 0xCA, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x00, 0x05, 0x4C, + 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x00, 0xD3, 0xA0, 0xCA, 0xB0, + 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE5, 0xA4, 0x57, 0xB4, 0x11, 0xA1, 0x81, 0xB1, + 0x0D, 0x00, 0xD9, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x00, 0xDA, 0xA0, + 0xCA, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x87, 0xB4, 0x2E, 0x00, + 0x05, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xB9, 0x01, 0xA0, 0x81, 0xB0, 0x11, 0xA4, 0x87, + 0xB4, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x87, 0x00, 0x05, 0xB0, 0x32, 0x01, 0xB9, + 0x01, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, + 0x2D, 0x01, 0xB4, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0xA1, 0x81, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x02, + 0xB0, 0x32, 0x4C, 0x80, 0x00, 0x05, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, + 0x01, 0xB9, 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA1, 0x02, 0xB1, 0x0A, + 0x01, 0xB5, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, 0x87, 0xB5, 0x0E, 0x43, + 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, + 0x57, 0xB5, 0x31, 0x44, 0x80, 0xA1, 0x81, 0x00, 0x05, 0xB1, 0x2D, 0x00, 0xD8, 0xA0, 0x02, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xD9, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x02, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, + 0xE4, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, 0x57, 0xB5, 0x11, 0xA1, 0x81, 0xB1, 0x0D, 0xA0, 0x41, 0xB0, + 0x12, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0x98, 0xB4, 0x31, 0x4D, + 0x80, 0xA5, 0x87, 0x00, 0x05, 0xB5, 0x2E, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xA9, 0x01, + 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, 0x01, 0xA4, 0x98, 0xB4, + 0x11, 0xA5, 0x87, 0xB5, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0x00, + 0x05, 0xA0, 0xB0, 0xB0, 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x01, 0xB9, 0x01, 0xA1, 0x57, + 0xB1, 0x0D, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x41, 0xB5, 0x2E, 0x01, 0xB4, + 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA4, 0x57, 0xB4, 0x11, 0xA5, 0x41, + 0xB5, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0x57, 0x00, 0x05, 0xB4, 0x31, 0x4D, 0x80, + 0xA5, 0x41, 0xB5, 0x2E, 0x01, 0xB9, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0x57, 0xB4, 0x11, 0xA5, + 0x41, 0xB5, 0x0E, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, + 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x00, 0xD3, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x41, 0xB0, 0x32, 0x00, 0xDA, 0xA4, 0xB0, 0xB4, 0x11, 0xA1, 0x57, 0xB1, 0x0D, 0x00, 0xE4, 0xA0, + 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x02, 0xB0, 0x12, 0x43, + 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0x05, 0x44, 0x80, 0xA1, + 0x02, 0xB1, 0x2A, 0x01, 0xB9, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0x57, 0xB4, 0x11, 0xA1, 0x02, + 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x57, 0x00, 0x05, 0xB0, 0x35, 0x01, 0xAE, 0x01, 0xA0, 0x57, 0xB0, + 0x15, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x01, 0xBF, 0x01, + 0xA0, 0x41, 0xB0, 0x12, 0xA1, 0x57, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, + 0x00, 0x05, 0xA4, 0xB0, 0xB4, 0x31, 0x01, 0xB9, 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, + 0xB5, 0x01, 0xA4, 0xB0, 0xB4, 0x11, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, + 0x01, 0xBF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xB0, 0xB4, 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, + 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0x00, 0x05, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x00, + 0xD3, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xE4, 0xA1, 0x57, 0xB1, + 0x0D, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x02, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x02, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x00, 0x05, 0x45, 0x80, 0xA2, 0xB0, 0xB2, + 0x2D, 0x01, 0xB9, 0x01, 0xA4, 0xB0, 0xB4, 0x11, 0xA0, 0x02, 0xB0, 0x12, 0xA2, 0xB0, 0xB2, 0x0D, + 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x45, 0x80, + 0xA2, 0x98, 0xB2, 0x2D, 0x01, 0xB9, 0x01, 0xA1, 0x57, 0xB1, 0x11, 0xA0, 0x57, 0xB0, 0x15, 0xA4, + 0xE5, 0xB4, 0x11, 0xA2, 0x98, 0xB2, 0x0D, 0x43, 0x80, 0x00, 0x05, 0xA0, 0x87, 0xB0, 0x32, 0x44, + 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x01, 0xAE, 0x01, 0xA1, 0x81, 0xB1, 0x0D, 0x4C, 0x80, 0xA4, 0x02, + 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xCA, 0xB5, 0x31, 0x01, 0xBF, 0x01, 0xA4, 0x02, 0xB4, 0x12, 0xA5, + 0xCA, 0xB5, 0x11, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA1, 0x02, 0xB1, 0x0A, + 0x4C, 0x80, 0xA4, 0x02, 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xCA, 0xB5, 0x31, 0x01, 0xB4, 0x01, 0xA0, + 0x87, 0xB0, 0x12, 0xA4, 0x02, 0xB4, 0x12, 0xA5, 0xCA, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0xCA, 0x00, + 0x05, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x00, + 0xDF, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xD9, 0xA4, 0x57, 0xB4, + 0x11, 0xA1, 0x81, 0xB1, 0x0D, 0x00, 0xDA, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, + 0x31, 0x00, 0xE4, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x4C, 0x80, 0xA4, + 0x87, 0xB4, 0x2E, 0x00, 0x05, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xAF, 0x01, 0xA0, 0x81, + 0xB0, 0x11, 0xA4, 0x87, 0xB4, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x87, 0xB0, 0x32, + 0x01, 0xBE, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, + 0x81, 0xB1, 0x2D, 0x01, 0xBF, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0xA1, 0x81, 0xB1, 0x0D, 0x43, 0x80, + 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0x00, 0x05, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x87, + 0xB5, 0x2E, 0x01, 0xAF, 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA1, 0x02, + 0xB1, 0x0A, 0x01, 0xBF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, 0x87, 0xB5, + 0x0E, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, + 0x80, 0xA5, 0x57, 0xB5, 0x31, 0x44, 0x80, 0xA1, 0x81, 0x00, 0x05, 0xB1, 0x2D, 0x00, 0xCD, 0xA0, + 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x41, 0xB0, 0x12, 0x43, + 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE4, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, + 0x32, 0x00, 0xDA, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, 0x57, 0xB5, 0x11, 0xA1, 0x81, 0xB1, 0x0D, 0xA0, + 0x41, 0xB0, 0x12, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, + 0x31, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xB9, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, + 0xB4, 0x11, 0xA1, 0x02, 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x81, 0xB0, 0x35, 0x01, 0xB4, 0x01, 0xA0, + 0x81, 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x01, 0xBF, 0x01, 0x4C, 0x80, 0xA4, 0xB0, + 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x44, 0x80, 0xA1, 0x57, 0x00, 0x05, 0xB1, 0x2D, + 0x01, 0xB9, 0x01, 0xA4, 0xB0, 0xB4, 0x11, 0xA5, 0x87, 0xB5, 0x0E, 0xA1, 0x57, 0xB1, 0x0D, 0x4C, + 0x80, 0xA4, 0xCA, 0x00, 0x05, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x01, 0xAF, 0x01, + 0xA4, 0xCA, 0xB4, 0x11, 0xA1, 0x81, 0xB1, 0x0D, 0x4C, 0x80, 0xA4, 0x02, 0xB4, 0x32, 0x44, 0x80, + 0xA1, 0xB0, 0x00, 0x05, 0xB1, 0x2D, 0x01, 0xB8, 0x01, 0xA0, 0x57, 0xB0, 0x15, 0xA4, 0x02, 0xB4, + 0x12, 0xA1, 0xB0, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x41, 0x00, 0x05, 0xB0, 0x32, 0x4C, 0x80, 0xA4, + 0x02, 0xB4, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x45, 0x80, 0x00, 0x05, 0xA2, 0xCA, 0xB2, + 0x2D, 0x01, 0xB3, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xB5, + 0x01, 0xA4, 0x02, 0xB4, 0x12, 0xA1, 0x57, 0xB1, 0x11, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x57, 0xB0, 0x35, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, + 0x31, 0x01, 0xB9, 0x01, 0xA0, 0x57, 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, + 0x01, 0xA2, 0xCA, 0xB2, 0x0D, 0xA4, 0xCA, 0xB4, 0x11, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x02, 0xB0, 0x32, 0x00, 0x05, 0x45, 0x80, 0xA2, 0xB0, 0xB2, 0x2D, 0x01, 0xAE, 0x01, 0xA0, 0x02, + 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x01, 0xBF, 0x01, 0xA1, 0x81, 0xB1, 0x11, 0xA0, + 0xB0, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x6B, 0x00, 0x05, 0xB1, + 0x31, 0x01, 0x93, 0x02, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x00, 0xDA, 0xA2, 0xB0, 0xB2, 0x0D, + 0xA0, 0x02, 0xB0, 0x12, 0xA1, 0x6B, 0xB1, 0x11, 0xA4, 0xB0, 0xB4, 0x11, 0x00, 0x05, 0x43, 0x80, + 0xA0, 0xCA, 0xB0, 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x31, 0x45, 0x80, 0xA2, 0x81, 0xB2, 0x2D, + 0x01, 0xB9, 0x01, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, 0x01, + 0xA1, 0x57, 0xB1, 0x11, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x44, 0x80, + 0x00, 0x05, 0xA1, 0x87, 0xB1, 0x2E, 0x01, 0xAE, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0xCA, 0xB0, 0x31, 0x01, 0xBF, 0x01, 0xA2, 0x81, 0xB2, 0x0D, 0xA1, 0x87, 0xB1, 0x0E, 0xA0, 0xCA, + 0xB0, 0x11, 0x43, 0x80, 0xA0, 0xB0, 0x00, 0x05, 0xB0, 0x31, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2E, + 0x45, 0x80, 0xA2, 0x57, 0xB2, 0x2D, 0x00, 0xD4, 0xA1, 0x02, 0xB1, 0x0E, 0x44, 0x80, 0xA1, 0x41, + 0xB1, 0x2E, 0x00, 0xE4, 0xA1, 0x41, 0xB1, 0x0E, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2E, 0x01, 0xB5, + 0x01, 0xA1, 0x02, 0xB1, 0x0E, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2E, 0x01, 0xBF, 0x01, 0xA2, 0x57, + 0xB2, 0x0D, 0xA1, 0x02, 0xB1, 0x0E, 0x44, 0x80, 0xA1, 0x63, 0xB1, 0x2E, 0x45, 0x80, 0xA2, 0x6B, + 0x00, 0x05, 0xB2, 0x2D, 0x01, 0xB8, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA1, 0x63, 0xB1, 0x0E, 0xA2, + 0x6B, 0xB2, 0x0D, 0x43, 0x80, 0xA0, 0x81, 0x00, 0x05, 0xB0, 0x31, 0x44, 0x80, 0xA1, 0x87, 0xB1, + 0x2E, 0x45, 0x80, 0xA2, 0x02, 0xB2, 0x2E, 0x01, 0xAF, 0x01, 0xA0, 0x81, 0xB0, 0x11, 0x43, 0x80, + 0xA0, 0xB0, 0xB0, 0x31, 0x01, 0xBF, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x02, 0xB0, + 0x32, 0x01, 0xBF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xB4, + 0x01, 0xA1, 0x87, 0xB1, 0x0E, 0xA2, 0x02, 0xB2, 0x0E, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, + 0x87, 0x00, 0x05, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, + 0x31, 0x44, 0x80, 0xA1, 0x02, 0x00, 0x05, 0xB1, 0x2E, 0x01, 0xB3, 0x01, 0xA0, 0x87, 0xB0, 0x12, + 0xA4, 0xB0, 0xB4, 0x11, 0xA5, 0x81, 0xB5, 0x11, 0xA1, 0x02, 0xB1, 0x0E, 0x00, 0x05, 0x43, 0x80, + 0xA0, 0x87, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, 0x31, + 0x00, 0x05, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2E, 0x01, 0xB3, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0xA4, + 0xB0, 0xB4, 0x11, 0xA5, 0x81, 0xB5, 0x11, 0xA1, 0x02, 0xB1, 0x0E, 0x00, 0x05, 0x43, 0x80, 0xA0, + 0x87, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, 0x31, 0x00, + 0x05, 0x44, 0x80, 0xA1, 0x20, 0xB1, 0x2E, 0x01, 0xA8, 0x01, 0xA1, 0x20, 0xB1, 0x0E, 0x44, 0x80, + 0xA1, 0xB0, 0xB1, 0x2D, 0x01, 0xBF, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, + 0x81, 0xB5, 0x11, 0xA1, 0xB0, 0xB1, 0x0D, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x4C, + 0x80, 0xA4, 0x02, 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xB0, 0x00, 0x05, 0xB5, 0x31, 0x44, 0x80, 0xA1, + 0x41, 0xB1, 0x2E, 0x01, 0xB3, 0x01, 0xA0, 0x57, 0xB0, 0x15, 0xA4, 0x02, 0xB4, 0x12, 0xA5, 0xB0, + 0xB5, 0x11, 0xA1, 0x41, 0xB1, 0x0E, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x57, 0xB0, 0x35, 0x4C, 0x80, + 0xA4, 0x02, 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xB0, 0xB5, 0x31, 0x01, 0xAF, 0x01, 0xA0, 0x57, 0xB0, + 0x15, 0xA4, 0x02, 0xB4, 0x12, 0xA5, 0xB0, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0x87, 0xB0, 0x32, 0x00, + 0x05, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, 0x31, 0x44, 0x80, 0xA1, + 0x81, 0x00, 0x05, 0xB1, 0x2D, 0x01, 0xB2, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0xA4, 0xE5, 0xB4, 0x11, + 0xA5, 0x81, 0xB5, 0x11, 0x43, 0x80, 0xA0, 0x41, 0x00, 0x05, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xE5, + 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x57, 0xB5, 0x31, 0x01, 0xB9, 0x01, 0xA1, 0x81, 0xB1, 0x0D, 0xA0, + 0x41, 0xB0, 0x12, 0xA4, 0xE5, 0xB4, 0x11, 0xA5, 0x57, 0xB5, 0x11, 0x00, 0x05, 0x43, 0x80, 0xA0, + 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0xCA, 0x00, 0x05, 0xB1, + 0x2D, 0x45, 0x80, 0xA2, 0x81, 0xB2, 0x2D, 0x01, 0xA9, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0x57, + 0xB4, 0x11, 0xA1, 0xCA, 0xB1, 0x0D, 0xA2, 0x81, 0xB2, 0x0D, 0x43, 0x80, 0x00, 0x05, 0xA0, 0xCA, + 0xB0, 0x31, 0x00, 0xDE, 0xA0, 0xCA, 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x4C, 0x80, + 0xA4, 0x87, 0xB4, 0x2E, 0x00, 0x05, 0x44, 0x80, 0xA1, 0xCA, 0xB1, 0x2D, 0x45, 0x80, 0xA2, 0x02, + 0xB2, 0x2A, 0x01, 0x94, 0x02, 0xA0, 0x81, 0xB0, 0x11, 0xA4, 0x87, 0xB4, 0x0E, 0xA1, 0xCA, 0xB1, + 0x0D, 0xA2, 0x02, 0xB2, 0x0A, 0x44, 0x80, 0x00, 0x05, 0xA1, 0x02, 0xB1, 0x2E, 0x01, 0xAE, 0x01, + 0xA1, 0x02, 0xB1, 0x0E, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, + 0x00, 0x05, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x00, 0xDE, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, + 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xDA, 0xA4, 0xB0, 0xB4, 0x11, 0xA1, 0x57, 0xB1, 0x0D, 0x00, 0xDA, + 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE4, 0xA0, 0x02, 0xB0, 0x12, + 0x43, 0x80, 0xA0, 0xB0, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x57, 0xB4, 0x31, 0x44, 0x80, 0x00, 0x05, + 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xAE, 0x01, 0xA0, 0xB0, 0xB0, 0x11, 0xA4, 0x57, 0xB4, 0x11, 0xA1, + 0x02, 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x57, 0x00, 0x05, 0xB0, 0x35, 0x01, 0xB9, 0x01, 0xA0, 0x57, + 0xB0, 0x15, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x01, 0xBF, + 0x01, 0xA0, 0x41, 0xB0, 0x12, 0xA1, 0x57, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x4C, + 0x80, 0x00, 0x05, 0xA4, 0xB0, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x81, 0xB5, 0x31, 0x01, 0xAE, 0x01, + 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBF, 0x01, 0xA4, 0xB0, 0xB4, 0x11, 0xA1, 0x02, 0xB1, + 0x0A, 0x4C, 0x80, 0xA4, 0xB0, 0xB4, 0x31, 0x01, 0xBF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA5, 0x81, + 0xB5, 0x11, 0xA4, 0xB0, 0xB4, 0x11, 0x43, 0x80, 0xA0, 0x02, 0x00, 0x05, 0xB0, 0x32, 0x4C, 0x80, + 0xA4, 0xB0, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x57, 0xB1, 0x2D, 0x00, 0xD4, 0xA0, 0x02, 0xB0, 0x12, + 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xDA, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, + 0xB0, 0x32, 0x00, 0xE4, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x00, 0xDA, + 0xA1, 0x57, 0xB1, 0x0D, 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x44, 0x80, + 0xA1, 0x57, 0x00, 0x05, 0xB1, 0x31, 0x45, 0x80, 0xA2, 0xB0, 0xB2, 0x2D, 0x01, 0xB8, 0x01, 0xA4, + 0xB0, 0xB4, 0x11, 0xA0, 0x02, 0xB0, 0x12, 0xA2, 0xB0, 0xB2, 0x0D, 0x43, 0x80, 0xA0, 0x57, 0x00, + 0x05, 0xB0, 0x35, 0x4C, 0x80, 0xA4, 0xE5, 0xB4, 0x31, 0x45, 0x80, 0xA2, 0x98, 0xB2, 0x2D, 0x01, + 0xAF, 0x01, 0xA1, 0x57, 0xB1, 0x11, 0xA0, 0x57, 0xB0, 0x15, 0xA4, 0xE5, 0xB4, 0x11, 0xA2, 0x98, + 0xB2, 0x0D, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x87, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, + 0x01, 0xB9, 0x01, 0xA1, 0x81, 0xB1, 0x0D, 0x4C, 0x80, 0xA4, 0x02, 0xB4, 0x32, 0x4D, 0x80, 0xA5, + 0x87, 0xB5, 0x2E, 0x01, 0xBF, 0x01, 0xA4, 0x02, 0xB4, 0x12, 0xA5, 0x87, 0xB5, 0x0E, 0x44, 0x80, + 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xB4, 0x01, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0x02, 0xB4, + 0x32, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x01, 0xBF, 0x01, 0xA0, 0x87, 0xB0, 0x12, 0xA4, 0x02, + 0xB4, 0x12, 0xA5, 0x87, 0xB5, 0x0E, 0x43, 0x80, 0xA0, 0xCA, 0x00, 0x05, 0xB0, 0x31, 0x4C, 0x80, + 0xA4, 0x57, 0xB4, 0x31, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, 0x00, 0xD4, 0xA0, 0xCA, 0xB0, 0x11, + 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0xE4, 0xA4, 0x57, 0xB4, 0x11, 0xA1, 0x81, 0xB1, 0x0D, + 0x00, 0xDA, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0xCA, 0xB0, 0x31, 0x00, 0xD9, 0xA0, 0xCA, + 0xB0, 0x11, 0x43, 0x80, 0xA0, 0x81, 0xB0, 0x31, 0x4C, 0x80, 0xA4, 0x87, 0xB4, 0x2E, 0x00, 0x05, + 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xB9, 0x01, 0xA0, 0x81, 0xB0, 0x11, 0xA4, 0x87, 0xB4, + 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0x43, 0x80, 0xA0, 0x87, 0x00, 0x05, 0xB0, 0x32, 0x01, 0xB9, 0x01, + 0xA0, 0x87, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x44, 0x80, 0xA1, 0x81, 0xB1, 0x2D, + 0x01, 0xB5, 0x01, 0xA0, 0x41, 0xB0, 0x12, 0xA1, 0x81, 0xB1, 0x0D, 0x43, 0x80, 0xA0, 0x02, 0xB0, + 0x32, 0x4C, 0x80, 0xA4, 0xCA, 0x00, 0x05, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x01, + 0xB9, 0x01, 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0xBE, 0x01, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, + 0x87, 0xB5, 0x0E, 0xA1, 0x02, 0xB1, 0x0A, 0x4C, 0x80, 0xA4, 0xCA, 0x00, 0x05, 0xB4, 0x31, 0x4D, + 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x01, 0xAF, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, 0x11, + 0xA5, 0x87, 0xB5, 0x0E, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x00, 0x05, 0x4C, 0x80, 0xA4, 0xCA, + 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x57, 0xB5, 0x31, 0x44, 0x80, 0xA1, 0x81, 0x00, 0x05, 0xB1, 0x2D, + 0x01, 0xB3, 0x01, 0xA0, 0x02, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, 0x01, + 0xA0, 0x41, 0xB0, 0x12, 0x43, 0x80, 0xA0, 0x02, 0xB0, 0x32, 0x01, 0xB4, 0x01, 0xA0, 0x02, 0xB0, + 0x12, 0x43, 0x80, 0xA0, 0x41, 0xB0, 0x32, 0x01, 0xBF, 0x01, 0xA4, 0xCA, 0xB4, 0x11, 0xA5, 0x57, + 0xB5, 0x11, 0xA1, 0x81, 0xB1, 0x0D, 0xA0, 0x41, 0xB0, 0x12, 0x00, 0x05, 0x43, 0x80, 0xA0, 0x02, + 0xB0, 0x32, 0x4C, 0x80, 0xA4, 0xCA, 0xB4, 0x31, 0x4D, 0x80, 0xA5, 0x87, 0xB5, 0x2E, 0x00, 0x05, + 0x44, 0x80, 0xA1, 0x02, 0xB1, 0x2A, 0x01, 0x68, 0x03, 0xA0, 0x02, 0xB0, 0x12, 0xA4, 0xCA, 0xB4, + 0x11, 0xA5, 0x87, 0xB5, 0x0E, 0x43, 0x80, 0xA0, 0x81, 0x00, 0x05, 0xB0, 0x35, 0x4C, 0x80, 0xA4, + 0x87, 0xB4, 0x32, 0x4D, 0x80, 0xA5, 0xCA, 0xB5, 0x31, 0x01, 0x79, 0x03, 0xA1, 0x02, 0xB1, 0x0A, + 0xA0, 0x81, 0xB0, 0x15, 0xA4, 0x87, 0xB4, 0x12, 0xA5, 0xCA, 0xB5, 0x11, 0x00, 0x05, 0x43, 0x80, + 0xA0, 0x57, 0xB0, 0x35, 0x4C, 0x80, 0xA4, 0x41, 0xB4, 0x32, 0x01, 0x2E, 0x05, 0xA0, 0x57, 0xB0, + 0x15, 0xA4, 0x41, 0xB4, 0x12, 0x85, 0x13, 0x84, 0x13, 0x83, 0x13, 0x82, 0x13, 0x00, 0x05, 0x81, + 0x13, 0x80, 0x13, 0xBD, 0xE0, 0x90, 0xFF, 0x91, 0xFF, 0x92, 0xFF, 0x93, 0xFF, 0x94, 0xFF, 0x95, + 0xFF}; + +// clyde1_1.dro - Clyde's Adventure: Castle 1-3 +const unsigned char clyde1_1_dro[0x1DF3] = +{ 0x44, 0x42, 0x52, 0x41, 0x57, 0x4F, 0x50, 0x4C, 0x00, 0x00, 0x01, 0x00, 0xBC, 0xB7, 0x01, 0x00, + 0xDB, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x40, 0x4F, 0xC0, 0x06, + 0x60, 0xF1, 0x80, 0x51, 0x20, 0x01, 0xE0, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x41, 0x4F, 0xC1, 0x06, + 0x61, 0xF1, 0x81, 0x51, 0x21, 0x01, 0xE1, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x42, 0x4F, 0xC2, 0x06, + 0x62, 0xF1, 0x82, 0x51, 0x22, 0x01, 0xE2, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x43, 0x00, 0x63, 0xF1, + 0x83, 0x71, 0x23, 0x11, 0xE3, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x44, 0x00, 0x64, 0xF1, 0x84, 0x71, + 0x24, 0x11, 0xE4, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x45, 0x00, 0x65, 0xF1, 0x85, 0x71, 0x25, 0x11, + 0xE5, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x48, 0x4F, 0xC3, 0x06, 0x68, 0xF1, 0x88, 0x51, 0x28, 0x01, + 0xE8, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x49, 0x4F, 0xC4, 0x06, 0x69, 0xF1, 0x89, 0x51, 0x29, 0x01, + 0xE9, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4A, 0x4F, 0xC5, 0x06, 0x6A, 0xF1, 0x8A, 0x51, 0x2A, 0x01, + 0xEA, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4B, 0x00, 0x6B, 0xF1, 0x8B, 0x71, 0x2B, 0x11, 0xEB, 0x00, + 0xBD, 0x00, 0x08, 0x00, 0x4C, 0x00, 0x6C, 0xF1, 0x8C, 0x71, 0x2C, 0x11, 0xEC, 0x00, 0x10, 0x05, + 0xBD, 0x00, 0x08, 0x00, 0x4D, 0x00, 0x6D, 0xF1, 0x8D, 0x71, 0x2D, 0x11, 0xED, 0x00, 0xBD, 0x00, + 0x08, 0x00, 0x50, 0x4F, 0xC6, 0x06, 0x70, 0xF1, 0x90, 0x51, 0x30, 0x01, 0xF0, 0x00, 0xBD, 0x00, + 0x08, 0x00, 0x51, 0x4F, 0xC7, 0x06, 0x71, 0xF1, 0x91, 0x51, 0x31, 0x01, 0xF1, 0x00, 0xBD, 0x00, + 0x08, 0x00, 0x52, 0x4F, 0xC8, 0x06, 0x72, 0xF1, 0x92, 0x51, 0x32, 0x01, 0xF2, 0x00, 0xBD, 0x00, + 0x08, 0x00, 0x53, 0x00, 0x73, 0xF1, 0x93, 0x71, 0x33, 0x11, 0xF3, 0x00, 0xBD, 0x00, 0x08, 0x00, + 0x54, 0x00, 0x74, 0xF1, 0x94, 0x71, 0x34, 0x11, 0xF4, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x55, 0x00, + 0x75, 0xF1, 0x95, 0x71, 0x35, 0x11, 0xF5, 0x00, 0xBD, 0x00, 0xBD, 0x00, 0x08, 0x00, 0xA0, 0x00, + 0xB0, 0x00, 0xA1, 0x00, 0xB1, 0x00, 0xA2, 0x00, 0xB2, 0x00, 0xA3, 0x00, 0xB3, 0x00, 0xA4, 0x00, + 0xB4, 0x00, 0xA5, 0x00, 0xB5, 0x00, 0xA6, 0x00, 0xB6, 0x00, 0xA7, 0x00, 0xB7, 0x00, 0xA8, 0x00, + 0xB8, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE5, 0x00, 0xE8, 0x00, + 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF2, 0x00, + 0xF3, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0x04, 0x01, 0x20, 0x10, 0x31, 0xBD, 0x00, 0x08, 0x00, 0x40, + 0x4F, 0xC0, 0x06, 0x60, 0xF1, 0x80, 0x51, 0x20, 0x01, 0xE0, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x41, + 0x4F, 0xC1, 0x06, 0x61, 0xF1, 0x81, 0x51, 0x21, 0x01, 0xE1, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x42, + 0x4F, 0xC2, 0x06, 0x62, 0xF1, 0x82, 0x51, 0x22, 0x01, 0xE2, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x43, + 0x00, 0x63, 0xF1, 0x83, 0x71, 0x23, 0x11, 0xE3, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x44, 0x00, 0x64, + 0xF1, 0x84, 0x71, 0x24, 0x11, 0xE4, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x45, 0x00, 0x65, 0xF1, 0x85, + 0x71, 0x25, 0x11, 0xE5, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x48, 0x4F, 0xC3, 0x06, 0x68, 0xF1, 0x88, + 0x51, 0x28, 0x01, 0xE8, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x49, 0x4F, 0xC4, 0x06, 0x69, 0xF1, 0x89, + 0x51, 0x29, 0x01, 0xE9, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4A, 0x4F, 0xC5, 0x06, 0x6A, 0xF1, 0x8A, + 0x51, 0x2A, 0x01, 0xEA, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4B, 0x00, 0x6B, 0xF1, 0x8B, 0x71, 0x2B, + 0x11, 0x10, 0x05, 0xEB, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4C, 0x00, 0x6C, 0xF1, 0x8C, 0x71, 0x2C, + 0x11, 0xEC, 0x00, 0xBD, 0x00, 0x08, 0x00, 0x4D, 0x00, 0x6D, 0xF1, 0x8D, 0x71, 0x2D, 0x11, 0xED, + 0x00, 0xBD, 0x00, 0x08, 0x00, 0x50, 0x4F, 0xC6, 0x06, 0x70, 0xF1, 0x90, 0x51, 0x30, 0x01, 0xF0, + 0x00, 0xBD, 0x00, 0x08, 0x00, 0x51, 0x4F, 0xC7, 0x06, 0x71, 0xF1, 0x91, 0x51, 0x31, 0x01, 0xF1, + 0x00, 0xBD, 0x00, 0x08, 0x00, 0x52, 0x4F, 0xC8, 0x06, 0x72, 0xF1, 0x92, 0x51, 0x32, 0x01, 0xF2, + 0x00, 0xBD, 0x00, 0x08, 0x00, 0x53, 0x00, 0x73, 0xF1, 0x93, 0x71, 0x33, 0x11, 0xF3, 0x00, 0xBD, + 0x00, 0x08, 0x00, 0x54, 0x00, 0x74, 0xF1, 0x94, 0x71, 0x34, 0x11, 0xF4, 0x00, 0xBD, 0x00, 0x08, + 0x00, 0x55, 0x00, 0x75, 0xF1, 0x95, 0x71, 0x35, 0x11, 0xF5, 0x00, 0xBD, 0x00, 0xBD, 0x00, 0x08, + 0x00, 0xA0, 0x00, 0xB0, 0x00, 0xA1, 0x00, 0xB1, 0x00, 0xA2, 0x00, 0xB2, 0x00, 0xA3, 0x00, 0xB3, + 0x00, 0xA4, 0x00, 0xB4, 0x00, 0xA5, 0x00, 0xB5, 0x00, 0xA6, 0x00, 0xB6, 0x00, 0xA7, 0x00, 0xB7, + 0x00, 0xA8, 0x00, 0xB8, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00, 0xE5, + 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0x10, 0x05, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xF0, + 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00, 0xF5, 0x00, 0x04, 0x01, 0x20, 0xA6, 0x00, + 0xB6, 0x00, 0xA7, 0x00, 0xB7, 0x00, 0xA8, 0x00, 0xB8, 0x00, 0xA8, 0x57, 0xB8, 0x09, 0xA7, 0x03, + 0xB7, 0x0A, 0xBD, 0x20, 0x08, 0x00, 0x40, 0x4F, 0xC0, 0x06, 0x60, 0xF1, 0x80, 0x51, 0x20, 0x01, + 0xE0, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x41, 0x4F, 0xC1, 0x06, 0x61, 0xF1, 0x81, 0x51, 0x21, 0x01, + 0xE1, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x42, 0x4F, 0xC2, 0x06, 0x62, 0xF1, 0x82, 0x51, 0x22, 0x01, + 0xE2, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x43, 0x00, 0x63, 0xF1, 0x83, 0x71, 0x23, 0x11, 0xE3, 0x00, + 0xBD, 0x20, 0x08, 0x00, 0x44, 0x00, 0x64, 0xF1, 0x84, 0x71, 0x24, 0x11, 0xE4, 0x00, 0xBD, 0x20, + 0x08, 0x00, 0x45, 0x00, 0x65, 0xF1, 0x85, 0x71, 0x25, 0x11, 0xE5, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x48, 0x4F, 0xC3, 0x06, 0x68, 0xF1, 0x88, 0x51, 0x28, 0x01, 0xE8, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x49, 0x4F, 0xC4, 0x06, 0x69, 0xF1, 0x89, 0x51, 0x29, 0x01, 0xE9, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x4A, 0x4F, 0xC5, 0x06, 0x6A, 0xF1, 0x8A, 0x51, 0x10, 0x05, 0x2A, 0x01, 0xEA, 0x00, 0xBD, 0x20, + 0x08, 0x00, 0x4B, 0x00, 0x6B, 0xF1, 0x8B, 0x71, 0x2B, 0x11, 0xEB, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x4C, 0x00, 0x6C, 0xF1, 0x8C, 0x71, 0x2C, 0x11, 0xEC, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x4D, 0x00, + 0x6D, 0xF1, 0x8D, 0x71, 0x2D, 0x11, 0xED, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x50, 0x4F, 0xC6, 0x06, + 0x70, 0xF1, 0x90, 0x51, 0x30, 0x01, 0xF0, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x51, 0x4F, 0xC7, 0x06, + 0x71, 0xF1, 0x91, 0x51, 0x31, 0x01, 0xF1, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x52, 0x4F, 0xC8, 0x06, + 0x72, 0xF1, 0x92, 0x51, 0x32, 0x01, 0xF2, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x53, 0x00, 0x73, 0xF1, + 0x93, 0x71, 0x33, 0x11, 0xF3, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x54, 0x00, 0x74, 0xF1, 0x94, 0x71, + 0x34, 0x11, 0xF4, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x55, 0x00, 0x75, 0xF1, 0x95, 0x71, 0x35, 0x11, + 0xF5, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x50, 0x0B, 0xC6, 0x00, 0x70, 0xA8, 0x90, 0x4C, 0x30, 0x00, + 0xF0, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x53, 0x00, 0x10, 0x05, 0x73, 0xD6, 0x93, 0x4F, 0x33, 0x00, + 0xF3, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x54, 0x00, 0x74, 0xF8, 0x94, 0xB5, 0x34, 0x0C, 0xF4, 0x00, + 0xBD, 0x20, 0x08, 0x00, 0x52, 0x00, 0xC8, 0x01, 0x72, 0xF7, 0x92, 0xB5, 0x32, 0x04, 0xF2, 0x00, + 0xBD, 0x20, 0x08, 0x00, 0x55, 0x00, 0x75, 0xF5, 0x95, 0xB5, 0x35, 0x01, 0xF5, 0x00, 0xBD, 0x20, + 0x08, 0x00, 0x51, 0x00, 0xC7, 0x01, 0x71, 0xF7, 0x91, 0xB5, 0x31, 0x01, 0xF1, 0x00, 0xBD, 0x20, + 0xBD, 0x20, 0x08, 0x00, 0x41, 0x00, 0xC1, 0x00, 0x61, 0x70, 0x81, 0x04, 0x21, 0x00, 0xE1, 0x01, + 0xBD, 0x20, 0x08, 0x00, 0x44, 0x00, 0x64, 0x70, 0x84, 0x04, 0x24, 0x03, 0xE4, 0x00, 0xBD, 0x20, + 0x08, 0x00, 0x42, 0x00, 0xC2, 0x01, 0x62, 0x80, 0x82, 0x06, 0x22, 0x0F, 0xE2, 0x00, 0xBD, 0x20, + 0x08, 0x00, 0x45, 0x00, 0x65, 0x80, 0x85, 0x06, 0x25, 0x0F, 0xE5, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x48, 0x00, 0xC3, 0x06, 0x68, 0x10, 0x88, 0x02, 0x28, 0x10, 0xE8, 0x00, 0xBD, 0x20, 0x08, 0x00, + 0x4B, 0x00, 0x6B, 0x40, 0x8B, 0x02, 0x2B, 0x01, 0xEB, 0x00, 0x4C, 0x0B, 0x53, 0x0B, 0x54, 0x0B, + 0x01, 0x01, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x49, 0x00, 0xC4, 0x00, 0x69, 0xA0, 0x89, 0x04, 0x29, + 0x00, 0xE9, 0x00, 0xBD, 0x20, 0x08, 0x00, 0x4C, 0x0B, 0x6C, 0xA0, 0x8C, 0x04, 0x2C, 0x00, 0xEC, + 0x00, 0x00, 0x54, 0xBD, 0x20, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x30, 0xA4, 0x57, 0xB4, 0x01, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0x81, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0x8A, 0xB4, 0x2E, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, 0x8A, 0xB4, + 0x2E, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0x6D, 0xBD, 0x38, 0x08, 0x00, 0x49, 0x00, 0xC4, 0x01, 0x69, 0xD0, 0x89, 0x04, 0x29, + 0x01, 0xE9, 0x00, 0xBD, 0x38, 0x08, 0x00, 0x4C, 0x0B, 0x6C, 0xD0, 0x8C, 0x04, 0x2C, 0x02, 0xEC, + 0x00, 0x00, 0x6D, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0x81, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0x8A, 0xB4, 0x2E, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, 0x8A, 0xB4, + 0x2E, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0x6D, 0xBD, 0x38, 0x08, 0x00, 0x49, 0x07, 0xC4, 0x05, 0x69, 0x80, 0x89, 0x04, 0x29, + 0x01, 0xE9, 0x01, 0xBD, 0x38, 0x08, 0x00, 0x4C, 0x0B, 0x6C, 0x60, 0x8C, 0x02, 0x2C, 0x01, 0xEC, + 0x00, 0x00, 0x6D, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0x81, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0x8A, 0xB4, 0x2E, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, 0x8A, 0xB4, + 0x2E, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0x6D, 0xBD, 0x38, 0x08, 0x00, 0x49, 0x00, 0xC4, 0x00, 0x69, 0xA0, 0x89, 0x04, 0x29, + 0x00, 0xE9, 0x00, 0xBD, 0x38, 0x08, 0x00, 0x4C, 0x0B, 0x6C, 0xA0, 0x8C, 0x04, 0x2C, 0x00, 0xEC, + 0x00, 0x00, 0x6D, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0x81, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0x8A, 0xB4, 0x2E, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, 0x8A, 0xB4, + 0x2E, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x8A, 0xB4, 0x0E, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x03, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x43, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, + 0x43, 0xB4, 0x32, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x43, 0xB4, 0x12, 0xA4, 0x03, 0xB4, + 0x32, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x03, 0xB4, 0x12, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x57, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, + 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, 0x81, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x81, 0xB4, 0x11, 0xA4, + 0xCB, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, 0xCB, 0xB4, + 0x31, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xCB, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDB, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0xB1, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31, 0x00, 0xDA, 0xBD, 0x30, 0xBD, 0x38, 0xA4, 0xB1, 0xB4, 0x11, 0xA4, 0x57, 0xB4, + 0x31, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDA, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDA, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0xDB, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0x00, 0xDB, 0xBD, 0x30, 0xBD, + 0x38, 0x00, 0x6C, 0xBD, 0x38, 0x08, 0x00, 0x49, 0x00, 0xC4, 0x01, 0x69, 0xD0, 0x89, 0x04, 0x29, + 0x01, 0xE9, 0x00, 0xBD, 0x38, 0x08, 0x00, 0x4C, 0x0B, 0x6C, 0xD0, 0x8C, 0x04, 0x2C, 0x02, 0xEC, + 0x00, 0x00, 0x6D, 0xBD, 0x28, 0xA6, 0x57, 0xB6, 0x05, 0xBD, 0x38, 0xA4, 0x57, 0xB4, 0x11, 0xA4, + 0xB1, 0xB4, 0x31}; diff --git a/src/XMasFiles/clyde1_1.dro b/src/XMasFiles/clyde1_1.dro new file mode 100644 index 0000000000000000000000000000000000000000..7e3ab4d97584761a26da0ef21d39cbde9e73a49a GIT binary patch literal 7667 zcmd^DTWpj?6h714u9q6=`fgGX5)dTimh_QQOh9Y4+t&0IP!p?=bV1)+goK+3*LTzk zJc@3C2R9L{K*9@8KFAB#1Sll@T!N3DGiT?_%s;dHcSVdB5|Vy1|ID24obQ|S|GRe0 zVDCt2pdUcNkEaz}c^&k>8oUUrOFtDhB;(~SbrlHrmd+M7CKKhk>YB!DO6LljlI`Vr z>bk~#@ImrL<&EMEjn=}4$&SkW;!Ta-hL4h+l?BCH8m%k+T=+QIRbHrWYrMWRT^LPv zmlvr!8oyKerSM6zr~Ib6tMR+=X|lJnxHzLxKWt9+RhAU*L1#O~^&V_VzO1}eysu{m zO6Ln>$^LS;dZ2N+bfHj54wRRvMB~BI#lqI)V0pQEsPPbNOAb|56d!3c44);3D=UkS zHF_UDPmWYp6`vrYla9i7@D-edui<<627Z7^sKU1}1;^kN9Ea0z0?xoyxCYnZ2Hb>O za2xKxU6_G;a33B(0uSL4JccKbS6!XU{+TK6Y)>co-;iR8I+A3!E+e6D_=oZAR2^=YU|U3 zQ_J({AjG)WlOt2B6uJaa87`>G(*sl5Z(TIf3uj^D*hGFVTvLQGe`7oH^K*DJAX)?G z)TZ(6g?V%E7D0^p9N$@3Fb8i6MC$-=iq2ha3p??qK#bX1y|-<#nt}d~p^o7WrS$N6 zn1<1#yYq|CaP(Mz$L6E^@=H(?FkI_8Hgc-H);&2=Rg)*H%iyn!^9+*nWS-BZc`qIvi68F-MsL?oAOo7` z^@dL@E^l9s$L_=H9nA4k9^!m#yv(kihv&d&#N}Jh;|Q|$$8|jEdIWrEU6{X1lD|th zPe}5ID4k!14hLt%t?SPfAYB^$*!XB9jNj^m;wQ#jPf|N&6*Qk97U?x-ft25YmhBi{&$0zu5do;!Veq zrK8Mw(HGY@cz#Q*2ir7EtI^BYKj;M%G4_wk*gx8^e{3=Lyv|57KQJ%j2gytQ+>AJy z=*Q}VZv%7x7)4oqk$&Xd27Zt@&>gY+OV-zY(uhy$IeRYi6+ZSn6Yt;0C!#O$gTz&@ zPZl53KV+TGU)KHW>xFM0Q@?os$cUqfKT`LSRG?YDv;53A0QueY51)V7KO}zLQGEX1 z{pRSz(=F>Rt*10^hn>l1TwgZcaNavt{9^B?@c#Sj_(+}{pY?hE4dbQx=gG(S3+Ey1 zA1R&1{nMm>upS%t51W6^wyAIE7m8Q%5sxF#Q7Z4je5?C$|9D}#eRN#+4^{6U8}_v= zQPKWk`FZ-|__YdYyu~=g53)|)KbrZU6=&Wry>rD6y#D|5K4tkv^d*`XXANCQAQuE7UM^{pThp<#~=0&$(!ydVgIn}v%WvrN4fg6(Bz~?jN>Zv|je-d`9?0<9GP6KFE!Io^zNx{lm_i{$cqOKbcSIOLV~F&T}bV&bqk1_&lpNlW#j>^5NxM{Nn3N;*H$5 z&G^W=XZC+7(v5 literal 0 HcmV?d00001 diff --git a/src/XMasFiles/lem_xmas_001_jb.dro b/src/XMasFiles/lem_xmas_001_jb.dro new file mode 100644 index 0000000000000000000000000000000000000000..1e1e432e1b24b67319276485efbdfbd36f047e3d GIT binary patch literal 12544 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 v_|A|XOt+^$yz}<@!ur|ubL;2V-&y|;OV}ZK literal 0 HcmV?d00001 diff --git a/src/chips/2151intf.c b/src/chips/2151intf.c index cf06905..42bdbd8 100644 --- a/src/chips/2151intf.c +++ b/src/chips/2151intf.c @@ -7,6 +7,7 @@ ***************************************************************************/ #include "mamedef.h" +#include // for NULL //#include "sndintrf.h" //#include "streams.h" #include "fm.h" @@ -14,8 +15,6 @@ #include "ym2151.h" -#define NULL ((void *)0) - typedef struct _ym2151_state ym2151_state; struct _ym2151_state { diff --git a/src/chips/2203intf.c b/src/chips/2203intf.c index 809ed6a..146c46d 100644 --- a/src/chips/2203intf.c +++ b/src/chips/2203intf.c @@ -1,6 +1,6 @@ #include -#include // for memset -#include // for free +#include // for free +#include // for memset #include // for NULL #include "mamedef.h" //#include "sndintrf.h" @@ -422,6 +422,25 @@ void ym2203_set_mute_mask(UINT8 ChipID, UINT32 MuteMaskFM, UINT32 MuteMaskAY) } } +void ym2203_set_stereo_mask_ay(UINT8 ChipID, UINT32 StereoMaskAY) +{ + ym2203_state *info = &YM2203Data[ChipID]; + if (info->psg != NULL) + { + switch(AY_EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + ay8910_set_stereo_mask_ym(info->psg, StereoMaskAY); + break; +#endif + case EC_EMU2149: + PSG_setStereoMask((PSG*)info->psg, StereoMaskAY); + break; + } + } +} + void ym2203_set_srchg_cb(UINT8 ChipID, SRATE_CALLBACK CallbackFunc, void* DataPtr, void* AYDataPtr) { ym2203_state *info = &YM2203Data[ChipID]; diff --git a/src/chips/2203intf.h b/src/chips/2203intf.h index 7ea725f..ceac8b8 100644 --- a/src/chips/2203intf.h +++ b/src/chips/2203intf.h @@ -41,4 +41,5 @@ void ym2203_write_port_w(UINT8 ChipID, offs_t offset, UINT8 data); void ym2203_set_ay_emu_core(UINT8 Emulator); void ym2203_set_mute_mask(UINT8 ChipID, UINT32 MuteMaskFM, UINT32 MuteMaskAY); +void ym2203_set_stereo_mask_ay(UINT8 ChipID, UINT32 StereoMaskAY); void ym2203_set_srchg_cb(UINT8 ChipID, SRATE_CALLBACK CallbackFunc, void* DataPtr, void* AYDataPtr); diff --git a/src/chips/2413intf.c b/src/chips/2413intf.c index e696e06..d785c94 100644 --- a/src/chips/2413intf.c +++ b/src/chips/2413intf.c @@ -5,6 +5,7 @@ ****************************************************************/ #include "mamedef.h" +#include // for NULL //#include "sndintrf.h" //#include "streams.h" #ifdef ENABLE_ALL_CORES @@ -18,8 +19,6 @@ #endif #define EC_EMU2413 0x00 // EMU2413 core from in_vgm, value 0 because it's better than MAME -#define NULL ((void *)0) - /* for stream system */ typedef struct _ym2413_state ym2413_state; struct _ym2413_state diff --git a/src/chips/2608intf.c b/src/chips/2608intf.c index c8a242e..0bf57f9 100644 --- a/src/chips/2608intf.c +++ b/src/chips/2608intf.c @@ -11,8 +11,8 @@ ***************************************************************************/ -#include // for memset -#include // for free +#include // for free +#include // for memset #include // for NULL #include "mamedef.h" //#include "sndintrf.h" diff --git a/src/chips/2610intf.c b/src/chips/2610intf.c index c782e90..b4e4f1a 100644 --- a/src/chips/2610intf.c +++ b/src/chips/2610intf.c @@ -11,8 +11,8 @@ ***************************************************************************/ -#include // for memset -#include // for free +#include // for free +#include // for memset #include // for NULL #include "mamedef.h" //#include "sndintrf.h" @@ -21,10 +21,10 @@ #include "fm.h" -#define EC_MAME 0x01 // AY8910 core from MAME #ifdef ENABLE_ALL_CORES -#define EC_EMU2149 0x00 +#define EC_MAME 0x01 // AY8910 core from MAME #endif +#define EC_EMU2149 0x00 typedef struct _ym2610_state ym2610_state; struct _ym2610_state diff --git a/src/chips/2612intf.c b/src/chips/2612intf.c index c3d4147..3ba2fb5 100644 --- a/src/chips/2612intf.c +++ b/src/chips/2612intf.c @@ -11,7 +11,7 @@ ***************************************************************************/ -#include +#include #include // for NULL #include "mamedef.h" //#include "sndintrf.h" @@ -22,8 +22,8 @@ #include "2612intf.h" #ifdef ENABLE_ALL_CORES #include "ym2612.h" +#include "ym3438.h" #endif - #ifdef EMSCRIPTEN #include #endif @@ -31,7 +31,8 @@ #define EC_MAME 0x00 // YM2612 core from MAME (now fixed, so it isn't worse than Gens anymore) #ifdef ENABLE_ALL_CORES -#define EC_GENS 0x01 // Gens YM2612 core from in_vgm +#define EC_GENS 0x02 // Gens YM2612 core from in_vgm +#define EC_NUKED 0x01 // Nuked YM3438/YM2612 core #endif typedef struct _ym2612_state ym2612_state; @@ -118,6 +119,8 @@ void ym2612_update_request(void *param) YM2612_Update(info->chip, DUMMYBUF, 0); YM2612_DacAndTimers_Update(info->chip, DUMMYBUF, 0); break; + case EC_NUKED: + break; #endif } } @@ -151,6 +154,9 @@ void ym2612_stream_update(UINT8 ChipID, stream_sample_t **outputs, int samples) outputs[0x01][i] = (stream_sample_t)GensBuf[0x01][i]; } break; + case EC_NUKED: + OPN2_GenerateStream(info->chip, outputs, samples); + break; #endif } } @@ -172,13 +178,17 @@ int device_start_ym2612(UINT8 ChipID, int clock) //ym2612_state *info = get_safe_token(device); ym2612_state *info; int rate; + int chiptype; if (ChipID >= MAX_CHIPS) return 0; + chiptype = clock&0x80000000; + clock&=0x3fffffff; + info = &YM2612Data[ChipID]; rate = clock/72; - if (EMU_CORE == EC_MAME && ! (ChipFlags & 0x02)) + if (! (EMU_CORE == EC_MAME && (ChipFlags & 0x04))) // if not ("double rate" required) rate /= 2; if ((CHIP_SAMPLING_MODE == 0x01 && rate < CHIP_SAMPLE_RATE) || CHIP_SAMPLING_MODE == 0x02) @@ -212,6 +222,11 @@ int device_start_ym2612(UINT8 ChipID, int clock) info->chip = YM2612_Init(clock, rate, 0x00); YM2612_SetMute(info->chip, 0x80); // Disable SSG-EG break; + case EC_NUKED: + info->chip = malloc(sizeof(ym3438_t)); + if(chiptype) + OPN2_SetChipType(ym3438_type_discrete); + OPN2_Reset(info->chip, rate, clock); #endif } //assert_always(info->chip != NULL, "Error creating YM2612 chip"); @@ -243,6 +258,9 @@ void device_stop_ym2612(UINT8 ChipID) GensBuf[0x01] = NULL; } break; + case EC_NUKED: + free(info->chip); + break; #endif } } @@ -261,6 +279,9 @@ void device_reset_ym2612(UINT8 ChipID) case EC_GENS: YM2612_Reset(info->chip); break; + case EC_NUKED: + OPN2_Reset(info->chip, 0, 0); + break; #endif } } @@ -278,6 +299,8 @@ UINT8 ym2612_r(UINT8 ChipID, offs_t offset) #ifdef ENABLE_ALL_CORES case EC_GENS: return YM2612_Read(info->chip); + case EC_NUKED: + return OPN2_Read(info->chip, offset); #endif default: return 0x00; @@ -298,6 +321,9 @@ void ym2612_w(UINT8 ChipID, offs_t offset, UINT8 data) case EC_GENS: YM2612_Write(info->chip, (unsigned char)(offset & 0x03), data); break; + case EC_NUKED: + OPN2_WriteBuffered(info->chip, offset, data); + break; #endif } } @@ -350,7 +376,7 @@ void ym2612_data_port_b_w(UINT8 ChipID, offs_t offset, UINT8 data) void ym2612_set_emu_core(UINT8 Emulator) { #ifdef ENABLE_ALL_CORES - EMU_CORE = (Emulator < 0x02) ? Emulator : 0x00; + EMU_CORE = (Emulator < 0x03) ? Emulator : 0x00; #else EMU_CORE = EC_MAME; #endif @@ -370,6 +396,9 @@ void ym2612_set_options(UINT8 Flags) case EC_GENS: YM2612_SetOptions(Flags); break; + case EC_NUKED: + OPN2_SetOptions(Flags); + break; #endif } @@ -388,6 +417,9 @@ void ym2612_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) case EC_GENS: YM2612_SetMute(info->chip, (int)MuteMask); break; + case EC_NUKED: + OPN2_SetMute(info->chip, MuteMask); + break; #endif } diff --git a/src/chips/3526intf.c b/src/chips/3526intf.c index b41715c..1748bd7 100644 --- a/src/chips/3526intf.c +++ b/src/chips/3526intf.c @@ -24,8 +24,6 @@ #include "3526intf.h" #include "fmopl.h" -#include - typedef struct _ym3526_state ym3526_state; struct _ym3526_state { diff --git a/src/chips/3812intf.c b/src/chips/3812intf.c index 99fddab..884a0a0 100644 --- a/src/chips/3812intf.c +++ b/src/chips/3812intf.c @@ -16,8 +16,7 @@ * NOTES * ******************************************************************************/ -#include - +#include // for NULL #include "mamedef.h" //#include "attotime.h" //#include "sndintrf.h" @@ -31,10 +30,6 @@ #define OPLTYPE_IS_OPL2 #include "adlibemu.h" -#ifndef EMSCRIPTEN -#define NULL ((void *)0) -#endif - #define EC_DBOPL 0x00 // DosBox OPL (AdLibEmu) #ifdef ENABLE_ALL_CORES diff --git a/src/chips/8950intf.c b/src/chips/8950intf.c index dcbf522..1d57abf 100644 --- a/src/chips/8950intf.c +++ b/src/chips/8950intf.c @@ -16,6 +16,7 @@ * NOTES * ******************************************************************************/ +#include // for NULL #include "mamedef.h" //#include "attotime.h" //#include "sndintrf.h" @@ -25,12 +26,6 @@ //#include "fm.h" #include "fmopl.h" -#include - -#ifndef EMSCRIPTEN -#define NULL ((void *)0) -#endif - typedef struct _y8950_state y8950_state; struct _y8950_state diff --git a/src/chips/ChipIncl.h b/src/chips/ChipIncl.h index dae6daa..e138e55 100644 --- a/src/chips/ChipIncl.h +++ b/src/chips/ChipIncl.h @@ -42,7 +42,7 @@ #include "c140.h" #include "k053260.h" #include "pokey.h" -#include "qsound.h" +#include "qsound_intf.h" #include "scsp.h" #include "ws_audio.h" #include "vsu.h" diff --git a/src/chips/Ootake_PSG.c b/src/chips/Ootake_PSG.c index 71da486..8efea12 100644 --- a/src/chips/Ootake_PSG.c +++ b/src/chips/Ootake_PSG.c @@ -49,8 +49,8 @@ Copyright(C)2006-2012 Kitao Nakamura. GNU General Public License for more details. ******************************************************************************/ #include -#include -#include +#include +#include // for memset #include #include "mamedef.h" #include "Ootake_PSG.h" @@ -59,9 +59,6 @@ Copyright(C)2006-2012 Kitao Nakamura. //#include "PRINTF.h" //Kitao追加 //#define PRINTF printf -#ifdef EMSCRIPTEN -#include -#endif #define N_CHANNEL 6 diff --git a/src/chips/Ootake_PSG.h b/src/chips/Ootake_PSG.h index 7bb6efc..96b1909 100644 --- a/src/chips/Ootake_PSG.h +++ b/src/chips/Ootake_PSG.h @@ -53,9 +53,9 @@ PSG_Mix( /*void PSG_SetSampleRate( - Uint32 sampleRate);* + Uint32 sampleRate); -/*void +void PSGDEBUG_ShowRegs();*/ Uint8 diff --git a/src/chips/ay8910.c b/src/chips/ay8910.c index 4a3e503..4f47f79 100644 --- a/src/chips/ay8910.c +++ b/src/chips/ay8910.c @@ -111,22 +111,17 @@ has twice the steps, happening twice as fast. ***************************************************************************/ +#include // for NULL #include "mamedef.h" //#include "sndintrf.h" //#include "streams.h" //#include "cpuintrf.h" //#include "cpuexec.h" -#include -#include +#include +#include // for memset #include #include "ay8910.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - /************************************* * * Defines @@ -1340,6 +1335,18 @@ void ay8910_set_mute_mask_ym(void *chip, UINT32 MuteMask) return; } +void ay8910_set_stereo_mask_ym(void *chip, UINT32 StereoMask) +{ + ay8910_context *psg = (ay8910_context *)chip; + UINT8 CurChn; + + for (CurChn = 0; CurChn < NUM_CHANNELS; CurChn ++) { + psg->StereoMask[CurChn] = StereoMask &3; + StereoMask >>= 2; + } + return; +} + /*void ay8910_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) { ay8910_context *psg = &AY8910Data[ChipID]; diff --git a/src/chips/ay8910.h b/src/chips/ay8910.h index 34aa139..e304c16 100644 --- a/src/chips/ay8910.h +++ b/src/chips/ay8910.h @@ -121,6 +121,7 @@ void device_stop_ay8910(UINT8 ChipID); void device_reset_ay8910(UINT8 ChipID);*/ void ay8910_set_mute_mask_ym(void *chip, UINT32 MuteMask); +void ay8910_set_stereo_mask_ym(void *chip, UINT32 StereoMask); //void ay8910_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); void ay8910_set_srchg_cb_ym(void *chip, SRATE_CALLBACK CallbackFunc, void* DataPtr); diff --git a/src/chips/ay8910_opl.c b/src/chips/ay8910_opl.c index fd2e9d6..fa94b04 100644 --- a/src/chips/ay8910_opl.c +++ b/src/chips/ay8910_opl.c @@ -1,10 +1,9 @@ +#include // for NULL #include "mamedef.h" #include "math.h" void OPL_RegMapper(UINT16 Reg, UINT8 Data); -#define NULL ((void *)0) - #define NUM_CHANNELS 3 /* register id's */ diff --git a/src/chips/ay_intf.c b/src/chips/ay_intf.c index 3a936b5..94224d0 100644 --- a/src/chips/ay_intf.c +++ b/src/chips/ay_intf.c @@ -4,8 +4,8 @@ ****************************************************************/ -#include // for memset -#include // for free +#include // for free +#include // for memset #include // for NULL #include "mamedef.h" //#include "sndintrf.h" @@ -168,3 +168,21 @@ void ayxx_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) return; } + +void ayxx_set_stereo_mask(UINT8 ChipID, UINT32 StereoMask) +{ + ayxx_state *info = &AYxxData[ChipID]; + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + ay8910_set_stereo_mask_ym(info->chip, StereoMask); + break; +#endif + case EC_EMU2149: + PSG_setStereoMask((PSG*)info->chip, StereoMask); + break; + } + + return; +} diff --git a/src/chips/ay_intf.h b/src/chips/ay_intf.h index fea338f..c341f04 100644 --- a/src/chips/ay_intf.h +++ b/src/chips/ay_intf.h @@ -10,3 +10,4 @@ void ayxx_w(UINT8 ChipID, offs_t offset, UINT8 data); void ayxx_set_emu_core(UINT8 Emulator); void ayxx_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); +void ayxx_set_stereo_mask(UINT8 ChipID, UINT32 StereoMask); diff --git a/src/chips/c140.c b/src/chips/c140.c index 01f5f27..8252400 100644 --- a/src/chips/c140.c +++ b/src/chips/c140.c @@ -44,17 +44,12 @@ Unmapped registers: //#include "emu.h" -#include -#include +#include +#include // for memset +#include // for NULL #include "mamedef.h" #include "c140.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - #define MAX_VOICE 24 struct voice_registers diff --git a/src/chips/c352.c b/src/chips/c352.c index f8df5fa..e6bffc9 100644 --- a/src/chips/c352.c +++ b/src/chips/c352.c @@ -1,7 +1,10 @@ +// license:BSD-3-Clause +// copyright-holders:R. Belmont, superctr /* c352.c - Namco C352 custom PCM chip emulation - v1.2 + v2.0 By R. Belmont + Rewritten and improved by superctr Additional code by cync and the hoot development team Thanks to Cap of VivaNonno for info and The_Author for preliminary reverse-engineering @@ -16,722 +19,411 @@ //#include "emu.h" //#include "streams.h" #include -#include -#include -#include // for NULL +#include +#include // for memset +#include // for NULL #include "mamedef.h" #include "c352.h" -#define VERBOSE (0) -#define LOG(x) do { if (VERBOSE) logerror x; } while (0) - -// flags - +#define C352_VOICES 32 enum { - C352_FLG_BUSY = 0x8000, // channel is busy - C352_FLG_KEYON = 0x4000, // Keyon - C352_FLG_KEYOFF = 0x2000, // Keyoff - C352_FLG_LOOPTRG = 0x1000, // Loop Trigger - C352_FLG_LOOPHIST = 0x0800, // Loop History - C352_FLG_FM = 0x0400, // Frequency Modulation - C352_FLG_PHASERL = 0x0200, // Rear Left invert phase 180 degrees - C352_FLG_PHASEFL = 0x0100, // Front Left invert phase 180 degrees - C352_FLG_PHASEFR = 0x0080, // invert phase 180 degrees (e.g. flip sign of sample) - C352_FLG_LDIR = 0x0040, // loop direction - C352_FLG_LINK = 0x0020, // "long-format" sample (can't loop, not sure what else it means) - C352_FLG_NOISE = 0x0010, // play noise instead of sample - C352_FLG_MULAW = 0x0008, // sample is mulaw instead of linear 8-bit PCM - C352_FLG_FILTER = 0x0004, // don't apply filter - C352_FLG_REVLOOP = 0x0003, // loop backwards - C352_FLG_LOOP = 0x0002, // loop forward - C352_FLG_REVERSE = 0x0001, // play sample backwards + C352_FLG_BUSY = 0x8000, // channel is busy + C352_FLG_KEYON = 0x4000, // Keyon + C352_FLG_KEYOFF = 0x2000, // Keyoff + C352_FLG_LOOPTRG = 0x1000, // Loop Trigger + C352_FLG_LOOPHIST = 0x0800, // Loop History + C352_FLG_FM = 0x0400, // Frequency Modulation + C352_FLG_PHASERL = 0x0200, // Rear Left invert phase 180 degrees + C352_FLG_PHASEFL = 0x0100, // Front Left invert phase 180 degrees + C352_FLG_PHASEFR = 0x0080, // invert phase 180 degrees (e.g. flip sign of sample) + C352_FLG_LDIR = 0x0040, // loop direction + C352_FLG_LINK = 0x0020, // "long-format" sample (can't loop, not sure what else it means) + C352_FLG_NOISE = 0x0010, // play noise instead of sample + C352_FLG_MULAW = 0x0008, // sample is mulaw instead of linear 8-bit PCM + C352_FLG_FILTER = 0x0004, // don't apply filter + C352_FLG_REVLOOP = 0x0003, // loop backwards + C352_FLG_LOOP = 0x0002, // loop forward + C352_FLG_REVERSE = 0x0001 // play sample backwards }; -typedef struct -{ - UINT8 vol_l; - UINT8 vol_r; - UINT8 vol_l2; - UINT8 vol_r2; - UINT8 bank; - UINT8 Muted; - - INT16 noise; - INT16 noisebuf; - UINT16 noisecnt; - UINT16 pitch; - UINT16 start_addr; - UINT16 end_addr; - UINT16 repeat_addr; - UINT32 flag; - - UINT16 start; - UINT16 repeat; - UINT32 current_addr; - UINT32 pos; -} c352_ch_t; - -typedef struct _c352_state c352_state; -struct _c352_state -{ - //sound_stream *stream; - c352_ch_t c352_ch[32]; - unsigned char *c352_rom_samples; - UINT32 c352_rom_length; - int sample_rate_base; - - /*long channel_l[2048*2]; - long channel_r[2048*2]; - long channel_l2[2048*2]; - long channel_r2[2048*2];*/ - - short mulaw_table[256]; - unsigned int mseq_reg; -}; +typedef struct { -#define MAX_CHIPS 0x02 -static c352_state C352Data[MAX_CHIPS]; + UINT32 pos; + UINT32 counter; -/*INLINE c352_state *get_safe_token(running_device *device) -{ - assert(device != NULL); - assert(device->type() == C352); - return (c352_state *)downcast(device)->token(); -}*/ + INT16 sample; + INT16 last_sample; -// noise generator -static int get_mseq_bit(c352_state *info) -{ - unsigned int mask = (1 << (7 - 1)); - unsigned int reg = info->mseq_reg; - unsigned int bit = reg & (1 << (17 - 1)); - - if (bit) - { - reg = ((reg ^ mask) << 1) | 1; - } - else - { - reg = reg << 1; - } - - info->mseq_reg = reg; - - return (reg & 1); -} + UINT16 vol_f; + UINT16 vol_r; + UINT8 curr_vol[4]; + UINT16 freq; + UINT16 flags; -/* ctr: this function gets the next sample for the lerp. If the sample position pointer is adjacent to the sample end pointer, - then lerping the sample with the "nextsample" variable causes clicks. To prevent this, simply check if the next sample is - the final sample and if so go to the beginning sample. - - If bidi samples causes problems, add a case for that as well. (they might) - */ -char getnextsample(c352_state *chip, c352_ch_t* c352ch, UINT32 pos) -{ - INT32 flag = c352ch->flag; - UINT32 bank = c352ch->bank << 16; - - if( flag & C352_FLG_REVERSE) - return (char) chip->c352_rom_samples[pos+1]; // todo: Bidi samples - - pos++; - if ( - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) < c352ch->start) && (c352ch->start > c352ch->end_addr) ) || - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) > c352ch->start) && (c352ch->start < c352ch->end_addr) ) || - ((pos > (bank|0xFFFF)) && (c352ch->end_addr == 0xFFFF)) - ) - { - if ( (flag & C352_FLG_LINK) && (flag & C352_FLG_LOOP) ) - pos = ((c352ch->start_addr & 0xFF)<<16) + c352ch->repeat_addr; - else if (flag & C352_FLG_LOOP) - pos = (pos & 0xFF0000) + c352ch->repeat; - else - { - // key off at this point, just return the previous value - return (char) chip->c352_rom_samples[pos-1]; - } - } - return (char) chip->c352_rom_samples[pos]; -} + UINT16 wave_bank; + UINT16 wave_start; + UINT16 wave_end; + UINT16 wave_loop; -static void c352_mix_one_channel(c352_state *info, unsigned long ch, stream_sample_t **outputs, long sample_count) -{ - c352_ch_t* c352ch; - int i; - - signed short sample, nextsample; - signed short noisebuf; - UINT16 noisecnt; - INT32 delta, offset, cnt, flag; - UINT32 bank; - UINT32 pos; - - c352ch = &info->c352_ch[ch]; - delta = c352ch->pitch; - - pos = c352ch->current_addr; // sample pointer - offset = c352ch->pos; // 16.16 fixed-point offset into the sample - flag = c352ch->flag; - bank = c352ch->bank << 16; - - noisecnt = c352ch->noisecnt; - noisebuf = c352ch->noisebuf; - - for(i = 0 ; (i < sample_count) && (flag & C352_FLG_BUSY) ; i++) - { - offset += delta; - cnt = (offset>>16)&0x7fff; - if (cnt) // if there is a whole sample part, chop it off now that it's been applied - { - offset &= 0xffff; - } - - if (pos >= info->c352_rom_length) // pretty sure this should be >= instead of > -Valley Bell - { - c352ch->flag &= ~C352_FLG_BUSY; - //return; - break; // ensure that it saves the variables - } - - sample = (char)info->c352_rom_samples[pos]; - //nextsample = (char)info->c352_rom_samples[pos+cnt]; - nextsample = getnextsample(info, c352ch, pos); - - // sample is muLaw, not 8-bit linear (Fighting Layer uses this extensively) - if (flag & C352_FLG_MULAW) - { - sample = info->mulaw_table[(unsigned char)sample]; - nextsample = info->mulaw_table[(unsigned char)nextsample]; - } - else - { - sample <<= 8; - nextsample <<= 8; - } - - // play noise instead of sample data - if (flag & C352_FLG_NOISE) - { - int noise_level = 0x8000; - sample = c352ch->noise = (c352ch->noise << 1) | get_mseq_bit(info); - sample = (sample & (noise_level - 1)) - (noise_level >> 1); - if (sample > 0x7f) - { - sample = 0x7f; - } - else if (sample < 0) - { - sample = 0xff; - } - sample = info->mulaw_table[(unsigned char)sample]; - - if ( (pos+cnt) == pos ) - { - noisebuf += sample; - noisecnt++; - //sample = noisebuf / noisecnt; - if (noisecnt) // avoid Divide By Zero crash -Valley Bell - sample = noisebuf / noisecnt; - else - sample = info->mulaw_table[0x7f]; - } - else - { - if ( noisecnt ) - { - sample = noisebuf / noisecnt; - } - else - { - sample = info->mulaw_table[0x7f]; // Nearest sound(s) is here. - } - noisebuf = 0; - noisecnt = ( flag & C352_FLG_FILTER ) ? 0 : 1; - } - } - - // apply linear interpolation - if ( (flag & (C352_FLG_FILTER | C352_FLG_NOISE)) == 0 ) - { - sample = (short)(sample + ((nextsample-sample) * (((double)(0x0000ffff&offset) )/0x10000))); - } - - if ( flag & C352_FLG_PHASEFL ) - { - //info->channel_l[i] += ((-sample * c352ch->vol_l)>>8); - outputs[0][i] += ((-sample * c352ch->vol_l)>>8); - } - else - { - //info->channel_l[i] += ((sample * c352ch->vol_l)>>8); - outputs[0][i] += ((sample * c352ch->vol_l)>>8); - } - - if ( flag & C352_FLG_PHASEFR ) - { - //info->channel_r[i] += ((-sample * c352ch->vol_r)>>8); - outputs[1][i] += ((-sample * c352ch->vol_r)>>8); - } - else - { - //info->channel_r[i] += ((sample * c352ch->vol_r)>>8); - outputs[1][i] += ((sample * c352ch->vol_r)>>8); - } - - if ( flag & C352_FLG_PHASERL ) - { - //info->channel_l2[i] += ((-sample * c352ch->vol_l2)>>8); - outputs[0][i] += ((-sample * c352ch->vol_l2)>>8); - } - else - { - //info->channel_l2[i] += ((sample * c352ch->vol_l2)>>8); - outputs[0][i] += ((sample * c352ch->vol_l2)>>8); - } - //info->channel_r2[i] += ((sample * c352ch->vol_r2)>>8); - outputs[1][i] += ((sample * c352ch->vol_r2)>>8); - - if ( (flag & C352_FLG_REVERSE) && (flag & C352_FLG_LOOP) ) - { - if ( !(flag & C352_FLG_LDIR) ) - { - pos += cnt; - if ( - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) < c352ch->start) && (c352ch->start > c352ch->end_addr) ) || - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) > c352ch->start) && (c352ch->start < c352ch->end_addr) ) || - ((pos > (bank|0xFFFF)) && (c352ch->end_addr == 0xFFFF)) - ) - { - c352ch->flag |= C352_FLG_LDIR; - c352ch->flag |= C352_FLG_LOOPHIST; - } - } - else - { - pos -= cnt; - if ( - (((pos&0xFFFF) < c352ch->repeat) && ((pos&0xFFFF) < c352ch->end_addr) && (c352ch->end_addr > c352ch->start) ) || - (((pos&0xFFFF) < c352ch->repeat) && ((pos&0xFFFF) > c352ch->end_addr) && (c352ch->end_addr < c352ch->start) ) || - ((pos < bank) && (c352ch->repeat == 0x0000)) - ) - { - c352ch->flag &= ~C352_FLG_LDIR; - c352ch->flag |= C352_FLG_LOOPHIST; - } - } - } - else if ( flag & C352_FLG_REVERSE ) - { - pos -= cnt; - if ( - (((pos&0xFFFF) < c352ch->end_addr) && ((pos&0xFFFF) < c352ch->start) && (c352ch->start > c352ch->end_addr) ) || - (((pos&0xFFFF) < c352ch->end_addr) && ((pos&0xFFFF) > c352ch->start) && (c352ch->start < c352ch->end_addr) ) || - ((pos < bank) && (c352ch->end_addr == 0x0000)) - ) - { - if ( (flag & C352_FLG_LINK) && (flag & C352_FLG_LOOP) ) - { - c352ch->bank = c352ch->start_addr & 0xFF; - c352ch->start_addr = c352ch->repeat_addr; - c352ch->start = c352ch->start_addr; - c352ch->repeat = c352ch->repeat_addr; - pos = (c352ch->bank<<16) + c352ch->start_addr; - c352ch->flag |= C352_FLG_LOOPHIST; - } - else if (flag & C352_FLG_LOOP) - { - pos = (pos & 0xFF0000) + c352ch->repeat; - c352ch->flag |= C352_FLG_LOOPHIST; - } - else - { - c352ch->flag |= C352_FLG_KEYOFF; - c352ch->flag &= ~C352_FLG_BUSY; - //return; - break; - } - } - } else { - pos += cnt; - if ( - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) < c352ch->start) && (c352ch->start > c352ch->end_addr) ) || - (((pos&0xFFFF) > c352ch->end_addr) && ((pos&0xFFFF) > c352ch->start) && (c352ch->start < c352ch->end_addr) ) || - ((pos > (bank|0xFFFF)) && (c352ch->end_addr == 0xFFFF)) - ) - { - if ( (flag & C352_FLG_LINK) && (flag & C352_FLG_LOOP) ) - { - c352ch->bank = c352ch->start_addr & 0xFF; - c352ch->start_addr = c352ch->repeat_addr; - c352ch->start = c352ch->start_addr; - c352ch->repeat = c352ch->repeat_addr; - pos = (c352ch->bank<<16) + c352ch->start_addr; - c352ch->flag |= C352_FLG_LOOPHIST; - } - else if (flag & C352_FLG_LOOP) - { - pos = (pos & 0xFF0000) + c352ch->repeat; - c352ch->flag |= C352_FLG_LOOPHIST; - } - else - { - c352ch->flag |= C352_FLG_KEYOFF; - c352ch->flag &= ~C352_FLG_BUSY; - //return; - break; - } - } - } - } - - c352ch->noisecnt = noisecnt; - c352ch->noisebuf = noisebuf; - c352ch->pos = offset; - c352ch->current_addr = pos; -} + UINT8 mute; +} C352_Voice; -//static STREAM_UPDATE( c352_update ) -void c352_update(UINT8 ChipID, stream_sample_t **outputs, int samples) +typedef struct { + + UINT32 sample_rate_base; + UINT16 divider; + + C352_Voice v[C352_VOICES]; + + UINT16 random; + UINT16 control; // control flags, purpose unknown. + + UINT8* wave; + UINT32 wavesize; + UINT32 wave_mask; + + UINT8 muteRear; // flag from VGM header + //UINT8 optMuteRear; // option + + UINT16 mulaw_table[256]; + +} C352; + + +#define MAX_CHIPS 0x02 +static C352 C352Data[MAX_CHIPS]; + +static UINT8 MuteAllRear = 0x00; + + +static void C352_fetch_sample(C352 *c, C352_Voice *v) { - //c352_state *info = (c352_state *)param; - c352_state *info = &C352Data[ChipID]; - int j; - /*stream_sample_t *bufferl = outputs[0]; - stream_sample_t *bufferr = outputs[1]; - stream_sample_t *bufferl2 = outputs[2]; - stream_sample_t *bufferr2 = outputs[3]; - - for(i = 0 ; i < samples ; i++) - { - info->channel_l[i] = info->channel_r[i] = info->channel_l2[i] = info->channel_r2[i] = 0; - }*/ - memset(outputs[0], 0x00, samples * sizeof(stream_sample_t)); - memset(outputs[1], 0x00, samples * sizeof(stream_sample_t)); - - for (j = 0 ; j < 32 ; j++) - { - //c352_mix_one_channel(info, j, samples); - if ((info->c352_ch[j].flag & C352_FLG_BUSY) && ! info->c352_ch[j].Muted) - c352_mix_one_channel(info, j, outputs, samples); - } - - /*for(i = 0 ; i < samples ; i++) - { - *bufferl++ = (short) (info->channel_l[i] >>3); - *bufferr++ = (short) (info->channel_r[i] >>3); - *bufferl2++ = (short) (info->channel_l2[i] >>3); - *bufferr2++ = (short) (info->channel_r2[i] >>3); - }*/ + v->last_sample = v->sample; + + if(v->flags & C352_FLG_NOISE) + { + c->random = (c->random>>1) ^ ((-(c->random&1)) & 0xfff6); + v->sample = c->random; + } + else + { + INT8 s; + UINT16 pos; + + s = (INT8)c->wave[v->pos & c->wave_mask]; + + v->sample = s<<8; + if(v->flags & C352_FLG_MULAW) + { + v->sample = c->mulaw_table[s&0xff]; + } + + pos = v->pos&0xffff; + + if((v->flags & C352_FLG_LOOP) && v->flags & C352_FLG_REVERSE) + { + // backwards>forwards + if((v->flags & C352_FLG_LDIR) && pos == v->wave_loop) + v->flags &= ~C352_FLG_LDIR; + // forwards>backwards + else if(!(v->flags & C352_FLG_LDIR) && pos == v->wave_end) + v->flags |= C352_FLG_LDIR; + + v->pos += (v->flags&C352_FLG_LDIR) ? -1 : 1; + } + else if(pos == v->wave_end) + { + if((v->flags & C352_FLG_LINK) && (v->flags & C352_FLG_LOOP)) + { + v->pos = (v->wave_start<<16) | v->wave_loop; + v->flags |= C352_FLG_LOOPHIST; + } + else if(v->flags & C352_FLG_LOOP) + { + v->pos = (v->pos&0xff0000) | v->wave_loop; + v->flags |= C352_FLG_LOOPHIST; + } + else + { + v->flags |= C352_FLG_KEYOFF; + v->flags &= ~C352_FLG_BUSY; + v->sample=0; + } + } + else + { + v->pos += (v->flags&C352_FLG_REVERSE) ? -1 : 1; + } + } } -static unsigned short c352_read_reg16(c352_state *info, unsigned long address) +static void c352_ramp_volume(C352_Voice* v,int ch,UINT8 val) { - unsigned long chan; - unsigned short val; - - //stream_update(info->stream); - - chan = (address >> 4) & 0xfff; - if (chan > 31) - { - val = 0; - } - else - { - if ((address & 0xf) == 6) - { - val = info->c352_ch[chan].flag; - } - else - { - val = 0; - } - } - return val; + INT16 vol_delta = v->curr_vol[ch] - val; + if(vol_delta != 0) + v->curr_vol[ch] += (vol_delta>0) ? -1 : 1; } -static void c352_write_reg16(c352_state *info, unsigned long address, unsigned short val) +void c352_update(UINT8 ChipID, stream_sample_t **outputs, int samples) { - unsigned long chan; - int i; - - //stream_update(info->stream); - - chan = (address >> 4) & 0xfff; - - if ( address >= 0x400 ) - { - switch(address) - { - case 0x404: // execute key-ons/offs - for ( i = 0 ; i <= 31 ; i++ ) - { - if ( info->c352_ch[i].flag & C352_FLG_KEYON ) - { - if (info->c352_ch[i].start_addr != info->c352_ch[i].end_addr) - { - info->c352_ch[i].current_addr = (info->c352_ch[i].bank << 16) + info->c352_ch[i].start_addr; - info->c352_ch[i].start = info->c352_ch[i].start_addr; - info->c352_ch[i].repeat = info->c352_ch[i].repeat_addr; - info->c352_ch[i].noisebuf = 0; - info->c352_ch[i].noisecnt = 0; - info->c352_ch[i].flag &= ~(C352_FLG_KEYON | C352_FLG_LOOPHIST); - info->c352_ch[i].flag |= C352_FLG_BUSY; - } - } - else if ( info->c352_ch[i].flag & C352_FLG_KEYOFF ) - { - info->c352_ch[i].flag &= ~C352_FLG_BUSY; - info->c352_ch[i].flag &= ~(C352_FLG_KEYOFF); - } - } - break; - default: - break; - } - return; - } - - if (chan > 31) - { - LOG(("C352 CTRL %08lx %04x\n", address, val)); - return; - } - switch(address & 0xf) - { - case 0x0: - // volumes (output 1) - LOG(("CH %02ld LVOL %02x RVOL %02x\n", chan, val & 0xff, val >> 8)); - info->c352_ch[chan].vol_l = val & 0xff; - info->c352_ch[chan].vol_r = val >> 8; - break; - - case 0x2: - // volumes (output 2) - LOG(("CH %02ld RLVOL %02x RRVOL %02x\n", chan, val & 0xff, val >> 8)); - info->c352_ch[chan].vol_l2 = val & 0xff; - info->c352_ch[chan].vol_r2 = val >> 8; - break; - - case 0x4: - // pitch - LOG(("CH %02ld PITCH %04x\n", chan, val)); - info->c352_ch[chan].pitch = val; - break; - - case 0x6: - // flags - LOG(("CH %02ld FLAG %02x\n", chan, val)); - info->c352_ch[chan].flag = val; - break; - - case 0x8: - // bank (bits 16-31 of address); - info->c352_ch[chan].bank = val & 0xff; - LOG(("CH %02ld BANK %02x", chan, info->c352_ch[chan].bank)); - break; - - case 0xa: - // start address - LOG(("CH %02ld SADDR %04x\n", chan, val)); - info->c352_ch[chan].start_addr = val; - break; - - case 0xc: - // end address - LOG(("CH %02ld EADDR %04x\n", chan, val)); - info->c352_ch[chan].end_addr = val; - break; - - case 0xe: - // loop address - LOG(("CH %02ld LADDR %04x\n", chan, val)); - info->c352_ch[chan].repeat_addr = val; - break; - - default: - LOG(("CH %02ld UNKN %01lx %04x", chan, address & 0xf, val)); - break; - } + C352 *c = &C352Data[ChipID]; + int i, j; + INT16 s; + INT32 next_counter; + C352_Voice* v; + + stream_sample_t out[4]; + + memset(outputs[0], 0, samples * sizeof(stream_sample_t)); + memset(outputs[1], 0, samples * sizeof(stream_sample_t)); + + for(i=0;iv[j]; + s = 0; + + if(v->flags & C352_FLG_BUSY) + { + next_counter = v->counter+v->freq; + + if(next_counter & 0x10000) + { + C352_fetch_sample(c,v); + } + + if((next_counter^v->counter) & 0x18000) + { + c352_ramp_volume(v,0,v->vol_f>>8); + c352_ramp_volume(v,1,v->vol_f&0xff); + c352_ramp_volume(v,2,v->vol_r>>8); + c352_ramp_volume(v,3,v->vol_r&0xff); + } + + v->counter = next_counter&0xffff; + + s = v->sample; + + // Interpolate samples + if((v->flags & C352_FLG_FILTER) == 0) + s = v->last_sample + (v->counter*(v->sample-v->last_sample)>>16); + } + + if(!c->v[j].mute) + { + // Left + out[0] += (((v->flags & C352_FLG_PHASEFL) ? -s : s) * v->curr_vol[0])>>8; + out[2] += (((v->flags & C352_FLG_PHASERL) ? -s : s) * v->curr_vol[2])>>8; + + // Right + out[1] += (((v->flags & C352_FLG_PHASEFR) ? -s : s) * v->curr_vol[1])>>8; + out[3] += (((v->flags & C352_FLG_PHASEFR) ? -s : s) * v->curr_vol[3])>>8; + } + } + + outputs[0][i] += out[0]; + outputs[1][i] += out[1]; + if (!c->muteRear && !MuteAllRear) + { + outputs[0][i] += out[2]; + outputs[1][i] += out[3]; + } + } } -//static DEVICE_START( c352 ) int device_start_c352(UINT8 ChipID, int clock, int clkdiv) { - //c352_state *info = get_safe_token(device); - c352_state *info; - int i; - double x_max = 32752.0; - double y_max = 127.0; - double u = 10.0; - - if (ChipID >= MAX_CHIPS) - return 0; - - info = &C352Data[ChipID]; - - //info->c352_rom_samples = *device->region(); - //info->c352_rom_length = device->region()->bytes(); - info->c352_rom_samples = NULL; - info->c352_rom_length = 0x00; - - if (! clkdiv) - clkdiv = 288; - //info->sample_rate_base = device->clock() / 288; - info->sample_rate_base = clock / clkdiv; - - //info->stream = stream_create(device, 0, 4, info->sample_rate_base, info, c352_update); - - // generate mulaw table for mulaw format samples - for (i = 0; i < 256; i++) - { - double y = (double) (i & 0x7f); - double x = (exp (y / y_max * log (1.0 + u)) - 1.0) * x_max / u; - - if (i & 0x80) - { - x = -x; - } - info->mulaw_table[i] = (short)x; - } - - // register save state info - for (i = 0; i < 32; i++) - { - /*state_save_register_device_item(device, i, info->c352_ch[i].vol_l); - state_save_register_device_item(device, i, info->c352_ch[i].vol_r); - state_save_register_device_item(device, i, info->c352_ch[i].vol_l2); - state_save_register_device_item(device, i, info->c352_ch[i].vol_r2); - state_save_register_device_item(device, i, info->c352_ch[i].bank); - state_save_register_device_item(device, i, info->c352_ch[i].noise); - state_save_register_device_item(device, i, info->c352_ch[i].noisebuf); - state_save_register_device_item(device, i, info->c352_ch[i].noisecnt); - state_save_register_device_item(device, i, info->c352_ch[i].pitch); - state_save_register_device_item(device, i, info->c352_ch[i].start_addr); - state_save_register_device_item(device, i, info->c352_ch[i].end_addr); - state_save_register_device_item(device, i, info->c352_ch[i].repeat_addr); - state_save_register_device_item(device, i, info->c352_ch[i].flag); - state_save_register_device_item(device, i, info->c352_ch[i].start); - state_save_register_device_item(device, i, info->c352_ch[i].repeat); - state_save_register_device_item(device, i, info->c352_ch[i].current_addr); - state_save_register_device_item(device, i, info->c352_ch[i].pos);*/ - info->c352_ch[i].Muted = 0x00; - } - - return info->sample_rate_base; + C352 *c; + int i,j; + + if (ChipID >= MAX_CHIPS) + return 0; + + c = &C352Data[ChipID]; + + c->wave = NULL; + c->wavesize = 0x00; + + c->divider = clkdiv ? clkdiv : 288; + c->sample_rate_base = (clock&0x7FFFFFFF) / c->divider; + c->muteRear = (clock&0x80000000)>>31; + + memset(c->v,0,sizeof(C352_Voice)*C352_VOICES); + + c352_set_mute_mask(ChipID, 0x00000000); + + j=0; + for(i=0;i<128;i++) + { + c->mulaw_table[i] = j<<5; + if(i < 16) + j += 1; + else if(i < 24) + j += 2; + else if(i < 48) + j += 4; + else if(i < 100) + j += 8; + else + j += 16; + } + for(i=128;i<256;i++) + c->mulaw_table[i] = (~c->mulaw_table[i-128])&0xffe0; + + return c->sample_rate_base; } void device_stop_c352(UINT8 ChipID) { - c352_state *info = &C352Data[ChipID]; - - free(info->c352_rom_samples); - info->c352_rom_samples = NULL; - - return; + C352 *c = &C352Data[ChipID]; + + free(c->wave); + c->wave = NULL; + + return; } void device_reset_c352(UINT8 ChipID) { - c352_state *info = &C352Data[ChipID]; - - // clear all channels states - memset(info->c352_ch, 0, sizeof(c352_ch_t)*32); - - // init noise generator - info->mseq_reg = 0x12345678; - - return; + C352 *c = &C352Data[ChipID]; + UINT32 muteMask; + + muteMask = c352_get_mute_mask(ChipID); + + // clear all channels states + memset(c->v,0,sizeof(C352_Voice)*C352_VOICES); + + // init noise generator + c->random = 0x1234; + c->control = 0; + + c352_set_mute_mask(ChipID, muteMask); + + return; } +static UINT16 C352RegMap[8] = { + offsetof(C352_Voice,vol_f) / sizeof(UINT16), + offsetof(C352_Voice,vol_r) / sizeof(UINT16), + offsetof(C352_Voice,freq) / sizeof(UINT16), + offsetof(C352_Voice,flags) / sizeof(UINT16), + offsetof(C352_Voice,wave_bank) / sizeof(UINT16), + offsetof(C352_Voice,wave_start) / sizeof(UINT16), + offsetof(C352_Voice,wave_end) / sizeof(UINT16), + offsetof(C352_Voice,wave_loop) / sizeof(UINT16), +}; -//READ16_DEVICE_HANDLER( c352_r ) -UINT16 c352_r(UINT8 ChipID, offs_t offset) +UINT16 c352_r(UINT8 ChipID, offs_t address) { - c352_state *info = &C352Data[ChipID]; - return(c352_read_reg16(info, offset*2)); - //return(c352_read_reg16(get_safe_token(device), offset*2)); + C352 *c = &C352Data[ChipID]; + + if(address < 0x100) + return *((UINT16*)&c->v[address/8]+C352RegMap[address%8]); + else if(address == 0x200) + return c->control; + else + return 0; } -//WRITE16_DEVICE_HANDLER( c352_w ) -void c352_w(UINT8 ChipID, offs_t offset, UINT16 data) +void c352_w(UINT8 ChipID, offs_t address, UINT16 val) { - c352_state *info = &C352Data[ChipID]; - /*if (mem_mask == 0xffff) - { - c352_write_reg16(get_safe_token(device), offset*2, data); - } - else - { - logerror("C352: byte-wide write unsupported at this time!\n"); - }*/ - c352_write_reg16(info, offset*2, data); + C352 *c = &C352Data[ChipID]; + + int i; + + if(address < 0x100) // Channel registers, see map above. + { + *((UINT16*)&c->v[address/8]+C352RegMap[address%8]) = val; + } + else if(address == 0x200) + { + c->control = val; + //logerror("C352 control register write: %04x\n",val); + } + else if(address == 0x202) // execute keyons/keyoffs + { + for(i=0;iv[i].flags & C352_FLG_KEYON)) + { + c->v[i].pos = (c->v[i].wave_bank<<16) | c->v[i].wave_start; + + c->v[i].sample = 0; + c->v[i].last_sample = 0; + c->v[i].counter = 0xffff; + + c->v[i].flags |= C352_FLG_BUSY; + c->v[i].flags &= ~(C352_FLG_KEYON|C352_FLG_LOOPHIST); + + c->v[i].curr_vol[0] = c->v[i].curr_vol[1] = 0; + c->v[i].curr_vol[2] = c->v[i].curr_vol[3] = 0; + } + else if(c->v[i].flags & C352_FLG_KEYOFF) + { + c->v[i].flags &= ~(C352_FLG_BUSY|C352_FLG_KEYOFF); + c->v[i].counter = 0xffff; + } + } + } } void c352_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, - const UINT8* ROMData) + const UINT8* ROMData) { - c352_state *info = &C352Data[ChipID]; - - if (info->c352_rom_length != ROMSize) - { - info->c352_rom_samples = (UINT8*)realloc(info->c352_rom_samples, ROMSize); - info->c352_rom_length = ROMSize; - memset(info->c352_rom_samples, 0xFF, ROMSize); - } - if (DataStart > ROMSize) - return; - if (DataStart + DataLength > ROMSize) - DataLength = ROMSize - DataStart; - - memcpy(info->c352_rom_samples + DataStart, ROMData, DataLength); - - return; + C352 *c = &C352Data[ChipID]; + + if (c->wavesize != ROMSize) + { + c->wave = (UINT8*)realloc(c->wave, ROMSize); + c->wavesize = ROMSize; + for (c->wave_mask = 1; c->wave_mask < c->wavesize; c->wave_mask <<= 1) + ; + c->wave_mask --; + memset(c->wave, 0xFF, ROMSize); + } + if (DataStart > ROMSize) + return; + if (DataStart + DataLength > ROMSize) + DataLength = ROMSize - DataStart; + + memcpy(c->wave + DataStart, ROMData, DataLength); + + return; } - void c352_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) { - c352_state *info = &C352Data[ChipID]; - UINT8 CurChn; - - for (CurChn = 0; CurChn < 32; CurChn ++) - info->c352_ch[CurChn].Muted = (MuteMask >> CurChn) & 0x01; - - return; + C352 *c = &C352Data[ChipID]; + UINT8 CurChn; + + for (CurChn = 0; CurChn < C352_VOICES; CurChn ++) + c->v[CurChn].mute = (MuteMask >> CurChn) & 0x01; + + return; } - - - - - -/************************************************************************** - * Generic get_info - **************************************************************************/ - -/*DEVICE_GET_INFO( c352 ) +UINT32 c352_get_mute_mask(UINT8 ChipID) { - switch (state) - { - // --- the following bits of info are returned as 64-bit signed integers --- - case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(c352_state); break; - - // --- the following bits of info are returned as pointers to data or functions --- - case DEVINFO_FCT_START: info->start = DEVICE_START_NAME( c352 ); break; - case DEVINFO_FCT_STOP: // nothing // break; - case DEVINFO_FCT_RESET: // nothing // break; - - // --- the following bits of info are returned as NULL-terminated strings --- - case DEVINFO_STR_NAME: strcpy(info->s, "C352"); break; - case DEVINFO_STR_FAMILY: strcpy(info->s, "Namco PCM"); break; - case DEVINFO_STR_VERSION: strcpy(info->s, "1.1"); break; - case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break; - case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break; - } + C352 *c = &C352Data[ChipID]; + UINT32 muteMask; + UINT8 CurChn; + + muteMask = 0x00000000; + for (CurChn = 0; CurChn < C352_VOICES; CurChn ++) + muteMask |= (c->v[CurChn].mute << CurChn); + + return muteMask; } - -DEFINE_LEGACY_SOUND_DEVICE(C352, c352);*/ +void c352_set_options(UINT8 Flags) +{ + MuteAllRear = (Flags & 0x01) >> 0; + + return; +} diff --git a/src/chips/c352.h b/src/chips/c352.h index ec69f44..6af5cab 100644 --- a/src/chips/c352.h +++ b/src/chips/c352.h @@ -3,15 +3,11 @@ #ifndef __C352_H__ #define __C352_H__ -//#include "devlegcy.h" - void c352_update(UINT8 ChipID, stream_sample_t **outputs, int samples); int device_start_c352(UINT8 ChipID, int clock, int clkdiv); void device_stop_c352(UINT8 ChipID); void device_reset_c352(UINT8 ChipID); -//READ16_DEVICE_HANDLER( c352_r ); -//WRITE16_DEVICE_HANDLER( c352_w ); UINT16 c352_r(UINT8 ChipID, offs_t offset); void c352_w(UINT8 ChipID, offs_t offset, UINT16 data); @@ -19,8 +15,7 @@ void c352_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataL const UINT8* ROMData); void c352_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); - -//DECLARE_LEGACY_SOUND_DEVICE(C352, c352); +UINT32 c352_get_mute_mask(UINT8 ChipID); +void c352_set_options(UINT8 Flags); #endif /* __C352_H__ */ - diff --git a/src/chips/c6280.c b/src/chips/c6280.c index 53ca3e1..7f8a896 100644 --- a/src/chips/c6280.c +++ b/src/chips/c6280.c @@ -54,9 +54,9 @@ */ //#include "emu.h" -#include // for rand() -#include // for memset() -#include // for pow() +#include // for rand +#include // for memset +#include // for pow #include "mamedef.h" #include "c6280.h" @@ -397,6 +397,8 @@ UINT8 c6280m_r(void* chip, offs_t offset) //c6280_t *info = get_safe_token(device); c6280_t *info = (c6280_t *)chip; //return h6280io_get_buffer(info->cpudevice); + if (offset == 0) + return info->select; return 0; } diff --git a/src/chips/c6280intf.c b/src/chips/c6280intf.c index f9f38d6..cbe1786 100644 --- a/src/chips/c6280intf.c +++ b/src/chips/c6280intf.c @@ -1,3 +1,4 @@ +#include // for NULL #include "mamedef.h" #ifdef ENABLE_ALL_CORES #include "c6280.h" @@ -9,8 +10,6 @@ #endif #define EC_OOTAKE 0x00 -#define NULL ((void *)0) - typedef struct _c6280_state { void* chip; @@ -43,7 +42,7 @@ void c6280_update(UINT8 ChipID, stream_sample_t **outputs, int samples) int device_start_c6280(UINT8 ChipID, int clock) { c6280_state* info; - int rate; + int rate = 0; if (ChipID >= MAX_CHIPS) return 0; diff --git a/src/chips/dac_control.c b/src/chips/dac_control.c index adce47c..847dcda 100644 --- a/src/chips/dac_control.c +++ b/src/chips/dac_control.c @@ -5,7 +5,7 @@ // (Custom Driver to handle PCM Streams of YM2612 DAC and PWM.) // // Written on 3 February 2011 by Valley Bell -// Last Update: 13 April 2014 +// Last Update: 29 September 2017 // // Only for usage in non-commercial, VGM file related software. @@ -16,8 +16,10 @@ */ +#include // for NULL #include "mamedef.h" #include "dac_control.h" +#include "c6280intf.h" //#include "../ChipMapper.h" void chip_reg_write(UINT8 ChipType, UINT8 ChipID, UINT8 Port, UINT8 Offset, UINT8 Data); @@ -57,8 +59,6 @@ typedef struct _dac_control #define MAX_CHIPS 0xFF static dac_control DACData[MAX_CHIPS]; -#define NULL (void*)0 - INLINE void daccontrol_SendCommand(dac_control *chip) { UINT8 Port; @@ -175,10 +175,31 @@ INLINE void daccontrol_SendCommand(dac_control *chip) Command = (chip->DstCommand & 0x00FF) >> 0; Data = ChipData[0x00]; - if (Port != 0xFF) // Send Channel Select + if (Port == 0xFF) + { + chip_reg_write(chip->DstChipType, chip->DstChipID, 0x00, Command & 0x0F, Data); + } + else + { + UINT8 prevChn; + + prevChn = Port; // by default don't restore channel + // get current channel for supported chips + if (chip->DstChipType == 0x05) + ; // TODO + else if (chip->DstChipType == 0x05) + ; // TODO + else if (chip->DstChipType == 0x1B) + prevChn = c6280_r(chip->DstChipID, 0x00); + + // Send Channel Select chip_reg_write(chip->DstChipType, chip->DstChipID, 0x00, Command >> 4, Port); - // Send Data - chip_reg_write(chip->DstChipType, chip->DstChipID, 0x00, Command & 0x0F, Data); + // Send Data + chip_reg_write(chip->DstChipType, chip->DstChipID, 0x00, Command & 0x0F, Data); + // restore old channel + if (prevChn != Port) + chip_reg_write(chip->DstChipType, chip->DstChipID, 0x00, Command >> 4, prevChn); + } break; // Generic support: 8-bit Register, 16-bit Data case 0x1F: // QSound @@ -397,6 +418,8 @@ void daccontrol_set_frequency(UINT8 ChipID, UINT32 Frequency) if (chip->Running & 0x80) return; + if (Frequency) + chip->Step = chip->Step * chip->Frequency / Frequency; chip->Frequency = Frequency; return; diff --git a/src/chips/emu2149.c b/src/chips/emu2149.c index 5cbbab0..6ff5698 100644 --- a/src/chips/emu2149.c +++ b/src/chips/emu2149.c @@ -145,6 +145,18 @@ PSG_setMask (PSG *psg, e_uint32 mask) return ret; } +EMU2149_API void +PSG_setStereoMask (PSG *psg, e_uint32 mask) +{ + e_uint32 ret = 0; + if(psg) + { + psg->stereo_mask[0] = (mask >>0) &3; + psg->stereo_mask[1] = (mask >>2) &3; + psg->stereo_mask[2] = (mask >>4) &3; + } +} + EMU2149_API e_uint32 PSG_toggleMask (PSG *psg, e_uint32 mask) { diff --git a/src/chips/emu2149.h b/src/chips/emu2149.h index 7048ffa..2261143 100644 --- a/src/chips/emu2149.h +++ b/src/chips/emu2149.h @@ -94,6 +94,7 @@ extern "C" EMU2149_API void PSG_setVolumeMode (PSG * psg, int type); EMU2149_API e_uint32 PSG_setMask (PSG *, e_uint32 mask); EMU2149_API e_uint32 PSG_toggleMask (PSG *, e_uint32 mask); + EMU2149_API void PSG_setStereoMask (PSG *psg, e_uint32 mask); /*#ifdef __cplusplus } diff --git a/src/chips/emu2413.c b/src/chips/emu2413.c index 9ba55f1..de42408 100644 --- a/src/chips/emu2413.c +++ b/src/chips/emu2413.c @@ -56,7 +56,6 @@ #include #include #include "mamedef.h" -#undef INLINE #include "emu2413.h" #include "panning.h" // Maxim @@ -228,7 +227,7 @@ static e_uint32 dphaseTable[512][8][16]; Create tables ****************************************************/ -INLINE static e_int32 +INLINE e_int32 Min (e_int32 i, e_int32 j) { if (i < j) @@ -612,7 +611,7 @@ OPLL_patch2dump (const OPLL_PATCH * patch, e_uint8 * dump) ************************************************************/ -INLINE static e_uint32 +INLINE e_uint32 calc_eg_dphase (OPLL_SLOT * slot) { @@ -678,7 +677,7 @@ calc_eg_dphase (OPLL_SLOT * slot) /* Slot key on */ -INLINE static void +INLINE void slotOn (OPLL_SLOT * slot) { slot->eg_mode = ATTACK; @@ -688,7 +687,7 @@ slotOn (OPLL_SLOT * slot) } /* Slot key on without reseting the phase */ -INLINE static void +INLINE void slotOn2 (OPLL_SLOT * slot) { slot->eg_mode = ATTACK; @@ -697,7 +696,7 @@ slotOn2 (OPLL_SLOT * slot) } /* Slot key off */ -INLINE static void +INLINE void slotOff (OPLL_SLOT * slot) { if (slot->eg_mode == ATTACK) @@ -707,7 +706,7 @@ slotOff (OPLL_SLOT * slot) } /* Channel key on */ -INLINE static void +INLINE void keyOn (OPLL * opll, e_int32 i) { if (!opll->slot_on_flag[i * 2]) @@ -718,7 +717,7 @@ keyOn (OPLL * opll, e_int32 i) } /* Channel key off */ -INLINE static void +INLINE void keyOff (OPLL * opll, e_int32 i) { if (opll->slot_on_flag[i * 2 + 1]) @@ -726,30 +725,30 @@ keyOff (OPLL * opll, e_int32 i) opll->key_status[i] = 0; } -INLINE static void +INLINE void keyOn_BD (OPLL * opll) { keyOn (opll, 6); } -INLINE static void +INLINE void keyOn_SD (OPLL * opll) { if (!opll->slot_on_flag[SLOT_SD]) slotOn (CAR(opll,7)); } -INLINE static void +INLINE void keyOn_TOM (OPLL * opll) { if (!opll->slot_on_flag[SLOT_TOM]) slotOn (MOD(opll,8)); } -INLINE static void +INLINE void keyOn_HH (OPLL * opll) { if (!opll->slot_on_flag[SLOT_HH]) slotOn2 (MOD(opll,7)); } -INLINE static void +INLINE void keyOn_CYM (OPLL * opll) { if (!opll->slot_on_flag[SLOT_CYM]) @@ -757,30 +756,30 @@ keyOn_CYM (OPLL * opll) } /* Drum key off */ -INLINE static void +INLINE void keyOff_BD (OPLL * opll) { keyOff (opll, 6); } -INLINE static void +INLINE void keyOff_SD (OPLL * opll) { if (opll->slot_on_flag[SLOT_SD]) slotOff (CAR(opll,7)); } -INLINE static void +INLINE void keyOff_TOM (OPLL * opll) { if (opll->slot_on_flag[SLOT_TOM]) slotOff (MOD(opll,8)); } -INLINE static void +INLINE void keyOff_HH (OPLL * opll) { if (opll->slot_on_flag[SLOT_HH]) slotOff (MOD(opll,7)); } -INLINE static void +INLINE void keyOff_CYM (OPLL * opll) { if (opll->slot_on_flag[SLOT_CYM]) @@ -788,7 +787,7 @@ keyOff_CYM (OPLL * opll) } /* Change a voice */ -INLINE static void +INLINE void setPatch (OPLL * opll, e_int32 i, e_int32 num) { opll->patch_number[i] = num; @@ -797,14 +796,14 @@ setPatch (OPLL * opll, e_int32 i, e_int32 num) } /* Change a rhythm voice */ -INLINE static void +INLINE void setSlotPatch (OPLL_SLOT * slot, OPLL_PATCH * patch) { slot->patch = patch; } /* Set sustine parameter */ -INLINE static void +INLINE void setSustine (OPLL * opll, e_int32 c, e_int32 sustine) { CAR(opll,c)->sustine = sustine; @@ -813,20 +812,20 @@ setSustine (OPLL * opll, e_int32 c, e_int32 sustine) } /* Volume : 6bit ( Volume register << 2 ) */ -INLINE static void +INLINE void setVolume (OPLL * opll, e_int32 c, e_int32 volume) { CAR(opll,c)->volume = volume; } -INLINE static void +INLINE void setSlotVolume (OPLL_SLOT * slot, e_int32 volume) { slot->volume = volume; } /* Set F-Number ( fnum : 9bit ) */ -INLINE static void +INLINE void setFnumber (OPLL * opll, e_int32 c, e_int32 fnum) { CAR(opll,c)->fnum = fnum; @@ -834,7 +833,7 @@ setFnumber (OPLL * opll, e_int32 c, e_int32 fnum) } /* Set Block data (block : 3bit ) */ -INLINE static void +INLINE void setBlock (OPLL * opll, e_int32 c, e_int32 block) { CAR(opll,c)->block = block; @@ -842,7 +841,7 @@ setBlock (OPLL * opll, e_int32 c, e_int32 block) } /* Change Rhythm Mode */ -INLINE static void +INLINE void update_rhythm_mode (OPLL * opll) { if (opll->patch_number[6] & 0x10) @@ -904,7 +903,7 @@ update_rhythm_mode (OPLL * opll) } } -INLINE static void +INLINE void update_key_status (OPLL * opll) { int ch; @@ -1163,7 +1162,7 @@ update_ampm (OPLL * opll) } /* PG */ -INLINE static void +INLINE void calc_phase (OPLL_SLOT * slot, e_int32 lfo) { if (slot->patch->PM) @@ -1283,7 +1282,7 @@ calc_envelope (OPLL_SLOT * slot, e_int32 lfo) } /* CARRIOR */ -INLINE static e_int32 +INLINE e_int32 calc_slot_car (OPLL_SLOT * slot, e_int32 fm) { if (slot->egout >= (DB_MUTE - 1)) @@ -1300,7 +1299,7 @@ calc_slot_car (OPLL_SLOT * slot, e_int32 fm) } /* MODULATOR */ -INLINE static e_int32 +INLINE e_int32 calc_slot_mod (OPLL_SLOT * slot) { e_int32 fm; @@ -1328,7 +1327,7 @@ calc_slot_mod (OPLL_SLOT * slot) } /* TOM */ -INLINE static e_int32 +INLINE e_int32 calc_slot_tom (OPLL_SLOT * slot) { if (slot->egout >= (DB_MUTE - 1)) @@ -1339,7 +1338,7 @@ calc_slot_tom (OPLL_SLOT * slot) } /* SNARE */ -INLINE static e_int32 +INLINE e_int32 calc_slot_snare (OPLL_SLOT * slot, e_uint32 noise) { if(slot->egout>=(DB_MUTE-1)) @@ -1354,7 +1353,7 @@ calc_slot_snare (OPLL_SLOT * slot, e_uint32 noise) /* TOP-CYM */ -INLINE static e_int32 +INLINE e_int32 calc_slot_cym (OPLL_SLOT * slot, e_uint32 pgout_hh) { e_uint32 dbout; @@ -1377,7 +1376,7 @@ calc_slot_cym (OPLL_SLOT * slot, e_uint32 pgout_hh) /* HI-HAT */ -INLINE static e_int32 +INLINE e_int32 calc_slot_hat (OPLL_SLOT *slot, e_int32 pgout_cym, e_uint32 noise) { e_uint32 dbout; @@ -1870,8 +1869,8 @@ calc_stereo (OPLL * opll, e_int32 out[2]) { /* Maxim: added stereo control (multiply each side by a float in opll->pan[ch][side]) */ e_int32 l=0,r=0; -/* e_int32 b[4] = { 0, 0, 0, 0 }; /* Ignore, Right, Left, Center */ -/* e_int32 r[4] = { 0, 0, 0, 0 }; /* Ignore, Right, Left, Center */ +// e_int32 b[4] = { 0, 0, 0, 0 }; /* Ignore, Right, Left, Center */ +// e_int32 r[4] = { 0, 0, 0, 0 }; /* Ignore, Right, Left, Center */ e_int32 i; e_int32 channel; diff --git a/src/chips/es5503.c b/src/chips/es5503.c index f9403c9..7b09014 100644 --- a/src/chips/es5503.c +++ b/src/chips/es5503.c @@ -38,7 +38,7 @@ //#include "emu.h" //#include "streams.h" -#include +#include #include #include "mamedef.h" #include "es5503.h" @@ -145,7 +145,8 @@ static void es5503_halt_osc(ES5503Chip *chip, int onum, int type, UINT32 *accumu } // if swap mode, start the partner - if ((mode == MODE_SWAP) || (omode == MODE_SWAP)) + // Note: The swap mode fix breaks Silpheed and other games. + if ((mode == MODE_SWAP) /*|| (omode == MODE_SWAP)*/) { pPartner->control &= ~1; // clear the halt bit pPartner->accumulator = 0; // and make sure it starts from the top (does this also need phase preservation?) diff --git a/src/chips/es5506.c b/src/chips/es5506.c index 34e8ba7..7226309 100644 --- a/src/chips/es5506.c +++ b/src/chips/es5506.c @@ -81,7 +81,7 @@ Ensoniq OTIS - ES5505 Ensoniq OTTO - ***********************************************************************************************/ //#include "emu.h" -#include +#include #include // for memset #include "mamedef.h" #include "es5506.h" @@ -620,6 +620,9 @@ static void generate_ulaw(es5506_state *chip, es5506_voice *voice, UINT16 *base, while (samples--) { /* fetch two samples */ +#ifdef VGM_BIG_ENDIAN + #warning "ES5506 sound emulation not Endian-Safe!" +#endif INT32 val1 = base[accum >> 11]; INT32 val2 = base[((accum + (1 << 11)) & voice->accum_mask) >> 11]; @@ -658,6 +661,9 @@ static void generate_ulaw(es5506_state *chip, es5506_voice *voice, UINT16 *base, while (samples--) { /* fetch two samples */ +#ifdef VGM_BIG_ENDIAN + #warning "ES5506 sound emulation not Endian-Safe!" +#endif INT32 val1 = base[accum >> 11]; INT32 val2 = base[((accum + (1 << 11)) & voice->accum_mask) >> 11]; @@ -726,6 +732,9 @@ static void generate_pcm(es5506_state *chip, es5506_voice *voice, UINT16 *base, while (samples--) { /* fetch two samples */ +#ifdef VGM_BIG_ENDIAN + #warning "ES5506 sound emulation not Endian-Safe!" +#endif INT32 val1 = (INT16)base[accum >> 11]; INT32 val2 = (INT16)base[((accum + (1 << 11)) & voice->accum_mask) >> 11]; @@ -760,6 +769,9 @@ static void generate_pcm(es5506_state *chip, es5506_voice *voice, UINT16 *base, while (samples--) { /* fetch two samples */ +#ifdef VGM_BIG_ENDIAN + #warning "ES5506 sound emulation not Endian-Safe!" +#endif INT32 val1 = (INT16)base[accum >> 11]; INT32 val2 = (INT16)base[((accum + (1 << 11)) & voice->accum_mask) >> 11]; @@ -929,7 +941,7 @@ static void es5506_start_common(es5506_state *chip, int clock, UINT8 sndtype) chip->sndtype = sndtype; /* only override the number of channels if the value is in the valid range 1 .. 6 */ max_chns = chip->sndtype ? 6 : 4; // 6 for ES5506, 4 for ES5505 - if (chip->channels < 1|| chip->channels > max_chns) + if (chip->channels < 1 || chip->channels > max_chns) chip->channels = 1; /* 1 channel by default, for backward compatibility */ /* debugging */ diff --git a/src/chips/fm.c b/src/chips/fm.c index 1b2cebf..a119170 100644 --- a/src/chips/fm.c +++ b/src/chips/fm.c @@ -116,7 +116,6 @@ #include #include #include -#include #include "mamedef.h" //#ifndef __RAINE__ @@ -3842,9 +3841,9 @@ UINT8 ym2608_read(void *chip,int a) if(addr == 0x0f) { #ifdef _DEBUG - logerror("YM2608 A/D convertion is accessed but not implemented !\n"); + logerror("YM2608 A/D conversion is accessed but not implemented !\n"); #endif - ret = 0x80; /* 2's complement PCM data - result from A/D convertion */ + ret = 0x80; /* 2's complement PCM data - result from A/D conversion */ } } break; @@ -4425,11 +4424,6 @@ void ym2610_reset_chip(void *chip) } else F2610->deltaT.memory_size = dev->machine->region(name)->bytes();*/ - F2610->pcmbuf = NULL; - F2610->pcm_size = 0x00; - F2610->deltaT.memory = NULL; - F2610->deltaT.memory_size = 0x00; - F2610->deltaT.memory_mask = 0x00; /* Reset Prescaler */ OPNSetPres( OPN, 6*24, 6*24, 4*2); /* OPN 1/6 , SSG 1/4 */ diff --git a/src/chips/fm2612.c b/src/chips/fm2612.c index b1e1a98..ad698a2 100644 --- a/src/chips/fm2612.c +++ b/src/chips/fm2612.c @@ -129,18 +129,13 @@ /************************************************************************/ //#include "emu.h" -#include -#include +#include +#include // for memset +#include // for NULL #include #include "mamedef.h" #include "fm.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - /* shared function building option */ #define BUILD_OPN (BUILD_YM2203||BUILD_YM2608||BUILD_YM2610||BUILD_YM2610B||BUILD_YM2612||BUILD_YM3438) #define BUILD_OPN_PRESCALER (BUILD_YM2203||BUILD_YM2608) @@ -1967,6 +1962,8 @@ static void OPNWriteReg(FM_OPN *OPN, int r, int v) switch( OPN_SLOT(r) ) { case 0: /* 0xa0-0xa2 : FNUM1 */ + if (IsVGMInit) + OPN->ST.fn_h = CH->block_fnum >> 8; { UINT32 fn = (((UINT32)( (OPN->ST.fn_h)&7))<<8) + v; UINT8 blk = OPN->ST.fn_h>>3; @@ -1983,8 +1980,12 @@ static void OPNWriteReg(FM_OPN *OPN, int r, int v) break; case 1: /* 0xa4-0xa6 : FNUM2,BLK */ OPN->ST.fn_h = v&0x3f; + if (IsVGMInit) // workaround for stupid Kega Fusion init block + CH->block_fnum = (OPN->ST.fn_h << 8) | (CH->block_fnum & 0xFF); break; case 2: /* 0xa8-0xaa : 3CH FNUM1 */ + if (IsVGMInit) + OPN->SL3.fn_h = OPN->SL3.block_fnum[c] >> 8; if(r < 0x100) { UINT32 fn = (((UINT32)(OPN->SL3.fn_h&7))<<8) + v; @@ -1999,7 +2000,11 @@ static void OPNWriteReg(FM_OPN *OPN, int r, int v) break; case 3: /* 0xac-0xae : 3CH FNUM2,BLK */ if(r < 0x100) + { OPN->SL3.fn_h = v&0x3f; + if (IsVGMInit) + OPN->SL3.block_fnum[c] = (OPN->SL3.fn_h << 8) | (OPN->SL3.block_fnum[c] & 0xFF); + } break; } break; diff --git a/src/chips/fmopl.c b/src/chips/fmopl.c index 7916bda..706ba49 100644 --- a/src/chips/fmopl.c +++ b/src/chips/fmopl.c @@ -72,8 +72,9 @@ Revision History: #ifdef _DEBUG #include #endif -#include -#include +#include +#include // for memset +#include // for NULL //#include "sndintrf.h" #include "fmopl.h" #if BUILD_Y8950 @@ -81,13 +82,6 @@ Revision History: #endif -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - - /* output final shift */ #if (OPL_SAMPLE_BITS==16) #define FINAL_SH (0) @@ -2215,9 +2209,9 @@ static unsigned char OPLRead(FM_OPL *OPL,int a) if(OPL->type&OPL_TYPE_ADPCM) { #ifdef _DEBUG - logerror("Y8950 A/D convertion is accessed but not implemented !\n"); + logerror("Y8950 A/D conversion is accessed but not implemented !\n"); #endif - return 0x80; /* 2's complement PCM data - result from A/D convertion */ + return 0x80; /* 2's complement PCM data - result from A/D conversion */ } return 0; } @@ -2550,6 +2544,10 @@ void *y8950_init(UINT32 clock, UINT32 rate) FM_OPL *Y8950 = OPLCreate(clock,rate,OPL_TYPE_Y8950); if (Y8950) { + Y8950->deltat->memory = NULL; + Y8950->deltat->memory_size = 0x00; + Y8950->deltat->memory_mask = 0x00; + Y8950->deltat->status_set_handler = Y8950_deltat_status_set; Y8950->deltat->status_reset_handler = Y8950_deltat_status_reset; Y8950->deltat->status_change_which_chip = Y8950; diff --git a/src/chips/fmopl.c.bak b/src/chips/fmopl.c.bak deleted file mode 100644 index d027a3b..0000000 --- a/src/chips/fmopl.c.bak +++ /dev/null @@ -1,2742 +0,0 @@ -/* -** -** File: fmopl.c - software implementation of FM sound generator -** types OPL and OPL2 -** -** Copyright Jarek Burczynski (bujar at mame dot net) -** Copyright Tatsuyuki Satoh , MultiArcadeMachineEmulator development -** -** Version 0.72 -** - -Revision History: - -04-08-2003 Jarek Burczynski: - - removed BFRDY hack. BFRDY is busy flag, and it should be 0 only when the chip - handles memory read/write or during the adpcm synthesis when the chip - requests another byte of ADPCM data. - -24-07-2003 Jarek Burczynski: - - added a small hack for Y8950 status BFRDY flag (bit 3 should be set after - some (unknown) delay). Right now it's always set. - -14-06-2003 Jarek Burczynski: - - implemented all of the status register flags in Y8950 emulation - - renamed y8950_set_delta_t_memory() parameters from _rom_ to _mem_ since - they can be either RAM or ROM - -08-10-2002 Jarek Burczynski (thanks to Dox for the YM3526 chip) - - corrected ym3526_read() to always set bit 2 and bit 1 - to HIGH state - identical to ym3812_read (verified on real YM3526) - -04-28-2002 Jarek Burczynski: - - binary exact Envelope Generator (verified on real YM3812); - compared to YM2151: the EG clock is equal to internal_clock, - rates are 2 times slower and volume resolution is one bit less - - modified interface functions (they no longer return pointer - - that's internal to the emulator now): - - new wrapper functions for OPLCreate: ym3526_init(), ym3812_init() and y8950_init() - - corrected 'off by one' error in feedback calculations (when feedback is off) - - enabled waveform usage (credit goes to Vlad Romascanu and zazzal22) - - speeded up noise generator calculations (Nicola Salmoria) - -03-24-2002 Jarek Burczynski (thanks to Dox for the YM3812 chip) - Complete rewrite (all verified on real YM3812): - - corrected sin_tab and tl_tab data - - corrected operator output calculations - - corrected waveform_select_enable register; - simply: ignore all writes to waveform_select register when - waveform_select_enable == 0 and do not change the waveform previously selected. - - corrected KSR handling - - corrected Envelope Generator: attack shape, Sustain mode and - Percussive/Non-percussive modes handling - - Envelope Generator rates are two times slower now - - LFO amplitude (tremolo) and phase modulation (vibrato) - - rhythm sounds phase generation - - white noise generator (big thanks to Olivier Galibert for mentioning Berlekamp-Massey algorithm) - - corrected key on/off handling (the 'key' signal is ORed from three sources: FM, rhythm and CSM) - - funky details (like ignoring output of operator 1 in BD rhythm sound when connect == 1) - -12-28-2001 Acho A. Tang - - reflected Delta-T EOS status on Y8950 status port. - - fixed subscription range of attack/decay tables - - - To do: - add delay before key off in CSM mode (see CSMKeyControll) - verify volume of the FM part on the Y8950 -*/ - -#include -#include "mamedef.h" -#ifdef _DEBUG -#include -#endif -#include -#include -//#include "sndintrf.h" -#include "fmopl.h" -#if BUILD_Y8950 -#include "ymdeltat.h" -#endif - - -#define NULL ((void *)0) - - -/* output final shift */ -#if (OPL_SAMPLE_BITS==16) - #define FINAL_SH (0) - #define MAXOUT (+32767) - #define MINOUT (-32768) -#else - #define FINAL_SH (8) - #define MAXOUT (+127) - #define MINOUT (-128) -#endif - - -#define FREQ_SH 16 /* 16.16 fixed point (frequency calculations) */ -#define EG_SH 16 /* 16.16 fixed point (EG timing) */ -#define LFO_SH 24 /* 8.24 fixed point (LFO calculations) */ -#define TIMER_SH 16 /* 16.16 fixed point (timers calculations) */ - -#define FREQ_MASK ((1<=0) - { - if (value < 0x0200) - return (value & ~0); - if (value < 0x0400) - return (value & ~1); - if (value < 0x0800) - return (value & ~3); - if (value < 0x1000) - return (value & ~7); - if (value < 0x2000) - return (value & ~15); - if (value < 0x4000) - return (value & ~31); - return (value & ~63); - } - /*else value < 0*/ - if (value > -0x0200) - return (~abs(value) & ~0); - if (value > -0x0400) - return (~abs(value) & ~1); - if (value > -0x0800) - return (~abs(value) & ~3); - if (value > -0x1000) - return (~abs(value) & ~7); - if (value > -0x2000) - return (~abs(value) & ~15); - if (value > -0x4000) - return (~abs(value) & ~31); - return (~abs(value) & ~63); -} - - -static FILE *sample[1]; - #if 1 /*save to MONO file */ - #define SAVE_ALL_CHANNELS \ - { signed int pom = acc_calc(lt); \ - fputc((unsigned short)pom&0xff,sample[0]); \ - fputc(((unsigned short)pom>>8)&0xff,sample[0]); \ - } - #else /*save to STEREO file */ - #define SAVE_ALL_CHANNELS \ - { signed int pom = lt; \ - fputc((unsigned short)pom&0xff,sample[0]); \ - fputc(((unsigned short)pom>>8)&0xff,sample[0]); \ - pom = rt; \ - fputc((unsigned short)pom&0xff,sample[0]); \ - fputc(((unsigned short)pom>>8)&0xff,sample[0]); \ - } - #endif -#endif - -//#define LOG_CYM_FILE 0 -//static FILE * cymfile = NULL; - - - -#define OPL_TYPE_WAVESEL 0x01 /* waveform select */ -#define OPL_TYPE_ADPCM 0x02 /* DELTA-T ADPCM unit */ -#define OPL_TYPE_KEYBOARD 0x04 /* keyboard interface */ -#define OPL_TYPE_IO 0x08 /* I/O port */ - -/* ---------- Generic interface section ---------- */ -#define OPL_TYPE_YM3526 (0) -#define OPL_TYPE_YM3812 (OPL_TYPE_WAVESEL) -#define OPL_TYPE_Y8950 (OPL_TYPE_ADPCM|OPL_TYPE_KEYBOARD|OPL_TYPE_IO) - - - -typedef struct -{ - UINT32 ar; /* attack rate: AR<<2 */ - UINT32 dr; /* decay rate: DR<<2 */ - UINT32 rr; /* release rate:RR<<2 */ - UINT8 KSR; /* key scale rate */ - UINT8 ksl; /* keyscale level */ - UINT8 ksr; /* key scale rate: kcode>>KSR */ - UINT8 mul; /* multiple: mul_tab[ML] */ - - /* Phase Generator */ - UINT32 Cnt; /* frequency counter */ - UINT32 Incr; /* frequency counter step */ - UINT8 FB; /* feedback shift value */ - INT32 *connect1; /* slot1 output pointer */ - INT32 op1_out[2]; /* slot1 output for feedback */ - UINT8 CON; /* connection (algorithm) type */ - - /* Envelope Generator */ - UINT8 eg_type; /* percussive/non-percussive mode */ - UINT8 state; /* phase type */ - UINT32 TL; /* total level: TL << 2 */ - INT32 TLL; /* adjusted now TL */ - INT32 volume; /* envelope counter */ - UINT32 sl; /* sustain level: sl_tab[SL] */ - UINT8 eg_sh_ar; /* (attack state) */ - UINT8 eg_sel_ar; /* (attack state) */ - UINT8 eg_sh_dr; /* (decay state) */ - UINT8 eg_sel_dr; /* (decay state) */ - UINT8 eg_sh_rr; /* (release state) */ - UINT8 eg_sel_rr; /* (release state) */ - UINT32 key; /* 0 = KEY OFF, >0 = KEY ON */ - - /* LFO */ - UINT32 AMmask; /* LFO Amplitude Modulation enable mask */ - UINT8 vib; /* LFO Phase Modulation enable flag (active high)*/ - - /* waveform select */ - UINT16 wavetable; -} OPL_SLOT; - -typedef struct -{ - OPL_SLOT SLOT[2]; - /* phase generator state */ - UINT32 block_fnum; /* block+fnum */ - UINT32 fc; /* Freq. Increment base */ - UINT32 ksl_base; /* KeyScaleLevel Base step */ - UINT8 kcode; /* key code (for key scaling) */ - UINT8 Muted; -} OPL_CH; - -/* OPL state */ -typedef struct fm_opl_f -{ - /* FM channel slots */ - OPL_CH P_CH[9]; /* OPL/OPL2 chips have 9 channels*/ - UINT8 MuteSpc[6]; /* Mute Special: 5 Rhythm + 1 DELTA-T Channel */ - - UINT32 eg_cnt; /* global envelope generator counter */ - UINT32 eg_timer; /* global envelope generator counter works at frequency = chipclock/72 */ - UINT32 eg_timer_add; /* step of eg_timer */ - UINT32 eg_timer_overflow; /* envelope generator timer overlfows every 1 sample (on real chip) */ - - UINT8 rhythm; /* Rhythm mode */ - - UINT32 fn_tab[1024]; /* fnumber->increment counter */ - - /* LFO */ - UINT32 LFO_AM; - INT32 LFO_PM; - - UINT8 lfo_am_depth; - UINT8 lfo_pm_depth_range; - UINT32 lfo_am_cnt; - UINT32 lfo_am_inc; - UINT32 lfo_pm_cnt; - UINT32 lfo_pm_inc; - - UINT32 noise_rng; /* 23 bit noise shift register */ - UINT32 noise_p; /* current noise 'phase' */ - UINT32 noise_f; /* current noise period */ - - UINT8 wavesel; /* waveform select enable flag */ - - UINT32 T[2]; /* timer counters */ - UINT8 st[2]; /* timer enable */ - -#if BUILD_Y8950 - /* Delta-T ADPCM unit (Y8950) */ - - YM_DELTAT *deltat; - - /* Keyboard and I/O ports interface */ - UINT8 portDirection; - UINT8 portLatch; - OPL_PORTHANDLER_R porthandler_r; - OPL_PORTHANDLER_W porthandler_w; - void * port_param; - OPL_PORTHANDLER_R keyboardhandler_r; - OPL_PORTHANDLER_W keyboardhandler_w; - void * keyboard_param; -#endif - - /* external event callback handlers */ - OPL_TIMERHANDLER timer_handler; /* TIMER handler */ - void *TimerParam; /* TIMER parameter */ - OPL_IRQHANDLER IRQHandler; /* IRQ handler */ - void *IRQParam; /* IRQ parameter */ - OPL_UPDATEHANDLER UpdateHandler;/* stream update handler */ - void *UpdateParam; /* stream update parameter */ - - UINT8 type; /* chip type */ - UINT8 address; /* address register */ - UINT8 status; /* status flag */ - UINT8 statusmask; /* status mask */ - UINT8 mode; /* Reg.08 : CSM,notesel,etc. */ - - UINT32 clock; /* master clock (Hz) */ - UINT32 rate; /* sampling rate (Hz) */ - double freqbase; /* frequency base */ - //attotime TimerBase; /* Timer base time (==sampling time)*/ - - signed int phase_modulation; /* phase modulation input (SLOT 2) */ - signed int output[1]; -#if BUILD_Y8950 - INT32 output_deltat[4]; /* for Y8950 DELTA-T, chip is mono, that 4 here is just for safety */ -#endif -} FM_OPL; - - - -/* mapping of register number (offset) to slot number used by the emulator */ -static const int slot_array[32]= -{ - 0, 2, 4, 1, 3, 5,-1,-1, - 6, 8,10, 7, 9,11,-1,-1, - 12,14,16,13,15,17,-1,-1, - -1,-1,-1,-1,-1,-1,-1,-1 -}; - -/* key scale level */ -/* table is 3dB/octave , DV converts this into 6dB/octave */ -/* 0.1875 is bit 0 weight of the envelope counter (volume) expressed in the 'decibel' scale */ -#define DV (0.1875/2.0) -static const UINT32 ksl_tab[8*16]= -{ - /* OCT 0 */ - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - /* OCT 1 */ - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 0.750/DV, 1.125/DV, 1.500/DV, - 1.875/DV, 2.250/DV, 2.625/DV, 3.000/DV, - /* OCT 2 */ - 0.000/DV, 0.000/DV, 0.000/DV, 0.000/DV, - 0.000/DV, 1.125/DV, 1.875/DV, 2.625/DV, - 3.000/DV, 3.750/DV, 4.125/DV, 4.500/DV, - 4.875/DV, 5.250/DV, 5.625/DV, 6.000/DV, - /* OCT 3 */ - 0.000/DV, 0.000/DV, 0.000/DV, 1.875/DV, - 3.000/DV, 4.125/DV, 4.875/DV, 5.625/DV, - 6.000/DV, 6.750/DV, 7.125/DV, 7.500/DV, - 7.875/DV, 8.250/DV, 8.625/DV, 9.000/DV, - /* OCT 4 */ - 0.000/DV, 0.000/DV, 3.000/DV, 4.875/DV, - 6.000/DV, 7.125/DV, 7.875/DV, 8.625/DV, - 9.000/DV, 9.750/DV,10.125/DV,10.500/DV, - 10.875/DV,11.250/DV,11.625/DV,12.000/DV, - /* OCT 5 */ - 0.000/DV, 3.000/DV, 6.000/DV, 7.875/DV, - 9.000/DV,10.125/DV,10.875/DV,11.625/DV, - 12.000/DV,12.750/DV,13.125/DV,13.500/DV, - 13.875/DV,14.250/DV,14.625/DV,15.000/DV, - /* OCT 6 */ - 0.000/DV, 6.000/DV, 9.000/DV,10.875/DV, - 12.000/DV,13.125/DV,13.875/DV,14.625/DV, - 15.000/DV,15.750/DV,16.125/DV,16.500/DV, - 16.875/DV,17.250/DV,17.625/DV,18.000/DV, - /* OCT 7 */ - 0.000/DV, 9.000/DV,12.000/DV,13.875/DV, - 15.000/DV,16.125/DV,16.875/DV,17.625/DV, - 18.000/DV,18.750/DV,19.125/DV,19.500/DV, - 19.875/DV,20.250/DV,20.625/DV,21.000/DV -}; -#undef DV - -/* 0 / 3.0 / 1.5 / 6.0 dB/OCT */ -static const UINT32 ksl_shift[4] = { 31, 1, 2, 0 }; - - -/* sustain level table (3dB per step) */ -/* 0 - 15: 0, 3, 6, 9,12,15,18,21,24,27,30,33,36,39,42,93 (dB)*/ -#define SC(db) (UINT32) ( db * (2.0/ENV_STEP) ) -static const UINT32 sl_tab[16]={ - SC( 0),SC( 1),SC( 2),SC(3 ),SC(4 ),SC(5 ),SC(6 ),SC( 7), - SC( 8),SC( 9),SC(10),SC(11),SC(12),SC(13),SC(14),SC(31) -}; -#undef SC - - -#define RATE_STEPS (8) -static const unsigned char eg_inc[15*RATE_STEPS]={ - -/*cycle:0 1 2 3 4 5 6 7*/ - -/* 0 */ 0,1, 0,1, 0,1, 0,1, /* rates 00..12 0 (increment by 0 or 1) */ -/* 1 */ 0,1, 0,1, 1,1, 0,1, /* rates 00..12 1 */ -/* 2 */ 0,1, 1,1, 0,1, 1,1, /* rates 00..12 2 */ -/* 3 */ 0,1, 1,1, 1,1, 1,1, /* rates 00..12 3 */ - -/* 4 */ 1,1, 1,1, 1,1, 1,1, /* rate 13 0 (increment by 1) */ -/* 5 */ 1,1, 1,2, 1,1, 1,2, /* rate 13 1 */ -/* 6 */ 1,2, 1,2, 1,2, 1,2, /* rate 13 2 */ -/* 7 */ 1,2, 2,2, 1,2, 2,2, /* rate 13 3 */ - -/* 8 */ 2,2, 2,2, 2,2, 2,2, /* rate 14 0 (increment by 2) */ -/* 9 */ 2,2, 2,4, 2,2, 2,4, /* rate 14 1 */ -/*10 */ 2,4, 2,4, 2,4, 2,4, /* rate 14 2 */ -/*11 */ 2,4, 4,4, 2,4, 4,4, /* rate 14 3 */ - -/*12 */ 4,4, 4,4, 4,4, 4,4, /* rates 15 0, 15 1, 15 2, 15 3 (increment by 4) */ -/*13 */ 8,8, 8,8, 8,8, 8,8, /* rates 15 2, 15 3 for attack */ -/*14 */ 0,0, 0,0, 0,0, 0,0, /* infinity rates for attack and decay(s) */ -}; - - -#define O(a) (a*RATE_STEPS) - -/*note that there is no O(13) in this table - it's directly in the code */ -static const unsigned char eg_rate_select[16+64+16]={ /* Envelope Generator rates (16 + 64 rates + 16 RKS) */ -/* 16 infinite time rates */ -O(14),O(14),O(14),O(14),O(14),O(14),O(14),O(14), -O(14),O(14),O(14),O(14),O(14),O(14),O(14),O(14), - -/* rates 00-12 */ -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), -O( 0),O( 1),O( 2),O( 3), - -/* rate 13 */ -O( 4),O( 5),O( 6),O( 7), - -/* rate 14 */ -O( 8),O( 9),O(10),O(11), - -/* rate 15 */ -O(12),O(12),O(12),O(12), - -/* 16 dummy rates (same as 15 3) */ -O(12),O(12),O(12),O(12),O(12),O(12),O(12),O(12), -O(12),O(12),O(12),O(12),O(12),O(12),O(12),O(12), - -}; -#undef O - -/*rate 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 */ -/*shift 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0 */ -/*mask 4095, 2047, 1023, 511, 255, 127, 63, 31, 15, 7, 3, 1, 0, 0, 0, 0 */ - -#define O(a) (a*1) -static const unsigned char eg_rate_shift[16+64+16]={ /* Envelope Generator counter shifts (16 + 64 rates + 16 RKS) */ -/* 16 infinite time rates */ -O(0),O(0),O(0),O(0),O(0),O(0),O(0),O(0), -O(0),O(0),O(0),O(0),O(0),O(0),O(0),O(0), - -/* rates 00-12 */ -O(12),O(12),O(12),O(12), -O(11),O(11),O(11),O(11), -O(10),O(10),O(10),O(10), -O( 9),O( 9),O( 9),O( 9), -O( 8),O( 8),O( 8),O( 8), -O( 7),O( 7),O( 7),O( 7), -O( 6),O( 6),O( 6),O( 6), -O( 5),O( 5),O( 5),O( 5), -O( 4),O( 4),O( 4),O( 4), -O( 3),O( 3),O( 3),O( 3), -O( 2),O( 2),O( 2),O( 2), -O( 1),O( 1),O( 1),O( 1), -O( 0),O( 0),O( 0),O( 0), - -/* rate 13 */ -O( 0),O( 0),O( 0),O( 0), - -/* rate 14 */ -O( 0),O( 0),O( 0),O( 0), - -/* rate 15 */ -O( 0),O( 0),O( 0),O( 0), - -/* 16 dummy rates (same as 15 3) */ -O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0), -O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0),O( 0), - -}; -#undef O - - -/* multiple table */ -#define ML 2 -static const UINT8 mul_tab[16]= { -/* 1/2, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,10,12,12,15,15 */ - 0.50*ML, 1.00*ML, 2.00*ML, 3.00*ML, 4.00*ML, 5.00*ML, 6.00*ML, 7.00*ML, - 8.00*ML, 9.00*ML,10.00*ML,10.00*ML,12.00*ML,12.00*ML,15.00*ML,15.00*ML -}; -#undef ML - -/* TL_TAB_LEN is calculated as: -* 12 - sinus amplitude bits (Y axis) -* 2 - sinus sign bit (Y axis) -* TL_RES_LEN - sinus resolution (X axis) -*/ -#define TL_TAB_LEN (12*2*TL_RES_LEN) -static signed int tl_tab[TL_TAB_LEN]; - -#define ENV_QUIET (TL_TAB_LEN>>4) - -/* sin waveform table in 'decibel' scale */ -/* four waveforms on OPL2 type chips */ -static unsigned int sin_tab[SIN_LEN * 4]; - - -/* LFO Amplitude Modulation table (verified on real YM3812) - 27 output levels (triangle waveform); 1 level takes one of: 192, 256 or 448 samples - - Length: 210 elements. - - Each of the elements has to be repeated - exactly 64 times (on 64 consecutive samples). - The whole table takes: 64 * 210 = 13440 samples. - - When AM = 1 data is used directly - When AM = 0 data is divided by 4 before being used (losing precision is important) -*/ - -#define LFO_AM_TAB_ELEMENTS 210 - -static const UINT8 lfo_am_table[LFO_AM_TAB_ELEMENTS] = { -0,0,0,0,0,0,0, -1,1,1,1, -2,2,2,2, -3,3,3,3, -4,4,4,4, -5,5,5,5, -6,6,6,6, -7,7,7,7, -8,8,8,8, -9,9,9,9, -10,10,10,10, -11,11,11,11, -12,12,12,12, -13,13,13,13, -14,14,14,14, -15,15,15,15, -16,16,16,16, -17,17,17,17, -18,18,18,18, -19,19,19,19, -20,20,20,20, -21,21,21,21, -22,22,22,22, -23,23,23,23, -24,24,24,24, -25,25,25,25, -26,26,26, -25,25,25,25, -24,24,24,24, -23,23,23,23, -22,22,22,22, -21,21,21,21, -20,20,20,20, -19,19,19,19, -18,18,18,18, -17,17,17,17, -16,16,16,16, -15,15,15,15, -14,14,14,14, -13,13,13,13, -12,12,12,12, -11,11,11,11, -10,10,10,10, -9,9,9,9, -8,8,8,8, -7,7,7,7, -6,6,6,6, -5,5,5,5, -4,4,4,4, -3,3,3,3, -2,2,2,2, -1,1,1,1 -}; - -/* LFO Phase Modulation table (verified on real YM3812) */ -static const INT8 lfo_pm_table[8*8*2] = { - -/* FNUM2/FNUM = 00 0xxxxxxx (0x0000) */ -0, 0, 0, 0, 0, 0, 0, 0, /*LFO PM depth = 0*/ -0, 0, 0, 0, 0, 0, 0, 0, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 00 1xxxxxxx (0x0080) */ -0, 0, 0, 0, 0, 0, 0, 0, /*LFO PM depth = 0*/ -1, 0, 0, 0,-1, 0, 0, 0, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 01 0xxxxxxx (0x0100) */ -1, 0, 0, 0,-1, 0, 0, 0, /*LFO PM depth = 0*/ -2, 1, 0,-1,-2,-1, 0, 1, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 01 1xxxxxxx (0x0180) */ -1, 0, 0, 0,-1, 0, 0, 0, /*LFO PM depth = 0*/ -3, 1, 0,-1,-3,-1, 0, 1, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 10 0xxxxxxx (0x0200) */ -2, 1, 0,-1,-2,-1, 0, 1, /*LFO PM depth = 0*/ -4, 2, 0,-2,-4,-2, 0, 2, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 10 1xxxxxxx (0x0280) */ -2, 1, 0,-1,-2,-1, 0, 1, /*LFO PM depth = 0*/ -5, 2, 0,-2,-5,-2, 0, 2, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 11 0xxxxxxx (0x0300) */ -3, 1, 0,-1,-3,-1, 0, 1, /*LFO PM depth = 0*/ -6, 3, 0,-3,-6,-3, 0, 3, /*LFO PM depth = 1*/ - -/* FNUM2/FNUM = 11 1xxxxxxx (0x0380) */ -3, 1, 0,-1,-3,-1, 0, 1, /*LFO PM depth = 0*/ -7, 3, 0,-3,-7,-3, 0, 3 /*LFO PM depth = 1*/ -}; - - -/* lock level of common table */ -static int num_lock = 0; - - -#define SLOT7_1 (&OPL->P_CH[7].SLOT[SLOT1]) -#define SLOT7_2 (&OPL->P_CH[7].SLOT[SLOT2]) -#define SLOT8_1 (&OPL->P_CH[8].SLOT[SLOT1]) -#define SLOT8_2 (&OPL->P_CH[8].SLOT[SLOT2]) - - - - -/*INLINE int limit( int val, int max, int min ) { - if ( val > max ) - val = max; - else if ( val < min ) - val = min; - - return val; -}*/ - - -/* status set and IRQ handling */ -INLINE void OPL_STATUS_SET(FM_OPL *OPL,int flag) -{ - /* set status flag */ - OPL->status |= flag; - if(!(OPL->status & 0x80)) - { - if(OPL->status & OPL->statusmask) - { /* IRQ on */ - OPL->status |= 0x80; - /* callback user interrupt handler (IRQ is OFF to ON) */ - if(OPL->IRQHandler) (OPL->IRQHandler)(OPL->IRQParam,1); - } - } -} - -/* status reset and IRQ handling */ -INLINE void OPL_STATUS_RESET(FM_OPL *OPL,int flag) -{ - /* reset status flag */ - OPL->status &=~flag; - if((OPL->status & 0x80)) - { - if (!(OPL->status & OPL->statusmask) ) - { - OPL->status &= 0x7f; - /* callback user interrupt handler (IRQ is ON to OFF) */ - if(OPL->IRQHandler) (OPL->IRQHandler)(OPL->IRQParam,0); - } - } -} - -/* IRQ mask set */ -INLINE void OPL_STATUSMASK_SET(FM_OPL *OPL,int flag) -{ - OPL->statusmask = flag; - /* IRQ handling check */ - OPL_STATUS_SET(OPL,0); - OPL_STATUS_RESET(OPL,0); -} - - -/* advance LFO to next sample */ -INLINE void advance_lfo(FM_OPL *OPL) -{ - UINT8 tmp; - - /* LFO */ - OPL->lfo_am_cnt += OPL->lfo_am_inc; - if (OPL->lfo_am_cnt >= ((UINT32)LFO_AM_TAB_ELEMENTS<lfo_am_cnt -= ((UINT32)LFO_AM_TAB_ELEMENTS<lfo_am_cnt >> LFO_SH ]; - - if (OPL->lfo_am_depth) - OPL->LFO_AM = tmp; - else - OPL->LFO_AM = tmp>>2; - - OPL->lfo_pm_cnt += OPL->lfo_pm_inc; - OPL->LFO_PM = ((OPL->lfo_pm_cnt>>LFO_SH) & 7) | OPL->lfo_pm_depth_range; -} - -INLINE void refresh_eg(FM_OPL* OPL) -{ - OPL_CH *CH; - OPL_SLOT *op; - int i; - int new_vol; - - for (i=0; i<9*2; i++) - { - CH = &OPL->P_CH[i/2]; - op = &CH->SLOT[i&1]; - - // Envelope Generator - switch(op->state) - { - case EG_ATT: // attack phase - if ( !(OPL->eg_cnt & ((1<eg_sh_ar)-1) ) ) - { - new_vol = op->volume + ((~op->volume * - (eg_inc[op->eg_sel_ar + ((OPL->eg_cnt>>op->eg_sh_ar)&7)]) - ) >> 3); - if (new_vol <= MIN_ATT_INDEX) - { - op->volume = MIN_ATT_INDEX; - op->state = EG_DEC; - } - } - break; - /*case EG_DEC: // decay phase - if ( !(OPL->eg_cnt & ((1<eg_sh_dr)-1) ) ) - { - new_vol = op->volume + eg_inc[op->eg_sel_dr + ((OPL->eg_cnt>>op->eg_sh_dr)&7)]; - - if ( new_vol >= op->sl ) - op->state = EG_SUS; - } - break; - case EG_SUS: // sustain phase - if ( !op->eg_type) percussive mode - { - new_vol = op->volume + eg_inc[op->eg_sel_rr + ((OPL->eg_cnt>>op->eg_sh_rr)&7)]; - - if ( !(OPL->eg_cnt & ((1<eg_sh_rr)-1) ) ) - { - if ( new_vol >= MAX_ATT_INDEX ) - op->volume = MAX_ATT_INDEX; - } - } - break; - case EG_REL: // release phase - if ( !(OPL->eg_cnt & ((1<eg_sh_rr)-1) ) ) - { - new_vol = op->volume + eg_inc[op->eg_sel_rr + ((OPL->eg_cnt>>op->eg_sh_rr)&7)]; - if ( new_vol >= MAX_ATT_INDEX ) - { - op->volume = MAX_ATT_INDEX; - op->state = EG_OFF; - } - - } - break; - default: - break;*/ - } - } - - return; -} - -/* advance to next sample */ -INLINE void advance(FM_OPL *OPL) -{ - OPL_CH *CH; - OPL_SLOT *op; - int i; - - OPL->eg_timer += OPL->eg_timer_add; - - while (OPL->eg_timer >= OPL->eg_timer_overflow) - { - OPL->eg_timer -= OPL->eg_timer_overflow; - - OPL->eg_cnt++; - - for (i=0; i<9*2; i++) - { - CH = &OPL->P_CH[i/2]; - op = &CH->SLOT[i&1]; - - /* Envelope Generator */ - switch(op->state) - { - case EG_ATT: /* attack phase */ - if ( !(OPL->eg_cnt & ((1<eg_sh_ar)-1) ) ) - { - op->volume += (~op->volume * - (eg_inc[op->eg_sel_ar + ((OPL->eg_cnt>>op->eg_sh_ar)&7)]) - ) >>3; - - if (op->volume <= MIN_ATT_INDEX) - { - op->volume = MIN_ATT_INDEX; - op->state = EG_DEC; - } - - } - break; - - case EG_DEC: /* decay phase */ - if ( !(OPL->eg_cnt & ((1<eg_sh_dr)-1) ) ) - { - op->volume += eg_inc[op->eg_sel_dr + ((OPL->eg_cnt>>op->eg_sh_dr)&7)]; - - if ( op->volume >= op->sl ) - op->state = EG_SUS; - - } - break; - - case EG_SUS: /* sustain phase */ - - /* this is important behaviour: - one can change percusive/non-percussive modes on the fly and - the chip will remain in sustain phase - verified on real YM3812 */ - - if(op->eg_type) /* non-percussive mode */ - { - /* do nothing */ - } - else /* percussive mode */ - { - /* during sustain phase chip adds Release Rate (in percussive mode) */ - if ( !(OPL->eg_cnt & ((1<eg_sh_rr)-1) ) ) - { - op->volume += eg_inc[op->eg_sel_rr + ((OPL->eg_cnt>>op->eg_sh_rr)&7)]; - - if ( op->volume >= MAX_ATT_INDEX ) - op->volume = MAX_ATT_INDEX; - } - /* else do nothing in sustain phase */ - } - break; - - case EG_REL: /* release phase */ - if ( !(OPL->eg_cnt & ((1<eg_sh_rr)-1) ) ) - { - op->volume += eg_inc[op->eg_sel_rr + ((OPL->eg_cnt>>op->eg_sh_rr)&7)]; - - if ( op->volume >= MAX_ATT_INDEX ) - { - op->volume = MAX_ATT_INDEX; - op->state = EG_OFF; - } - - } - break; - - default: - break; - } - } - } - - for (i=0; i<9*2; i++) - { - CH = &OPL->P_CH[i/2]; - op = &CH->SLOT[i&1]; - - /* Phase Generator */ - if(op->vib) - { - UINT8 block; - unsigned int block_fnum = CH->block_fnum; - - unsigned int fnum_lfo = (block_fnum&0x0380) >> 7; - - signed int lfo_fn_table_index_offset = lfo_pm_table[OPL->LFO_PM + 16*fnum_lfo ]; - - if (lfo_fn_table_index_offset) /* LFO phase modulation active */ - { - block_fnum += lfo_fn_table_index_offset; - block = (block_fnum&0x1c00) >> 10; - op->Cnt += (OPL->fn_tab[block_fnum&0x03ff] >> (7-block)) * op->mul; - } - else /* LFO phase modulation = zero */ - { - op->Cnt += op->Incr; - } - } - else /* LFO phase modulation disabled for this operator */ - { - op->Cnt += op->Incr; - } - } - - /* The Noise Generator of the YM3812 is 23-bit shift register. - * Period is equal to 2^23-2 samples. - * Register works at sampling frequency of the chip, so output - * can change on every sample. - * - * Output of the register and input to the bit 22 is: - * bit0 XOR bit14 XOR bit15 XOR bit22 - * - * Simply use bit 22 as the noise output. - */ - - OPL->noise_p += OPL->noise_f; - i = OPL->noise_p >> FREQ_SH; /* number of events (shifts of the shift register) */ - OPL->noise_p &= FREQ_MASK; - while (i) - { - /* - UINT32 j; - j = ( (OPL->noise_rng) ^ (OPL->noise_rng>>14) ^ (OPL->noise_rng>>15) ^ (OPL->noise_rng>>22) ) & 1; - OPL->noise_rng = (j<<22) | (OPL->noise_rng>>1); - */ - - /* - Instead of doing all the logic operations above, we - use a trick here (and use bit 0 as the noise output). - The difference is only that the noise bit changes one - step ahead. This doesn't matter since we don't know - what is real state of the noise_rng after the reset. - */ - - if (OPL->noise_rng & 1) OPL->noise_rng ^= 0x800302; - OPL->noise_rng >>= 1; - - i--; - } -} - - -INLINE signed int op_calc(UINT32 phase, unsigned int env, signed int pm, unsigned int wave_tab) -{ - UINT32 p; - - p = (env<<4) + sin_tab[wave_tab + ((((signed int)((phase & ~FREQ_MASK) + (pm<<16))) >> FREQ_SH ) & SIN_MASK) ]; - - if (p >= TL_TAB_LEN) - return 0; - return tl_tab[p]; -} - -INLINE signed int op_calc1(UINT32 phase, unsigned int env, signed int pm, unsigned int wave_tab) -{ - UINT32 p; - - p = (env<<4) + sin_tab[wave_tab + ((((signed int)((phase & ~FREQ_MASK) + pm )) >> FREQ_SH ) & SIN_MASK) ]; - - if (p >= TL_TAB_LEN) - return 0; - return tl_tab[p]; -} - - -#define volume_calc(OP) ((OP)->TLL + ((UINT32)(OP)->volume) + (OPL->LFO_AM & (OP)->AMmask)) - -/* calculate output */ -INLINE void OPL_CALC_CH( FM_OPL *OPL, OPL_CH *CH ) -{ - OPL_SLOT *SLOT; - unsigned int env; - signed int out; - - if (CH->Muted) - return; - - OPL->phase_modulation = 0; - - /* SLOT 1 */ - SLOT = &CH->SLOT[SLOT1]; - env = volume_calc(SLOT); - out = SLOT->op1_out[0] + SLOT->op1_out[1]; - SLOT->op1_out[0] = SLOT->op1_out[1]; - *SLOT->connect1 += SLOT->op1_out[0]; - SLOT->op1_out[1] = 0; - if( env < ENV_QUIET ) - { - if (!SLOT->FB) - out = 0; - SLOT->op1_out[1] = op_calc1(SLOT->Cnt, env, (out<FB), SLOT->wavetable ); - } - - /* SLOT 2 */ - SLOT++; - env = volume_calc(SLOT); - if( env < ENV_QUIET ) - OPL->output[0] += op_calc(SLOT->Cnt, env, OPL->phase_modulation, SLOT->wavetable); -} - -/* - operators used in the rhythm sounds generation process: - - Envelope Generator: - -channel operator register number Bass High Snare Tom Top -/ slot number TL ARDR SLRR Wave Drum Hat Drum Tom Cymbal - 6 / 0 12 50 70 90 f0 + - 6 / 1 15 53 73 93 f3 + - 7 / 0 13 51 71 91 f1 + - 7 / 1 16 54 74 94 f4 + - 8 / 0 14 52 72 92 f2 + - 8 / 1 17 55 75 95 f5 + - - Phase Generator: - -channel operator register number Bass High Snare Tom Top -/ slot number MULTIPLE Drum Hat Drum Tom Cymbal - 6 / 0 12 30 + - 6 / 1 15 33 + - 7 / 0 13 31 + + + - 7 / 1 16 34 ----- n o t u s e d ----- - 8 / 0 14 32 + - 8 / 1 17 35 + + - -channel operator register number Bass High Snare Tom Top -number number BLK/FNUM2 FNUM Drum Hat Drum Tom Cymbal - 6 12,15 B6 A6 + - - 7 13,16 B7 A7 + + + - - 8 14,17 B8 A8 + + + - -*/ - -/* calculate rhythm */ - -INLINE void OPL_CALC_RH( FM_OPL *OPL, OPL_CH *CH, unsigned int noise ) -{ - OPL_SLOT *SLOT; - signed int out; - unsigned int env; - - - /* Bass Drum (verified on real YM3812): - - depends on the channel 6 'connect' register: - when connect = 0 it works the same as in normal (non-rhythm) mode (op1->op2->out) - when connect = 1 _only_ operator 2 is present on output (op2->out), operator 1 is ignored - - output sample always is multiplied by 2 - */ - - OPL->phase_modulation = 0; - /* SLOT 1 */ - SLOT = &CH[6].SLOT[SLOT1]; - env = volume_calc(SLOT); - - out = SLOT->op1_out[0] + SLOT->op1_out[1]; - SLOT->op1_out[0] = SLOT->op1_out[1]; - - if (!SLOT->CON) - OPL->phase_modulation = SLOT->op1_out[0]; - /* else ignore output of operator 1 */ - - SLOT->op1_out[1] = 0; - if( env < ENV_QUIET ) - { - if (!SLOT->FB) - out = 0; - SLOT->op1_out[1] = op_calc1(SLOT->Cnt, env, (out<FB), SLOT->wavetable ); - } - - /* SLOT 2 */ - SLOT++; - env = volume_calc(SLOT); - if( env < ENV_QUIET && ! OPL->MuteSpc[0] ) - OPL->output[0] += op_calc(SLOT->Cnt, env, OPL->phase_modulation, SLOT->wavetable) * 2; - - - /* Phase generation is based on: */ - /* HH (13) channel 7->slot 1 combined with channel 8->slot 2 (same combination as TOP CYMBAL but different output phases) */ - /* SD (16) channel 7->slot 1 */ - /* TOM (14) channel 8->slot 1 */ - /* TOP (17) channel 7->slot 1 combined with channel 8->slot 2 (same combination as HIGH HAT but different output phases) */ - - /* Envelope generation based on: */ - /* HH channel 7->slot1 */ - /* SD channel 7->slot2 */ - /* TOM channel 8->slot1 */ - /* TOP channel 8->slot2 */ - - - /* The following formulas can be well optimized. - I leave them in direct form for now (in case I've missed something). - */ - - /* High Hat (verified on real YM3812) */ - env = volume_calc(SLOT7_1); - if( env < ENV_QUIET && ! OPL->MuteSpc[4] ) - { - - /* high hat phase generation: - phase = d0 or 234 (based on frequency only) - phase = 34 or 2d0 (based on noise) - */ - - /* base frequency derived from operator 1 in channel 7 */ - unsigned char bit7 = ((SLOT7_1->Cnt>>FREQ_SH)>>7)&1; - unsigned char bit3 = ((SLOT7_1->Cnt>>FREQ_SH)>>3)&1; - unsigned char bit2 = ((SLOT7_1->Cnt>>FREQ_SH)>>2)&1; - - unsigned char res1 = (bit2 ^ bit7) | bit3; - - /* when res1 = 0 phase = 0x000 | 0xd0; */ - /* when res1 = 1 phase = 0x200 | (0xd0>>2); */ - UINT32 phase = res1 ? (0x200|(0xd0>>2)) : 0xd0; - - /* enable gate based on frequency of operator 2 in channel 8 */ - unsigned char bit5e= ((SLOT8_2->Cnt>>FREQ_SH)>>5)&1; - unsigned char bit3e= ((SLOT8_2->Cnt>>FREQ_SH)>>3)&1; - - unsigned char res2 = (bit3e ^ bit5e); - - /* when res2 = 0 pass the phase from calculation above (res1); */ - /* when res2 = 1 phase = 0x200 | (0xd0>>2); */ - if (res2) - phase = (0x200|(0xd0>>2)); - - - /* when phase & 0x200 is set and noise=1 then phase = 0x200|0xd0 */ - /* when phase & 0x200 is set and noise=0 then phase = 0x200|(0xd0>>2), ie no change */ - if (phase&0x200) - { - if (noise) - phase = 0x200|0xd0; - } - else - /* when phase & 0x200 is clear and noise=1 then phase = 0xd0>>2 */ - /* when phase & 0x200 is clear and noise=0 then phase = 0xd0, ie no change */ - { - if (noise) - phase = 0xd0>>2; - } - - OPL->output[0] += op_calc(phase<wavetable) * 2; - } - - /* Snare Drum (verified on real YM3812) */ - env = volume_calc(SLOT7_2); - if( env < ENV_QUIET && ! OPL->MuteSpc[1] ) - { - /* base frequency derived from operator 1 in channel 7 */ - unsigned char bit8 = ((SLOT7_1->Cnt>>FREQ_SH)>>8)&1; - - /* when bit8 = 0 phase = 0x100; */ - /* when bit8 = 1 phase = 0x200; */ - UINT32 phase = bit8 ? 0x200 : 0x100; - - /* Noise bit XOR'es phase by 0x100 */ - /* when noisebit = 0 pass the phase from calculation above */ - /* when noisebit = 1 phase ^= 0x100; */ - /* in other words: phase ^= (noisebit<<8); */ - if (noise) - phase ^= 0x100; - - OPL->output[0] += op_calc(phase<wavetable) * 2; - } - - /* Tom Tom (verified on real YM3812) */ - env = volume_calc(SLOT8_1); - if( env < ENV_QUIET && ! OPL->MuteSpc[2] ) - OPL->output[0] += op_calc(SLOT8_1->Cnt, env, 0, SLOT8_1->wavetable) * 2; - - /* Top Cymbal (verified on real YM3812) */ - env = volume_calc(SLOT8_2); - if( env < ENV_QUIET && ! OPL->MuteSpc[3] ) - { - /* base frequency derived from operator 1 in channel 7 */ - unsigned char bit7 = ((SLOT7_1->Cnt>>FREQ_SH)>>7)&1; - unsigned char bit3 = ((SLOT7_1->Cnt>>FREQ_SH)>>3)&1; - unsigned char bit2 = ((SLOT7_1->Cnt>>FREQ_SH)>>2)&1; - - unsigned char res1 = (bit2 ^ bit7) | bit3; - - /* when res1 = 0 phase = 0x000 | 0x100; */ - /* when res1 = 1 phase = 0x200 | 0x100; */ - UINT32 phase = res1 ? 0x300 : 0x100; - - /* enable gate based on frequency of operator 2 in channel 8 */ - unsigned char bit5e= ((SLOT8_2->Cnt>>FREQ_SH)>>5)&1; - unsigned char bit3e= ((SLOT8_2->Cnt>>FREQ_SH)>>3)&1; - - unsigned char res2 = (bit3e ^ bit5e); - /* when res2 = 0 pass the phase from calculation above (res1); */ - /* when res2 = 1 phase = 0x200 | 0x100; */ - if (res2) - phase = 0x300; - - OPL->output[0] += op_calc(phase<wavetable) * 2; - } -} - - -/* generic table initialize */ -static int init_tables(void) -{ - signed int i,x; - signed int n; - double o,m; - - - for (x=0; x>= 4; /* 12 bits here */ - if (n&1) /* round to nearest */ - n = (n>>1)+1; - else - n = n>>1; - /* 11 bits here (rounded) */ - n <<= 1; /* 12 bits here (as in real chip) */ - tl_tab[ x*2 + 0 ] = n; - tl_tab[ x*2 + 1 ] = -tl_tab[ x*2 + 0 ]; - - for (i=1; i<12; i++) - { - tl_tab[ x*2+0 + i*2*TL_RES_LEN ] = tl_tab[ x*2+0 ]>>i; - tl_tab[ x*2+1 + i*2*TL_RES_LEN ] = -tl_tab[ x*2+0 + i*2*TL_RES_LEN ]; - } - #if 0 - logerror("tl %04i", x*2); - for (i=0; i<12; i++) - logerror(", [%02i] %5i", i*2, tl_tab[ x*2 /*+1*/ + i*2*TL_RES_LEN ] ); - logerror("\n"); - #endif - } - /*logerror("FMOPL.C: TL_TAB_LEN = %i elements (%i bytes)\n",TL_TAB_LEN, (int)sizeof(tl_tab));*/ - - - for (i=0; i0.0) - o = 8*log(1.0/m)/log(2.0); /* convert to 'decibels' */ - else - o = 8*log(-1.0/m)/log(2.0); /* convert to 'decibels' */ - - o = o / (ENV_STEP/4); - - n = (int)(2.0*o); - if (n&1) /* round to nearest */ - n = (n>>1)+1; - else - n = n>>1; - - sin_tab[ i ] = n*2 + (m>=0.0? 0: 1 ); - - /*logerror("FMOPL.C: sin [%4i (hex=%03x)]= %4i (tl_tab value=%5i)\n", i, i, sin_tab[i], tl_tab[sin_tab[i]] );*/ - } - - for (i=0; i>1) ]; - - /* waveform 3: _ _ _ _ */ - /* / |_/ |_/ |_/ |_*/ - /* abs(output only first quarter of the sinus waveform) */ - - if (i & (1<<(SIN_BITS-2)) ) - sin_tab[3*SIN_LEN+i] = TL_TAB_LEN; - else - sin_tab[3*SIN_LEN+i] = sin_tab[i & (SIN_MASK>>2)]; - - /*logerror("FMOPL.C: sin1[%4i]= %4i (tl_tab value=%5i)\n", i, sin_tab[1*SIN_LEN+i], tl_tab[sin_tab[1*SIN_LEN+i]] ); - logerror("FMOPL.C: sin2[%4i]= %4i (tl_tab value=%5i)\n", i, sin_tab[2*SIN_LEN+i], tl_tab[sin_tab[2*SIN_LEN+i]] ); - logerror("FMOPL.C: sin3[%4i]= %4i (tl_tab value=%5i)\n", i, sin_tab[3*SIN_LEN+i], tl_tab[sin_tab[3*SIN_LEN+i]] );*/ - } - /*logerror("FMOPL.C: ENV_QUIET= %08x (dec*8=%i)\n", ENV_QUIET, ENV_QUIET*8 );*/ - - -#ifdef SAVE_SAMPLE - sample[0]=fopen("sampsum.pcm","wb"); -#endif - - return 1; -} - -static void OPLCloseTable( void ) -{ -#ifdef SAVE_SAMPLE - fclose(sample[0]); -#endif -} - - - -static void OPL_initalize(FM_OPL *OPL) -{ - int i; - - /* frequency base */ - OPL->freqbase = (OPL->rate) ? ((double)OPL->clock / 72.0) / OPL->rate : 0; -#if 0 - OPL->rate = (double)OPL->clock / 72.0; - OPL->freqbase = 1.0; -#endif - - /*logerror("freqbase=%f\n", OPL->freqbase);*/ - - /* Timer base time */ - //OPL->TimerBase = attotime_mul(ATTOTIME_IN_HZ(OPL->clock), 72); - - /* make fnumber -> increment counter table */ - for( i=0 ; i < 1024 ; i++ ) - { - /* opn phase increment counter = 20bit */ - OPL->fn_tab[i] = (UINT32)( (double)i * 64 * OPL->freqbase * (1<<(FREQ_SH-10)) ); /* -10 because chip works with 10.10 fixed point, while we use 16.16 */ -#if 0 - logerror("FMOPL.C: fn_tab[%4i] = %08x (dec=%8i)\n", - i, OPL->fn_tab[i]>>6, OPL->fn_tab[i]>>6 ); -#endif - } - -#if 0 - for( i=0 ; i < 16 ; i++ ) - { - logerror("FMOPL.C: sl_tab[%i] = %08x\n", - i, sl_tab[i] ); - } - for( i=0 ; i < 8 ; i++ ) - { - int j; - logerror("FMOPL.C: ksl_tab[oct=%2i] =",i); - for (j=0; j<16; j++) - { - logerror("%08x ", ksl_tab[i*16+j] ); - } - logerror("\n"); - } -#endif - - for(i = 0; i < 9; i ++) - OPL->P_CH[i].Muted = 0x00; - for(i = 0; i < 6; i ++) - OPL->MuteSpc[i] = 0x00; - - - /* Amplitude modulation: 27 output levels (triangle waveform); 1 level takes one of: 192, 256 or 448 samples */ - /* One entry from LFO_AM_TABLE lasts for 64 samples */ - OPL->lfo_am_inc = (1.0 / 64.0 ) * (1<freqbase; - - /* Vibrato: 8 output levels (triangle waveform); 1 level takes 1024 samples */ - OPL->lfo_pm_inc = (1.0 / 1024.0) * (1<freqbase; - - /*logerror ("OPL->lfo_am_inc = %8x ; OPL->lfo_pm_inc = %8x\n", OPL->lfo_am_inc, OPL->lfo_pm_inc);*/ - - /* Noise generator: a step takes 1 sample */ - OPL->noise_f = (1.0 / 1.0) * (1<freqbase; - - OPL->eg_timer_add = (1<freqbase; - OPL->eg_timer_overflow = ( 1 ) * (1<eg_timer_add, OPL->eg_timer_overflow);*/ - -} - -INLINE void FM_KEYON(OPL_SLOT *SLOT, UINT32 key_set) -{ - if( !SLOT->key ) - { - /* restart Phase Generator */ - SLOT->Cnt = 0; - /* phase -> Attack */ - SLOT->state = EG_ATT; - } - SLOT->key |= key_set; -} - -INLINE void FM_KEYOFF(OPL_SLOT *SLOT, UINT32 key_clr) -{ - if( SLOT->key ) - { - SLOT->key &= key_clr; - - if( !SLOT->key ) - { - /* phase -> Release */ - if (SLOT->state>EG_REL) - SLOT->state = EG_REL; - } - } -} - -/* update phase increment counter of operator (also update the EG rates if necessary) */ -INLINE void CALC_FCSLOT(OPL_CH *CH,OPL_SLOT *SLOT) -{ - int ksr; - - /* (frequency) phase increment counter */ - SLOT->Incr = CH->fc * SLOT->mul; - ksr = CH->kcode >> SLOT->KSR; - - if( SLOT->ksr != ksr ) - { - SLOT->ksr = ksr; - - /* calculate envelope generator rates */ - if ((SLOT->ar + SLOT->ksr) < 16+62) - { - SLOT->eg_sh_ar = eg_rate_shift [SLOT->ar + SLOT->ksr ]; - SLOT->eg_sel_ar = eg_rate_select[SLOT->ar + SLOT->ksr ]; - } - else - { - SLOT->eg_sh_ar = 0; - SLOT->eg_sel_ar = 13*RATE_STEPS; - } - SLOT->eg_sh_dr = eg_rate_shift [SLOT->dr + SLOT->ksr ]; - SLOT->eg_sel_dr = eg_rate_select[SLOT->dr + SLOT->ksr ]; - SLOT->eg_sh_rr = eg_rate_shift [SLOT->rr + SLOT->ksr ]; - SLOT->eg_sel_rr = eg_rate_select[SLOT->rr + SLOT->ksr ]; - } -} - -/* set multi,am,vib,EG-TYP,KSR,mul */ -INLINE void set_mul(FM_OPL *OPL,int slot,int v) -{ - OPL_CH *CH = &OPL->P_CH[slot/2]; - OPL_SLOT *SLOT = &CH->SLOT[slot&1]; - - SLOT->mul = mul_tab[v&0x0f]; - SLOT->KSR = (v&0x10) ? 0 : 2; - SLOT->eg_type = (v&0x20); - SLOT->vib = (v&0x40); - SLOT->AMmask = (v&0x80) ? ~0 : 0; - CALC_FCSLOT(CH,SLOT); -} - -/* set ksl & tl */ -INLINE void set_ksl_tl(FM_OPL *OPL,int slot,int v) -{ - OPL_CH *CH = &OPL->P_CH[slot/2]; - OPL_SLOT *SLOT = &CH->SLOT[slot&1]; - - SLOT->ksl = ksl_shift[v >> 6]; - SLOT->TL = (v&0x3f)<<(ENV_BITS-1-7); /* 7 bits TL (bit 6 = always 0) */ - - SLOT->TLL = SLOT->TL + (CH->ksl_base>>SLOT->ksl); -} - -/* set attack rate & decay rate */ -INLINE void set_ar_dr(FM_OPL *OPL,int slot,int v) -{ - OPL_CH *CH = &OPL->P_CH[slot/2]; - OPL_SLOT *SLOT = &CH->SLOT[slot&1]; - - SLOT->ar = (v>>4) ? 16 + ((v>>4) <<2) : 0; - - if ((SLOT->ar + SLOT->ksr) < 16+62) - { - SLOT->eg_sh_ar = eg_rate_shift [SLOT->ar + SLOT->ksr ]; - SLOT->eg_sel_ar = eg_rate_select[SLOT->ar + SLOT->ksr ]; - } - else - { - SLOT->eg_sh_ar = 0; - SLOT->eg_sel_ar = 13*RATE_STEPS; - } - - SLOT->dr = (v&0x0f)? 16 + ((v&0x0f)<<2) : 0; - SLOT->eg_sh_dr = eg_rate_shift [SLOT->dr + SLOT->ksr ]; - SLOT->eg_sel_dr = eg_rate_select[SLOT->dr + SLOT->ksr ]; -} - -/* set sustain level & release rate */ -INLINE void set_sl_rr(FM_OPL *OPL,int slot,int v) -{ - OPL_CH *CH = &OPL->P_CH[slot/2]; - OPL_SLOT *SLOT = &CH->SLOT[slot&1]; - - SLOT->sl = sl_tab[ v>>4 ]; - - SLOT->rr = (v&0x0f)? 16 + ((v&0x0f)<<2) : 0; - SLOT->eg_sh_rr = eg_rate_shift [SLOT->rr + SLOT->ksr ]; - SLOT->eg_sel_rr = eg_rate_select[SLOT->rr + SLOT->ksr ]; -} - - -/* write a value v to register r on OPL chip */ -static void OPLWriteReg(FM_OPL *OPL, int r, int v) -{ - OPL_CH *CH; - int slot; - int block_fnum; - - - /* adjust bus to 8 bits */ - r &= 0xff; - v &= 0xff; - - /*if (LOG_CYM_FILE && (cymfile) && (r!=0) ) - { - fputc( (unsigned char)r, cymfile ); - fputc( (unsigned char)v, cymfile ); - }*/ - - - switch(r&0xe0) - { - case 0x00: /* 00-1f:control */ - switch(r&0x1f) - { - case 0x01: /* waveform select enable */ - if(OPL->type&OPL_TYPE_WAVESEL) - { - OPL->wavesel = v&0x20; - /* do not change the waveform previously selected */ - } - break; - case 0x02: /* Timer 1 */ - OPL->T[0] = (256-v)*4; - break; - case 0x03: /* Timer 2 */ - OPL->T[1] = (256-v)*16; - break; - case 0x04: /* IRQ clear / mask and Timer enable */ - if(v&0x80) - { /* IRQ flag clear */ - OPL_STATUS_RESET(OPL,0x7f-0x08); /* don't reset BFRDY flag or we will have to call deltat module to set the flag */ - } - else - { /* set IRQ mask ,timer enable*/ - UINT8 st1 = v&1; - UINT8 st2 = (v>>1)&1; - - /* IRQRST,T1MSK,t2MSK,EOSMSK,BRMSK,x,ST2,ST1 */ - OPL_STATUS_RESET(OPL, v & (0x78-0x08) ); - OPL_STATUSMASK_SET(OPL, (~v) & 0x78 ); - - /* timer 2 */ - if(OPL->st[1] != st2) - { - //attotime period = st2 ? attotime_mul(OPL->TimerBase, OPL->T[1]) : attotime_zero; - OPL->st[1] = st2; - //if (OPL->timer_handler) (OPL->timer_handler)(OPL->TimerParam,1,period); - } - /* timer 1 */ - if(OPL->st[0] != st1) - { - //attotime period = st1 ? attotime_mul(OPL->TimerBase, OPL->T[0]) : attotime_zero; - OPL->st[0] = st1; - //if (OPL->timer_handler) (OPL->timer_handler)(OPL->TimerParam,0,period); - } - } - break; -#if BUILD_Y8950 - case 0x06: /* Key Board OUT */ - if(OPL->type&OPL_TYPE_KEYBOARD) - { - if(OPL->keyboardhandler_w) - OPL->keyboardhandler_w(OPL->keyboard_param,v); -#ifdef _DEBUG - else - logerror("Y8950: write unmapped KEYBOARD port\n"); -#endif - } - break; - case 0x07: /* DELTA-T control 1 : START,REC,MEMDATA,REPT,SPOFF,x,x,RST */ - if(OPL->type&OPL_TYPE_ADPCM) - YM_DELTAT_ADPCM_Write(OPL->deltat,r-0x07,v); - break; -#endif - case 0x08: /* MODE,DELTA-T control 2 : CSM,NOTESEL,x,x,smpl,da/ad,64k,rom */ - OPL->mode = v; -#if BUILD_Y8950 - if(OPL->type&OPL_TYPE_ADPCM) - YM_DELTAT_ADPCM_Write(OPL->deltat,r-0x07,v&0x0f); /* mask 4 LSBs in register 08 for DELTA-T unit */ -#endif - break; - -#if BUILD_Y8950 - case 0x09: /* START ADD */ - case 0x0a: - case 0x0b: /* STOP ADD */ - case 0x0c: - case 0x0d: /* PRESCALE */ - case 0x0e: - case 0x0f: /* ADPCM data write */ - case 0x10: /* DELTA-N */ - case 0x11: /* DELTA-N */ - case 0x12: /* ADPCM volume */ - if(OPL->type&OPL_TYPE_ADPCM) - YM_DELTAT_ADPCM_Write(OPL->deltat,r-0x07,v); - break; - - case 0x15: /* DAC data high 8 bits (F7,F6...F2) */ - case 0x16: /* DAC data low 2 bits (F1, F0 in bits 7,6) */ - case 0x17: /* DAC data shift (S2,S1,S0 in bits 2,1,0) */ -#ifdef _DEBUG - logerror("FMOPL.C: DAC data register written, but not implemented reg=%02x val=%02x\n",r,v); -#endif - break; - - case 0x18: /* I/O CTRL (Direction) */ - if(OPL->type&OPL_TYPE_IO) - OPL->portDirection = v&0x0f; - break; - case 0x19: /* I/O DATA */ - if(OPL->type&OPL_TYPE_IO) - { - OPL->portLatch = v; - if(OPL->porthandler_w) - OPL->porthandler_w(OPL->port_param,v&OPL->portDirection); - } - break; -#endif - default: -#ifdef _DEBUG - logerror("FMOPL.C: write to unknown register: %02x\n",r); -#endif - break; - } - break; - case 0x20: /* am ON, vib ON, ksr, eg_type, mul */ - slot = slot_array[r&0x1f]; - if(slot < 0) return; - set_mul(OPL,slot,v); - break; - case 0x40: - slot = slot_array[r&0x1f]; - if(slot < 0) return; - set_ksl_tl(OPL,slot,v); - break; - case 0x60: - slot = slot_array[r&0x1f]; - if(slot < 0) return; - set_ar_dr(OPL,slot,v); - break; - case 0x80: - slot = slot_array[r&0x1f]; - if(slot < 0) return; - set_sl_rr(OPL,slot,v); - break; - case 0xa0: - if (r == 0xbd) /* am depth, vibrato depth, r,bd,sd,tom,tc,hh */ - { - OPL->lfo_am_depth = v & 0x80; - OPL->lfo_pm_depth_range = (v&0x40) ? 8 : 0; - - OPL->rhythm = v&0x3f; - - if(OPL->rhythm&0x20) - { - /* BD key on/off */ - if(v&0x10) - { - FM_KEYON (&OPL->P_CH[6].SLOT[SLOT1], 2); - FM_KEYON (&OPL->P_CH[6].SLOT[SLOT2], 2); - } - else - { - FM_KEYOFF(&OPL->P_CH[6].SLOT[SLOT1],~2); - FM_KEYOFF(&OPL->P_CH[6].SLOT[SLOT2],~2); - } - /* HH key on/off */ - if(v&0x01) FM_KEYON (&OPL->P_CH[7].SLOT[SLOT1], 2); - else FM_KEYOFF(&OPL->P_CH[7].SLOT[SLOT1],~2); - /* SD key on/off */ - if(v&0x08) FM_KEYON (&OPL->P_CH[7].SLOT[SLOT2], 2); - else FM_KEYOFF(&OPL->P_CH[7].SLOT[SLOT2],~2); - /* TOM key on/off */ - if(v&0x04) FM_KEYON (&OPL->P_CH[8].SLOT[SLOT1], 2); - else FM_KEYOFF(&OPL->P_CH[8].SLOT[SLOT1],~2); - /* TOP-CY key on/off */ - if(v&0x02) FM_KEYON (&OPL->P_CH[8].SLOT[SLOT2], 2); - else FM_KEYOFF(&OPL->P_CH[8].SLOT[SLOT2],~2); - } - else - { - /* BD key off */ - FM_KEYOFF(&OPL->P_CH[6].SLOT[SLOT1],~2); - FM_KEYOFF(&OPL->P_CH[6].SLOT[SLOT2],~2); - /* HH key off */ - FM_KEYOFF(&OPL->P_CH[7].SLOT[SLOT1],~2); - /* SD key off */ - FM_KEYOFF(&OPL->P_CH[7].SLOT[SLOT2],~2); - /* TOM key off */ - FM_KEYOFF(&OPL->P_CH[8].SLOT[SLOT1],~2); - /* TOP-CY off */ - FM_KEYOFF(&OPL->P_CH[8].SLOT[SLOT2],~2); - } - return; - } - /* keyon,block,fnum */ - if( (r&0x0f) > 8) return; - CH = &OPL->P_CH[r&0x0f]; - if(!(r&0x10)) - { /* a0-a8 */ - block_fnum = (CH->block_fnum&0x1f00) | v; - } - else - { /* b0-b8 */ - block_fnum = ((v&0x1f)<<8) | (CH->block_fnum&0xff); - - if(v&0x20) - { - FM_KEYON (&CH->SLOT[SLOT1], 1); - FM_KEYON (&CH->SLOT[SLOT2], 1); - } - else - { - FM_KEYOFF(&CH->SLOT[SLOT1],~1); - FM_KEYOFF(&CH->SLOT[SLOT2],~1); - } - } - /* update */ - if(CH->block_fnum != block_fnum) - { - UINT8 block = block_fnum >> 10; - - CH->block_fnum = block_fnum; - - CH->ksl_base = ksl_tab[block_fnum>>6]; - CH->fc = OPL->fn_tab[block_fnum&0x03ff] >> (7-block); - - /* BLK 2,1,0 bits -> bits 3,2,1 of kcode */ - CH->kcode = (CH->block_fnum&0x1c00)>>9; - - /* the info below is actually opposite to what is stated in the Manuals (verifed on real YM3812) */ - /* if notesel == 0 -> lsb of kcode is bit 10 (MSB) of fnum */ - /* if notesel == 1 -> lsb of kcode is bit 9 (MSB-1) of fnum */ - if (OPL->mode&0x40) - CH->kcode |= (CH->block_fnum&0x100)>>8; /* notesel == 1 */ - else - CH->kcode |= (CH->block_fnum&0x200)>>9; /* notesel == 0 */ - - /* refresh Total Level in both SLOTs of this channel */ - CH->SLOT[SLOT1].TLL = CH->SLOT[SLOT1].TL + (CH->ksl_base>>CH->SLOT[SLOT1].ksl); - CH->SLOT[SLOT2].TLL = CH->SLOT[SLOT2].TL + (CH->ksl_base>>CH->SLOT[SLOT2].ksl); - - /* refresh frequency counter in both SLOTs of this channel */ - CALC_FCSLOT(CH,&CH->SLOT[SLOT1]); - CALC_FCSLOT(CH,&CH->SLOT[SLOT2]); - } - break; - case 0xc0: - /* FB,C */ - if( (r&0x0f) > 8) return; - CH = &OPL->P_CH[r&0x0f]; - CH->SLOT[SLOT1].FB = (v>>1)&7 ? ((v>>1)&7) + 7 : 0; - CH->SLOT[SLOT1].CON = v&1; - CH->SLOT[SLOT1].connect1 = CH->SLOT[SLOT1].CON ? &OPL->output[0] : &OPL->phase_modulation; - break; - case 0xe0: /* waveform select */ - /* simply ignore write to the waveform select register if selecting not enabled in test register */ - if(OPL->wavesel) - { - slot = slot_array[r&0x1f]; - if(slot < 0) return; - CH = &OPL->P_CH[slot/2]; - - CH->SLOT[slot&1].wavetable = (v&0x03)*SIN_LEN; - } - break; - } -} - -/*static TIMER_CALLBACK( cymfile_callback ) -{ - if (cymfile) - { - fputc( (unsigned char)0, cymfile ); - } -}*/ - -/* lock/unlock for common table */ -static int OPL_LockTable(void) -{ - num_lock++; - if(num_lock>1) return 0; - - /* first time */ - - /* allocate total level table (128kb space) */ - if( !init_tables() ) - { - num_lock--; - return -1; - } - - /*if (LOG_CYM_FILE) - { - cymfile = fopen("3812_.cym","wb"); - if (cymfile) - timer_pulse ( device->machine, ATTOTIME_IN_HZ(110), NULL, 0, cymfile_callback); //110 Hz pulse timer - else - logerror("Could not create file 3812_.cym\n"); - }*/ - - return 0; -} - -static void OPL_UnLockTable(void) -{ - if(num_lock) num_lock--; - if(num_lock) return; - - /* last time */ - - OPLCloseTable(); - - /*if (cymfile) - fclose (cymfile); - cymfile = NULL;*/ -} - -static void OPLResetChip(FM_OPL *OPL) -{ - int c,s; - int i; - - OPL->eg_timer = 0; - OPL->eg_cnt = 0; - - OPL->noise_rng = 1; /* noise shift register */ - OPL->mode = 0; /* normal mode */ - OPL_STATUS_RESET(OPL,0x7f); - - /* reset with register write */ - OPLWriteReg(OPL,0x01,0); /* wavesel disable */ - OPLWriteReg(OPL,0x02,0); /* Timer1 */ - OPLWriteReg(OPL,0x03,0); /* Timer2 */ - OPLWriteReg(OPL,0x04,0); /* IRQ mask clear */ - for(i = 0xff ; i >= 0x20 ; i-- ) OPLWriteReg(OPL,i,0); - - /* reset operator parameters */ - for( c = 0 ; c < 9 ; c++ ) - { - OPL_CH *CH = &OPL->P_CH[c]; - for(s = 0 ; s < 2 ; s++ ) - { - /* wave table */ - CH->SLOT[s].wavetable = 0; - CH->SLOT[s].state = EG_OFF; - CH->SLOT[s].volume = MAX_ATT_INDEX; - } - } -#if BUILD_Y8950 - if(OPL->type&OPL_TYPE_ADPCM) - { - YM_DELTAT *DELTAT = OPL->deltat; - - DELTAT->freqbase = OPL->freqbase; - DELTAT->output_pointer = &OPL->output_deltat[0]; - DELTAT->portshift = 5; - DELTAT->output_range = 1<<23; - YM_DELTAT_ADPCM_Reset(DELTAT,0,YM_DELTAT_EMULATION_MODE_NORMAL); - } -#endif -} - - -#if 0 -//static STATE_POSTLOAD( OPL_postload ) -static void OPL_postload(void* param) -{ - FM_OPL *OPL = (FM_OPL *)param; - int slot, ch; - - for( ch=0 ; ch < 9 ; ch++ ) - { - OPL_CH *CH = &OPL->P_CH[ch]; - - /* Look up key scale level */ - UINT32 block_fnum = CH->block_fnum; - CH->ksl_base = ksl_tab[block_fnum >> 6]; - CH->fc = OPL->fn_tab[block_fnum & 0x03ff] >> (7 - (block_fnum >> 10)); - - for( slot=0 ; slot < 2 ; slot++ ) - { - OPL_SLOT *SLOT = &CH->SLOT[slot]; - - /* Calculate key scale rate */ - SLOT->ksr = CH->kcode >> SLOT->KSR; - - /* Calculate attack, decay and release rates */ - if ((SLOT->ar + SLOT->ksr) < 16+62) - { - SLOT->eg_sh_ar = eg_rate_shift [SLOT->ar + SLOT->ksr ]; - SLOT->eg_sel_ar = eg_rate_select[SLOT->ar + SLOT->ksr ]; - } - else - { - SLOT->eg_sh_ar = 0; - SLOT->eg_sel_ar = 13*RATE_STEPS; - } - SLOT->eg_sh_dr = eg_rate_shift [SLOT->dr + SLOT->ksr ]; - SLOT->eg_sel_dr = eg_rate_select[SLOT->dr + SLOT->ksr ]; - SLOT->eg_sh_rr = eg_rate_shift [SLOT->rr + SLOT->ksr ]; - SLOT->eg_sel_rr = eg_rate_select[SLOT->rr + SLOT->ksr ]; - - /* Calculate phase increment */ - SLOT->Incr = CH->fc * SLOT->mul; - - /* Total level */ - SLOT->TLL = SLOT->TL + (CH->ksl_base >> SLOT->ksl); - - /* Connect output */ - SLOT->connect1 = SLOT->CON ? &OPL->output[0] : &OPL->phase_modulation; - } - } -#if BUILD_Y8950 - if ( (OPL->type & OPL_TYPE_ADPCM) && (OPL->deltat) ) - { - // We really should call the postlod function for the YM_DELTAT, but it's hard without registers - // (see the way the YM2610 does it) - //YM_DELTAT_postload(OPL->deltat, REGS); - } -#endif -} - - -static void OPLsave_state_channel(OPL_CH *CH) -{ - int slot, ch; - - for( ch=0 ; ch < 9 ; ch++, CH++ ) - { - // channel - state_save_register_device_item(device, ch, CH->block_fnum); - state_save_register_device_item(device, ch, CH->kcode); - // slots - for( slot=0 ; slot < 2 ; slot++ ) - { - OPL_SLOT *SLOT = &CH->SLOT[slot]; - - state_save_register_device_item(device, ch * 2 + slot, SLOT->ar); - state_save_register_device_item(device, ch * 2 + slot, SLOT->dr); - state_save_register_device_item(device, ch * 2 + slot, SLOT->rr); - state_save_register_device_item(device, ch * 2 + slot, SLOT->KSR); - state_save_register_device_item(device, ch * 2 + slot, SLOT->ksl); - state_save_register_device_item(device, ch * 2 + slot, SLOT->mul); - - state_save_register_device_item(device, ch * 2 + slot, SLOT->Cnt); - state_save_register_device_item(device, ch * 2 + slot, SLOT->FB); - state_save_register_device_item_array(device, ch * 2 + slot, SLOT->op1_out); - state_save_register_device_item(device, ch * 2 + slot, SLOT->CON); - - state_save_register_device_item(device, ch * 2 + slot, SLOT->eg_type); - state_save_register_device_item(device, ch * 2 + slot, SLOT->state); - state_save_register_device_item(device, ch * 2 + slot, SLOT->TL); - state_save_register_device_item(device, ch * 2 + slot, SLOT->volume); - state_save_register_device_item(device, ch * 2 + slot, SLOT->sl); - state_save_register_device_item(device, ch * 2 + slot, SLOT->key); - - state_save_register_device_item(device, ch * 2 + slot, SLOT->AMmask); - state_save_register_device_item(device, ch * 2 + slot, SLOT->vib); - - state_save_register_device_item(device, ch * 2 + slot, SLOT->wavetable); - } - } -} -#endif - - -/* Register savestate for a virtual YM3812/YM3526/Y8950 */ - -/*static void OPL_save_state(FM_OPL *OPL) -{ - OPLsave_state_channel(device, OPL->P_CH); - - state_save_register_device_item(device, 0, OPL->eg_cnt); - state_save_register_device_item(device, 0, OPL->eg_timer); - - state_save_register_device_item(device, 0, OPL->rhythm); - - state_save_register_device_item(device, 0, OPL->lfo_am_depth); - state_save_register_device_item(device, 0, OPL->lfo_pm_depth_range); - state_save_register_device_item(device, 0, OPL->lfo_am_cnt); - state_save_register_device_item(device, 0, OPL->lfo_pm_cnt); - - state_save_register_device_item(device, 0, OPL->noise_rng); - state_save_register_device_item(device, 0, OPL->noise_p); - - if( OPL->type & OPL_TYPE_WAVESEL ) - { - state_save_register_device_item(device, 0, OPL->wavesel); - } - - state_save_register_device_item_array(device, 0, OPL->T); - state_save_register_device_item_array(device, 0, OPL->st); - -#if BUILD_Y8950 - if ( (OPL->type & OPL_TYPE_ADPCM) && (OPL->deltat) ) - { - YM_DELTAT_savestate(device, OPL->deltat); - } - - if ( OPL->type & OPL_TYPE_IO ) - { - state_save_register_device_item(device, 0, OPL->portDirection); - state_save_register_device_item(device, 0, OPL->portLatch); - } -#endif - - state_save_register_device_item(device, 0, OPL->address); - state_save_register_device_item(device, 0, OPL->status); - state_save_register_device_item(device, 0, OPL->statusmask); - state_save_register_device_item(device, 0, OPL->mode); - - state_save_register_postload(device->machine, OPL_postload, OPL); -}*/ - - -/* Create one of virtual YM3812/YM3526/Y8950 */ -/* 'clock' is chip clock in Hz */ -/* 'rate' is sampling rate */ -static FM_OPL *OPLCreate(UINT32 clock, UINT32 rate, int type) -{ - char *ptr; - FM_OPL *OPL; - int state_size; - - if (OPL_LockTable() == -1) return NULL; - - /* calculate OPL state size */ - state_size = sizeof(FM_OPL); - -#if BUILD_Y8950 - if (type&OPL_TYPE_ADPCM) state_size+= sizeof(YM_DELTAT); -#endif - - /* allocate memory block */ - ptr = (char *)malloc(state_size); - - if (ptr==NULL) - return NULL; - - /* clear */ - memset(ptr,0,state_size); - - OPL = (FM_OPL *)ptr; - - ptr += sizeof(FM_OPL); - -#if BUILD_Y8950 - if (type&OPL_TYPE_ADPCM) - { - OPL->deltat = (YM_DELTAT *)ptr; - } - ptr += sizeof(YM_DELTAT); -#endif - - OPL->type = type; - OPL->clock = clock; - OPL->rate = rate; - - /* init global tables */ - OPL_initalize(OPL); - - return OPL; -} - -/* Destroy one of virtual YM3812 */ -static void OPLDestroy(FM_OPL *OPL) -{ - OPL_UnLockTable(); - free(OPL); -} - -/* Optional handlers */ - -static void OPLSetTimerHandler(FM_OPL *OPL,OPL_TIMERHANDLER timer_handler,void *param) -{ - OPL->timer_handler = timer_handler; - OPL->TimerParam = param; -} -static void OPLSetIRQHandler(FM_OPL *OPL,OPL_IRQHANDLER IRQHandler,void *param) -{ - OPL->IRQHandler = IRQHandler; - OPL->IRQParam = param; -} -static void OPLSetUpdateHandler(FM_OPL *OPL,OPL_UPDATEHANDLER UpdateHandler,void *param) -{ - OPL->UpdateHandler = UpdateHandler; - OPL->UpdateParam = param; -} - -static int OPLWrite(FM_OPL *OPL,int a,int v) -{ - if( !(a&1) ) - { /* address port */ - OPL->address = v & 0xff; - } - else - { /* data port */ - if(OPL->UpdateHandler) OPL->UpdateHandler(OPL->UpdateParam/*,0*/); - OPLWriteReg(OPL,OPL->address,v); - } - return OPL->status>>7; -} - -static unsigned char OPLRead(FM_OPL *OPL,int a) -{ - if( !(a&1) ) - { - /* status port */ - - #if BUILD_Y8950 - - if(OPL->type&OPL_TYPE_ADPCM) /* Y8950 */ - { - return (OPL->status & (OPL->statusmask|0x80)) | (OPL->deltat->PCM_BSY&1); - } - - #endif - - /* OPL and OPL2 */ - return OPL->status & (OPL->statusmask|0x80); - } - -#if BUILD_Y8950 - /* data port */ - switch(OPL->address) - { - case 0x05: /* KeyBoard IN */ - if(OPL->type&OPL_TYPE_KEYBOARD) - { - if(OPL->keyboardhandler_r) - return OPL->keyboardhandler_r(OPL->keyboard_param); -#ifdef _DEBUG - else - logerror("Y8950: read unmapped KEYBOARD port\n"); -#endif - } - return 0; - - case 0x0f: /* ADPCM-DATA */ - if(OPL->type&OPL_TYPE_ADPCM) - { - UINT8 val; - - val = YM_DELTAT_ADPCM_Read(OPL->deltat); - /*logerror("Y8950: read ADPCM value read=%02x\n",val);*/ - return val; - } - return 0; - - case 0x19: /* I/O DATA */ - if(OPL->type&OPL_TYPE_IO) - { - if(OPL->porthandler_r) - return OPL->porthandler_r(OPL->port_param); -#ifdef _DEBUG - else - logerror("Y8950:read unmapped I/O port\n"); -#endif - } - return 0; - case 0x1a: /* PCM-DATA */ - if(OPL->type&OPL_TYPE_ADPCM) - { -#ifdef _DEBUG - logerror("Y8950 A/D convertion is accessed but not implemented !\n"); -#endif - return 0x80; /* 2's complement PCM data - result from A/D convertion */ - } - return 0; - } -#endif - - return 0xff; -} - -/* CSM Key Controll */ -INLINE void CSMKeyControll(OPL_CH *CH) -{ - FM_KEYON (&CH->SLOT[SLOT1], 4); - FM_KEYON (&CH->SLOT[SLOT2], 4); - - /* The key off should happen exactly one sample later - not implemented correctly yet */ - - FM_KEYOFF(&CH->SLOT[SLOT1], ~4); - FM_KEYOFF(&CH->SLOT[SLOT2], ~4); -} - - -static int OPLTimerOver(FM_OPL *OPL,int c) -{ - if( c ) - { /* Timer B */ - OPL_STATUS_SET(OPL,0x20); - } - else - { /* Timer A */ - OPL_STATUS_SET(OPL,0x40); - /* CSM mode key,TL controll */ - if( OPL->mode & 0x80 ) - { /* CSM mode total level latch and auto key on */ - int ch; - if(OPL->UpdateHandler) OPL->UpdateHandler(OPL->UpdateParam/*,0*/); - for(ch=0; ch<9; ch++) - CSMKeyControll( &OPL->P_CH[ch] ); - } - } - /* reload timer */ - //if (OPL->timer_handler) (OPL->timer_handler)(OPL->TimerParam,c,attotime_mul(OPL->TimerBase, OPL->T[c])); - return OPL->status>>7; -} - - -#define MAX_OPL_CHIPS 2 - - -#if (BUILD_YM3812) - -void * ym3812_init(UINT32 clock, UINT32 rate) -{ - /* emulator create */ - FM_OPL *YM3812 = OPLCreate(clock,rate,OPL_TYPE_YM3812); - if (YM3812) - { - //OPL_save_state(YM3812); - ym3812_reset_chip(YM3812); - } - return YM3812; -} - -void ym3812_shutdown(void *chip) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - /* emulator shutdown */ - OPLDestroy(YM3812); -} -void ym3812_reset_chip(void *chip) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - OPLResetChip(YM3812); -} - -int ym3812_write(void *chip, int a, int v) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - return OPLWrite(YM3812, a, v); -} - -unsigned char ym3812_read(void *chip, int a) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - /* YM3812 always returns bit2 and bit1 in HIGH state */ - return OPLRead(YM3812, a) | 0x06 ; -} -int ym3812_timer_over(void *chip, int c) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - return OPLTimerOver(YM3812, c); -} - -void ym3812_set_timer_handler(void *chip, OPL_TIMERHANDLER timer_handler, void *param) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - OPLSetTimerHandler(YM3812, timer_handler, param); -} -void ym3812_set_irq_handler(void *chip,OPL_IRQHANDLER IRQHandler,void *param) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - OPLSetIRQHandler(YM3812, IRQHandler, param); -} -void ym3812_set_update_handler(void *chip,OPL_UPDATEHANDLER UpdateHandler,void *param) -{ - FM_OPL *YM3812 = (FM_OPL *)chip; - OPLSetUpdateHandler(YM3812, UpdateHandler, param); -} - - -/* -** Generate samples for one of the YM3812's -** -** 'which' is the virtual YM3812 number -** '*buffer' is the output buffer pointer -** 'length' is the number of samples that should be generated -*/ -void ym3812_update_one(void *chip, OPLSAMPLE **buffer, int length) -{ - FM_OPL *OPL = (FM_OPL *)chip; - UINT8 rhythm = OPL->rhythm&0x20; - OPLSAMPLE *bufL = buffer[0]; - OPLSAMPLE *bufR = buffer[1]; - int i; - - if (! length) - { - refresh_eg(OPL); - return; - } - - for( i=0; i < length ; i++ ) - { - int lt; - - OPL->output[0] = 0; - - advance_lfo(OPL); - - /* FM part */ - OPL_CALC_CH(OPL, &OPL->P_CH[0]); - OPL_CALC_CH(OPL, &OPL->P_CH[1]); - OPL_CALC_CH(OPL, &OPL->P_CH[2]); - OPL_CALC_CH(OPL, &OPL->P_CH[3]); - OPL_CALC_CH(OPL, &OPL->P_CH[4]); - OPL_CALC_CH(OPL, &OPL->P_CH[5]); - - if(!rhythm) - { - OPL_CALC_CH(OPL, &OPL->P_CH[6]); - OPL_CALC_CH(OPL, &OPL->P_CH[7]); - OPL_CALC_CH(OPL, &OPL->P_CH[8]); - } - else /* Rhythm part */ - { - OPL_CALC_RH(OPL, &OPL->P_CH[0], (OPL->noise_rng>>0)&1 ); - } - - lt = OPL->output[0]; - - lt >>= FINAL_SH; - - /* limit check */ - //lt = limit( lt , MAXOUT, MINOUT ); - - #ifdef SAVE_SAMPLE - if (which==0) - { - SAVE_ALL_CHANNELS - } - #endif - - /* store to sound buffer */ - bufL[i] = lt; - bufR[i] = lt; - - advance(OPL); - } - -} -#endif /* BUILD_YM3812 */ - - - -#if (BUILD_YM3526) - -void *ym3526_init(UINT32 clock, UINT32 rate) -{ - /* emulator create */ - FM_OPL *YM3526 = OPLCreate(clock,rate,OPL_TYPE_YM3526); - if (YM3526) - { - //OPL_save_state(YM3526); - ym3526_reset_chip(YM3526); - } - return YM3526; -} - -void ym3526_shutdown(void *chip) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - /* emulator shutdown */ - OPLDestroy(YM3526); -} -void ym3526_reset_chip(void *chip) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - OPLResetChip(YM3526); -} - -int ym3526_write(void *chip, int a, int v) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - return OPLWrite(YM3526, a, v); -} - -unsigned char ym3526_read(void *chip, int a) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - /* YM3526 always returns bit2 and bit1 in HIGH state */ - return OPLRead(YM3526, a) | 0x06 ; -} -int ym3526_timer_over(void *chip, int c) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - return OPLTimerOver(YM3526, c); -} - -void ym3526_set_timer_handler(void *chip, OPL_TIMERHANDLER timer_handler, void *param) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - OPLSetTimerHandler(YM3526, timer_handler, param); -} -void ym3526_set_irq_handler(void *chip,OPL_IRQHANDLER IRQHandler,void *param) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - OPLSetIRQHandler(YM3526, IRQHandler, param); -} -void ym3526_set_update_handler(void *chip,OPL_UPDATEHANDLER UpdateHandler,void *param) -{ - FM_OPL *YM3526 = (FM_OPL *)chip; - OPLSetUpdateHandler(YM3526, UpdateHandler, param); -} - - -/* -** Generate samples for one of the YM3526's -** -** 'which' is the virtual YM3526 number -** '*buffer' is the output buffer pointer -** 'length' is the number of samples that should be generated -*/ -void ym3526_update_one(void *chip, OPLSAMPLE **buffer, int length) -{ - FM_OPL *OPL = (FM_OPL *)chip; - UINT8 rhythm = OPL->rhythm&0x20; - OPLSAMPLE *bufL = buffer[0]; - OPLSAMPLE *bufR = buffer[1]; - int i; - - for( i=0; i < length ; i++ ) - { - int lt; - - OPL->output[0] = 0; - - advance_lfo(OPL); - - /* FM part */ - OPL_CALC_CH(OPL, &OPL->P_CH[0]); - OPL_CALC_CH(OPL, &OPL->P_CH[1]); - OPL_CALC_CH(OPL, &OPL->P_CH[2]); - OPL_CALC_CH(OPL, &OPL->P_CH[3]); - OPL_CALC_CH(OPL, &OPL->P_CH[4]); - OPL_CALC_CH(OPL, &OPL->P_CH[5]); - - if(!rhythm) - { - OPL_CALC_CH(OPL, &OPL->P_CH[6]); - OPL_CALC_CH(OPL, &OPL->P_CH[7]); - OPL_CALC_CH(OPL, &OPL->P_CH[8]); - } - else /* Rhythm part */ - { - OPL_CALC_RH(OPL, &OPL->P_CH[0], (OPL->noise_rng>>0)&1 ); - } - - lt = OPL->output[0]; - - lt >>= FINAL_SH; - - /* limit check */ - //lt = limit( lt , MAXOUT, MINOUT ); - - #ifdef SAVE_SAMPLE - if (which==0) - { - SAVE_ALL_CHANNELS - } - #endif - - /* store to sound buffer */ - bufL[i] = lt; - bufR[i] = lt; - - advance(OPL); - } - -} -#endif /* BUILD_YM3526 */ - - - - -#if BUILD_Y8950 - -static void Y8950_deltat_status_set(void *chip, UINT8 changebits) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPL_STATUS_SET(Y8950, changebits); -} -static void Y8950_deltat_status_reset(void *chip, UINT8 changebits) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPL_STATUS_RESET(Y8950, changebits); -} - -void *y8950_init(UINT32 clock, UINT32 rate) -{ - /* emulator create */ - FM_OPL *Y8950 = OPLCreate(clock,rate,OPL_TYPE_Y8950); - if (Y8950) - { - Y8950->deltat->status_set_handler = Y8950_deltat_status_set; - Y8950->deltat->status_reset_handler = Y8950_deltat_status_reset; - Y8950->deltat->status_change_which_chip = Y8950; - Y8950->deltat->status_change_EOS_bit = 0x10; /* status flag: set bit4 on End Of Sample */ - Y8950->deltat->status_change_BRDY_bit = 0x08; /* status flag: set bit3 on BRDY (End Of: ADPCM analysis/synthesis, memory reading/writing) */ - - /*Y8950->deltat->write_time = 10.0 / clock;*/ /* a single byte write takes 10 cycles of main clock */ - /*Y8950->deltat->read_time = 8.0 / clock;*/ /* a single byte read takes 8 cycles of main clock */ - /* reset */ - //OPL_save_state(Y8950); - y8950_reset_chip(Y8950); - } - - return Y8950; -} - -void y8950_shutdown(void *chip) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - - free(Y8950->deltat->memory); Y8950->deltat->memory = NULL; - - /* emulator shutdown */ - OPLDestroy(Y8950); -} -void y8950_reset_chip(void *chip) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPLResetChip(Y8950); -} - -int y8950_write(void *chip, int a, int v) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - return OPLWrite(Y8950, a, v); -} - -unsigned char y8950_read(void *chip, int a) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - return OPLRead(Y8950, a); -} -int y8950_timer_over(void *chip, int c) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - return OPLTimerOver(Y8950, c); -} - -void y8950_set_timer_handler(void *chip, OPL_TIMERHANDLER timer_handler, void *param) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPLSetTimerHandler(Y8950, timer_handler, param); -} -void y8950_set_irq_handler(void *chip,OPL_IRQHANDLER IRQHandler,void *param) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPLSetIRQHandler(Y8950, IRQHandler, param); -} -void y8950_set_update_handler(void *chip,OPL_UPDATEHANDLER UpdateHandler,void *param) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - OPLSetUpdateHandler(Y8950, UpdateHandler, param); -} - -void y8950_set_delta_t_memory(void *chip, void * deltat_mem_ptr, int deltat_mem_size ) -{ - FM_OPL *OPL = (FM_OPL *)chip; - OPL->deltat->memory = (UINT8 *)(deltat_mem_ptr); - OPL->deltat->memory_size = deltat_mem_size; -} - -void y8950_write_pcmrom(void *chip, offs_t ROMSize, offs_t DataStart, - offs_t DataLength, const UINT8* ROMData) -{ - FM_OPL *Y8950 = (FM_OPL *)chip; - - if (Y8950->deltat->memory_size != ROMSize) - { - Y8950->deltat->memory = (UINT8*)realloc(Y8950->deltat->memory, ROMSize); - Y8950->deltat->memory_size = ROMSize; - memset(Y8950->deltat->memory, 0xFF, ROMSize); - YM_DELTAT_calc_mem_mask(Y8950->deltat); - } - if (DataStart > ROMSize) - return; - if (DataStart + DataLength > ROMSize) - DataLength = ROMSize - DataStart; - - memcpy(Y8950->deltat->memory + DataStart, ROMData, DataLength); - - return; -} - -/* -** Generate samples for one of the Y8950's -** -** 'which' is the virtual Y8950 number -** '*buffer' is the output buffer pointer -** 'length' is the number of samples that should be generated -*/ -void y8950_update_one(void *chip, OPLSAMPLE **buffer, int length) -{ - int i; - FM_OPL *OPL = (FM_OPL *)chip; - UINT8 rhythm = OPL->rhythm&0x20; - YM_DELTAT *DELTAT = OPL->deltat; - OPLSAMPLE *bufL = buffer[0]; - OPLSAMPLE *bufR = buffer[1]; - - for( i=0; i < length ; i++ ) - { - int lt; - - OPL->output[0] = 0; - OPL->output_deltat[0] = 0; - - advance_lfo(OPL); - - /* deltaT ADPCM */ - if( DELTAT->portstate&0x80 && ! OPL->MuteSpc[5] ) - YM_DELTAT_ADPCM_CALC(DELTAT); - - /* FM part */ - OPL_CALC_CH(OPL, &OPL->P_CH[0]); - OPL_CALC_CH(OPL, &OPL->P_CH[1]); - OPL_CALC_CH(OPL, &OPL->P_CH[2]); - OPL_CALC_CH(OPL, &OPL->P_CH[3]); - OPL_CALC_CH(OPL, &OPL->P_CH[4]); - OPL_CALC_CH(OPL, &OPL->P_CH[5]); - - if(!rhythm) - { - OPL_CALC_CH(OPL, &OPL->P_CH[6]); - OPL_CALC_CH(OPL, &OPL->P_CH[7]); - OPL_CALC_CH(OPL, &OPL->P_CH[8]); - } - else /* Rhythm part */ - { - OPL_CALC_RH(OPL, &OPL->P_CH[0], (OPL->noise_rng>>0)&1 ); - } - - lt = OPL->output[0] + (OPL->output_deltat[0]>>11); - - lt >>= FINAL_SH; - - /* limit check */ - //lt = limit( lt , MAXOUT, MINOUT ); - - #ifdef SAVE_SAMPLE - if (which==0) - { - SAVE_ALL_CHANNELS - } - #endif - - /* store to sound buffer */ - bufL[i] = lt; - bufR[i] = lt; - - advance(OPL); - } - -} - -void y8950_set_port_handler(void *chip,OPL_PORTHANDLER_W PortHandler_w,OPL_PORTHANDLER_R PortHandler_r,void * param) -{ - FM_OPL *OPL = (FM_OPL *)chip; - OPL->porthandler_w = PortHandler_w; - OPL->porthandler_r = PortHandler_r; - OPL->port_param = param; -} - -void y8950_set_keyboard_handler(void *chip,OPL_PORTHANDLER_W KeyboardHandler_w,OPL_PORTHANDLER_R KeyboardHandler_r,void * param) -{ - FM_OPL *OPL = (FM_OPL *)chip; - OPL->keyboardhandler_w = KeyboardHandler_w; - OPL->keyboardhandler_r = KeyboardHandler_r; - OPL->keyboard_param = param; -} - -#endif - -void opl_set_mute_mask(void *chip, UINT32 MuteMask) -{ - FM_OPL *opl = (FM_OPL *)chip; - UINT8 CurChn; - - for (CurChn = 0; CurChn < 9; CurChn ++) - opl->P_CH[CurChn].Muted = (MuteMask >> CurChn) & 0x01; - for (CurChn = 0; CurChn < 6; CurChn ++) - opl->MuteSpc[CurChn] = (MuteMask >> (9 + CurChn)) & 0x01; - - return; -} diff --git a/src/chips/gb.c b/src/chips/gb.c index 200d99b..ed141b5 100644 --- a/src/chips/gb.c +++ b/src/chips/gb.c @@ -1,3 +1,6 @@ +// license:BSD-3-Clause +// copyright-holders:Wilbert Pol, Anthony Kruize +// thanks-to:Shay Green /************************************************************************************** * Game Boy sound emulation (c) Anthony Kruize (trandor@labyrinth.net.au) * @@ -36,17 +39,46 @@ * 14/5/2002 AK - Removed magic numbers in the fixed point math. * 12/6/2002 AK - Merged SOUNDx structs into one SOUND struct. * 26/10/2002 AK - Finally fixed channel 3! -* +* xx/4-5/2016 WP - Rewrote sound core. Most of the code is not optimized yet. + +TODO: +- Implement different behavior of CGB-02. +- Implement different behavior of CGB-05. +- Perform more tests on real hardware to figure out when the frequency counters are + reloaded. +- Perform more tests on real hardware to understand when changes to the noise divisor + and shift kick in. +- Optimize the channel update methods. + ***************************************************************************************/ #include "mamedef.h" #include // for rand -#include // for memset +#include // for memset //#include "emu.h" #include "gb.h" //#include "streams.h" +typedef UINT8 bool; +#define false 0x00 +#define true 0x01 + + +#define RC_SHIFT 16 + +typedef struct +{ + UINT32 inc; // counter increment + UINT32 val; // current value +} RATIO_CNTR; + +INLINE void RC_SET_RATIO(RATIO_CNTR* rc, UINT32 mul, UINT32 div) +{ + rc->inc = (UINT32)((((UINT64)mul << RC_SHIFT) + div / 2) / div); +} + + /*************************************************************************** CONSTANTS ***************************************************************************/ @@ -56,6 +88,7 @@ #define NR12 0x02 #define NR13 0x03 #define NR14 0x04 +// 0x05 #define NR21 0x06 #define NR22 0x07 #define NR23 0x08 @@ -65,6 +98,7 @@ #define NR32 0x0C #define NR33 0x0D #define NR34 0x0E +// 0x0F #define NR41 0x10 #define NR42 0x11 #define NR43 0x12 @@ -72,6 +106,7 @@ #define NR50 0x14 #define NR51 0x15 #define NR52 0x16 +// 0x17 - 0x1F #define AUD3W0 0x20 #define AUD3W1 0x21 #define AUD3W2 0x22 @@ -89,13 +124,16 @@ #define AUD3WE 0x2E #define AUD3WF 0x2F -#define LEFT 1 -#define RIGHT 2 -#define MAX_FREQUENCIES 2048 -#define FIXED_POINT 16 +#define FRAME_CYCLES 8192 /* Represents wave duties of 12.5%, 25%, 50% and 75% */ -static const float wave_duty_table[4] = { 8.0f, 4.0f, 2.0f, 1.33333f }; +static const int wave_duty_table[4][8] = +{ + { -1, -1, -1, -1, -1, -1, -1, 1}, + { 1, -1, -1, -1, -1, -1, -1, 1}, + { 1, -1, -1, -1, -1, 1, 1, 1}, + { -1, 1, 1, 1, 1, 1, 1, -1} +}; /*************************************************************************** @@ -105,35 +143,41 @@ static const float wave_duty_table[4] = { 8.0f, 4.0f, 2.0f, 1.33333f }; struct SOUND { /* Common */ - UINT8 on; + UINT8 reg[5]; + bool on; UINT8 channel; - INT32 length; - INT32 pos; - //UINT32 pos; - UINT32 period; - INT32 count; - INT8 mode; + UINT8 length; + UINT8 length_mask; + bool length_counting; + bool length_enabled; /* Mode 1, 2, 3 */ + UINT32 cycles_left; INT8 duty; /* Mode 1, 2, 4 */ - INT32 env_value; - INT8 env_direction; - INT32 env_length; - INT32 env_count; + bool envelope_enabled; + INT8 envelope_value; + INT8 envelope_direction; + UINT8 envelope_time; + UINT8 envelope_count; INT8 signal; /* Mode 1 */ - UINT32 frequency; - INT32 swp_shift; - INT32 swp_direction; - INT32 swp_time; - INT32 swp_count; + UINT16 frequency; + UINT16 frequency_counter; + bool sweep_enabled; + bool sweep_neg_mode_used; + UINT8 sweep_shift; + INT32 sweep_direction; + UINT8 sweep_time; + UINT8 sweep_count; /* Mode 3 */ - INT8 level; + UINT8 level; UINT8 offset; - UINT32 dutycount; + UINT32 duty_count; + INT8 current_sample; + bool sample_reading; /* Mode 4 */ - INT32 ply_step; - INT16 ply_value; + bool noise_short; + UINT16 noise_lfsr; UINT8 Muted; }; @@ -150,23 +194,17 @@ struct SOUNDC UINT8 mode3_right; UINT8 mode4_left; UINT8 mode4_right; + UINT32 cycles; + bool wave_ram_locked; }; +#define GBMODE_DMG 0x00 +#define GBMODE_CGB04 0x01 typedef struct _gb_sound_t gb_sound_t; struct _gb_sound_t { - //sound_stream *channel; - //int rate; - UINT32 rate; // fixes bad calculations of length_mode3_table - - INT32 env_length_table[8]; - INT32 swp_time_table[8]; - UINT32 period_table[MAX_FREQUENCIES]; - UINT32 period_mode3_table[MAX_FREQUENCIES]; - UINT32 period_mode4_table[8][16]; - UINT32 length_table[64]; - UINT32 length_mode3_table[256]; + UINT32 rate; struct SOUND snd_1; struct SOUND snd_2; @@ -175,228 +213,423 @@ struct _gb_sound_t struct SOUNDC snd_control; UINT8 snd_regs[0x30]; + + RATIO_CNTR cycleCntr; + + UINT8 gbMode; + //UINT8 BoostWaveChn; }; +extern UINT8 CHIP_SAMPLING_MODE; +extern INT32 CHIP_SAMPLE_RATE; extern UINT32 SampleRate; #define MAX_CHIPS 0x02 static gb_sound_t GBSoundData[MAX_CHIPS]; -static UINT8 LoudWaveChn = 0x00; -static UINT8 LowNoiseChn = 0x00; -static UINT8 AccuracyHack = 0x01; - - -/*************************************************************************** - INLINE FUNCTIONS -***************************************************************************/ - -/*INLINE gb_sound_t *get_token(running_device *device) -{ - assert(device != NULL); - assert(device->type() == GAMEBOY); - return (gb_sound_t *) downcast(device)->token(); -}*/ - - -/*************************************************************************** - PROTOTYPES -***************************************************************************/ +static UINT8 BoostWaveChn = 0x00; -//static STREAM_UPDATE( gameboy_update ); +static void gb_corrupt_wave_ram(gb_sound_t *gb); +static void gb_apu_power_off(gb_sound_t *gb); +static void gb_tick_length(struct SOUND *snd); +static INT32 gb_calculate_next_sweep(struct SOUND *snd); +INLINE bool gb_dac_enabled(struct SOUND *snd); +INLINE UINT32 gb_noise_period_cycles(gb_sound_t *gb); /*************************************************************************** IMPLEMENTATION ***************************************************************************/ -//READ8_DEVICE_HANDLER( gb_wave_r ) UINT8 gb_wave_r(UINT8 ChipID, offs_t offset) { - //gb_sound_t *gb = get_token(device); gb_sound_t *gb = &GBSoundData[ChipID]; - /* TODO: properly emulate scrambling of wave ram area when playback is active */ - return ( gb->snd_regs[ AUD3W0 + offset ] | gb->snd_3.on ); + //gb_update_state(gb, 0); + + if (gb->snd_3.on) + { + if (gb->gbMode == GBMODE_DMG) + return gb->snd_3.sample_reading ? gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)] : 0xFF; + else if (gb->gbMode == GBMODE_CGB04) + return gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)]; + } + + return gb->snd_regs[AUD3W0 + offset]; } -//WRITE8_DEVICE_HANDLER( gb_wave_w ) void gb_wave_w(UINT8 ChipID, offs_t offset, UINT8 data) { - //gb_sound_t *gb = get_token(device); gb_sound_t *gb = &GBSoundData[ChipID]; - gb->snd_regs[ AUD3W0 + offset ] = data; + //gb_update_state(gb, 0); + + if (gb->snd_3.on) + { + if (gb->gbMode == GBMODE_DMG) + { + if (gb->snd_3.sample_reading) + { + gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)] = data; + } + } + else if (gb->gbMode == GBMODE_CGB04) + { + gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)] = data; + } + } + else + { + gb->snd_regs[AUD3W0 + offset] = data; + } } -//READ8_DEVICE_HANDLER( gb_sound_r ) UINT8 gb_sound_r(UINT8 ChipID, offs_t offset) { - //gb_sound_t *gb = get_token(device); + static const UINT8 read_mask[0x40] = + { + 0x80,0x3F,0x00,0xFF,0xBF,0xFF,0x3F,0x00,0xFF,0xBF,0x7F,0xFF,0x9F,0xFF,0xBF,0xFF, + 0xFF,0x00,0x00,0xBF,0x00,0x00,0x70,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 + }; gb_sound_t *gb = &GBSoundData[ChipID]; - switch( offset ) { - case 0x05: - case 0x0F: - return 0xFF; - case NR52: - return 0x70 | gb->snd_regs[offset]; - default: - return gb->snd_regs[offset]; + //gb_update_state(gb, 0); + + if (offset < AUD3W0) + { + if (gb->snd_control.on) + { + if (offset == NR52) + { + return (gb->snd_regs[NR52]&0xf0) | (gb->snd_1.on ? 1 : 0) | (gb->snd_2.on ? 2 : 0) | (gb->snd_3.on ? 4 : 0) | (gb->snd_4.on ? 8 : 0) | 0x70; + } + return gb->snd_regs[offset] | read_mask[offset & 0x3F]; + } + else + { + return read_mask[offset & 0x3F]; + } } + else if (offset <= AUD3WF) + { + return gb_wave_r(ChipID, offset - AUD3W0); + } + return 0xFF; } -//static void gb_sound_w_internal(running_device *device, int offset, UINT8 data ) -static void gb_sound_w_internal(gb_sound_t *gb, int offset, UINT8 data ) +void gb_sound_w_internal(gb_sound_t *gb, UINT8 offset, UINT8 data) { - //gb_sound_t *gb = get_token(device); - /* Store the value */ - gb->snd_regs[offset] = data; + UINT8 old_data = gb->snd_regs[offset]; - switch( offset ) + if (gb->snd_control.on) + { + gb->snd_regs[offset] = data; + } + + switch (offset) { /*MODE 1 */ case NR10: /* Sweep (R/W) */ - gb->snd_1.swp_shift = data & 0x7; - gb->snd_1.swp_direction = (data & 0x8) >> 3; - gb->snd_1.swp_direction |= gb->snd_1.swp_direction - 1; - gb->snd_1.swp_time = gb->swp_time_table[ (data & 0x70) >> 4 ]; + gb->snd_1.reg[0] = data; + gb->snd_1.sweep_shift = data & 0x7; + gb->snd_1.sweep_direction = (data & 0x8) ? -1 : 1; + gb->snd_1.sweep_time = (data & 0x70) >> 4; + if ((old_data & 0x08) && !(data & 0x08) && gb->snd_1.sweep_neg_mode_used) + { + gb->snd_1.on = false; + } break; case NR11: /* Sound length/Wave pattern duty (R/W) */ - gb->snd_1.duty = (data & 0xC0) >> 6; - gb->snd_1.length = gb->length_table[data & 0x3F]; + gb->snd_1.reg[1] = data; + if (gb->snd_control.on) + { + gb->snd_1.duty = (data & 0xc0) >> 6; + } + gb->snd_1.length = data & 0x3f; + gb->snd_1.length_counting = true; break; case NR12: /* Envelope (R/W) */ - gb->snd_1.env_value = data >> 4; - gb->snd_1.env_direction = (data & 0x8) >> 3; - gb->snd_1.env_direction |= gb->snd_1.env_direction - 1; - gb->snd_1.env_length = gb->env_length_table[data & 0x7]; + gb->snd_1.reg[2] = data; + gb->snd_1.envelope_value = data >> 4; + gb->snd_1.envelope_direction = (data & 0x8) ? 1 : -1; + gb->snd_1.envelope_time = data & 0x07; + if (!gb_dac_enabled(&gb->snd_1)) + { + gb->snd_1.on = false; + } break; case NR13: /* Frequency lo (R/W) */ - gb->snd_1.frequency = ((gb->snd_regs[NR14]&0x7)<<8) | gb->snd_regs[NR13]; - gb->snd_1.period = gb->period_table[gb->snd_1.frequency]; + gb->snd_1.reg[3] = data; + // Only enabling the frequency line breaks blarggs's sound test #5 + // This condition may not be correct + if (!gb->snd_1.sweep_enabled) + { + gb->snd_1.frequency = ((gb->snd_1.reg[4] & 0x7) << 8) | gb->snd_1.reg[3]; + } break; case NR14: /* Frequency hi / Initialize (R/W) */ - gb->snd_1.mode = (data & 0x40) >> 6; - gb->snd_1.frequency = ((gb->snd_regs[NR14]&0x7)<<8) | gb->snd_regs[NR13]; - gb->snd_1.period = gb->period_table[gb->snd_1.frequency]; - if( data & 0x80 ) - { - if( !gb->snd_1.on ) - gb->snd_1.pos = 0; - gb->snd_1.on = 1; - gb->snd_1.count = 0; - gb->snd_1.env_value = gb->snd_regs[NR12] >> 4; - gb->snd_1.env_count = 0; - gb->snd_1.swp_count = 0; - gb->snd_1.signal = 0x1; - gb->snd_regs[NR52] |= 0x1; + gb->snd_1.reg[4] = data; + { + bool length_was_enabled = gb->snd_1.length_enabled; + + gb->snd_1.length_enabled = (data & 0x40) ? true : false; + gb->snd_1.frequency = ((gb->snd_regs[NR14] & 0x7) << 8) | gb->snd_1.reg[3]; + + if (!length_was_enabled && !(gb->snd_control.cycles & FRAME_CYCLES) && gb->snd_1.length_counting) + { + if (gb->snd_1.length_enabled) + { + gb_tick_length(&gb->snd_1); + } + } + + if (data & 0x80) + { + gb->snd_1.on = true; + gb->snd_1.envelope_enabled = true; + gb->snd_1.envelope_value = gb->snd_1.reg[2] >> 4; + gb->snd_1.envelope_count = gb->snd_1.envelope_time; + gb->snd_1.sweep_count = gb->snd_1.sweep_time; + gb->snd_1.sweep_neg_mode_used = false; + gb->snd_1.signal = 0; + gb->snd_1.length = gb->snd_1.reg[1] & 0x3f; // VGM log fix -Valley Bell + gb->snd_1.length_counting = true; + gb->snd_1.frequency = ((gb->snd_1.reg[4] & 0x7) << 8) | gb->snd_1.reg[3]; + gb->snd_1.frequency_counter = gb->snd_1.frequency; + gb->snd_1.cycles_left = 0; + gb->snd_1.duty_count = 0; + gb->snd_1.sweep_enabled = (gb->snd_1.sweep_shift != 0) || (gb->snd_1.sweep_time != 0); + if (!gb_dac_enabled(&gb->snd_1)) + { + gb->snd_1.on = false; + } + if (gb->snd_1.sweep_shift > 0) + { + gb_calculate_next_sweep(&gb->snd_1); + } + + if (gb->snd_1.length == 0 && gb->snd_1.length_enabled && !(gb->snd_control.cycles & FRAME_CYCLES)) + { + gb_tick_length(&gb->snd_1); + } + } + else + { + // This condition may not be correct + if (!gb->snd_1.sweep_enabled) + { + gb->snd_1.frequency = ((gb->snd_1.reg[4] & 0x7) << 8) | gb->snd_1.reg[3]; + } + } } break; /*MODE 2 */ case NR21: /* Sound length/Wave pattern duty (R/W) */ - gb->snd_2.duty = (data & 0xC0) >> 6; - gb->snd_2.length = gb->length_table[data & 0x3F]; - break; - case NR22: /* Envelope (R/W) */ -// gb->snd_2.env_value = data >> 4; -// gb->snd_2.env_direction = (data & 0x8 ) >> 3; - // Thanks to Delek for the fix - gb->snd_2.env_direction = (data & 0x8) >> 3; - if (gb->snd_2.env_direction) + gb->snd_2.reg[1] = data; + if (gb->snd_control.on) { - gb->snd_2.env_value ++; - if (gb->snd_2.env_value > 0x0F) - gb->snd_2.env_value = 0; + gb->snd_2.duty = (data & 0xc0) >> 6; } - else + gb->snd_2.length = data & 0x3f; + gb->snd_2.length_counting = true; + break; + case NR22: /* Envelope (R/W) */ + gb->snd_2.reg[2] = data; + gb->snd_2.envelope_value = data >> 4; + gb->snd_2.envelope_direction = (data & 0x8) ? 1 : -1; + gb->snd_2.envelope_time = data & 0x07; + if (!gb_dac_enabled(&gb->snd_2)) { - gb->snd_2.env_value = data >> 4; + gb->snd_2.on = false; } - gb->snd_2.env_direction |= gb->snd_2.env_direction - 1; - gb->snd_2.env_length = gb->env_length_table[data & 0x7]; break; case NR23: /* Frequency lo (R/W) */ - gb->snd_2.period = gb->period_table[((gb->snd_regs[NR24]&0x7)<<8) | gb->snd_regs[NR23]]; + gb->snd_2.reg[3] = data; + gb->snd_2.frequency = ((gb->snd_2.reg[4] & 0x7) << 8) | gb->snd_2.reg[3]; break; case NR24: /* Frequency hi / Initialize (R/W) */ - gb->snd_2.mode = (data & 0x40) >> 6; - gb->snd_2.period = gb->period_table[((gb->snd_regs[NR24]&0x7)<<8) | gb->snd_regs[NR23]]; - if( data & 0x80 ) - { - if( !gb->snd_2.on ) - gb->snd_2.pos = 0; - gb->snd_2.on = 1; - gb->snd_2.count = 0; - gb->snd_2.env_value = gb->snd_regs[NR22] >> 4; - gb->snd_2.env_count = 0; - gb->snd_2.signal = 0x1; - gb->snd_regs[NR52] |= 0x2; + gb->snd_2.reg[4] = data; + { + bool length_was_enabled = gb->snd_2.length_enabled; + + gb->snd_2.length_enabled = (data & 0x40) ? true : false; + + if (!length_was_enabled && !(gb->snd_control.cycles & FRAME_CYCLES) && gb->snd_2.length_counting) + { + if (gb->snd_2.length_enabled) + { + gb_tick_length(&gb->snd_2); + } + } + + if (data & 0x80) + { + gb->snd_2.on = true; + gb->snd_2.envelope_enabled = true; + gb->snd_2.envelope_value = gb->snd_2.reg[2] >> 4; + gb->snd_2.envelope_count = gb->snd_2.envelope_time; + gb->snd_2.frequency = ((gb->snd_2.reg[4] & 0x7) << 8) | gb->snd_2.reg[3]; + gb->snd_2.frequency_counter = gb->snd_2.frequency; + gb->snd_2.cycles_left = 0; + gb->snd_2.duty_count = 0; + gb->snd_2.signal = 0; + gb->snd_2.length = gb->snd_2.reg[1] & 0x3f; // VGM log fix -Valley Bell + gb->snd_2.length_counting = true; + + if (!gb_dac_enabled(&gb->snd_2)) + { + gb->snd_2.on = false; + } + + if (gb->snd_2.length == 0 && gb->snd_2.length_enabled && !(gb->snd_control.cycles & FRAME_CYCLES)) + { + gb_tick_length(&gb->snd_2); + } + } + else + { + gb->snd_2.frequency = ((gb->snd_2.reg[4] & 0x7) << 8) | gb->snd_2.reg[3]; + } } break; /*MODE 3 */ case NR30: /* Sound On/Off (R/W) */ - gb->snd_3.on = (data & 0x80) >> 7; + gb->snd_3.reg[0] = data; + if (!gb_dac_enabled(&gb->snd_3)) + { + gb->snd_3.on = false; + } break; case NR31: /* Sound Length (R/W) */ - gb->snd_3.length = gb->length_mode3_table[data]; + gb->snd_3.reg[1] = data; + gb->snd_3.length = data; + gb->snd_3.length_counting = true; break; case NR32: /* Select Output Level */ + gb->snd_3.reg[2] = data; gb->snd_3.level = (data & 0x60) >> 5; break; case NR33: /* Frequency lo (W) */ - gb->snd_3.period = gb->period_mode3_table[((gb->snd_regs[NR34]&0x7)<<8) + gb->snd_regs[NR33]]; + gb->snd_3.reg[3] = data; + gb->snd_3.frequency = ((gb->snd_3.reg[4] & 0x7) << 8) | gb->snd_3.reg[3]; break; case NR34: /* Frequency hi / Initialize (W) */ - gb->snd_3.mode = (data & 0x40) >> 6; - gb->snd_3.period = gb->period_mode3_table[((gb->snd_regs[NR34]&0x7)<<8) + gb->snd_regs[NR33]]; - if( data & 0x80 ) + gb->snd_3.reg[4] = data; { - if( !gb->snd_3.on ) + bool length_was_enabled = gb->snd_3.length_enabled; + + gb->snd_3.length_enabled = (data & 0x40) ? true : false; + + if (!length_was_enabled && !(gb->snd_control.cycles & FRAME_CYCLES) && gb->snd_3.length_counting) { - gb->snd_3.pos = 0; + if (gb->snd_3.length_enabled) + { + gb_tick_length(&gb->snd_3); + } + } + + if (data & 0x80) + { + if (gb->snd_3.on && gb->snd_3.frequency_counter == 0x7ff) + { + gb_corrupt_wave_ram(gb); + } + gb->snd_3.on = true; gb->snd_3.offset = 0; - gb->snd_3.duty = 0; + gb->snd_3.duty = 1; + gb->snd_3.duty_count = 0; + gb->snd_3.length = gb->snd_3.reg[1]; // VGM log fix -Valley Bell + gb->snd_3.length_counting = true; + gb->snd_3.frequency = ((gb->snd_3.reg[4] & 0x7) << 8) | gb->snd_3.reg[3]; + gb->snd_3.frequency_counter = gb->snd_3.frequency; + // There is a tiny bit of delay in starting up the wave channel(?) + // + // Results from older code where corruption of wave ram was triggered when sample_reading == true: + // 4 breaks test 09 (read wram), fixes test 10 (write trigger), breaks test 12 (write wram) + // 6 fixes test 09 (read wram), breaks test 10 (write trigger), fixes test 12 (write wram) + gb->snd_3.cycles_left = 0 + 6; + gb->snd_3.sample_reading = false; + + if (!gb_dac_enabled(&gb->snd_3)) + { + gb->snd_3.on = false; + } + + if (gb->snd_3.length == 0 && gb->snd_3.length_enabled && !(gb->snd_control.cycles & FRAME_CYCLES)) + { + gb_tick_length(&gb->snd_3); + } + } + else + { + gb->snd_3.frequency = ((gb->snd_3.reg[4] & 0x7) << 8) | gb->snd_3.reg[3]; } - gb->snd_3.on = 1; - gb->snd_3.count = 0; - gb->snd_3.duty = 1; - gb->snd_3.dutycount = 0; - gb->snd_regs[NR52] |= 0x4; } break; /*MODE 4 */ case NR41: /* Sound Length (R/W) */ - gb->snd_4.length = gb->length_table[data & 0x3F]; + gb->snd_4.reg[1] = data; + gb->snd_4.length = data & 0x3f; + gb->snd_4.length_counting = true; break; case NR42: /* Envelope (R/W) */ - gb->snd_4.env_value = data >> 4; - gb->snd_4.env_direction = (data & 0x8 ) >> 3; - gb->snd_4.env_direction |= gb->snd_4.env_direction - 1; - gb->snd_4.env_length = gb->env_length_table[data & 0x7]; + gb->snd_4.reg[2] = data; + gb->snd_4.envelope_value = data >> 4; + gb->snd_4.envelope_direction = (data & 0x8) ? 1 : -1; + gb->snd_4.envelope_time = data & 0x07; + if (!gb_dac_enabled(&gb->snd_4)) + { + gb->snd_4.on = false; + } break; case NR43: /* Polynomial Counter/Frequency */ - gb->snd_4.period = gb->period_mode4_table[data & 0x7][(data & 0xF0) >> 4]; - gb->snd_4.ply_step = (data & 0x8) >> 3; + gb->snd_4.reg[3] = data; + gb->snd_4.noise_short = (data & 0x8); break; case NR44: /* Counter/Consecutive / Initialize (R/W) */ - gb->snd_4.mode = (data & 0x40) >> 6; - if( data & 0x80 ) - { - if( !gb->snd_4.on ) - gb->snd_4.pos = 0; - gb->snd_4.on = 1; - gb->snd_4.count = 0; - gb->snd_4.env_value = gb->snd_regs[NR42] >> 4; - gb->snd_4.env_count = 0; - //gb->snd_4.signal = mame_rand(device->machine); - gb->snd_4.signal = rand() & 0xFF; - gb->snd_4.ply_value = 0x7fff; - gb->snd_regs[NR52] |= 0x8; + gb->snd_4.reg[4] = data; + { + bool length_was_enabled = gb->snd_4.length_enabled; + + gb->snd_4.length_enabled = (data & 0x40) ? true : false; + + if (!length_was_enabled && !(gb->snd_control.cycles & FRAME_CYCLES) && gb->snd_4.length_counting) + { + if (gb->snd_4.length_enabled) + { + gb_tick_length(&gb->snd_4); + } + } + + if (data & 0x80) + { + gb->snd_4.on = true; + gb->snd_4.envelope_enabled = true; + gb->snd_4.envelope_value = gb->snd_4.reg[2] >> 4; + gb->snd_4.envelope_count = gb->snd_4.envelope_time; + gb->snd_4.frequency_counter = 0; + gb->snd_4.cycles_left = gb_noise_period_cycles(gb); + gb->snd_4.signal = -1; + gb->snd_4.noise_lfsr = 0x7fff; + gb->snd_4.length = gb->snd_4.reg[1] & 0x3f; // VGM log fix -Valley Bell + gb->snd_4.length_counting = true; + + if (!gb_dac_enabled(&gb->snd_4)) + { + gb->snd_4.on = false; + } + + if (gb->snd_4.length == 0 && gb->snd_4.length_enabled && !(gb->snd_control.cycles & FRAME_CYCLES)) + { + gb_tick_length(&gb->snd_4); + } + } } break; @@ -415,364 +648,521 @@ static void gb_sound_w_internal(gb_sound_t *gb, int offset, UINT8 data ) gb->snd_control.mode4_right = (data & 0x8) >> 3; gb->snd_control.mode4_left = (data & 0x80) >> 7; break; - case NR52: /* Sound On/Off (R/W) */ - /* Only bit 7 is writable, writing to bits 0-3 does NOT enable or - disable sound. They are read-only */ - gb->snd_control.on = (data & 0x80) >> 7; - if( !gb->snd_control.on ) - { - gb_sound_w_internal( gb, NR10, 0x80 ); - gb_sound_w_internal( gb, NR11, 0x3F ); - gb_sound_w_internal( gb, NR12, 0x00 ); - gb_sound_w_internal( gb, NR13, 0xFE ); - gb_sound_w_internal( gb, NR14, 0xBF ); -// gb_sound_w_internal( gb, NR20, 0xFF ); - gb_sound_w_internal( gb, NR21, 0x3F ); - gb_sound_w_internal( gb, NR22, 0x00 ); - gb_sound_w_internal( gb, NR23, 0xFF ); - gb_sound_w_internal( gb, NR24, 0xBF ); - gb_sound_w_internal( gb, NR30, 0x7F ); - gb_sound_w_internal( gb, NR31, 0xFF ); - gb_sound_w_internal( gb, NR32, 0x9F ); - gb_sound_w_internal( gb, NR33, 0xFF ); - gb_sound_w_internal( gb, NR34, 0xBF ); -// gb_sound_w_internal( gb, NR40, 0xFF ); - gb_sound_w_internal( gb, NR41, 0xFF ); - gb_sound_w_internal( gb, NR42, 0x00 ); - gb_sound_w_internal( gb, NR43, 0x00 ); - gb_sound_w_internal( gb, NR44, 0xBF ); - gb_sound_w_internal( gb, NR50, 0x00 ); - gb_sound_w_internal( gb, NR51, 0x00 ); - gb->snd_1.on = 0; - gb->snd_2.on = 0; - gb->snd_3.on = 0; - gb->snd_4.on = 0; - gb->snd_regs[offset] = 0; + case NR52: // Sound On/Off (R/W) + // Only bit 7 is writable, writing to bits 0-3 does NOT enable or disable sound. They are read-only. + if (!(data & 0x80)) + { + // On DMG the length counters are not affected and not clocked + // powering off should actually clear all registers + gb_apu_power_off(gb); + } + else + { + if (!gb->snd_control.on) + { + // When switching on, the next step should be 0. + gb->snd_control.cycles |= 7 * FRAME_CYCLES; + } } + gb->snd_control.on = (data & 0x80) ? true : false; + gb->snd_regs[NR52] = data & 0x80; break; } } -//WRITE8_DEVICE_HANDLER( gb_sound_w ) void gb_sound_w(UINT8 ChipID, offs_t offset, UINT8 data) { - //gb_sound_t *gb = get_token(device); gb_sound_t *gb = &GBSoundData[ChipID]; - /* change in registers so update first */ - //stream_update(gb->channel); + //gb_update_state(gb, 0); if (offset < AUD3W0) { - /* Only register NR52 is accessible if the sound controller is disabled */ - if( !gb->snd_control.on && offset != NR52 ) + if (gb->gbMode == GBMODE_DMG) + { + /* Only register NR52 is accessible if the sound controller is disabled */ + if( !gb->snd_control.on && offset != NR52 && offset != NR11 && offset != NR21 && offset != NR31 && offset != NR41) + return; + } + else if (gb->gbMode == GBMODE_CGB04) { - return; + /* Only register NR52 is accessible if the sound controller is disabled */ + if (!gb->snd_control.on && offset != NR52) + return; } - gb_sound_w_internal( gb, offset, data ); + gb_sound_w_internal(gb, offset, data); } else if (offset <= AUD3WF) { - gb->snd_regs[offset] = data; + gb_wave_w(ChipID, offset - AUD3W0, data); } } +static void gb_corrupt_wave_ram(gb_sound_t *gb) +{ + if (gb->gbMode != GBMODE_DMG) + return; + if (gb->snd_3.offset < 8) + { + gb->snd_regs[AUD3W0] = gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)]; + } + else + { + int i; + for (i = 0; i < 4; i++) + { + gb->snd_regs[AUD3W0 + i] = gb->snd_regs[AUD3W0 + ((gb->snd_3.offset / 2) & ~0x03) + i]; + } + } +} -//static STREAM_UPDATE( gameboy_update ) -void gameboy_update(UINT8 ChipID, stream_sample_t **outputs, int samples) + +static void gb_apu_power_off(gb_sound_t *gb) { - //gb_sound_t *gb = get_token(device); - gb_sound_t *gb = &GBSoundData[ChipID]; - stream_sample_t *outl = outputs[0]; - stream_sample_t *outr = outputs[1]; - stream_sample_t sample, left, right, mode4_mask; + int i; - while( samples-- > 0 ) + switch(gb->gbMode) { - left = right = 0; + case GBMODE_DMG: + gb_sound_w_internal(gb, NR10, 0x00); + gb->snd_1.duty = 0; + gb->snd_regs[NR11] = 0; + gb_sound_w_internal(gb, NR12, 0x00); + gb_sound_w_internal(gb, NR13, 0x00); + gb_sound_w_internal(gb, NR14, 0x00); + gb->snd_1.length_counting = false; + gb->snd_1.sweep_neg_mode_used = false; + + gb->snd_regs[NR21] = 0; + gb_sound_w_internal(gb, NR22, 0x00); + gb_sound_w_internal(gb, NR23, 0x00); + gb_sound_w_internal(gb, NR24, 0x00); + gb->snd_2.length_counting = false; + + gb_sound_w_internal(gb, NR30, 0x00); + gb_sound_w_internal(gb, NR32, 0x00); + gb_sound_w_internal(gb, NR33, 0x00); + gb_sound_w_internal(gb, NR34, 0x00); + gb->snd_3.length_counting = false; + gb->snd_3.current_sample = 0; + + gb->snd_regs[NR41] = 0; + gb_sound_w_internal(gb, NR42, 0x00); + gb_sound_w_internal(gb, NR43, 0x00); + gb_sound_w_internal(gb, NR44, 0x00); + gb->snd_4.length_counting = false; + gb->snd_4.cycles_left = gb_noise_period_cycles(gb); + break; + case GBMODE_CGB04: + gb_sound_w_internal(gb, NR10, 0x00); + gb->snd_1.duty = 0; + gb_sound_w_internal(gb, NR11, 0x00); + gb_sound_w_internal(gb, NR12, 0x00); + gb_sound_w_internal(gb, NR13, 0x00); + gb_sound_w_internal(gb, NR14, 0x00); + gb->snd_1.length_counting = false; + gb->snd_1.sweep_neg_mode_used = false; + + gb_sound_w_internal(gb, NR21, 0x00); + gb_sound_w_internal(gb, NR22, 0x00); + gb_sound_w_internal(gb, NR23, 0x00); + gb_sound_w_internal(gb, NR24, 0x00); + gb->snd_2.length_counting = false; + + gb_sound_w_internal(gb, NR30, 0x00); + gb_sound_w_internal(gb, NR31, 0x00); + gb_sound_w_internal(gb, NR32, 0x00); + gb_sound_w_internal(gb, NR33, 0x00); + gb_sound_w_internal(gb, NR34, 0x00); + gb->snd_3.length_counting = false; + gb->snd_3.current_sample = 0; + + gb_sound_w_internal(gb, NR41, 0x00); + gb_sound_w_internal(gb, NR42, 0x00); + gb_sound_w_internal(gb, NR43, 0x00); + gb_sound_w_internal(gb, NR44, 0x00); + gb->snd_4.length_counting = false; + gb->snd_4.cycles_left = gb_noise_period_cycles(gb); + break; + } - /* Mode 1 - Wave with Envelope and Sweep */ - if( gb->snd_1.on && ! gb->snd_1.Muted ) + gb->snd_1.on = false; + gb->snd_2.on = false; + gb->snd_3.on = false; + gb->snd_4.on = false; + + gb->snd_control.wave_ram_locked = false; + + for (i = NR44 + 1; i < NR52; i++) + { + gb_sound_w_internal(gb, i, 0x00); + } + + return; +} + + +static void gb_tick_length(struct SOUND *snd) +{ + if (snd->length_enabled) + { + snd->length = (snd->length + 1) & snd->length_mask; + if (snd->length == 0) { - sample = gb->snd_1.signal * gb->snd_1.env_value; - if (! AccuracyHack) - { - gb->snd_1.pos++; - if( gb->snd_1.pos == (UINT32)(gb->snd_1.period / wave_duty_table[gb->snd_1.duty]) >> FIXED_POINT) - { - gb->snd_1.signal = -gb->snd_1.signal; - } - else if( gb->snd_1.pos > (gb->snd_1.period >> FIXED_POINT) ) - { - gb->snd_1.pos = 0; - gb->snd_1.signal = -gb->snd_1.signal; - } - } - else - { - // accuracy hack - makes high frequencies sound better - gb->snd_1.pos += 1 << FIXED_POINT; - if( (gb->snd_1.pos >> FIXED_POINT) == (UINT32)(gb->snd_1.period / wave_duty_table[gb->snd_1.duty]) >> FIXED_POINT) - { - gb->snd_1.signal = -gb->snd_1.signal; - } - else if( gb->snd_1.pos >= gb->snd_1.period ) - { - gb->snd_1.pos -= gb->snd_1.period; - gb->snd_1.signal = -gb->snd_1.signal; - } - } + snd->on = false; + snd->length_counting = false; + } + } +} + + +static INT32 gb_calculate_next_sweep(struct SOUND *snd) +{ + INT32 new_frequency; + snd->sweep_neg_mode_used = (snd->sweep_direction < 0); + new_frequency = snd->frequency + snd->sweep_direction * (snd->frequency >> snd->sweep_shift); + + if (new_frequency > 0x7FF) + { + snd->on = false; + } + + return new_frequency; +} + + +static void gb_apply_next_sweep(struct SOUND *snd) +{ + INT32 new_frequency = gb_calculate_next_sweep(snd); + + if (snd->on && snd->sweep_shift > 0) + { + snd->frequency = new_frequency; + snd->reg[3] = snd->frequency & 0xFF; + } +} + + +static void gb_tick_sweep(struct SOUND *snd) +{ + snd->sweep_count = (snd->sweep_count - 1) & 0x07; + if (snd->sweep_count == 0) + { + snd->sweep_count = snd->sweep_time; + + if (snd->sweep_enabled && snd->sweep_time > 0) + { + gb_apply_next_sweep(snd); + gb_calculate_next_sweep(snd); + } + } +} + + +static void gb_tick_envelope(struct SOUND *snd) +{ + if (snd->envelope_enabled) + { + snd->envelope_count = (snd->envelope_count - 1) & 0x07; + + if (snd->envelope_count == 0) + { + snd->envelope_count = snd->envelope_time; - if( gb->snd_1.length && gb->snd_1.mode ) + if (snd->envelope_count) { - gb->snd_1.count++; - if( gb->snd_1.count >= gb->snd_1.length ) + INT8 new_envelope_value = snd->envelope_value + snd->envelope_direction; + + if (new_envelope_value >= 0 && new_envelope_value <= 15) { - gb->snd_1.on = 0; - gb->snd_regs[NR52] &= 0xFE; + snd->envelope_value = new_envelope_value; } - } - - if( gb->snd_1.env_length ) - { - gb->snd_1.env_count++; - if( gb->snd_1.env_count >= gb->snd_1.env_length ) + else { - gb->snd_1.env_count = 0; - gb->snd_1.env_value += gb->snd_1.env_direction; - if( gb->snd_1.env_value < 0 ) - gb->snd_1.env_value = 0; - if( gb->snd_1.env_value > 15 ) - gb->snd_1.env_value = 15; + snd->envelope_enabled = false; } } + } + } +} - if( gb->snd_1.swp_time ) - { - gb->snd_1.swp_count++; - if( gb->snd_1.swp_count >= gb->snd_1.swp_time ) - { - gb->snd_1.swp_count = 0; - if( gb->snd_1.swp_direction > 0 ) - { - gb->snd_1.frequency -= gb->snd_1.frequency / (1 << gb->snd_1.swp_shift ); - if( gb->snd_1.frequency <= 0 ) - { - gb->snd_1.on = 0; - gb->snd_regs[NR52] &= 0xFE; - } - } - else - { - gb->snd_1.frequency += gb->snd_1.frequency / (1 << gb->snd_1.swp_shift ); - if( gb->snd_1.frequency >= MAX_FREQUENCIES ) - { - gb->snd_1.frequency = MAX_FREQUENCIES - 1; - } - } - gb->snd_1.period = gb->period_table[gb->snd_1.frequency]; - } - } +INLINE bool gb_dac_enabled(struct SOUND *snd) +{ + return (snd->channel != 3) ? snd->reg[2] & 0xF8 : snd->reg[0] & 0x80; +} - if( gb->snd_control.mode1_left ) - left += sample; - if( gb->snd_control.mode1_right ) - right += sample; + +static void gb_update_square_channel(struct SOUND *snd, UINT32 cycles) +{ + if (snd->on) + { + // compensate for leftover cycles + if (snd->cycles_left > 0) + { + cycles += snd->cycles_left; + snd->cycles_left = 0; } - /* Mode 2 - Wave with Envelope */ - if( gb->snd_2.on && ! gb->snd_2.Muted ) + while (cycles > 0) { - sample = gb->snd_2.signal * gb->snd_2.env_value; - if (! AccuracyHack) + // Emit sample(s) + if (cycles < 4) { - gb->snd_2.pos++; - if( gb->snd_2.pos == (UINT32)(gb->snd_2.period / wave_duty_table[gb->snd_2.duty]) >> FIXED_POINT) - { - gb->snd_2.signal = -gb->snd_2.signal; - } - else if( gb->snd_2.pos > (gb->snd_2.period >> FIXED_POINT) ) - { - gb->snd_2.pos = 0; - gb->snd_2.signal = -gb->snd_2.signal; - } + snd->cycles_left = cycles; + cycles = 0; } else { - gb->snd_2.pos += 1 << FIXED_POINT; - if( (gb->snd_2.pos >> FIXED_POINT) == (UINT32)(gb->snd_2.period / wave_duty_table[gb->snd_2.duty]) >> FIXED_POINT) - { - gb->snd_2.signal = -gb->snd_2.signal; - } - else if( gb->snd_2.pos >= gb->snd_2.period ) + cycles -= 4; + snd->frequency_counter = (snd->frequency_counter + 1) & 0x7FF; + if (snd->frequency_counter == 0) { - gb->snd_2.pos -= gb->snd_2.period; - gb->snd_2.signal = -gb->snd_2.signal; - } - } + snd->duty_count = (snd->duty_count + 1) & 0x07; + snd->signal = wave_duty_table[snd->duty][snd->duty_count]; - if( gb->snd_2.length && gb->snd_2.mode ) - { - gb->snd_2.count++; - if( gb->snd_2.count >= gb->snd_2.length ) - { - gb->snd_2.on = 0; - gb->snd_regs[NR52] &= 0xFD; + // Reload frequency counter + snd->frequency_counter = snd->frequency; } } + } + } +} - if( gb->snd_2.env_length ) - { - gb->snd_2.env_count++; - if( gb->snd_2.env_count >= gb->snd_2.env_length ) - { - gb->snd_2.env_count = 0; - gb->snd_2.env_value += gb->snd_2.env_direction; - if( gb->snd_2.env_value < 0 ) - gb->snd_2.env_value = 0; - if( gb->snd_2.env_value > 15 ) - gb->snd_2.env_value = 15; - } - } - if( gb->snd_control.mode2_left ) - left += sample; - if( gb->snd_control.mode2_right ) - right += sample; +static void gb_update_wave_channel(gb_sound_t *gb, struct SOUND *snd, UINT32 cycles) +{ + if (snd->on) + { + // compensate for leftover cycles + if (snd->cycles_left > 0) + { + cycles += snd->cycles_left; + snd->cycles_left = 0; } - /* Mode 3 - Wave patterns from WaveRAM */ - if( gb->snd_3.on && ! gb->snd_3.Muted ) + while (cycles > 0) { - /* NOTE: This is extremely close, but not quite right. - The problem is for GB frequencies above 2000 the frequency gets - clipped. This is caused because gb->snd_3.pos is never 0 at the test.*/ - sample = gb->snd_regs[AUD3W0 + (gb->snd_3.offset/2)]; - if( !(gb->snd_3.offset % 2) ) - { - sample >>= 4; - } - sample = (sample & 0xF) - 8; - if (LoudWaveChn) - sample <<= 1; + // Emit current sample - if( gb->snd_3.level ) - sample >>= (gb->snd_3.level - 1); - else - sample = 0; - - if (! AccuracyHack) + // cycles -= 2 + if (cycles < 2) { - gb->snd_3.pos++; - if( gb->snd_3.pos >= ((UINT32)(((gb->snd_3.period ) >> 21)) + gb->snd_3.duty) ) - { - gb->snd_3.pos = 0; - if( gb->snd_3.dutycount == ((UINT32)(((gb->snd_3.period ) >> FIXED_POINT)) % 32) ) - { - gb->snd_3.duty--; - } - gb->snd_3.dutycount++; - gb->snd_3.offset++; - if( gb->snd_3.offset > 31 ) - { - gb->snd_3.offset = 0; - gb->snd_3.duty = 1; - gb->snd_3.dutycount = 0; - } - } + snd->cycles_left = cycles; + cycles = 0; } else { - gb->snd_3.pos += 1 << 21; - if( gb->snd_3.pos >= (UINT32)gb->snd_3.period) + cycles -= 2; + + // Calculate next state + snd->frequency_counter = (snd->frequency_counter + 1) & 0x7FF; + snd->sample_reading = false; + if (gb->gbMode == GBMODE_DMG && snd->frequency_counter == 0x7ff) + snd->offset = (snd->offset + 1) & 0x1F; + if (snd->frequency_counter == 0) { - gb->snd_3.pos -= (UINT32)gb->snd_3.period; - gb->snd_3.dutycount++; - gb->snd_3.offset++; - if( gb->snd_3.offset > 31 ) + // Read next sample + snd->sample_reading = true; + if (gb->gbMode == GBMODE_CGB04) + snd->offset = (snd->offset + 1) & 0x1F; + snd->current_sample = gb->snd_regs[AUD3W0 + (snd->offset/2)]; + if (!(snd->offset & 0x01)) { - gb->snd_3.offset = 0; - gb->snd_3.dutycount = 0; + snd->current_sample >>= 4; } + snd->current_sample = (snd->current_sample & 0x0F) - 8; + if (BoostWaveChn) + snd->current_sample <<= 1; + + snd->signal = snd->level ? snd->current_sample / (1 << (snd->level - 1)) : 0; + + // Reload frequency counter + snd->frequency_counter = snd->frequency; } } + } + } +} - if( gb->snd_3.length && gb->snd_3.mode ) + +static void gb_update_noise_channel(gb_sound_t *gb, struct SOUND *snd, UINT32 cycles) +{ + while (cycles > 0) + { + if (cycles < snd->cycles_left) + { + if (snd->on) { - gb->snd_3.count++; - if( gb->snd_3.count >= gb->snd_3.length ) - { - gb->snd_3.on = 0; - gb->snd_regs[NR52] &= 0xFB; - } + // generate samples } - if( gb->snd_control.mode3_left ) - left += sample; - if( gb->snd_control.mode3_right ) - right += sample; + snd->cycles_left -= cycles; + cycles = 0; } + else + { + UINT16 feedback; - /* Mode 4 - Noise with Envelope */ - if( gb->snd_4.on && ! gb->snd_4.Muted ) - { - /* Similar problem to Mode 3, we seem to miss some notes */ - sample = gb->snd_4.signal & gb->snd_4.env_value; - sample -= gb->snd_4.env_value / 2; // make Bipolar - if (! LowNoiseChn) - sample <<= 1; // that's more like VisualBoy Advance (and sounds better) - gb->snd_4.pos++; - if( gb->snd_4.pos == (gb->snd_4.period >> (FIXED_POINT + 1)) ) - { - /* Using a Polynomial Counter (aka Linear Feedback Shift Register) - Mode 4 has a 7 bit and 15 bit counter so we need to shift the - bits around accordingly */ - mode4_mask = (((gb->snd_4.ply_value & 0x2) >> 1) ^ (gb->snd_4.ply_value & 0x1)) << (gb->snd_4.ply_step ? 6 : 14); - gb->snd_4.ply_value >>= 1; - gb->snd_4.ply_value |= mode4_mask; - gb->snd_4.ply_value &= (gb->snd_4.ply_step ? 0x7f : 0x7fff); - gb->snd_4.signal = (INT8)gb->snd_4.ply_value; - } - else if( gb->snd_4.pos > (gb->snd_4.period >> FIXED_POINT) ) + if (snd->on) { - gb->snd_4.pos = 0; - mode4_mask = (((gb->snd_4.ply_value & 0x2) >> 1) ^ (gb->snd_4.ply_value & 0x1)) << (gb->snd_4.ply_step ? 6 : 14); - gb->snd_4.ply_value >>= 1; - gb->snd_4.ply_value |= mode4_mask; - gb->snd_4.ply_value &= (gb->snd_4.ply_step ? 0x7f : 0x7fff); - gb->snd_4.signal = (INT8)gb->snd_4.ply_value; + // generate samples } - if( gb->snd_4.length && gb->snd_4.mode ) - { - gb->snd_4.count++; - if( gb->snd_4.count >= gb->snd_4.length ) - { - gb->snd_4.on = 0; - gb->snd_regs[NR52] &= 0xF7; - } - } + cycles -= snd->cycles_left; + snd->cycles_left = gb_noise_period_cycles(gb); - if( gb->snd_4.env_length ) + /* Using a Polynomial Counter (aka Linear Feedback Shift Register) + Mode 4 has a 15 bit counter so we need to shift the + bits around accordingly */ + feedback = ((snd->noise_lfsr >> 1) ^ snd->noise_lfsr) & 1; + snd->noise_lfsr = (snd->noise_lfsr >> 1) | (feedback << 14); + if (snd->noise_short) { - gb->snd_4.env_count++; - if( gb->snd_4.env_count >= gb->snd_4.env_length ) - { - gb->snd_4.env_count = 0; - gb->snd_4.env_value += gb->snd_4.env_direction; - if( gb->snd_4.env_value < 0 ) - gb->snd_4.env_value = 0; - if( gb->snd_4.env_value > 15 ) - gb->snd_4.env_value = 15; - } + snd->noise_lfsr = (snd->noise_lfsr & ~(1 << 6)) | (feedback << 6); } + snd->signal = (snd->noise_lfsr & 1) ? -1 : 1; + } + } +} + + +static void gb_update_state(gb_sound_t *gb, UINT32 cycles) +{ + UINT32 old_cycles; + + if (!gb->snd_control.on) + return; + + old_cycles = gb->snd_control.cycles; + gb->snd_control.cycles += cycles; + + if ((old_cycles / FRAME_CYCLES) != (gb->snd_control.cycles / FRAME_CYCLES)) + { + // Left over cycles in current frame + UINT32 cycles_current_frame = FRAME_CYCLES - (old_cycles & (FRAME_CYCLES - 1)); + + gb_update_square_channel(&gb->snd_1, cycles_current_frame); + gb_update_square_channel(&gb->snd_2, cycles_current_frame); + gb_update_wave_channel(gb, &gb->snd_3, cycles_current_frame); + gb_update_noise_channel(gb, &gb->snd_4, cycles_current_frame); + + cycles -= cycles_current_frame; + + // Switch to next frame + switch ((gb->snd_control.cycles / FRAME_CYCLES) & 0x07) + { + case 0: + // length + gb_tick_length(&gb->snd_1); + gb_tick_length(&gb->snd_2); + gb_tick_length(&gb->snd_3); + gb_tick_length(&gb->snd_4); + break; + case 2: + // sweep + gb_tick_sweep(&gb->snd_1); + // length + gb_tick_length(&gb->snd_1); + gb_tick_length(&gb->snd_2); + gb_tick_length(&gb->snd_3); + gb_tick_length(&gb->snd_4); + break; + case 4: + // length + gb_tick_length(&gb->snd_1); + gb_tick_length(&gb->snd_2); + gb_tick_length(&gb->snd_3); + gb_tick_length(&gb->snd_4); + break; + case 6: + // sweep + gb_tick_sweep(&gb->snd_1); + // length + gb_tick_length(&gb->snd_1); + gb_tick_length(&gb->snd_2); + gb_tick_length(&gb->snd_3); + gb_tick_length(&gb->snd_4); + break; + case 7: + // update envelope + gb_tick_envelope(&gb->snd_1); + gb_tick_envelope(&gb->snd_2); + gb_tick_envelope(&gb->snd_4); + break; + } + } + + gb_update_square_channel(&gb->snd_1, cycles); + gb_update_square_channel(&gb->snd_2, cycles); + gb_update_wave_channel(gb, &gb->snd_3, cycles); + gb_update_noise_channel(gb, &gb->snd_4, cycles); +} + + +INLINE UINT32 gb_noise_period_cycles(gb_sound_t *gb) +{ + static const int divisor[8] = { 8, 16,32, 48, 64, 80, 96, 112 }; + return divisor[gb->snd_4.reg[3] & 7] << (gb->snd_4.reg[3] >> 4); +} + + +void gameboy_update(UINT8 ChipID, stream_sample_t **outputs, int samples) +{ + gb_sound_t *gb = &GBSoundData[ChipID]; + stream_sample_t sample, left, right; + int i; + UINT32 cycles; + + for (i = 0; i < samples; i++) + { + left = right = 0; + + gb->cycleCntr.val += gb->cycleCntr.inc; + cycles = (UINT32)(gb->cycleCntr.val >> RC_SHIFT); + gb->cycleCntr.val &= ((1 << RC_SHIFT) - 1); + gb_update_state(gb, cycles); + + /* Mode 1 - Wave with Envelope and Sweep */ + if (gb->snd_1.on && !gb->snd_1.Muted) + { + sample = gb->snd_1.signal * gb->snd_1.envelope_value; + + if (gb->snd_control.mode1_left) + left += sample; + if (gb->snd_control.mode1_right) + right += sample; + } + + /* Mode 2 - Wave with Envelope */ + if (gb->snd_2.on && !gb->snd_2.Muted) + { + sample = gb->snd_2.signal * gb->snd_2.envelope_value; + if (gb->snd_control.mode2_left) + left += sample; + if (gb->snd_control.mode2_right) + right += sample; + } + + /* Mode 3 - Wave patterns from WaveRAM */ + if (gb->snd_3.on && !gb->snd_3.Muted) + { + sample = gb->snd_3.signal; + if (gb->snd_control.mode3_left) + left += sample; + if (gb->snd_control.mode3_right) + right += sample; + } - if( gb->snd_control.mode4_left ) + /* Mode 4 - Noise with Envelope */ + if (gb->snd_4.on && !gb->snd_4.Muted) + { + sample = gb->snd_4.signal * gb->snd_4.envelope_value; + if (gb->snd_control.mode4_left) left += sample; - if( gb->snd_control.mode4_right ) + if (gb->snd_control.mode4_right) right += sample; } @@ -785,74 +1175,35 @@ void gameboy_update(UINT8 ChipID, stream_sample_t **outputs, int samples) right <<= 6; /* Update the buffers */ - *(outl++) = left; - *(outr++) = right; + outputs[0][i] = left; + outputs[1][i] = right; } gb->snd_regs[NR52] = (gb->snd_regs[NR52]&0xf0) | gb->snd_1.on | (gb->snd_2.on << 1) | (gb->snd_3.on << 2) | (gb->snd_4.on << 3); } -//static DEVICE_START( gameboy_sound ) int device_start_gameboy_sound(UINT8 ChipID, int clock) { - //gb_sound_t *gb = get_token(device); gb_sound_t *gb; - int I, J; if (ChipID >= MAX_CHIPS) return 0; gb = &GBSoundData[ChipID]; - memset(&gb->snd_1, 0, sizeof(gb->snd_1)); - memset(&gb->snd_2, 0, sizeof(gb->snd_2)); - memset(&gb->snd_3, 0, sizeof(gb->snd_3)); - memset(&gb->snd_4, 0, sizeof(gb->snd_4)); + memset(gb, 0x00, sizeof(gb_sound_t)); - //gb->channel = stream_create(device, 0, 2, device->machine->sample_rate, 0, gameboy_update); - //gb->rate = device->machine->sample_rate; - gb->rate = SampleRate; + gb->rate = (clock & 0x7FFFFFFF) / 64; + if (((CHIP_SAMPLING_MODE & 0x01) && gb->rate < CHIP_SAMPLE_RATE) || + CHIP_SAMPLING_MODE == 0x02) + gb->rate = CHIP_SAMPLE_RATE; - /* Calculate the envelope and sweep tables */ - for( I = 0; I < 8; I++ ) - { - gb->env_length_table[I] = (I * ((1 << FIXED_POINT) / 64) * gb->rate) >> FIXED_POINT; - gb->swp_time_table[I] = (((I << FIXED_POINT) / 128) * gb->rate) >> (FIXED_POINT - 1); - } + gb->gbMode = (clock & 0x80000000) ? GBMODE_CGB04 : GBMODE_DMG; + RC_SET_RATIO(&gb->cycleCntr, clock & 0x7FFFFFFF, gb->rate); - /* Calculate the period tables */ - for( I = 0; I < MAX_FREQUENCIES; I++ ) - { - gb->period_table[I] = ((1 << FIXED_POINT) / (131072 / (2048 - I))) * gb->rate; - gb->period_mode3_table[I] = ((1 << FIXED_POINT) / (65536 / (2048 - I))) * gb->rate; - } - /* Calculate the period table for mode 4 */ - for( I = 0; I < 8; I++ ) - { - for( J = 0; J < 16; J++ ) - { - /* I is the dividing ratio of frequencies - J is the shift clock frequency */ - gb->period_mode4_table[I][J] = ((1 << FIXED_POINT) / (524288 / ((I == 0)?0.5:I) / (1 << (J + 1)))) * gb->rate; - } - } + gameboy_sound_set_mute_mask(ChipID, 0x00); + //gb->BoostWaveChn = 0x00; - /* Calculate the length table */ - for( I = 0; I < 64; I++ ) - { - gb->length_table[I] = ((64 - I) * ((1 << FIXED_POINT)/256) * gb->rate) >> FIXED_POINT; - } - /* Calculate the length table for mode 3 */ - for( I = 0; I < 256; I++ ) - { - gb->length_mode3_table[I] = ((256 - I) * ((1 << FIXED_POINT)/256) * gb->rate) >> FIXED_POINT; - } - - gb->snd_1.Muted = 0x00; - gb->snd_2.Muted = 0x00; - gb->snd_3.Muted = 0x00; - gb->snd_4.Muted = 0x00; - return gb->rate; } @@ -864,25 +1215,68 @@ void device_stop_gameboy_sound(UINT8 ChipID) void device_reset_gameboy_sound(UINT8 ChipID) { gb_sound_t *gb = &GBSoundData[ChipID]; + UINT32 muteMask; - // moved there from device_start - gb_sound_w_internal( gb, NR52, 0x00 ); - gb->snd_regs[AUD3W0] = 0xac; - gb->snd_regs[AUD3W1] = 0xdd; - gb->snd_regs[AUD3W2] = 0xda; - gb->snd_regs[AUD3W3] = 0x48; - gb->snd_regs[AUD3W4] = 0x36; - gb->snd_regs[AUD3W5] = 0x02; - gb->snd_regs[AUD3W6] = 0xcf; - gb->snd_regs[AUD3W7] = 0x16; - gb->snd_regs[AUD3W8] = 0x2c; - gb->snd_regs[AUD3W9] = 0x04; - gb->snd_regs[AUD3WA] = 0xe5; - gb->snd_regs[AUD3WB] = 0x2c; - gb->snd_regs[AUD3WC] = 0xac; - gb->snd_regs[AUD3WD] = 0xdd; - gb->snd_regs[AUD3WE] = 0xda; - gb->snd_regs[AUD3WF] = 0x48; + muteMask = gameboy_sound_get_mute_mask(ChipID); + + gb->cycleCntr.val = 0; + + memset(&gb->snd_1, 0, sizeof(gb->snd_1)); + memset(&gb->snd_2, 0, sizeof(gb->snd_2)); + memset(&gb->snd_3, 0, sizeof(gb->snd_3)); + memset(&gb->snd_4, 0, sizeof(gb->snd_4)); + + gameboy_sound_set_mute_mask(ChipID, muteMask); + + gb->snd_1.channel = 1; + gb->snd_1.length_mask = 0x3F; + gb->snd_2.channel = 2; + gb->snd_2.length_mask = 0x3F; + gb->snd_3.channel = 3; + gb->snd_3.length_mask = 0xFF; + gb->snd_4.channel = 4; + gb->snd_4.length_mask = 0x3F; + + gb_sound_w_internal(gb, NR52, 0x00); + switch(gb->gbMode) + { + case GBMODE_DMG: + gb->snd_regs[AUD3W0] = 0xac; + gb->snd_regs[AUD3W1] = 0xdd; + gb->snd_regs[AUD3W2] = 0xda; + gb->snd_regs[AUD3W3] = 0x48; + gb->snd_regs[AUD3W4] = 0x36; + gb->snd_regs[AUD3W5] = 0x02; + gb->snd_regs[AUD3W6] = 0xcf; + gb->snd_regs[AUD3W7] = 0x16; + gb->snd_regs[AUD3W8] = 0x2c; + gb->snd_regs[AUD3W9] = 0x04; + gb->snd_regs[AUD3WA] = 0xe5; + gb->snd_regs[AUD3WB] = 0x2c; + gb->snd_regs[AUD3WC] = 0xac; + gb->snd_regs[AUD3WD] = 0xdd; + gb->snd_regs[AUD3WE] = 0xda; + gb->snd_regs[AUD3WF] = 0x48; + break; + case GBMODE_CGB04: + gb->snd_regs[AUD3W0] = 0x00; + gb->snd_regs[AUD3W1] = 0xFF; + gb->snd_regs[AUD3W2] = 0x00; + gb->snd_regs[AUD3W3] = 0xFF; + gb->snd_regs[AUD3W4] = 0x00; + gb->snd_regs[AUD3W5] = 0xFF; + gb->snd_regs[AUD3W6] = 0x00; + gb->snd_regs[AUD3W7] = 0xFF; + gb->snd_regs[AUD3W8] = 0x00; + gb->snd_regs[AUD3W9] = 0xFF; + gb->snd_regs[AUD3WA] = 0x00; + gb->snd_regs[AUD3WB] = 0xFF; + gb->snd_regs[AUD3WC] = 0x00; + gb->snd_regs[AUD3WD] = 0xFF; + gb->snd_regs[AUD3WE] = 0x00; + gb->snd_regs[AUD3WF] = 0xFF; + break; + } return; } @@ -899,31 +1293,22 @@ void gameboy_sound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) return; } -void gameboy_sound_set_options(UINT8 Flags) +UINT32 gameboy_sound_get_mute_mask(UINT8 ChipID) { - LoudWaveChn = (Flags & 0x01) >> 0; - LowNoiseChn = (Flags & 0x02) >> 1; - AccuracyHack = ! ((Flags & 0x04) >> 2); + gb_sound_t *gb = &GBSoundData[ChipID]; + UINT32 muteMask; - return; + muteMask = (gb->snd_1.Muted << 0) | + (gb->snd_2.Muted << 1) | + (gb->snd_3.Muted << 2) | + (gb->snd_4.Muted << 3); + + return muteMask; } - - -/*DEVICE_GET_INFO( gameboy_sound ) +void gameboy_sound_set_options(UINT8 Flags) { - switch (state) - { - // --- the following bits of info are returned as 64-bit signed integers --- - case DEVINFO_INT_TOKEN_BYTES: info->i = sizeof(gb_sound_t); break; - - // --- the following bits of info are returned as pointers to data or functions --- - case DEVINFO_FCT_START: info->start = DEVICE_START_NAME(gameboy_sound); break; - - // --- the following bits of info are returned as NULL-terminated strings --- - case DEVINFO_STR_NAME: strcpy(info->s, "LR35902"); break; - case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break; - } -}*/ - -//DEFINE_LEGACY_SOUND_DEVICE(GAMEBOY, gameboy_sound); + BoostWaveChn = (Flags & 0x01) >> 0; + + return; +} diff --git a/src/chips/gb.h b/src/chips/gb.h index f30cea0..dadf143 100644 --- a/src/chips/gb.h +++ b/src/chips/gb.h @@ -11,4 +11,5 @@ void device_stop_gameboy_sound(UINT8 ChipID); void device_reset_gameboy_sound(UINT8 ChipID); void gameboy_sound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); +UINT32 gameboy_sound_get_mute_mask(UINT8 ChipID); void gameboy_sound_set_options(UINT8 Flags); diff --git a/src/chips/iremga20.c b/src/chips/iremga20.c index dbda5f4..ce61b22 100644 --- a/src/chips/iremga20.c +++ b/src/chips/iremga20.c @@ -27,8 +27,8 @@ It's not currently known whether this chip is stereo. *********************************************************/ //#include "emu.h" -#include -#include +#include +#include // for memset #include // for NULL #include "mamedef.h" #include "iremga20.h" @@ -46,7 +46,7 @@ struct IremGA20_channel_def UINT32 volume; UINT32 pan; //UINT32 effect; - UINT32 play; + UINT8 play; UINT8 Muted; }; @@ -90,7 +90,7 @@ void IremGA20_update(UINT8 ChipID, stream_sample_t **outputs, int samples) frac[i] = chip->channel[i].frac; end[i] = chip->channel[i].end - 0x20; vol[i] = chip->channel[i].volume; - play[i] = chip->channel[i].play; + play[i] = (! chip->channel[i].Muted) ? chip->channel[i].play : 0; } i = samples; @@ -146,7 +146,8 @@ void IremGA20_update(UINT8 ChipID, stream_sample_t **outputs, int samples) { chip->channel[i].pos = pos[i]; chip->channel[i].frac = frac[i]; - chip->channel[i].play = play[i]; + if (! chip->channel[i].Muted) + chip->channel[i].play = play[i]; } } diff --git a/src/chips/k051649.c b/src/chips/k051649.c index b59f59b..51bcc54 100644 --- a/src/chips/k051649.c +++ b/src/chips/k051649.c @@ -23,16 +23,12 @@ ***************************************************************************/ #include "mamedef.h" -#include -#include +#include +#include // for memset //#include "emu.h" //#include "streams.h" #include "k051649.h" -#ifdef EMSCRIPTEN -#include -#endif - #define FREQ_BITS 16 #define DEF_GAIN 8 @@ -162,10 +158,10 @@ int device_start_k051649(UINT8 ChipID, int clock) info = &SCC1Data[ChipID]; /* get stream channels */ //info->rate = device->clock()/16; - info->rate = clock/16; //info->stream = stream_create(device, 0, 1, info->rate, info, k051649_update); //info->mclock = device->clock(); - info->mclock = clock; + info->mclock = clock & 0x7FFFFFFF; + info->rate = info->mclock / 16; /* allocate a buffer to mix into - 1 second's worth should be more than enough */ //info->mixer_buffer = auto_alloc_array(device->machine, short, 2 * info->rate); diff --git a/src/chips/k053260.c b/src/chips/k053260.c index 318b0a2..a1e1243 100644 --- a/src/chips/k053260.c +++ b/src/chips/k053260.c @@ -9,15 +9,10 @@ #ifdef _DEBUG #include #endif -#include -#include -#include "k053260.h" - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif +#include // for memset +#include // for NULL +#include "k053260.h" /* 2004-02-28: Fixed PPCM decoding. Games sound much better now.*/ @@ -184,7 +179,7 @@ void k053260_update(UINT8 ChipID, stream_sample_t **outputs, int samples) if ( ppcm[i] ) { /* Packed PCM */ /* we only update the signal if we're starting or a real sound sample has gone by */ - /* this is all due to the dynamic sample rate convertion */ + /* this is all due to the dynamic sample rate conversion */ if ( pos[i] == 0 || ( ( pos[i] ^ ( pos[i] - delta[i] ) ) & 0x8000 ) == 0x8000 ) { diff --git a/src/chips/k054539.c b/src/chips/k054539.c index ab99386..662271e 100644 --- a/src/chips/k054539.c +++ b/src/chips/k054539.c @@ -8,8 +8,9 @@ *********************************************************/ //#include "emu.h" -#include -#include +#include +#include // for memset +#include // for NULL #include #include "mamedef.h" #ifdef _DEBUG @@ -17,12 +18,6 @@ #endif #include "k054539.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - #define VERBOSE 0 #define LOG(x) do { if (VERBOSE) logerror x; } while (0) @@ -230,7 +225,7 @@ void k054539_update(UINT8 ChipID, stream_sample_t **outputs, int samples) rdelta = (base1[6] | (base1[7] << 8)) >> 3; rdelta = (rdelta + info->reverb_pos) & 0x3fff; - cur_pos = (base1[0x0c] | (base1[0x0d] << 8) | (base1[0x0e] << 16)) & rom_mask; + cur_pos = base1[0x0c] | (base1[0x0d] << 8) | (base1[0x0e] << 16); if(base2[0] & 0x20) { delta = -delta; @@ -260,10 +255,10 @@ void k054539_update(UINT8 ChipID, stream_sample_t **outputs, int samples) cur_pos += pdelta; cur_pval = cur_val; - cur_val = (INT16)(rom[cur_pos] << 8); + cur_val = (INT16)(rom[cur_pos & rom_mask] << 8); if(cur_val == (INT16)0x8000 && (base2[1] & 1)) { - cur_pos = (base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16)) & rom_mask; - cur_val = (INT16)(rom[cur_pos] << 8); + cur_pos = base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16); + cur_val = (INT16)(rom[cur_pos & rom_mask] << 8); } if(cur_val == (INT16)0x8000) { k054539_keyoff(info, ch); @@ -283,10 +278,10 @@ void k054539_update(UINT8 ChipID, stream_sample_t **outputs, int samples) cur_pos += pdelta; cur_pval = cur_val; - cur_val = (INT16)(rom[cur_pos] | rom[cur_pos+1]<<8); + cur_val = (INT16)(rom[cur_pos & rom_mask] | rom[(cur_pos+1) & rom_mask]<<8); if(cur_val == (INT16)0x8000 && (base2[1] & 1)) { - cur_pos = (base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16)) & rom_mask; - cur_val = (INT16)(rom[cur_pos] | rom[cur_pos+1]<<8); + cur_pos = base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16); + cur_val = (INT16)(rom[cur_pos & rom_mask] | rom[(cur_pos+1) & rom_mask]<<8); } if(cur_val == (INT16)0x8000) { k054539_keyoff(info, ch); @@ -311,10 +306,10 @@ void k054539_update(UINT8 ChipID, stream_sample_t **outputs, int samples) cur_pos += pdelta; cur_pval = cur_val; - cur_val = rom[cur_pos>>1]; + cur_val = rom[(cur_pos>>1) & rom_mask]; if(cur_val == 0x88 && (base2[1] & 1)) { - cur_pos = ((base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16)) & rom_mask) << 1; - cur_val = rom[cur_pos>>1]; + cur_pos = (base1[0x08] | (base1[0x09] << 8) | (base1[0x0a] << 16)) << 1; + cur_val = rom[(cur_pos>>1) & rom_mask]; } if(cur_val == 0x88) { k054539_keyoff(info, ch); diff --git a/src/chips/mamedef.h b/src/chips/mamedef.h index 4558243..637a3ae 100644 --- a/src/chips/mamedef.h +++ b/src/chips/mamedef.h @@ -33,10 +33,12 @@ typedef UINT32 offs_t; /* stream_sample_t is used to represent a single sample in a sound stream */ typedef INT32 stream_sample_t; -#ifdef VGM_BIG_ENDIAN +#if defined(VGM_BIG_ENDIAN) #define BYTE_XOR_BE(x) (x) -#else +#elif defined(VGM_LITTLE_ENDIAN) #define BYTE_XOR_BE(x) ((x) ^ 0x01) +#else +// don't define BYTE_XOR_BE so that it throws an error when compiling #endif #if defined(EMSCRIPTEN) @@ -50,7 +52,9 @@ typedef INT32 stream_sample_t; #else #define INLINE static inline #endif +#ifndef M_PI #define M_PI 3.14159265358979323846 +#endif #ifdef _DEBUG #define logerror printf diff --git a/src/chips/multipcm.c b/src/chips/multipcm.c index 50fdf6b..bc8ce52 100644 --- a/src/chips/multipcm.c +++ b/src/chips/multipcm.c @@ -35,18 +35,15 @@ //#include "streams.h" #include "mamedef.h" #include -#include -#include -#include "multipcm.h" - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif +#include // for memset +#include // for NULL +#include "multipcm.h" //???? #define MULTIPCM_CLOCKDIV (180.0) +//#define SHOW_WARNINGS +static UINT8 didWarn = 0x00; struct _Sample { @@ -110,6 +107,7 @@ struct _MultiPCM struct _SLOT Slots[28]; unsigned int CurSlot; unsigned int Address; + unsigned int Bank; unsigned int BankR,BankL; float Rate; UINT32 ROMMask; @@ -351,7 +349,7 @@ static void WriteSlot(MultiPCM *ptChip,struct _SLOT *slot,int reg,unsigned char //according to YMF278 sample write causes some base params written to the regs (envelope+lfos) //the game should never change the sample while playing. { - struct _Sample *Sample=ptChip->Samples+slot->Regs[1]; + struct _Sample *Sample=ptChip->Samples+slot->Regs[1]+((slot->Regs[2]&1)<<8); WriteSlot(ptChip,slot,6,Sample->LFOVIB); WriteSlot(ptChip,slot,7,Sample->AM); } @@ -373,7 +371,20 @@ static void WriteSlot(MultiPCM *ptChip,struct _SLOT *slot,int reg,unsigned char { if(data&0x80) //KeyOn { - slot->Sample=ptChip->Samples+slot->Regs[1]; + UINT16 sampleID = slot->Regs[1]+((slot->Regs[2]&1)<<8); + if (ptChip->Bank && sampleID >= 0x100) + { +#ifdef SHOW_WARNINGS + if (! (didWarn & 0x02)) + { + didWarn |= 0x02; + printf("YMW Warning: SEGA Banking + playing sample with ID 0x100+\n"); + } +#endif + sampleID &= 0x0FF; + } + slot->Sample=ptChip->Samples+sampleID; + //slot->Sample=ptChip->Samples+slot->Regs[1]+((slot->Regs[2]&1)<<8); slot->Playing=1; slot->Base=slot->Sample->Start; slot->offset=0; @@ -384,12 +395,24 @@ static void WriteSlot(MultiPCM *ptChip,struct _SLOT *slot,int reg,unsigned char slot->EG.state=ATTACK; slot->EG.volume=0; - if(slot->Base>=0x100000) + if(ptChip->Bank && slot->Base>=0x100000) { - if(slot->Pan&8) - slot->Base=(slot->Base&0xfffff)|(ptChip->BankL); +#ifdef SHOW_WARNINGS + UINT8 otherBnk; + if (slot->Pan & 8) + otherBnk = (ptChip->Bank != ptChip->BankL); else - slot->Base=(slot->Base&0xfffff)|(ptChip->BankR); + otherBnk = (ptChip->Bank != ptChip->BankR); + if (otherBnk) + { + if (! (didWarn & 0x01)) + { + didWarn |= 0x01; + printf("YMW Warning: Playing sound on possibly unintended bank!\n"); + } + } +#endif + slot->Base=(slot->Base&0xfffff)|(ptChip->Bank); } } @@ -683,6 +706,7 @@ int device_start_multipcm(UINT8 ChipID, int clock) LFO_Init(); + didWarn = 0x00; multipcm_set_bank(ChipID, 0x00, 0x00); return (int)(ptChip->Rate + 0.5); @@ -744,6 +768,7 @@ void multipcm_set_bank(UINT8 ChipID, UINT32 leftoffs, UINT32 rightoffs) MultiPCM *ptChip = &MultiPCMData[ChipID]; ptChip->BankL = leftoffs; ptChip->BankR = rightoffs; + ptChip->Bank = ptChip->BankR ? ptChip->BankR : ptChip->BankL; } void multipcm_bank_write(UINT8 ChipID, UINT8 offset, UINT16 data) @@ -754,6 +779,14 @@ void multipcm_bank_write(UINT8 ChipID, UINT8 offset, UINT16 data) ptChip->BankL = data << 16; if (offset & 0x02) ptChip->BankR = data << 16; + ptChip->Bank = ptChip->BankR ? ptChip->BankR : ptChip->BankL; +#ifdef SHOW_WARNINGS + if (ptChip->BankL != 0 && ptChip->BankR != 0 && ptChip->BankL != ptChip->BankR) + //printf("Bank L/R mismatch: 0x%X != 0x%X\n", ptChip->BankL, ptChip->BankR); + printf("YMW Banks: 0x%X != 0x%X \n", ptChip->BankL, ptChip->BankR); + else + printf("YMW Banks: 0x%X / 0x%X \n", ptChip->BankL, ptChip->BankR); +#endif return; } @@ -768,7 +801,7 @@ void multipcm_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t D if (ptChip->ROMSize != ROMSize) { - ptChip->ROM = (UINT8*)realloc(ptChip->ROM, ROMSize); + ptChip->ROM = (INT8*)realloc(ptChip->ROM, ROMSize); ptChip->ROMSize = ROMSize; for (ptChip->ROMMask = 1; ptChip->ROMMask < ROMSize; ptChip->ROMMask <<= 1) diff --git a/src/chips/nes_apu.c b/src/chips/nes_apu.c index 7f7ebe3..d5b95a6 100644 --- a/src/chips/nes_apu.c +++ b/src/chips/nes_apu.c @@ -45,8 +45,8 @@ *****************************************************************************/ #include "mamedef.h" -#include -#include +#include +#include // for memset #include // for NULL //#include "emu.h" //#include "streams.h" @@ -55,10 +55,6 @@ #include "nes_defs.h" -#ifdef EMSCRIPTEN -#include -#endif - /* GLOBAL CONSTANTS */ #define SYNCS_MAX1 0x20 #define SYNCS_MAX2 0x80 @@ -725,6 +721,8 @@ INLINE uint8 apu_read(nesapu_state *info,int address) /* WRITE VALUE TO TEMP REGISTRY AND QUEUE EVENT */ INLINE void apu_write(nesapu_state *info,int address, uint8 value) { + if (address >= 0x20) + return; info->APU.regs[address]=value; //stream_update(info->stream); apu_regwrite(info,address,value); diff --git a/src/chips/nes_defs.h b/src/chips/nes_defs.h index 6513ece..075680f 100644 --- a/src/chips/nes_defs.h +++ b/src/chips/nes_defs.h @@ -158,7 +158,7 @@ typedef struct apu dpcm_t dpcm; /* APU registers */ - unsigned char regs[0x17]; + unsigned char regs[0x20]; /* Sound pointers */ void *buffer; diff --git a/src/chips/nes_intf.c b/src/chips/nes_intf.c index ced5d83..92a033e 100644 --- a/src/chips/nes_intf.c +++ b/src/chips/nes_intf.c @@ -5,8 +5,8 @@ ****************************************************************/ #include "mamedef.h" -#include // for memset -#include // for free +#include // for free +#include // for memset #include // for NULL #include "../stdbool.h" //#include "sndintrf.h" @@ -17,10 +17,6 @@ #include "np_nes_fds.h" #include "nes_intf.h" -#ifdef EMSCRIPTEN -#include -#endif - #ifdef ENABLE_ALL_CORES #define EC_MAME 0x01 // NES core from MAME @@ -90,7 +86,7 @@ int device_start_nes(UINT8 ChipID, int clock) { nes_state *info; int rate; - bool EnableFDS; + UINT8 EnableFDS; if (ChipID >= MAX_CHIPS) return 0; diff --git a/src/chips/np_nes_apu.c b/src/chips/np_nes_apu.c index b5fd29b..3681ced 100644 --- a/src/chips/np_nes_apu.c +++ b/src/chips/np_nes_apu.c @@ -7,17 +7,13 @@ // (Note: Encoding is UTF-8) //#include -#include -#include // for memset() +#include +#include // for memset #include // for NULL #include "mamedef.h" #include "../stdbool.h" #include "np_nes_apu.h" -#ifdef EMSCRIPTEN -#include -#endif - // Master Clock: 21477272 (NTSC) // APU Clock = Master Clock / 12 diff --git a/src/chips/np_nes_dmc.c b/src/chips/np_nes_dmc.c index 3841fb8..bfee9ae 100644 --- a/src/chips/np_nes_dmc.c +++ b/src/chips/np_nes_dmc.c @@ -3,9 +3,9 @@ // Updated to NSFPlay 2.3 on 26 September 2013 // (Note: Encoding is UTF-8) -#include // for rand() -#include -#include // for memset() +#include // for rand +#include +#include // for memset #include // for NULL #include "mamedef.h" #include "../stdbool.h" diff --git a/src/chips/np_nes_fds.c b/src/chips/np_nes_fds.c index 43642d0..68876e5 100644 --- a/src/chips/np_nes_fds.c +++ b/src/chips/np_nes_fds.c @@ -1,11 +1,10 @@ // Ported from NSFPlay 2.3 to VGMPlay (including C++ -> C conversion) // by Valley Bell on 26 September 2013 -#include // for rand() -#include -#include // for memset() +#include // for rand, malloc +#include // for memset #include // for NULL -#include // for exp() +#include // for exp #include "mamedef.h" #include "../stdbool.h" #include "np_nes_fds.h" diff --git a/src/chips/okim6258.c b/src/chips/okim6258.c index 5a8f4ef..35e17c5 100644 --- a/src/chips/okim6258.c +++ b/src/chips/okim6258.c @@ -10,6 +10,7 @@ //#include "emu.h" +#include // for NULL #include "mamedef.h" #ifdef _DEBUG #include @@ -18,12 +19,6 @@ #include #include "okim6258.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - #define COMMAND_STOP (1 << 0) #define COMMAND_PLAY (1 << 1) #define COMMAND_RECORD (1 << 2) @@ -51,7 +46,7 @@ struct _okim6258_state INT32 output_mask; // Valley Bell: Added a small queue to prevent race conditions. - UINT8 data_buf[4]; + UINT8 data_buf[8]; UINT8 data_in_last; UINT8 data_buf_pos; // Data Empty Values: @@ -86,7 +81,6 @@ static int tables_computed = 0; #define MAX_CHIPS 0x02 static okim6258_state OKIM6258Data[MAX_CHIPS]; static UINT8 Iternal10Bit = 0x00; -static UINT8 DCRemoval = 0x00; /*INLINE okim6258_state *get_safe_token(running_device *device) { @@ -143,7 +137,12 @@ static INT16 clock_adpcm(okim6258_state *chip, UINT8 nibble) INT32 max = chip->output_mask - 1; INT32 min = -chip->output_mask; - chip->signal += diff_lookup[chip->step * 16 + (nibble & 15)]; + // original MAME algorithm (causes a DC offset over time) + //chip->signal += diff_lookup[chip->step * 16 + (nibble & 15)]; + + // awesome algorithm ported from XM6 - it works PERFECTLY + int sample = diff_lookup[chip->step * 16 + (nibble & 15)]; + chip->signal = ((sample << 8) + (chip->signal * 245)) >> 8; /* clamp to the maximum */ if (chip->signal > max) @@ -197,7 +196,7 @@ void okim6258_update(UINT8 ChipID, stream_sample_t **outputs, int samples) { chip->data_in = chip->data_buf[chip->data_buf_pos >> 4]; chip->data_buf_pos += 0x10; - chip->data_buf_pos &= 0x3F; + chip->data_buf_pos &= 0x7F; if ((chip->data_buf_pos >> 4) == (chip->data_buf_pos & 0x0F)) chip->data_empty ++; } @@ -484,11 +483,11 @@ static void okim6258_data_w(UINT8 ChipID, /*offs_t offset, */UINT8 data) info->data_in_last = data; info->data_buf[info->data_buf_pos & 0x0F] = data; info->data_buf_pos += 0x01; - info->data_buf_pos &= 0xF3; + info->data_buf_pos &= 0xF7; if ((info->data_buf_pos >> 4) == (info->data_buf_pos & 0x0F)) { logerror("Warning: FIFO full!\n"); - info->data_buf_pos = (info->data_buf_pos & 0xF0) | ((info->data_buf_pos-1) & 0x03); + info->data_buf_pos = (info->data_buf_pos & 0xF0) | ((info->data_buf_pos-1) & 0x07); } info->data_empty = 0x00; } @@ -516,12 +515,12 @@ static void okim6258_ctrl_w(UINT8 ChipID, /*offs_t offset, */UINT8 data) if (data & COMMAND_PLAY) { - if (!(info->status & STATUS_PLAYING) || DCRemoval) + if (!(info->status & STATUS_PLAYING)) { info->status |= STATUS_PLAYING; /* Also reset the ADPCM parameters */ - info->signal = -2; + info->signal = -2; // Note: XM6 lets this fade to 0 when nothing is going on info->step = 0; info->nibble_shift = 0; @@ -529,11 +528,7 @@ static void okim6258_ctrl_w(UINT8 ChipID, /*offs_t offset, */UINT8 data) info->data_buf_pos = 0x01; // write pos 01, read pos 00 info->data_empty = 0x00; } - // Resetting the ADPCM sample always seems to reduce the clicks and improves the waveform. - // For games that don't use the Multichannel ADPCM driver (whose waveform looks horrible anyway), - // this causes many additional (and loud) clicks though. - //info->signal = -2; - info->step = 0; // this was verified with the source of XM6 + info->step = 0; // this line was verified with the source of XM6 info->nibble_shift = 0; } else @@ -605,7 +600,6 @@ void okim6258_write(UINT8 ChipID, UINT8 Port, UINT8 Data) void okim6258_set_options(UINT16 Options) { Iternal10Bit = (Options >> 0) & 0x01; - DCRemoval = (Options >> 1) & 0x01; return; } diff --git a/src/chips/okim6295.c b/src/chips/okim6295.c index c64559d..0cab19a 100644 --- a/src/chips/okim6295.c +++ b/src/chips/okim6295.c @@ -25,15 +25,11 @@ //#include "emu.h" //#include "streams.h" #include -#include -#include +#include +#include // for memset #include #include "okim6295.h" -#ifdef EMSCRIPTEN -#include -#endif - #define FALSE 0 #define TRUE 1 @@ -439,6 +435,8 @@ int device_start_okim6295(UINT8 ChipID, int clock) info->command = -1; //info->bank_installed = FALSE; info->bank_offs = 0; + info->nmk_mode = 0x00; + memset(info->nmk_bank, 0x00, 4 * sizeof(UINT8)); //info->device = device; //info->master_clock = device->clock; @@ -494,6 +492,8 @@ void device_reset_okim6295(UINT8 ChipID) info->command = -1; info->bank_offs = 0; + info->nmk_mode = 0x00; + memset(info->nmk_bank, 0x00, 4 * sizeof(UINT8)); info->master_clock = info->initial_clock & 0x7FFFFFFF; info->pin7_state = (info->initial_clock & 0x80000000) >> 31; @@ -614,7 +614,7 @@ void okim6295_write_command(okim6295_state *info, UINT8 data) /* the manual explicitly says that it's not possible to start multiple voices at the same time */ if (temp != 0 && temp != 1 && temp != 2 && temp != 4 && temp != 8) - printf("OKI6295 start %x contact MAMEDEV\n", temp); + fprintf(stderr, "OKI6295 start %x contact MAMEDEV\n", temp); /* update the stream */ //stream_update(info->stream); @@ -724,8 +724,8 @@ void okim6295_w(UINT8 ChipID, offs_t offset, UINT8 data) chip->master_clock |= data << 16; break; case 0x0B: - if ((data >> 7) != chip->pin7_state) - printf("Pin 7 changed!\n"); + //if ((data >> 7) != chip->pin7_state) + // fprintf(stderr, "Pin 7 changed!\n"); data &= 0x7F; // fix a bug in MAME VGM logs chip->master_clock &= ~0xFF000000; chip->master_clock |= data << 24; @@ -760,7 +760,7 @@ void okim6295_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t D { chip->ROM = (UINT8*)realloc(chip->ROM, ROMSize); chip->ROMSize = ROMSize; - //printf("OKIM6295: New ROM Size: 0x%05X\n", ROMSize); + //fprintf(stderr, "OKIM6295: New ROM Size: 0x%05X\n", ROMSize); memset(chip->ROM, 0xFF, ROMSize); } if (DataStart > ROMSize) diff --git a/src/chips/opl.c b/src/chips/opl.c index a8faa6f..d5d90de 100644 --- a/src/chips/opl.c +++ b/src/chips/opl.c @@ -28,8 +28,8 @@ #include -#include // rand() -#include // for memset() +#include // rand +#include // for memset //#include "dosbox.h" #include "../stdbool.h" #include "opl.h" diff --git a/src/chips/qsound_ctr.c b/src/chips/qsound_ctr.c new file mode 100644 index 0000000..f3d1f62 --- /dev/null +++ b/src/chips/qsound_ctr.c @@ -0,0 +1,870 @@ +/* + + Capcom DL-1425 QSound emulator + ============================== + + by superctr (Ian Karlsson) + with thanks to Valley Bell + + 2018-05-12 - 2018-05-15 + +*/ + +//#include "emu.h" +#include "mamedef.h" +#ifdef _DEBUG +#include +#endif +#include +#include // for memset +#include // for NULL +#include +#include "qsound_ctr.h" + + +#define CLAMP(x, low, high) (((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x))) + +struct qsound_voice { + UINT16 bank; + INT16 addr; // top word is the sample address + UINT16 phase; + UINT16 rate; + INT16 loop_len; + INT16 end_addr; + INT16 volume; + INT16 echo; +}; + +struct qsound_adpcm { + UINT16 start_addr; + UINT16 end_addr; + UINT16 bank; + INT16 volume; + UINT16 flag; + INT16 cur_vol; + INT16 step_size; + UINT16 cur_addr; +}; + +// Q1 Filter +struct qsound_fir { + int tap_count; // usually 95 + int delay_pos; + INT16 table_pos; + INT16 taps[95]; + INT16 delay_line[95]; +}; + +// Delay line +struct qsound_delay { + INT16 delay; + INT16 volume; + INT16 write_pos; + INT16 read_pos; + INT16 delay_line[51]; +}; + +struct qsound_echo { + UINT16 end_pos; + + INT16 feedback; + INT16 length; + INT16 last_sample; + INT16 delay_line[1024]; + INT16 delay_pos; +}; + +struct qsound_chip { + + UINT8* romData; + UINT32 romSize; + UINT32 romMask; + UINT32 muteMask; + + // ==================================================== // + + UINT16 data_latch; + INT16 out[2]; + + INT16 pan_tables[2][2][98]; + + struct qsound_voice voice[16]; + struct qsound_adpcm adpcm[3]; + + UINT16 voice_pan[16+3]; + INT16 voice_output[16+3]; + + struct qsound_echo echo; + + struct qsound_fir filter[2]; + struct qsound_fir alt_filter[2]; + + struct qsound_delay wet[2]; + struct qsound_delay dry[2]; + + UINT16 state; + UINT16 next_state; + + UINT16 delay_update; + + int state_counter; + UINT8 ready_flag; + + UINT16 *register_map[256]; +}; + +static void init_pan_tables(struct qsound_chip *chip); +static void init_register_map(struct qsound_chip *chip); +static void update_sample(struct qsound_chip *chip); + +static void state_init(struct qsound_chip *chip); +static void state_refresh_filter_1(struct qsound_chip *chip); +static void state_refresh_filter_2(struct qsound_chip *chip); +static void state_normal_update(struct qsound_chip *chip); + +INLINE INT16 get_sample(struct qsound_chip *chip, UINT16 bank,UINT16 address); +INLINE const INT16* get_filter_table(struct qsound_chip *chip, UINT16 offset); +INLINE INT16 pcm_update(struct qsound_chip *chip, int voice_no, INT32 *echo_out); +INLINE void adpcm_update(struct qsound_chip *chip, int voice_no, int nibble); +INLINE INT16 echo(struct qsound_echo *r,INT32 input); +INLINE INT32 fir(struct qsound_fir *f, INT16 input); +INLINE INT32 delay(struct qsound_delay *d, INT32 input); +INLINE void delay_update(struct qsound_delay *d); + +// **************************************************************************** + +#define MAX_CHIPS 0x02 +static struct qsound_chip QSoundData[MAX_CHIPS]; + +int device_start_qsound_ctr(UINT8 ChipID, int clock) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + memset(chip,0,sizeof(*chip)); + + chip->romData = NULL; + chip->romSize = 0x00; + chip->romMask = 0x00; + + qsoundc_set_mute_mask(ChipID, 0x00000); + + init_pan_tables(chip); + init_register_map(chip); + + return clock / 2 / 1248; +} + +void device_stop_qsound_ctr(UINT8 ChipID) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + free(chip->romData); + + return; +} + +void device_reset_qsound_ctr(UINT8 ChipID) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + chip->ready_flag = 0; + chip->out[0] = chip->out[1] = 0; + chip->state = 0; + chip->state_counter = 0; + + return; +} + +UINT8 qsoundc_r(UINT8 ChipID, offs_t offset) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + return chip->ready_flag; +} + +void qsoundc_w(UINT8 ChipID, offs_t offset, UINT8 data) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + switch (offset) + { + case 0: + chip->data_latch = (chip->data_latch & 0x00ff) | (data << 8); + break; + case 1: + chip->data_latch = (chip->data_latch & 0xff00) | data; + break; + case 2: + qsoundc_write_data(ChipID, data, chip->data_latch); + break; + default: + break; + } + + return; +} + +void qsoundc_write_data(UINT8 ChipID, UINT8 address, UINT16 data) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + UINT16 *destination = chip->register_map[address]; + if(destination) + *destination = data; + chip->ready_flag = 0; + + return; +} + +void qsoundc_update(UINT8 ChipID, stream_sample_t **outputs, int samples) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + UINT32 curSmpl; + + memset(outputs[0], 0, samples * sizeof(*outputs[0])); + memset(outputs[1], 0, samples * sizeof(*outputs[1])); + + for (curSmpl = 0; curSmpl < samples; curSmpl ++) + { + update_sample(chip); + outputs[0][curSmpl] = chip->out[0]; + outputs[1][curSmpl] = chip->out[1]; + } + + return; +} + +void qsoundc_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, + const UINT8* ROMData) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + if (chip->romSize != ROMSize) + { + chip->romData = (UINT8*)realloc(chip->romData, ROMSize); + chip->romSize = ROMSize; + memset(chip->romData, 0xFF, ROMSize); + chip->romMask = -1; + } + if (DataStart > ROMSize) + return; + if (DataStart + DataLength > ROMSize) + DataLength = ROMSize - DataStart; + + memcpy(chip->romData + DataStart, ROMData, DataLength); + + return; +} + +void qsoundc_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + chip->muteMask = MuteMask; + + return; +} + +void qsoundc_wait_busy(UINT8 ChipID) +{ + struct qsound_chip* chip = &QSoundData[ChipID]; + + while(chip->ready_flag == 0) + { + update_sample(chip); + } +} + +// ============================================================================ + +static const INT16 qsound_dry_mix_table[33] = { + -16384,-16384,-16384,-16384,-16384,-16384,-16384,-16384, + -16384,-16384,-16384,-16384,-16384,-16384,-16384,-16384, + -16384,-14746,-13107,-11633,-10486,-9175,-8520,-7209, + -6226,-5226,-4588,-3768,-3277,-2703,-2130,-1802, + 0 +}; + +static const INT16 qsound_wet_mix_table[33] = { + 0,-1638,-1966,-2458,-2949,-3441,-4096,-4669, + -4915,-5120,-5489,-6144,-7537,-8831,-9339,-9830, + -10240,-10322,-10486,-10568,-10650,-11796,-12288,-12288, + -12534,-12648,-12780,-12829,-12943,-13107,-13418,-14090, + -16384 +}; + +static const INT16 qsound_linear_mix_table[33] = { + -16379,-16338,-16257,-16135,-15973,-15772,-15531,-15251, + -14934,-14580,-14189,-13763,-13303,-12810,-12284,-11729, + -11729,-11144,-10531,-9893,-9229,-8543,-7836,-7109, + -6364,-5604,-4829,-4043,-3246,-2442,-1631,-817, + 0 +}; + +static const INT16 qsound_filter_data[5][95] = { + { // d53 - 0 + 0,0,0,6,44,-24,-53,-10,59,-40,-27,1,39,-27,56,127,174,36,-13,49, + 212,142,143,-73,-20,66,-108,-117,-399,-265,-392,-569,-473,-71,95,-319,-218,-230,331,638, + 449,477,-180,532,1107,750,9899,3828,-2418,1071,-176,191,-431,64,117,-150,-274,-97,-238,165, + 166,250,-19,4,37,204,186,-6,140,-77,-1,1,18,-10,-151,-149,-103,-9,55,23, + -102,-97,-11,13,-48,-27,5,18,-61,-30,64,72,0,0,0, + }, + { // db2 - 1 - default left filter + 0,0,0,85,24,-76,-123,-86,-29,-14,-20,-7,6,-28,-87,-89,-5,100,154,160, + 150,118,41,-48,-78,-23,59,83,-2,-176,-333,-344,-203,-66,-39,2,224,495,495,280, + 432,1340,2483,5377,1905,658,0,97,347,285,35,-95,-78,-82,-151,-192,-171,-149,-147,-113, + -22,71,118,129,127,110,71,31,20,36,46,23,-27,-63,-53,-21,-19,-60,-92,-69, + -12,25,29,30,40,41,29,30,46,39,-15,-74,0,0,0, + }, + { // e11 - 2 - default right filter + 0,0,0,23,42,47,29,10,2,-14,-54,-92,-93,-70,-64,-77,-57,18,94,113, + 87,69,67,50,25,29,58,62,24,-39,-131,-256,-325,-234,-45,58,78,223,485,496, + 127,6,857,2283,2683,4928,1328,132,79,314,189,-80,-90,35,-21,-186,-195,-99,-136,-258, + -189,82,257,185,53,41,84,68,38,63,77,14,-60,-71,-71,-120,-151,-84,14,29, + -8,7,66,69,12,-3,54,92,52,-6,-15,-2,0,0,0, + }, + { // e70 - 3 + 0,0,0,2,-28,-37,-17,0,-9,-22,-3,35,52,39,20,7,-6,2,55,121, + 129,67,8,1,9,-6,-16,16,66,96,118,130,75,-47,-92,43,223,239,151,219, + 440,475,226,206,940,2100,2663,4980,865,49,-33,186,231,103,42,114,191,184,116,29, + -47,-72,-21,60,96,68,31,32,63,87,76,39,7,14,55,85,67,18,-12,-3, + 21,34,29,6,-27,-49,-37,-2,16,0,-21,-16,0,0,0, + }, + { // ecf - 4 + 0,0,0,48,7,-22,-29,-10,24,54,59,29,-36,-117,-185,-213,-185,-99,13,90, + 83,24,-5,23,53,47,38,56,67,57,75,107,16,-242,-440,-355,-120,-33,-47,152, + 501,472,-57,-292,544,1937,2277,6145,1240,153,47,200,152,36,64,134,74,-82,-208,-266, + -268,-188,-42,65,74,56,89,133,114,44,-3,-1,17,29,29,-2,-76,-156,-187,-151, + -85,-31,-5,7,20,32,24,-5,-20,6,48,62,0,0,0, + } +}; + +static const INT16 qsound_filter_data2[209] = { + // f2e - following 95 values used for "disable output" filter + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0, + + // f73 - following 45 values used for "mode 2" filter (overlaps with f2e) + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0, + -371,-196,-268,-512,-303,-315,-184,-76,276,-256,298,196,990,236,1114,-126,4377,6549,791, + + // fa0 - filtering disabled (for 95-taps) (use fa3 or fa4 for mode2 filters) + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-16384,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +}; + +static const INT16 adpcm_step_table[16] = { + 154, 154, 128, 102, 77, 58, 58, 58, + 58, 58, 58, 58, 77, 102, 128, 154 +}; + +// DSP states +enum { + STATE_INIT1 = 0x288, + STATE_INIT2 = 0x61a, + STATE_REFRESH1 = 0x039, + STATE_REFRESH2 = 0x04f, + STATE_NORMAL1 = 0x314, + STATE_NORMAL2 = 0x6b2, +}; + +enum { + PANTBL_LEFT = 0, + PANTBL_RIGHT = 1, + PANTBL_DRY = 0, + PANTBL_WET = 1, +}; + +static void init_pan_tables(struct qsound_chip *chip) +{ + int i; + for(i=0;i<33;i++) + { + // dry mixing levels + chip->pan_tables[PANTBL_LEFT][PANTBL_DRY][i] = qsound_dry_mix_table[i]; + chip->pan_tables[PANTBL_RIGHT][PANTBL_DRY][i] = qsound_dry_mix_table[32-i]; + // wet mixing levels + chip->pan_tables[PANTBL_LEFT][PANTBL_WET][i] = qsound_wet_mix_table[i]; + chip->pan_tables[PANTBL_RIGHT][PANTBL_WET][i] = qsound_wet_mix_table[32-i]; + // linear panning, only for dry component. wet component is muted. + chip->pan_tables[PANTBL_LEFT][PANTBL_DRY][i+0x30] = qsound_linear_mix_table[i]; + chip->pan_tables[PANTBL_RIGHT][PANTBL_DRY][i+0x30] = qsound_linear_mix_table[32-i]; + } +} + +static void init_register_map(struct qsound_chip *chip) +{ + int i; + + // unused registers + for(i=0;i<256;i++) + chip->register_map[i] = NULL; + + // PCM registers + for(i=0;i<16;i++) // PCM voices + { + chip->register_map[(i<<3)+0] = (UINT16*)&chip->voice[(i+1)%16].bank; // Bank applies to the next channel + chip->register_map[(i<<3)+1] = (UINT16*)&chip->voice[i].addr; // Current sample position and start position. + chip->register_map[(i<<3)+2] = (UINT16*)&chip->voice[i].rate; // 4.12 fixed point decimal. + chip->register_map[(i<<3)+3] = (UINT16*)&chip->voice[i].phase; + chip->register_map[(i<<3)+4] = (UINT16*)&chip->voice[i].loop_len; + chip->register_map[(i<<3)+5] = (UINT16*)&chip->voice[i].end_addr; + chip->register_map[(i<<3)+6] = (UINT16*)&chip->voice[i].volume; + chip->register_map[(i<<3)+7] = NULL; // unused + chip->register_map[i+0x80] = (UINT16*)&chip->voice_pan[i]; + chip->register_map[i+0xba] = (UINT16*)&chip->voice[i].echo; + } + + // ADPCM registers + for(i=0;i<3;i++) // ADPCM voices + { + // ADPCM sample rate is fixed to 8khz. (one channel is updated every third sample) + chip->register_map[(i<<2)+0xca] = (UINT16*)&chip->adpcm[i].start_addr; + chip->register_map[(i<<2)+0xcb] = (UINT16*)&chip->adpcm[i].end_addr; + chip->register_map[(i<<2)+0xcc] = (UINT16*)&chip->adpcm[i].bank; + chip->register_map[(i<<2)+0xcd] = (UINT16*)&chip->adpcm[i].volume; + chip->register_map[i+0xd6] = (UINT16*)&chip->adpcm[i].flag; // non-zero to start ADPCM playback + chip->register_map[i+0x90] = (UINT16*)&chip->voice_pan[16+i]; + } + + // QSound registers + chip->register_map[0x93] = (UINT16*)&chip->echo.feedback; + chip->register_map[0xd9] = (UINT16*)&chip->echo.end_pos; + chip->register_map[0xe2] = (UINT16*)&chip->delay_update; // non-zero to update delays + chip->register_map[0xe3] = (UINT16*)&chip->next_state; + for(i=0;i<2;i++) // left, right + { + // Wet + chip->register_map[(i<<1)+0xda] = (UINT16*)&chip->filter[i].table_pos; + chip->register_map[(i<<1)+0xde] = (UINT16*)&chip->wet[i].delay; + chip->register_map[(i<<1)+0xe4] = (UINT16*)&chip->wet[i].volume; + // Dry + chip->register_map[(i<<1)+0xdb] = (UINT16*)&chip->alt_filter[i].table_pos; + chip->register_map[(i<<1)+0xdf] = (UINT16*)&chip->dry[i].delay; + chip->register_map[(i<<1)+0xe5] = (UINT16*)&chip->dry[i].volume; + } +} + +INLINE INT16 get_sample(struct qsound_chip *chip, UINT16 bank,UINT16 address) +{ + UINT32 rom_addr; + UINT8 sample_data; + + if (! chip->romMask) + return 0; // no ROM loaded + if (! (bank & 0x8000)) + return 0; // ignore attempts to read from DSP program ROM + + bank &= 0x7FFF; + rom_addr = (bank << 16) | (address << 0); + + sample_data = chip->romData[rom_addr]; + + return (INT16)((sample_data << 8) | (sample_data << 0)); // MAME currently expands the 8 bit ROM data to 16 bits this way. +} + +INLINE const INT16* get_filter_table(struct qsound_chip *chip, UINT16 offset) +{ + int index; + + if (offset >= 0xf2e && offset < 0xfff) + return &qsound_filter_data2[offset-0xf2e]; // overlapping filter data + + index = (offset-0xd53)/95; + if(index >= 0 && index < 5) + return qsound_filter_data[index]; // normal tables + + return NULL; // no filter found. +} + +/********************************************************************/ + +// updates one DSP sample +static void update_sample(struct qsound_chip *chip) +{ + switch(chip->state) + { + default: + case STATE_INIT1: + case STATE_INIT2: + state_init(chip); + return; + case STATE_REFRESH1: + state_refresh_filter_1(chip); + return; + case STATE_REFRESH2: + state_refresh_filter_2(chip); + return; + case STATE_NORMAL1: + case STATE_NORMAL2: + state_normal_update(chip); + return; + } +} + +// Initialization routine +static void state_init(struct qsound_chip *chip) +{ + int mode = (chip->state == STATE_INIT2) ? 1 : 0; + int i; + + // we're busy for 4 samples, including the filter refresh. + if(chip->state_counter >= 2) + { + chip->state_counter = 0; + chip->state = chip->next_state; + return; + } + else if(chip->state_counter == 1) + { + chip->state_counter++; + return; + } + + memset(chip->voice, 0, sizeof(chip->voice)); + memset(chip->adpcm, 0, sizeof(chip->adpcm)); + memset(chip->filter, 0, sizeof(chip->filter)); + memset(chip->alt_filter, 0, sizeof(chip->alt_filter)); + memset(chip->wet, 0, sizeof(chip->wet)); + memset(chip->dry, 0, sizeof(chip->dry)); + memset(&chip->echo, 0, sizeof(chip->echo)); + + for(i=0;i<19;i++) + { + chip->voice_pan[i] = 0x120; + chip->voice_output[i] = 0; + } + + for(i=0;i<16;i++) + chip->voice[i].bank = 0x8000; + for(i=0;i<3;i++) + chip->adpcm[i].bank = 0x8000; + + if(mode == 0) + { + // mode 1 + chip->wet[0].delay = 0; + chip->dry[0].delay = 46; + chip->wet[1].delay = 0; + chip->dry[1].delay = 48; + chip->filter[0].table_pos = 0xdb2; + chip->filter[1].table_pos = 0xe11; + chip->echo.end_pos = 0x554 + 6; + chip->next_state = STATE_REFRESH1; + } + else + { + // mode 2 + chip->wet[0].delay = 1; + chip->dry[0].delay = 0; + chip->wet[1].delay = 0; + chip->dry[1].delay = 0; + chip->filter[0].table_pos = 0xf73; + chip->filter[1].table_pos = 0xfa4; + chip->alt_filter[0].table_pos = 0xf73; + chip->alt_filter[1].table_pos = 0xfa4; + chip->echo.end_pos = 0x53c + 6; + chip->next_state = STATE_REFRESH2; + } + + chip->wet[0].volume = 0x3fff; + chip->dry[0].volume = 0x3fff; + chip->wet[1].volume = 0x3fff; + chip->dry[1].volume = 0x3fff; + + chip->delay_update = 1; + chip->ready_flag = 0; + chip->state_counter = 1; +} + +// Updates filter parameters for mode 1 +static void state_refresh_filter_1(struct qsound_chip *chip) +{ + const INT16 *table; + int ch; + + for(ch=0; ch<2; ch++) + { + chip->filter[ch].delay_pos = 0; + chip->filter[ch].tap_count = 95; + + table = get_filter_table(chip,chip->filter[ch].table_pos); + if (table != NULL) + memcpy(chip->filter[ch].taps, table, 95 * sizeof(INT16)); + } + + chip->state = chip->next_state = STATE_NORMAL1; +} + +// Updates filter parameters for mode 2 +static void state_refresh_filter_2(struct qsound_chip *chip) +{ + const INT16 *table; + int ch; + + for(ch=0; ch<2; ch++) + { + chip->filter[ch].delay_pos = 0; + chip->filter[ch].tap_count = 45; + + table = get_filter_table(chip,chip->filter[ch].table_pos); + if (table != NULL) + memcpy(chip->filter[ch].taps, table, 45 * sizeof(INT16)); + + chip->alt_filter[ch].delay_pos = 0; + chip->alt_filter[ch].tap_count = 44; + + table = get_filter_table(chip,chip->alt_filter[ch].table_pos); + if (table != NULL) + memcpy(chip->alt_filter[ch].taps, table, 44 * sizeof(INT16)); + } + + chip->state = chip->next_state = STATE_NORMAL2; +} + +// Updates a PCM voice. There are 16 voices, each are updated every sample +// with full rate and volume control. +INLINE INT16 pcm_update(struct qsound_chip *chip, int voice_no, INT32 *echo_out) +{ + struct qsound_voice *v = &chip->voice[voice_no]; + INT32 new_phase; + INT16 output; + + if (chip->muteMask & (1<volume * get_sample(chip, v->bank, v->addr))>>14; + + *echo_out += (output * v->echo)<<2; + + // Add delta to the phase and loop back if required + new_phase = v->rate + ((v->addr<<12) | (v->phase>>4)); + + if((new_phase>>12) >= v->end_addr) + new_phase -= (v->loop_len<<12); + + new_phase = CLAMP(new_phase, -0x8000000, 0x7FFFFFF); + v->addr = new_phase>>12; + v->phase = (new_phase<<4)&0xffff; + + return output; +} + +// Updates an ADPCM voice. There are 3 voices, one is updated every sample +// (effectively making the ADPCM rate 1/3 of the master sample rate), and +// volume is set when starting samples only. +// The ADPCM algorithm is supposedly similar to Yamaha ADPCM. It also seems +// like Capcom never used it, so this was not emulated in the earlier QSound +// emulators. +INLINE void adpcm_update(struct qsound_chip *chip, int voice_no, int nibble) +{ + struct qsound_adpcm *v = &chip->adpcm[voice_no]; + + INT32 delta; + INT8 step; + + if (chip->muteMask & (1<<(16+voice_no))) + { + chip->voice_output[16+voice_no] = 0; + return; + } + + if(!nibble) + { + // Mute voice when it reaches the end address. + if(v->cur_addr == v->end_addr) + v->cur_vol = 0; + + // Playback start flag + if(v->flag) + { + chip->voice_output[16+voice_no] = 0; + v->flag = 0; + v->step_size = 10; + v->cur_vol = v->volume; + v->cur_addr = v->start_addr; + } + + // get top nibble + step = get_sample(chip, v->bank, v->cur_addr) >> 8; + } + else + { + // get bottom nibble + step = get_sample(chip, v->bank, v->cur_addr++) >> 4; + } + + // shift with sign extend + step >>= 4; + + // delta = (0.5 + abs(v->step)) * v->step_size + delta = ((1+abs(step<<1)) * v->step_size)>>1; + if(step <= 0) + delta = -delta; + delta += chip->voice_output[16+voice_no]; + delta = CLAMP(delta,-32768,32767); + + chip->voice_output[16+voice_no] = (delta * v->cur_vol)>>16; + + v->step_size = (adpcm_step_table[8+step] * v->step_size) >> 6; + v->step_size = CLAMP(v->step_size, 1, 2000); +} + +// The echo effect is pretty simple. A moving average filter is used on +// the output from the delay line to smooth samples over time. +INLINE INT16 echo(struct qsound_echo *r,INT32 input) +{ + // get average of last 2 samples from the delay line + INT32 new_sample; + INT32 old_sample = r->delay_line[r->delay_pos]; + INT32 last_sample = r->last_sample; + + r->last_sample = old_sample; + old_sample = (old_sample+last_sample) >> 1; + + // add current sample to the delay line + new_sample = input + ((old_sample * r->feedback)<<2); + r->delay_line[r->delay_pos++] = new_sample>>16; + + if(r->delay_pos >= r->length) + r->delay_pos = 0; + + return old_sample; +} + +// Process a sample update +static void state_normal_update(struct qsound_chip *chip) +{ + int v, ch; + INT32 echo_input = 0; + INT16 echo_output; + + chip->ready_flag = 0x80; + + // recalculate echo length + if(chip->state == STATE_NORMAL2) + chip->echo.length = chip->echo.end_pos - 0x53c; + else + chip->echo.length = chip->echo.end_pos - 0x554; + + chip->echo.length = CLAMP(chip->echo.length, 0, 1024); + + // update PCM voices + for(v=0; v<16; v++) + chip->voice_output[v] = pcm_update(chip, v, &echo_input); + + // update ADPCM voices (one every third sample) + adpcm_update(chip, chip->state_counter % 3, chip->state_counter / 3); + + echo_output = echo(&chip->echo,echo_input); + + // now, we do the magic stuff + for(ch=0; ch<2; ch++) + { + // Echo is output on the unfiltered component of the left channel and + // the filtered component of the right channel. + INT32 wet = (ch == 1) ? echo_output<<14 : 0; + INT32 dry = (ch == 0) ? echo_output<<14 : 0; + INT32 output = 0; + + for(v=0; v<19; v++) + { + UINT16 pan_index = chip->voice_pan[v]-0x110; + if(pan_index > 97) + pan_index = 97; + + // Apply different volume tables on the dry and wet inputs. + dry -= (chip->voice_output[v] * chip->pan_tables[ch][PANTBL_DRY][pan_index]); + wet -= (chip->voice_output[v] * chip->pan_tables[ch][PANTBL_WET][pan_index]); + } + + // Saturate accumulated voices + dry = CLAMP(dry, -0x1fffffff, 0x1fffffff) << 2; + wet = CLAMP(wet, -0x1fffffff, 0x1fffffff) << 2; + + // Apply FIR filter on 'wet' input + wet = fir(&chip->filter[ch], wet >> 16); + + // in mode 2, we do this on the 'dry' input too + if(chip->state == STATE_NORMAL2) + dry = fir(&chip->alt_filter[ch], dry >> 16); + + // output goes through a delay line and attenuation + output = (delay(&chip->wet[ch], wet) + delay(&chip->dry[ch], dry)); + + // DSP round function + output = ((output + 0x2000) & ~0x3fff) >> 14; + chip->out[ch] = CLAMP(output, -0x7fff, 0x7fff); + + if(chip->delay_update) + { + delay_update(&chip->wet[ch]); + delay_update(&chip->dry[ch]); + } + } + + chip->delay_update = 0; + + // after 6 samples, the next state is executed. + chip->state_counter++; + if(chip->state_counter > 5) + { + chip->state_counter = 0; + chip->state = chip->next_state; + } +} + +// Apply the FIR filter used as the Q1 transfer function +INLINE INT32 fir(struct qsound_fir *f, INT16 input) +{ + INT32 output = 0, tap = 0; + + for(; tap < (f->tap_count-1); tap++) + { + output -= (f->taps[tap] * f->delay_line[f->delay_pos++])<<2; + + if(f->delay_pos >= f->tap_count-1) + f->delay_pos = 0; + } + + output -= (f->taps[tap] * input)<<2; + + f->delay_line[f->delay_pos++] = input; + if(f->delay_pos >= f->tap_count-1) + f->delay_pos = 0; + + return output; +} + +// Apply delay line and component volume +INLINE INT32 delay(struct qsound_delay *d, INT32 input) +{ + INT32 output; + + d->delay_line[d->write_pos++] = input>>16; + if(d->write_pos >= 51) + d->write_pos = 0; + + output = d->delay_line[d->read_pos++]*d->volume; + if(d->read_pos >= 51) + d->read_pos = 0; + + return output; +} + +// Update the delay read position to match new delay length +INLINE void delay_update(struct qsound_delay *d) +{ + INT16 new_read_pos = (d->write_pos - d->delay) % 51; + if(new_read_pos < 0) + new_read_pos += 51; + + d->read_pos = new_read_pos; +} diff --git a/src/chips/qsound_ctr.h b/src/chips/qsound_ctr.h new file mode 100644 index 0000000..20076cb --- /dev/null +++ b/src/chips/qsound_ctr.h @@ -0,0 +1,16 @@ +#pragma once + +void qsoundc_update(UINT8 ChipID, stream_sample_t **outputs, int samples); +int device_start_qsound_ctr(UINT8 ChipID, int clock); +void device_stop_qsound_ctr(UINT8 ChipID); +void device_reset_qsound_ctr(UINT8 ChipID); + +void qsoundc_w(UINT8 ChipID, offs_t offset, UINT8 data); +UINT8 qsoundc_r(UINT8 ChipID, offs_t offset); +void qsoundc_write_data(UINT8 ChipID, UINT8 address, UINT16 data); + +void qsoundc_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, + const UINT8* ROMData); +void qsoundc_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); + +void qsoundc_wait_busy(UINT8 ChipID); diff --git a/src/chips/qsound_intf.c b/src/chips/qsound_intf.c new file mode 100644 index 0000000..24c8f96 --- /dev/null +++ b/src/chips/qsound_intf.c @@ -0,0 +1,200 @@ +//#include "emu.h" +#include "mamedef.h" +#ifdef _DEBUG +#include +#endif +#include +#include // for memset +#include // for NULL +#include +#include "qsound_intf.h" +#include "qsound_mame.h" +#include "qsound_ctr.h" + +#ifdef ENABLE_ALL_CORES +#define EC_MAME 0x01 // QSound HLE core from MAME +#endif +#define EC_CTR 0x00 // superctr custom HLE + +static UINT8 EMU_CORE = 0x00; +// fix broken optimization of old VGMs causing problems with the new core +static UINT8 key_on_hack = 0x00; +static UINT16 start_addr_cache[2][16]; +static UINT16 pitch_cache[2][16]; +static UINT16 data_latch[2]; + +int device_start_qsound(UINT8 ChipID, int clock) +{ + memset(start_addr_cache[ChipID], 0, sizeof(UINT16)*16); + memset(pitch_cache[ChipID], 0, sizeof(UINT16)*16); + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + return device_start_qsoundm(ChipID, clock); +#endif + case EC_CTR: + if(clock < 10000000) + { + clock *= 15; + key_on_hack = 1; + } + return device_start_qsound_ctr(ChipID, clock); + } + return 0; +} + +void device_stop_qsound(UINT8 ChipID) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + device_stop_qsoundm(ChipID); return; +#endif + case EC_CTR: + device_stop_qsound_ctr(ChipID); return; + } +} + +void device_reset_qsound(UINT8 ChipID) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + device_reset_qsoundm(ChipID); return; +#endif + case EC_CTR: + device_reset_qsound_ctr(ChipID); + + // need to wait until the chip is ready before we start writing to it ... + // we do this by time travel. + qsoundc_wait_busy(ChipID); + return; + } +} + +void qsound_w(UINT8 ChipID, offs_t offset, UINT8 data) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + qsoundm_w(ChipID, offset, data); return; +#endif + case EC_CTR: + if(key_on_hack) + { + int ch; + switch (offset) + { + // need to handle three cases, as vgm_cmp can remove writes to both phase and bank + // registers, depending on version. + // - start address was written before end/loop, but phase register is written + // - as above, but phase is not written (we use bank as a backup then) + // - voice parameters are written during a note (we can't rewrite the address then) + case 0: + data_latch[ChipID] = (data_latch[ChipID] & 0x00ff) | (data << 8); + break; + case 1: + data_latch[ChipID] = (data_latch[ChipID] & 0xff00) | data; + break; + case 2: + if(data > 0x7f) + break; + ch = data>>3; + + switch(data & 7) + { + case 1: // Start addr. write + start_addr_cache[ChipID][ch] = data_latch[ChipID]; + break; + case 2: // Pitch write + // (old HLE assumed writing a non-zero value after a zero value was Key On) + if(pitch_cache[ChipID][ch] == 0 && data_latch[ChipID] != 0) + qsoundc_write_data(ChipID, (ch << 3) + 1, start_addr_cache[ChipID][ch]); + pitch_cache[ChipID][ch] = data_latch[ChipID]; + break; + case 3: // Phase (old HLE also assumed this was Key On) + qsoundc_write_data(ChipID, (ch << 3) + 1, start_addr_cache[ChipID][ch]); + default: + break; + } + } + } + qsoundc_w(ChipID, offset, data); + + // need to wait until the chip is ready before we start writing to it ... + // we do this by time travel. + if(offset == 2 && data == 0xe3) + qsoundc_wait_busy(ChipID); + + return; + } +} + +UINT8 qsound_r(UINT8 ChipID, offs_t offset) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + return qsoundm_r(ChipID, offset); +#endif + case EC_CTR: + return qsoundc_r(ChipID, offset); + } + return 0; +} + +void qsound_update(UINT8 ChipID, stream_sample_t **outputs, int samples) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + qsoundm_update(ChipID, outputs, samples); return; +#endif + case EC_CTR: + qsoundc_update(ChipID, outputs, samples); return; + } +} + +void qsound_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, + const UINT8* ROMData) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + qsoundm_write_rom(ChipID, ROMSize, DataStart, DataLength, ROMData); return; +#endif + case EC_CTR: + qsoundc_write_rom(ChipID, ROMSize, DataStart, DataLength, ROMData); return; + } +} + +void qsound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) +{ + switch(EMU_CORE) + { +#ifdef ENABLE_ALL_CORES + case EC_MAME: + qsoundm_set_mute_mask(ChipID, MuteMask); return; +#endif + case EC_CTR: + qsoundc_set_mute_mask(ChipID, MuteMask); return; + } +} + +void qsound_set_emu_core(UINT8 Emulator) +{ +#ifdef ENABLE_ALL_CORES + EMU_CORE = (Emulator < 0x02) ? Emulator : 0x00; +#else + EMU_CORE = EC_CTR; +#endif + + return; +} diff --git a/src/chips/qsound.h b/src/chips/qsound_intf.h similarity index 58% rename from src/chips/qsound.h rename to src/chips/qsound_intf.h index f02dbec..5513b34 100644 --- a/src/chips/qsound.h +++ b/src/chips/qsound_intf.h @@ -1,29 +1,16 @@ -/********************************************************* - - Capcom Q-Sound system - -*********************************************************/ - #pragma once -//#include "devlegcy.h" - -#define QSOUND_CLOCK 4000000 /* default 4MHz clock */ - void qsound_update(UINT8 ChipID, stream_sample_t **outputs, int samples); int device_start_qsound(UINT8 ChipID, int clock); void device_stop_qsound(UINT8 ChipID); void device_reset_qsound(UINT8 ChipID); - -//WRITE8_DEVICE_HANDLER( qsound_w ); -//READ8_DEVICE_HANDLER( qsound_r ); void qsound_w(UINT8 ChipID, offs_t offset, UINT8 data); UINT8 qsound_r(UINT8 ChipID, offs_t offset); - void qsound_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, const UINT8* ROMData); void qsound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); -//DECLARE_LEGACY_SOUND_DEVICE(QSOUND, qsound); +void qsound_set_emu_core(UINT8 Emulator); + diff --git a/src/chips/qsound.c b/src/chips/qsound_mame.c similarity index 92% rename from src/chips/qsound.c rename to src/chips/qsound_mame.c index b8148a0..75382a7 100644 --- a/src/chips/qsound.c +++ b/src/chips/qsound_mame.c @@ -36,16 +36,11 @@ #ifdef _DEBUG #include #endif -#include -#include -#include -#include "qsound.h" - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif +#include // for memset +#include // for NULL +#include +#include "qsound_mame.h" /* Debug defines @@ -109,11 +104,11 @@ static qsound_state QSoundData[MAX_CHIPS]; /* Function prototypes */ -//static STREAM_UPDATE( qsound_update ); +//static STREAM_UPDATE( qsoundm_update ); static void qsound_set_command(qsound_state *chip, UINT8 address, UINT16 data); //static DEVICE_START( qsound ) -int device_start_qsound(UINT8 ChipID, int clock) +int device_start_qsoundm(UINT8 ChipID, int clock) { //qsound_state *chip = get_safe_token(device); qsound_state *chip; @@ -145,7 +140,7 @@ int device_start_qsound(UINT8 ChipID, int clock) *device, 0, 2, device->clock() / QSOUND_CLOCKDIV, chip, - qsound_update );*/ + qsoundm_update );*/ /*if (LOG_WAVE) { @@ -177,7 +172,7 @@ int device_start_qsound(UINT8 ChipID, int clock) } //static DEVICE_STOP( qsound ) -void device_stop_qsound(UINT8 ChipID) +void device_stop_qsoundm(UINT8 ChipID) { //qsound_state *chip = get_safe_token(device); qsound_state *chip = &QSoundData[ChipID]; @@ -194,7 +189,7 @@ void device_stop_qsound(UINT8 ChipID) free(chip->sample_rom); chip->sample_rom = NULL; } -void device_reset_qsound(UINT8 ChipID) +void device_reset_qsoundm(UINT8 ChipID) { qsound_state *chip = &QSoundData[ChipID]; int adr; @@ -210,8 +205,8 @@ void device_reset_qsound(UINT8 ChipID) return; } -//WRITE8_DEVICE_HANDLER( qsound_w ) -void qsound_w(UINT8 ChipID, offs_t offset, UINT8 data) +//WRITE8_DEVICE_HANDLER( qsoundm_w ) +void qsoundm_w(UINT8 ChipID, offs_t offset, UINT8 data) { //qsound_state *chip = get_safe_token(device); qsound_state *chip = &QSoundData[ChipID]; @@ -236,8 +231,8 @@ void qsound_w(UINT8 ChipID, offs_t offset, UINT8 data) } } -//READ8_DEVICE_HANDLER( qsound_r ) -UINT8 qsound_r(UINT8 ChipID, offs_t offset) +//READ8_DEVICE_HANDLER( qsoundm_r ) +UINT8 qsoundm_r(UINT8 ChipID, offs_t offset) { /* Port ready bit (0x80 if ready) */ return 0x80; @@ -277,12 +272,10 @@ static void qsound_set_command(qsound_state *chip, UINT8 address, UINT16 data) // bank, high bits unknown ch = (ch + 1) & 0x0f; /* strange ... */ chip->channel[ch].bank = (data & 0x7f) << 16; // Note: The most recent MAME doesn't do "& 0x7F" -//#ifdef _DEBUG -#ifndef EMSCRIPTEN +#ifdef _DEBUG if (data && !(data & 0x8000)) - printf("QSound Ch %u: Bank = %04x\n",ch,data); + fprintf(stderr, "QSound Ch %u: Bank = %04x\n",ch,data); #endif -//#endif break; case 1: // start/cur address @@ -300,12 +293,10 @@ static void qsound_set_command(qsound_state *chip, UINT8 address, UINT16 data) }*/ break; case 3: -//#ifdef _DEBUG -#ifndef EMSCRIPTEN +#ifdef _DEBUG if (chip->channel[ch].enabled && data != 0x8000) - printf("QSound Ch %u: KeyOn = %04x\n",ch,data); + fprintf(stderr, "QSound Ch %u: KeyOn = %04x\n",ch,data); #endif -//#endif // key on (does the value matter? it always writes 0x8000) //chip->channel[ch].enabled = 1; chip->channel[ch].enabled = (data & 0x8000) >> 15; @@ -321,9 +312,9 @@ static void qsound_set_command(qsound_state *chip, UINT8 address, UINT16 data) break; case 6: // master volume -#ifndef EMSCRIPTEN +#ifdef _DEBUG if (! chip->channel[ch].enabled && data) - printf("QSound update warning - please report!\n"); + fprintf(stderr, "QSound update warning - please report!\n"); #endif chip->channel[ch].vol = data; break; @@ -363,8 +354,8 @@ static void qsound_set_command(qsound_state *chip, UINT8 address, UINT16 data) } -//static STREAM_UPDATE( qsound_update ) -void qsound_update(UINT8 ChipID, stream_sample_t **outputs, int samples) +//static STREAM_UPDATE( qsoundm_update ) +void qsoundm_update(UINT8 ChipID, stream_sample_t **outputs, int samples) { //qsound_state *chip = (qsound_state *)param; qsound_state *chip = &QSoundData[ChipID]; @@ -433,7 +424,7 @@ void qsound_update(UINT8 ChipID, stream_sample_t **outputs, int samples) fwrite(outputs[1], samples*sizeof(QSOUND_SAMPLE), 1, chip->fpRawDataR);*/ } -void qsound_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, +void qsoundm_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, const UINT8* ROMData) { qsound_state* info = &QSoundData[ChipID]; @@ -455,7 +446,7 @@ void qsound_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t Dat } -void qsound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) +void qsoundm_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) { qsound_state* info = &QSoundData[ChipID]; UINT8 CurChn; @@ -491,7 +482,7 @@ void qsound_set_mute_mask(UINT8 ChipID, UINT32 MuteMask) case DEVINFO_STR_SOURCE_FILE: strcpy(info->s, __FILE__); break; case DEVINFO_STR_CREDITS: strcpy(info->s, "Copyright Nicola Salmoria and the MAME Team"); break; } -}// +}*/ /**************** end of file ****************/ diff --git a/src/chips/qsound_mame.h b/src/chips/qsound_mame.h new file mode 100644 index 0000000..4598660 --- /dev/null +++ b/src/chips/qsound_mame.h @@ -0,0 +1,29 @@ +/********************************************************* + + Capcom Q-Sound system + +*********************************************************/ + +#pragma once + +//#include "devlegcy.h" + +#define QSOUND_CLOCK 4000000 /* default 4MHz clock */ + +void qsoundm_update(UINT8 ChipID, stream_sample_t **outputs, int samples); +int device_start_qsoundm(UINT8 ChipID, int clock); +void device_stop_qsoundm(UINT8 ChipID); +void device_reset_qsoundm(UINT8 ChipID); + + +//WRITE8_DEVICE_HANDLER( qsound_w ); +//READ8_DEVICE_HANDLER( qsound_r ); +void qsoundm_w(UINT8 ChipID, offs_t offset, UINT8 data); +UINT8 qsoundm_r(UINT8 ChipID, offs_t offset); + + +void qsoundm_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, + const UINT8* ROMData); +void qsoundm_set_mute_mask(UINT8 ChipID, UINT32 MuteMask); + +//DECLARE_LEGACY_SOUND_DEVICE(QSOUND, qsound); diff --git a/src/chips/rf5c68.c b/src/chips/rf5c68.c index 7d1a642..710d94f 100644 --- a/src/chips/rf5c68.c +++ b/src/chips/rf5c68.c @@ -3,19 +3,14 @@ /*********************************************************/ #include "mamedef.h" -#include -#include +#include +#include // for memset +#include // for NULL //#include "sndintrf.h" //#include "streams.h" #include "rf5c68.h" #include -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - #define NUM_CHANNELS (8) #define STEAM_STEP 0x800 diff --git a/src/chips/saa1099.c b/src/chips/saa1099.c index a28be0b..6c14ed3 100644 --- a/src/chips/saa1099.c +++ b/src/chips/saa1099.c @@ -65,7 +65,7 @@ //#include "emu.h" #include "mamedef.h" -#include +#include // for memset #include "saa1099.h" @@ -231,7 +231,7 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) //saa1099_state *saa = (saa1099_state *)param; saa1099_state *saa = &SAA1099Data[ChipID]; int j, ch; - int clkdiv512; + int clk2div512; /* if the channels are disabled we're done */ if (!saa->all_ch_enable) @@ -254,7 +254,8 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) } // clock fix thanks to http://www.vogons.org/viewtopic.php?p=344227#p344227 - clkdiv512 = saa->master_clock / 512; + //clk2div512 = 2 * saa->master_clock / 512; + clk2div512 = (saa->master_clock + 128) / 256; /* fill all data needed */ for( j = 0; j < samples; j++ ) @@ -265,7 +266,7 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) for (ch = 0; ch < 6; ch++) { if (saa->channels[ch].freq == 0.0) - saa->channels[ch].freq = (double)((2 * clkdiv512) << saa->channels[ch].octave) / + saa->channels[ch].freq = (double)(clk2div512 << saa->channels[ch].octave) / (511.0 - (double)saa->channels[ch].frequency); /* check the actual position in the square wave */ @@ -273,7 +274,7 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) while (saa->channels[ch].counter < 0) { /* calculate new frequency now after the half wave is updated */ - saa->channels[ch].freq = (double)((2 * clkdiv512) << saa->channels[ch].octave) / + saa->channels[ch].freq = (double)(clk2div512 << saa->channels[ch].octave) / (511.0 - (double)saa->channels[ch].frequency); saa->channels[ch].counter += saa->sample_rate; @@ -297,8 +298,8 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) if (saa->noise[ch/3].level & 1) { // subtract to avoid overflows, also use only half amplitude - output_l -= saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 16 / 2; - output_r -= saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 16 / 2; + output_l -= saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 16; + output_r -= saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 16; } } @@ -318,13 +319,13 @@ void saa1099_update(UINT8 ChipID, stream_sample_t **outputs, int samples) { if (saa->noise[ch/3].level & 1) { - output_l += saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 32 / 2; - output_r += saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 32 / 2; + output_l += saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 32; + output_r += saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 32; } else { - output_l -= saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 32 / 2; - output_r -= saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 32 / 2; + output_l -= saa->channels[ch].amplitude[ LEFT] * saa->channels[ch].envelope[ LEFT] / 32; + output_r -= saa->channels[ch].amplitude[RIGHT] * saa->channels[ch].envelope[RIGHT] / 32; } } @@ -381,7 +382,7 @@ int device_start_saa1099(UINT8 ChipID, int clock) //saa->device = device; //saa->sample_rate = device->clock() / 256; saa->master_clock = clock; - saa->sample_rate = clock / 256.0; + saa->sample_rate = clock / 128.0 * 8; /* for each chip allocate one stream */ //saa->stream = device->machine().sound().stream_alloc(*device, 0, 2, saa->sample_rate, saa, saa1099_update); diff --git a/src/chips/scd_pcm.c b/src/chips/scd_pcm.c index 7346d76..33c50b8 100644 --- a/src/chips/scd_pcm.c +++ b/src/chips/scd_pcm.c @@ -10,16 +10,10 @@ #include #include -#include +#include #include "mamedef.h" #include "scd_pcm.h" - -#ifdef EMSCRIPTEN -#include -#endif - - int PCM_Init(UINT8 ChipID, int Rate); void PCM_Set_Rate(UINT8 ChipID, int Rate); void PCM_Reset(UINT8 ChipID); @@ -461,7 +455,7 @@ int device_start_rf5c164(UINT8 ChipID, int clock) rate = CHIP_SAMPLE_RATE; PCM_Init(ChipID, rate); - PCM_Chip[ChipID].Smpl0Patch = (clock & 0x80000000) >> 31; + chip->Smpl0Patch = (clock & 0x80000000) >> 31; /* allocate the stream */ //chip->stream = stream_create(device, 0, 2, device->clock / 384, chip, rf5c68_update); diff --git a/src/chips/scsp.c b/src/chips/scsp.c index 13366a9..fbe4840 100644 --- a/src/chips/scsp.c +++ b/src/chips/scsp.c @@ -31,15 +31,10 @@ #include "mamedef.h" #include // for pow() in scsplfo.c #include -//#include -#include // for memset +#include // for memset #include "scsp.h" #include "scspdsp.h" -#ifdef EMSCRIPTEN -#include -#endif - #define ICLIP16(x) (x<-32768)?-32768:((x>32767)?32767:x) @@ -118,7 +113,6 @@ static const double DRTimes[64]={100000/*infinity*/,100000/*infinity*/,118200.0, 14800.0,12700.0,11100.0,8900.0,7400.0,6300.0,5500.0,4400.0,3700.0,3200.0,2800.0,2200.0,1800.0,1600.0,1400.0,1100.0, 920.0,790.0,690.0,550.0,460.0,390.0,340.0,270.0,230.0,200.0,170.0,140.0,110.0,98.0,85.0,68.0,57.0,49.0,43.0,34.0, 28.0,25.0,22.0,18.0,14.0,12.0,11.0,8.5,7.1,6.1,5.4,4.3,3.6,3.1}; -static INT32 EG_TABLE[0x400]; typedef enum {ATTACK,DECAY1,DECAY2,RELEASE} _STATE; struct _EG @@ -218,6 +212,8 @@ struct _scsp_state UINT8 MidiStack[32]; UINT8 MidiW,MidiR; + INT32 EG_TABLE[0x400]; + int LPANTABLE[0x10000]; int RPANTABLE[0x10000]; @@ -228,12 +224,14 @@ struct _scsp_state //emu_timer *timerA, *timerB, *timerC; // DMA stuff - UINT32 scsp_dmea; - UINT16 scsp_drga; - UINT16 scsp_dtlg; - UINT16 scsp_dmactrl; - - UINT16 dma_regs[3]; + struct + { + UINT32 dmea; + UINT16 drga; + UINT16 dtlg; + UINT8 dgate; + UINT8 ddir; + } dma; UINT16 mcieb; UINT16 mcipd; @@ -246,10 +244,7 @@ struct _scsp_state //device_t *device; }; -//static void dma_scsp(address_space *space, scsp_state *scsp); /*state DMA transfer function*/ -/*#define scsp_dgate scsp->scsp_dmactrl & 0x4000 -#define scsp_ddir scsp->scsp_dmactrl & 0x2000 -#define scsp_dexe scsp->scsp_dmactrl & 0x1000*/ +//static void SCSP_exec_dma(address_space *space, scsp_state *scsp); /*state DMA transfer function*/ /* TODO */ //#define dma_transfer_end ((scsp_regs[0x24/2] & 0x10)>>4)|(((scsp_regs[0x26/2] & 0x10)>>4)<<1)|(((scsp_regs[0x28/2] & 0x10)>>4)<<2) @@ -275,7 +270,7 @@ static UINT8 BypassDSP = 0x01; return (scsp_state *)downcast(device)->token(); }*/ -static unsigned char DecodeSCI(scsp_state *scsp,unsigned char irq) +/*static unsigned char DecodeSCI(scsp_state *scsp,unsigned char irq) { unsigned char SCI=0; unsigned char v; @@ -288,7 +283,7 @@ static unsigned char DecodeSCI(scsp_state *scsp,unsigned char irq) return SCI; } -/*static void CheckPendingIRQ(scsp_state *scsp) +static void CheckPendingIRQ(scsp_state *scsp) { UINT32 pend=scsp->udata.data[0x20/2]; UINT32 en=scsp->udata.data[0x1e/2]; @@ -588,7 +583,7 @@ static void SCSP_Init(scsp_state *scsp, int clock) { float envDB=((float)(3*(i-0x3ff)))/32.0f; float scale=(float)(1<EG_TABLE[i]=(INT32)(pow(10.0,envDB/20.0)*scale); } for(i=0;i<0x10000;++i) @@ -762,10 +757,20 @@ INLINE void SCSP_UpdateReg(scsp_state *scsp, /*address_space &space,*/ int reg) break; case 0x12: case 0x13: + //scsp->dma.dmea = (scsp->udata.data[0x12/2] & 0xfffe) | (scsp->dma.dmea & 0xf0000); + break; case 0x14: case 0x15: + //scsp->dma.dmea = ((scsp->udata.data[0x14/2] & 0xf000) << 4) | (scsp->dma.dmea & 0xfffe); + //scsp->dma.drga = (scsp->udata.data[0x14/2] & 0x0ffe); + break; case 0x16: case 0x17: + //scsp->dma.dtlg = (scsp->udata.data[0x16/2] & 0x0ffe); + //scsp->dma.ddir = (scsp->udata.data[0x16/2] & 0x2000) >> 13; + //scsp->dma.dgate = (scsp->udata.data[0x16/2] & 0x4000) >> 14; + //if(scsp->udata.data[0x16/2] & 0x1000) // dexe + // SCSP_exec_dma(space, scsp); break; case 0x18: case 0x19: @@ -1001,7 +1006,7 @@ INLINE void SCSP_w16(scsp_state *scsp,unsigned int addr,unsigned short val) if(addr==0xBF0) { SCSPDSP_Start(&scsp->DSP); - } + } } } } @@ -1017,8 +1022,6 @@ INLINE unsigned short SCSP_r16(scsp_state *scsp, unsigned int addr) SCSP_UpdateSlotRegR(scsp, slot,addr&0x1f); v=*((unsigned short *) (scsp->Slots[slot].udata.datab+(addr))); } - else if(addr>=0x412 && addr <= 0x416) - v = scsp->dma_regs[((addr-0x412)/2) & 3]; else if(addr<0x600) { if (addr < 0x430) @@ -1067,11 +1070,16 @@ INLINE unsigned short SCSP_r16(scsp_state *scsp, unsigned int addr) v= *((unsigned short *) (scsp->DSP.EFREG+(addr-0xec0)/2)); else { - //logerror("SCSP: Reading from unmapped register %08x\n",addr); - if(addr == 0xee0) - v= scsp->DSP.TEMP[0] >> 16; - if(addr == 0xee2) - v= scsp->DSP.TEMP[0] & 0xffff; + /* + Kyuutenkai reads from 0xee0/0xee2, it's tied with EXTS register(s) also used for CD-Rom Player equalizer. + This port is actually an external parallel port, directly connected from the CD Block device, hence code is a bit of an hack. + */ + logerror("SCSP: Reading from EXTS register %08x\n",addr); + //if(addr == 0xee0) + // v = space.machine().device("cdda")->get_channel_volume(0); + //if(addr == 0xee2) + // v = space.machine().device("cdda")->get_channel_volume(1); + v = 0xFFFF; } } #endif @@ -1120,9 +1128,9 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) addr1+=smp; addr2+=smp; } -#if 0 - // Since the SCSP is for Big Endian platforms, this code expects the data in - // byte order 1 0 3 2 5 4 .... +#if 0 // --- old code --- + // Since the SCSP is for Big Endian platforms (and this is optimized for Little Endian), + // this code expects the data in byte order 1 0 3 2 5 4 .... if(PCM8B(slot)) //8 bit signed { INT8 *p1=(signed char *) (scsp->SCSPRAM+BYTE_XOR_BE(((SA(slot)+addr1))&0x7FFFF)); @@ -1135,6 +1143,9 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) } else //16 bit signed (endianness?) { +#ifdef VGM_BIG_ENDIAN + #warning "SCSP sound emulation uses Endian-unsafe 16-Bit reads!" +#endif INT16 *p1=(signed short *) (scsp->SCSPRAM+((SA(slot)+addr1)&0x7FFFE)); INT16 *p2=(signed short *) (scsp->SCSPRAM+((SA(slot)+addr2)&0x7FFFE)); INT32 s; @@ -1142,17 +1153,20 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) s=(int)(p1[0])*((1<>SHIFT); } +#else // --- new code --- +#ifdef VGM_BIG_ENDIAN +#define READ_BE16(ptr) (*(INT16*)ptr) #else #define READ_BE16(ptr) (((ptr)[0] << 8) | (ptr)[1]) +#endif // I prefer the byte order 0 1 2 3 4 5 ... // also, I won't use pointers here, since they only used [0] on them anyway. if(PCM8B(slot)) //8 bit signed { - INT8 p1=(INT8)scsp->SCSPRAM[(SA(slot)+addr1)&0x7FFFF]; - INT8 p2=(INT8)scsp->SCSPRAM[(SA(slot)+addr2)&0x7FFFF]; - INT32 s; + INT16 p1=(INT8)scsp->SCSPRAM[(SA(slot)+addr1)&0x7FFFF]<<8; + INT16 p2=(INT8)scsp->SCSPRAM[(SA(slot)+addr2)&0x7FFFF]<<8; INT32 fpart=slot->cur_addr&((1<>SHIFT); } else //16 bit signed @@ -1161,9 +1175,8 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) UINT8 *pp2 = &scsp->SCSPRAM[(SA(slot)+addr2)&0x7FFFE]; INT16 p1 = (INT16)READ_BE16(pp1); INT16 p2 = (INT16)READ_BE16(pp2); - INT32 s; INT32 fpart=slot->cur_addr&((1<>SHIFT); } #endif @@ -1196,8 +1209,8 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) case 0: //no loop if(*addr[addr_select]>=LSA(slot) && *addr[addr_select]>=LEA(slot)) { - //slot->active=0; - SCSP_StopSlot(slot,0); + //slot->active=0; + SCSP_StopSlot(slot,0); } break; case 1: //normal loop @@ -1248,7 +1261,7 @@ INLINE INT32 SCSP_UpdateSlot(scsp_state *scsp, struct _SLOT *slot) if(slot->EG.state==ATTACK) sample=(sample*EG_Update(slot))>>SHIFT; else - sample=(sample*EG_TABLE[EG_Update(slot)>>(SHIFT-10)])>>SHIFT; + sample=(sample*scsp->EG_TABLE[EG_Update(slot)>>(SHIFT-10)])>>SHIFT; } if(!STWINH(slot)) @@ -1286,17 +1299,17 @@ INLINE void SCSP_DoMasterSamples(scsp_state *scsp, stream_sample_t **outputs, in for(sl=0;sl<32;++sl) { +#if FM_DELAY + RBUFDST=scsp->DELAYBUF+scsp->DELAYPTR; +#else + RBUFDST=scsp->RINGBUF+scsp->BUFPTR; +#endif if(scsp->Slots[sl].active && ! scsp->Slots[sl].Muted) { struct _SLOT *slot=scsp->Slots+sl; unsigned short Enc; signed int sample; -#if FM_DELAY - RBUFDST=scsp->DELAYBUF+scsp->DELAYPTR; -#else - RBUFDST=scsp->RINGBUF+scsp->BUFPTR; -#endif sample=SCSP_UpdateSlot(scsp, slot); if (! BypassDSP) @@ -1346,94 +1359,84 @@ INLINE void SCSP_DoMasterSamples(scsp_state *scsp, stream_sample_t **outputs, in } /* TODO: this needs to be timer-ized */ -/*static void dma_scsp(address_space *space, scsp_state *scsp) +/*static void SCSP_exec_dma(address_space *space, scsp_state *scsp) { static UINT16 tmp_dma[3]; int i; - scsp->scsp_dmactrl = scsp->dma_regs[2] & 0x7000; - - if(!(scsp_dexe)) //don't bother if DMA is off - return; - - // calc the registers - scsp->scsp_dmea = ((scsp->dma_regs[1] & 0xf000) << 4) | (scsp->dma_regs[0] & 0xfffe); // RAM address - scsp->scsp_drga = (scsp->dma_regs[1] & 0x0ffe); - scsp->scsp_dtlg = (scsp->dma_regs[2] & 0x0ffe); - logerror("SCSP: DMA transfer START\n" "DMEA: %04x DRGA: %04x DTLG: %04x\n" - "DGATE: %d DDIR: %d\n",scsp->scsp_dmea,scsp->scsp_drga,scsp->scsp_dtlg,scsp_dgate ? 1 : 0,scsp_ddir ? 1 : 0); + "DGATE: %d DDIR: %d\n",scsp->dma.dmea,scsp->dma.drga,scsp->dma.dtlg,scsp->dma.dgate ? 1 : 0,scsp->dma.ddir ? 1 : 0); // Copy the dma values in a temp storage for resuming later // (DMA *can't* overwrite its parameters) - if(!(scsp_ddir)) + if(!(dma.ddir)) { for(i=0;i<3;i++) - tmp_dma[i] = scsp->dma_regs[i]; + tmp_dma[i] = scsp->udata.data[(0x12+(i*2))/2]; } // note: we don't use space.read_word / write_word because it can happen that SH-2 enables the DMA instead of m68k. // TODO: don't know if params auto-updates, I guess not ... - if(scsp_ddir) + if(dma.ddir) { - if(scsp_dgate) + if(dma.dgate) { popmessage("Check: SCSP DMA DGATE enabled, contact MAME/MESSdev"); - for(i=0;i < scsp->scsp_dtlg;i+=2) + for(i=0;i < scsp->dma.dtlg;i+=2) { - scsp->SCSPRAM[scsp->scsp_dmea] = 0; - scsp->SCSPRAM[scsp->scsp_dmea+1] = 0; - scsp->scsp_dmea+=2; + scsp->SCSPRAM[scsp->dma.dmea] = 0; + scsp->SCSPRAM[scsp->dma.dmea+1] = 0; + scsp->dma.dmea+=2; } } else { - for(i=0;i < scsp->scsp_dtlg;i+=2) + for(i=0;i < scsp->dma.dtlg;i+=2) { UINT16 tmp; - tmp = SCSP_r16(scsp, space, scsp->scsp_drga); - scsp->SCSPRAM[scsp->scsp_dmea] = tmp & 0xff; - scsp->SCSPRAM[scsp->scsp_dmea+1] = tmp>>8; - scsp->scsp_dmea+=2; - scsp->scsp_drga+=2; + tmp = SCSP_r16(scsp, space, scsp->dma.drga); + scsp->SCSPRAM[scsp->dma.dmea] = tmp & 0xff; + scsp->SCSPRAM[scsp->dma.dmea+1] = tmp>>8; + scsp->dma.dmea+=2; + scsp->dma.drga+=2; } } } else { - if(scsp_dgate) + if(dma.dgate) { popmessage("Check: SCSP DMA DGATE enabled, contact MAME/MESSdev"); - for(i=0;i < scsp->scsp_dtlg;i+=2) + for(i=0;i < scsp->dma.dtlg;i+=2) { - SCSP_w16(scsp, space, scsp->scsp_drga, 0); - scsp->scsp_drga+=2; + SCSP_w16(scsp, space, scsp->dma.drga, 0); + scsp->dma.drga+=2; } } else { - for(i=0;i < scsp->scsp_dtlg;i+=2) + for(i=0;i < scsp->dma.dtlg;i+=2) { UINT16 tmp; - tmp = scsp->SCSPRAM[scsp->scsp_dmea]; - tmp|= scsp->SCSPRAM[scsp->scsp_dmea+1]<<8; - SCSP_w16(scsp, space, scsp->scsp_drga, tmp); - scsp->scsp_dmea+=2; - scsp->scsp_drga+=2; + tmp = scsp->SCSPRAM[scsp->dma.dmea]; + tmp|= scsp->SCSPRAM[scsp->dma.dmea+1]<<8; + SCSP_w16(scsp, space, scsp->dma.drga, tmp); + scsp->dma.dmea+=2; + scsp->dma.drga+=2; } } } //Resume the values - if(!(scsp_ddir)) + if(!(dma.ddir)) { for(i=0;i<3;i++) - scsp->dma_regs[i] = tmp_dma[i]; + scsp->udata.data[(0x12+(i*2))/2] = tmp_dma[i]; } // Job done - scsp->dma_regs[2] &= ~0x1000; + scsp->udata.data[0x16/2] &= ~0x1000; // request a dma end irq (TODO: make it inside the interface) if(scsp->udata.data[0x1e/2] & 0x10) { @@ -1565,19 +1568,6 @@ void scsp_w(UINT8 ChipID, offs_t offset, UINT8 data) else tmp = (tmp & 0x00FF) | (data << 8); SCSP_w16(scsp,offset & 0xFFFE, tmp); - - /* TODO: move in UpdateSlot structure */ - /*switch(offset*2) - { - // check DMA - case 0x412: - case 0x414: - case 0x416: - COMBINE_DATA(&scsp->dma_regs[((offset-0x412)/2) & 3]); - if(ACCESSING_BITS_8_15 && offset*2 == 0x416) - dma_scsp(device->machine().firstcpu->memory().space(AS_PROGRAM), scsp); - break; - }*/ } /*WRITE16_DEVICE_HANDLER( scsp_midi_in ) diff --git a/src/chips/scspdsp.c b/src/chips/scspdsp.c index 830ab7f..e8f8a86 100644 --- a/src/chips/scspdsp.c +++ b/src/chips/scspdsp.c @@ -1,5 +1,5 @@ //#include "emu.h" -#include // for memset +#include // for memset #include "mamedef.h" #include "scsp.h" #include "scspdsp.h" diff --git a/src/chips/segapcm.c b/src/chips/segapcm.c index e6dd44f..d36c54f 100644 --- a/src/chips/segapcm.c +++ b/src/chips/segapcm.c @@ -3,16 +3,13 @@ /*********************************************************/ #include "mamedef.h" -#include -#include +#include +#include // for memset #include //#include "sndintrf.h" //#include "streams.h" #include "segapcm.h" -#ifdef EMSCRIPTEN -#include -#endif typedef struct _segapcm_state segapcm_state; struct _segapcm_state @@ -128,7 +125,7 @@ void SEGAPCM_update(UINT8 ChipID, stream_sample_t **outputs, int samples) v = rom[(addr >> 8) & rgnmask] - 0x80; #ifdef _DEBUG if ((romusage[(addr >> 8) & rgnmask] & 0x03) == 0x02 && (voll || volr)) - printf("Access to empty ROM section! (0x%06lX)\n", + fprintf(stderr, "Access to empty ROM section! (0x%06lX)\n", ((flags & spcm->bankmask) << spcm->bankshift) + (addr >> 8) & rgnmask); romusage[(addr >> 8) & rgnmask] |= 0x01; #endif @@ -183,7 +180,7 @@ void SEGAPCM_update(UINT8 ChipID, stream_sample_t **outputs, int samples) v = rom[(addr >> 8) & rgnmask] - 0x80; #ifdef _DEBUG if ((romusage[(addr >> 8) & rgnmask] & 0x03) == 0x02 && (regs[2] || regs[3])) - printf("Access to empty ROM section! (0x%06lX)\n", + fprintf(stderr, "Access to empty ROM section! (0x%06lX)\n", ((regs[0x86] & spcm->bankmask) << spcm->bankshift) + (addr >> 8) & rgnmask); romusage[(addr >> 8) & rgnmask] |= 0x01; #endif diff --git a/src/chips/sn76489.c b/src/chips/sn76489.c index 4f9fd7f..354ab83 100644 --- a/src/chips/sn76489.c +++ b/src/chips/sn76489.c @@ -31,10 +31,10 @@ #define PSG_CUTOFF 0x6 /* Value below which PSG does not output */ static const int PSGVolumeValues[16] = { - /* These values are taken from a real SMS2's output */ -/* {892,892,892,760,623,497,404,323,257,198,159,123,96,75,60,0}, /* I can't remember why 892... :P some scaling I did at some point */ - /* these values are true volumes for 2dB drops at each step (multiply previous by 10^-0.1) */ - /*1516,1205,957,760,603,479,381,303,240,191,152,120,96,76,60,0*/ +/* // These values are taken from a real SMS2's output + {892,892,892,760,623,497,404,323,257,198,159,123,96,75,60,0}, // I can't remember why 892... :P some scaling I did at some point + // these values are true volumes for 2dB drops at each step (multiply previous by 10^-0.1) + 1516,1205,957,760,603,479,381,303,240,191,152,120,96,76,60,0*/ // The MAME core uses 0x2000 as maximum volume (0x1000 for bipolar output) 4096, 3254, 2584, 2053, 1631, 1295, 1029, 817, 649, 516, 410, 325, 258, 205, 163, 0 }; @@ -195,15 +195,14 @@ void SN76489_Update(SN76489_Context* chip, INT32 **buffer, int length) SN76489_Context* chip_n; NGPMode = (chip->NgpFlags >> 7) & 0x01; - if (NGPMode) - chip2 = (SN76489_Context*)chip->NgpChip2; - if (! NGPMode) { + chip2 = NULL; chip_t = chip_n = chip; } else { + chip2 = (SN76489_Context*)chip->NgpChip2; if (! (chip->NgpFlags & 0x01)) { chip_t = chip; diff --git a/src/chips/sn76496.c b/src/chips/sn76496.c index 1bccf01..59cb543 100644 --- a/src/chips/sn76496.c +++ b/src/chips/sn76496.c @@ -124,15 +124,10 @@ #endif //#include "emu.h" //#include "streams.h" -#include -#include -#include "sn76496.h" - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif +#include // for memset +#include // for NULL +#include "sn76496.h" //#define MAX_OUTPUT 0x7fff @@ -298,8 +293,7 @@ void SN76496Update(void *chip, stream_sample_t **outputs, int samples) INT32 ggst[2]; NGPMode = (R->NgpFlags >> 7) & 0x01; - if (NGPMode) - R2 = R->NgpChip2; + R2 = R->NgpChip2; if (! NGPMode) { @@ -422,7 +416,7 @@ void SN76496Update(void *chip, stream_sample_t **outputs, int samples) out += vol[i] * R->Volume[i] * ggst[0]; out2 += vol[i] * R->Volume[i] * ggst[1]; } - else + else if (R->MuteMsk[i]) { // Make Bipolar Output with PCM possible //out += (2 * R->Volume[i] - R->VolTable[5]) * ggst[0]; @@ -462,7 +456,7 @@ void SN76496Update(void *chip, stream_sample_t **outputs, int samples) out += vol[i] * R->Volume[i] * ggst[0]; out2 += vol[i] * R2->Volume[i] * ggst[1]; } - else + else if (R->MuteMsk[i]) { // Make Bipolar Output with PCM possible out += R->Volume[i] * ggst[0]; @@ -874,7 +868,7 @@ DEVICE_GET_INFO( smsiii ) case DEVINFO_STR_NAME: strcpy(info->s, "SMSIII PSG"); break; default: DEVICE_GET_INFO_CALL(sn76496); break; } -} +}*/ /*DEFINE_LEGACY_SOUND_DEVICE(SN76496, sn76496); diff --git a/src/chips/sn76496_opl.c b/src/chips/sn76496_opl.c index 3e1248b..92e1722 100644 --- a/src/chips/sn76496_opl.c +++ b/src/chips/sn76496_opl.c @@ -1,14 +1,9 @@ +#include // for NULL #include "mamedef.h" #include "math.h" void OPL_RegMapper(UINT16 Reg, UINT8 Data); -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - typedef struct _sn76496_state_opl sn76496_state_opl; struct _sn76496_state_opl { diff --git a/src/chips/sn764intf.c b/src/chips/sn764intf.c index edac81f..73901f2 100644 --- a/src/chips/sn764intf.c +++ b/src/chips/sn764intf.c @@ -4,6 +4,7 @@ ****************************************************************/ +#include // for NULL #include "mamedef.h" //#include "sndintrf.h" //#include "streams.h" @@ -17,12 +18,6 @@ #define EC_MAXIM 0x01 // SN76489 core by Maxim (from in_vgm) #endif -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - /* for stream system */ typedef struct _sn764xx_state sn764xx_state; struct _sn764xx_state @@ -56,7 +51,7 @@ int device_start_sn764xx(UINT8 ChipID, int clock, int shiftregwidth, int noiseta int negate, int stereo, int clockdivider, int freq0) { sn764xx_state *info; - int rate; + int rate = 0; if (ChipID >= MAX_CHIPS) return 0; diff --git a/src/chips/upd7759.c b/src/chips/upd7759.c index d3a5d31..41132cf 100644 --- a/src/chips/upd7759.c +++ b/src/chips/upd7759.c @@ -102,17 +102,12 @@ #ifdef _DEBUG #include #endif -#include -#include +#include +#include // for memset +#include // for NULL #include "mamedef.h" #include "upd7759.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - #define DEBUG_STATES (0) //#define DEBUG_METHOD mame_printf_debug @@ -676,11 +671,11 @@ void device_reset_upd7759(UINT8 ChipID) //static STATE_POSTLOAD( upd7759_postload ) -static void upd7759_postload(void* param) +/*static void upd7759_postload(void* param) { upd7759_state *chip = (upd7759_state *)param; chip->rom = chip->rombase + chip->romoffset; -} +}*/ /*static void register_for_save(upd7759_state *chip, running_device *device) diff --git a/src/chips/vrc7tone.h b/src/chips/vrc7tone.h index ac53d17..5062d75 100644 --- a/src/chips/vrc7tone.h +++ b/src/chips/vrc7tone.h @@ -1,20 +1,21 @@ /* VRC7 VOICE */ +/* Dumped via VRC7 debug mode by Nuke.YKT */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x33, 0x01, 0x09, 0x0e, 0x94, 0x90, 0x40, 0x01, -0x13, 0x41, 0x0f, 0x0d, 0xce, 0xd3, 0x43, 0x13, -0x01, 0x12, 0x1b, 0x06, 0xff, 0xd2, 0x00, 0x32, -0x61, 0x61, 0x1b, 0x07, 0xaf, 0x63, 0x20, 0x28, -0x22, 0x21, 0x1e, 0x06, 0xf0, 0x76, 0x08, 0x28, -0x66, 0x21, 0x15, 0x00, 0x93, 0x94, 0x20, 0xf8, -0x21, 0x61, 0x1c, 0x07, 0x82, 0x81, 0x10, 0x17, -0x23, 0x21, 0x20, 0x1f, 0xc0, 0x71, 0x07, 0x47, -0x25, 0x31, 0x26, 0x05, 0x64, 0x41, 0x18, 0xf8, -0x17, 0x21, 0x28, 0x07, 0xff, 0x83, 0x02, 0xf8, -0x97, 0x81, 0x25, 0x07, 0xcf, 0xc8, 0x02, 0x14, -0x21, 0x21, 0x54, 0x0f, 0x80, 0x7f, 0x07, 0x07, -0x01, 0x01, 0x56, 0x03, 0xd3, 0xb2, 0x43, 0x58, -0x31, 0x21, 0x0c, 0x03, 0x82, 0xc0, 0x40, 0x07, -0x21, 0x01, 0x0c, 0x03, 0xd4, 0xd3, 0x40, 0x84, -0x04, 0x21, 0x28, 0x00, 0xdf, 0xf8, 0xff, 0xf8, -0x23, 0x22, 0x00, 0x00, 0xa8, 0xf8, 0xf8, 0xf8, -0x25, 0x18, 0x00, 0x00, 0xf8, 0xa9, 0xf8, 0x55, +0x03, 0x21, 0x05, 0x06, 0xE8, 0x81, 0x42, 0x27, +0x13, 0x41, 0x14, 0x0D, 0xD8, 0xF6, 0x23, 0x12, +0x11, 0x11, 0x08, 0x08, 0xFA, 0xB2, 0x20, 0x12, +0x31, 0x61, 0x0C, 0x07, 0xA8, 0x64, 0x61, 0x27, +0x32, 0x21, 0x1E, 0x06, 0xE1, 0x76, 0x01, 0x28, +0x02, 0x01, 0x06, 0x00, 0xA3, 0xE2, 0xF4, 0xF4, +0x21, 0x61, 0x1D, 0x07, 0x82, 0x81, 0x11, 0x07, +0x23, 0x21, 0x22, 0x17, 0xA2, 0x72, 0x01, 0x17, +0x35, 0x11, 0x25, 0x00, 0x40, 0x73, 0x72, 0x01, +0xB5, 0x01, 0x0F, 0x0F, 0xA8, 0xA5, 0x51, 0x02, +0x17, 0xC1, 0x24, 0x07, 0xF8, 0xF8, 0x22, 0x12, +0x71, 0x23, 0x11, 0x06, 0x65, 0x74, 0x18, 0x16, +0x01, 0x02, 0xD3, 0x05, 0xC9, 0x95, 0x03, 0x02, +0x61, 0x63, 0x0C, 0x00, 0x94, 0xC0, 0x33, 0xF6, +0x21, 0x72, 0x0D, 0x00, 0xC1, 0xD5, 0x56, 0x06, +0x01, 0x01, 0x18, 0x0F, 0xDF, 0xF8, 0x6A, 0x6D, +0x01, 0x01, 0x00, 0x00, 0xC8, 0xD8, 0xA7, 0x68, +0x05, 0x01, 0x00, 0x00, 0xF8, 0xAA, 0x59, 0x55, diff --git a/src/chips/vsu.c b/src/chips/vsu.c index 3ef6cd4..c124e92 100644 --- a/src/chips/vsu.c +++ b/src/chips/vsu.c @@ -16,7 +16,7 @@ */ //#include "vb.h" -#include +#include // for memset #include "mamedef.h" #include "vsu.h" diff --git a/src/chips/ws_audio.c b/src/chips/ws_audio.c index 7f32744..daffda1 100644 --- a/src/chips/ws_audio.c +++ b/src/chips/ws_audio.c @@ -1,7 +1,7 @@ -#include -#include +#include #include // for NULL +#include // for memset #include "mamedef.h" typedef UINT8 BYTE; diff --git a/src/chips/x1_010.c b/src/chips/x1_010.c index 3a38a51..641f68e 100644 --- a/src/chips/x1_010.c +++ b/src/chips/x1_010.c @@ -49,9 +49,9 @@ ***************************************************************************/ //#include "emu.h" -#include -#include +#include #include // for NULL +#include // for memset #include "mamedef.h" #include "x1_010.h" @@ -66,7 +66,8 @@ #define SETA_NUM_CHANNELS 16 -#define FREQ_BASE_BITS 8 // Frequency fixed decimal shift bits +//#define FREQ_BASE_BITS 8 // Frequency fixed decimal shift bits +#define FREQ_BASE_BITS 14 // Frequency fixed decimal shift bits #define ENV_BASE_BITS 16 // wave form envelope fixed decimal shift bits #define VOL_BASE (2*32*256/30) // Volume base @@ -155,8 +156,8 @@ void seta_update(UINT8 ChipID, stream_sample_t **outputs, int samples) // Meta Fox does write the frequency register, but this is a hack to make it "work" with the current setup // This is broken for Arbalester (it writes 8), but that'll be fixed later. if( freq == 0 ) freq = 4; - smp_step = (UINT32)((float)info->base_clock/8192.0 - *freq*(1<rate); + smp_step = (UINT32)((float)info->base_clock/8192.0f + *freq*(1<rate+0.5f); if( smp_offs == 0 ) { LOG_SOUND(( "Play sample %p - %p, channel %X volume %d:%d freq %X step %X offset %X\n", start, end, ch, volL, volR, freq, smp_step, smp_offs )); @@ -165,7 +166,7 @@ void seta_update(UINT8 ChipID, stream_sample_t **outputs, int samples) delta = smp_offs>>FREQ_BASE_BITS; // sample ended? if( start+delta >= end ) { - reg->status &= 0xfe; // Key off + reg->status &= ~0x01; // Key off break; } data = *(start+delta); @@ -178,11 +179,11 @@ void seta_update(UINT8 ChipID, stream_sample_t **outputs, int samples) start = (INT8 *)&(info->reg[reg->volume*128+0x1000]); smp_offs = info->smp_offset[ch]; freq = ((reg->pitch_hi<<8)+reg->frequency)>>div; - smp_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*freq*(1<rate); + smp_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*freq*(1<rate+0.5f); env = (UINT8 *)&(info->reg[reg->end*128]); env_offs = info->env_offset[ch]; - env_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*reg->start*(1<rate); + env_step = (UINT32)((float)info->base_clock/128.0/1024.0/4.0*reg->start*(1<rate+0.5f); /* Print some more debug info */ if( smp_offs == 0 ) { LOG_SOUND(( "Play waveform %X, channel %X volume %X freq %4X step %X offset %X\n", @@ -193,7 +194,7 @@ void seta_update(UINT8 ChipID, stream_sample_t **outputs, int samples) delta = env_offs>>ENV_BASE_BITS; // Envelope one shot mode if( (reg->status&4) != 0 && delta >= 0x80 ) { - reg->status &= 0xfe; // Key off + reg->status &= ~0x01; // Key off break; } vol = *(env+(delta&0x7f)); @@ -234,7 +235,7 @@ int device_start_x1_010(UINT8 ChipID, int clock) info->ROMSize = 0x00; info->rom = NULL; info->base_clock = clock; - info->rate = clock / 1024; + info->rate = clock / 512; if (((CHIP_SAMPLING_MODE & 0x01) && info->rate < CHIP_SAMPLE_RATE) || CHIP_SAMPLING_MODE == 0x02) info->rate = CHIP_SAMPLE_RATE; diff --git a/src/chips/ym2151.c b/src/chips/ym2151.c index 994c509..7ecbc46 100644 --- a/src/chips/ym2151.c +++ b/src/chips/ym2151.c @@ -8,18 +8,13 @@ #include #include "mamedef.h" -#include -#include +#include +#include // for memset +#include // for NULL //#include "sndintrf.h" //#include "streams.h" #include "ym2151.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - /* undef this to not use MAME timer system */ //#define USE_MAME_TIMERS @@ -1757,8 +1752,8 @@ INLINE void chan_calc(unsigned int chan) env = volume_calc(op+3); /* C2 */ if (env < ENV_QUIET) chanout[chan] += op_calc(op+3, env, c2); - if (chanout[chan] > +8192) chanout[chan] = +8192; - else if (chanout[chan] < -8192) chanout[chan] = -8192; + if (chanout[chan] > +16384) chanout[chan] = +16384; + else if (chanout[chan] < -16384) chanout[chan] = -16384; /* M1 */ op->mem_value = mem; @@ -1823,8 +1818,8 @@ INLINE void chan7_calc(void) if (env < ENV_QUIET) chanout[7] += op_calc(op+3, env, c2); } - if (chanout[7] > +8192) chanout[7] = +8192; - else if (chanout[7] < -8192) chanout[7] = -8192; + if (chanout[7] > +16384) chanout[7] = +16384; + else if (chanout[7] < -16384) chanout[7] = -16384; /* M1 */ op->mem_value = mem; } diff --git a/src/chips/ym2413.c b/src/chips/ym2413.c index 57cab17..3394d78 100644 --- a/src/chips/ym2413.c +++ b/src/chips/ym2413.c @@ -40,17 +40,12 @@ to do: #include #include #include "mamedef.h" -#include -#include +#include +#include // for memset +#include // for NULL //#include "sndintrf.h" #include "ym2413.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - /* output final shift */ #if (SAMPLE_BITS==16) #define FINAL_SH (0) diff --git a/src/chips/ym2413_opl.c b/src/chips/ym2413_opl.c index 8573a0a..2a77d4f 100644 --- a/src/chips/ym2413_opl.c +++ b/src/chips/ym2413_opl.c @@ -142,7 +142,8 @@ INLINE void set_ksl_tl(YM2413 *chip,int chan,int v) OPLL_SLOT_OPL *SLOT = &CH->SLOT[SLOT1]; /* modulator */ - SLOT->ksl = v & 0xC0; + // OPLL KSL (0/1.5/3/6) -> OPL KSL (0/3/1.5/6) + SLOT->ksl = ((v & 0x40) << 1) | ((v & 0x80) >> 1); // swap bits 6<->7 SLOT->TL = v & 0x3F; OPL_RegMapper(0x40 | SLOT2OPL[chan * 2 + SLOT1], SLOT->ksl | SLOT->TL); diff --git a/src/chips/ym2612.c b/src/chips/ym2612.c index b13defa..97fa8f5 100644 --- a/src/chips/ym2612.c +++ b/src/chips/ym2612.c @@ -29,6 +29,11 @@ #include "ym2612.h" +#ifdef __GNUC__ +#pragma GCC diagnostic ignored "-Wparentheses" +#pragma GCC diagnostic ignored "-Wpointer-sign" +#endif + /******************************************** * Partie définition * ********************************************/ @@ -474,7 +479,7 @@ int SLOT_SET(ym2612_ *YM2612, int Adr, unsigned char data) break; case 0x90: - // SSG-EG envelope shapes : + /* SSG-EG envelope shapes : // // E At Al H // @@ -497,7 +502,7 @@ int SLOT_SET(ym2612_ *YM2612, int Adr, unsigned char data) // E = SSG-EG enable // At = Start negate // Al = Altern - // H = Hold + // H = Hold */ if(YM2612_Enable_SSGEG) { if(data & 0x08) SL->SEG = data & 0x0F; diff --git a/src/chips/ym3438.c b/src/chips/ym3438.c new file mode 100644 index 0000000..ef27b50 --- /dev/null +++ b/src/chips/ym3438.c @@ -0,0 +1,1587 @@ +// +// Copyright (C) 2017 Alexey Khokholov (Nuke.YKT) +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +// +// Nuked OPN2(Yamaha YM3438) emulator. +// Thanks: +// Silicon Pr0n: +// Yamaha YM3438 decap and die shot(digshadow). +// OPLx decapsulated(Matthew Gambrell, Olli Niemitalo): +// OPL2 ROMs. +// +// version: 1.0.7 +// + +#include +#include "ym3438.h" + +#define OUTPUT_FACTOR 11 +#define OUTPUT_FACTOR_F 12 +#define FILTER_CUTOFF 0.512331301282628 // 5894Hz single pole IIR low pass +#define FILTER_CUTOFF_I (1-FILTER_CUTOFF) + +enum { + eg_num_attack = 0, + eg_num_decay = 1, + eg_num_sustain = 2, + eg_num_release = 3 +}; + +/* logsin table */ +static const Bit16u logsinrom[256] = { + 0x859, 0x6c3, 0x607, 0x58b, 0x52e, 0x4e4, 0x4a6, 0x471, + 0x443, 0x41a, 0x3f5, 0x3d3, 0x3b5, 0x398, 0x37e, 0x365, + 0x34e, 0x339, 0x324, 0x311, 0x2ff, 0x2ed, 0x2dc, 0x2cd, + 0x2bd, 0x2af, 0x2a0, 0x293, 0x286, 0x279, 0x26d, 0x261, + 0x256, 0x24b, 0x240, 0x236, 0x22c, 0x222, 0x218, 0x20f, + 0x206, 0x1fd, 0x1f5, 0x1ec, 0x1e4, 0x1dc, 0x1d4, 0x1cd, + 0x1c5, 0x1be, 0x1b7, 0x1b0, 0x1a9, 0x1a2, 0x19b, 0x195, + 0x18f, 0x188, 0x182, 0x17c, 0x177, 0x171, 0x16b, 0x166, + 0x160, 0x15b, 0x155, 0x150, 0x14b, 0x146, 0x141, 0x13c, + 0x137, 0x133, 0x12e, 0x129, 0x125, 0x121, 0x11c, 0x118, + 0x114, 0x10f, 0x10b, 0x107, 0x103, 0x0ff, 0x0fb, 0x0f8, + 0x0f4, 0x0f0, 0x0ec, 0x0e9, 0x0e5, 0x0e2, 0x0de, 0x0db, + 0x0d7, 0x0d4, 0x0d1, 0x0cd, 0x0ca, 0x0c7, 0x0c4, 0x0c1, + 0x0be, 0x0bb, 0x0b8, 0x0b5, 0x0b2, 0x0af, 0x0ac, 0x0a9, + 0x0a7, 0x0a4, 0x0a1, 0x09f, 0x09c, 0x099, 0x097, 0x094, + 0x092, 0x08f, 0x08d, 0x08a, 0x088, 0x086, 0x083, 0x081, + 0x07f, 0x07d, 0x07a, 0x078, 0x076, 0x074, 0x072, 0x070, + 0x06e, 0x06c, 0x06a, 0x068, 0x066, 0x064, 0x062, 0x060, + 0x05e, 0x05c, 0x05b, 0x059, 0x057, 0x055, 0x053, 0x052, + 0x050, 0x04e, 0x04d, 0x04b, 0x04a, 0x048, 0x046, 0x045, + 0x043, 0x042, 0x040, 0x03f, 0x03e, 0x03c, 0x03b, 0x039, + 0x038, 0x037, 0x035, 0x034, 0x033, 0x031, 0x030, 0x02f, + 0x02e, 0x02d, 0x02b, 0x02a, 0x029, 0x028, 0x027, 0x026, + 0x025, 0x024, 0x023, 0x022, 0x021, 0x020, 0x01f, 0x01e, + 0x01d, 0x01c, 0x01b, 0x01a, 0x019, 0x018, 0x017, 0x017, + 0x016, 0x015, 0x014, 0x014, 0x013, 0x012, 0x011, 0x011, + 0x010, 0x00f, 0x00f, 0x00e, 0x00d, 0x00d, 0x00c, 0x00c, + 0x00b, 0x00a, 0x00a, 0x009, 0x009, 0x008, 0x008, 0x007, + 0x007, 0x007, 0x006, 0x006, 0x005, 0x005, 0x005, 0x004, + 0x004, 0x004, 0x003, 0x003, 0x003, 0x002, 0x002, 0x002, + 0x002, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, 0x001, + 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000, 0x000 +}; + +/* exp table */ +static const Bit16u exprom[256] = { + 0x000, 0x003, 0x006, 0x008, 0x00b, 0x00e, 0x011, 0x014, + 0x016, 0x019, 0x01c, 0x01f, 0x022, 0x025, 0x028, 0x02a, + 0x02d, 0x030, 0x033, 0x036, 0x039, 0x03c, 0x03f, 0x042, + 0x045, 0x048, 0x04b, 0x04e, 0x051, 0x054, 0x057, 0x05a, + 0x05d, 0x060, 0x063, 0x066, 0x069, 0x06c, 0x06f, 0x072, + 0x075, 0x078, 0x07b, 0x07e, 0x082, 0x085, 0x088, 0x08b, + 0x08e, 0x091, 0x094, 0x098, 0x09b, 0x09e, 0x0a1, 0x0a4, + 0x0a8, 0x0ab, 0x0ae, 0x0b1, 0x0b5, 0x0b8, 0x0bb, 0x0be, + 0x0c2, 0x0c5, 0x0c8, 0x0cc, 0x0cf, 0x0d2, 0x0d6, 0x0d9, + 0x0dc, 0x0e0, 0x0e3, 0x0e7, 0x0ea, 0x0ed, 0x0f1, 0x0f4, + 0x0f8, 0x0fb, 0x0ff, 0x102, 0x106, 0x109, 0x10c, 0x110, + 0x114, 0x117, 0x11b, 0x11e, 0x122, 0x125, 0x129, 0x12c, + 0x130, 0x134, 0x137, 0x13b, 0x13e, 0x142, 0x146, 0x149, + 0x14d, 0x151, 0x154, 0x158, 0x15c, 0x160, 0x163, 0x167, + 0x16b, 0x16f, 0x172, 0x176, 0x17a, 0x17e, 0x181, 0x185, + 0x189, 0x18d, 0x191, 0x195, 0x199, 0x19c, 0x1a0, 0x1a4, + 0x1a8, 0x1ac, 0x1b0, 0x1b4, 0x1b8, 0x1bc, 0x1c0, 0x1c4, + 0x1c8, 0x1cc, 0x1d0, 0x1d4, 0x1d8, 0x1dc, 0x1e0, 0x1e4, + 0x1e8, 0x1ec, 0x1f0, 0x1f5, 0x1f9, 0x1fd, 0x201, 0x205, + 0x209, 0x20e, 0x212, 0x216, 0x21a, 0x21e, 0x223, 0x227, + 0x22b, 0x230, 0x234, 0x238, 0x23c, 0x241, 0x245, 0x249, + 0x24e, 0x252, 0x257, 0x25b, 0x25f, 0x264, 0x268, 0x26d, + 0x271, 0x276, 0x27a, 0x27f, 0x283, 0x288, 0x28c, 0x291, + 0x295, 0x29a, 0x29e, 0x2a3, 0x2a8, 0x2ac, 0x2b1, 0x2b5, + 0x2ba, 0x2bf, 0x2c4, 0x2c8, 0x2cd, 0x2d2, 0x2d6, 0x2db, + 0x2e0, 0x2e5, 0x2e9, 0x2ee, 0x2f3, 0x2f8, 0x2fd, 0x302, + 0x306, 0x30b, 0x310, 0x315, 0x31a, 0x31f, 0x324, 0x329, + 0x32e, 0x333, 0x338, 0x33d, 0x342, 0x347, 0x34c, 0x351, + 0x356, 0x35b, 0x360, 0x365, 0x36a, 0x370, 0x375, 0x37a, + 0x37f, 0x384, 0x38a, 0x38f, 0x394, 0x399, 0x39f, 0x3a4, + 0x3a9, 0x3ae, 0x3b4, 0x3b9, 0x3bf, 0x3c4, 0x3c9, 0x3cf, + 0x3d4, 0x3da, 0x3df, 0x3e4, 0x3ea, 0x3ef, 0x3f5, 0x3fa +}; + +/* Note table */ +static const Bit32u fn_note[16] = { + 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 3, 3, 3 +}; + +/* Envelope generator */ +static const Bit32u eg_stephi[4][4] = { + { 0, 0, 0, 0 }, + { 1, 0, 0, 0 }, + { 1, 0, 1, 0 }, + { 1, 1, 1, 0 } +}; + +static const Bit8u eg_am_shift[4] = { + 7, 3, 1, 0 +}; + +/* Phase generator */ +static const Bit32u pg_detune[8] = { 16, 17, 19, 20, 22, 24, 27, 29 }; + +static const Bit32u pg_lfo_sh1[8][8] = { + { 7, 7, 7, 7, 7, 7, 7, 7 }, + { 7, 7, 7, 7, 7, 7, 7, 7 }, + { 7, 7, 7, 7, 7, 7, 1, 1 }, + { 7, 7, 7, 7, 1, 1, 1, 1 }, + { 7, 7, 7, 1, 1, 1, 1, 0 }, + { 7, 7, 1, 1, 0, 0, 0, 0 }, + { 7, 7, 1, 1, 0, 0, 0, 0 }, + { 7, 7, 1, 1, 0, 0, 0, 0 } +}; + +static const Bit32u pg_lfo_sh2[8][8] = { + { 7, 7, 7, 7, 7, 7, 7, 7 }, + { 7, 7, 7, 7, 2, 2, 2, 2 }, + { 7, 7, 7, 2, 2, 2, 7, 7 }, + { 7, 7, 2, 2, 7, 7, 2, 2 }, + { 7, 7, 2, 7, 7, 7, 2, 7 }, + { 7, 7, 7, 2, 7, 7, 2, 1 }, + { 7, 7, 7, 2, 7, 7, 2, 1 }, + { 7, 7, 7, 2, 7, 7, 2, 1 } +}; + +/* Address decoder */ +static const Bit32u op_offset[12] = { + 0x000, /* Ch1 OP1/OP2 */ + 0x001, /* Ch2 OP1/OP2 */ + 0x002, /* Ch3 OP1/OP2 */ + 0x100, /* Ch4 OP1/OP2 */ + 0x101, /* Ch5 OP1/OP2 */ + 0x102, /* Ch6 OP1/OP2 */ + 0x004, /* Ch1 OP3/OP4 */ + 0x005, /* Ch2 OP3/OP4 */ + 0x006, /* Ch3 OP3/OP4 */ + 0x104, /* Ch4 OP3/OP4 */ + 0x105, /* Ch5 OP3/OP4 */ + 0x106 /* Ch6 OP3/OP4 */ +}; + +static const Bit32u ch_offset[6] = { + 0x000, /* Ch1 */ + 0x001, /* Ch2 */ + 0x002, /* Ch3 */ + 0x100, /* Ch4 */ + 0x101, /* Ch5 */ + 0x102 /* Ch6 */ +}; + +/* LFO */ +static const Bit32u lfo_cycles[8] = { + 108, 77, 71, 67, 62, 44, 8, 5 +}; + +/* FM algorithm */ +static const Bit32u fm_algorithm[4][6][8] = { + { + { 1, 1, 1, 1, 1, 1, 1, 1 }, /* OP1_0 */ + { 1, 1, 1, 1, 1, 1, 1, 1 }, /* OP1_1 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP2 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* Last operator */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* Last operator */ + { 0, 0, 0, 0, 0, 0, 0, 1 } /* Out */ + }, + { + { 0, 1, 0, 0, 0, 1, 0, 0 }, /* OP1_0 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP1_1 */ + { 1, 1, 1, 0, 0, 0, 0, 0 }, /* OP2 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* Last operator */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* Last operator */ + { 0, 0, 0, 0, 0, 1, 1, 1 } /* Out */ + }, + { + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP1_0 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP1_1 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP2 */ + { 1, 0, 0, 1, 1, 1, 1, 0 }, /* Last operator */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* Last operator */ + { 0, 0, 0, 0, 1, 1, 1, 1 } /* Out */ + }, + { + { 0, 0, 1, 0, 0, 1, 0, 0 }, /* OP1_0 */ + { 0, 0, 0, 0, 0, 0, 0, 0 }, /* OP1_1 */ + { 0, 0, 0, 1, 0, 0, 0, 0 }, /* OP2 */ + { 1, 1, 0, 1, 1, 0, 0, 0 }, /* Last operator */ + { 0, 0, 1, 0, 0, 0, 0, 0 }, /* Last operator */ + { 1, 1, 1, 1, 1, 1, 1, 1 } /* Out */ + } +}; + +static Bit32u chip_type = ym3438_type_discrete; +static Bit32u use_filter = 0; + +void OPN2_DoIO(ym3438_t *chip) +{ + /* Write signal check */ + chip->write_a_en = (chip->write_a & 0x03) == 0x01; + chip->write_d_en = (chip->write_d & 0x03) == 0x01; + chip->write_a <<= 1; + chip->write_d <<= 1; + /* Busy counter */ + chip->busy = chip->write_busy; + chip->write_busy_cnt += chip->write_busy; + chip->write_busy = (chip->write_busy && !(chip->write_busy_cnt >> 5)) || chip->write_d_en; + chip->write_busy_cnt &= 0x1f; +} + +void OPN2_DoRegWrite(ym3438_t *chip) +{ + Bit32u i; + Bit32u slot = chip->slot % 12; + Bit32u address; + Bit32u channel = chip->channel; + /* Update registers */ + if (chip->write_fm_data) + { + /* Slot */ + if (op_offset[slot] == (chip->address & 0x107)) + { + if (chip->address & 0x08) + { + /* OP2, OP4 */ + slot += 12; + } + address = chip->address & 0xf0; + switch (address) + { + case 0x30: /* DT, MULTI */ + chip->multi[slot] = chip->data & 0x0f; + if (!chip->multi[slot]) + { + chip->multi[slot] = 1; + } + else + { + chip->multi[slot] <<= 1; + } + chip->dt[slot] = (chip->data >> 4) & 0x07; + break; + case 0x40: /* TL */ + chip->tl[slot] = chip->data & 0x7f; + break; + case 0x50: /* KS, AR */ + chip->ar[slot] = chip->data & 0x1f; + chip->ks[slot] = (chip->data >> 6) & 0x03; + break; + case 0x60: /* AM, DR */ + chip->dr[slot] = chip->data & 0x1f; + chip->am[slot] = (chip->data >> 7) & 0x01; + break; + case 0x70: /* SR */ + chip->sr[slot] = chip->data & 0x1f; + break; + case 0x80: /* SL, RR */ + chip->rr[slot] = chip->data & 0x0f; + chip->sl[slot] = (chip->data >> 4) & 0x0f; + chip->sl[slot] |= (chip->sl[slot] + 1) & 0x10; + break; + case 0x90: /* SSG-EG */ + chip->ssg_eg[slot] = chip->data & 0x0f; + break; + default: + break; + } + } + + /* Channel */ + if (ch_offset[channel] == (chip->address & 0x103)) + { + address = chip->address & 0xfc; + switch (address) + { + case 0xa0: + chip->fnum[channel] = (chip->data & 0xff) | ((chip->reg_a4 & 0x07) << 8); + chip->block[channel] = (chip->reg_a4 >> 3) & 0x07; + chip->kcode[channel] = (chip->block[channel] << 2) | fn_note[chip->fnum[channel] >> 7]; + break; + case 0xa4: + chip->reg_a4 = chip->data & 0xff; + break; + case 0xa8: + chip->fnum_3ch[channel] = (chip->data & 0xff) | ((chip->reg_ac & 0x07) << 8); + chip->block_3ch[channel] = (chip->reg_ac >> 3) & 0x07; + chip->kcode_3ch[channel] = (chip->block_3ch[channel] << 2) | fn_note[chip->fnum_3ch[channel] >> 7]; + break; + case 0xac: + chip->reg_ac = chip->data & 0xff; + break; + case 0xb0: + chip->connect[channel] = chip->data & 0x07; + chip->fb[channel] = (chip->data >> 3) & 0x07; + break; + case 0xb4: + chip->pms[channel] = chip->data & 0x07; + chip->ams[channel] = (chip->data >> 4) & 0x03; + chip->pan_l[channel] = (chip->data >> 7) & 0x01; + chip->pan_r[channel] = (chip->data >> 6) & 0x01; + break; + default: + break; + } + } + } + + if (chip->write_a_en || chip->write_d_en) + { + /* Data */ + if (chip->write_a_en) + { + chip->write_fm_data = 0; + } + + if (chip->write_fm_address && chip->write_d_en) + { + chip->write_fm_data = 1; + } + + /* Address */ + if (chip->write_a_en) + { + if ((chip->write_data & 0xf0) != 0x00) + { + /* FM Write */ + chip->address = chip->write_data; + chip->write_fm_address = 1; + } + else + { + /* SSG write */ + chip->write_fm_address = 0; + } + } + + /* FM Mode */ + /* Data */ + if (chip->write_d_en && (chip->write_data & 0x100) == 0) + { + switch (chip->address) + { + case 0x21: /* LSI test 1 */ + for (i = 0; i < 8; i++) + { + chip->mode_test_21[i] = (chip->write_data >> i) & 0x01; + } + break; + case 0x22: /* LFO control */ + if ((chip->write_data >> 3) & 0x01) + { + chip->lfo_en = 0x7f; + } + else + { + chip->lfo_en = 0; + } + chip->lfo_freq = chip->write_data & 0x07; + break; + case 0x24: /* Timer A */ + chip->timer_a_reg &= 0x03; + chip->timer_a_reg |= (chip->write_data & 0xff) << 2; + break; + case 0x25: + chip->timer_a_reg &= 0x3fc; + chip->timer_a_reg |= chip->write_data & 0x03; + break; + case 0x26: /* Timer B */ + chip->timer_b_reg = chip->write_data & 0xff; + break; + case 0x27: /* CSM, Timer control */ + chip->mode_ch3 = (chip->write_data & 0xc0) >> 6; + chip->mode_csm = chip->mode_ch3 == 2; + chip->timer_a_load = chip->write_data & 0x01; + chip->timer_a_enable = (chip->write_data >> 2) & 0x01; + chip->timer_a_reset = (chip->write_data >> 4) & 0x01; + chip->timer_b_load = (chip->write_data >> 1) & 0x01; + chip->timer_b_enable = (chip->write_data >> 3) & 0x01; + chip->timer_b_reset = (chip->write_data >> 5) & 0x01; + break; + case 0x28: /* Key on/off */ + for (i = 0; i < 4; i++) + { + chip->mode_kon_operator[i] = (chip->write_data >> (4 + i)) & 0x01; + } + if ((chip->write_data & 0x03) == 0x03) + { + /* Invalid address */ + chip->mode_kon_channel = 0xff; + } + else + { + chip->mode_kon_channel = (chip->write_data & 0x03) + ((chip->write_data >> 2) & 1) * 3; + } + break; + case 0x2a: /* DAC data */ + chip->dacdata &= 0x01; + chip->dacdata |= (chip->write_data ^ 0x80) << 1; + break; + case 0x2b: /* DAC enable */ + chip->dacen = chip->write_data >> 7; + break; + case 0x2c: /* LSI test 2 */ + for (i = 0; i < 8; i++) + { + chip->mode_test_2c[i] = (chip->write_data >> i) & 0x01; + } + chip->dacdata &= 0x1fe; + chip->dacdata |= chip->mode_test_2c[3]; + chip->eg_custom_timer = !chip->mode_test_2c[7] && chip->mode_test_2c[6]; + break; + default: + break; + } + } + + /* Address */ + if (chip->write_a_en) + { + chip->write_fm_mode_a = chip->write_data & 0xff; + } + } + + if (chip->write_fm_data) + { + chip->data = chip->write_data & 0xff; + } +} + +void OPN2_PhaseCalcIncrement(ym3438_t *chip) +{ + Bit32u fnum = chip->pg_fnum; + Bit32u fnum_h = fnum >> 4; + Bit32u fm; + Bit32u basefreq; + Bit8u lfo = chip->lfo_pm; + Bit8u lfo_l = lfo & 0x0f; + Bit8u pms = chip->pms[chip->channel]; + Bit8u dt = chip->dt[chip->slot]; + Bit8u dt_l = dt & 0x03; + Bit8u detune = 0; + Bit8u block, note; + Bit8u sum, sum_h, sum_l; + Bit8u kcode = chip->pg_kcode; + + fnum <<= 1; + /* Apply LFO */ + if (lfo_l & 0x08) + { + lfo_l ^= 0x0f; + } + fm = (fnum_h >> pg_lfo_sh1[pms][lfo_l]) + (fnum_h >> pg_lfo_sh2[pms][lfo_l]); + if (pms > 5) + { + fm <<= pms - 5; + } + fm >>= 2; + if (lfo & 0x10) + { + fnum -= fm; + } + else + { + fnum += fm; + } + fnum &= 0xfff; + + basefreq = (fnum << chip->pg_block) >> 2; + + /* Apply detune */ + if (dt_l) + { + if (kcode > 0x1c) + { + kcode = 0x1c; + } + block = kcode >> 2; + note = kcode & 0x03; + sum = block + 9 + ((dt_l == 3) | (dt_l & 0x02)); + sum_h = sum >> 1; + sum_l = sum & 0x01; + detune = pg_detune[(sum_l << 2) | note] >> (9 - sum_h); + } + if (dt & 0x04) + { + basefreq -= detune; + } + else + { + basefreq += detune; + } + basefreq &= 0x1ffff; + chip->pg_inc[chip->slot] = (basefreq * chip->multi[chip->slot]) >> 1; + chip->pg_inc[chip->slot] &= 0xfffff; +} + +void OPN2_PhaseGenerate(ym3438_t *chip) +{ + Bit32u slot; + /* Mask increment */ + slot = (chip->slot + 20) % 24; + if (chip->pg_reset[slot]) + { + chip->pg_inc[slot] = 0; + } + /* Phase step */ + slot = (chip->slot + 19) % 24; + chip->pg_phase[slot] += chip->pg_inc[slot]; + chip->pg_phase[slot] &= 0xfffff; + if (chip->pg_reset[slot] || chip->mode_test_21[3]) + { + chip->pg_phase[slot] = 0; + } +} + +void OPN2_EnvelopeSSGEG(ym3438_t *chip) +{ + Bit32u slot = chip->slot; + Bit8u direction = 0; + chip->eg_ssg_pgrst_latch[slot] = 0; + chip->eg_ssg_repeat_latch[slot] = 0; + chip->eg_ssg_hold_up_latch[slot] = 0; + chip->eg_ssg_inv[slot] = 0; + if (chip->ssg_eg[slot] & 0x08) + { + direction = chip->eg_ssg_dir[slot]; + if (chip->eg_level[slot] & 0x200) + { + /* Reset */ + if ((chip->ssg_eg[slot] & 0x03) == 0x00) + { + chip->eg_ssg_pgrst_latch[slot] = 1; + } + /* Repeat */ + if ((chip->ssg_eg[slot] & 0x01) == 0x00) + { + chip->eg_ssg_repeat_latch[slot] = 1; + } + /* Inverse */ + if ((chip->ssg_eg[slot] & 0x03) == 0x02) + { + direction ^= 1; + } + if ((chip->ssg_eg[slot] & 0x03) == 0x03) + { + direction = 1; + } + } + /* Hold up */ + if (chip->eg_kon_latch[slot] + && ((chip->ssg_eg[slot] & 0x07) == 0x05 || (chip->ssg_eg[slot] & 0x07) == 0x03)) + { + chip->eg_ssg_hold_up_latch[slot] = 1; + } + direction &= chip->eg_kon[slot]; + chip->eg_ssg_inv[slot] = (chip->eg_ssg_dir[slot] ^ ((chip->ssg_eg[slot] >> 2) & 0x01)) + & chip->eg_kon[slot]; + } + chip->eg_ssg_dir[slot] = direction; + chip->eg_ssg_enable[slot] = (chip->ssg_eg[slot] >> 3) & 0x01; +} + +void OPN2_EnvelopeADSR(ym3438_t *chip) +{ + Bit32u slot = (chip->slot + 22) % 24; + + Bit8u nkon = chip->eg_kon_latch[slot]; + Bit8u okon = chip->eg_kon[slot]; + Bit8u kon_event; + Bit8u koff_event; + Bit8u eg_off; + Bit16s level; + Bit16s nextlevel = 0; + Bit16s ssg_level; + Bit8u nextstate = chip->eg_state[slot]; + Bit16s inc = 0; + chip->eg_read[0] = chip->eg_read_inc; + chip->eg_read_inc = chip->eg_inc > 0; + + /* Reset phase generator */ + chip->pg_reset[slot] = (nkon && !okon) || chip->eg_ssg_pgrst_latch[slot]; + + /* KeyOn/Off */ + kon_event = (nkon && !okon) || (okon && chip->eg_ssg_repeat_latch[slot]); + koff_event = okon && !nkon; + + ssg_level = level = (Bit16s)chip->eg_level[slot]; + + if (chip->eg_ssg_inv[slot]) + { + /* Inverse */ + ssg_level = 512 - level; + ssg_level &= 0x3ff; + } + if (koff_event) + { + level = ssg_level; + } + if (chip->eg_ssg_enable[slot]) + { + eg_off = level >> 9; + } + else + { + eg_off = (level & 0x3f0) == 0x3f0; + } + nextlevel = level; + if (kon_event) + { + nextstate = eg_num_attack; + /* Instant attack */ + if (chip->eg_ratemax) + { + nextlevel = 0; + } + else if (chip->eg_state[slot] == eg_num_attack && level != 0 && chip->eg_inc && nkon) + { + inc = (~level << chip->eg_inc) >> 5; + } + } + else + { + switch (chip->eg_state[slot]) + { + case eg_num_attack: + if (level == 0) + { + nextstate = eg_num_decay; + } + else if(chip->eg_inc && !chip->eg_ratemax && nkon) + { + inc = (~level << chip->eg_inc) >> 5; + } + break; + case eg_num_decay: + if ((level >> 5) == chip->eg_sl[1]) + { + nextstate = eg_num_sustain; + } + else if (!eg_off && chip->eg_inc) + { + inc = 1 << (chip->eg_inc - 1); + if (chip->eg_ssg_enable[slot]) + { + inc <<= 2; + } + } + break; + case eg_num_sustain: + case eg_num_release: + if (!eg_off && chip->eg_inc) + { + inc = 1 << (chip->eg_inc - 1); + if (chip->eg_ssg_enable[slot]) + { + inc <<= 2; + } + } + break; + default: + break; + } + if (!nkon) + { + nextstate = eg_num_release; + } + } + if (chip->eg_kon_csm[slot]) + { + nextlevel |= chip->eg_tl[1] << 3; + } + + /* Envelope off */ + if (!kon_event && !chip->eg_ssg_hold_up_latch[slot] && chip->eg_state[slot] != eg_num_attack && eg_off) + { + nextstate = eg_num_release; + nextlevel = 0x3ff; + } + + nextlevel += inc; + + chip->eg_kon[slot] = chip->eg_kon_latch[slot]; + chip->eg_level[slot] = (Bit16u)nextlevel & 0x3ff; + chip->eg_state[slot] = nextstate; +} + +void OPN2_EnvelopePrepare(ym3438_t *chip) +{ + Bit8u rate; + Bit8u sum; + Bit8u inc = 0; + Bit32u slot = chip->slot; + Bit8u rate_sel; + + /* Prepare increment */ + rate = (chip->eg_rate << 1) + chip->eg_ksv; + + if (rate > 0x3f) + { + rate = 0x3f; + } + + sum = ((rate >> 2) + chip->eg_shift_lock) & 0x0f; + if (chip->eg_rate != 0 && chip->eg_quotient == 2) + { + if (rate < 48) + { + switch (sum) + { + case 12: + inc = 1; + break; + case 13: + inc = (rate >> 1) & 0x01; + break; + case 14: + inc = rate & 0x01; + break; + default: + break; + } + } + else + { + inc = eg_stephi[rate & 0x03][chip->eg_timer_low_lock] + (rate >> 2) - 11; + if (inc > 4) + { + inc = 4; + } + } + } + chip->eg_inc = inc; + chip->eg_ratemax = (rate >> 1) == 0x1f; + + /* Prepare rate & ksv */ + rate_sel = chip->eg_state[slot]; + if ((chip->eg_kon[slot] && chip->eg_ssg_repeat_latch[slot]) + || (!chip->eg_kon[slot] && chip->eg_kon_latch[slot])) + { + rate_sel = eg_num_attack; + } + switch (rate_sel) + { + case eg_num_attack: + chip->eg_rate = chip->ar[slot]; + break; + case eg_num_decay: + chip->eg_rate = chip->dr[slot]; + break; + case eg_num_sustain: + chip->eg_rate = chip->sr[slot]; + break; + case eg_num_release: + chip->eg_rate = (chip->rr[slot] << 1) | 0x01; + break; + default: + break; + } + chip->eg_ksv = chip->pg_kcode >> (chip->ks[slot] ^ 0x03); + if (chip->am[slot]) + { + chip->eg_lfo_am = chip->lfo_am >> eg_am_shift[chip->ams[chip->channel]]; + } + else + { + chip->eg_lfo_am = 0; + } + /* Delay TL & SL value */ + chip->eg_tl[1] = chip->eg_tl[0]; + chip->eg_tl[0] = chip->tl[slot]; + chip->eg_sl[1] = chip->eg_sl[0]; + chip->eg_sl[0] = chip->sl[slot]; +} + +void OPN2_EnvelopeGenerate(ym3438_t *chip) +{ + Bit32u slot = (chip->slot + 23) % 24; + Bit16u level; + + level = chip->eg_level[slot]; + + if (chip->eg_ssg_inv[slot]) + { + /* Inverse */ + level = 512 - level; + } + if (chip->mode_test_21[5]) + { + level = 0; + } + level &= 0x3ff; + + /* Apply AM LFO */ + level += chip->eg_lfo_am; + + /* Apply TL */ + if (!(chip->mode_csm && chip->channel == 2 + 1)) + { + level += chip->eg_tl[0] << 3; + } + if (level > 0x3ff) + { + level = 0x3ff; + } + chip->eg_out[slot] = level; +} + +void OPN2_UpdateLFO(ym3438_t *chip) +{ + if ((chip->lfo_quotient & lfo_cycles[chip->lfo_freq]) == lfo_cycles[chip->lfo_freq]) + { + chip->lfo_quotient = 0; + chip->lfo_cnt++; + } + else + { + chip->lfo_quotient += chip->lfo_inc; + } + chip->lfo_cnt &= chip->lfo_en; +} + +void OPN2_FMPrepare(ym3438_t *chip) +{ + Bit32u slot = (chip->slot + 6) % 24; + Bit32u channel = chip->channel; + Bit16s mod, mod1, mod2; + Bit32u op = slot / 6; + Bit8u connect = chip->connect[channel]; + Bit32u prevslot = (chip->slot + 18) % 24; + + /* Calculate modulation */ + mod1 = mod2 = 0; + + if (fm_algorithm[op][0][connect]) + { + mod2 |= chip->fm_op1[channel][0]; + } + if (fm_algorithm[op][1][connect]) + { + mod1 |= chip->fm_op1[channel][1]; + } + if (fm_algorithm[op][2][connect]) + { + mod1 |= chip->fm_op2[channel]; + } + if (fm_algorithm[op][3][connect]) + { + mod2 |= chip->fm_out[prevslot]; + } + if (fm_algorithm[op][4][connect]) + { + mod1 |= chip->fm_out[prevslot]; + } + mod = mod1 + mod2; + if (op == 0) + { + /* Feedback */ + mod = mod >> (10 - chip->fb[channel]); + if (!chip->fb[channel]) + { + mod = 0; + } + } + else + { + mod >>= 1; + } + chip->fm_mod[slot] = mod; + + slot = (chip->slot + 18) % 24; + /* OP1 */ + if (slot / 6 == 0) + { + chip->fm_op1[channel][1] = chip->fm_op1[channel][0]; + chip->fm_op1[channel][0] = chip->fm_out[slot]; + } + /* OP2 */ + if (slot / 6 == 2) + { + chip->fm_op2[channel] = chip->fm_out[slot]; + } +} + +void OPN2_ChGenerate(ym3438_t *chip) +{ + Bit32u slot = (chip->slot + 18) % 24; + Bit32u channel = chip->channel; + Bit32u op = slot / 6; + Bit32u test_dac = chip->mode_test_2c[5]; + Bit16s acc = chip->ch_acc[channel]; + Bit16s add = test_dac; + Bit16s sum = 0; + if (op == 0 && !test_dac) + { + acc = 0; + } + if (fm_algorithm[op][5][chip->connect[channel]] && !test_dac) + { + add += chip->fm_out[slot] >> 5; + } + sum = acc + add; + /* Clamp */ + if (sum > 255) + { + sum = 255; + } + else if(sum < -256) + { + sum = -256; + } + + if (op == 0 || test_dac) + { + chip->ch_out[channel] = chip->ch_acc[channel]; + } + chip->ch_acc[channel] = sum; +} + +void OPN2_ChOutput(ym3438_t *chip) +{ + Bit32u cycles = chip->cycles; + Bit32u channel = chip->channel; + Bit32u test_dac = chip->mode_test_2c[5]; + Bit16s out; + Bit16s sign; + Bit32u out_en; + chip->ch_read = chip->ch_lock; + if (chip->slot < 12) + { + /* Ch 4,5,6 */ + channel++; + } + if ((cycles & 3) == 0) + { + if (!test_dac) + { + /* Lock value */ + chip->ch_lock = chip->ch_out[channel]; + } + chip->ch_lock_l = chip->pan_l[channel]; + chip->ch_lock_r = chip->pan_r[channel]; + } + /* Ch 6 */ + if (((cycles >> 2) == 1 && chip->dacen) || test_dac) + { + out = (Bit16s)chip->dacdata; + out <<= 7; + out >>= 7; + } + else + { + out = chip->ch_lock; + } + chip->mol = 0; + chip->mor = 0; + + if (chip_type == ym3438_type_ym2612) + { + out_en = ((cycles & 3) == 3) || test_dac; + /* YM2612 DAC emulation(not verified) */ + sign = out >> 8; + if (out >= 0) + { + out++; + sign++; + } + if (chip->ch_lock_l && out_en) + { + chip->mol = out; + } + else + { + chip->mol = sign; + } + if (chip->ch_lock_r && out_en) + { + chip->mor = out; + } + else + { + chip->mor = sign; + } + /* Amplify signal */ + chip->mol *= 3; + chip->mor *= 3; + } + else + { + out_en = ((cycles & 3) != 0) || test_dac; + /* Discrete YM3438 seems has the ladder effect too */ + if (out >= 0 && chip_type == ym3438_type_discrete) + { + out++; + } + if (chip->ch_lock_l && out_en) + { + chip->mol = out; + } + if (chip->ch_lock_r && out_en) + { + chip->mor = out; + } + } +} + +void OPN2_FMGenerate(ym3438_t *chip) +{ + Bit32u slot = (chip->slot + 19) % 24; + /* Calculate phase */ + Bit16u phase = (chip->fm_mod[slot] + (chip->pg_phase[slot] >> 10)) & 0x3ff; + Bit16u quarter; + Bit16u level; + Bit16s output; + if (phase & 0x100) + { + quarter = (phase ^ 0xff) & 0xff; + } + else + { + quarter = phase & 0xff; + } + level = logsinrom[quarter]; + /* Apply envelope */ + level += chip->eg_out[slot] << 2; + /* Transform */ + if (level > 0x1fff) + { + level = 0x1fff; + } + output = ((exprom[(level & 0xff) ^ 0xff] | 0x400) << 2) >> (level >> 8); + if (phase & 0x200) + { + output = ((~output) ^ (chip->mode_test_21[4] << 13)) + 1; + } + else + { + output = output ^ (chip->mode_test_21[4] << 13); + } + output <<= 2; + output >>= 2; + chip->fm_out[slot] = output; +} + +void OPN2_DoTimerA(ym3438_t *chip) +{ + Bit16u time; + Bit8u load; + load = chip->timer_a_overflow; + if (chip->cycles == 2) + { + /* Lock load value */ + load |= (!chip->timer_a_load_lock && chip->timer_a_load); + chip->timer_a_load_lock = chip->timer_a_load; + if (chip->mode_csm) + { + /* CSM KeyOn */ + chip->mode_kon_csm = load; + } + else + { + chip->mode_kon_csm = 0; + } + } + /* Load counter */ + if (chip->timer_a_load_latch) + { + time = chip->timer_a_reg; + } + else + { + time = chip->timer_a_cnt; + } + chip->timer_a_load_latch = load; + /* Increase counter */ + if ((chip->cycles == 1 && chip->timer_a_load_lock) || chip->mode_test_21[2]) + { + time++; + } + /* Set overflow flag */ + if (chip->timer_a_reset) + { + chip->timer_a_reset = 0; + chip->timer_a_overflow_flag = 0; + } + else + { + chip->timer_a_overflow_flag |= chip->timer_a_overflow & chip->timer_a_enable; + } + chip->timer_a_overflow = (time >> 10); + chip->timer_a_cnt = time & 0x3ff; +} + +void OPN2_DoTimerB(ym3438_t *chip) +{ + Bit16u time; + Bit8u load; + load = chip->timer_b_overflow; + if (chip->cycles == 2) + { + /* Lock load value */ + load |= (!chip->timer_b_load_lock && chip->timer_b_load); + chip->timer_b_load_lock = chip->timer_b_load; + } + /* Load counter */ + if (chip->timer_b_load_latch) + { + time = chip->timer_b_reg; + } + else + { + time = chip->timer_b_cnt; + } + chip->timer_b_load_latch = load; + /* Increase counter */ + if (chip->cycles == 1) + { + chip->timer_b_subcnt++; + } + if ((chip->timer_b_subcnt == 0x10 && chip->timer_b_load_lock) || chip->mode_test_21[2]) + { + time++; + } + chip->timer_b_subcnt &= 0x0f; + /* Set overflow flag */ + if (chip->timer_b_reset) + { + chip->timer_b_reset = 0; + chip->timer_b_overflow_flag = 0; + } + else + { + chip->timer_b_overflow_flag |= chip->timer_b_overflow & chip->timer_b_enable; + } + chip->timer_b_overflow = (time >> 8); + chip->timer_b_cnt = time & 0xff; +} + +void OPN2_KeyOn(ym3438_t*chip) +{ + /* Key On */ + chip->eg_kon_latch[chip->slot] = chip->mode_kon[chip->slot]; + chip->eg_kon_csm[chip->slot] = 0; + if (chip->channel == 2 && chip->mode_kon_csm) + { + /* CSM Key On */ + chip->eg_kon_latch[chip->slot] = 1; + chip->eg_kon_csm[chip->slot] = 1; + } + if (chip->cycles == chip->mode_kon_channel) + { + /* OP1 */ + chip->mode_kon[chip->channel] = chip->mode_kon_operator[0]; + /* OP2 */ + chip->mode_kon[chip->channel + 12] = chip->mode_kon_operator[1]; + /* OP3 */ + chip->mode_kon[chip->channel + 6] = chip->mode_kon_operator[2]; + /* OP4 */ + chip->mode_kon[chip->channel + 18] = chip->mode_kon_operator[3]; + } +} + +void OPN2_Reset(ym3438_t *chip, Bit32u rate, Bit32u clock) +{ + Bit32u i, rateratio; + rateratio = chip->rateratio; + memset(chip, 0, sizeof(ym3438_t)); + for (i = 0; i < 24; i++) + { + chip->eg_out[i] = 0x3ff; + chip->eg_level[i] = 0x3ff; + chip->eg_state[i] = eg_num_release; + chip->multi[i] = 1; + } + for (i = 0; i < 6; i++) + { + chip->pan_l[i] = 1; + chip->pan_r[i] = 1; + } + if (rate != 0) + { + chip->rateratio = (Bit32u)((((Bit64u)144 * rate) << RSM_FRAC) / clock); + } + else + { + chip->rateratio = rateratio; + } +} + +void OPN2_SetChipType(Bit32u type) +{ + use_filter = 0; + if(type == ym3438_type_ym2612) + use_filter = 1; + if(type == ym3438_type_ym2612_u) + type = ym3438_type_ym2612; + chip_type = type; +} + +void OPN2_Clock(ym3438_t *chip, Bit32s *buffer) +{ + chip->lfo_inc = chip->mode_test_21[1]; + chip->pg_read >>= 1; + chip->eg_read[1] >>= 1; + chip->eg_cycle++; + /* Lock envelope generator timer value */ + if (chip->cycles == 1 && chip->eg_quotient == 2) + { + if (chip->eg_cycle_stop) + { + chip->eg_shift_lock = 0; + } + else + { + chip->eg_shift_lock = chip->eg_shift + 1; + } + chip->eg_timer_low_lock = chip->eg_timer & 0x03; + } + /* Cycle specific functions */ + switch (chip->cycles) + { + case 0: + chip->lfo_pm = chip->lfo_cnt >> 2; + if (chip->lfo_cnt & 0x40) + { + chip->lfo_am = chip->lfo_cnt & 0x3f; + } + else + { + chip->lfo_am = chip->lfo_cnt ^ 0x3f; + } + chip->lfo_am <<= 1; + break; + case 1: + chip->eg_quotient++; + chip->eg_quotient %= 3; + chip->eg_cycle = 0; + chip->eg_cycle_stop = 1; + chip->eg_shift = 0; + chip->eg_timer_inc |= chip->eg_quotient >> 1; + chip->eg_timer = chip->eg_timer + chip->eg_timer_inc; + chip->eg_timer_inc = chip->eg_timer >> 12; + chip->eg_timer &= 0xfff; + break; + case 2: + chip->pg_read = chip->pg_phase[21] & 0x3ff; + chip->eg_read[1] = chip->eg_out[0]; + break; + case 13: + chip->eg_cycle = 0; + chip->eg_cycle_stop = 1; + chip->eg_shift = 0; + chip->eg_timer = chip->eg_timer + chip->eg_timer_inc; + chip->eg_timer_inc = chip->eg_timer >> 12; + chip->eg_timer &= 0xfff; + break; + case 23: + chip->lfo_inc |= 1; + break; + } + chip->eg_timer &= ~(chip->mode_test_21[5] << chip->eg_cycle); + if (((chip->eg_timer >> chip->eg_cycle) | (chip->pin_test_in & chip->eg_custom_timer)) & chip->eg_cycle_stop) + { + chip->eg_shift = chip->eg_cycle; + chip->eg_cycle_stop = 0; + } + + OPN2_DoIO(chip); + + OPN2_DoTimerA(chip); + OPN2_DoTimerB(chip); + OPN2_KeyOn(chip); + + OPN2_ChOutput(chip); + OPN2_ChGenerate(chip); + + OPN2_FMPrepare(chip); + OPN2_FMGenerate(chip); + + OPN2_PhaseGenerate(chip); + OPN2_PhaseCalcIncrement(chip); + + OPN2_EnvelopeADSR(chip); + OPN2_EnvelopeGenerate(chip); + OPN2_EnvelopeSSGEG(chip); + OPN2_EnvelopePrepare(chip); + + /* Prepare fnum & block */ + if (chip->mode_ch3) + { + /* Channel 3 special mode */ + switch (chip->slot) + { + case 1: /* OP1 */ + chip->pg_fnum = chip->fnum_3ch[1]; + chip->pg_block = chip->block_3ch[1]; + chip->pg_kcode = chip->kcode_3ch[1]; + break; + case 7: /* OP3 */ + chip->pg_fnum = chip->fnum_3ch[0]; + chip->pg_block = chip->block_3ch[0]; + chip->pg_kcode = chip->kcode_3ch[0]; + break; + case 13: /* OP2 */ + chip->pg_fnum = chip->fnum_3ch[2]; + chip->pg_block = chip->block_3ch[2]; + chip->pg_kcode = chip->kcode_3ch[2]; + break; + case 19: /* OP4 */ + default: + chip->pg_fnum = chip->fnum[(chip->channel + 1) % 6]; + chip->pg_block = chip->block[(chip->channel + 1) % 6]; + chip->pg_kcode = chip->kcode[(chip->channel + 1) % 6]; + break; + } + } + else + { + chip->pg_fnum = chip->fnum[(chip->channel + 1) % 6]; + chip->pg_block = chip->block[(chip->channel + 1) % 6]; + chip->pg_kcode = chip->kcode[(chip->channel + 1) % 6]; + } + + OPN2_UpdateLFO(chip); + OPN2_DoRegWrite(chip); + chip->cycles = (chip->cycles + 1) % 24; + chip->slot = chip->cycles; + chip->channel = chip->cycles % 6; + + buffer[0] = chip->mol; + buffer[1] = chip->mor; +} + +void OPN2_Write(ym3438_t *chip, Bit32u port, Bit8u data) +{ + port &= 3; + chip->write_data = ((port << 7) & 0x100) | data; + if (port & 1) + { + /* Data */ + chip->write_d |= 1; + } + else + { + /* Address */ + chip->write_a |= 1; + } +} + +void OPN2_SetTestPin(ym3438_t *chip, Bit32u value) +{ + chip->pin_test_in = value & 1; +} + +Bit32u OPN2_ReadTestPin(ym3438_t *chip) +{ + if (!chip->mode_test_2c[7]) + { + return 0; + } + return chip->cycles == 23; +} + +Bit32u OPN2_ReadIRQPin(ym3438_t *chip) +{ + return chip->timer_a_overflow_flag | chip->timer_b_overflow_flag; +} + +Bit8u OPN2_Read(ym3438_t *chip, Bit32u port) +{ + if ((port & 3) == 0 || chip_type == ym3438_type_asic) + { + if (chip->mode_test_21[6]) + { + /* Read test data */ + Bit16u testdata = ((chip->pg_read & 0x01) << 15) + | ((chip->eg_read[chip->mode_test_21[0]] & 0x01) << 14); + if (chip->mode_test_2c[4]) + { + testdata |= chip->ch_read & 0x1ff; + } + else + { + testdata |= chip->fm_out[(chip->slot + 18) % 24] & 0x3fff; + } + if (chip->mode_test_21[7]) + { + return testdata & 0xff; + } + else + { + return testdata >> 8; + } + } + else + { + return (chip->busy << 7) | (chip->timer_b_overflow_flag << 1) + | chip->timer_a_overflow_flag; + } + } + return 0; +} + +void OPN2_WriteBuffered(ym3438_t *chip, Bit32u port, Bit8u data) +{ + Bit64u time1, time2; + Bit32s buffer[2]; + Bit64u skip; + + if (chip->writebuf[chip->writebuf_last].port & 0x04) + { + OPN2_Write(chip, chip->writebuf[chip->writebuf_last].port & 0X03, + chip->writebuf[chip->writebuf_last].data); + + chip->writebuf_cur = (chip->writebuf_last + 1) % OPN_WRITEBUF_SIZE; + skip = chip->writebuf[chip->writebuf_last].time - chip->writebuf_samplecnt; + chip->writebuf_samplecnt = chip->writebuf[chip->writebuf_last].time; + while (skip--) + { + OPN2_Clock(chip, buffer); + } + } + + chip->writebuf[chip->writebuf_last].port = (port & 0x03) | 0x04; + chip->writebuf[chip->writebuf_last].data = data; + time1 = chip->writebuf_lasttime + OPN_WRITEBUF_DELAY; + time2 = chip->writebuf_samplecnt; + + if (time1 < time2) + { + time1 = time2; + } + + chip->writebuf[chip->writebuf_last].time = time1; + chip->writebuf_lasttime = time1; + chip->writebuf_last = (chip->writebuf_last + 1) % OPN_WRITEBUF_SIZE; +} + +void OPN2_GenerateResampled(ym3438_t *chip, Bit32s *buf) +{ + Bit32u i; + Bit32s buffer[2]; + Bit32u mute; + + while (chip->samplecnt >= chip->rateratio) + { + chip->oldsamples[0] = chip->samples[0]; + chip->oldsamples[1] = chip->samples[1]; + chip->samples[0] = chip->samples[1] = 0; + for (i = 0; i < 24; i++) + { + switch (chip->cycles >> 2) + { + case 0: // Ch 2 + mute = chip->mute[1]; + break; + case 1: // Ch 6, DAC + mute = chip->mute[5 + chip->dacen]; + break; + case 2: // Ch 4 + mute = chip->mute[3]; + break; + case 3: // Ch 1 + mute = chip->mute[0]; + break; + case 4: // Ch 5 + mute = chip->mute[4]; + break; + case 5: // Ch 3 + mute = chip->mute[2]; + break; + default: + mute = 0; + break; + } + OPN2_Clock(chip, buffer); + if (!mute) + { + chip->samples[0] += buffer[0]; + chip->samples[1] += buffer[1]; + } + + while (chip->writebuf[chip->writebuf_cur].time <= chip->writebuf_samplecnt) + { + if (!(chip->writebuf[chip->writebuf_cur].port & 0x04)) + { + break; + } + chip->writebuf[chip->writebuf_cur].port &= 0x03; + OPN2_Write(chip, chip->writebuf[chip->writebuf_cur].port, + chip->writebuf[chip->writebuf_cur].data); + chip->writebuf_cur = (chip->writebuf_cur + 1) % OPN_WRITEBUF_SIZE; + } + chip->writebuf_samplecnt++; + } + if(!use_filter) + { + chip->samples[0] *= OUTPUT_FACTOR; + chip->samples[1] *= OUTPUT_FACTOR; + } + else + { + chip->samples[0] = chip->oldsamples[0] + FILTER_CUTOFF_I * (chip->samples[0]*OUTPUT_FACTOR_F - chip->oldsamples[0]); + chip->samples[1] = chip->oldsamples[1] + FILTER_CUTOFF_I * (chip->samples[1]*OUTPUT_FACTOR_F - chip->oldsamples[1]); + } + chip->samplecnt -= chip->rateratio; + } + buf[0] = (Bit32s)((chip->oldsamples[0] * (chip->rateratio - chip->samplecnt) + + chip->samples[0] * chip->samplecnt) / chip->rateratio); + buf[1] = (Bit32s)((chip->oldsamples[1] * (chip->rateratio - chip->samplecnt) + + chip->samples[1] * chip->samplecnt) / chip->rateratio); + chip->samplecnt += 1 << RSM_FRAC; +} + +void OPN2_GenerateStream(ym3438_t *chip, Bit32s **sndptr, Bit32u numsamples) +{ + Bit32u i; + Bit32s *smpl, *smpr; + Bit32s buffer[2]; + smpl = sndptr[0]; + smpr = sndptr[1]; + + for (i = 0; i < numsamples; i++) + { + OPN2_GenerateResampled(chip, buffer); + *smpl++ = buffer[0]; + *smpr++ = buffer[1]; + } +} + +void OPN2_SetOptions(Bit8u flags) +{ + switch ((flags >> 3) & 0x03) + { + case 0x00: // YM2612 + default: + OPN2_SetChipType(ym3438_type_ym2612); + break; + case 0x01: // ASIC YM3438 + OPN2_SetChipType(ym3438_type_asic); + break; + case 0x02: // Discrete YM3438 + OPN2_SetChipType(ym3438_type_discrete); + break; + case 0x03: // YM2612 without filter emulation + OPN2_SetChipType(ym3438_type_ym2612_u); + break; + } +} + +void OPN2_SetMute(ym3438_t *chip, Bit32u mute) +{ + Bit32u i; + for (i = 0; i < 7; i++) + { + chip->mute[i] = (mute >> i) & 0x01; + } +} diff --git a/src/chips/ym3438.h b/src/chips/ym3438.h new file mode 100644 index 0000000..edfdc2f --- /dev/null +++ b/src/chips/ym3438.h @@ -0,0 +1,227 @@ +// +// Copyright (C) 2017 Alexey Khokholov (Nuke.YKT) +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License +// as published by the Free Software Foundation; either version 2 +// of the License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +// +// Nuked OPN2(Yamaha YM3438) emulator. +// Thanks: +// Silicon Pr0n: +// Yamaha YM3438 decap and die shot(digshadow). +// OPLx decapsulated(Matthew Gambrell, Olli Niemitalo): +// OPL2 ROMs. +// +// version: 1.0.7 +// + +#ifndef YM3438_H +#define YM3438_H + +#define RSM_FRAC 10 +#define OPN_WRITEBUF_SIZE 2048 +#define OPN_WRITEBUF_DELAY 15 + +enum { + ym3438_type_discrete = 0, /* Discrete YM3438 (Teradrive) */ + ym3438_type_asic = 1, /* ASIC YM3438 (MD1 VA7, MD2, MD3, etc) */ + ym3438_type_ym2612 = 2, /* YM2612 (MD1, MD2 VA2) */ + ym3438_type_ym2612_u = 3 /* YM2612 without lowpass filter */ +}; + +#include "mamedef.h" + +typedef UINT64 Bit64u; +typedef INT64 Bit64s; +typedef UINT32 Bit32u; +typedef INT32 Bit32s; +typedef UINT16 Bit16u; +typedef INT16 Bit16s; +typedef UINT8 Bit8u; +typedef INT8 Bit8s; + +typedef struct _opn2_writebuf { + Bit64u time; + Bit8u port; + Bit8u data; +} opn2_writebuf; + +typedef struct +{ + Bit32u cycles; + Bit32u slot; + Bit32u channel; + Bit16s mol, mor; + /* IO */ + Bit16u write_data; + Bit8u write_a; + Bit8u write_d; + Bit8u write_a_en; + Bit8u write_d_en; + Bit8u write_busy; + Bit8u write_busy_cnt; + Bit8u write_fm_address; + Bit8u write_fm_data; + Bit8u write_fm_mode_a; + Bit16u address; + Bit8u data; + Bit8u pin_test_in; + Bit8u pin_irq; + Bit8u busy; + /* LFO */ + Bit8u lfo_en; + Bit8u lfo_freq; + Bit8u lfo_pm; + Bit8u lfo_am; + Bit8u lfo_cnt; + Bit8u lfo_inc; + Bit8u lfo_quotient; + /* Phase generator */ + Bit16u pg_fnum; + Bit8u pg_block; + Bit8u pg_kcode; + Bit32u pg_inc[24]; + Bit32u pg_phase[24]; + Bit8u pg_reset[24]; + Bit32u pg_read; + /* Envelope generator */ + Bit8u eg_cycle; + Bit8u eg_cycle_stop; + Bit8u eg_shift; + Bit8u eg_shift_lock; + Bit8u eg_timer_low_lock; + Bit16u eg_timer; + Bit8u eg_timer_inc; + Bit16u eg_quotient; + Bit8u eg_custom_timer; + Bit8u eg_rate; + Bit8u eg_ksv; + Bit8u eg_inc; + Bit8u eg_ratemax; + Bit8u eg_sl[2]; + Bit8u eg_lfo_am; + Bit8u eg_tl[2]; + Bit8u eg_state[24]; + Bit16u eg_level[24]; + Bit16u eg_out[24]; + Bit8u eg_kon[24]; + Bit8u eg_kon_csm[24]; + Bit8u eg_kon_latch[24]; + Bit8u eg_csm_mode[24]; + Bit8u eg_ssg_enable[24]; + Bit8u eg_ssg_pgrst_latch[24]; + Bit8u eg_ssg_repeat_latch[24]; + Bit8u eg_ssg_hold_up_latch[24]; + Bit8u eg_ssg_dir[24]; + Bit8u eg_ssg_inv[24]; + Bit32u eg_read[2]; + Bit8u eg_read_inc; + /* FM */ + Bit16s fm_op1[6][2]; + Bit16s fm_op2[6]; + Bit16s fm_out[24]; + Bit16u fm_mod[24]; + /* Channel */ + Bit16s ch_acc[6]; + Bit16s ch_out[6]; + Bit16s ch_lock; + Bit8u ch_lock_l; + Bit8u ch_lock_r; + Bit16s ch_read; + /* Timer */ + Bit16u timer_a_cnt; + Bit16u timer_a_reg; + Bit8u timer_a_load_lock; + Bit8u timer_a_load; + Bit8u timer_a_enable; + Bit8u timer_a_reset; + Bit8u timer_a_load_latch; + Bit8u timer_a_overflow_flag; + Bit8u timer_a_overflow; + + Bit16u timer_b_cnt; + Bit8u timer_b_subcnt; + Bit16u timer_b_reg; + Bit8u timer_b_load_lock; + Bit8u timer_b_load; + Bit8u timer_b_enable; + Bit8u timer_b_reset; + Bit8u timer_b_load_latch; + Bit8u timer_b_overflow_flag; + Bit8u timer_b_overflow; + + /* Register set */ + Bit8u mode_test_21[8]; + Bit8u mode_test_2c[8]; + Bit8u mode_ch3; + Bit8u mode_kon_channel; + Bit8u mode_kon_operator[4]; + Bit8u mode_kon[24]; + Bit8u mode_csm; + Bit8u mode_kon_csm; + Bit8u dacen; + Bit16s dacdata; + + Bit8u ks[24]; + Bit8u ar[24]; + Bit8u sr[24]; + Bit8u dt[24]; + Bit8u multi[24]; + Bit8u sl[24]; + Bit8u rr[24]; + Bit8u dr[24]; + Bit8u am[24]; + Bit8u tl[24]; + Bit8u ssg_eg[24]; + + Bit16u fnum[6]; + Bit8u block[6]; + Bit8u kcode[6]; + Bit16u fnum_3ch[6]; + Bit8u block_3ch[6]; + Bit8u kcode_3ch[6]; + Bit8u reg_a4; + Bit8u reg_ac; + Bit8u connect[6]; + Bit8u fb[6]; + Bit8u pan_l[6], pan_r[6]; + Bit8u ams[6]; + Bit8u pms[6]; + + Bit32u mute[7]; + Bit32s rateratio; + Bit32s samplecnt; + Bit32s oldsamples[2]; + Bit32s samples[2]; + + Bit64u writebuf_samplecnt; + Bit32u writebuf_cur; + Bit32u writebuf_last; + Bit64u writebuf_lasttime; + opn2_writebuf writebuf[OPN_WRITEBUF_SIZE]; +} ym3438_t; + +void OPN2_Reset(ym3438_t *chip, Bit32u rate, Bit32u clock); +void OPN2_SetChipType(Bit32u type); +void OPN2_Clock(ym3438_t *chip, Bit32s *buffer); +void OPN2_Write(ym3438_t *chip, Bit32u port, Bit8u data); +void OPN2_SetTestPin(ym3438_t *chip, Bit32u value); +Bit32u OPN2_ReadTestPin(ym3438_t *chip); +Bit32u OPN2_ReadIRQPin(ym3438_t *chip); +Bit8u OPN2_Read(ym3438_t *chip, Bit32u port); +void OPN2_WriteBuffered(ym3438_t *chip, Bit32u port, Bit8u data); +void OPN2_GenerateStream(ym3438_t *chip, Bit32s **sndptr, Bit32u numsamples); +void OPN2_SetOptions(Bit8u flags); +void OPN2_SetMute(ym3438_t *chip, Bit32u mute); +#endif diff --git a/src/chips/ymf262.c b/src/chips/ymf262.c index d03c506..22905fe 100644 --- a/src/chips/ymf262.c +++ b/src/chips/ymf262.c @@ -55,16 +55,12 @@ differences between OPL2 and OPL3 shown in datasheets: #include #include "mamedef.h" -#include -#include +#include +#include // for memset +#include // for NULL //#include "sndintrf.h" #include "ymf262.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif /* output final shift */ #if (OPL3_SAMPLE_BITS==16) diff --git a/src/chips/ymf271.c b/src/chips/ymf271.c index ef85834..cfdd988 100644 --- a/src/chips/ymf271.c +++ b/src/chips/ymf271.c @@ -33,25 +33,15 @@ #ifdef _DEBUG #include #endif -#include -#include -#include "ymf271.h" - -#ifndef __cplusplus // C++ already has the bool-type -#define false 0x00 -#define true 0x01 -typedef unsigned char bool; -#endif // !__cplusplus - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif +#include // for memset +#include // for NULL +#include "../stdbool.h" +#include "ymf271.h" //#define DEVCB_NULL { DEVCB_TYPE_NULL } -#define DEVCB_NULL DEVCB_TYPE_NULL -#define DEVCB_TYPE_NULL (0) +//#define DEVCB_NULL DEVCB_TYPE_NULL +//#define DEVCB_TYPE_NULL (0) #define VERBOSE (1) @@ -524,7 +514,9 @@ static void init_envelope(YMF271Chip *chip, YMF271Slot *slot) slot->env_decay2_step = (rate < 4) ? 0 : (int)(((double)(255-0) / chip->lut_dc[rate]) * 65536.0); // init release state - rate = get_keyscaled_rate(slot->relrate * 4, keycode, slot->keyscale); + //rate = get_keyscaled_rate(slot->relrate * 4, keycode, slot->keyscale); + // improved rate as tested by GTheGuardian and kirishima + rate = get_keyscaled_rate(slot->relrate * 1.75, keycode, slot->keyscale); slot->env_release_step = (rate < 4) ? 0 : (int)(((double)(255-0) / chip->lut_ar[rate]) * 65536.0); slot->volume = (255-160) << ENV_VOLUME_SHIFT; // -60db diff --git a/src/chips/ymf278b.c b/src/chips/ymf278b.c index 8e833dc..66ce61d 100644 --- a/src/chips/ymf278b.c +++ b/src/chips/ymf278b.c @@ -63,19 +63,14 @@ //#include "sndintrf.h" //#include "streams.h" //#include "cpuintrf.h" -#include -#include +#include +#include // for memset +#include // for NULL #include #include #include "ymf262.h" #include "ymf278b.h" -#ifdef EMSCRIPTEN -#include -#else -#define NULL ((void *)0) -#endif - typedef struct { UINT32 startaddr; @@ -83,7 +78,7 @@ typedef struct UINT32 endaddr; UINT32 step; /* fixed-point frequency step */ UINT32 stepptr; /* fixed-point pointer into the sample */ - UINT32 pos; + UINT16 pos; INT16 sample1, sample2; INT32 env_vol; @@ -129,6 +124,8 @@ typedef struct INT8 memmode; INT32 memadr; + UINT8 exp; + INT32 fm_l, fm_r; INT32 pcm_l, pcm_r; @@ -170,10 +167,10 @@ char* FindFile(const char* FileName); // from VGMPlay_Intf.h/VGMPlay.c #define EG_TIMER_OVERFLOW (1 << EG_SH) // envelope output entries -#define ENV_BITS 10 +#define ENV_BITS 11 // -VB #define ENV_LEN (1 << ENV_BITS) #define ENV_STEP (128.0 / ENV_LEN) -#define MAX_ATT_INDEX ((1 << (ENV_BITS - 1)) - 1) // 511 +#define MAX_ATT_INDEX 511 #define MIN_ATT_INDEX 0 // Envelope Generator phases @@ -196,7 +193,7 @@ const INT32 pan_right[16] = { // Mixing levels, units are -3dB, and add some marging to avoid clipping const INT32 mix_level[8] = { - 8, 16, 24, 32, 40, 48, 56, 256 + 8, 16, 24, 32, 40, 48, 56, 256+8 }; // decay level table (3dB per step) @@ -340,7 +337,12 @@ INLINE int ymf278b_slot_compute_rate(YMF278BSlot* slot, int val) { oct |= -8; } - res = (oct + slot->RC) * 2 + (slot->FN & 0x200 ? 1 : 0) + val * 4; + res = (oct + slot->RC); + if (res < 0) + res = 0; + else if (res > 15) + res = 15; + res = res * 2 + ((slot->FN & 0x200) ? 1 : 0) + val * 4; } else { @@ -378,7 +380,7 @@ INLINE void ymf278b_slot_set_lfo(YMF278BSlot* slot, int newlfo) slot->lfo_max = lfo_period[slot->lfo]; } -INLINE ymf278b_advance(YMF278BChip* chip) +INLINE void ymf278b_advance(YMF278BChip* chip) { YMF278BSlot* op; int i; @@ -422,7 +424,7 @@ INLINE ymf278b_advance(YMF278BChip* chip) if (! (chip->eg_cnt & ((1 << shift) - 1))) { select = eg_rate_select[rate]; - op->env_vol += (~op->env_vol * eg_inc[select + ((chip->eg_cnt >> shift) & 7)]) >> 3; + op->env_vol += (~op->env_vol * eg_inc[select + ((chip->eg_cnt >> shift) & 7)]) >> 4; // -VB if (op->env_vol <= MIN_ATT_INDEX) { op->env_vol = MIN_ATT_INDEX; @@ -550,9 +552,9 @@ INLINE ymf278b_advance(YMF278BChip* chip) INLINE UINT8 ymf278b_readMem(YMF278BChip* chip, offs_t address) { if (address < chip->ROMSize) - return chip->rom[address]; + return chip->rom[address&0x3fffff]; else if (address < chip->ROMSize + chip->RAMSize) - return chip->ram[address - chip->ROMSize]; + return chip->ram[address - (chip->ROMSize&0x3fffff)]; else return 255; // TODO check } @@ -560,9 +562,9 @@ INLINE UINT8 ymf278b_readMem(YMF278BChip* chip, offs_t address) INLINE UINT8* ymf278b_readMemAddr(YMF278BChip* chip, offs_t address) { if (address < chip->ROMSize) - return &chip->rom[address]; + return &chip->rom[address&0x3fffff]; else if (address < chip->ROMSize + chip->RAMSize) - return &chip->ram[address - chip->ROMSize]; + return &chip->ram[address - (chip->ROMSize&0x3fffff)]; else return NULL; // TODO check } @@ -638,6 +640,16 @@ void ymf278b_pcm_update(UINT8 ChipID, stream_sample_t** outputs, int samples) { /* memset is done by ymf262_update */ ymf262_update_one(chip->fmchip, outputs, samples); + // apply FM mixing level + vl = mix_level[chip->fm_l] - 8; vl = chip->volume[vl]; + vr = mix_level[chip->fm_r] - 8; vr = chip->volume[vr]; + // make FM softer by 3 db + vl = (vl * 0x16A) >> 8; vr = (vr * 0x16A) >> 8; + for (j = 0; j < samples; j ++) + { + outputs[0][j] = (outputs[0][j] * vl) >> 15; + outputs[1][j] = (outputs[1][j] * vr) >> 15; + } } else { @@ -706,14 +718,15 @@ void ymf278b_pcm_update(UINT8 ChipID, stream_sample_t** outputs, int samples) else sl->stepptr += sl->step; - while (sl->stepptr >= 0x10000) + if (sl->stepptr >= 0x10000) { - sl->stepptr -= 0x10000; sl->sample1 = sl->sample2; - sl->pos ++; - if (sl->pos >= sl->endaddr) - sl->pos = sl->loopaddr; + sl->sample2 = ymf278b_getSample(chip, sl); + sl->pos += (sl->stepptr >> 16); + sl->stepptr &= 0xFFFF; + if (sl->pos > sl->endaddr) + sl->pos = sl->pos - sl->endaddr + sl->loopaddr - 1; } } ymf278b_advance(chip); @@ -790,7 +803,8 @@ static void ymf278b_B_w(YMF278BChip *chip, UINT8 reg, UINT8 data) switch(reg) { case 0x05: // OPL3/OPL4 Enable - // actually Bit 1 enables OPL4 WaveTable Synth + // Bit 1 enables OPL4 WaveTable Synth + chip->exp = data; ymf262_write(chip->fmchip, 3, data & ~0x02); break; default: @@ -840,7 +854,7 @@ void ymf278b_C_w(YMF278BChip* chip, UINT8 reg, UINT8 data) slot->startaddr = buf[2] | (buf[1] << 8) | ((buf[0] & 0x3F) << 16); slot->loopaddr = buf[4] + (buf[3] << 8); - slot->endaddr = (((buf[6] + (buf[5] << 8)) ^ 0xFFFF) + 1); + slot->endaddr = ((buf[6] + (buf[5] << 8)) ^ 0xFFFF); if (chip->regs[reg + 4] & 0x080) ymf278b_keyOnHelper(chip, slot); @@ -1083,6 +1097,10 @@ void ymf278b_w(UINT8 ChipID, offs_t offset, UINT8 data) break; case 5: + // PCM regs are only accessible if NEW2 is set + if (~chip->exp & 2) + break; + ymf278b_C_w(chip, chip->port_C, data); break; @@ -1111,7 +1129,7 @@ static void ymf278b_load_rom(YMF278BChip *chip) ROMFileSize = 0x00200000; ROMFile = (UINT8*)malloc(ROMFileSize); memset(ROMFile, 0xFF, ROMFileSize); - + #ifndef EMSCRIPTEN FileName = FindFile(ROM_FILENAME); #else @@ -1147,14 +1165,14 @@ static void ymf278b_load_rom(YMF278BChip *chip) return; } -static void ymf278b_init(YMF278BChip *chip, int clock, void (*cb)(int)) +static int ymf278b_init(YMF278BChip *chip, int clock, void (*cb)(int)) { int rate; rate = clock / 768; - if (((CHIP_SAMPLING_MODE & 0x01) && rate < CHIP_SAMPLE_RATE) || - CHIP_SAMPLING_MODE == 0x02) - rate = CHIP_SAMPLE_RATE; + //if (((CHIP_SAMPLING_MODE & 0x01) && rate < CHIP_SAMPLE_RATE) || + // CHIP_SAMPLING_MODE == 0x02) + // rate = CHIP_SAMPLE_RATE; chip->fmchip = ymf262_init(clock * 8 / 19, rate); chip->FMEnabled = 0x00; @@ -1168,6 +1186,8 @@ static void ymf278b_init(YMF278BChip *chip, int clock, void (*cb)(int)) chip->RAMSize = 0x00080000; chip->ram = (UINT8*)malloc(chip->RAMSize); ymf278b_clearRam(chip); + + return rate; } //static DEVICE_START( ymf278b ) @@ -1177,6 +1197,7 @@ int device_start_ymf278b(UINT8 ChipID, int clock) const ymf278b_interface *intf; int i; YMF278BChip *chip; + int rate; if (ChipID >= MAX_CHIPS) return 0; @@ -1187,20 +1208,24 @@ int device_start_ymf278b(UINT8 ChipID, int clock) //intf = (device->static_config != NULL) ? (const ymf278b_interface *)device->static_config : &defintrf; intf = &defintrf; - ymf278b_init(chip, clock, intf->irq_callback); + rate = ymf278b_init(chip, clock, intf->irq_callback); //chip->stream = stream_create(device, 0, 2, device->clock/768, chip, ymf278b_pcm_update); chip->memadr = 0; // avoid UMR // Volume table, 1 = -0.375dB, 8 = -3dB, 256 = -96dB for (i = 0; i < 256; i ++) - chip->volume[i] = 32768 * pow(2.0, (-0.375 / 6) * i); + { + int vol_mul = 0x20 - (i & 0x0F); // 0x10 values per 6 db + int vol_shift = 5 + (i >> 4); // approximation: -6 dB == divide by two (shift right) + chip->volume[i] = (0x8000 * vol_mul) >> vol_shift; + } for (i = 256; i < 256 * 4; i ++) chip->volume[i] = 0; for (i = 0; i < 24; i ++) chip->slots[i].Muted = 0x00;; - return clock/768; + return rate; } //static DEVICE_STOP( ymf278 ) @@ -1210,6 +1235,7 @@ void device_stop_ymf278b(UINT8 ChipID) ymf262_shutdown(chip->fmchip); free(chip->rom); chip->rom = NULL; + free(chip->ram); chip->ram = NULL; return; } @@ -1230,7 +1256,8 @@ void device_reset_ymf278b(UINT8 ChipID) ymf278b_C_w(chip, i, 0); chip->wavetblhdr = chip->memmode = chip->memadr = 0; - chip->fm_l = chip->fm_r = chip->pcm_l = chip->pcm_r = 0; + chip->fm_l = chip->fm_r = 3; + chip->pcm_l = chip->pcm_r = 0; //busyTime = time; //loadTime = time; } @@ -1256,6 +1283,20 @@ void ymf278b_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t Da return; } +void ymf278b_write_ram(UINT8 ChipID, offs_t DataStart, offs_t DataLength, const UINT8* RAMData) +{ + YMF278BChip *chip = &YMF278BData[ChipID]; + + if (DataStart >= chip->RAMSize) + return; + if (DataStart + DataLength > chip->RAMSize) + DataLength = chip->RAMSize - DataStart; + + memcpy(chip->ram + DataStart, RAMData, DataLength); + + return; +} + void ymf278b_set_mute_mask(UINT8 ChipID, UINT32 MuteMaskFM, UINT32 MuteMaskWT) { diff --git a/src/chips/ymf278b.h b/src/chips/ymf278b.h index cc143dc..640ce5c 100644 --- a/src/chips/ymf278b.h +++ b/src/chips/ymf278b.h @@ -25,6 +25,7 @@ UINT8 ymf278b_r(UINT8 ChipID, offs_t offset); void ymf278b_w(UINT8 ChipID, offs_t offset, UINT8 data); void ymf278b_write_rom(UINT8 ChipID, offs_t ROMSize, offs_t DataStart, offs_t DataLength, const UINT8* ROMData); +void ymf278b_write_ram(UINT8 ChipID, offs_t DataStart, offs_t DataLength, const UINT8* RAMData); void ymf278b_set_mute_mask(UINT8 ChipID, UINT32 MuteMaskFM, UINT32 MuteMaskWT); diff --git a/src/chips/ymz280b.c b/src/chips/ymz280b.c index 8a0f340..cba6e9b 100644 --- a/src/chips/ymz280b.c +++ b/src/chips/ymz280b.c @@ -36,16 +36,10 @@ #ifdef _DEBUG #include #endif -#include -#include -#include "ymz280b.h" - -#ifdef EMSCRIPTEN #include -#else -#define NULL ((void *)0) -#endif - +#include // for memset +#include // for NULL +#include "ymz280b.h" static void update_irq_state_timer_common(void *param, int voicenum); @@ -362,6 +356,7 @@ static int generate_adpcm(struct YMZ280BVoice *voice, UINT8 *base, UINT32 size, /* compute the new amplitude and update the current step */ //val = base[position / 2] >> ((~position & 1) << 2); val = ymz280b_read_memory(base, size, position / 2) >> ((~position & 1) << 2); + signal = (signal * 254) / 256; signal += (step * diff_lookup[val & 15]) / 8; /* clamp to the maximum */ @@ -402,6 +397,7 @@ static int generate_adpcm(struct YMZ280BVoice *voice, UINT8 *base, UINT32 size, /* compute the new amplitude and update the current step */ //val = base[position / 2] >> ((~position & 1) << 2); val = ymz280b_read_memory(base, size, position / 2) >> ((~position & 1) << 2); + signal = (signal * 254) / 256; signal += (step * diff_lookup[val & 15]) / 8; /* clamp to the maximum */ @@ -573,9 +569,9 @@ static int generate_pcm16(struct YMZ280BVoice *voice, UINT8 *base, UINT32 size, while (samples) { /* fetch the current value */ - //val = (INT16)((base[position / 2 + 1] << 8) + base[position / 2 + 0]); + // the manual says "16-bit 2's complement MSB-first format" + //val = (INT16)((base[position / 2 + 0] << 8) + base[position / 2 + 1]); val = (INT16)((ymz280b_read_memory(base, size, position / 2 + 0) << 8) + ymz280b_read_memory(base, size, position / 2 + 1)); - // Note: Last MAME updates say it's: ((position / 2 + 1) << 8) + (position / 2 + 0); /* output to the buffer, scaling by the volume */ *buffer++ = val; @@ -600,7 +596,7 @@ static int generate_pcm16(struct YMZ280BVoice *voice, UINT8 *base, UINT32 size, while (samples) { /* fetch the current value */ - //val = (INT16)((base[position / 2 + 1] << 8) + base[position / 2 + 0]); + //val = (INT16)((base[position / 2 + 0] << 8) + base[position / 2 + 1]); val = (INT16)((ymz280b_read_memory(base, size, position / 2 + 0) << 8) + ymz280b_read_memory(base, size, position / 2 + 1)); /* output to the buffer, scaling by the volume */ diff --git a/src/licenses/List.txt b/src/licenses/List.txt index ad2d7cb..19c62fa 100644 --- a/src/licenses/List.txt +++ b/src/licenses/List.txt @@ -4,8 +4,9 @@ openMSX - GPL.txt Gens/GS - GPL.txt NSFPlay - [Google Code lists Apache License 2.0] Ootake - ? -in_vgm - ? +Gens - Cardware MEKA - ? zlib - see zlib.h in_wsr - ? vbjin/mednafen - GNU GPLv2 +EMU2149/EMU2413 - MIT License diff --git a/src/vgm-player b/src/vgm-player new file mode 100644 index 0000000..99f3dec --- /dev/null +++ b/src/vgm-player @@ -0,0 +1,353 @@ +#!/bin/sh + +# Launcher script to work around limitations in vgmplay: +# OSS only - detects oss wrapper and allows explicit selection +# Config must be in working dir - automatically cd/mktemps as needed +# Can't open release packs - plays from temporary directories +# +# Original script by ZekeSulastin +# 7z support by Valley Bell + +trap '[ -n "$_tmpdir" ] && rm -rf "$_tmpdir"; [ -w "$_log_path/vgmplay.ini" ] && rm "$_log_path/vgmplay.ini"' EXIT +trap '[ -n "$_tmpdir" ] && rm -rf "$_tmpdir"; [ -w "$_log_path/vgmplay.ini" ] && rm "$_log_path/vgmplay.ini"' HUP INT QUIT TERM SEGV + +_set_output= +_output= +_pulse_server= +_log_path= +_binary= +_config= +_pwd="$(pwd)" +_host="$(hostname)" +_ext= +_unpack=false +_tmpdir= +_music_file= +_m3u_stub= +XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}" +XDG_CONFIG_DIRS="${XDG_CONFIG_DIRS:-/etc/xdg}" +_padsp="$(command -v padsp 2>/dev/null)" +_aoss="$(command -v aoss 2>/dev/null)" + +_help () { +cat <, + --pulse-server= + set alternate PulseAudio server (implies --padsp) + -l, --log outputs to wav files in current directory + --log-path= outputs to wav files in (implies --log) + + WARNING: If you plan to log using this script, use --log or --log-path! + Do NOT set logging on in a custom config, else the script logic will + remove your logs! + + --binary= use alternate vgmplay binary + --config= use alternate configuration file + +Keys (In-Player): + Left/Right seek 5 seconds backward/forward + Ctrl + Left/Right seek 60 seconds backward/forward + Space pause + Escape (twice) or Q quit program + F fade out current track + R restart current track + PageUp or B previous track in playlist + PageDown or N next track in playlist +EOF +exit 0 +} + +_to_stderr () { + echo -e "$0: $2" 1>&2 + exit $1 +} + +_die () { + case $1 in + too_many_outputs ) + _to_stderr 64 "can only force one output type" ;; + no_pulse_server ) + _to_stderr 64 "--pulse-server requires server parameter" ;; + no_log_path ) + _to_stderr 64 "--log-to requires path parameter" ;; + unknown_option ) + _to_stderr 64 "unrecognized option '$2'\nTry 'vgm-player --help' for more information." ;; + no_aoss ) + _to_stderr 69 "alsa output forced but aoss not found" ;; + no_oss ) + _to_stderr 74 "oss output forced but /dev/dsp unwritable or not present" ;; + no_pulse ) + _to_stderr 69 "pulse output forced but padsp not found" ;; + too_many_files ) + _to_stderr 64 "only one music file should be specified" ;; + file_unreadable ) + _to_stderr 66 "unable to read specified input - does it exist?" ;; + invalid_format ) + _to_stderr 66 "format unsupported" ;; + invalid_binary ) + _to_stderr 69 "invalid binary specified" ;; + no_binary ) + _to_stderr 64 "--binary requires binary parameter" ;; + no_config ) + _to_stderr 64 "--config requires config parameter" ;; + noread_config ) + _to_stderr 69 "specified config unreadable - does it exist?" ;; + invalid_config ) + _to_stderr 64 "invalid config specified" ;; + vgmplay_not_found ) + _to_stderr 69 "vgmplay binary not found" ;; + no_unpacker ) + _to_stderr 69 "no suitable unpacker found" ;; + tmpdir_failed ) + _to_stderr 70 "unable to create/use temporary working directory" ;; + no_output ) + _to_stderr 69 "no usable otuput detected" ;; + log_path_nowrite ) + _to_stderr 73 "log path unwriteable" ;; + no_music_file ) + _to_stderr 64 "No music file specified." ;; + * ) + _to_stderr 64 "Unhandled script error: $1" ;; + esac +} + +_set_output () { + if [ -n "$_set_output" ] && [ "$1" != "$_set_output" ]; then + _die too_many_outputs + fi + _set_output=$1 + + case "$_set_output" in + alsa ) + [ -x "$_aoss" ] || _die no_aoss ;; + oss ) + [ -w /dev/dsp ] || _die no_oss ;; + pulse ) + [ -n "$_padsp" ] || _die no_pulse ;; + * ) + ;; + esac +} + +# Set terminal title for xterm/rxvt +case $TERM in + xterm* | rxvt* ) + printf '%b' '\033]2;VGM Player\007' ;; + * ) + ;; +esac + +# Parse command line options +# All single-letter options are exclusive +while :; do + case $1 in + --help ) + _help ;; + -v | --version ) + echo "VGMPlay 0.40.9 player script" + exit 0 ;; + -a | --alsa ) + _set_output alsa + shift ;; + -o | --oss ) + _set_output oss + shift ;; + -p | --pulse ) + _set_output pulse + shift ;; + --pulse-server=* ) + _set_output pulse + _pulse_server="${1#*=}" + [ -n "$_pulse_server" ] || _die no_pulse_server + shift ;; + -s* ) + _set_output pulse + _pulse_server="${1#-s}" + if [ -z "$_pulse_server" ]; then + _pulse_server="$2" + shift + fi + [ -n "$_pulse_server" ] || _die no_pulse_server + shift ;; + -l | --log ) + _set_output log + _log_path="$_pwd" + shift ;; + --log-path=* ) + _set_output log + _log_path="${1#*=}" + [ -d "$_log_path" ] || _die no_log_path + shift ;; + --config=* ) + _config="${1#*=}" + [ -n "$_config" ] || _die no_binary + [ -r "$_config" ] || _die noread_config + file "$_config" | grep -q "ASCII" || _die invalid_config + shift ;; + --binary=* ) + _binary="${1#*=}" + [ -n "$_binary"] || _die no_binary + if [ ! -x "$_binary" ] || [ ! "${binary##*/}" = "vgmplay" ]; then + die _invalid_binary + fi + shift ;; + -* ) + _die unknown_option "$1" ;; + -- ) + shift ;; + "" ) + _die no_music_file ;; + * ) + [ -z "$2" ] || _die too_many_files + _ext="$(echo ${1##*.} | tr [:upper:] [:lower:])" + case $_ext in + vgm | vgz | cmf | dro | m3u | zip | 7z | vgm7z ) + [ -r "$1" ] || _die file_unreadable + _music_file="$1";; + * ) + _die invalid_format + esac + case $_music_file in + ~* | /* ) + break ;; + * ) + _music_file="$_pwd/$_music_file" ;; + esac + break ;; + esac +done + +# Does `vgmplay` exist if --binary not specified? +# Prefers vgmplay in working dir over any others +if [ -n "$_binary" ]; then + break +elif [ -x "$_pwd/vgmplay" ] && [ -f "$_pwd/vgmplay" ]; then + _binary="$_pwd/vgmplay" +else + _binary="$(command -v vgmplay 2>/dev/null)" +fi +[ -n "$_binary" ] || _die vgmplay_not_found + +# If a compressed pack, does a suitable unpacker exist? +case $_ext in + zip ) + _unpack=true + command -v unzip 2>/dev/null || _die no_unpacker ;; + 7z | vgm7z ) + _unpack=true + command -v 7z 2>/dev/null || _die no_unpacker ;; + vgm | vgz | cmf | dro | m3u ) + break ;; + * ) + _die invalid_format ;; +esac + +# Select config +if [ -r "$_config" ]; then + break +else + for i in "$_pwd" "$XDG_CONFIG_HOME/vgmplay" "$HOME/.config/vgmplay" "$XDG_CONFIG_DIRS/vgmplay" "$HOME/.local/share/vgmplay" "/etc/xdg/vgmplay" "/usr/local/share/vgmplay" "/usr/share/vgmplay"; do + _config="$i/vgmplay.ini" + [ -r "$_config" ] && break + _config="$i/VGMPlay.ini" + [ -r "$_config" ] && break + done +fi +# vgmplay will function without a config, but will warn the user thus from inside the program + +# Make temporary working directory for vgmplay +# Logdir availability checked here ... +# Uses $XDG_RUNTIME_DIR, $TMPDIR, /tmp +# Uses mktemp program for my sanity's sake +# Assumes user isn't going to try to log into a directory w/ a preexisting vgmplay.ini +# Seriously, if you're going to do that why would you use this helper to start with +if [ -d "$_log_path" ]; then + command sed "s/^LogSound.*/LogSound = 1/" < "$_config" > "$_log_path/vgmplay.ini" || _die log_path_nowrite +elif [ -n "$XDG_RUNTIME_DIR" ]; then + _tmpdir="$(command mktemp -d --tmpdir="$XDG_RUNTIME_DIR")" || _die tmpdir_fail + command cp "$_config" "$_tmpdir/vgmplay.ini" || _die tmpdir_fail +else #mktemp defaults to tmpdir then /tmp! + _tmpdir="$(command mktemp -d)" || _die tmpdir_fail + command cp "$_config" "$_tmpdir/vgmplay.ini" || _die tmpdir_fail +fi + +# Determine output to use if not forced +# Also sets pulse-server if detected +# PULSE_SERVER, oss, padsp, aoss, log set, error +if [ -z "$_set_output" ]; then + if [ -n "$PULSE_SERVER" ] && [ -x "$_padsp" ]; then + _set_output="pulse-server" + elif [ -w /dev/dsp ]; then + _set_output="oss" + elif [ -x "$_padsp" ] && command pulseaudio --check ; then + _set_output="pulse" + elif [ -x "$_aoss" ]; then + _set_output="alsa" + elif [ -n "$_log_path" ]; then + _set_output="log" + else + _die no_output + fi +fi +[ -n "$_pulse_server" ] && _set_output=pulse-server + +if [ "$_unpack" = true ]; then + if [ "$_set_output" = log ]; then + [ -d "$_log_path" ] && cd "$_log_path" || _die log_path_nowrite + else + [ -d "$_tmpdir" ] && cd "$_tmpdir" || _die tmpdir_failed + fi + if [ $_ext = "zip" ]; then + command unzip "$_music_file" > /dev/null + elif [ $_ext = "7z" ] || [ $_ext = "vgm7z" ]; then + command 7z x "$_music_file" > /dev/null + fi + # Notes: + # - sed is used to remove the leading ./ + # - find is used to scan subfolders as well + _m3u_stub=$(command find . -iname '*.m3u' -print 2> /dev/null | head -n 1 | sed -e 's/^.\///') + if [ -z "$_m3u_stub" ]; then + _m3u_stub="List.m3u" + command find . -iname '*.vgm' -o -iname '*.vgz' -print | sed -e 's/^.\///' > "$_m3u_stub" 2> /dev/null + fi + _music_file="$PWD/$_m3u_stub" +fi + +# Plays back song with specified everything +case $_set_output in + log ) + ( cd "$_log_path" + "$_binary" "$_music_file" + ) + command mv "${_music_file%/*}/"*.wav "${_log_path}" + [ -n "$_music_stub" ] && rm -rf "$_log_path/$_music_stub" ;; + pulse-server ) + _pulse_server="${_pulse_server:-$PULSE_SERVER}" + ( cd "$_tmpdir" + exec "$_padsp" -s "$_pulse_server" -n "VGM Player" -m "OSS Emulation (from $_host)" "$_binary" "$_music_file" + ) ;; + pulse ) + ( cd "$_tmpdir" + exec "$_padsp" -n "VGM Player" -m "OSS Emulation" "$_binary" "$_music_file" + ) ;; + alsa ) + ( cd "$_tmpdir" + exec "$_aoss" "$_binary" "$_music_file" + ) ;; + oss ) + ( cd "$_tmpdir" + exec "$_binary" "$_music_file" + ) ;; +esac +#read waitvar +# vim:ts=4:sw=4:et diff --git a/src/vgm2pcm.c b/src/vgm2pcm.c new file mode 100644 index 0000000..1cff3e9 --- /dev/null +++ b/src/vgm2pcm.c @@ -0,0 +1,151 @@ +#include +#include +#include +#include + +#ifdef WIN32 +#include +#else +#include +#define MAX_PATH PATH_MAX +#include +#include +#endif + +#ifdef WIN32 +#define DIR_CHR '\\' +#define DIR_STR "\\" +#define QMARK_CHR '\"' +#else +#define DIR_CHR '/' +#define DIR_STR "/" +#define QMARK_CHR '\'' +#endif + +#include "chips/mamedef.h" +#include "stdbool.h" +#include "VGMPlay.h" +#include "VGMPlay_Intf.h" + +#define SAMPLESIZE sizeof(WAVE_16BS) + +UINT8 CmdList[0x100]; // used by VGMPlay.c and VGMPlay_AddFmts.c +bool ErrorHappened; // used by VGMPlay.c and VGMPlay_AddFmts.c +extern VGM_HEADER VGMHead; +extern UINT32 SampleRate; +extern UINT32 VGMMaxLoopM; +extern UINT32 FadeTime; +extern bool EndPlay; +extern char *AppPaths[8]; +static char AppPathBuffer[MAX_PATH * 2]; + +static char* GetAppFileName(void) +{ + char* AppPath; + int RetVal; + + AppPath = (char*)malloc(MAX_PATH * sizeof(char)); +#ifdef WIN32 + RetVal = GetModuleFileName(NULL, AppPath, MAX_PATH); + if (! RetVal) + AppPath[0] = '\0'; +#else + RetVal = readlink("/proc/self/exe", AppPath, MAX_PATH); + if (RetVal == -1) + AppPath[0] = '\0'; +#endif + + return AppPath; +} + +INLINE int fputBE16(UINT16 Value, FILE* hFile) +{ + int RetVal; + int ResVal; + + RetVal = fputc((Value & 0xFF00) >> 8, hFile); + RetVal = fputc((Value & 0x00FF) >> 0, hFile); + ResVal = (RetVal != EOF) ? 0x02 : 0x00; + return ResVal; +} + +int main(int argc, char *argv[]) { + UINT8 result; + WAVE_16BS *sampleBuffer; + UINT32 bufferedLength; + FILE *outputFile; + char *AppName; + char* AppPathPtr; + const char *StrPtr; + UINT8 CurPath; + UINT32 ChrPos; + + if (argc < 3) { + fputs("usage: vgm2pcm vgm_file pcm_file\n", stderr); + return 1; + } + + VGMPlay_Init(); + // Path 2: exe's directory + AppPathPtr = AppPathBuffer; + AppName = GetAppFileName(); // "C:\VGMPlay\VGMPlay.exe" + // Note: GetAppFileName always returns native directory separators. + StrPtr = strrchr(AppName, DIR_CHR); + if (StrPtr != NULL) + { + ChrPos = StrPtr + 1 - AppName; + strncpy(AppPathPtr, AppName, ChrPos); + AppPathPtr[ChrPos] = 0x00; // "C:\VGMPlay\" + AppPaths[CurPath] = AppPathPtr; + CurPath ++; + AppPathPtr += ChrPos + 1; + } + VGMPlay_Init2(); + + if (!OpenVGMFile(argv[1])) { + fprintf(stderr, "vgm2pcm: error: failed to open vgm_file (%s)\n", argv[1]); + return 1; + } + + if(!strcmp(argv[2], "-")) { + outputFile = stdout; + } else { + outputFile = fopen(argv[2], "wb"); + if (outputFile == NULL) { + fprintf(stderr, "vgm2pcm: error: failed to open pcm_file (%s)\n", argv[2]); + return 1; + } + } + + PlayVGM(); + + sampleBuffer = (WAVE_16BS*)malloc(SAMPLESIZE * SampleRate); + if (sampleBuffer == NULL) { + fprintf(stderr, "vgm2pcm: error: failed to allocate %lu bytes of memory\n", SAMPLESIZE * SampleRate); + return 1; + } + + while (!EndPlay) { + UINT32 bufferSize = SampleRate; + bufferedLength = FillBuffer(sampleBuffer, bufferSize); + if (bufferedLength) { + UINT32 numberOfSamples; + UINT32 currentSample; + const UINT16* sampleData; + + sampleData = (UINT16*)sampleBuffer; + numberOfSamples = SAMPLESIZE * bufferedLength / 0x02; + for (currentSample = 0x00; currentSample < numberOfSamples; currentSample++) { + fputBE16(sampleData[currentSample], outputFile); + } + } + } + + StopVGM(); + + CloseVGMFile(); + + VGMPlay_Deinit(); + + return 0; +} diff --git a/src/vgm2wav.c b/src/vgm2wav.c new file mode 100644 index 0000000..1142912 --- /dev/null +++ b/src/vgm2wav.c @@ -0,0 +1,272 @@ +/* + * This file is part of VGMPlay + * + * (c)2015 libertyernie + * Based on vgm2pcm.c: + * (c)2015 Francis Gagné + * (c)2015 Valley Bell + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include +#include +#include +#include + +#include + +#ifndef _MSC_VER +// This turns command line options on (using getopt.h) unless you are using MSVC / Visual Studio, which doesn't have it. +#define VGM2WAV_HAS_GETOPT +#include +#endif + +#include "chips/mamedef.h" +#include "stdbool.h" +#include "VGMPlay.h" +#include "VGMPlay_Intf.h" + +#define SAMPLESIZE sizeof(WAVE_16BS) + +UINT8 CmdList[0x100]; // used by VGMPlay.c and VGMPlay_AddFmts.c +bool ErrorHappened; // used by VGMPlay.c and VGMPlay_AddFmts.c +extern VGM_HEADER VGMHead; +extern UINT32 SampleRate; +extern bool EndPlay; + +extern UINT32 VGMMaxLoop; +extern UINT32 FadeTime; + +bool WriteSmplChunk; + +INLINE int fputLE16(UINT16 Value, FILE* hFile) +{ + int RetVal; + int ResVal; + + RetVal = fputc((Value & 0x00FF) >> 0, hFile); + RetVal = fputc((Value & 0xFF00) >> 8, hFile); + ResVal = (RetVal != EOF) ? 0x02 : 0x00; + return ResVal; +} + +INLINE int fputLE32(UINT32 Value, FILE* hFile) +{ + int RetVal; + int ResVal; + + RetVal = fputc((Value & 0x000000FF) >> 0, hFile); + RetVal = fputc((Value & 0x0000FF00) >> 8, hFile); + RetVal = fputc((Value & 0x00FF0000) >> 16, hFile); + RetVal = fputc((Value & 0xFF000000) >> 24, hFile); + ResVal = (RetVal != EOF) ? 0x02 : 0x00; + return ResVal; +} + +void usage(const char *name) { + fprintf(stderr, "usage: %s [options] vgm_file wav_file\n" + "wav_file can be - for standard output.\n", name); +#ifdef VGM2WAV_HAS_GETOPT + fputs("\n" + "Options:\n" + "--loop-count {number}\n" + "--fade-ms {number}\n" + "--no-smpl-chunk\n" + "\n", stderr); +#else + fputs("Options not supported in this build (compiled without getopt.)\n", stderr); +#endif +} + +int main(int argc, char *argv[]) { + WAVE_16BS *sampleBuffer; + UINT32 bufferedLength; + FILE *outputFile; + + long int wavRIFFLengthPos; + long int wavDataLengthPos; + int sampleBytesWritten = 0; + + // Initialize VGMPlay before parsing arguments, so we can set VGMMaxLoop and FadeTime + VGMPlay_Init(); + VGMPlay_Init2(); + + VGMMaxLoop = 2; + FadeTime = 5000; + WriteSmplChunk = true; + + int c; + + // Parse command line arguments +#ifdef VGM2WAV_HAS_GETOPT + static struct option long_options[] = { + { "loop-count", required_argument, NULL, 'l' }, + { "fade-ms", required_argument, NULL, 'f' }, + { "no-smpl-chunk", no_argument, NULL, 'S' }, + { "help", no_argument, NULL, '?' }, + { NULL, 0, NULL, 0 } + }; + while ((c = getopt_long(argc, argv, "", long_options, NULL)) != -1) { + switch (c) { + case 'l': + c = atoi(optarg); + if (c <= 0) { + fputs("Error: loop count must be at least 1.\n", stderr); + usage(argv[0]); + return 1; + } + VGMMaxLoop = c; + //fprintf(stderr, "Setting max loops to %u\n", VGMMaxLoop); + break; + case 'f': + FadeTime = atoi(optarg); + //fprintf(stderr, "Setting fade-out time in milliseconds to %u\n", FadeTime); + break; + case 'S': + WriteSmplChunk = false; + break; + case -1: + break; + case '?': + usage(argv[0]); + return 0; + default: + usage(argv[0]); + return 1; + } + } + + // Pretend for the rest of the program that those options don't exist + argv[optind - 1] = argv[0]; + argc -= optind - 1; + argv += optind - 1; +#endif + if (argc < 3) { + usage(argv[0]); + return 1; + } + + if (!OpenVGMFile(argv[1])) { + fprintf(stderr, "vgm2wav: error: failed to open vgm_file (%s)\n", argv[1]); + return 1; + } + + if (argv[2][0] == '-' && argv[2][1] == '\0') { +#ifdef O_BINARY + setmode(fileno(stdout), O_BINARY); +#endif + outputFile = stdout; + } else { + outputFile = fopen(argv[2], "wb"); + if (outputFile == NULL) { + fprintf(stderr, "vgm2wav: error: failed to open wav_file (%s)\n", argv[2]); + return 1; + } + } + + if (WriteSmplChunk && VGMHead.lngLoopSamples == 0) { + WriteSmplChunk = false; + } + + fwrite("RIFF", 1, 4, outputFile); + + wavRIFFLengthPos = ftell(outputFile); + fputLE32(-1, outputFile); + + fwrite("WAVE", 1, 4, outputFile); + + fwrite("fmt ", 1, 4, outputFile); + fputLE32(16, outputFile); + fputLE16(1, outputFile); + fputLE16(2, outputFile); + fputLE32(SampleRate, outputFile); + fputLE32(SampleRate * 2 * 2, outputFile); + fputLE16(2 * 2, outputFile); + fputLE16(16, outputFile); + + if (WriteSmplChunk) { + fwrite("smpl", 1, 4, outputFile); + fputLE32(60, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(1, outputFile); + fputLE32(0, outputFile); + + fputLE32(0, outputFile); + fputLE32(0, outputFile); + fputLE32(VGMHead.lngTotalSamples - VGMHead.lngLoopSamples, outputFile); + fputLE32(VGMHead.lngTotalSamples, outputFile); + fputLE32(0, outputFile); + fputLE32(0, outputFile); + } + + fwrite("data", 1, 4, outputFile); + + wavDataLengthPos = ftell(outputFile); + fputLE32(-1, outputFile); + + PlayVGM(); + + sampleBuffer = (WAVE_16BS*)malloc(SAMPLESIZE * SampleRate); + if (sampleBuffer == NULL) { + fprintf(stderr, "vgm2wav: error: failed to allocate %lu bytes of memory\n", SAMPLESIZE * SampleRate); + return 1; + } + + while (!EndPlay) { + UINT32 bufferSize = SampleRate; + bufferedLength = FillBuffer(sampleBuffer, bufferSize); + if (bufferedLength) { + UINT32 numberOfSamples; + UINT32 currentSample; + const UINT16* sampleData; + + sampleData = (UINT16*)sampleBuffer; + numberOfSamples = SAMPLESIZE * bufferedLength / 0x02; + for (currentSample = 0x00; currentSample < numberOfSamples; currentSample++) { + fputLE16(sampleData[currentSample], outputFile); + sampleBytesWritten += 2; + } + } + } + + fflush(outputFile); + StopVGM(); + + CloseVGMFile(); + + VGMPlay_Deinit(); + + if (wavRIFFLengthPos >= 0) { + fseek(outputFile, wavRIFFLengthPos, SEEK_SET); + if (WriteSmplChunk) { + fputLE32(sampleBytesWritten + 28 + 68 + 8, outputFile); + } else { + fputLE32(sampleBytesWritten + 28 + 8, outputFile); + } + } + if (wavDataLengthPos >= 0) { + fseek(outputFile, wavDataLengthPos, SEEK_SET); + fputLE32(sampleBytesWritten, outputFile); + } + + return 0; +} diff --git a/src/vgm2wav.dsp b/src/vgm2wav.dsp new file mode 100644 index 0000000..67626af --- /dev/null +++ b/src/vgm2wav.dsp @@ -0,0 +1,1104 @@ +# Microsoft Developer Studio Project File - Name="vgm2pcm" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=VGMPlay - Win32 Debug +!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE +!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl +!MESSAGE +!MESSAGE NMAKE /f "VGMPlay.mak". +!MESSAGE +!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben +!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: +!MESSAGE +!MESSAGE NMAKE /f "VGMPlay.mak" CFG="VGMPlay - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "VGMPlay - Win32 Release" (basierend auf "Win32 (x86) Console Application") +!MESSAGE "VGMPlay - Win32 Debug" (basierend auf "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c +# ADD CPP /nologo /MD /W3 /GX /Ox /Ot /Og /Oi /Ob2 /I "zlib" /D "NDEBUG" /D "WIN32_LEAN_AND_MEAN" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "ENABLE_ALL_CORES" /D "CONSOLE_MODE" /D "ADDITIONAL_FORMATS" /D "SET_CONSOLE_TITLE" /FD /c +# SUBTRACT CPP /Oa /Ow /YX /Yc /Yu +# ADD BASE RSC /l 0x407 /d "NDEBUG" +# ADD RSC /l 0x407 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 msvcrt.lib kernel32.lib user32.lib advapi32.lib winmm.lib zdll.lib /nologo /subsystem:console /machine:I386 /libpath:"zlib" +# Begin Special Build Tool +SOURCE="$(InputPath)" +PostBuild_Cmds=..\vgm2txt\HiddenMsg.exe Release\VGMPlay.exe +# End Special Build Tool + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "zlib" /D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "ENABLE_ALL_CORES" /D "CONSOLE_MODE" /D "ADDITIONAL_FORMATS" /D "SET_CONSOLE_TITLE" /FR /FD /GZ /c +# SUBTRACT CPP /YX /Yc /Yu +# ADD BASE RSC /l 0x407 /d "_DEBUG" +# ADD RSC /l 0x407 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 msvcrtd.lib kernel32.lib user32.lib advapi32.lib winmm.lib zdll.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"zlib" +# SUBTRACT LINK32 /profile /map + +!ENDIF + +# Begin Target + +# Name "VGMPlay - Win32 Release" +# Name "VGMPlay - Win32 Debug" +# Begin Group "Quellcodedateien" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\pt_ioctl.c +# End Source File +# Begin Source File + +SOURCE=.\Stream.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay_AddFmts.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\vgm2wav.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# End Group +# Begin Group "Header-Dateien" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=.\PortTalk_IOCTL.h +# End Source File +# Begin Source File + +SOURCE=.\Stream.h +# End Source File +# Begin Source File + +SOURCE=".\XMasFiles\SWJ-SQRC01_1C.h" +# End Source File +# Begin Source File + +SOURCE=.\VGMFile.h +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay.h +# End Source File +# Begin Source File + +SOURCE=.\VGMPlay_Intf.h +# End Source File +# Begin Source File + +SOURCE=.\XMasFiles\XMasBonus.h +# End Source File +# End Group +# Begin Group "Ressourcendateien" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Group "SoundCore" + +# PROP Default_Filter "c;h;cpp" +# Begin Group "FM OPL Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2413intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2413intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2413tone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\262intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\262intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\281btone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\3526intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\3526intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\3812intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\3812intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\8950intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\8950intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu_opl2.c +# End Source File +# Begin Source File + +SOURCE=.\chips\adlibemu_opl3.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2413.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2413.h +# End Source File +# Begin Source File + +SOURCE=.\chips\emutypes.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fmopl.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\fmopl.h +# End Source File +# Begin Source File + +SOURCE=.\chips\opl.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\chips\opl.h +# End Source File +# Begin Source File + +SOURCE=.\chips\vrc7tone.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf262.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf262.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf278b.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf278b.h +# End Source File +# End Group +# Begin Group "FM OPN Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2203intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2203intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2608intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2608intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2610intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2610intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\2612intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2612intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fm.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\fm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\fm2612.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2612.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2612.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ym3438.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ym3438.h +# End Source File +# End Group +# Begin Group "FM OPx Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\2151intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\2151intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scsp.c +# End Source File +# Begin Source File + +SOURCE=.\chips\scsp.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scspdsp.c +# End Source File +# Begin Source File + +SOURCE=.\chips\scspdsp.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scsplfo.c +# PROP Exclude_From_Build 1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2151.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2151.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf271.c +# ADD CPP /W1 +# End Source File +# Begin Source File + +SOURCE=.\chips\ymf271.h +# End Source File +# End Group +# Begin Group "PCM Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\c140.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c140.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c352.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c352.h +# End Source File +# Begin Source File + +SOURCE=.\chips\es5503.c +# End Source File +# Begin Source File + +SOURCE=.\chips\es5503.h +# End Source File +# Begin Source File + +SOURCE=.\chips\es5506.c +# End Source File +# Begin Source File + +SOURCE=.\chips\es5506.h +# End Source File +# Begin Source File + +SOURCE=.\chips\iremga20.c +# End Source File +# Begin Source File + +SOURCE=.\chips\iremga20.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k053260.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k053260.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k054539.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k054539.h +# End Source File +# Begin Source File + +SOURCE=.\chips\multipcm.c +# End Source File +# Begin Source File + +SOURCE=.\chips\multipcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6258.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6258.h +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6295.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\okim6295.h +# End Source File +# Begin Source File + +SOURCE=.\chips\pwm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\pwm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound.c +# End Source File +# Begin Source File + +SOURCE=.\chips\qsound.h +# End Source File +# Begin Source File + +SOURCE=.\chips\rf5c68.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\rf5c68.h +# End Source File +# Begin Source File + +SOURCE=.\chips\scd_pcm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\scd_pcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\segapcm.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\segapcm.h +# End Source File +# Begin Source File + +SOURCE=.\chips\upd7759.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\upd7759.h +# End Source File +# Begin Source File + +SOURCE=.\chips\x1_010.c +# End Source File +# Begin Source File + +SOURCE=.\chips\x1_010.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymdeltat.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ymdeltat.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ymz280b.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +# ADD CPP /W1 + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ymz280b.h +# End Source File +# End Group +# Begin Group "OPL Mapper" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\ay8910_opl.c +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496_opl.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413_opl.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413hd.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /W1 /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ym2413hd.h +# End Source File +# End Group +# Begin Group "PSG Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\ay8910.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\ay8910.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ay_intf.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ay_intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280.c +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280.h +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\c6280intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2149.c +# End Source File +# Begin Source File + +SOURCE=.\chips\emu2149.h +# End Source File +# Begin Source File + +SOURCE=.\chips\gb.c +# End Source File +# Begin Source File + +SOURCE=.\chips\gb.h +# End Source File +# Begin Source File + +SOURCE=.\chips\k051649.c +# End Source File +# Begin Source File + +SOURCE=.\chips\k051649.h +# End Source File +# Begin Source File + +SOURCE=.\chips\Ootake_PSG.c +# End Source File +# Begin Source File + +SOURCE=.\chips\Ootake_PSG.h +# End Source File +# Begin Source File + +SOURCE=.\chips\pokey.c +# End Source File +# Begin Source File + +SOURCE=.\chips\pokey.h +# End Source File +# Begin Source File + +SOURCE=.\chips\saa1099.c +# End Source File +# Begin Source File + +SOURCE=.\chips\saa1099.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76489.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76489.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn76496.h +# End Source File +# Begin Source File + +SOURCE=.\chips\sn764intf.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\sn764intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\vsu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\vsu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_audio.c +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_audio.h +# End Source File +# Begin Source File + +SOURCE=.\chips\ws_initialIo.h +# End Source File +# End Group +# Begin Group "NES Chips" + +# PROP Default_Filter "c;h" +# Begin Source File + +SOURCE=.\chips\nes_apu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_apu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_defs.h +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_intf.c +# End Source File +# Begin Source File + +SOURCE=.\chips\nes_intf.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_apu.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_apu.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_dmc.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_dmc.h +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_fds.c +# End Source File +# Begin Source File + +SOURCE=.\chips\np_nes_fds.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\chips\ChipIncl.h +# End Source File +# Begin Source File + +SOURCE=.\ChipMapper.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\ChipMapper.h +# End Source File +# Begin Source File + +SOURCE=.\chips\dac_control.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\dac_control.h +# End Source File +# Begin Source File + +SOURCE=.\chips\mamedef.h +# End Source File +# Begin Source File + +SOURCE=.\chips\panning.c + +!IF "$(CFG)" == "VGMPlay - Win32 Release" + +# ADD CPP /Oa + +!ELSEIF "$(CFG)" == "VGMPlay - Win32 Debug" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\chips\panning.h +# End Source File +# End Group +# Begin Source File + +SOURCE=.\ReadMe.txt +# End Source File +# End Target +# End Project diff --git a/src/vgmplay.1 b/src/vgmplay.1 new file mode 100644 index 0000000..ba4e8b0 --- /dev/null +++ b/src/vgmplay.1 @@ -0,0 +1,148 @@ +.TH vgmplay "1" "November 10" "Valley Bell" "User Commands" +.nh +.SH NAME +vgmplay \- the official and always up-to-date player for all VGM files +.SH SYNOPSIS +\fBvgmplay\fP file +.SH KEYS +Cursor Left/Right - Seek 5 seconds backward/forward +.PP +Ctrl + Cursor Left/Right - Seek 1 minute backward/forward +.PP +Space - Pause +.PP +ESC/Q - Quit the program +.PP +F - Fade out +.PP +R - Restart current Track +.PP +PageUp/B - Previous Track +.PP +PageDown/N - Next Track +.SH SUPPORTED FILETYPES +Video Game Music Files (.vgm, .vgz) +.PP +Creative Music Files (.cmf) +.PP +DosBox RAW OPL Log Files (.dro) +.PP +Playlist files (.m3u) +.SH SUPPORTED CHIPS +.PP +SN76496 (2) (Sega PSG) and T6W28 (2) (NeoGeo Pocket custom) +.PP +YM2413 (1) (OPLL) +.PP +YM2612 (OPN2) +.PP +YM2151 (OPM) +.PP +SegaPCM +.PP +RF5C68 +.PP +YM2203 (OPN) +.PP +YM2608 (OPNA) +.PP +YM2610/B (OPNB) +.PP +YM3812 (1) (OPL2) +.PP +YM3526 (1) (OPL) +.PP +Y8950 (1) (MSX AUDIO) +.PP +YMF262 (1) (OP3) +.PP +YMF278B (3) (OPL4) +.PP +YMF271 (OPLX) +.PP +YMZ280B +.PP +RF5C164 (Sega MegaCD PCM) +.PP +PWM (from Sega 32x) +.PP +AY8910 (MSX PSG) +.PP +GameBoy DMG +.PP +NES APU (incl. FDS) +.PP +MultiPCM +.PP +UPD7759 +.PP +OKI6258 (Sharp X68000 ADPCM) +.PP +OKI6295 +.PP +K051649 +.PP +K054539 +.PP +HuC6280 (PC Engine) +.PP +C140 +.PP +K053260 +.PP +Pokey (Atari) +.PP +QSound +.PP +SCSP (Saturn Custom Sound Processor, YMF292-F) +.PP +(1) This chip can be emulated via OPL Hardware (like Soundblaster sound cards). +.PP +(2) OPL hardware emulation is available, but software emulation is prefered. Hardware emulation is used if another chip activates HW emulation or FMForce is True. +(3) You need a sample ROM, called yrw801.rom, to make playback work. Place it in the directory where vgmplay lies or in /usr/local/share/vgmplay/. +.PP +OPL hardware emulation can be enabled by setting the "FMPort"-entry in the ini-file. +Under Linux the program must be run as root to use hardware FM. +.PP +It's possible to write Wave files by editing the "LogSound"-line in the ini-file. +Batch conversions are possible by opening a playlist. +FM hardware cannot be logged to Wave files. +.SH CONFIGURATION +vgmplay is configured in the file VGMPlay.ini, which should be located in $XDG_CONFIG_HOME/vgmplay (thus, by default ~/.config/vgmplay/VGMPlay.ini). A sample configuration /usr/share/vgmplay/VGMPlay.ini is available for copying and general reference. +.SH BUGS +PauseEmulation is disabled under Linux if no FM Hardware is used. +.PP +You have to double-tap ESC to quit the program. +.PP +Sometimes MAME's sound cores tend to sound strange. +.SH COMMENTS +The T6W28 doesn't use MAME's T6W28 core. Instead the SN76496 core is modified to emulate the T6W28 with 2 SN76496 chips. +The SN76496 OPL emulation is okay, but it's impossible to get the noise sound right. +.PP +EMU2413 Emulator was added, because sometimes the one of MAME sounds strange. +The Gens YM2612 core was added for the same reason before MAME's YM2612 core was fixed. +.PP +.SH AUTHORS +This program was written by Valley Bell. +.PP +Almost all software emulators are from MAME (http://mamedev.org) +.PP +EMU2413 and Gens YM2612 were ported from Maxim's in_vgm +.PP +The YMF278B core was ported from openMSX +.PP +zlib compression by Jean-loup Gailly and Mark Adler is used +.PP +All custom OPL Mappers were written using MAME software emulators and the OPL2/3 programming guides by Jeffrey S. Lee and Vladimir Arnost +.PP +one YM2413 OPL Mapper was ported from MEKA. +.PP +The RF5C164 and PWM cores were ported from Gens/GS +.PP +The MAME YM2612 core was fixed with the help of Blargg's MAME YM2612 fix and Genesis Plus GX' YM2612 core +.PP +AdLibEmu (OPL2 and OPL3 core) was ported from DOSBox +.PP +The default HuC6280 core is from Ootake. +.PP +EMU2149, the alternative NES APU core and the NES FDS core were ported from rainwarrior's NSFPlay. diff --git a/src/vgmspec171.txt b/src/vgmspec171.txt new file mode 100644 index 0000000..3a6472b --- /dev/null +++ b/src/vgmspec171.txt @@ -0,0 +1,882 @@ +VGM Spec v1.71 beta +============== +VGM (Video Game Music) is a sample-accurate sound logging format for the Sega +Master System, the Sega Game Gear and possibly many other machines (e.g. Sega +Genesis). + +The normal file extension is .vgm but files can also be GZip compressed into +.vgz files. However, a VGM player should attempt to support compressed and +uncompressed files with either extension. (ZLib's GZIO library makes this +trivial to implement.) + +The format starts with a 256 byte header: + + 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +0x00 ["Vgm " ident ][EoF offset ][Version ][SN76489 clock ] +0x10 [YM2413 clock ][GD3 offset ][Total # samples][Loop offset ] +0x20 [Loop # samples ][Rate ][SN FB ][SNW][SF][YM2612 clock ] +0x30 [YM2151 clock ][VGM data offset][Sega PCM clock ][SPCM Interface ] +0x40 [RF5C68 clock ][YM2203 clock ][YM2608 clock ][YM2610/B clock ] +0x50 [YM3812 clock ][YM3526 clock ][Y8950 clock ][YMF262 clock ] +0x60 [YMF278B clock ][YMF271 clock ][YMZ280B clock ][RF5C164 clock ] +0x70 [PWM clock ][AY8910 clock ][AYT][AY Flags ][VM] *** [LB][LM] +0x80 [GB DMG clock ][NES APU clock ][MultiPCM clock ][uPD7759 clock ] +0x90 [OKIM6258 clock ][OF][KF][CF] *** [OKIM6295 clock ][K051649 clock ] +0xA0 [K054539 clock ][HuC6280 clock ][C140 clock ][K053260 clock ] +0xB0 [Pokey clock ][QSound clock ][SCSP clock ][Extra Hdr ofs ] +0xC0 [WSwan clock ][VSU clock ][SAA1099 clock ][ES5503 clock ] +0xD0 [ES5506 clock ][EC][EC][CD] *** [X1-010 clock ][C352 clock ] +0xE0 [GA20 clock ] *** *** *** *** *** *** *** *** *** *** *** *** +0xF0 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** + +- Unused space (marked with *) is reserved for future expansion, and must be + zero. +- All integer values are *unsigned* and written in "Intel" byte order (Little + Endian), so for example 0x12345678 is written as 0x78 0x56 0x34 0x12. +- All pointer offsets are written as relative to the current position in the + file, so for example the GD3 offset at 0x14 in the header is the file + position of the GD3 tag minus 0x14. +- All header sizes are valid for all versions from 1.50 on, as long as header + has at least 64 bytes. If the VGM data starts at an offset that is lower + than 0x100, all overlapping header bytes have to be handled as they were + zero. +- VGMs run with a rate of 44100 samples per second. All sample values use this + unit. + +0x00: "Vgm " (0x56 0x67 0x6d 0x20) file identification (32 bits) +0x04: Eof offset (32 bits) + Relative offset to end of file (i.e. file length - 4). + This is mainly used to find the next track when concatenating + player stubs and multiple files. +0x08: Version number (32 bits) + Version number in BCD-Code. e.g. Version 1.71 is stored as 0x00000171. + This is used for backwards compatibility in players, and defines which + header values are valid. +0x0C: SN76489 clock (32 bits) + Input clock rate in Hz for the SN76489 PSG chip. A typical value is + 3579545. It should be 0 if there is no PSG chip used. + Note: Bit 31 (0x80000000) is used on combination with the dual-chip-bit + to indicate that this is a T6W28. (PSG variant used in NeoGeo Pocket) +0x10: YM2413 clock (32 bits) + Input clock rate in Hz for the YM2413 chip. A typical value is 3579545. + It should be 0 if there is no YM2413 chip used. + If bit 31 is set it is a VRC7 (version 1.51+). +0x14: GD3 offset (32 bits) + Relative offset to GD3 tag. 0 if no GD3 tag. + GD3 tags are descriptive tags similar in use to ID3 tags in MP3 files. + See the GD3 specification for more details. The GD3 tag is usually + stored immediately after the VGM data. +0x18: Total # samples (32 bits) + Total of all wait values in the file. +0x1C: Loop offset (32 bits) + Relative offset to loop point, or 0 if no loop. + For example, if the data for the one-off intro to a song was in bytes + 0x0040-0x3FFF of the file, but the main looping section started at + 0x4000, this would contain the value 0x4000-0x1C = 0x00003FE4. +0x20: Loop # samples (32 bits) + Number of samples in one loop, or 0 if there is no loop. + Total of all wait values between the loop point and the end of + the file. +[VGM 1.01 additions:] +0x24: Rate (32 bits) + "Rate" of recording in Hz, used for rate scaling on playback. It is + typically 50 for PAL systems and 60 for NTSC systems. It should be set + to zero if rate scaling is not appropriate - for example, if the game + adjusts its music engine for the system's speed. + VGM 1.00 files will have a value of 0. +[VGM 1.10 additions:] +0x28: SN76489 feedback (16 bits) + The white noise feedback pattern for the SN76489 PSG. Known values are: + 0x0009 Sega Master System 2/Game Gear/Mega Drive + (SN76489/SN76496 integrated into Sega VDP chip) + 0x0003 Sega Computer 3000H, BBC Micro + (SN76489AN) + 0x0006 SN76494, SN76496 + For version 1.01 and earlier files, the feedback pattern should be + assumed to be 0x0009. If the PSG is not used then this may be omitted + (left at zero). +0x2A: SN76489 shift register width (8 bits) + The noise feedback shift register width, in bits. Known values are: + 16 Sega Master System 2/Game Gear/Mega Drive + (SN76489/SN76496 integrated into Sega VDP chip) + 15 Sega Computer 3000H, BBC Micro + (SN76489AN) + For version 1.01 and earlier files, the shift register width should be + assumed to be 16. If the PSG is not used then this may be omitted (left + at zero). +[VGM 1.51 additions:] +0x2B: SN76489 Flags (8 bits) + Misc flags for the SN76489. Most of them don't make audible changes and + can be ignored, if the SN76489 emulator lacks the features. + bit 0 frequency 0 is 0x400 + bit 1 output negate flag + bit 2 stereo on/off (on when bit clear) + bit 3 /8 Clock Divider on/off (on when bit clear) + bit 4 XNOR noise feedback (used by NCR8496) + bit 5-7 reserved (must be zero) + For version 1.51 and earlier files, all the flags should not be set. + If the PSG is not used then this may be omitted (left at zero). +[VGM 1.10 additions:] +0x2C: YM2612/YM3438 clock (32 bits) + Input clock rate in Hz for the YM2612 chip. A typical value is 7670454. + It should be 0 if there us no YM2612 chip used. + For version 1.01 and earlier files, the YM2413 clock rate should be + used for the clock rate of the YM2612. + If bit 31 is set it is a YM3438 (version 1.51+). +0x30: YM2151/YM2164 clock (32 bits) + Input clock rate in Hz for the YM2151 chip. A typical value is 3579545. + It should be 0 if there us no YM2151 chip used. + For version 1.01 and earlier files, the YM2413 clock rate should be + used for the clock rate of the YM2151. + If bit 31 is set it is a YM2164 (version 1.51+). +[VGM 1.50 additions:] +0x34: VGM data offset (32 bits) + Relative offset to VGM data stream. + If the VGM data starts at absolute offset 0x40, this will contain + value 0x0000000C. For versions prior to 1.50, it should be 0 and the + VGM data must start at offset 0x40. +[VGM 1.51 additions:] +0x38: Sega PCM clock (32 bits) + Input clock rate in Hz for the Sega PCM chip. A typical value is + 4000000. It should be 0 if there is no Sega PCM chip used. +0x3C: Sega PCM interface register (32 bits) + The interface register for the Sega PCM chip. It should be 0 if there + is no Sega PCM chip used. +0x40: RF5C68 clock (32 bits) + Input clock rate in Hz for the RF5C68 PCM chip. A typical value is + 12500000. It should be 0 if there is no RF5C68 chip used. +0x44: YM2203 clock (32 bits) + Input clock rate in Hz for the YM2203 chip. A typical value is 3000000. + It should be 0 if there is no YM2203 chip used. +0x48: YM2608 clock (32 bits) + Input clock rate in Hz for the YM2608 chip. A typical value is 8000000. + It should be 0 if there is no YM2608 chip used. +0x4C: YM2610/YM2610B clock (32 bits) + Input clock rate in Hz for the YM2610/B chip. A typical value is + 8000000. It should be 0 if there is no YM2610/B chip used. + Note: Bit 31 is used to set whether it is a YM2610 or a YM2610B chip. + If bit 31 is set it is an YM2610B, if bit 31 is clear it is an YM2610. +0x50: YM3812 clock (32 bits) + Input clock rate in Hz for the YM3812 chip. A typical value is 3579545. + It should be 0 if there is no YM3812 chip used. +0x54: YM3526 clock (32 bits) + Input clock rate in Hz for the YM3526 chip. A typical value is 3579545. + It should be 0 if there is no YM3526 chip used. +0x58: Y8950 clock (32 bits) + Input clock rate in Hz for the Y8950 chip. A typical value is 3579545. + It should be 0 if there is no Y8950 chip used. +0x5C: YMF262 clock (32 bits) + Input clock rate in Hz for the YMF262 chip. A typical value is + 14318180. It should be 0 if there is no YMF262 chip used. +0x60: YMF278B clock (32 bits) + Input clock rate in Hz for the YMF278B chip. A typical value is + 33868800. It should be 0 if there is no YMF278B chip used. +0x64: YMF271 clock (32 bits) + Input clock rate in Hz for the YMF271 chip. A typical value is + 16934400. It should be 0 if there is no YMF271 chip used. +0x68: YMZ280B clock (32 bits) + Input clock rate in Hz for the YMZ280B chip. A typical value is + 16934400. It should be 0 if there is no YMZ280B chip used. +0x6C: RF5C164 clock (32 bits) + Input clock rate in Hz for the RF5C164 PCM chip. A typical value is + 12500000. It should be 0 if there is no RF5C164 chip used. +0x70: PWM clock (32 bits) + Input clock rate in Hz for the PWM chip. A typical value is + 23011361. It should be 0 if there is no PWM chip used. +0x74: AY8910 clock (32 bits) + Input clock rate in Hz for the AY8910 chip. A typical value is 1789773. + It should be 0 if there is no AY8910 chip used. +0x78: AY8910 Chip Type (8 bits) + Defines the exact type of AY8910. The values are: + 0x00 - AY8910 + 0x01 - AY8912 + 0x02 - AY8913 + 0x03 - AY8930 + 0x10 - YM2149 + 0x11 - YM3439 + 0x12 - YMZ284 + 0x13 - YMZ294 + If the AY8910 is not used then this may be omitted (left at zero). +0x79: AY8910 Flags (8 bits) + Misc flags for the AY8910. Default is 0x01. + For additional description see ay8910.h in MAME source code. + bit 0 Legacy Output + bit 1 Single Output + bit 2 Discrete Output + bit 3 RAW Output + bit 4 YM2149 Pin 26 (additional /2 clock divider) + bit 5-6 reserved (must be zero) + bit 7 Use ZX-Spectrum-like pan configuration (Left-Center-Right). + If the AY8910 is not used then this may be omitted (left at zero). +0x7A: YM2203/AY8910 Flags (8 bits) + Misc flags for the AY8910. This one is specific for the AY8910 that's + connected with/part of the YM2203. +0x7B: YM2608/AY8910 Flags (8 bits) + Misc flags for the AY8910. This one is specific for the AY8910 that's + connected with/part of the YM2608. +[VGM 1.60 additions:] +0x7C: Volume Modifier (8 bits) + Volume = 2 ^ (VolumeModifier / 0x20) where VolumeModifier is a number + from -63 to 192 (-63 = 0xC1, 0 = 0x00, 192 = 0xC0). Also the value -63 + gets replaced with -64 in order to make factor of 0.25 possible. + Therefore the volume can reach levels between 0.25 and 64. + Default is 0, which is equal to a factor of 1.0 or 100%. + Note: Players should support the Volume Modifier in v1.50 files and + higher despite their late addition. This way MegaDrive VGMs can use + the Volume Modifier without breaking compatibility with old players. +0x7D: reserved + Reserved byte for future use. It must be 0. +0x7E: Loop Base (8 bits) + Modifies the number of loops that are played before the playback ends. + Set this value to eg. 1 to reduce the number of played loops by one. + This is useful, if the song is looped twice in the vgm, because there + are minor differences between the first and second loop and the song + repeats just the second loop. + The resulting number of loops that are played is calculated as + following: NumLoops = NumLoopsModified - LoopBase + Default is 0. Negative numbers are possible (80h...FFh = -128...-1) + Note: Players should support the Volume Modifier in v1.51 files. +[VGM 1.51 additions:] +0x7F: Loop Modifier (8 bits) + Modifies the number of loops that are played before the playback ends. + You may want to use this, e.g. if a tune has a very short, but non- + repetive loop (then set it to 0x20 double the loop number). + The resulting number of loops that are played is calculated as + following: NumLoops = ProgramNumLoops * LoopModifier / 0x10 + Default is 0, which is equal to 0x10. +[VGM 1.61 additions:] +0x80: GameBoy DMG clock (32 bits) + Input clock rate in Hz for the GameBoy DMG chip, LR35902. A typical + value is 4194304. It should be 0 if there is no GB DMG chip used. +0x84: NES APU clock (32 bits) + Input clock rate in Hz for the NES APU chip, N2A03. A typical value is + 1789772. It should be 0 if there is no NES APU chip used. + Note: Bit 31 is used to enable the FDS sound addon. Set to enable, + clear to disable. +0x88: MultiPCM clock (32 bits) + Input clock rate in Hz for the MultiPCM chip. A typical value is + 8053975. It should be 0 if there is no MultiPCM chip used. +0x8C: uPD7759 clock (32 bits) + Input clock rate in Hz for the uPD7759 chip. A typical value is 640000. + It should be 0 if there is no uPD7759 chip used. Set bit 31 (0x80000000) + to denote that the chip is in a Slave, clear bit 31 to denote that the + chip is in a Master configuration. +0x90: OKIM6258 clock (32 bits) + Input clock rate in Hz for the OKIM6258 chip. A typical value is + 4000000. It should be 0 if there is no OKIM6258 chip used. +0x94: OKIM6258 Flags (8 bits) + Misc flags for the OKIM6258. Default is 0x00. + bit 0-1 Clock Divider (clock dividers are 1024, 768, 512, 512) + bit 2 3/4-bit ADPCM select (default is 4-bit, doesn't work currently) + bit 3 10/12-bit Output (default is 10-bit) + bit 4-7 reserved (must be zero) + If the OKIM6258 is not used then this may be omitted (left at zero). +0x95: K054539 Flags (8 bits) + Misc flags for the K054539. Default is 0x01. + See also k054539.h in MAME source code. + bit 0 Reverse Stereo + bit 1 Disable Reverb + bit 2 Update at KeyOn + bit 3-7 reserved (must be zero) + If the K054539 is not used then this may be omitted (left at zero). +0x96: C140 Chip Type (8 bits) + Defines the exact type of C140 and its banking method. The values are: + 0x00 - C140, Namco System 2 + 0x01 - C140, Namco System 21 + 0x02 - 219 ASIC, Namco NA-1/2 + If the C140 is not used then this may be omitted (left at zero). +0x97: reserved + Reserved byte for future use. It must be 0. +0x98: OKIM6295 clock (32 bits) + Input clock rate in Hz for the OKIM6295 chip. A typical value is + 8000000. It should be 0 if there is no OKIM6295 chip used. + Set bit 31 (0x80000000) to denote the status of pin 7. +0x9C: K051649/K052539 clock (32 bits) + Input clock rate in Hz for the K051649 chip. A typical value is + 1789773. It should be 0 if there is no K051649 chip used. + If bit 31 is set it is a K052539. +0xA0: K054539 clock (32 bits) + Input clock rate in Hz for the K054539 chip. A typical value is + 18432000. It should be 0 if there is no K054539 chip used. +0xA4: HuC6280 clock (32 bits) + Input clock rate in Hz for the HuC6280 chip. A typical value is + 3579545. It should be 0 if there is no HuC6280 chip used. +0xA8: C140 clock (32 bits) + Input clock rate in Hz for the C140 chip. A typical value is 8000000. + It should be 0 if there is no C140 chip used. +0xAC: K053260 clock (32 bits) + Input clock rate in Hz for the K053260 chip. A typical value is + 3579545. It should be 0 if there is no K053260 chip used. +0xB0: Pokey clock (32 bits) + Input clock rate in Hz for the Pokey chip. A typical value is 1789772. + It should be 0 if there is no Pokey chip used. +0xB4: QSound clock (32 bits) + Input clock rate in Hz for the QSound chip. A typical value is 4000000. + It should be 0 if there is no QSound chip used. +[VGM 1.71 additions:] +0xB8: SCSP clock (32 bits) + Input clock rate in Hz for the SCSP chip. A typical value is 22579200. + It should be 0 if there is no SCSP chip used. +[VGM 1.70 additions:] +0xBC: Extra Header Offset (32 bits) + Relative offset to the extra header or 0 if no extra header is present. +[VGM 1.71 additions:] +0xC0: WonderSwan clock (32 bits) + Input clock rate in Hz for the WonderSwan chip. A typical value is + 3072000. It should be 0 if there is no WonderSwan chip used. +0xC4: Virtual Boy VSU clock (32 bits) + Input clock rate in Hz for the VSU chip. A typical value is 5000000. + It should be 0 if there is no VSU chip used. +0xC8: SAA1099 clock (32 bits) + Input clock rate in Hz for the SAA1099 chip. A typical value is + 8000000. It should be 0 if there is no SAA1099 chip used. +0xCC: ES5503 clock (32 bits) + Input clock rate in Hz for the ES5503 chip. A typical value is 7159090. + It should be 0 if there is no ES5503 chip used. +0xD0: ES5505/ES5506 clock (32 bits) + Input clock rate in Hz for the ES5506 chip. A typical value is + 16000000. It should be 0 if there is no ES5506 chip used. + Note: Bit 31 is used to set whether it is an ES5505 or an ES5506 chip. + If bit 31 is set it is an ES5506, if bit 31 is clear it is an ES5505. +0xD4: ES5503 Channels (8 bits) + Defines the internal number of output channels for the ES5503. + Possible values are 1 to 8. A typical value is 2. + If the ES5503 is not used then this may be omitted (left at zero). +0xD5: ES5505/6 Channels (8 bits) + Defines the internal number of output channels for the ES5506. + Possible values are 1 to 4 for the ES5505 and 1 to 8 for the ES5506. + A typical value is 1. + If the ES5506 is not used then this may be omitted (left at zero). +0xD6: C352 Clock Divider (8 bits) + Defines the clock divider for the C352 chip, divided by 4 in order + to achieve a divider range of 0 to 1020. A typical value is 288. + If the C352 is not used then this may be omitted (left at zero). + Note: Bit 31 is used to disable the rear channels, which are often + not connected to speakers. Set to disable them, clear to enable. +0xD7: reserved + Reserved byte for future use. It must be 0. +0xD8: Seta X1-010 clock (32 bits) + Input clock rate in Hz for the X1-010 chip. A typical value is + 16000000. It should be 0 if there is no X1-010 chip used. +0xDC: Namco C352 clock (32 bits) + Input clock rate in Hz for the C352 chip. A typical value is 24192000. + It should be 0 if there is no C352 chip used. +0xE0: Irem GA20 clock (32 bits) + Input clock rate in Hz for the GA20 chip. A typical value is 3579545. + It should be 0 if there is no GA20 chip used. +0xE4: reserved + Reserved bytes for future use. They must be 0. + + +Starting at the location specified by the VGM data offset (or, offset 0x40 for +file versions below 1.50) is found a sequence of commands containing data +written to the chips or timing information. A command is one of: + + 0x30 dd : Used for dual chip support: see below + 0x31 dd : Set AY8910 stereo mask + Bit 0-1: Channel A mask (00=off, 01=left, 10=right, 11=center) + Bit 2-3: Channel B mask (00=off, 01=left, 10=right, 11=center) + Bit 4-5: Channel C mask (00=off, 01=left, 10=right, 11=center) + Bit 6: Chip type, 0=AY8910, 1=YM2203 SSG part + Bit 7: Chip number, 0 or 1 + 0x3F dd : Used for dual chip support: see below + 0x4F dd : Game Gear PSG stereo, write dd to port 0x06 + 0x50 dd : PSG (SN76489/SN76496) write value dd + 0x51 aa dd : YM2413, write value dd to register aa + 0x52 aa dd : YM2612 port 0, write value dd to register aa + 0x53 aa dd : YM2612 port 1, write value dd to register aa + 0x54 aa dd : YM2151, write value dd to register aa + 0x55 aa dd : YM2203, write value dd to register aa + 0x56 aa dd : YM2608 port 0, write value dd to register aa + 0x57 aa dd : YM2608 port 1, write value dd to register aa + 0x58 aa dd : YM2610 port 0, write value dd to register aa + 0x59 aa dd : YM2610 port 1, write value dd to register aa + 0x5A aa dd : YM3812, write value dd to register aa + 0x5B aa dd : YM3526, write value dd to register aa + 0x5C aa dd : Y8950, write value dd to register aa + 0x5D aa dd : YMZ280B, write value dd to register aa + 0x5E aa dd : YMF262 port 0, write value dd to register aa + 0x5F aa dd : YMF262 port 1, write value dd to register aa + 0x61 nn nn : Wait n samples, n can range from 0 to 65535 (approx 1.49 + seconds). Longer pauses than this are represented by multiple + wait commands. + 0x62 : wait 735 samples (60th of a second), a shortcut for + 0x61 0xdf 0x02 + 0x63 : wait 882 samples (50th of a second), a shortcut for + 0x61 0x72 0x03 + 0x66 : end of sound data + 0x67 ... : data block: see below + 0x68 ... : PCM RAM write: see below + 0x7n : wait n+1 samples, n can range from 0 to 15. + 0x8n : YM2612 port 0 address 2A write from the data bank, then wait + n samples; n can range from 0 to 15. Note that the wait is n, + NOT n+1. (Note: Written to first chip instance only.) + 0x90-0x95 : DAC Stream Control Write: see below + 0xA0 aa dd : AY8910, write value dd to register aa + 0xA1-0xAF + aa dd : Used for dual chip support: see below + 0xB0 aa dd : RF5C68, write value dd to register aa + 0xB1 aa dd : RF5C164, write value dd to register aa + 0xB2 ad dd : PWM, write value ddd to register a (d is MSB, dd is LSB) + 0xB3 aa dd : GameBoy DMG, write value dd to register aa + Note: Register 00 equals GameBoy address FF10. + 0xB4 aa dd : NES APU, write value dd to register aa + Note: Registers 00-1F equal NES address 4000-401F, + registers 20-3E equal NES address 4080-409E, + register 3F equals NES address 4023, + registers 40-7F equal NES address 4040-407F. + 0xB5 aa dd : MultiPCM, write value dd to register aa + 0xB6 aa dd : uPD7759, write value dd to register aa + 0xB7 aa dd : OKIM6258, write value dd to register aa + 0xB8 aa dd : OKIM6295, write value dd to register aa + 0xB9 aa dd : HuC6280, write value dd to register aa + 0xBA aa dd : K053260, write value dd to register aa + 0xBB aa dd : Pokey, write value dd to register aa + 0xBC aa dd : WonderSwan, write value dd to register aa + 0xBD aa dd : SAA1099, write value dd to register aa + 0xBE aa dd : ES5506, write 8-bit value dd to register aa + 0xBF aa dd : GA20, write value dd to register aa + 0xC0 bbaa dd : Sega PCM, write value dd to memory offset aabb + 0xC1 bbaa dd : RF5C68, write value dd to memory offset aabb + 0xC2 bbaa dd : RF5C164, write value dd to memory offset aabb + 0xC3 cc bbaa : MultiPCM, write set bank offset aabb to channel cc + 0xC4 mmll rr : QSound, write value mmll to register rr + (mm - data MSB, ll - data LSB) + 0xC5 mmll dd : SCSP, write value dd to memory offset mmll + (mm - offset MSB, ll - offset LSB) + 0xC6 mmll dd : WonderSwan, write value dd to memory offset mmll + (mm - offset MSB, ll - offset LSB) + 0xC7 mmll dd : VSU, write value dd to register mmll + (mm - MSB, ll - LSB) + 0xC8 mmll dd : X1-010, write value dd to memory offset mmll + (mm - offset MSB, ll - offset LSB) + 0xD0 pp aa dd : YMF278B port pp, write value dd to register aa + 0xD1 pp aa dd : YMF271 port pp, write value dd to register aa + 0xD2 pp aa dd : SCC1 port pp, write value dd to register aa + 0xD3 pp aa dd : K054539 write value dd to register ppaa + 0xD4 pp aa dd : C140 write value dd to register ppaa + 0xD5 pp aa dd : ES5503 write value dd to register ppaa + 0xD6 aa ddee : ES5506 write 16-bit value ddee to register aa + 0xE0 dddddddd : seek to offset dddddddd (Intel byte order) in PCM data bank + 0xE1 aabb ddee: C352 write 16-bit value ddee to register aabb + +Some ranges are reserved for future use, with different numbers of operands: + + 0x32..0x3E dd : one operand, reserved for future use + 0x40..0x4E dd dd : two operands, reserved for future use + Note: was one operand only til v1.60 + 0xC9..0xCF dd dd dd : three operands, reserved for future use + 0xD7..0xDF dd dd dd : three operands, reserved for future use + 0xE2..0xFF dd dd dd dd : four operands, reserved for future use + +On encountering these, the correct number of bytes should be skipped. + + +Data blocks +----------- +VGM command 0x67 specifies a data block. These are used to store large amounts +of data, which can be used in parallel with the normal VGM data stream. The +data block format is: + + 0x67 0x66 tt ss ss ss ss (data) + +where: + 0x67 = VGM command + 0x66 = compatibility command to make older players stop parsing the stream + tt = data type + ss ss ss ss (32 bits) = size of data, in bytes + (data) = data, of size previously specified + +Data blocks of recorded streams, if present, should be at the very start of the +VGM data. Multiple data blocks expand the data bank. (The start offset and +length of the block in the data bank should be saved for command 0x95.) +Because data blocks can happen anywhere in the stream, players must be able to +parse data blocks anywhere in the stream. + +The data block type specifies what type of data it contains. Currently defined +types are: + +00..3F : data of recorded streams (uncompressed) +40..7E : data of recorded streams (compressed) + data block format for compressed streams: + tt (8 bits) = compression type + 00 - n-Bit-Compression + 01 - DPCM-Compression + ss ss ss ss (32 bits) = size of uncompressed data (for memory allocation) + It is assumed that each decompressed value uses + ceil(bd/8) bytes. + (attr) = attribute bytes used by the decompression-algorithm + n-Bit-Compression: + bd (8 bits) = Bits decompressed + bc (8 bits) = Bits compressed + st (8 bits) = compression sub-type + 00 - copy (high bits aren't used) + 01 - shift left (low bits aren't used) + 02 - use table (data = index into decompression table, + see data block 7F) + aa aa (16 bits) = value that is added (ignored if table is used) + The data block is treated as a bitstream with bc bits per value. The + top bits in each byte are read first. The extracted bits of each value + are transformed into a value with at least bd bits using method st. + Finally, aaaa is added to get the resulting value. + DPCM-Compression: (uses a decompression table) + bd (8 bits) = Bits decompressed + bc (8 bits) = Bits compressed + st (8 bits) = [reserved for future use, must be 00] + aa aa (16 bits) = start value + The data is read as a bitstream (see n-Bit). The read value is used as + index into a delta-table (defined by data block 7F). The delta value + is added to the "state" value, which is also the result value. + The "state" value is initialized with aaaa at the beginning. + (data) = compressed data, of size (block size - 0x0A - attr size) +7F : Decompression Table + tt (8 bits) = compression type (see data block 40..7E) + st (8 bits) = compression sub-type (see data block 40..7E) + bd (8 bits) = Bits decompressed + bc (8 bits) = Bits compressed (only used for verifying against + block 40..7E) + cc cc (16 bits) = number of following values (with each of size + ceil(bd / 8)) + (data) = table data, cccc values with a total size of (block size - 0x06) + Note: Multiple decompression tables are valid. The player should keep a + list of one table per tt and st combination. If there are multiple + tables of the same tt/st type, the new one overrides the old one and + all following compressed data blocks will use the new table. +80..BF : ROM/RAM Image dumps (contain usually samples) + data block format for ROM dumps: + rr rr rr rr (32 bits) = size of the entire ROM + ss ss ss ss (32 bits) = start address of data + (data) = ROM data, of size (block size - 0x08) + The size of the VGM can be decreased a lot by saving only the used parts + of the ROM. This is done by saving multiple small ROM data blocks. + The start address is the ROM offset where the data will be written, the + ROM size is used to allocate space for the ROM (and some chips rely on it). +C0..DF : RAM writes (for RAM with up to 64 KB) + data block format for direct RAM writes: + ss ss (16 bits) = start address of data (affected by a chip's banking + registers) + (data) = RAM data, of size (block size - 0x02) +E0..FF : RAM writes (for RAM with more than 64 KB) + data block format for direct RAM writes: + ss ss ss ss (32 bits) = start address of data (affected by a chip's banking + registers) + (data) = RAM data, of size (block size - 0x04) + +00 = YM2612 PCM data for use with associated commands +01 = RF5C68 PCM data for use with associated commands +02 = RF5C164 PCM data for use with associated commands +03 = PWM PCM data for use with associated commands +04 = OKIM6258 ADPCM data for use with associated commands +05 = HuC6280 PCM data for use with associated commands +06 = SCSP PCM data for use with associated commands +07 = NES APU DPCM data for use with associated commands +40..7E = same as 00..3E, but compressed +80 = Sega PCM ROM data +81 = YM2608 DELTA-T ROM data +82 = YM2610 ADPCM ROM data +83 = YM2610 DELTA-T ROM data +84 = YMF278B ROM data +85 = YMF271 ROM data +86 = YMZ280B ROM data +87 = YMF278B RAM data +88 = Y8950 DELTA-T ROM data +89 = MultiPCM ROM data +8A = uPD7759 ROM data +8B = OKIM6295 ROM data +8C = K054539 ROM data +8D = C140 ROM data +8E = K053260 ROM data +8F = Q-Sound ROM data +90 = ES5506 ROM data +91 = X1-010 ROM data +92 = C352 ROM data +93 = GA20 ROM data +C0 = RF5C68 RAM write +C1 = RF5C164 RAM write +C2 = NES APU RAM write +E0 = SCSP RAM write +E1 = ES5503 RAM write + +All unknown types must be skipped by the player. + + +PCM RAM writes +-------------- +VGM command 0x68 specifies a PCM RAM write. These are used to write data from +data blocks to the RAM of a PCM chip. The data block format is: + + 0x68 0x66 cc oo oo oo dd dd dd ss ss ss + +where: + 0x68 = VGM command + 0x66 = compatibility command to make older players stop parsing the stream + cc = chip type (see data block types 00..3F) + oo oo oo (24 bits) = read offset in data block + dd dd dd (24 bits) = write offset in chip's ram (affected by chip's + registers) + ss ss ss (24 bits) = size of data, in bytes + Since size can't be zero, a size of 0 bytes means 0x0100 0000 bytes. + +All unknown types must be skipped by the player. + + +DAC Stream Control Write +------------------------ +VGM commands 0x90 to 0x95 specify writes to the DAC Stream Control Driver. +These are used to stream data from data blocks to the chips via chip writes. +To use it you must: +1. Setup the Stream (set chip type and command) - this activates the stream +2. Set the Stream Data Bank +3. Set the Stream Frequency +4. Now you can start the stream, change its frequency, start it again, stop it, + etc ... + +There are the following commands: + +Note: Stream ID 0xFF is reserved and ignored unless noted otherwise. + +Setup Stream Control: + 0x90 ss tt pp cc + ss = Stream ID + tt = Chip Type (see clock-order in header, e.g. YM2612 = 0x02) + bit 7 is used to select the 2nd chip + pp cc = write command/register cc at port pp + Note: For chips that use Channel Select Registers (like the RF5C-family + and the HuC6280), the format is pp cd where pp is the channel + number, c is the channel register and d is the data register. + If you set pp to FF, the channel select write is skipped. + +Set Stream Data: + 0x91 ss dd ll bb + ss = Stream ID + dd = Data Bank ID (see data block types 0x00..0x3f) + ll = Step Size (how many data is skipped after every write, usually 1) + Set to 2, if you're using an interleaved stream (e.g. for + left/right channel). + bb = Step Base (data offset added to the Start Offset when starting + stream playback, usually 0) + If you're using an interleaved stream, set it to 0 in one stream + and to 1 in the other one. + Note: Step Size/Step Step are given in command-data-size + (i.e. 1 for YM2612, 2 for PWM), not bytes + +Set Stream Frequency: + 0x92 ss ff ff ff ff + ss = Stream ID + ff = Frequency (or Sample Rate, in Hz) at which the writes are done + +Start Stream: + 0x93 ss aa aa aa aa mm ll ll ll ll + ss = Stream ID + aa = Data Start offset in data bank (byte offset in data bank) + Note: if set to -1, the Data Start offset is ignored + mm = Length Mode (how the Data Length is calculated) + 00 - ignore (just change current data position) + 01 - length = number of commands + 02 - length in msec + 03 - play until end of data + 1? - (bit 4) Reverse Mode + 8? - (bit 7) Loop (automatically restarts when finished) + ll = Data Length + +Stop Stream: + 0x94 ss + ss = Stream ID + Note: 0xFF stops all streams + +Start Stream (fast call): + 0x95 ss bb bb ff + ss = Stream ID + bb = Block ID (number of the data block that is part of the data bank set + with command 0x91) + ff = Flags + bit 0 - Loop (see command 0x93, mm bit 7) + bit 4 - Reverse Mode (see command 0x93) + +General Note to the DAC Stream Control: +Although it may be quite hard to press already streamed data into these +commands, it makes it very easy to write vgm-creation tools that need to stream +something. (like YM2612 DAC drums/voices/etc.) +The DAC Stream Control can use with almost all chips and is NOT limited to +chips such as YM2612 and PWM. + + +Dual Chip Support +----------------- +These chips support two instances of a chip in one vgm: +PSG, YM2413, YM2612, YM2151, SegaPCM, YM2203, YM2608, YM2610, YM3812, YM3526, +Y8950, YMZ280B, YMF262, YMF278B, YMF271, AY8910, GameBoy DMG, NES APU, +MultiPCM, uPD7759, OKIM6258, OKIM6295, K051649, K054539, HuC6280, C140, +K053260, Pokey, SCSP, WonderSwan, VSU, SAA1099, ES5503, ES5506, X1-010, C352, +GA20. + +Dual chip support is activated by setting bit 30 (0x40000000) in the chip's +clock value. (Note: The PSG needs this bit set for T6W28 mode.) + +Note: For the YM3812 only, setting bit 31 (0x80000000) in the chip's clock +value hard-pans the first chip on the left and the second chip on the right. +This replicates the pan configuration of the Sound Blaster Pro 1 and Pro +Audio Spectrum sound cards on the IBM PC. + + +Dual Chip Support #1: +The second chip instance is controlled via separate commands. + +The second SN76489 PSG uses 0x30 (0x3F for GG Stereo). +All chips of the YM-family that use command 0x5n use 0xAn for the second chip. +n is the last digit of the main command. +e.g. 0x52 (1st chip) -> 0xA2 (2nd chip) + +Dual Chip Support #2: +All other chips use bit 7 (0x80) of the first parameter byte to distinguish +between the 1st and 2nd chip. (0x00-7F = Chip 1, 0x80-0xFF = chip 2) + +Note: The SegaPCM chip has the 2nd-chip-bit in the high byte of the address +parameter. This is the second parameter byte. + +Dual Chip Support #3: +Data block commands have bit 31 set for ROM/RAM dumps that go to the second +chip. + + +Extra Header +------------ +With VGM v1.70, there was an extra header added. This one has to be placed +between the usual header and the actual VGM data. + +This is the format of the extra header: + + 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +0x00 [Header Size ][ChpClock Offset][ChpVol Offset ] + +Header Size is the size of the extra header. It has to be 4 or larger, +depending in the needed offsets. + +Then there are two offsets that point to extra header data for: +- additional Chip Clocks for second chips +- user-defined chip volumes + + +Chip Clock Header +----------------- +1 byte - Entry Count (chips with extra clocks) +[5 bytes - List Entry 1] +[5 bytes - List Entry 2] +... + +Each list entry has the format: +1 byte - Chip ID (chip order follows the header) +4 bytes - clock for second chip of the type above + + +Chip Volume Header +------------------ +1 byte - Entry Count (chips with user-defined volumes) +[4 bytes - List Entry 1] +[4 bytes - List Entry 2] +... + +Each list entry has the format: +1 byte - Chip ID (chip order follows the header) + Note: If bit 7 is set, it's the volume for a paired chip. + (e.g. the AY-part of the YM2203) +1 byte - Flags + Note: If bit 0 is set, it's the volume for the second chip. +2 bytes - volume for the chip + Note: If Bit 15 is 0, this is an absolute volume setting. + If Bit 15 is 1, it's relative and the chip volume gets + multiplied by ((Value & 0x7FFF) / 0x0100). + + +History +------- +[1.00] +Initial public release by Dave + +[1.01] +Rate value added by Maxim; 1.00 files are fully compatible + +[1.10] +PSG white noise feedback and shift register width parameters added by Maxim, +with note on how to handle earlier version files. +Additional wait command added by Maxim with thanks to Steve Snake for the +suggestion. +1.01 files are fully compatible but 1.01 players might have problems +with 1.10 files, hence the 0.1 version change. + +[1.50] +VGM data offset added to header by Maxim. +Data block support added by blargg, to allow for better handling of YM2612 PCM +data. +Both of these changes have the potential to cause problems, but are really good +changes, so the version number has been increased all the way to 1.50. + +[1.51] +Sega PCM, RF5C68, YM2203, YM2608, YM2610/B, YM3812, YM3526, Y8950, YMF262, +YMF278B, YMF271, YMZ280B, RF5C164, PWM and AY8910 chips and commands added. + +Additional data block types RF5C68 RAM write, RF5C164 RAM write, Sega PCM ROM, +YM2608 DELTA-T ROM, YM2610 ADPCM ROM, YM2610 DELTA-T ROM, YMF278B ROM, +YMF271 ROM, YMF271 RAM, YMZ280B ROM and Y8950 DELTA-T ROM Data added. + +Data Block Types splitted into 4 categories. (PCM Stream, compressed PCM +Stream, ROM/RAM Dump, RAM write) + +SN76489 Flags and Loop Modifier added. + +It is the first time the header size exceeds 0x40 bytes. +1.51 files are fully compatible to 1.50 players, but there may be problems with +the new commands. + +Note: Dual chip support was added too, but as a "cheat"-feature. The dual-chip +-bits in the clock values are not compatible to 1.50, but the rest is. + +All changes done by Valley Bell. + +[1.60] +RF5C68, RF5C164 and PWM PCM blocks and compressed data blocks added. + +A whole bunch of new commands (PCM RAM write and DAC Stream Control) added. + +Volume Modifier and Loop Base added. + +The new commands (especially 0x9?) may cause problems with older players. + +All changes done by Valley Bell. + +[1.61] +GameBoy DMG, NES APU, MultiPCM, uPD7759, OKIM6258, OKIM6295, K051649, K051649, +HuC6280, C140, K053260, Pokey and Q-Sound chips added. +(including necessary data blocks) + +Changed number of operands from 1 to 2 for reserved commands 0x40-0x4E. +Although they're still unused, old players might handle future vgm versions +wrongly. + +All changes done by Valley Bell. + +[1.70] +Added extra header with seperate chip clocks for the second one of dual chips +and chip volume adjustments. + +All changes done by Valley Bell. + +[1.71] +SCSP, WonderSwan, Virtual Boy VSU, SAA1099, ES5503, ES5506, Seta X1-010, +Namco C352, Irem GA20 added. (including necessary ROM data blocks) +[Valley Bell] + +Data blocks (type 0x) for OKIM6258, HuC6280, SCSP and NES added. +VGM v1.61 players should support the data block of their respective chips +despite their late addition. [Valley Bell] + +Added bit 31 flags to change chip types for YM2612, YM2151 and K051649. These +changes should be considered backwards compatible with VGM 1.51. [grauw, ctr] + +Added command 0x31 to set AY8910 stereo mask. [NewRisingSun] + +Documented some chip flags that have been present since earlier versions of +VGMPlay. [NewRisingSun] + +Added "XNOR noise feedback" bit to SN76489 flags. The new flag should be +supported by VGM v1.51 players where possible. [Valley Bell]