@capgo/cli 7.11.10 → 7.11.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +31 -31
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -213,9 +213,9 @@ GFS4: `),console.error(i)});I6[gt]||(yL=global[gt]||[],DL(I6,yL),I6.close=functi
|
|
|
213
213
|
`),new Hx("",yf0,""),new Hx("",me,"]"),new Hx("",me," for "),new Hx("",kf0,""),new Hx("",mf0,""),new Hx("",me," a "),new Hx("",me," that "),new Hx(" ",q6,""),new Hx("",me,". "),new Hx(".",me,""),new Hx(" ",me,", "),new Hx("",Sf0,""),new Hx("",me," with "),new Hx("",me,"'"),new Hx("",me," from "),new Hx("",me," by "),new Hx("",Ff0,""),new Hx("",Of0,""),new Hx(" the ",me,""),new Hx("",wf0,""),new Hx("",me,". The "),new Hx("",Q6,""),new Hx("",me," on "),new Hx("",me," as "),new Hx("",me," is "),new Hx("",Af0,""),new Hx("",FU,"ing "),new Hx("",me,`
|
|
214
214
|
`),new Hx("",me,":"),new Hx(" ",me,". "),new Hx("",me,"ed "),new Hx("",If0,""),new Hx("",Pf0,""),new Hx("",vf0,""),new Hx("",me,"("),new Hx("",q6,", "),new Hx("",Ef0,""),new Hx("",me," at "),new Hx("",me,"ly "),new Hx(" the ",me," of "),new Hx("",Df0,""),new Hx("",PU,""),new Hx(" ",q6,", "),new Hx("",q6,'"'),new Hx(".",me,"("),new Hx("",Q6," "),new Hx("",q6,'">'),new Hx("",me,'="'),new Hx(" ",me,"."),new Hx(".com/",me,""),new Hx(" the ",me," of the "),new Hx("",q6,"'"),new Hx("",me,". This "),new Hx("",me,","),new Hx(".",me," "),new Hx("",q6,"("),new Hx("",q6,"."),new Hx("",me," not "),new Hx(" ",me,'="'),new Hx("",me,"er "),new Hx(" ",Q6," "),new Hx("",me,"al "),new Hx(" ",Q6,""),new Hx("",me,"='"),new Hx("",Q6,'"'),new Hx("",q6,". "),new Hx(" ",me,"("),new Hx("",me,"ful "),new Hx(" ",q6,". "),new Hx("",me,"ive "),new Hx("",me,"less "),new Hx("",Q6,"'"),new Hx("",me,"est "),new Hx(" ",q6,"."),new Hx("",Q6,'">'),new Hx(" ",me,"='"),new Hx("",q6,","),new Hx("",me,"ize "),new Hx("",Q6,"."),new Hx("\xC2\xA0",me,""),new Hx(" ",me,","),new Hx("",q6,'="'),new Hx("",Q6,'="'),new Hx("",me,"ous "),new Hx("",Q6,", "),new Hx("",q6,"='"),new Hx(" ",q6,","),new Hx(" ",Q6,'="'),new Hx(" ",Q6,", "),new Hx("",Q6,","),new Hx("",Q6,"("),new Hx("",Q6,". "),new Hx(" ",Q6,"."),new Hx("",Q6,"='"),new Hx(" ",Q6,". "),new Hx(" ",q6,'="'),new Hx(" ",Q6,"='"),new Hx(" ",q6,"='")];n4.kTransforms=Bu;n4.kNumTransforms=Bu.length;function OU(i,r){return i[r]<192?(i[r]>=97&&i[r]<=122&&(i[r]^=32),1):i[r]<224?(i[r+1]^=32,2):(i[r+2]^=5,3)}n4.transformDictionaryWord=function(i,r,a,n,o){var e=Bu[o].prefix,s=Bu[o].suffix,_=Bu[o].transform,o0=_<wg?0:_-(wg-1),r0=0,i0=r,c0;o0>n&&(o0=n);for(var g0=0;g0<e.length;)i[r++]=e[g0++];for(a+=o0,n-=o0,_<=PU&&(n-=_),r0=0;r0<n;r0++)i[r++]=gf0.dictionary[a+r0];if(c0=r-n,_===q6)OU(i,c0);else if(_===Q6)for(;n>0;){var p0=OU(i,c0);c0+=p0,n-=p0}for(var E0=0;E0<s.length;)i[r++]=s[E0++];return r-i0}});var Cg=_0(o4=>{var LU=pg().BrotliInput,Bf0=pg().BrotliOutput,d7=vU(),f7=bg(),z6=mg().HuffmanCode,MU=mg().BrotliBuildHuffmanTable,u7=kU(),Rn=SU(),BU=IU(),Tf0=8,TU=16,Rf0=256,_f0=704,Nf0=26,RU=6,_U=2,vg=8,Lf0=255,_n=1080,Ag=18,Mf0=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),Eg=16,Uf0=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),Hf0=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),qf0=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function UU(i){var r;return i.readBits(1)===0?16:(r=i.readBits(3),r>0?17+r:(r=i.readBits(3),r>0?8+r:17))}function HU(i){if(i.readBits(1)){var r=i.readBits(3);return r===0?1:i.readBits(r)+(1<<r)}return 0}function Gf0(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function qU(i){var r=new Gf0,a,n,o;if(r.input_end=i.readBits(1),r.input_end&&i.readBits(1))return r;if(a=i.readBits(2)+4,a===7){if(r.is_metadata=!0,i.readBits(1)!==0)throw new Error("Invalid reserved bit");if(n=i.readBits(2),n===0)return r;for(o=0;o<n;o++){var e=i.readBits(8);if(o+1===n&&n>1&&e===0)throw new Error("Invalid size byte");r.meta_block_length|=e<<o*8}}else for(o=0;o<a;++o){var s=i.readBits(4);if(o+1===a&&a>4&&s===0)throw new Error("Invalid size nibble");r.meta_block_length|=s<<o*4}return++r.meta_block_length,!r.input_end&&!r.is_metadata&&(r.is_uncompressed=i.readBits(1)),r}function l7(i,r,a){var n=r,o;return a.fillBitWindow(),r+=a.val_>>>a.bit_pos_&Lf0,o=i[r].bits-vg,o>0&&(a.bit_pos_+=vg,r+=i[r].value,r+=a.val_>>>a.bit_pos_&(1<<o)-1),a.bit_pos_+=i[r].bits,i[r].value}function jf0(i,r,a,n){for(var o=0,e=Tf0,s=0,_=0,o0=32768,r0=[],i0=0;i0<32;i0++)r0.push(new z6(0,0));for(MU(r0,0,5,i,Ag);o<r&&o0>0;){var c0=0,g0;if(n.readMoreInput(),n.fillBitWindow(),c0+=n.val_>>>n.bit_pos_&31,n.bit_pos_+=r0[c0].bits,g0=r0[c0].value&255,g0<TU)s=0,a[o++]=g0,g0!==0&&(e=g0,o0-=32768>>g0);else{var p0=g0-14,E0,P0,F0=0;if(g0===TU&&(F0=e),_!==F0&&(s=0,_=F0),E0=s,s>0&&(s-=2,s<<=p0),s+=n.readBits(p0)+3,P0=s-E0,o+P0>r)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var N0=0;N0<P0;N0++)a[o+N0]=_;o+=P0,_!==0&&(o0-=P0<<15-_)}}if(o0!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+o0);for(;o<r;o++)a[o]=0}function s4(i,r,a,n){var o=0,e,s=new Uint8Array(i);if(n.readMoreInput(),e=n.readBits(2),e===1){for(var _,o0=i-1,r0=0,i0=new Int32Array(4),c0=n.readBits(2)+1;o0;)o0>>=1,++r0;for(_=0;_<c0;++_)i0[_]=n.readBits(r0)%i,s[i0[_]]=2;switch(s[i0[0]]=1,c0){case 1:break;case 3:if(i0[0]===i0[1]||i0[0]===i0[2]||i0[1]===i0[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(i0[0]===i0[1])throw new Error("[ReadHuffmanCode] invalid symbols");s[i0[1]]=1;break;case 4:if(i0[0]===i0[1]||i0[0]===i0[2]||i0[0]===i0[3]||i0[1]===i0[2]||i0[1]===i0[3]||i0[2]===i0[3])throw new Error("[ReadHuffmanCode] invalid symbols");n.readBits(1)?(s[i0[2]]=3,s[i0[3]]=3):s[i0[0]]=2;break}}else{var _,g0=new Uint8Array(Ag),p0=32,E0=0,P0=[new z6(2,0),new z6(2,4),new z6(2,3),new z6(3,2),new z6(2,0),new z6(2,4),new z6(2,3),new z6(4,1),new z6(2,0),new z6(2,4),new z6(2,3),new z6(3,2),new z6(2,0),new z6(2,4),new z6(2,3),new z6(4,5)];for(_=e;_<Ag&&p0>0;++_){var F0=Mf0[_],N0=0,Y0;n.fillBitWindow(),N0+=n.val_>>>n.bit_pos_&15,n.bit_pos_+=P0[N0].bits,Y0=P0[N0].value,g0[F0]=Y0,Y0!==0&&(p0-=32>>Y0,++E0)}if(!(E0===1||p0===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");jf0(g0,i,s,n)}if(o=MU(r,a,vg,s,i),o===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return o}function a4(i,r,a){var n,o;return n=l7(i,r,a),o=Rn.kBlockLengthPrefixCode[n].nbits,Rn.kBlockLengthPrefixCode[n].offset+a.readBits(o)}function Vf0(i,r,a){var n;return i<Eg?(a+=Uf0[i],a&=3,n=r[a]+Hf0[i]):n=i-Eg+1,n}function Qf0(i,r){for(var a=i[r],n=r;n;--n)i[n]=i[n-1];i[0]=a}function zf0(i,r){var a=new Uint8Array(256),n;for(n=0;n<256;++n)a[n]=n;for(n=0;n<r;++n){var o=i[n];i[n]=a[o],o&&Qf0(a,o)}}function xo(i,r){this.alphabet_size=i,this.num_htrees=r,this.codes=new Array(r+r*qf0[i+31>>>5]),this.htrees=new Uint32Array(r)}xo.prototype.decode=function(i){var r,a,n=0;for(r=0;r<this.num_htrees;++r)this.htrees[r]=n,a=s4(this.alphabet_size,this.codes,n,i),n+=a};function NU(i,r){var a={num_htrees:null,context_map:null},n,o=0,e,s;r.readMoreInput();var _=a.num_htrees=HU(r)+1,o0=a.context_map=new Uint8Array(i);if(_<=1)return a;for(n=r.readBits(1),n&&(o=r.readBits(4)+1),e=[],s=0;s<_n;s++)e[s]=new z6(0,0);for(s4(_+o,e,0,r),s=0;s<i;){var r0;if(r.readMoreInput(),r0=l7(e,0,r),r0===0)o0[s]=0,++s;else if(r0<=o)for(var i0=1+(1<<r0)+r.readBits(r0);--i0;){if(s>=i)throw new Error("[DecodeContextMap] i >= context_map_size");o0[s]=0,++s}else o0[s]=r0-o,++s}return r.readBits(1)&&zf0(o0,i),a}function Dg(i,r,a,n,o,e,s){var _=a*2,o0=a,r0=l7(r,a*_n,s),i0;r0===0?i0=o[_+(e[o0]&1)]:r0===1?i0=o[_+(e[o0]-1&1)]+1:i0=r0-2,i0>=i&&(i0-=i),n[a]=i0,o[_+(e[o0]&1)]=i0,++e[o0]}function Wf0(i,r,a,n,o,e){var s=o+1,_=a&o,o0=e.pos_&d7.IBUF_MASK,r0;if(r<8||e.bit_pos_+(r<<3)<e.bit_end_pos_){for(;r-- >0;)e.readMoreInput(),n[_++]=e.readBits(8),_===s&&(i.write(n,s),_=0);return}if(e.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;e.bit_pos_<32;)n[_]=e.val_>>>e.bit_pos_,e.bit_pos_+=8,++_,--r;if(r0=e.bit_end_pos_-e.bit_pos_>>3,o0+r0>d7.IBUF_MASK){for(var i0=d7.IBUF_MASK+1-o0,c0=0;c0<i0;c0++)n[_+c0]=e.buf_[o0+c0];r0-=i0,_+=i0,r-=i0,o0=0}for(var c0=0;c0<r0;c0++)n[_+c0]=e.buf_[o0+c0];if(_+=r0,r-=r0,_>=s){i.write(n,s),_-=s;for(var c0=0;c0<_;c0++)n[c0]=n[s+c0]}for(;_+r>=s;){if(r0=s-_,e.input_.read(n,_,r0)<r0)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");i.write(n,s),r-=r0,_=0}if(e.input_.read(n,_,r)<r)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");e.reset()}function Yf0(i){var r=i.bit_pos_+7&-8,a=i.readBits(r-i.bit_pos_);return a==0}function GU(i){var r=new LU(i),a=new d7(r);UU(a);var n=qU(a);return n.meta_block_length}o4.BrotliDecompressedSize=GU;function Kf0(i,r){var a=new LU(i);r==null&&(r=GU(i));var n=new Uint8Array(r),o=new Bf0(n);return jU(a,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer}o4.BrotliDecompressBuffer=Kf0;function jU(i,r){var a,n=0,o=0,e=0,s,_=0,o0,r0,i0,c0,g0=[16,15,11,4],p0=0,E0=0,P0=0,F0=[new xo(0,0),new xo(0,0),new xo(0,0)],N0,Y0,S0,W0=128+d7.READ_SIZE;S0=new d7(i),e=UU(S0),s=(1<<e)-16,o0=1<<e,r0=o0-1,i0=new Uint8Array(o0+W0+f7.maxDictionaryWordLength),c0=o0,N0=[],Y0=[];for(var Q0=0;Q0<3*_n;Q0++)N0[Q0]=new z6(0,0),Y0[Q0]=new z6(0,0);for(;!o;){var sx=0,J0,Cx=[1<<28,1<<28,1<<28],z0=[0],yx=[1,1,1],$0=[0,1,0,1,0,1],qx=[0],zx,ee,v0,R0,L0=null,q0=null,ix,_x=null,kx,ne=0,Sx=null,jx=0,ke=0,ie=null,Me=0,yt=0,ce=0,Ue,te;for(a=0;a<3;++a)F0[a].codes=null,F0[a].htrees=null;S0.readMoreInput();var Re=qU(S0);if(sx=Re.meta_block_length,n+sx>r.buffer.length){var i6=new Uint8Array(n+sx);i6.set(r.buffer),r.buffer=i6}if(o=Re.input_end,J0=Re.is_uncompressed,Re.is_metadata){for(Yf0(S0);sx>0;--sx)S0.readMoreInput(),S0.readBits(8);continue}if(sx!==0){if(J0){S0.bit_pos_=S0.bit_pos_+7&-8,Wf0(r,sx,n,i0,r0,S0),n+=sx;continue}for(a=0;a<3;++a)yx[a]=HU(S0)+1,yx[a]>=2&&(s4(yx[a]+2,N0,a*_n,S0),s4(Nf0,Y0,a*_n,S0),Cx[a]=a4(Y0,a*_n,S0),qx[a]=1);for(S0.readMoreInput(),zx=S0.readBits(2),ee=Eg+(S0.readBits(4)<<zx),v0=(1<<zx)-1,R0=ee+(48<<zx),q0=new Uint8Array(yx[0]),a=0;a<yx[0];++a)S0.readMoreInput(),q0[a]=S0.readBits(2)<<1;var Y6=NU(yx[0]<<RU,S0);ix=Y6.num_htrees,L0=Y6.context_map;var v6=NU(yx[2]<<_U,S0);for(kx=v6.num_htrees,_x=v6.context_map,F0[0]=new xo(Rf0,ix),F0[1]=new xo(_f0,yx[1]),F0[2]=new xo(R0,kx),a=0;a<3;++a)F0[a].decode(S0);for(Sx=0,ie=0,Ue=q0[z0[0]],yt=u7.lookupOffsets[Ue],ce=u7.lookupOffsets[Ue+1],te=F0[1].htrees[0];sx>0;){var Di,Sr,Gu,rx,ju,Ax,wt,Mr,so,Mn,oo;for(S0.readMoreInput(),Cx[1]===0&&(Dg(yx[1],N0,1,z0,$0,qx,S0),Cx[1]=a4(Y0,_n,S0),te=F0[1].htrees[z0[1]]),--Cx[1],Di=l7(F0[1].codes,te,S0),Sr=Di>>6,Sr>=2?(Sr-=2,wt=-1):wt=0,Gu=Rn.kInsertRangeLut[Sr]+(Di>>3&7),rx=Rn.kCopyRangeLut[Sr]+(Di&7),ju=Rn.kInsertLengthPrefixCode[Gu].offset+S0.readBits(Rn.kInsertLengthPrefixCode[Gu].nbits),Ax=Rn.kCopyLengthPrefixCode[rx].offset+S0.readBits(Rn.kCopyLengthPrefixCode[rx].nbits),E0=i0[n-1&r0],P0=i0[n-2&r0],Mn=0;Mn<ju;++Mn)S0.readMoreInput(),Cx[0]===0&&(Dg(yx[0],N0,0,z0,$0,qx,S0),Cx[0]=a4(Y0,0,S0),ne=z0[0]<<RU,Sx=ne,Ue=q0[z0[0]],yt=u7.lookupOffsets[Ue],ce=u7.lookupOffsets[Ue+1]),so=u7.lookup[yt+E0]|u7.lookup[ce+P0],jx=L0[Sx+so],--Cx[0],P0=E0,E0=l7(F0[0].codes,F0[0].htrees[jx],S0),i0[n&r0]=E0,(n&r0)===r0&&r.write(i0,o0),++n;if(sx-=ju,sx<=0)break;if(wt<0){var so;if(S0.readMoreInput(),Cx[2]===0&&(Dg(yx[2],N0,2,z0,$0,qx,S0),Cx[2]=a4(Y0,2*_n,S0),ke=z0[2]<<_U,ie=ke),--Cx[2],so=(Ax>4?3:Ax-2)&255,Me=_x[ie+so],wt=l7(F0[2].codes,F0[2].htrees[Me],S0),wt>=ee){var D7,re,co;wt-=ee,re=wt&v0,wt>>=zx,D7=(wt>>1)+1,co=(2+(wt&1)<<D7)-4,wt=ee+(co+S0.readBits(D7)<<zx)+re}}if(Mr=Vf0(wt,g0,p0),Mr<0)throw new Error("[BrotliDecompress] invalid distance");if(n<s&&_!==s?_=n:_=s,oo=n&r0,Mr>_)if(Ax>=f7.minDictionaryWordLength&&Ax<=f7.maxDictionaryWordLength){var co=f7.offsetsByLength[Ax],Vu=Mr-_-1,Ur=f7.sizeBitsByLength[Ax],E4=(1<<Ur)-1,C4=Vu&E4,Ji=Vu>>Ur;if(co+=C4*Ax,Ji<BU.kNumTransforms){var Px=BU.transformDictionaryWord(i0,oo,co,Ax,Ji);if(oo+=Px,n+=Px,sx-=Px,oo>=c0){r.write(i0,o0);for(var V0=0;V0<oo-c0;V0++)i0[V0]=i0[c0+V0]}}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+Mr+" len: "+Ax+" bytes left: "+sx)}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+Mr+" len: "+Ax+" bytes left: "+sx);else{if(wt>0&&(g0[p0&3]=Mr,++p0),Ax>sx)throw new Error("Invalid backward reference. pos: "+n+" distance: "+Mr+" len: "+Ax+" bytes left: "+sx);for(Mn=0;Mn<Ax;++Mn)i0[n&r0]=i0[n-Mr&r0],(n&r0)===r0&&r.write(i0,o0),++n,--sx}E0=i0[n-1&r0],P0=i0[n-2&r0]}n&=1073741823}}r.write(i0,n&r0)}o4.BrotliDecompress=jU;f7.init()});var QU=_0((aD0,VU)=>{VU.exports=Cg().BrotliDecompressBuffer});var YU=_0(c4=>{"use strict";c4.byteLength=Jf0;c4.toByteArray=$f0;c4.fromByteArray=td0;var pi=[],Cr=[],Xf0=typeof Uint8Array<"u"?Uint8Array:Array,kg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(eo=0,zU=kg.length;eo<zU;++eo)pi[eo]=kg[eo],Cr[kg.charCodeAt(eo)]=eo;var eo,zU;Cr[45]=62;Cr[95]=63;function WU(i){var r=i.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var a=i.indexOf("=");a===-1&&(a=r);var n=a===r?0:4-a%4;return[a,n]}function Jf0(i){var r=WU(i),a=r[0],n=r[1];return(a+n)*3/4-n}function Zf0(i,r,a){return(r+a)*3/4-a}function $f0(i){var r,a=WU(i),n=a[0],o=a[1],e=new Xf0(Zf0(i,n,o)),s=0,_=o>0?n-4:n,o0;for(o0=0;o0<_;o0+=4)r=Cr[i.charCodeAt(o0)]<<18|Cr[i.charCodeAt(o0+1)]<<12|Cr[i.charCodeAt(o0+2)]<<6|Cr[i.charCodeAt(o0+3)],e[s++]=r>>16&255,e[s++]=r>>8&255,e[s++]=r&255;return o===2&&(r=Cr[i.charCodeAt(o0)]<<2|Cr[i.charCodeAt(o0+1)]>>4,e[s++]=r&255),o===1&&(r=Cr[i.charCodeAt(o0)]<<10|Cr[i.charCodeAt(o0+1)]<<4|Cr[i.charCodeAt(o0+2)]>>2,e[s++]=r>>8&255,e[s++]=r&255),e}function xd0(i){return pi[i>>18&63]+pi[i>>12&63]+pi[i>>6&63]+pi[i&63]}function ed0(i,r,a){for(var n,o=[],e=r;e<a;e+=3)n=(i[e]<<16&16711680)+(i[e+1]<<8&65280)+(i[e+2]&255),o.push(xd0(n));return o.join("")}function td0(i){for(var r,a=i.length,n=a%3,o=[],e=16383,s=0,_=a-n;s<_;s+=e)o.push(ed0(i,s,s+e>_?_:s+e));return n===1?(r=i[a-1],o.push(pi[r>>2]+pi[r<<4&63]+"==")):n===2&&(r=(i[a-2]<<8)+i[a-1],o.push(pi[r>>10]+pi[r>>4&63]+pi[r<<2&63]+"=")),o.join("")}});var XU=_0((oD0,KU)=>{KU.exports="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"});var JU=_0((exports,module)=>{var b={},aa=QU(),ba=YU();b.readBinary=function(){var i=ba.toByteArray(XU());return aa(i)};b||(b=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var g={},m;for(m in b)b.hasOwnProperty(m)&&(g[m]=b[m]);var t=typeof window=="object",u=typeof importScripts=="function",v=typeof process=="object"&&typeof require=="function"&&!t&&!u,x=!t&&!v&&!u;if(v)b.print||(b.print=function(i){process.stdout.write(i+`
|
|
215
215
|
`)}),b.printErr||(b.printErr=function(i){process.stderr.write(i+`
|
|
216
|
-
`)}),ca=require("fs"),da=require("path"),b.read=function(i,r){i=da.normalize(i);var a=ca.readFileSync(i);return a||i==da.resolve(i)||(i=path.join(__dirname,"..","src",i),a=ca.readFileSync(i)),a&&!r&&(a=a.toString()),a},b.readBinary=function(i){return i=b.read(i,!0),i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},b.load=function(i){ea(read(i))},b.thisProgram||(b.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program"),b.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=b),process.on("uncaughtException",function(i){if(!(i instanceof y))throw i}),b.inspect=function(){return"[Emscripten Module object]"};else if(x)b.print||(b.print=print),typeof printErr<"u"&&(b.printErr=printErr),b.read=typeof read<"u"?read:function(){throw"no read() available (jsc?)"},b.readBinary=function(i){return typeof readbuffer=="function"?new Uint8Array(readbuffer(i)):(i=read(i,"binary"),assert(typeof i=="object"),i)},typeof scriptArgs<"u"?b.arguments=scriptArgs:typeof arguments<"u"&&(b.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(t||u)b.read=function(i){var r=new XMLHttpRequest;return r.open("GET",i,!1),r.send(null),r.responseText},typeof arguments<"u"&&(b.arguments=arguments),typeof console<"u"?(b.print||(b.print=function(i){console.log(i)}),b.printErr||(b.printErr=function(i){console.log(i)})):b.print||(b.print=function(){}),u&&(b.load=importScripts),typeof b.setWindowTitle>"u"&&(b.setWindowTitle=function(i){document.title=i});else throw"Unknown runtime environment. Where are we?";var ca,da;function ea(i){eval.call(null,i)}!b.load&&b.read&&(b.load=function(i){ea(b.read(i))});b.print||(b.print=function(){});b.printErr||(b.printErr=b.print);b.arguments||(b.arguments=[]);b.thisProgram||(b.thisProgram="./this.program");b.print=b.print;b.A=b.printErr;b.preRun=[];b.postRun=[];for(m in g)g.hasOwnProperty(m)&&(b[m]=g[m]);var A={P:function(i){fa=i},N:function(){return fa},G:function(){return z},F:function(i){z=i},D:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:return i[i.length-1]==="*"?A.o:i[0]==="i"?(i=parseInt(i.substr(1)),assert(i%8===0),i/8):0}},M:function(i){return Math.max(A.D(i),A.o)},R:16,ea:function(i,r){return r==="double"||r==="i64"?i&7&&(assert((i&7)===4),i+=4):assert((i&3)===0),i},Y:function(i,r,a){return a||i!="i64"&&i!="double"?i?Math.min(r||(i?A.M(i):0),A.o):Math.min(r,8):8},r:function(i,r,a){return a&&a.length?(a.splice||(a=Array.prototype.slice.call(a)),a.splice(0,0,r),b["dynCall_"+i].apply(null,a)):b["dynCall_"+i].call(null,r)},k:[],H:function(i){for(var r=0;r<A.k.length;r++)if(!A.k[r])return A.k[r]=i,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},O:function(i){A.k[(i-2)/2]=null},e:function(i){A.e.B||(A.e.B={}),A.e.B[i]||(A.e.B[i]=1,b.A(i))},u:{},$:function(i,r){assert(r),A.u[r]||(A.u[r]={});var a=A.u[r];return a[i]||(a[i]=function(){return A.r(r,i,arguments)}),a[i]},Z:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},n:function(i){var r=z;return z=z+i|0,z=z+15&-16,r},Q:function(i){var r=B;return B=B+i|0,B=B+15&-16,r},g:function(i){var r=C;return C=C+i|0,C=C+15&-16,(i=C>=D)&&(E("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+D+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),i=!0),i?(C=r,0):r},p:function(i,r){return Math.ceil(i/(r||16))*(r||16)},da:function(i,r,a){return a?+(i>>>0)+4294967296*+(r>>>0):+(i>>>0)+4294967296*+(r|0)},C:8,o:4,S:0};A.addFunction=A.H;A.removeFunction=A.O;var F=!1,G,H,fa;function assert(i,r){i||E("Assertion failed: "+r)}(function(){var i={stackSave:function(){A.G()},stackRestore:function(){A.F()},arrayToC:function(n){for(var o=A.n(n.length),e=o,s=0;s<n.length;s++)I[e++>>0]=n[s];return o},stringToC:function(n){var o=0;return n!=null&&n!==0&&(o=A.n((n.length<<2)+1),ga(n,o)),o}},r=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,a;for(a in i)i.hasOwnProperty(a)&&i[a].toString().match(r).slice(1)})();function ha(i){var r;switch(r="i32",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":return I[i>>0];case"i8":return I[i>>0];case"i16":return J[i>>1];case"i32":return K[i>>2];case"i64":return K[i>>2];case"float":return L[i>>2];case"double":return N[i>>3];default:E("invalid type for setValue: "+r)}return null}function O(i,r,a){var n,o,e;typeof i=="number"?(o=!0,e=i):(o=!1,e=i.length);var s=typeof r=="string"?r:null;if(a=a==4?n:[ia,A.n,A.Q,A.g][a===void 0?2:a](Math.max(e,s?1:r.length)),o){for(n=a,assert((a&3)==0),i=a+(e&-4);n<i;n+=4)K[n>>2]=0;for(i=a+e;n<i;)I[n++>>0]=0;return a}if(s==="i8")return i.subarray||i.slice?P.set(i,a):P.set(new Uint8Array(i),a),a;n=0;for(var _,o0;n<e;){var r0=i[n];if(typeof r0=="function"&&(r0=A.aa(r0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var i0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[i0>>0]=r0;break;case"i8":I[i0>>0]=r0;break;case"i16":J[i0>>1]=r0;break;case"i32":K[i0>>2]=r0;break;case"i64":H=[r0>>>0,(G=r0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[i0>>2]=H[0],K[i0+4>>2]=H[1];break;case"float":L[i0>>2]=r0;break;case"double":N[i0>>3]=r0;break;default:E("invalid type for setValue: "+c0)}o0!==o&&(_=A.D(o),o0=o),n+=_}}return a}function Q(i){var r;if(r===0||!i)return"";for(var a=0,n,o=0;n=P[i+o>>0],a|=n,!(n==0&&!r||(o++,r&&o==r)););if(r||(r=o),n="",128>a){for(;0<r;)a=String.fromCharCode.apply(String,P.subarray(i,i+Math.min(r,1024))),n=n?n+a:a,i+=1024,r-=1024;return n}return b.UTF8ToString(i)}function oa(i){function r(i0,c0,g0){c0=c0||1/0;var p0="",E0=[],P0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,P0=[];i[e]!=="E";)if(i[e]==="S"){e++;var F0=i.indexOf("_",e);P0.push(_[i.substring(e,F0)||0]||"?"),e=F0+1}else if(i[e]==="C")P0.push(P0[P0.length-1]),e+=2;else{var F0=parseInt(i.substr(e)),N0=F0.toString().length;if(!F0||!N0){e--;break}var Y0=i.substr(e+N0,F0);P0.push(Y0),_.push(Y0),e+=N0+F0}if(e++,P0=P0.join("::"),c0--,c0===0)return i0?[P0]:P0}else(i[e]==="K"||o0&&i[e]==="L")&&e++,(F0=parseInt(i.substr(e)))&&(N0=F0.toString().length,P0=i.substr(e+N0,F0),e+=N0+F0);o0=!1,i[e]==="I"?(e++,F0=r(!0),N0=r(!0,1,!0),p0+=N0[0]+" "+P0+"<"+F0.join(", ")+">"):p0=P0;x:for(;e<i.length&&0<c0--;)if(P0=i[e++],P0 in s)E0.push(s[P0]);else switch(P0){case"P":E0.push(r(!0,1,!0)[0]+"*");break;case"R":E0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,F0=i.indexOf("E",e)-e,E0.push(i.substr(e,F0)),e+=F0+2;break;case"A":if(F0=parseInt(i.substr(e)),e+=F0.toString().length,i[e]!=="_")throw"?";e++,E0.push(r(!0,1,!0)[0]+" ["+F0+"]");break;case"E":break x;default:p0+="?"+P0;break x}return g0||E0.length!==1||E0[0]!=="void"||(E0=[]),i0?(p0&&E0.push(p0+"?"),E0):p0+("("+E0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var r0=ia(i.length);ga(i.substr(1),r0);var n=ia(4),o=b.___cxa_demangle(r0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{r0&&pa(r0),n&&pa(n),o&&pa(o)}var e=3,s={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},_=[],o0=!0,r0=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=Q(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}r0=r()}catch{r0+="?"}return 0<=r0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),r0}function qa(){return ra().replace(/__Z[\w\d_]+/g,function(i){var r=oa(i);return i===r?i:i+" ["+r+"]"})}function ra(){var i=Error();if(!i.stack){try{throw Error(0)}catch(r){i=r}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function sa(){var i=C;return 0<i%4096&&(i+=4096-i%4096),i}for(va=0,B=0,wa=0,z=0,xa=0,ya=0,C=0,za=b.TOTAL_STACK||5242880,D=b.TOTAL_MEMORY||318767104,R=65536;R<D||R<2*za;)R=16777216>R?2*R:R+16777216;var I,P,J,ta,K,ua,L,N,va,B,wa,z,xa,ya,C,za,D,R;R!==D&&(D=R);assert(typeof Int32Array<"u"&&typeof Float64Array<"u"&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(D);I=new Int8Array(buffer);J=new Int16Array(buffer);K=new Int32Array(buffer);P=new Uint8Array(buffer);ta=new Uint16Array(buffer);ua=new Uint32Array(buffer);L=new Float32Array(buffer);N=new Float64Array(buffer);K[0]=255;assert(P[0]===255&&P[3]===0,"Typed arrays 2 must be run on a little-endian system");b.HEAP=void 0;b.buffer=buffer;b.HEAP8=I;b.HEAP16=J;b.HEAP32=K;b.HEAPU8=P;b.HEAPU16=ta;b.HEAPU32=ua;b.HEAPF32=L;b.HEAPF64=N;function S(i){for(;0<i.length;){var r=i.shift();if(typeof r=="function")r();else{var a=r.X;typeof a=="number"?r.q===void 0?A.r("v",a):A.r("vi",a,[r.q]):a(r.q===void 0?null:r.q)}}}var Aa=[],Ba=[],Ca=[],Da=[],Ea=[],T=!1;function Fa(){var i=b.preRun.shift();Aa.unshift(i)}function Ga(i,r){for(var a=0,e=0;e<i.length;++e){var n=i.charCodeAt(e);55296<=n&&57343>=n&&(n=65536+((n&1023)<<10)|i.charCodeAt(++e)&1023),127>=n?++a:a=2047>=n?a+2:65535>=n?a+3:2097151>=n?a+4:67108863>=n?a+5:a+6}a=Array(a+1);var o=a.length,e=0;if(0<o){for(var n=e,o=e+o-1,s=0;s<i.length;++s){var _=i.charCodeAt(s);if(55296<=_&&57343>=_&&(_=65536+((_&1023)<<10)|i.charCodeAt(++s)&1023),127>=_){if(e>=o)break;a[e++]=_}else{if(2047>=_){if(e+1>=o)break;a[e++]=192|_>>6}else{if(65535>=_){if(e+2>=o)break;a[e++]=224|_>>12}else{if(2097151>=_){if(e+3>=o)break;a[e++]=240|_>>18}else{if(67108863>=_){if(e+4>=o)break;a[e++]=248|_>>24}else{if(e+5>=o)break;a[e++]=252|_>>30,a[e++]=128|_>>24&63}a[e++]=128|_>>18&63}a[e++]=128|_>>12&63}a[e++]=128|_>>6&63}a[e++]=128|_&63}}a[e]=0,e=e-n}else e=0;return r&&(a.length=e),a}function ga(i,r){for(var a=Ga(i,void 0),n=0;n<a.length;)I[r+n>>0]=a[n],n+=1}Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(i,r){var a=i&65535,n=r&65535;return a*n+((i>>>16)*n+a*(r>>>16)<<16)|0});Math.ba=Math.imul;Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var r=0;32>r;r++)if(i&1<<31-r)return r;return 32});Math.V=Math.clz32;var ja=Math.abs,ma=Math.ceil,la=Math.floor,ka=Math.min,U=0,Ha=null,V=null;b.preloadedImages={};b.preloadedAudios={};var W=null,va=8,B=va+407936;Ba.push();var W="encode.js.mem",Ia=A.p(O(12,"i8",2),8);assert(Ia%8==0);b._i64Subtract=Ja;function Ka(i){return b.___errno_location&&(K[b.___errno_location()>>2]=i),i}b._memset=La;b._bitshift64Lshr=Ma;b._bitshift64Shl=Na;b._memcpy=Oa;b._i64Add=Pa;function X(i){X.L||(C=sa(),X.L=!0,assert(A.g),X.K=A.g,A.g=function(){E("cannot dynamically allocate, sbrk now has control")});var r=C;return i==0||X.K(i)?r:4294967295}b._memmove=Qa;function Ra(i){b.exit(i)}wa=z=A.p(B);xa=wa+za;ya=C=A.p(xa);assert(ya<D,"TOTAL_MEMORY not big enough for stack");var Sa=O([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.I={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0};b.J={abort:E,assert,invoke_vii:function(i,r,a){try{b.dynCall_vii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},invoke_iii:function(i,r,a){try{return b.dynCall_iii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},__exit:Ra,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Ka,_sysconf:function(i){switch(i){case 30:return 4096;case 85:return R/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ka(22),-1},_sbrk:X,_time:function(i){var r=Date.now()/1e3|0;return i&&(K[i>>2]=r),r},_emscripten_memcpy_big:function(i,r,a){return P.set(P.subarray(r,r+a),i),i},_llvm_trap:function(){E("trap!")},_exit:function(i){Ra(i)},___assert_fail:function(i,r,a,n){throw F=!0,"Assertion failed: "+Q(i)+", at: "+[r?Q(r):"unknown filename",a,n?Q(n):"unknown function"]+" at "+qa()},STACKTOP:z,STACK_MAX:xa,tempDoublePtr:Ia,ABORT:F,cttz_i8:Sa};var Y=function(i,r,a){var n=new i.Int8Array(a),o=new i.Int16Array(a),e=new i.Int32Array(a),s=new i.Uint8Array(a),_=new i.Uint16Array(a),o0=new i.Uint32Array(a),r0=new i.Float32Array(a),i0=new i.Float64Array(a),c0=r.STACKTOP|0,g0=r.STACK_MAX|0,p0=r.tempDoublePtr|0,E0=r.ABORT|0,P0=r.cttz_i8|0,F0=0,N0=0,Y0=0,S0=0,W0=i.NaN,Q0=i.Infinity,sx=0,J0=0,Cx=0,z0=0,yx=0,$0=0,qx=0,zx=0,ee=0,v0=0,R0=0,L0=0,q0=0,ix=0,_x=0,kx=0,ne=0,Sx=0,jx=0,ke=i.Math.floor,ie=i.Math.abs,Me=i.Math.sqrt,yt=i.Math.pow,ce=i.Math.cos,Ue=i.Math.sin,te=i.Math.tan,Re=i.Math.acos,i6=i.Math.asin,Y6=i.Math.atan,v6=i.Math.atan2,Di=i.Math.exp,Sr=i.Math.log,Gu=i.Math.ceil,rx=i.Math.imul,ju=i.Math.min,Ax=i.Math.clz32,wt=r.abort,Mr=r.assert,so=r.invoke_vii,Mn=r.invoke_iii,oo=r.__exit,D7=r._pthread_self,re=r._abort,co=r.___setErrNo,Vu=r._sysconf,Ur=r._sbrk,E4=r._time,C4=r._emscripten_memcpy_big,Ji=r._llvm_trap,Px=r._exit,V0=r.___assert_fail,wl0=0;function uo(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0;for(b0=c0,c0=c0+16|0,w0=b0,e[w0>>2]=0,e[w0+4>>2]=0,e[w0+8>>2]=0,e[w0+12>>2]=0,D0=0,m0=0;f;)e0=e[h+(m0<<2)>>2]|0,e0?(D0>>>0<4&&(e[w0+(D0<<2)>>2]=m0),a0=D0+1|0,f=f-e0|0):a0=D0,D0=a0,m0=m0+1|0;if(D0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Ix(1,0,e0&7|0)|0,a0=v0,e0=f|e0,f=$,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,$=$+4|0,n[$>>0]=a0,n[$+1>>0]=a0>>8,n[$+2>>0]=a0>>16,n[$+3>>0]=a0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,a0=e[w0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=Dx(a0|0,0,l|0)|0,(k|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),m0=Ix(a0|0,0,$&7|0)|0,w0=v0,m0=e0|m0,k=f,D0=k,n[D0>>0]=m0,n[D0+1>>0]=m0>>8,n[D0+2>>0]=m0>>16,n[D0+3>>0]=m0>>24,k=k+4|0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,e[p>>2]=(e[p>>2]|0)+l,n[d+a0>>0]=0,o[w+(a0<<1)>>1]=0,c0=b0;return}for(Vx(d|0,0,m0|0)|0,l0=c+8|0,u0=Tx[e[c>>2]&1](e[l0>>2]|0,m0<<4|8)|0,d0=u0,u0||Px(1),C0=1;;){f=m0,e0=d0;x:for(;;){do{if(!f)break x;f=f+-1|0,a0=e[h+(f<<2)>>2]|0}while((a0|0)==0);$=f&65535,a0>>>0<C0>>>0?(e[e0>>2]=C0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=a0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-d0|0,s0=f0>>3,t0=s0+1|0;x:do if(s0>>>0<13)for(M=1;;){if(M>>>0>=s0>>>0)break x;for(n0=u0+(M<<3)|0,x0=e[n0>>2]|0,n0=e[n0+4>>2]|0,$=M;f=$,$=$+-1|0,a0=u0+($<<3)|0,!!(pm(x0,e[a0>>2]|0)|0);)if(q=e[a0+4>>2]|0,j=u0+(f<<3)|0,e[j>>2]=e[a0>>2],e[j+4>>2]=q,!$){f=0;break}j=u0+(f<<3)|0,e[j>>2]=x0,e[j+4>>2]=n0,M=M+1|0}else for(q=s0>>>0<57?2:0;;){if((q|0)>=6)break x;for(f=e[19428+(q<<2)>>2]|0,j=f;!(j>>>0>=s0>>>0);){for($=u0+(j<<3)|0,a0=e[$>>2]|0,$=e[$+4>>2]|0,M=j;!(M>>>0<f>>>0||(x0=M-f|0,n0=u0+(x0<<3)|0,!(pm(a0,e[n0>>2]|0)|0)));)h0=n0,y0=e[h0+4>>2]|0,n0=u0+(M<<3)|0,e[n0>>2]=e[h0>>2],e[n0+4>>2]=y0,M=x0;h0=u0+(M<<3)|0,e[h0>>2]=a0,e[h0+4>>2]=$,j=j+1|0}q=q+1|0}while(!1);for(j=e0,a0=e0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=j+8|0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=0,$=t0,j=j+16|0,q=s0;!((q|0)<=1);)e0=e[u0+(a0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(M=$+1|0,f=e[u0+(M<<3)>>2]|0,n0=a0,x0=$):(n0=a0+1|0,e0=e[u0+(n0<<3)>>2]|0,M=$,x0=a0),e0>>>0>f>>>0?(a0=n0,$=M+1|0,e0=M):(f=e0,a0=n0+1|0,$=M,e0=n0),e[j+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[j+-4>>1]=x0,o[j+-2>>1]=e0,h0=j,e[h0>>2]=-1,e[h0+4>>2]=-1,j=j+8|0,q=q+-1|0;if(Nm((f0>>2)+-1|0,u0,d,14)|0)break;C0=C0<<1}if(vx[e[c+4>>2]&1](e[l0>>2]|0,u0),qn(d,m0,w),f0=e[p>>2]|0,t0=k+(f0>>>3)|0,s0=s[t0>>0]|0,f0=f0&7,D0>>>0>=5){h0=Ix(1431655764,255,f0|0)|0,e0=v0,h0=s0|h0,f=t0,q=f,n[q>>0]=h0,n[q+1>>0]=h0>>8,n[q+2>>0]=h0>>16,n[q+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+40|0,e[p>>2]=f,e0=0,q=8;x:for(;;){for(;;){if(e0>>>0>=m0>>>0){f=114;break x}for(j=n[d+e0>>0]|0,M=1,a0=e0;a0=a0+1|0,!(a0>>>0>=m0>>>0||(n[d+a0>>0]|0)!=j<<24>>24);)M=M+1|0;if(e0=e0+M|0,j<<24>>24)break;if(n0=e[11564+(M<<2)>>2]|0,$=8+(M<<3)|0,a0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,h0=Dx(a0|0,$|0,n0|0)|0,!((h0|0)==0&(v0|0)==0)){f=99;break x}h0=s[x0>>0]|0,c=Ix(a0|0,$|0,f&7|0)|0,y0=v0,c=h0|c,h0=x0,w=h0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,h0=(e[p>>2]|0)+n0|0,e[p>>2]=h0,f=h0}if(q<<24>>24==j<<24>>24)a0=M;else{if($=j&255,a0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,h0=Dx($|0,0,a0&255|0)|0,!((h0|0)==0&(v0|0)==0)){f=103;break}y0=s[x0>>0]|0,w=Ix($|0,0,f&7|0)|0,h0=v0,w=y0|w,f=x0,y0=f,n[y0>>0]=w,n[y0+1>>0]=w>>8,n[y0+2>>0]=w>>16,n[y0+3>>0]=w>>24,f=f+4|0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,f=(e[p>>2]|0)+(a0&255)|0,e[p>>2]=f,a0=M+-1|0}if(a0>>>0>=3){if(x0=a0+-3|0,a0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,n0=k+(f>>>3)|0,h0=Dx($|0,x0|0,a0|0)|0,!((h0|0)==0&(v0|0)==0)){f=112;break}h0=s[n0>>0]|0,y0=Ix($|0,x0|0,f&7|0)|0,q=v0,y0=h0|y0,f=n0,h0=f,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,f=f+4|0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,f=(e[p>>2]|0)+a0|0,e[p>>2]=f,q=j;continue}for(q=j&255,M=404394+q|0,q=14380+(q<<2)|0;;){if(!a0){q=j;continue x}if($=n[M>>0]|0,x0=e[q>>2]|0,n0=k+(f>>>3)|0,h0=Dx(x0|0,0,$&255|0)|0,!((h0|0)==0&(v0|0)==0)){f=109;break x}h0=s[n0>>0]|0,c=Ix(x0|0,0,f&7|0)|0,y0=v0,c=h0|c,h0=n0,w=h0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,h0=(e[p>>2]|0)+($&255)|0,e[p>>2]=h0,f=h0,a0=a0+-1|0}}if((f|0)==99)V0(406196,406218,54,406251);else if((f|0)==103)V0(406196,406218,54,406251);else if((f|0)==109)V0(406196,406218,54,406251);else if((f|0)==112)V0(406196,406218,54,406251);else if((f|0)==114){c0=b0;return}}for(h0=Ix(1,0,f0|0)|0,e0=v0,h0=s0|h0,f=t0,a0=f,n[a0>>0]=h0,n[a0+1>>0]=h0>>8,n[a0+2>>0]=h0>>16,n[a0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+2|0,e[p>>2]=f,e0=D0+-1|0,a0=k+(f>>>3)|0,(e0&-4|0)==0&!0||V0(406196,406218,54,406251),q=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,$=v0,h0=q|h0,q=a0,n0=q,n[n0>>0]=h0,n[n0+1>>0]=h0>>8,n[n0+2>>0]=h0>>16,n[n0+3>>0]=h0>>24,q=q+4|0,n[q>>0]=$,n[q+1>>0]=$>>8,n[q+2>>0]=$>>16,n[q+3>>0]=$>>24,q=(e[p>>2]|0)+2|0,e[p>>2]=q,$=D0+-1|0,n0=0;(n0|0)!=(D0|0);){for(x0=w0+(n0<<2)|0,f=n0;M=f+1|0,(f|0)!=($|0);){if(f=w0+(M<<2)|0,e0=e[f>>2]|0,a0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+a0>>0]|0)){f=M;continue}e[f>>2]=a0,e[x0>>2]=e0,f=M}n0=n0+1|0}switch(D0|0){case 2:{f=e[w0>>2]|0,e0=k+(q>>>3)|0,a0=s[e0>>0]|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),h0=Ix(f|0,0,q&7|0)|0,f=v0,h0=a0|h0,a0=e0,e0=a0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,e0=e[w0+4>>2]|0,f=k+(a0>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Ix(e0|0,0,a0&7|0)|0,y0=v0,w0=h0|w0,h0=f,k=h0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=b0;return}case 3:{f=e[w0>>2]|0,e0=k+(q>>>3)|0,a0=s[e0>>0]|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),f=Ix(f|0,0,q&7|0)|0,h0=v0,a0=a0|f,f=e0,e0=f,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,f=f+4|0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,e0=v0,h0=y0|h0,f=a0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,e0=e[w0+8>>2]|0,f=k+(a0>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Ix(e0|0,0,a0&7|0)|0,y0=v0,w0=h0|w0,h0=f,k=h0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=b0;return}default:{$=e[w0>>2]|0,f=k+(q>>>3)|0,e0=s[f>>0]|0,(Dx($|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),h0=Ix($|0,0,q&7|0)|0,a0=v0,h0=e0|h0,e0=f,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=a0,n[f+1>>0]=a0>>8,n[f+2>>0]=a0>>16,n[f+3>>0]=a0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,e0=v0,h0=y0|h0,f=a0,a0=f,n[a0>>0]=h0,n[a0+1>>0]=h0>>8,n[a0+2>>0]=h0>>16,n[a0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+8>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,f=v0,h0=y0|h0,e0=a0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,f=e[w0+12>>2]|0,e0=k+(a0>>>3)|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[e0>>0]|0,D0=Ix(f|0,0,a0&7|0)|0,h0=v0,D0=y0|D0,y0=e0,w0=y0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,y0=y0+4|0,n[y0>>0]=h0,n[y0+1>>0]=h0>>8,n[y0+2>>0]=h0>>16,n[y0+3>>0]=h0>>24,y0=(e[p>>2]|0)+l|0,e[p>>2]=y0,h0=k+(y0>>>3)|0,l=s[h0>>0]|0,k=Ix((n[d+$>>0]|0)==1|0,0,y0&7|0)|0,y0=v0,k=l|k,l=h0,n[l>>0]=k,n[l+1>>0]=k>>8,n[l+2>>0]=k>>16,n[l+3>>0]=k>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=b0;return}}}function hm(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0,M,q,j){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0,M=M|0,q=q|0,j=j|0;var t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0;for(ox=c0,c0=c0+2704|0,gx=ox+1800|0,Rx=ox+900|0,wx=ox,k4(k,l,q,j),X0=c+8|0,u0=Tx[e[c>>2]&1](e[X0>>2]|0,11272)|0,u0||Px(1),G0=e[M>>2]|0,H0=e[M+8>>2]|0,l=e[M+12>>2]|0,xx=e[M+4>>2]|0,e[gx>>2]=256,e[gx+4>>2]=G0,e[gx+8>>2]=H0,e[gx+12>>2]=l,e[gx+16>>2]=xx,e[gx+20>>2]=1,e[gx+24>>2]=0,e[gx+880>>2]=0,xx?l=e[l>>2]|0:l=0,e[gx+884>>2]=l,e[gx+888>>2]=0,H0=gx+892|0,e[H0>>2]=0,xx=gx+896|0,e[xx>>2]=0,I0=e[M+24>>2]|0,U0=e[M+32>>2]|0,l=e[M+36>>2]|0,G0=e[M+28>>2]|0,e[Rx>>2]=704,e[Rx+4>>2]=I0,e[Rx+8>>2]=U0,e[Rx+12>>2]=l,e[Rx+16>>2]=G0,e[Rx+20>>2]=1,e[Rx+24>>2]=0,e[Rx+880>>2]=0,G0?l=e[l>>2]|0:l=0,e[Rx+884>>2]=l,e[Rx+888>>2]=0,U0=Rx+892|0,e[U0>>2]=0,G0=Rx+896|0,e[G0>>2]=0,O0=e[M+48>>2]|0,B0=e[M+56>>2]|0,l=e[M+60>>2]|0,I0=e[M+52>>2]|0,e[wx>>2]=e0+16+(48<<a0),e[wx+4>>2]=O0,e[wx+8>>2]=B0,e[wx+12>>2]=l,e[wx+16>>2]=I0,e[wx+20>>2]=1,e[wx+24>>2]=0,e[wx+880>>2]=0,I0?l=e[l>>2]|0:l=0,e[wx+884>>2]=l,e[wx+888>>2]=0,B0=wx+892|0,e[B0>>2]=0,I0=wx+896|0,e[I0>>2]=0,S4(gx,u0,q,j),S4(Rx,u0,q,j),S4(wx,u0,q,j),l=e[q>>2]|0,t0=j+(l>>>3)|0,s0=s[t0>>0]|0,(a0&-4|0)==0&!0||V0(406196,406218,54,406251),f0=Ix(a0|0,0,l&7|0)|0,l=v0,s0=s0|f0,f0=t0,t0=f0,n[t0>>0]=s0,n[t0+1>>0]=s0>>8,n[t0+2>>0]=s0>>16,n[t0+3>>0]=s0>>24,f0=f0+4|0,n[f0>>0]=l,n[f0+1>>0]=l>>8,n[f0+2>>0]=l>>16,n[f0+3>>0]=l>>24,f0=(e[q>>2]|0)+2|0,e[q>>2]=f0,l=e0>>>a0,t0=j+(f0>>>3)|0,s0=s[t0>>0]|0,(l&-16|0)==0&!0||V0(406196,406218,54,406251),O0=Ix(l|0,0,f0&7|0)|0,l=v0,O0=s0|O0,a0=t0,n[a0>>0]=O0,n[a0+1>>0]=O0>>8,n[a0+2>>0]=O0>>16,n[a0+3>>0]=O0>>24,t0=t0+4|0,n[t0>>0]=l,n[t0+1>>0]=l>>8,n[t0+2>>0]=l>>16,n[t0+3>>0]=l>>24,t0=(e[q>>2]|0)+4|0,e[q>>2]=t0,l=($&-4|0)==0&!0,a0=0;!(a0>>>0>=(e[M>>2]|0)>>>0);){if(s0=j+(t0>>>3)|0,f0=s[s0>>0]|0,!l){l0=16;break}b0=Ix($|0,0,t0&7|0)|0,h0=v0,b0=f0|b0,O0=s0,y0=O0,n[y0>>0]=b0,n[y0+1>>0]=b0>>8,n[y0+2>>0]=b0>>16,n[y0+3>>0]=b0>>24,O0=O0+4|0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,O0=(e[q>>2]|0)+2|0,e[q>>2]=O0,t0=O0,a0=a0+1|0}for((l0|0)==16&&V0(406196,406218,54,406251),O0=M+76|0,l=e[O0>>2]|0,s0=M+92|0,t0=e[s0>>2]|0,l?gm(c,e[M+72>>2]|0,l,t0,u0,q,j):bm(t0,6,u0,q,j),h0=M+84|0,l=e[h0>>2]|0,e0=M+108|0,t0=e[e0>>2]|0,l?gm(c,e[M+80>>2]|0,l,t0,u0,q,j):bm(t0,2,u0,q,j),f0=e[M+88>>2]|0,s0=e[s0>>2]|0,a0=e[gx>>2]|0,l=rx(s0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[H0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[xx>>2]=l,l=f0,t0=0;(t0|0)!=(s0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*1040|0)|0,a0,u0,(e[H0>>2]|0)+y0|0,(e[xx>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;for(s0=e[M+96>>2]|0,f0=e[M+100>>2]|0,a0=e[Rx>>2]|0,l=rx(f0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[U0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[G0>>2]=l,l=s0,t0=0;(t0|0)!=(f0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*2832|0)|0,a0,u0,(e[U0>>2]|0)+y0|0,(e[G0>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;for(s0=e[M+104>>2]|0,f0=e[e0>>2]|0,a0=e[wx>>2]|0,l=rx(f0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[B0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[I0>>2]=l,l=s0,t0=0;(t0|0)!=(f0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*2096|0)|0,a0,u0,(e[B0>>2]|0)+y0|0,(e[I0>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;y0=c+4|0,vx[e[y0>>2]&1](e[X0>>2]|0,u0),b0=M+80|0,w0=M+72|0,t0=w,l=p,D0=0;x:for(;;){if(D0>>>0>=n0>>>0){l0=87;break}c=e[x0+(D0<<4)>>2]|0,a0=e[x0+(D0<<4)+4>>2]|0,m0=e[x0+(D0<<4)+8>>2]|0,p=e[x0+(D0<<4)+12>>2]|0,w=p&65535,C0=p>>>16,d0=p&65535,F4(Rx,d0,q,j),M=a0&16777215,a0=M^a0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Ax(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Ax(c+-66|0)|0)^31)+10|0;break}if(c>>>0<6210){f0=21;break}f0=c>>>0<22594?22:23}while(!1);do if(a0>>>0<10)s0=a0+65534|0;else{if(a0>>>0<134){u0=a0+-6|0,s0=((Ax(u0|0)|0)^31)+-1|0,s0=(s0<<1)+(u0>>>s0)+4|0;break}if(a0>>>0>=2118){s0=23;break}s0=((Ax(a0+-70|0)|0)^31)+12|0}while(!1);if(f0=f0&65535,l0=e[17268+(f0<<2)>>2]|0,f0=c-(e[18788+(f0<<2)>>2]|0)|0,e0=s0&65535,a0=Ix(a0-(e[17364+(e0<<2)>>2]|0)|0,0,l0|0)|0,s0=v0,f0=a0|f0,a0=l0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[q>>2]|0,l0=j+(e0>>>3)|0,u0=s[l0>>0]|0,ux=Dx(f0|0,s0|0,a0|0)|0,!((ux|0)==0&(v0|0)==0)){l0=61;break}if(a0>>>0>=57){l0=63;break}f0=Ix(f0|0,s0|0,e0&7|0)|0,e0=v0,f0=u0|f0,ux=l0,u0=ux,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,ux=ux+4|0,n[ux>>0]=e0,n[ux+1>>0]=e0>>8,n[ux+2>>0]=e0>>16,n[ux+3>>0]=e0>>24,e[q>>2]=(e[q>>2]|0)+a0;e:do if(e[O0>>2]|0)for(s0=f,f0=c;;){if(!f0)break e;switch($|0){case 0:{l=t0&63;break}case 1:{l=(t0&255)>>>2;break}case 2:{l=n[406969+(t0&255)>>0]|n[406969+(l&255|256)>>0];break}case 3:{l=((s[407481+(t0&255)>>0]|0)<<3)+(s[407481+(l&255)>>0]|0)&255;break}default:l=0}ux=n[h+(s0&d)>>0]|0,mm(gx,ux&255,l&255,e[w0>>2]|0,q,j,6),l=t0,t0=ux,s0=s0+1|0,f0=f0+-1|0}else for(s0=f,f0=c;;){if(!f0)break e;F4(gx,s[h+(s0&d)>>0]|0,q,j),s0=s0+1|0,f0=f0+-1|0}while(!1);u0=f+c+M|0;do if(M){if(l=n[h+(u0+-2&d)>>0]|0,t0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=m0>>>24,l0=m0&16777215,!(e[h0>>2]|0))F4(wx,C0,q,j);else{switch(s0=p&7,d0>>>6|0){case 7:case 4:case 2:case 0:{s0=s0>>>0<3?s0:3;break}default:s0=3}mm(wx,C0,s0,e[b0>>2]|0,q,j,2)}if(s0=e[q>>2]|0,f0=j+(s0>>>3)|0,a0=s[f0>>0]|0,ux=Dx(l0|0,0,e0|0)|0,!((ux|0)==0&(v0|0)==0)){l0=82;break x}if(m0>>>0>=956301312){l0=84;break x}d0=Ix(l0|0,0,s0&7|0)|0,m0=v0,d0=a0|d0,ux=f0,C0=ux,n[C0>>0]=d0,n[C0+1>>0]=d0>>8,n[C0+2>>0]=d0>>16,n[C0+3>>0]=d0>>24,ux=ux+4|0,n[ux>>0]=m0,n[ux+1>>0]=m0>>8,n[ux+2>>0]=m0>>16,n[ux+3>>0]=m0>>24,e[q>>2]=(e[q>>2]|0)+e0}while(!1);f=u0,D0=D0+1|0}if((l0|0)==61)V0(406196,406218,54,406251);else if((l0|0)==63)V0(406267,406218,55,406251);else if((l0|0)==82)V0(406196,406218,54,406251);else if((l0|0)==84)V0(406267,406218,55,406251);else if((l0|0)==87){if(vx[e[y0>>2]&1](e[X0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[I0>>2]|0),e[I0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[U0>>2]|0),e[U0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[G0>>2]|0),e[G0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[H0>>2]|0),e[H0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[xx>>2]|0),e[xx>>2]=0,!k){c0=ox;return}ux=(e[q>>2]|0)+7|0,e[q>>2]=ux&-8,n[j+(ux>>>3)>>0]=0,c0=ox;return}}function Qu(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+32|0,M=j+8|0,n0=j+16|0,k=j,q=f&l,f=p+((e[w>>2]|0)>>>3)|0,a0=s[f>>0]|0,e0=f,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,f=f+4|0,n[f>>0]=0,n[f+1>>0]=0,n[f+2>>0]=0,n[f+3>>0]=0,e[w>>2]=(e[w>>2]|0)+1,wm(d,M,n0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,a0=p+(e0>>>3)|0,$=s[a0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||V0(406196,406218,54,406251),f=Ix(f|0,k|0,e0&7|0)|0,k=v0,f=$|f,x0=a0,$=x0,n[$>>0]=f,n[$+1>>0]=f>>8,n[$+2>>0]=f>>16,n[$+3>>0]=f>>24,x0=x0+4|0,n[x0>>0]=k,n[x0+1>>0]=k>>8,n[x0+2>>0]=k>>16,n[x0+3>>0]=k>>24,x0=(e[w>>2]|0)+2|0,e[w>>2]=x0,$=e[n0>>2]|0,k=M,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,a0=s[e0>>0]|0,M=Dx(f|0,k|0,$|0)|0,(M|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$>>>0>=57&&V0(406267,406218,55,406251),M=Ix(f|0,k|0,x0&7|0)|0,f=v0,M=a0|M,x0=e0,n0=x0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>24,x0=x0+4|0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,x0=(e[w>>2]|0)+$|0,e[w>>2]=x0,f=p+(x0>>>3)|0,n0=s[f>>0]|0,x0=Ix(1,0,x0&7|0)|0,M=v0,x0=n0|x0,n0=f,n[n0>>0]=x0,n[n0+1>>0]=x0>>8,n[n0+2>>0]=x0>>16,n[n0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,e[w>>2]=(e[w>>2]|0)+1,f=(e[w>>2]|0)+7|0,e[w>>2]=f&-8,n[p+(f>>>3)>>0]=0,f=l+1|0,(q+d|0)>>>0>f>>>0?(f=f-q|0,$x(p+((e[w>>2]|0)>>>3)|0,h+q|0,f|0)|0,k=(e[w>>2]|0)+(f<<3)|0,e[w>>2]=k,d=d-f|0,f=0):(k=e[w>>2]|0,f=q),$x(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&V0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=j;return}h=e[w>>2]|0,l=p+(h>>>3)|0,q=s[l>>0]|0,h=Ix(1,0,h&7|0)|0,c=v0,h=q|h,q=l,n[q>>0]=h,n[q+1>>0]=h>>8,n[q+2>>0]=h>>16,n[q+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,l=(e[w>>2]|0)+1|0,e[w>>2]=l,c=p+(l>>>3)|0,q=s[c>>0]|0,l=Ix(1,0,l&7|0)|0,h=v0,l=q|l,q=c,n[q>>0]=l,n[q+1>>0]=l>>8,n[q+2>>0]=l>>16,n[q+3>>0]=l>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+8|0,e[w>>2]=c&-8,n[p+(c>>>3)>>0]=0,c0=j}function pm(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function k4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,a0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Ix(c&1|0,0,e[f>>2]&7|0)|0,e0=v0,p=k|p,k=d,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,d=d+4|0,n[d>>0]=e0,n[d+1>>0]=e0>>8,n[d+2>>0]=e0>>16,n[d+3>>0]=e0>>24,d=(e[f>>2]|0)+1|0,e[f>>2]=d,c&&(e0=l+(d>>>3)|0,p=s[e0>>0]|0,k=e0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e[f>>2]=(e[f>>2]|0)+1),wm(h,$,a0,w),h=w,d=e[h>>2]|0,h=e[h+4>>2]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,h>>>0<0|(h|0)==0&d>>>0<4||V0(406196,406218,54,406251),d=Ix(d|0,h|0,w&7|0)|0,h=v0,d=k|d,e0=p,k=e0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,e0=e0+4|0,n[e0>>0]=h,n[e0+1>>0]=h>>8,n[e0+2>>0]=h>>16,n[e0+3>>0]=h>>24,e0=(e[f>>2]|0)+2|0,e[f>>2]=e0,k=e[a0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=Dx(d|0,h|0,k|0)|0,($|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k>>>0>=57&&V0(406267,406218,55,406251),e0=Ix(d|0,h|0,e0&7|0)|0,$=v0,e0=p|e0,d=w,a0=d,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,d=d+4|0,n[d>>0]=$,n[d+1>>0]=$>>8,n[d+2>>0]=$>>16,n[d+3>>0]=$>>24,d=(e[f>>2]|0)+k|0,e[f>>2]=d,c){c0=x0;return}l=l+(d>>>3)|0,$=s[l>>0]|0,c=l,n[c>>0]=$,n[c+1>>0]=$>>8,n[c+2>>0]=$>>16,n[c+3>>0]=$>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[f>>2]=(e[f>>2]|0)+1,c0=x0}function S4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0;t0=c0,c0=c0+1136|0,j=t0+104|0,q=t0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,n0=e[c+16>>2]|0,M=e[c+4>>2]|0,Vx(j|0,0,(M<<2)+8|0)|0,w=q,p=w+104|0;do e[w>>2]=0,w=w+4|0;while((w|0)<(p|0));for($=0,x0=1,w=0;($|0)!=(n0|0);){for(a0=s[d+$>>0]|0,(a0|0)==(x0+1|0)?w=1:w=(a0|0)==(w|0)?0:a0+2|0,$&&(e0=j+(w<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1),w=e[k+($<<2)>>2]|0,w>>>0>176?e0=w>>>0>752?20:14:e0=w>>>0>40?7:0;!(e0>>>0>=25||(p=e0+1|0,w>>>0<(e[17556+(p<<3)>>2]|0)>>>0));)e0=p;w=q+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=a0}if(P4(M+-1|0,f,l),M>>>0<=1){c0=t0;return}for(n0=c+20|0,Hr(j,M+2|0,h,c+28|0,c+286|0,f,l),Hr(q,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,j=s[d>>0]|0,e[c+24>>2]=e[n0>>2],e[n0>>2]=j,w>>>0>176?p=w>>>0>752?20:14:p=w>>>0>40?7:0;!(p>>>0>=25||(d=p+1|0,w>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)p=d;$=e[17556+(p<<3)+4>>2]|0,a0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=_[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=Dx(d|0,0,e0&255|0)|0,(c|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)>=57&&V0(406267,406218,55,406251),c=Ix(d|0,0,w&7|0)|0,d=v0,c=k|c,w=p,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,p=p+4|0,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,p=(e[f>>2]|0)+(e0&255)|0,e[f>>2]=p,d=l+(p>>>3)|0,w=s[d>>0]|0,l=Dx(a0|0,0,$|0)|0,(l|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h=Ix(a0|0,0,p&7|0)|0,c=v0,h=w|h,l=d,j=l,n[j>>0]=h,n[j+1>>0]=h>>8,n[j+2>>0]=h>>16,n[j+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+$,c0=t0}function bm(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0;if(f0=c0,c0=c0+1904|0,$=f0,s0=f0+1632|0,t0=f0+1088|0,P4(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(q=h+-1|0,j=(1<<q)+-1|0,a0=q+c|0,Vx($|0,0,a0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Ix(1,0,e0&7|0)|0,p=v0,e0=k|e0,k=w,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,w=w+4|0,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,w=(e[l>>2]|0)+1|0,e[l>>2]=w,p=h+-2|0,k=d+(w>>>3)|0,e0=s[k>>0]|0,(p&-16|0)==0&!0||V0(406196,406218,54,406251),x0=Ix(p|0,0,w&7|0)|0,M=v0,x0=e0|x0,w=k,n0=w,n[n0>>0]=x0,n[n0+1>>0]=x0>>8,n[n0+2>>0]=x0>>16,n[n0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=M,n[w+1>>0]=M>>8,n[w+2>>0]=M>>16,n[w+3>>0]=M>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(q<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=a0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(Hr($,a0,f,s0,t0,l,d),$=s0+q|0,f=t0+(q<<1)|0,x0=Dx(j|0,0,q|0)|0,x0=(x0|0)==0&(v0|0)==0,n0=q>>>0<57,M=0;;){if(M>>>0>=c>>>0){w=22;break}if(p=(M|0)==0?0:M+h+-1|0,w=n[s0+p>>0]|0,p=_[t0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,a0=s[e0>>0]|0,l0=Dx(p|0,0,w&255|0)|0,!((l0|0)==0&(v0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Ix(p|0,0,k&7|0)|0,k=v0,a0=a0|p,p=e0,e0=p,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,p=p+4|0,n[p>>0]=k,n[p+1>>0]=k>>8,n[p+2>>0]=k>>16,n[p+3>>0]=k>>24,w=(e[l>>2]|0)+(w&255)|0,e[l>>2]=w,p=n[$>>0]|0,k=_[f>>1]|0,e0=d+(w>>>3)|0,a0=s[e0>>0]|0,l0=Dx(k|0,0,p&255|0)|0,!((l0|0)==0&(v0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Ix(k|0,0,w&7|0)|0,k=v0,a0=a0|w,w=e0,l0=w,n[l0>>0]=a0,n[l0+1>>0]=a0>>8,n[l0+2>>0]=a0>>16,n[l0+3>>0]=a0>>24,w=w+4|0,n[w>>0]=k,n[w+1>>0]=k>>8,n[w+2>>0]=k>>16,n[w+3>>0]=k>>24,w=(e[l>>2]|0)+(p&255)|0,e[l>>2]=w,p=d+(w>>>3)|0,k=s[p>>0]|0,!x0){w=18;break}if(!n0){w=20;break}l0=Ix(j|0,0,w&7|0)|0,a0=v0,k=k|l0,l0=p,e0=l0,n[e0>>0]=k,n[e0+1>>0]=k>>8,n[e0+2>>0]=k>>16,n[e0+3>>0]=k>>24,l0=l0+4|0,n[l0>>0]=a0,n[l0+1>>0]=a0>>8,n[l0+2>>0]=a0>>16,n[l0+3>>0]=a0>>24,e[l>>2]=(e[l>>2]|0)+q,M=M+1|0}if((w|0)==10)V0(406196,406218,54,406251);else if((w|0)==12)V0(406267,406218,55,406251);else if((w|0)==14)V0(406196,406218,54,406251);else if((w|0)==16)V0(406267,406218,55,406251);else if((w|0)==18)V0(406196,406218,54,406251);else if((w|0)==20)V0(406267,406218,55,406251);else if((w|0)==22){s0=e[l>>2]|0,l0=d+(s0>>>3)|0,c=s[l0>>0]|0,s0=Ix(1,0,s0&7|0)|0,d=v0,s0=c|s0,c=l0,n[c>>0]=s0,n[c+1>>0]=s0>>8,n[c+2>>0]=s0>>16,n[c+3>>0]=s0>>24,l0=l0+4|0,n[l0>>0]=d,n[l0+1>>0]=d>>8,n[l0+2>>0]=d>>16,n[l0+3>>0]=d>>24,e[l>>2]=(e[l>>2]|0)+1,c0=f0;return}}function gm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0;if(C0=c0,c0=c0+2160|0,n0=C0+1088|0,t0=C0,d0=C0+1888|0,u0=C0+1344|0,P4(l+-1|0,w,p),(l|0)==1){c0=C0;return}f0=c+8|0,l0=Tx[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,l0||Px(1);x:do if(!f)s0=l0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)j=e[h+(e0<<2)>>2]|0,k=j>>>0>k>>>0?j:k,e0=e0+1|0;for(k>>>0<256?a0=0:V0(405316,404333,616,405333);!(a0>>>0>k>>>0);)n[n0+a0>>0]=a0,a0=a0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){s0=l0;break x}for(k=e[h+(x0<<2)>>2]&255,a0=0;;){if(a0>>>0>=$>>>0)break e;if((n[n0+a0>>0]|0)==k<<24>>24)break;a0=a0+1|0}for(e[l0+(x0<<2)>>2]=a0,e0=n[n0+a0>>0]|0,k=a0;k;)j=k+-1|0,n[n0+k>>0]=n[n0+j>>0]|0,k=j;n[n0>>0]=e0,x0=x0+1|0}V0(405354,404333,624,405333)}while(!1);for(e[n0>>2]=0,k=0,a0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[s0+(k<<2)>>2]|0)){e0=0;break}j=k+1|0,e[n0>>2]=j,k=j}for(;!(k>>>0>=f>>>0||e[s0+(k<<2)>>2]|0);)j=k+1|0,e[n0>>2]=j,k=j,e0=e0+1|0;a0=e0>>>0>a0>>>0?e0:a0}for(a0?(j=(Ax(a0|0)|0)^31,j=j>>>0<6?j:6):j=0,e[n0>>2]=0,$=2<<j,x0=j+((512<<j)+-512)|0,h=$+-1|0,a0=0,M=0;!(a0>>>0>=f>>>0);){if(M>>>0>a0>>>0){q=38;break}k=e[s0+(a0<<2)>>2]|0;x:do if(k)e[s0+(M<<2)>>2]=k+j,e[n0>>2]=(e[n0>>2]|0)+1,k=M+1|0;else{for(k=a0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[s0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[n0>>2]=a0+e0,k=M;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[s0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}M=(Ax(e0|0)|0)^31,e[s0+(k<<2)>>2]=M|e0-(1<<M)<<9,k=k+1|0}while(!1);a0=e[n0>>2]|0,M=k}for((q|0)==38&&V0(405282,404333,656,405297),Vx(t0|0,0,1088)|0,k=0;(k|0)!=(M|0);)q=t0+((e[s0+(k<<2)>>2]&511)<<2)|0,e[q>>2]=(e[q>>2]|0)+1,k=k+1|0;q=(j|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Ix(q&1|0,0,h&7|0)|0,n0=v0,h=f|h,f=k,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,k=k+4|0,n[k>>0]=n0,n[k+1>>0]=n0>>8,n[k+2>>0]=n0>>16,n[k+3>>0]=n0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(q)if(e0=j+-1|0,a0=p+(k>>>3)|0,$=s[a0>>0]|0,(e0&-16|0)==0&!0){h=Ix(e0|0,0,k&7|0)|0,n0=v0,h=$|h,q=a0,f=q,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,q=q+4|0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else V0(406196,406218,54,406251);while(!1);for(Hr(t0,j+l|0,d,d0,u0,w,p),n0=0;;){if(n0>>>0>=M>>>0){q=70;break}if(f=e[s0+(n0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[d0+h>>0]|0,e0=_[u0+(h<<1)>>1]|0,a0=e[w>>2]|0,$=p+(a0>>>3)|0,x0=s[$>>0]|0,d=Dx(e0|0,0,k&255|0)|0,!((d|0)==0&(v0|0)==0)){q=60;break}if((k&255)>=57){q=62;break}if(q=Ix(e0|0,0,a0&7|0)|0,l=v0,q=x0|q,d=$,t0=d,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,k=(e[w>>2]|0)+(k&255)|0,e[w>>2]=k,!((h|0)==0|h>>>0>j>>>0)){if(e0=p+(k>>>3)|0,a0=s[e0>>0]|0,d=Dx(f|0,0,h|0)|0,!((d|0)==0&(v0|0)==0)){q=65;break}if(h>>>0>=57){q=67;break}q=Ix(f|0,0,k&7|0)|0,l=v0,q=a0|q,d=e0,t0=d,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,e[w>>2]=(e[w>>2]|0)+h}n0=n0+1|0}if((q|0)==60)V0(406196,406218,54,406251);else if((q|0)==62)V0(406267,406218,55,406251);else if((q|0)==65)V0(406196,406218,54,406251);else if((q|0)==67)V0(406267,406218,55,406251);else if((q|0)==70){s0=e[w>>2]|0,p=p+(s0>>>3)|0,u0=s[p>>0]|0,s0=Ix(1,0,s0&7|0)|0,d0=v0,s0=u0|s0,u0=p,n[u0>>0]=s0,n[u0+1>>0]=s0>>8,n[u0+2>>0]=s0>>16,n[u0+3>>0]=s0>>24,p=p+4|0,n[p>>0]=d0,n[p+1>>0]=d0>>8,n[p+2>>0]=d0>>16,n[p+3>>0]=d0>>24,e[w>>2]=(e[w>>2]|0)+1,vx[e[c+4>>2]&1](e[f0>>2]|0,l0),c0=C0;return}}function F4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;q=c+884|0,d=e[q>>2]|0;do if(d)M=c+888|0,j=d;else{for(x0=c+880|0,w=(e[x0>>2]|0)+1|0,e[x0>>2]=w,x0=e[(e[c+12>>2]|0)+(w<<2)>>2]|0,w=n[(e[c+8>>2]|0)+w>>0]|0,e[q>>2]=x0,w=w&255,n0=c+888|0,e[n0>>2]=rx(w,e[c>>2]|0)|0,p=c+20|0,k=e[p>>2]|0,d=c+24|0,(w|0)==(k+1|0)?e0=1:e0=(w|0)==(e[d>>2]|0)?0:w+2|0,e[d>>2]=k,e[p>>2]=w,a0=n[c+28+e0>>0]|0,d=_[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=Dx(d|0,0,a0&255|0)|0,($|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(a0&255)>=57&&V0(406267,406218,55,406251),w=Ix(d|0,0,w&7|0)|0,e0=v0,w=k|w,$=p,k=$,n[k>>0]=w,n[k+1>>0]=w>>8,n[k+2>>0]=w>>16,n[k+3>>0]=w>>24,$=$+4|0,n[$>>0]=e0,n[$+1>>0]=e0>>8,n[$+2>>0]=e0>>16,n[$+3>>0]=e0>>24,e[f>>2]=(e[f>>2]|0)+(a0&255),x0>>>0>176?w=x0>>>0>752?20:14:w=x0>>>0>40?7:0;!(w>>>0>=25||(d=w+1|0,x0>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)w=d;if($=e[17556+(w<<3)+4>>2]|0,a0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=_[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=Dx(d|0,0,e0&255|0)|0,(x0|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)>=57&&V0(406267,406218,55,406251),x0=Ix(d|0,0,w&7|0)|0,d=v0,x0=k|x0,w=p,p=w,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,w=w+4|0,n[w>>0]=d,n[w+1>>0]=d>>8,n[w+2>>0]=d>>16,n[w+3>>0]=d>>24,w=(e[f>>2]|0)+(e0&255)|0,e[f>>2]=w,p=l+(w>>>3)|0,d=s[p>>0]|0,x0=Dx(a0|0,0,$|0)|0,(x0|0)==0&(v0|0)==0){a0=Ix(a0|0,0,w&7|0)|0,j=v0,a0=d|a0,M=p,x0=M,n[x0>>0]=a0,n[x0+1>>0]=a0>>8,n[x0+2>>0]=a0>>16,n[x0+3>>0]=a0>>24,M=M+4|0,n[M>>0]=j,n[M+1>>0]=j>>8,n[M+2>>0]=j>>16,n[M+3>>0]=j>>24,e[f>>2]=(e[f>>2]|0)+$,M=n0,j=e[q>>2]|0;break}else V0(406196,406218,54,406251)}while(!1);if(e[q>>2]=j+-1,p=(e[M>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=_[(e[c+896>>2]|0)+(p<<1)>>1]|0,k=e[f>>2]|0,d=l+(k>>>3)|0,w=s[d>>0]|0,l=Dx(p|0,0,e0&255|0)|0,(l|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)<57){j=Ix(p|0,0,k&7|0)|0,c=v0,j=w|j,l=d,h=l,n[h>>0]=j,n[h+1>>0]=j>>8,n[h+2>>0]=j>>16,n[h+3>>0]=j>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+(e0&255);return}else V0(406267,406218,55,406251)}function mm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0;t0=c+884|0,k=e[t0>>2]|0;do if(k)j=c+888|0,s0=k;else{for(M=c+880|0,a0=(e[M>>2]|0)+1|0,e[M>>2]=a0,M=e[(e[c+12>>2]|0)+(a0<<2)>>2]|0,a0=n[(e[c+8>>2]|0)+a0>>0]|0,e[t0>>2]=M,a0=a0&255,q=c+888|0,e[q>>2]=a0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(a0|0)==(e0+1|0)?$=1:$=(a0|0)==(e[k>>2]|0)?0:a0+2|0,e[k>>2]=e0,e[p>>2]=a0,x0=n[c+28+$>>0]|0,k=_[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,a0=s[e0>>0]|0,n0=Dx(k|0,0,x0&255|0)|0,(n0|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(x0&255)>=57&&V0(406267,406218,55,406251),p=Ix(k|0,0,p&7|0)|0,$=v0,p=a0|p,n0=e0,a0=n0,n[a0>>0]=p,n[a0+1>>0]=p>>8,n[a0+2>>0]=p>>16,n[a0+3>>0]=p>>24,n0=n0+4|0,n[n0>>0]=$,n[n0+1>>0]=$>>8,n[n0+2>>0]=$>>16,n[n0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),M>>>0>176?p=M>>>0>752?20:14:p=M>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,M>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(n0=e[17556+(p<<3)+4>>2]|0,x0=M-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=_[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,a0=s[e0>>0]|0,M=Dx(k|0,0,$&255|0)|0,(M|0)==0&(v0|0)==0||V0(406196,406218,54,406251),($&255)>=57&&V0(406267,406218,55,406251),M=Ix(k|0,0,p&7|0)|0,p=v0,M=a0|M,k=e0,e0=k,n[e0>>0]=M,n[e0+1>>0]=M>>8,n[e0+2>>0]=M>>16,n[e0+3>>0]=M>>24,k=k+4|0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,k=(e[d>>2]|0)+($&255)|0,e[d>>2]=k,p=w+(k>>>3)|0,e0=s[p>>0]|0,M=Dx(x0|0,0,n0|0)|0,(M|0)==0&(v0|0)==0){x0=Ix(x0|0,0,k&7|0)|0,s0=v0,x0=e0|x0,j=p,M=j,n[M>>0]=x0,n[M+1>>0]=x0>>8,n[M+2>>0]=x0>>16,n[M+3>>0]=x0>>24,j=j+4|0,n[j>>0]=s0,n[j+1>>0]=s0>>8,n[j+2>>0]=s0>>16,n[j+3>>0]=s0>>24,e[d>>2]=(e[d>>2]|0)+n0,j=q,s0=e[t0>>2]|0;break}else V0(406196,406218,54,406251)}while(!1);if(e[t0>>2]=s0+-1,e0=(rx(e[l+((e[j>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=_[(e[c+896>>2]|0)+(e0<<1)>>1]|0,a0=e[d>>2]|0,k=w+(a0>>>3)|0,p=s[k>>0]|0,w=Dx(e0|0,0,$&255|0)|0,(w|0)==0&(v0|0)==0||V0(406196,406218,54,406251),($&255)<57){l=Ix(e0|0,0,a0&7|0)|0,c=v0,l=p|l,w=k,h=w,n[h>>0]=l,n[h+1>>0]=l>>8,n[h+2>>0]=l>>16,n[h+3>>0]=l>>24,w=w+4|0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,e[d>>2]=(e[d>>2]|0)+($&255);return}else V0(406267,406218,55,406251)}function ym(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;for(j=p+2816|0,t0=w+1024|0,s0=k+2080|0,q=0;(q|0)!=(d|0);){for(n0=e[l+(q<<4)>>2]|0,e0=e[l+(q<<4)+4>>2]|0,a0=e[l+(q<<4)+12>>2]|0,M=a0&65535,x0=a0>>>16,a0=p+((a0&65535)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,e[j>>2]=(e[j>>2]|0)+1,a0=h,$=n0;$;)f0=w+((s[c+(a0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[t0>>2]=(e[t0>>2]|0)+1,a0=a0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(M&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[s0>>2]=(e[s0>>2]|0)+1),h=h+n0+e0|0,q=q+1|0}}function Hr(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;for(M=c0,c0=c0+16|0,x0=M,e[x0>>2]=0,e[x0+4>>2]=0,e[x0+8>>2]=0,e[x0+12>>2]=0,$=0,e0=0;!(e0>>>0>=h>>>0);){if(!(e[c+(e0<<2)>>2]|0))k=$;else{if($>>>0>=4){if($>>>0>4)break}else e[x0+($<<2)>>2]=e0;k=$+1|0}$=k,e0=e0+1|0}for(n0=0,k=h+-1|0;k;)n0=n0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Ix(1,0,e0&7|0)|0,h=v0,e0=k|e0,k=c,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+4|0,e[w>>2]=c,h=e[x0>>2]|0,k=p+(c>>>3)|0,e0=s[k>>0]|0,p=Dx(h|0,0,n0|0)|0,(p|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),f=Ix(h|0,0,c&7|0)|0,$=v0,f=e0|f,p=k,a0=p,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,p=p+4|0,n[p>>0]=$,n[p+1>>0]=$>>8,n[p+2>>0]=$>>16,n[p+3>>0]=$>>24,e[w>>2]=(e[w>>2]|0)+n0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=M;return}if(Vx(l|0,0,h|0)|0,lo(c,h,15,f,l),qn(l,h,d),$>>>0>=5){v7(l,h,f,w,p),c0=M;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Ix(1,0,e[w>>2]&7|0)|0,e0=v0,h=c|h,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+2|0,e[w>>2]=k,e0=$+-1|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(e0&-4|0)==0&!0||V0(406196,406218,54,406251),f=Ix(e0|0,0,k&7|0)|0,d=v0,f=h|f,h=c,a0=h,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,h=h+4|0,n[h>>0]=d,n[h+1>>0]=d>>8,n[h+2>>0]=d>>16,n[h+3>>0]=d>>24,e[w>>2]=(e[w>>2]|0)+2,h=$+-1|0,d=0;(d|0)!=($|0);){for(f=x0+(d<<2)|0,k=d;a0=k+1|0,(k|0)!=(h|0);){if(k=x0+(a0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=a0;continue}e[k>>2]=c,e[f>>2]=e0,k=a0}d=d+1|0}switch($|0){case 2:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),e0=Ix(k|0,0,e0&7|0)|0,k=v0,e0=h|e0,h=c,c=h,n[c>>0]=e0,n[c+1>>0]=e0>>8,n[c+2>>0]=e0>>16,n[c+3>>0]=e0>>24,h=h+4|0,n[h>>0]=k,n[h+1>>0]=k>>8,n[h+2>>0]=k>>16,n[h+3>>0]=k>>24,h=(e[w>>2]|0)+n0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(Dx(c|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$=Ix(c|0,0,h&7|0)|0,x0=v0,$=e0|$,p=k,l=p,n[l>>0]=$,n[l+1>>0]=$>>8,n[l+2>>0]=$>>16,n[l+3>>0]=$>>24,p=p+4|0,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,e[w>>2]=(e[w>>2]|0)+n0,c0=M;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),k=Ix(k|0,0,e0&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),e0=Ix(e0|0,0,k&7|0)|0,k=v0,e0=h|e0,h=c,c=h,n[c>>0]=e0,n[c+1>>0]=e0>>8,n[c+2>>0]=e0>>16,n[c+3>>0]=e0>>24,h=h+4|0,n[h>>0]=k,n[h+1>>0]=k>>8,n[h+2>>0]=k>>16,n[h+3>>0]=k>>24,h=(e[w>>2]|0)+n0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(Dx(c|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$=Ix(c|0,0,h&7|0)|0,x0=v0,$=e0|$,p=k,l=p,n[l>>0]=$,n[l+1>>0]=$>>8,n[l+2>>0]=$>>16,n[l+3>>0]=$>>24,p=p+4|0,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,e[w>>2]=(e[w>>2]|0)+n0,c0=M;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),k=Ix(k|0,0,e0&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k=Ix(e0|0,0,k&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k=Ix(e0|0,0,k&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),f=Ix(e0|0,0,k&7|0)|0,$=v0,f=h|f,a0=c,d=a0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,a0=a0+4|0,n[a0>>0]=$,n[a0+1>>0]=$>>8,n[a0+2>>0]=$>>16,n[a0+3>>0]=$>>24,a0=(e[w>>2]|0)+n0|0,e[w>>2]=a0,n0=p+(a0>>>3)|0,$=s[n0>>0]|0,l=Ix((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,a0&7|0)|0,p=v0,l=$|l,x0=n0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,n0=n0+4|0,n[n0>>0]=p,n[n0+1>>0]=p>>8,n[n0+2>>0]=p>>16,n[n0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=M;return}}}function O4(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0;w0=0;x:for(;;){if(w0>>>0>=d>>>0){h=42;break}if(u0=e[l+(w0<<4)>>2]|0,f0=e[l+(w0<<4)+4>>2]|0,D0=e[l+(w0<<4)+8>>2]|0,q=e[l+(w0<<4)+12>>2]|0,C0=q&65535,m0=q>>>16,q=q&65535,M=n[k+q>>0]|0,q=_[e0+(q<<1)>>1]|0,j=e[x0>>2]|0,t0=n0+(j>>>3)|0,s0=s[t0>>0]|0,d0=Dx(q|0,0,M&255|0)|0,!((d0|0)==0&(v0|0)==0)){h=4;break}if((M&255)>=57){h=6;break}l0=Ix(q|0,0,j&7|0)|0,d0=v0,s0=s0|l0,l0=t0,j=l0,n[j>>0]=s0,n[j+1>>0]=s0>>8,n[j+2>>0]=s0>>16,n[j+3>>0]=s0>>24,l0=l0+4|0,n[l0>>0]=d0,n[l0+1>>0]=d0>>8,n[l0+2>>0]=d0>>16,n[l0+3>>0]=d0>>24,l0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=l0,d0=f0&16777215,j=d0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,q=((Ax(f0|0)|0)^31)+-1|0,q=(q<<1)+(f0>>>q)+2|0;break}if(u0>>>0<2114){q=((Ax(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?q=21:q=u0>>>0<22594?22:23}else q=u0;while(!1);do if(j>>>0>=10){if(j>>>0<134){f0=j+-6|0,M=((Ax(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+4|0;break}j>>>0<2118?M=((Ax(j+-70|0)|0)^31)+12|0:M=23}else M=j+65534|0;while(!1);if(q=q&65535,s0=e[17268+(q<<2)>>2]|0,q=u0-(e[18788+(q<<2)>>2]|0)|0,t0=M&65535,j=Ix(j-(e[17364+(t0<<2)>>2]|0)|0,0,s0|0)|0,M=v0,q=j|q,j=s0+(e[17460+(t0<<2)>>2]|0)|0,t0=n0+(l0>>>3)|0,s0=s[t0>>0]|0,f0=Dx(q|0,M|0,j|0)|0,!((f0|0)==0&(v0|0)==0)){h=21;break}if(j>>>0>=57){h=23;break}for(q=Ix(q|0,M|0,l0&7|0)|0,f0=v0,q=s0|q,l0=t0,s0=l0,n[s0>>0]=q,n[s0+1>>0]=q>>8,n[s0+2>>0]=q>>16,n[s0+3>>0]=q>>24,l0=l0+4|0,n[l0>>0]=f0,n[l0+1>>0]=f0>>8,n[l0+2>>0]=f0>>16,n[l0+3>>0]=f0>>24,l0=(e[x0>>2]|0)+j|0,e[x0>>2]=l0,s0=u0;s0;){if(q=s[c+(h&f)>>0]|0,M=n[w+q>>0]|0,q=_[p+(q<<1)>>1]|0,j=n0+(l0>>>3)|0,t0=s[j>>0]|0,u0=Dx(q|0,0,M&255|0)|0,!((u0|0)==0&(v0|0)==0)){h=27;break x}if((M&255)>=57){h=29;break x}q=Ix(q|0,0,l0&7|0)|0,f0=v0,q=t0|q,u0=j,t0=u0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,u0=u0+4|0,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,u0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=u0,l0=u0,h=h+1|0,s0=s0+-1|0}if(h=h+d0|0,(d0|0)!=0&(C0&65535)>127){if(s0=D0>>>24,f0=D0&16777215,t0=n[a0+m0>>0]|0,M=_[$+(m0<<1)>>1]|0,q=n0+(l0>>>3)|0,j=s[q>>0]|0,m0=Dx(M|0,0,t0&255|0)|0,!((m0|0)==0&(v0|0)==0)){h=33;break}if((t0&255)>=57){h=35;break}if(M=Ix(M|0,0,l0&7|0)|0,m0=v0,j=j|M,M=q,q=M,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,M=M+4|0,n[M>>0]=m0,n[M+1>>0]=m0>>8,n[M+2>>0]=m0>>16,n[M+3>>0]=m0>>24,M=(e[x0>>2]|0)+(t0&255)|0,e[x0>>2]=M,q=n0+(M>>>3)|0,j=s[q>>0]|0,m0=Dx(f0|0,0,s0|0)|0,!((m0|0)==0&(v0|0)==0)){h=37;break}if(D0>>>0>=956301312){h=39;break}d0=Ix(f0|0,0,M&7|0)|0,m0=v0,d0=j|d0,D0=q,C0=D0,n[C0>>0]=d0,n[C0+1>>0]=d0>>8,n[C0+2>>0]=d0>>16,n[C0+3>>0]=d0>>24,D0=D0+4|0,n[D0>>0]=m0,n[D0+1>>0]=m0>>8,n[D0+2>>0]=m0>>16,n[D0+3>>0]=m0>>24,e[x0>>2]=(e[x0>>2]|0)+s0}w0=w0+1|0}switch(h|0){case 4:{V0(406196,406218,54,406251);break}case 6:{V0(406267,406218,55,406251);break}case 21:{V0(406196,406218,54,406251);break}case 23:{V0(406267,406218,55,406251);break}case 27:{V0(406196,406218,54,406251);break}case 29:{V0(406267,406218,55,406251);break}case 33:{V0(406196,406218,54,406251);break}case 35:{V0(406267,406218,55,406251);break}case 37:{V0(406196,406218,54,406251);break}case 39:{V0(406267,406218,55,406251);break}case 42:return}}function wm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0;(c|0)!=1?(k=(Ax(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,a0=e0):V0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=a0):V0(405253,404333,87,405236),$>>>0<25?d=p:V0(405273,404333,88,405236)):d=4,e[l>>2]=d+-4,e[l+4>>2]=0,e[f>>2]=d<<2,f=h,e[f>>2]=c+-1,e[f+4>>2]=0}function P4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;if(!c){k=f+((e[h>>2]|0)>>>3)|0,c=s[k>>0]|0,f=k,n[f>>0]=c,n[f+1>>0]=c>>8,n[f+2>>0]=c>>16,n[f+3>>0]=c>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[h>>2]|0)+1|0,e[h>>2]=k;return}k=(Ax(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Ix(1,0,p&7|0)|0,d=v0,p=w|p,w=l,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,l=l+4|0,n[l>>0]=d,n[l+1>>0]=d>>8,n[l+2>>0]=d>>16,n[l+3>>0]=d>>24,l=(e[h>>2]|0)+1|0,e[h>>2]=l,d=f+(l>>>3)|0,w=s[d>>0]|0,(k&56|0)==0&!0||V0(406196,406218,54,406251),e0=Ix(k|0,0,l&7|0)|0,l=v0,e0=w|e0,p=d,w=p,n[w>>0]=e0,n[w+1>>0]=e0>>8,n[w+2>>0]=e0>>16,n[w+3>>0]=e0>>24,p=p+4|0,n[p>>0]=l,n[p+1>>0]=l>>8,n[p+2>>0]=l>>16,n[p+3>>0]=l>>24,p=(e[h>>2]|0)+3|0,e[h>>2]=p,w=c-(1<<k)|0,l=f+(p>>>3)|0,d=s[l>>0]|0,f=Dx(w|0,0,k|0)|0,(f|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k>>>0>=57&&V0(406267,406218,55,406251),p=Ix(w|0,0,p&7|0)|0,f=v0,p=d|p,e0=l,c=e0,n[c>>0]=p,n[c+1>>0]=p>>8,n[c+2>>0]=p>>16,n[c+3>>0]=p>>24,e0=e0+4|0,n[e0>>0]=f,n[e0+1>>0]=f>>8,n[e0+2>>0]=f>>16,n[e0+3>>0]=f>>24,e0=(e[h>>2]|0)+k|0,e[h>>2]=e0}function Dm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+1040|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*1040|0)+1032>>3],$=+i0[c+(s0*1040|0)+1032>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*1040|0)+1024>>2]|0){if(f=e[c+(s0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*1040|0)|0,1040)|0,h=j+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Un(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function zu(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)Dm(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*1040|0)+1024|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*1040|0)+1024>>2]|0),$=0;($|0)!=256;)M=c+(t0*1040|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*1040|0)+1032>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)Dm(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function vm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+2832|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*2832|0)+2824>>3],$=+i0[c+(s0*2832|0)+2824>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*2832|0)+2816>>2]|0){if(f=e[c+(s0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*2832|0)|0,2832)|0,h=j+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Ku(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Am(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)vm(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*2832|0)+2816|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2832|0)+2816>>2]|0),$=0;($|0)!=704;)M=c+(t0*2832|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*2832|0)+2824>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)vm(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function Em(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+2096|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*2096|0)+2088>>3],$=+i0[c+(s0*2096|0)+2088>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*2096|0)+2080>>2]|0){if(f=e[c+(s0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*2096|0)|0,2096)|0,h=j+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Hn(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Wu(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)Em(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*2096|0)+2080|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2096|0)+2080>>2]|0),$=0;($|0)!=520;)M=c+(t0*2096|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*2096|0)+2088>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)Em(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function Cm(c,h,f,l,d,w,p,k,e0,a0,$,x0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0;var n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0;if(De=c0,c0=c0+2304|0,ae=De+512|0,Lx=De,bx=De+2048|0,Ox=De+1536|0,t0=h,u0=f>>>0<98304?f:98304,d0=e[$>>2]|0,dx=64-((Ax(w|0)|0)^31)|0,w||V0(405532,405401,464,405439),w>>>0>=2147483649&&V0(405605,405401,465,405439),n0=w+-1|0,n0&w&&V0(405630,405401,467,405439),nx=Dx(16777215,-1,dx|0)|0,(n0|0)!=(nx|0)&&V0(405667,405401,469,405439),!f){l||V0(405466,405401,472,405439),c=x0+(d0>>>3)|0,d=s[c>>0]|0,bx=Ix(1,0,d0&7|0)|0,ax=v0,bx=d|bx,d=c,n[d>>0]=bx,n[d+1>>0]=bx>>8,n[d+2>>0]=bx>>16,n[d+3>>0]=bx>>24,c=c+4|0,n[c>>0]=ax,n[c+1>>0]=ax>>8,n[c+2>>0]=ax>>16,n[c+3>>0]=ax>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ax=x0+(c>>>3)|0,x0=s[ax>>0]|0,c=Ix(1,0,c&7|0)|0,d=v0,c=x0|c,x0=ax,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=d,n[ax+1>>0]=d>>8,n[ax+2>>0]=d>>16,n[ax+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=De;return}for(Yu(u0,0,$,x0),s0=x0+((e[$>>2]|0)>>>3)|0,nx=s[s0>>0]|0,n0=s0,n[n0>>0]=nx,n[n0+1>>0]=nx>>8,n[n0+2>>0]=nx>>16,n[n0+3>>0]=nx>>24,s0=s0+4|0,n[s0>>0]=0,n[s0+1>>0]=0,n[s0+2>>0]=0,n[s0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,s0=km(c,h,u0,bx,Ox,$,x0)|0,n0=0;w=e[e0>>2]|0,!((n0|7)>>>0>=w>>>0);)Qx=e[$>>2]|0,nx=x0+(Qx>>>3)|0,Nx=s[nx>>0]|0,Qx=Ix(s[a0+(n0>>>3)>>0]|0,0,Qx&7|0)|0,fx=v0,Qx=Nx|Qx,Nx=nx,n[Nx>>0]=Qx,n[Nx+1>>0]=Qx>>8,n[Nx+2>>0]=Qx>>16,n[Nx+3>>0]=Qx>>24,nx=nx+4|0,n[nx>>0]=fx,n[nx+1>>0]=fx>>8,n[nx+2>>0]=fx>>16,n[nx+3>>0]=fx>>24,e[$>>2]=(e[$>>2]|0)+8,n0=n0+8|0;j=w&7,n0=s[a0+(w>>>3)>>0]|0,w=e[$>>2]|0,M=x0+(w>>>3)|0,q=s[M>>0]|0,nx=Dx(n0|0,0,j|0)|0,(nx|0)==0&(v0|0)==0||V0(406196,406218,54,406251),Bx=Ix(n0|0,0,w&7|0)|0,Yx=v0,Bx=q|Bx,Wx=M,Gx=Wx,n[Gx>>0]=Bx,n[Gx+1>>0]=Bx>>8,n[Gx+2>>0]=Bx>>16,n[Gx+3>>0]=Bx>>24,Wx=Wx+4|0,n[Wx>>0]=Yx,n[Wx+1>>0]=Yx>>8,n[Wx+2>>0]=Yx>>16,n[Wx+3>>0]=Yx>>24,e[$>>2]=(e[$>>2]|0)+j,Wx=h,Yx=p+61|0,Gx=k+122|0,Bx=Lx+84|0,Mx=p+64|0,hx=k+128|0,Fx=Lx+256|0,mx=p+39|0,ex=k+78|0,Z0=Lx+188|0,Xx=Lx+256|0,xe=p+62|0,ue=k+124|0,Qx=Lx+88|0,Nx=p+63|0,fx=k+126|0,nx=Lx+92|0,w=f,n0=t0,q=u0,M=s0;x:for(;;){K0=d0+3|0,j0=M>>>0>980,wx=n0,ox=q,j=n0,ux=q;e:for(;;){$x(Lx|0,17764,512)|0,gx=wx,M=gx+ox|0,Ex=M;t:do if(ox>>>0>15)for(t0=ox+-5|0,Rx=w+-16|0,Rx=gx+(t0>>>0<Rx>>>0?t0:Rx)|0,t0=gx+1|0,f=t0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,I0=-1;;){if(q=Se(q|0,f|0,-1124073472,1979815)|0,q=Dx(q|0,v0|0,dx|0)|0,O0=j,O0>>>0>=t0>>>0){ax=24;break x}for(w0=0-I0|0,xx=t0,D0=32;;){if(b0=xx,f=D0,D0=D0+1|0,X0=xx,H0=X0,X0=X0+4|0,X0=Se(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,-1124073472,1979815)|0,X0=Dx(X0|0,v0|0,dx|0)|0,(q|0)!=(X0|0)){ax=26;break x}if(s0=xx+(f>>>5)|0,s0>>>0>Rx>>>0)break t;if(u0=s0,f=u0,u0=u0+4|0,u0=Se(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0,s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0,-1124073472,1979815)|0,u0=Dx(u0|0,v0|0,dx|0)|0,f=xx+w0|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)==(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)&&(w0|0)<0&&(n[xx+4>>0]|0)==(n[xx+(4-I0)>>0]|0)){ax=30;break}if(q=d+(q<<2)|0,t0=e[q>>2]|0,f=h+t0|0,(t0|0)<0){ax=32;break x}if(f>>>0>=xx>>>0){ax=34;break x}if(e[q>>2]=b0-Wx,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){q=u0,xx=s0;continue}if((n[xx+4>>0]|0)==(n[h+(t0+4)>>0]|0))break;q=u0,xx=s0}for((ax|0)==30&&(ax=0,e[d+(q<<2)>>2]=b0-Wx),s0=f,X0=gx+(ox+-4)|0,q=0,t0=xx+5|0;;){if(t0>>>0>X0>>>0){H0=q,q=t0;break}if(H0=f+(q+5)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)){H0=q,q=t0;break}q=q+4|0,t0=t0+4|0}for(;!(q>>>0>=M>>>0||(n[f+(H0+5)>>0]|0)!=(n[q>>0]|0));)H0=H0+1|0,q=q+1|0;B0=H0+5|0,y0=b0-s0|0,h0=b0-j|0,U0=xx+B0|0,G0=U0;r:do if(B0){for(s0=B0,u0=xx;q=n[u0>>0]|0,t0=n[f>>0]|0,q<<24>>24==t0<<24>>24;)if(s0=s0+-1|0,s0)u0=u0+1|0,f=f+1|0;else break r;if(q<<24>>24!=t0<<24>>24){ax=48;break x}}while(!1);do if(h0>>>0>=6210){if(!(((j-n0|0)*50|0)>>>0>h0>>>0|j0^1)){ax=84;break e}if(h0>>>0<22594){if(q=n[xe>>0]|0,j=_[ue>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,b0=Dx(j|0,0,q&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=87;break x}if((q&255)>=57){ax=89;break x}if(b0=Ix(j|0,0,f&7|0)|0,f=v0,b0=s0|b0,j=t0,t0=j,n[t0>>0]=b0,n[t0+1>>0]=b0>>8,n[t0+2>>0]=b0>>16,n[t0+3>>0]=b0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-6210|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16384|0)==0&!0)){ax=91;break x}D0=Ix(j|0,0,q&7|0)|0,b0=v0,D0=t0|D0,u0=f,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Qx>>2]=(e[Qx>>2]|0)+1,u0=0;break}else{if(q=n[Nx>>0]|0,j=_[fx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,b0=Dx(j|0,0,q&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=94;break x}if((q&255)>=57){ax=96;break x}if(b0=Ix(j|0,0,f&7|0)|0,f=v0,b0=s0|b0,j=t0,t0=j,n[t0>>0]=b0,n[t0+1>>0]=b0>>8,n[t0+2>>0]=b0>>16,n[t0+3>>0]=b0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-22594|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=98;break x}D0=Ix(j|0,0,q&7|0)|0,b0=v0,D0=t0|D0,u0=f,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,u0=0;break}}else{if(h0>>>0<6){if(q=h0+40|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,b0=Dx(f|0,0,j&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=52;break x}if((j&255)>=57){ax=54;break x}D0=Ix(f|0,0,t0&7|0)|0,b0=v0,D0=u0|D0,u0=s0,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),u0=Lx+(q<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0<130){if(u0=h0+-2|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0,b0=(w0<<1)+D0+42|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=58;break x}if((q&255)>=57){ax=60;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(D0<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=62;break x}if(w0>>>0>=57){ax=64;break x}s0=Ix(q|0,0,t0&7|0)|0,A0=v0,s0=f|s0,u0=j,D0=u0,n[D0>>0]=s0,n[D0+1>>0]=s0>>8,n[D0+2>>0]=s0>>16,n[D0+3>>0]=s0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+w0,u0=Lx+(b0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0>=2114){if(q=n[Yx>>0]|0,j=_[Gx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=77;break x}if((q&255)>=57){ax=79;break x}if(A0=Ix(j|0,0,f&7|0)|0,f=v0,A0=s0|A0,j=t0,t0=j,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-2114|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-4096|0)==0&!0)){ax=81;break x}w0=Ix(j|0,0,q&7|0)|0,A0=v0,w0=t0|w0,u0=f,b0=u0,n[b0>>0]=w0,n[b0+1>>0]=w0>>8,n[b0+2>>0]=w0>>16,n[b0+3>>0]=w0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Bx>>2]=(e[Bx>>2]|0)+1,u0=0;break}if(u0=h0+-66|0,D0=(Ax(u0|0)|0)^31,w0=D0+50|0,q=n[p+w0>>0]|0,j=_[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=68;break x}if((q&255)>=57){ax=70;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(1<<D0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,D0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=72;break x}if(D0>>>0>=57){ax=74;break x}s0=Ix(q|0,0,t0&7|0)|0,A0=v0,s0=f|s0,u0=j,b0=u0,n[b0>>0]=s0,n[b0+1>>0]=s0>>8,n[b0+2>>0]=s0>>16,n[b0+3>>0]=s0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+D0,u0=Lx+(w0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=h0>>>0);){if(j=s[O0+u0>>0]|0,q=n[bx+j>>0]|0,j=_[Ox+(j<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=102;break x}if((q&255)>=57){ax=104;break x}D0=Ix(j|0,0,f&7|0)|0,b0=v0,D0=s0|D0,A0=t0,w0=A0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,A0=A0+4|0,n[A0>>0]=b0,n[A0+1>>0]=b0>>8,n[A0+2>>0]=b0>>16,n[A0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=u0+1|0}if((y0|0)==(I0|0)){if(q=n[Mx>>0]|0,j=_[hx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=108;break x}if((q&255)>=57){ax=110;break x}h0=Ix(j|0,0,f&7|0)|0,A0=v0,h0=s0|h0,y0=t0,O0=y0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,y0=y0+4|0,n[y0>>0]=A0,n[y0+1>>0]=A0>>8,n[y0+2>>0]=A0>>16,n[y0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[Fx>>2]=(e[Fx>>2]|0)+1,y0=I0}else{if(u0=y0+3|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0&1,b0=((w0<<1)+-2|D0)+80|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=113;break x}if((q&255)>=57){ax=115;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-((D0|2)<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=117;break x}if(w0>>>0>=57){ax=119;break x}h0=Ix(q|0,0,t0&7|0)|0,I0=v0,h0=f|h0,A0=j,O0=A0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+w0,A0=Lx+(b0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}do if(B0>>>0<12){if(q=H0+1|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=123;break x}if((j&255)>=57){ax=125;break x}O0=Ix(f|0,0,t0&7|0)|0,I0=v0,O0=u0|O0,A0=s0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(q<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}else{if(B0>>>0<72){if(u0=H0+-3|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0,b0=(w0<<1)+D0+4|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=129;break x}if((q&255)>=57){ax=131;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(D0<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=133;break x}if(w0>>>0>=57){ax=135;break x}O0=Ix(q|0,0,t0&7|0)|0,I0=v0,O0=f|O0,A0=j,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+w0,A0=Lx+(b0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1;break}if(B0>>>0<136){if(q=H0+-3|0,D0=(q>>>5)+30|0,j=n[p+D0>>0]|0,f=_[k+(D0<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=139;break x}if((j&255)>=57){ax=141;break x}if(A0=Ix(f|0,0,t0&7|0)|0,f=v0,A0=u0|A0,t0=s0,s0=t0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=f,n[t0+1>>0]=f>>8,n[t0+2>>0]=f>>16,n[t0+3>>0]=f>>24,t0=(e[$>>2]|0)+(j&255)|0,e[$>>2]=t0,f=x0+(t0>>>3)|0,s0=s[f>>0]|0,t0=Ix(q&31|0,0,t0&7|0)|0,j=v0,t0=s0|t0,q=f,f=q,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+5|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=143;break x}if((j&255)>=57){ax=145;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(D0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1;break}if(B0>>>0>=2120){if(q=n[mx>>0]|0,j=_[ex>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=162;break x}if((q&255)>=57){ax=164;break x}if(A0=Ix(j|0,0,f&7|0)|0,f=v0,A0=s0|A0,j=t0,t0=j,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=H0+-2115|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=166;break x}if(q=Ix(j|0,0,q&7|0)|0,j=v0,t0=t0|q,q=f,f=q,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+24|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=168;break x}if((j&255)>=57){ax=170;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),e[Z0>>2]=(e[Z0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1;break}if(u0=H0+-67|0,D0=(Ax(u0|0)|0)^31,w0=D0+28|0,q=n[p+w0>>0]|0,j=_[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=149;break x}if((q&255)>=57){ax=151;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(1<<D0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,D0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=153;break x}if(D0>>>0>=57){ax=155;break x}if(q=Ix(q|0,0,t0&7|0)|0,t0=v0,f=f|q,q=j,j=q,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=q+4|0,n[q>>0]=t0,n[q+1>>0]=t0>>8,n[q+2>>0]=t0>>16,n[q+3>>0]=t0>>24,q=(e[$>>2]|0)+D0|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=157;break x}if((j&255)>=57){ax=159;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(w0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1}while(!1);if(U0>>>0>=Rx>>>0){j=G0;break t}for(j=xx+(H0+2)|0,A0=j,A0=s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Se(A0|0,j|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,s0=Dx(A0|0,j|0,24)|0,s0=Se(s0|0,v0|0,-1124073472,1979815)|0,s0=Dx(s0|0,v0|0,dx|0)|0,u0=U0-Wx|0,e[d+(xx<<2)>>2]=u0+-3,xx=Dx(A0|0,j|0,8)|0,xx=Se(xx|0,v0|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=Dx(A0|0,j|0,16)|0,j=Se(j|0,v0|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,dx|0)|0,e[d+(j<<2)>>2]=u0+-1,s0=d+(s0<<2)|0,j=e[s0>>2]|0,e[s0>>2]=u0,s0=y0,u0=G0;b0=h+j|0,A0=u0,q=u0,!((s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)||(n[q+4>>0]|0)!=(n[h+(j+4)>>0]|0));){for(t0=j+5|0,j=0,f=q+5|0;!(f>>>0>X0>>>0||(A0=h+(t0+j)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24|0)));)j=j+4|0,f=f+4|0;for(;!(f>>>0>=M>>>0||(n[h+(t0+j)>>0]|0)!=(n[f>>0]|0));)j=j+1|0,f=f+1|0;w0=j+5|0,O0=q+w0|0,I0=O0,B0=u0-b0|0;do if(!w0)ax=189;else{for(u0=w0,D0=q,s0=b0;;){if(f=n[D0>>0]|0,t0=n[s0>>0]|0,f<<24>>24!=t0<<24>>24){ax=186;break}if(u0=u0+-1|0,u0)D0=D0+1|0,s0=s0+1|0;else break}if((ax|0)==186&&(ax=0,f<<24>>24!=t0<<24>>24)){ax=187;break x}if(w0>>>0<10){ax=189;break}if(w0>>>0<134){if(w0=j+-1|0,y0=((Ax(w0|0)|0)^31)+-1|0,b0=w0>>>y0,h0=(y0<<1)+b0+20|0,f=n[p+h0>>0]|0,t0=_[k+(h0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=196;break x}if((f&255)>=57){ax=198;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-(b0<<y0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,y0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=200;break x}if(y0>>>0>=57){ax=202;break x}G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,A0=Lx+(h0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1;break}if(w0>>>0>=2118){if(f=n[mx>>0]|0,t0=_[ex>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=215;break x}if((f&255)>=57){ax=217;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,s0=v0,A0=D0|A0,t0=u0,u0=t0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=s0,n[t0+1>>0]=s0>>8,n[t0+2>>0]=s0>>16,n[t0+3>>0]=s0>>24,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,t0=j+-2113|0,s0=x0+(f>>>3)|0,u0=s[s0>>0]|0,!((t0&-16777216|0)==0&!0)){ax=219;break x}G0=Ix(t0|0,0,f&7|0)|0,xx=v0,G0=u0|G0,A0=s0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+24,e[Z0>>2]=(e[Z0>>2]|0)+1;break}if(w0=j+-65|0,b0=(Ax(w0|0)|0)^31,y0=b0+28|0,f=n[p+y0>>0]|0,t0=_[k+(y0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=206;break x}if((f&255)>=57){ax=208;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-(1<<b0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,b0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=210;break x}if(b0>>>0>=57){ax=212;break x}G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+b0,A0=Lx+(y0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}while(!1);if((ax|0)==189){if(ax=0,f=j+19|0,t0=n[p+f>>0]|0,s0=_[k+(f<<1)>>1]|0,u0=e[$>>2]|0,D0=x0+(u0>>>3)|0,w0=s[D0>>0]|0,A0=Dx(s0|0,0,t0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=190;break x}if((t0&255)>=57){ax=192;break x}G0=Ix(s0|0,0,u0&7|0)|0,xx=v0,G0=w0|G0,A0=D0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+(t0&255),A0=Lx+(f<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}if(w0=B0+3|0,y0=((Ax(w0|0)|0)^31)+-1|0,b0=w0>>>y0&1,h0=((y0<<1)+-2|b0)+80|0,f=n[p+h0>>0]|0,t0=_[k+(h0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=222;break x}if((f&255)>=57){ax=224;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-((b0|2)<<y0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,y0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=226;break x}if(y0>>>0>=57){ax=228;break x}if(G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,A0=Lx+(h0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,O0>>>0>=Rx>>>0){j=I0;break t}j=q+(j+2)|0,A0=j,A0=s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Se(A0|0,j|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,s0=Dx(A0|0,j|0,24)|0,s0=Se(s0|0,v0|0,-1124073472,1979815)|0,s0=Dx(s0|0,v0|0,dx|0)|0,u0=O0-Wx|0,e[d+(xx<<2)>>2]=u0+-3,xx=Dx(A0|0,j|0,8)|0,xx=Se(xx|0,v0|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=Dx(A0|0,j|0,16)|0,j=Se(j|0,v0|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,dx|0)|0,e[d+(j<<2)>>2]=u0+-1,s0=d+(s0<<2)|0,j=e[s0>>2]|0,e[s0>>2]=u0,s0=B0,u0=I0}t0=q+1|0,f=t0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,I0=s0,j=u0}while(!1);if(w0=j,w0>>>0>M>>>0){ax=233;break x}if(f=w-ox|0,t0=f>>>0<65536?f:65536,(w|0)==(ox|0)){w=0,ax=254;break}if(s0=ux+t0|0,s0>>>0>=1048577){w=f,ax=254;break}for(Vx(ae|0,0,1024)|0,w=0;!(w>>>0>=t0>>>0);)A0=ae+(s[gx+(ox+w)>>0]<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,w=w+43|0;for(A0=t0+42|0,w=(A0>>>0)/43|0,A0>>>0<11008?(l0=+(w>>>0),f0=+r0[19516+(w<<2)>>2]):(f0=+(w>>>0),l0=f0,f0=+Jx(f0)),m0=(f0+.5)*l0+200,q=0;(q|0)!=256;)w=e[ae+(q<<2)>>2]|0,l0=+(w>>>0),C0=+(s[bx+q>>0]|0),w>>>0<256?f0=+r0[19516+(w<<2)>>2]:f0=+Jx(l0),m0=m0-l0*(C0+f0),q=q+1|0;if(!(m0>=0)){w=f,ax=254;break}if(ux>>>0<=65536){ax=250;break x}for(w=20,M=s0+-1|0,q=K0;;){if(!w){w=f,wx=Ex,ox=t0,ux=s0;continue e}ox=q&7,A0=8-ox|0,A0=w>>>0<A0>>>0?w:A0,ux=x0+(q>>>3)|0,n[ux>>0]=(M&(1<<A0)+-1)<<ox|s[ux>>0]&(-1<<ox+A0|(1<<ox)+255),w=w-A0|0,M=M>>>A0,q=q+A0|0}}e:do if((ax|0)==84)ax=0,A0=b0-n0|0,Ex=x0+(d0>>>3)|0,n[Ex>>0]=s[Ex>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Yu(A0,1,$,x0),Ex=(e[$>>2]|0)+7|0,e[$>>2]=Ex&-8,$x(x0+(Ex>>>3)|0,n0|0,A0|0)|0,n0=(e[$>>2]|0)+(A0<<3)|0,e[$>>2]=n0,n[x0+(n0>>>3)>>0]=0,w=w+(wx-b0)|0,n0=b0;else if((ax|0)==254)if(ax=0,w0>>>0<M>>>0){if(D0=M-j|0,D0>>>0>=6210){if(!(((j-n0|0)*50|0)>>>0>D0>>>0|j0^1)){A0=M-n0|0,j0=x0+(d0>>>3)|0,n[j0>>0]=s[j0>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Yu(A0,1,$,x0),j0=(e[$>>2]|0)+7|0,e[$>>2]=j0&-8,$x(x0+(j0>>>3)|0,n0|0,A0|0)|0,n0=(e[$>>2]|0)+(A0<<3)|0,e[$>>2]=n0,n[x0+(n0>>>3)>>0]=0,n0=Ex;break}if(D0>>>0<22594){if(n0=n[xe>>0]|0,M=_[ue>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=299;break x}if((n0&255)>=57){ax=301;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-6210|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-16384|0)==0&!0)){ax=303;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Qx>>2]=(e[Qx>>2]|0)+1,t0=0}else{if(n0=n[Nx>>0]|0,M=_[fx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=306;break x}if((n0&255)>=57){ax=308;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-22594|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-16777216|0)==0&!0)){ax=310;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,t0=0}for(;;){if(t0>>>0>=D0>>>0){n0=Ex;break e}if(M=s[w0+t0>>0]|0,n0=n[bx+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=314;break x}if((n0&255)>=57){ax=316;break x}ux=Ix(M|0,0,q&7|0)|0,j0=v0,ux=f|ux,A0=j,K0=A0,n[K0>>0]=ux,n[K0+1>>0]=ux>>8,n[K0+2>>0]=ux>>16,n[K0+3>>0]=ux>>24,A0=A0+4|0,n[A0>>0]=j0,n[A0+1>>0]=j0>>8,n[A0+2>>0]=j0>>16,n[A0+3>>0]=j0>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),t0=t0+1|0}}do if(D0>>>0<6){if(n0=D0+40|0,M=n[p+n0>>0]|0,q=_[k+(n0<<1)>>1]|0,j=e[$>>2]|0,f=x0+(j>>>3)|0,t0=s[f>>0]|0,A0=Dx(q|0,0,M&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=258;break x}if((M&255)>=57){ax=260;break x}K0=Ix(q|0,0,j&7|0)|0,A0=v0,K0=t0|K0,t0=f,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),t0=Lx+(n0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}else{if(D0>>>0<130){if(t0=D0+-2|0,u0=((Ax(t0|0)|0)^31)+-1|0,s0=t0>>>u0,d0=(u0<<1)+s0+42|0,n0=n[p+d0>>0]|0,M=_[k+(d0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=264;break x}if((n0&255)>=57){ax=266;break x}if(A0=Ix(M|0,0,q&7|0)|0,M=v0,A0=f|A0,q=j,n[q>>0]=A0,n[q+1>>0]=A0>>8,n[q+2>>0]=A0>>16,n[q+3>>0]=A0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=j,n0=t0-(s0<<u0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,A0=Dx(n0|0,0,u0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=268;break x}if(u0>>>0>=57){ax=270;break x}K0=Ix(n0|0,0,j&7|0)|0,A0=v0,K0=q|K0,t0=M,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+u0,t0=Lx+(d0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0;break}if(D0>>>0>=2114){if(n0=n[Yx>>0]|0,M=_[Gx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=283;break x}if((n0&255)>=57){ax=285;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-2114|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-4096|0)==0&!0)){ax=287;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Bx>>2]=(e[Bx>>2]|0)+1,t0=0;break}if(t0=D0+-66|0,s0=(Ax(t0|0)|0)^31,u0=s0+50|0,n0=n[p+u0>>0]|0,M=_[k+(u0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=274;break x}if((n0&255)>=57){ax=276;break x}if(A0=Ix(M|0,0,q&7|0)|0,M=v0,A0=f|A0,q=j,n[q>>0]=A0,n[q+1>>0]=A0>>8,n[q+2>>0]=A0>>16,n[q+3>>0]=A0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=j,n0=t0-(1<<s0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,A0=Dx(n0|0,0,s0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=278;break x}if(s0>>>0>=57){ax=280;break x}K0=Ix(n0|0,0,j&7|0)|0,A0=v0,K0=q|K0,t0=M,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+s0,t0=Lx+(u0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}while(!1);for(;;){if(t0>>>0>=D0>>>0){n0=Ex;break e}if(M=s[w0+t0>>0]|0,n0=n[bx+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=291;break x}if((n0&255)>=57){ax=293;break x}ux=Ix(M|0,0,q&7|0)|0,j0=v0,ux=f|ux,A0=j,K0=A0,n[K0>>0]=ux,n[K0+1>>0]=ux>>8,n[K0+2>>0]=ux>>16,n[K0+3>>0]=ux>>24,A0=A0+4|0,n[A0>>0]=j0,n[A0+1>>0]=j0>>8,n[A0+2>>0]=j0>>16,n[A0+3>>0]=j0>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),t0=t0+1|0}}else n0=Ex;while(!1);if(!w){ax=320;break}q=w>>>0<98304?w:98304,d0=e[$>>2]|0,Yu(q,0,$,x0),M=x0+((e[$>>2]|0)>>>3)|0,Ex=s[M>>0]|0,A0=M,n[A0>>0]=Ex,n[A0+1>>0]=Ex>>8,n[A0+2>>0]=Ex>>16,n[A0+3>>0]=Ex>>24,M=M+4|0,n[M>>0]=0,n[M+1>>0]=0,n[M+2>>0]=0,n[M+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,M=km(c,n0,q,bx,Ox,$,x0)|0,Sm(Lx,p,k,$,x0)}switch(ax|0){case 24:{V0(405740,405401,539,405439);break}case 26:{V0(405474,405401,544,405439);break}case 32:{V0(405779,405401,559,405439);break}case 34:{V0(405800,405401,560,405439);break}case 48:{V0(405815,405401,579,405439);break}case 52:{V0(406196,406218,54,406251);break}case 54:{V0(406267,406218,55,406251);break}case 58:{V0(406196,406218,54,406251);break}case 60:{V0(406267,406218,55,406251);break}case 62:{V0(406196,406218,54,406251);break}case 64:{V0(406267,406218,55,406251);break}case 68:{V0(406196,406218,54,406251);break}case 70:{V0(406267,406218,55,406251);break}case 72:{V0(406196,406218,54,406251);break}case 74:{V0(406267,406218,55,406251);break}case 77:{V0(406196,406218,54,406251);break}case 79:{V0(406267,406218,55,406251);break}case 81:{V0(406196,406218,54,406251);break}case 87:{V0(406196,406218,54,406251);break}case 89:{V0(406267,406218,55,406251);break}case 91:{V0(406196,406218,54,406251);break}case 94:{V0(406196,406218,54,406251);break}case 96:{V0(406267,406218,55,406251);break}case 98:{V0(406196,406218,54,406251);break}case 102:{V0(406196,406218,54,406251);break}case 104:{V0(406267,406218,55,406251);break}case 108:{V0(406196,406218,54,406251);break}case 110:{V0(406267,406218,55,406251);break}case 113:{V0(406196,406218,54,406251);break}case 115:{V0(406267,406218,55,406251);break}case 117:{V0(406196,406218,54,406251);break}case 119:{V0(406267,406218,55,406251);break}case 123:{V0(406196,406218,54,406251);break}case 125:{V0(406267,406218,55,406251);break}case 129:{V0(406196,406218,54,406251);break}case 131:{V0(406267,406218,55,406251);break}case 133:{V0(406196,406218,54,406251);break}case 135:{V0(406267,406218,55,406251);break}case 139:{V0(406196,406218,54,406251);break}case 141:{V0(406267,406218,55,406251);break}case 143:{V0(406196,406218,54,406251);break}case 145:{V0(406267,406218,55,406251);break}case 149:{V0(406196,406218,54,406251);break}case 151:{V0(406267,406218,55,406251);break}case 153:{V0(406196,406218,54,406251);break}case 155:{V0(406267,406218,55,406251);break}case 157:{V0(406196,406218,54,406251);break}case 159:{V0(406267,406218,55,406251);break}case 162:{V0(406196,406218,54,406251);break}case 164:{V0(406267,406218,55,406251);break}case 166:{V0(406196,406218,54,406251);break}case 168:{V0(406196,406218,54,406251);break}case 170:{V0(406267,406218,55,406251);break}case 187:{V0(405815,405401,638,405439);break}case 190:{V0(406196,406218,54,406251);break}case 192:{V0(406267,406218,55,406251);break}case 196:{V0(406196,406218,54,406251);break}case 198:{V0(406267,406218,55,406251);break}case 200:{V0(406196,406218,54,406251);break}case 202:{V0(406267,406218,55,406251);break}case 206:{V0(406196,406218,54,406251);break}case 208:{V0(406267,406218,55,406251);break}case 210:{V0(406196,406218,54,406251);break}case 212:{V0(406267,406218,55,406251);break}case 215:{V0(406196,406218,54,406251);break}case 217:{V0(406267,406218,55,406251);break}case 219:{V0(406196,406218,54,406251);break}case 222:{V0(406196,406218,54,406251);break}case 224:{V0(406267,406218,55,406251);break}case 226:{V0(406196,406218,54,406251);break}case 228:{V0(406267,406218,55,406251);break}case 233:{V0(405853,405401,671,405439);break}case 250:{V0(405503,405401,681,405439);break}case 258:{V0(406196,406218,54,406251);break}case 260:{V0(406267,406218,55,406251);break}case 264:{V0(406196,406218,54,406251);break}case 266:{V0(406267,406218,55,406251);break}case 268:{V0(406196,406218,54,406251);break}case 270:{V0(406267,406218,55,406251);break}case 274:{V0(406196,406218,54,406251);break}case 276:{V0(406267,406218,55,406251);break}case 278:{V0(406196,406218,54,406251);break}case 280:{V0(406267,406218,55,406251);break}case 283:{V0(406196,406218,54,406251);break}case 285:{V0(406267,406218,55,406251);break}case 287:{V0(406196,406218,54,406251);break}case 291:{V0(406196,406218,54,406251);break}case 293:{V0(406267,406218,55,406251);break}case 299:{V0(406196,406218,54,406251);break}case 301:{V0(406267,406218,55,406251);break}case 303:{V0(406196,406218,54,406251);break}case 306:{V0(406196,406218,54,406251);break}case 308:{V0(406267,406218,55,406251);break}case 310:{V0(406196,406218,54,406251);break}case 314:{V0(406196,406218,54,406251);break}case 316:{V0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ax=x0+(c>>>3)|0,d=s[ax>>0]|0,c=Ix(1,0,c&7|0)|0,A0=v0,c=d|c,d=ax,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=A0,n[ax+1>>0]=A0>>8,n[ax+2>>0]=A0>>16,n[ax+3>>0]=A0>>24,ax=(e[$>>2]|0)+1|0,e[$>>2]=ax,A0=x0+(ax>>>3)|0,d=s[A0>>0]|0,x0=Ix(1,0,ax&7|0)|0,ax=v0,x0=d|x0,d=A0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,A0=A0+4|0,n[A0>>0]=ax,n[A0+1>>0]=ax>>8,n[A0+2>>0]=ax>>16,n[A0+3>>0]=ax>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=De;return}else{n[a0>>0]=0,e[e0>>2]=0,Sm(Lx,p,k,e0,a0),c0=De;return}}}function Yu(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0;if(d=l+((e[f>>2]|0)>>>3)|0,p=s[d>>0]|0,w=d,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,d=d+4|0,n[d>>0]=0,n[d+1>>0]=0,n[d+2>>0]=0,n[d+3>>0]=0,d=(e[f>>2]|0)+1|0,e[f>>2]=d,w=l+(d>>>3)|0,p=s[w>>0]|0,c>>>0<65537){k=w,d=k,n[d>>0]=p,n[d+1>>0]=p>>8,n[d+2>>0]=p>>16,n[d+3>>0]=p>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-65536|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+16|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}else{k=Ix(1,0,d&7|0)|0,d=v0,p=p|k,k=w,w=k,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,k=k+4|0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-1048576|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+20|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}}function km(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0;$=c0,c0=c0+1024|0,a0=$,Vx(a0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=a0+((s[h+k>>0]|0)<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,k=k+1|0}for(;;){if((k|0)==256){e0=f;break x}h=a0+(k<<2)|0,x0=e[h>>2]|0,e0=(x0>>>0<11?x0:11)<<1,e[h>>2]=x0+e0,f=f+e0|0,k=k+1|0}}else{for(k=0;!(k>>>0>=f>>>0);)x0=a0+((s[h+k>>0]|0)<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,k=k+29|0;for(f=((f+28|0)>>>0)/29|0,k=0;;){if((k|0)==256){e0=f;break x}e0=a0+(k<<2)|0,h=e[e0>>2]|0,x0=(h>>>0<11?h:11)<<1|1,e[e0>>2]=h+x0,f=f+x0|0,k=k+1|0}}while(!1);for(uo(c,a0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[a0+(h<<2)>>2]|0,k&&(f=f+(rx(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function Sm(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;M=c0,c0=c0+1872|0,n0=M+704|0,x0=M,a0=M+1736|0,Vx(x0|0,0,704)|0,lo(c,64,15,n0,h),$=h+64|0,lo(c+256|0,64,14,n0,$),p=x0,k=h,e0=p+24|0;do n[p>>0]=n[k>>0]|0,p=p+1|0,k=k+1|0;while((p|0)<(e0|0));p=h+40|0,w=p,p=p+4|0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,c=x0+24|0,e[c>>2]=s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24,e[c+4>>2]=p,c=h+24|0,p=c,w=p,p=p+4|0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e0=x0+32|0,e[e0>>2]=s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24,e[e0+4>>2]=p,e0=h+48|0,p=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,w=x0+40|0,e[w>>2]=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e[w+4>>2]=e0,w=h+32|0,e0=w,p=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,k=x0+48|0,e[k>>2]=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e[k+4>>2]=e0,k=h+56|0,e0=k,k=k+4|0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,p=x0+56|0,e[p>>2]=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,e[p+4>>2]=k,qn(x0,64,a0),p=f,k=a0,e0=p+48|0;do o[p>>1]=o[k>>1]|0,p=p+2|0,k=k+2|0;while((p|0)<(e0|0));p=f+48|0,e0=a0+64|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+64|0,e0=a0+96|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+80|0,e0=a0+48|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+96|0,e0=a0+80|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+112|0,e0=a0+112|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,qn($,64,f+128|0),p=x0,e0=p+64|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(e0|0));for(f=h,a0=f,f=f+4|0,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e0=x0,e[e0>>2]=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,e[e0+4>>2]=f,e0=h+8|0,f=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,a0=x0+64|0,e[a0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[a0+4>>2]=e0,a0=h+16|0,e0=a0,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,f=x0+128|0,e[f>>2]=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,e[f+4>>2]=a0,f=c,c=f,f=f+4|0,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,a0=x0+192|0,e[a0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[a0+4>>2]=f,a0=w,f=a0,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,c=x0+384|0,e[c>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[c+4>>2]=a0,c=0;(c|0)!=8;)a0=c<<3,n[x0+(a0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(a0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(a0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;v7(x0,704,n0,l,d),v7($,64,n0,l,d),c0=M}function Fm(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0,$t=0,Xe=0,A6=0,Zx=0,ve=0,Nt=0,st=0,St=0,Qe=0,Be=0,xr=0;xr=c0,c0=c0+4560|0,Qe=xr+2376|0,Xe=xr+128|0,$t=xr+4176|0,st=xr+4304|0,Nt=xr+3664|0,A6=xr,M0=xr+3408|0,Zx=xr+1864|0,St=xr+840|0,ve=xr+832|0,Fe=d,oe=w,px=64-((Ax(k|0)|0)^31)|0,T0=(k|0)==0,tx=k>>>0<2147483649,Rx=k+-1|0,Ux=(Rx&k|0)==0,X0=Dx(16777215,-1,px|0)|0,X0=(Rx|0)==(X0|0),Rx=h,wx=w,gx=d,ox=Zx+4|0,ux=Zx+8|0,K0=Zx+256|0,j0=Zx+336|0,Ex=Zx+256|0,Wx=A6+64|0,Yx=A6+24|0,Gx=Xe+24|0,Bx=Xe+32|0,Mx=A6+48|0,hx=Xe+40|0,Fx=A6+8|0,mx=Xe+48|0,ex=A6+56|0,Z0=Xe+56|0,Xx=A6+16|0,xe=$t+48|0,ue=M0+16|0,Qx=$t+80|0,Nx=M0+32|0,fx=$t+112|0,nx=M0+48|0,dx=M0+96|0,Lx=$t+64|0,ae=M0+112|0,Ox=$t+96|0,bx=M0+128|0,ax=Xe+64|0,De=A6+32|0,A0=Xe+128|0,se=A6+40|0,Kx=Xe+192|0,lx=Xe+384|0,xx=St,we=St+1024|0,U0=h;x:for(;;){if(!f){Be=155;break}if(G0=f>>>0<131072?f:131072,e[ve>>2]=Fe,H0=U0+G0|0,k=U0,T0){Be=4;break}if(!tx){Be=6;break}if(!Ux){Be=8;break}if(!X0){Be=10;break}e:do if(G0>>>0>15)for(l0=G0+-6|0,I0=f+-16|0,I0=U0+(l0>>>0<I0>>>0?l0:I0)|0,l0=U0+1|0,n0=l0,x0=n0,n0=n0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=-1,t0=oe;;){if(x0=Se(x0|0,n0|0,-1480785920,7733)|0,x0=Dx(x0|0,v0|0,px|0)|0,y0=k,y0>>>0>=l0>>>0){Be=15;break x}for(m0=0-O0|0,h0=l0,d0=32;;){if(D0=h0,n0=d0,d0=d0+1|0,B0=h0,b0=B0,B0=B0+4|0,B0=Se(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0,-1480785920,7733)|0,B0=Dx(B0|0,v0|0,px|0)|0,(x0|0)!=(B0|0)){Be=17;break x}if(l0=h0+(n0>>>5)|0,l0>>>0>I0>>>0)break e;if(u0=l0,n0=u0,u0=u0+4|0,u0=Se(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0,s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0,-1480785920,7733)|0,u0=Dx(u0|0,v0|0,px|0)|0,n0=h0+m0|0,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)==(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)&&(n[h0+4>>0]|0)==(n[h0+(4-O0)>>0]|0)&&(m0|0)<0&&(n[h0+5>>0]|0)==(n[h0+(5-O0)>>0]|0)){Be=22;break}if(x0=p+(x0<<2)|0,s0=e[x0>>2]|0,n0=h+s0|0,(s0|0)<0){Be=24;break x}if(n0>>>0>=h0>>>0){Be=26;break x}if(e[x0>>2]=D0-Rx,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)){x0=u0,h0=l0;continue}if((n[h0+4>>0]|0)!=(n[h+(s0+4)>>0]|0)){x0=u0,h0=l0;continue}if((n[h0+5>>0]|0)==(n[h+(s0+5)>>0]|0))break;x0=u0,h0=l0}for((Be|0)==22&&(Be=0,e[p+(x0<<2)>>2]=D0-Rx),l0=n0,B0=U0+(G0+-4)|0,x0=0,s0=h0+6|0;;){if(s0>>>0>B0>>>0){b0=x0,x0=s0;break}if(b0=n0+(x0+6)|0,(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)){b0=x0,x0=s0;break}x0=x0+4|0,s0=s0+4|0}for(;!(x0>>>0>=H0>>>0||(n[n0+(b0+6)>>0]|0)!=(n[x0>>0]|0));)b0=b0+1|0,x0=x0+1|0;w0=b0+6|0,s0=D0-l0|0,m0=D0-k|0,D0=h0+w0|0,k=D0;t:do if(w0){for(u0=w0,d0=h0;x0=n[d0>>0]|0,l0=n[n0>>0]|0,x0<<24>>24==l0<<24>>24;)if(u0=u0+-1|0,u0)d0=d0+1|0,n0=n0+1|0;else break t;if(x0<<24>>24!=l0<<24>>24){Be=41;break x}}while(!1);do if(m0>>>0>=6){if(m0>>>0<130){l0=m0+-2|0,d0=((Ax(l0|0)|0)^31)+-1|0,u0=l0>>>d0,e[e[ve>>2]>>2]=(d0<<1)+u0+2|l0-(u0<<d0)<<8;break}if(m0>>>0<2114){u0=m0+-66|0,d0=(Ax(u0|0)|0)^31,e[e[ve>>2]>>2]=d0+10|u0-(1<<d0)<<8;break}if(m0>>>0<6210){e[e[ve>>2]>>2]=(m0<<8)+-541184|21;break}if(x0=m0<<8,m0>>>0<22594){e[e[ve>>2]>>2]=x0+-1589760|22;break}else{e[e[ve>>2]>>2]=x0+-5784064|23;break}}else e[e[ve>>2]>>2]=m0;while(!1);e[ve>>2]=(e[ve>>2]|0)+4,$x(t0|0,y0|0,m0|0)|0,t0=t0+m0|0,(s0|0)==(O0|0)?(e[e[ve>>2]>>2]=64,x0=e[ve>>2]|0,s0=O0):(y0=s0+3|0,x0=((Ax(y0|0)|0)^31)+-1|0,O0=y0>>>x0&1,e[e[ve>>2]>>2]=((x0<<1)+-2|O0)+80|y0-((O0|2)<<x0)<<8,x0=e[ve>>2]|0),x0=x0+4|0,e[ve>>2]=x0;do if(w0>>>0>=12){if(w0>>>0<72){w0=b0+-2|0,O0=((Ax(w0|0)|0)^31)+-1|0,y0=w0>>>O0,e[x0>>2]=(O0<<1)+y0+28|w0-(y0<<O0)<<8,e[ve>>2]=(e[ve>>2]|0)+4;break}if(w0>>>0<136){O0=b0+-2|0,e[x0>>2]=(O0>>>5)+54|O0<<8&7936,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}if(w0>>>0<2120){y0=b0+-66|0,O0=(Ax(y0|0)|0)^31,e[x0>>2]=O0+52|y0-(1<<O0)<<8,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}else{e[x0>>2]=(w0<<8)+-542720|63,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}}else e[x0>>2]=b0+26,e[ve>>2]=(e[ve>>2]|0)+4;while(!1);if(D0>>>0>=I0>>>0)break e;for(n0=h0+(b0+1)|0,O0=n0,O0=s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,w0=Se(O0|0,n0|0,-1480785920,7733)|0,w0=Dx(w0|0,v0|0,px|0)|0,y0=D0-Rx|0,e[p+(w0<<2)>>2]=y0+-5,w0=Dx(O0|0,n0|0,8)|0,w0=Se(w0|0,v0|0,-1480785920,7733)|0,w0=Dx(w0|0,v0|0,px|0)|0,e[p+(w0<<2)>>2]=y0+-4,n0=Dx(O0|0,n0|0,16)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=y0+-3,n0=h0+(b0+4)|0,h0=n0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=Dx(h0|0,n0|0,16)|0,O0=Se(O0|0,v0|0,-1480785920,7733)|0,O0=Dx(O0|0,v0|0,px|0)|0,b0=Se(h0|0,n0|0,-1480785920,7733)|0,b0=Dx(b0|0,v0|0,px|0)|0,e[p+(b0<<2)>>2]=y0+-2,n0=Dx(h0|0,n0|0,8)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=y0+-1,O0=p+(O0<<2)|0,n0=e[O0>>2]|0,e[O0>>2]=y0;u0=h+n0|0,O0=k,x0=k,!((s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)||(n[x0+4>>0]|0)!=(n[h+(n0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(n0+5)>>0]|0));){for(l0=n0+6|0,n0=0,s0=x0+6|0;!(s0>>>0>B0>>>0||(O0=h+(l0+n0)|0,(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)!=(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0)));)n0=n0+4|0,s0=s0+4|0;for(;!(s0>>>0>=H0>>>0||(n[h+(l0+n0)>>0]|0)!=(n[s0>>0]|0));)n0=n0+1|0,s0=s0+1|0;D0=n0+6|0,w0=x0+D0|0,b0=w0,s0=k-u0|0;do if(D0){for(d0=D0,m0=x0;;){if(k=n[m0>>0]|0,l0=n[u0>>0]|0,k<<24>>24!=l0<<24>>24){Be=80;break}if(d0=d0+-1|0,d0)m0=m0+1|0,u0=u0+1|0;else break}if((Be|0)==80&&(Be=0,k<<24>>24!=l0<<24>>24)){Be=81;break x}if(D0>>>0<10){Be=83;break}if(D0>>>0<134){O0=((Ax(n0|0)|0)^31)+-1|0,h0=n0>>>O0,e[e[ve>>2]>>2]=(O0<<1)+h0+44|n0-(h0<<O0)<<8;break}if(D0>>>0<2118){h0=n0+-64|0,O0=(Ax(h0|0)|0)^31,e[e[ve>>2]>>2]=O0+52|h0-(1<<O0)<<8;break}else{e[e[ve>>2]>>2]=(D0<<8)+-542208|63;break}}else Be=83;while(!1);if((Be|0)==83&&(Be=0,e[e[ve>>2]>>2]=n0+44),O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,D0=s0+3|0,h0=((Ax(D0|0)|0)^31)+-1|0,y0=D0>>>h0&1,e[O0>>2]=((h0<<1)+-2|y0)+80|D0-((y0|2)<<h0)<<8,e[ve>>2]=(e[ve>>2]|0)+4,w0>>>0>=I0>>>0){k=b0;break e}h0=x0+(n0+1)|0,k=h0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,h0=h0+4|0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,y0=Se(k|0,h0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,O0=w0-Rx|0,e[p+(y0<<2)>>2]=O0+-5,y0=Dx(k|0,h0|0,8)|0,y0=Se(y0|0,v0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,e[p+(y0<<2)>>2]=O0+-4,h0=Dx(k|0,h0|0,16)|0,h0=Se(h0|0,v0|0,-1480785920,7733)|0,h0=Dx(h0|0,v0|0,px|0)|0,e[p+(h0<<2)>>2]=O0+-3,n0=x0+(n0+4)|0,h0=n0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,k=Dx(h0|0,n0|0,16)|0,k=Se(k|0,v0|0,-1480785920,7733)|0,k=Dx(k|0,v0|0,px|0)|0,y0=Se(h0|0,n0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,e[p+(y0<<2)>>2]=O0+-2,n0=Dx(h0|0,n0|0,8)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=O0+-1,k=p+(k<<2)|0,n0=e[k>>2]|0,e[k>>2]=O0,k=b0}l0=x0+1|0,n0=l0,x0=n0,n0=n0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=s0}else t0=oe;while(!1);if(n0=k,n0>>>0>H0>>>0){Be=93;break}if(n0>>>0<H0>>>0){k=H0-k|0;do if(k>>>0>=6){if(k>>>0<130){O0=k+-2|0,I0=((Ax(O0|0)|0)^31)+-1|0,B0=O0>>>I0,e[e[ve>>2]>>2]=(I0<<1)+B0+2|O0-(B0<<I0)<<8;break}if(k>>>0<2114){B0=k+-66|0,I0=(Ax(B0|0)|0)^31,e[e[ve>>2]>>2]=I0+10|B0-(1<<I0)<<8;break}if(k>>>0<6210){e[e[ve>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[ve>>2]>>2]=x0+-1589760|22;break}else{e[e[ve>>2]>>2]=x0+-5784064|23;break}}else e[e[ve>>2]>>2]=k;while(!1);e[ve>>2]=(e[ve>>2]|0)+4,$x(t0|0,n0|0,k|0)|0,t0=t0+k|0}if(l0=t0-wx|0,$=+(G0>>>0),+(l0>>>0)<$*.98)Be=126;else{for(Vx(St|0,0,1024)|0,C0=$*8*.98,k=0;;){if(k>>>0>=G0>>>0){k=xx,$=0,s0=0;break}I0=St+(s[U0+k>>0]<<2)|0,e[I0>>2]=(e[I0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=we>>>0);)x0=e[k>>2]|0,M=+(x0>>>0),x0>>>0<256?f0=+r0[19516+(x0<<2)>>2]:f0=+Jx(M),n0=e[k+4>>2]|0,q=+(n0>>>0),n0>>>0<256?j=+r0[19516+(n0<<2)>>2]:j=+Jx(q),k=k+8|0,$=$-M*f0-q*j,s0=s0+x0+n0|0;f0=C0/43,q=+(s0>>>0),s0?(s0>>>0<256?M=+r0[19516+(s0<<2)>>2]:M=+Jx(q),j=q,$=$+q*M):j=q,($<j?j:$)<f0?Be=126:(Om(G0,1,e0,a0),I0=(e[e0>>2]|0)+7|0,e[e0>>2]=I0&-8,$x(a0+(I0>>>3)|0,U0|0,G0|0)|0,U0=(e[e0>>2]|0)+(G0<<3)|0,e[e0>>2]=U0,n[a0+(U0>>>3)>>0]=0)}if((Be|0)==126){Be=0,D0=(e[ve>>2]|0)-gx>>2,Om(G0,0,e0,a0),x0=a0+((e[e0>>2]|0)>>>3)|0,U0=s[x0>>0]|0,n0=x0,n[n0>>0]=U0,n[n0+1>>0]=U0>>8,n[n0+2>>0]=U0>>16,n[n0+3>>0]=U0>>24,x0=x0+4|0,n[x0>>0]=0,n[x0+1>>0]=0,n[x0+2>>0]=0,n[x0+3>>0]=0,e[e0>>2]=(e[e0>>2]|0)+13,Vx(St|0,0,1024)|0,x0=A6,n0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(n0|0));for(Vx(M0|0,0,256)|0,Vx(Zx|0,0,512)|0,k=t0-wx|0,x0=0;(x0|0)!=(k|0);)U0=St+(s[w+x0>>0]<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,x0=x0+1|0;for(uo(c,St,l0,8,st,Nt,e0,a0),k=0;(k|0)!=(D0|0);)U0=Zx+((e[d+(k<<2)>>2]&255)<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,k=k+1|0;e[ox>>2]=(e[ox>>2]|0)+1,e[ux>>2]=(e[ux>>2]|0)+1,e[K0>>2]=(e[K0>>2]|0)+1,e[j0>>2]=(e[j0>>2]|0)+1,Vx(Xe|0,0,704)|0,lo(Zx,64,15,Qe,A6),lo(Ex,64,14,Qe,Wx),e[Xe>>2]=e[Yx>>2],e[Xe+4>>2]=e[Yx+4>>2],e[Xe+8>>2]=e[Yx+8>>2],e[Xe+12>>2]=e[Yx+12>>2],e[Xe+16>>2]=e[Yx+16>>2],e[Xe+20>>2]=e[Yx+20>>2],n0=A6,k=e[n0+4>>2]|0,x0=Gx,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,x0=Mx,k=e[x0+4>>2]|0,n0=Bx,e[n0>>2]=e[x0>>2],e[n0+4>>2]=k,n0=Fx,k=e[n0+4>>2]|0,x0=hx,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,x0=ex,k=e[x0+4>>2]|0,n0=mx,e[n0>>2]=e[x0>>2],e[n0+4>>2]=k,n0=Xx,k=e[n0+4>>2]|0,x0=Z0,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,qn(Xe,64,$t),o[M0>>1]=o[xe>>1]|0,o[M0+2>>1]=o[xe+2>>1]|0,o[M0+4>>1]=o[xe+4>>1]|0,o[M0+6>>1]=o[xe+6>>1]|0,o[M0+8>>1]=o[xe+8>>1]|0,o[M0+10>>1]=o[xe+10>>1]|0,o[M0+12>>1]=o[xe+12>>1]|0,o[M0+14>>1]=o[xe+14>>1]|0,o[ue>>1]=o[Qx>>1]|0,o[ue+2>>1]=o[Qx+2>>1]|0,o[ue+4>>1]=o[Qx+4>>1]|0,o[ue+6>>1]=o[Qx+6>>1]|0,o[ue+8>>1]=o[Qx+8>>1]|0,o[ue+10>>1]=o[Qx+10>>1]|0,o[ue+12>>1]=o[Qx+12>>1]|0,o[ue+14>>1]=o[Qx+14>>1]|0,o[Nx>>1]=o[fx>>1]|0,o[Nx+2>>1]=o[fx+2>>1]|0,o[Nx+4>>1]=o[fx+4>>1]|0,o[Nx+6>>1]=o[fx+6>>1]|0,o[Nx+8>>1]=o[fx+8>>1]|0,o[Nx+10>>1]=o[fx+10>>1]|0,o[Nx+12>>1]=o[fx+12>>1]|0,o[Nx+14>>1]=o[fx+14>>1]|0,x0=nx,k=$t,n0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(n0|0));o[dx>>1]=o[Lx>>1]|0,o[dx+2>>1]=o[Lx+2>>1]|0,o[dx+4>>1]=o[Lx+4>>1]|0,o[dx+6>>1]=o[Lx+6>>1]|0,o[dx+8>>1]=o[Lx+8>>1]|0,o[dx+10>>1]=o[Lx+10>>1]|0,o[dx+12>>1]=o[Lx+12>>1]|0,o[dx+14>>1]=o[Lx+14>>1]|0,o[ae>>1]=o[Ox>>1]|0,o[ae+2>>1]=o[Ox+2>>1]|0,o[ae+4>>1]=o[Ox+4>>1]|0,o[ae+6>>1]=o[Ox+6>>1]|0,o[ae+8>>1]=o[Ox+8>>1]|0,o[ae+10>>1]=o[Ox+10>>1]|0,o[ae+12>>1]=o[Ox+12>>1]|0,o[ae+14>>1]=o[Ox+14>>1]|0,qn(Wx,64,bx),x0=Xe,n0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(n0|0));for(I0=Yx,U0=e[I0+4>>2]|0,k=Xe,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=De,U0=e[k+4>>2]|0,I0=ax,e[I0>>2]=e[k>>2],e[I0+4>>2]=U0,I0=se,U0=e[I0+4>>2]|0,k=A0,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=Mx,U0=e[k+4>>2]|0,I0=Kx,e[I0>>2]=e[k>>2],e[I0+4>>2]=U0,I0=ex,U0=e[I0+4>>2]|0,k=lx,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=0;(k|0)!=8;)U0=k<<3,n[Xe+(U0+128)>>0]=n[A6+k>>0]|0,n[Xe+(U0+256)>>0]=n[A6+(k+8)>>0]|0,n[Xe+(U0+448)>>0]=n[A6+(k+16)>>0]|0,k=k+1|0;for(v7(Xe,704,Qe,e0,a0),v7(Wx,64,Qe,e0,a0),k=oe,m0=0;!(m0>>>0>=D0>>>0);){if(d0=e[d+(m0<<2)>>2]|0,u0=d0&255,d0=d0>>>8,x0=n[A6+u0>>0]|0,n0=_[M0+(u0<<1)>>1]|0,t0=e[e0>>2]|0,s0=a0+(t0>>>3)|0,l0=s[s0>>0]|0,U0=Dx(n0|0,0,x0&255|0)|0,!((U0|0)==0&(v0|0)==0)){Be=138;break x}if((x0&255)>=57){Be=140;break x}if(U0=Ix(n0|0,0,t0&7|0)|0,t0=v0,U0=l0|U0,n0=s0,s0=n0,n[s0>>0]=U0,n[s0+1>>0]=U0>>8,n[s0+2>>0]=U0>>16,n[s0+3>>0]=U0>>24,n0=n0+4|0,n[n0>>0]=t0,n[n0+1>>0]=t0>>8,n[n0+2>>0]=t0>>16,n[n0+3>>0]=t0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,n0=e[18276+(u0<<2)>>2]|0,t0=a0+(x0>>>3)|0,s0=s[t0>>0]|0,U0=Dx(d0|0,0,n0|0)|0,!((U0|0)==0&(v0|0)==0)){Be=142;break x}B0=Ix(d0|0,0,x0&7|0)|0,U0=v0,B0=s0|B0,x0=t0,I0=x0,n[I0>>0]=B0,n[I0+1>>0]=B0>>8,n[I0+2>>0]=B0>>16,n[I0+3>>0]=B0>>24,x0=x0+4|0,n[x0>>0]=U0,n[x0+1>>0]=U0>>8,n[x0+2>>0]=U0>>16,n[x0+3>>0]=U0>>24,x0=(e[e0>>2]|0)+n0|0,e[e0>>2]=x0;e:do if(u0>>>0<24)for(d0=(e[18788+(u0<<2)>>2]|0)+d0|0,u0=0;;){if(u0>>>0>=d0>>>0)break e;if(t0=s[k>>0]|0,n0=n[st+t0>>0]|0,t0=_[Nt+(t0<<1)>>1]|0,s0=a0+(x0>>>3)|0,l0=s[s0>>0]|0,U0=Dx(t0|0,0,n0&255|0)|0,!((U0|0)==0&(v0|0)==0)){Be=147;break x}if((n0&255)>=57){Be=149;break x}O0=Ix(t0|0,0,x0&7|0)|0,I0=v0,O0=l0|O0,U0=s0,B0=U0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,U0=U0+4|0,n[U0>>0]=I0,n[U0+1>>0]=I0>>8,n[U0+2>>0]=I0>>16,n[U0+3>>0]=I0>>24,U0=(e[e0>>2]|0)+(n0&255)|0,e[e0>>2]=U0,k=k+1|0,x0=U0,u0=u0+1|0}while(!1);m0=m0+1|0}}f=f-G0|0,U0=H0}switch(Be|0){case 4:{V0(405532,405543,251,405590);break}case 6:{V0(405605,405543,252,405590);break}case 8:{V0(405630,405543,254,405590);break}case 10:{V0(405667,405543,256,405590);break}case 15:{V0(405740,405543,289,405590);break}case 17:{V0(405755,405543,295,405590);break}case 24:{V0(405779,405543,309,405590);break}case 26:{V0(405800,405543,310,405590);break}case 41:{V0(405815,405543,329,405590);break}case 81:{V0(405815,405543,378,405590);break}case 93:{V0(405853,405543,415,405590);break}case 138:{V0(406196,406218,54,406251);break}case 140:{V0(406267,406218,55,406251);break}case 142:{V0(406196,406218,54,406251);break}case 147:{V0(406196,406218,54,406251);break}case 149:{V0(406267,406218,55,406251);break}case 155:{if(!l){c0=xr;return}c=e[e0>>2]|0,Qe=a0+(c>>>3)|0,p=s[Qe>>0]|0,c=Ix(1,0,c&7|0)|0,Be=v0,c=p|c,p=Qe,n[p>>0]=c,n[p+1>>0]=c>>8,n[p+2>>0]=c>>16,n[p+3>>0]=c>>24,Qe=Qe+4|0,n[Qe>>0]=Be,n[Qe+1>>0]=Be>>8,n[Qe+2>>0]=Be>>16,n[Qe+3>>0]=Be>>24,Qe=(e[e0>>2]|0)+1|0,e[e0>>2]=Qe,Be=a0+(Qe>>>3)|0,p=s[Be>>0]|0,a0=Ix(1,0,Qe&7|0)|0,Qe=v0,a0=p|a0,p=Be,n[p>>0]=a0,n[p+1>>0]=a0>>8,n[p+2>>0]=a0>>16,n[p+3>>0]=a0>>24,Be=Be+4|0,n[Be>>0]=Qe,n[Be+1>>0]=Qe>>8,n[Be+2>>0]=Qe>>16,n[Be+3>>0]=Qe>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=xr;return}}}function Om(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0;if(d=l+((e[f>>2]|0)>>>3)|0,p=s[d>>0]|0,w=d,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,d=d+4|0,n[d>>0]=0,n[d+1>>0]=0,n[d+2>>0]=0,n[d+3>>0]=0,d=(e[f>>2]|0)+1|0,e[f>>2]=d,w=l+(d>>>3)|0,p=s[w>>0]|0,c>>>0<65537){k=w,d=k,n[d>>0]=p,n[d+1>>0]=p>>8,n[d+2>>0]=p>>16,n[d+3>>0]=p>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-65536|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+16|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}else{k=Ix(1,0,d&7|0)|0,d=v0,p=p|k,k=w,w=k,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,k=k+4|0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-1048576|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+20|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}}function oG(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0,$t=0,Xe=0,A6=0,Zx=0,ve=0,Nt=0,st=0,St=0,Qe=0;if(Qe=c0,c0=c0+16|0,st=Qe+8|0,St=Qe+4|0,A6=Qe,!(fo(c)|0)||(ve=c+5232|0,(e[ve>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=Qe,w|0;if(Nt=c+4|0,p=e[Nt>>2]|0,p>>>0<2){U0=1<<e[c+8>>2],a0=e[h>>2]|0,a0=a0>>>0<U0>>>0?a0:U0,a0=a0>>>0>131072?131072:a0,G0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,I0=0,B0=0,Zx=20;break}case 1:{e0=c+5208|0,Zx=e[e0>>2]|0,p=Zx;e:do if(Zx)$=p;else{do if((a0|0)==131072)if(p=c+24|0,k=Tx[e[G0>>2]&1](e[p>>2]|0,524288)|0,k||Px(1),e[e0>>2]=k,p=Tx[e[G0>>2]&1](e[p>>2]|0,131072)|0,p)if(e[c+5212>>2]=p,p=e[e0>>2]|0,p){$=p;break e}else break;else Px(1);while(!1);if(p=c+24|0,k=Tx[e[G0>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),p=Tx[e[G0>>2]&1](e[p>>2]|0,a0)|0,!p)Px(1);else{$=k,e0=p,I0=k,B0=p,Zx=20;break x}}while(!1);e0=e[c+5212>>2]|0,I0=0,B0=0,Zx=20;break}default:H0=0}while(!1);do if((Zx|0)==20){t0=c+193|0,s0=c+5220|0,f0=c+196|0,l0=c+200|0,u0=c+20|0,d0=c+24|0,C0=c+192|0,m0=c+4308|0,D0=c+4436|0,w0=c+5204|0,b0=c+4692|0,y0=c+5216|0,h0=c+5224|0,O0=(w|0)==0;x:for(;;){for(p=e[ve>>2]|0;;){if((p|0)==1&&(n[t0>>0]|0)!=0){Zx=24;break}if(k=e[s0>>2]|0,k)break;if(p){Zx=49;break x}if(j=e[h>>2]|0,M=U0>>>0<j>>>0?U0:j,j=(j|0)==(M|0)?1:0,p=(M<<1)+502|0,e[st>>2]=s[t0>>0],p>>>0>(e[l>>2]|0)>>>0)if(k=e[l0>>2]|0,(e[f0>>2]|0)>>>0<p>>>0){if(vx[e[u0>>2]&1](e[d0>>2]|0,k),e[l0>>2]=0,k=Tx[e[G0>>2]&1](e[d0>>2]|0,p)|0,!k){Zx=34;break x}e[l0>>2]=k,e[f0>>2]=p,q=0}else q=0;else q=1,k=e[d>>2]|0;if(n[k>>0]=n[C0>>0]|0,p=Pm(c,e[Nt>>2]|0,M,St)|0,a0=e[f>>2]|0,x0=j<<24>>24!=0,n0=e[St>>2]|0,e[Nt>>2]|0?Fm(G0,a0,M,x0,$,e0,p,n0,st,k):Cm(G0,a0,M,x0,p,n0,m0,D0,w0,b0,st,k),e[f>>2]=(e[f>>2]|0)+M,e[h>>2]=(e[h>>2]|0)-M,a0=e[st>>2]|0,x0=a0>>>3,q<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Zx=41;break x}if(!((a0&7|0)==0|x0>>>0<p>>>0)){Zx=43;break x}e[d>>2]=(e[d>>2]|0)+x0,e[l>>2]=(e[l>>2]|0)-x0,p=(e[h0>>2]|0)+x0|0,e[h0>>2]=p,O0||(e[w>>2]=p)}else e[y0>>2]=k,e[s0>>2]=x0;if(n[C0>>0]=n[k+((e[st>>2]|0)>>>3)>>0]|0,n[t0>>0]=e[st>>2]&7,!(j<<24>>24))continue x;e[ve>>2]=2,p=2}if((Zx|0)==24){Zx=0,Rm(c);continue}if(p=e[l>>2]|0,!p){Zx=49;break}p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[y0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[y0>>2]=(e[y0>>2]|0)+p,e[s0>>2]=(e[s0>>2]|0)-p,p=(e[h0>>2]|0)+p|0,e[h0>>2]=p,!O0&&(e[w>>2]=p)}if((Zx|0)==34)Px(1);else if((Zx|0)==41)V0(406280,406053,1436,406308);else if((Zx|0)==43)V0(406340,406053,1437,406308);else if((Zx|0)==49){if(vx[e[u0>>2]&1](e[d0>>2]|0,I0),vx[e[u0>>2]&1](e[d0>>2]|0,B0),(e[ve>>2]|0)!=1){H0=1;break}if(e[s0>>2]|0){H0=1;break}e[ve>>2]=0,e[y0>>2]=0,H0=1;break}}while(!1);return w=H0,c0=Qe,w|0}tx=c+80|0,M0=c+152|0,f0=c+12|0,l0=c+193|0,u0=c+5220|0,d0=c+5216|0,C0=c+16|0,m0=c+116|0,D0=c+92|0,w0=c+5236|0,b0=c+5208|0,y0=c+24|0,h0=c+5212|0,O0=c+196|0,B0=c+200|0,I0=c+20|0,U0=c+24|0,G0=c+192|0,H0=c+4308|0,xx=c+4436|0,X0=c+5204|0,Rx=c+4692|0,wx=c+128|0,gx=c+120|0,ox=c+124|0,ux=c+20|0,K0=c+160|0,j0=c+136|0,Ex=c+132|0,Wx=c+4|0,Yx=c+72|0,Gx=c+8|0,Bx=c+144|0,Mx=c+28|0,hx=c+32|0,Fx=c+36|0,mx=c+40|0,ex=c+44|0,Z0=c+48|0,Xx=c+52|0,xe=c+56|0,ue=c+60|0,Qx=c+64|0,Nx=c+68|0,fx=c+8|0,nx=c+194|0,dx=c+195|0,Lx=c+176|0,ae=c+176|0,Ox=c+160|0,bx=c+8|0,ax=c+5224|0,De=(w|0)==0,A0=c+108|0,se=c+96|0,Kx=c+112|0,lx=c+104|0,we=c+116|0,Ux=c+116|0,Fe=c+92|0,oe=c+104|0,px=c+100|0,T0=c+88|0;x:for(;;){if(k=tx,p=M0,p=Zt(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=v0,fo(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&($t=e0-p|0,($t|0)!=0)&&(Xe=e[h>>2]|0,(Xe|0)!=0)){if($=$t>>>0<Xe>>>0?$t:Xe,a0=e[f>>2]|0,fo(c)|0){if(p=e[A0>>2]|0,(p|0)==0&&$>>>0<(e[se>>2]|0)>>>0){if(e[A0>>2]=$,p=Tx[e[C0>>2]&1](e[y0>>2]|0,$+9|0)|0,!p){Zx=62;break}for(k=e[Kx>>2]|0,k&&($x(p|0,k|0,(e[lx>>2]|0)+9|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0),e[Kx>>2]=p,e[lx>>2]=$,e[we>>2]=p+2,n[p+1>>0]=0,n[(e[we>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[we>>2]|0)+((e[lx>>2]|0)+p)>>0]=0,p=p+1|0;$x(e[Ux>>2]|0,a0|0,$|0)|0}else{if(e0=e[px>>2]|0,(e[oe>>2]|0)>>>0<e0>>>0){if(p=Tx[e[C0>>2]&1](e[y0>>2]|0,e0+9|0)|0,!p){Zx=71;break}for(k=e[Kx>>2]|0,k&&($x(p|0,k|0,(e[lx>>2]|0)+9|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0),e[Kx>>2]=p,e[lx>>2]=e0,e[we>>2]=p+2,n[p+1>>0]=0,n[(e[we>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[we>>2]|0)+((e[lx>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Ux>>2]|0)+((e[T0>>2]|0)+-2)>>0]=0,n[(e[Ux>>2]|0)+((e[T0>>2]|0)+-1)>>0]=0,p=e[A0>>2]|0}e0=p&e[Fe>>2],p=e[se>>2]|0,p>>>0>e0>>>0&&(Zx=p-e0|0,$x((e[Ux>>2]|0)+((e[T0>>2]|0)+e0)|0,a0|0,($>>>0<Zx>>>0?$:Zx)|0)|0),k=(e[Ux>>2]|0)+e0|0,p=a0,(e0+$|0)>>>0>(e[T0>>2]|0)>>>0?(Zx=(e[px>>2]|0)-e0|0,$x(k|0,p|0,($>>>0<Zx>>>0?$:Zx)|0)|0,Zx=e[T0>>2]|0,$x(e[Ux>>2]|0,p+(Zx-e0)|0,$+(e0-Zx)|0)|0):$x(k|0,p|0,$|0)|0,p=e[Ux>>2]|0,n[p+-2>>0]=n[p+((e[T0>>2]|0)+-2)>>0]|0,p=e[Ux>>2]|0,n[p+-1>>0]=n[p+((e[T0>>2]|0)+-1)>>0]|0,p=(e[A0>>2]|0)+$|0,e[A0>>2]=p,p>>>0>1073741824&&(e[A0>>2]=p&1073741823|1073741824)}Zx=tx,Zx=$u(e[Zx>>2]|0,e[Zx+4>>2]|0,$|0,0)|0,p=tx,e[p>>2]=Zx,e[p+4>>2]=v0,p=e[A0>>2]|0,p>>>0<=(e[Fe>>2]|0)>>>0&&(Zx=(e[Ux>>2]|0)+p|0,n[Zx>>0]=0,n[Zx+1>>0]=0,n[Zx+2>>0]=0,n[Zx+3>>0]=0,n[Zx+4>>0]=0,n[Zx+5>>0]=0,n[Zx+6>>0]=0)}e[f>>2]=(e[f>>2]|0)+$,e[h>>2]=(e[h>>2]|0)-$;continue}if(p=e[ve>>2]|0,e0=(p|0)==1,e0&&(n[l0>>0]|0)!=0){Rm(c);continue}if(k=e[u0>>2]|0,a0=(k|0)==0,!a0){if(p=e[l>>2]|0,!p){Zx=234;break}if(p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[d0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[d0>>2]=(e[d0>>2]|0)+p,e[u0>>2]=(e[u0>>2]|0)-p,p=(e[ax>>2]|0)+p|0,e[ax>>2]=p,De)continue;e[w>>2]=p;continue}if(p){Zx=234;break}if(s0=(e[h>>2]|0)==0?1:0,a0=tx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,x0=M0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,M=Zt(e0|0,a0|0,$|0,x0|0)|0,p=v0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(n0=Dx($|0,x0|0,30)|0,n0=$&1073741823|((n0&1^1)<<30)+1073741824):n0=$,!(fo(c)|0)){Zx=231;break}if(j=e[m0>>2]|0,t0=e[D0>>2]|0,n[w0>>0]&1){Zx=231;break}if(q=s0<<24>>24==0,q||(n[w0>>0]=1),fo(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&M>>>0>k>>>0){Zx=231;break}if(p=e[Nt>>2]|0,(p|0)==1)if(e[b0>>2]|0)Zx=114;else{if(p=Tx[e[C0>>2]&1](e[y0>>2]|0,524288)|0,!p){Zx=108;break}if(e[b0>>2]=p,p=Tx[e[C0>>2]&1](e[y0>>2]|0,131072)|0,!p){Zx=110;break}e[h0>>2]=p,p=e[Nt>>2]|0,Zx=112}else Zx=112;e:do if((Zx|0)==112)if(Zx=0,(p|0)!=0&&(p|0)!=1){if(k=e[wx>>2]|0,p=k+(M>>>1)+1|0,p>>>0>(e[gx>>2]|0)>>>0){if(p=p+((M>>>2)+16)|0,e[gx>>2]=p,p=Tx[e[C0>>2]&1](e[y0>>2]|0,p<<4)|0,!p){Zx=127;break x}k=e[ox>>2]|0,k&&($x(p|0,k|0,e[wx>>2]<<4|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[ox>>2]|0),e[ox>>2]=0),e[ox>>2]=p,k=e[wx>>2]|0}else p=e[ox>>2]|0;k=p+(k<<4)|0,p=e[Wx>>2]|0;t:do switch(p|0){case 10:{AG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Yx>>2]|0,K0,j0,k,wx,Ex);break}case 11:{EG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Yx>>2]|0,K0,j0,k,wx,Ex);break}default:{if((p|0)>9)break t;do if((p|0)<5)Zx=139;else{if((e[bx>>2]|0)>=17){Zx=139;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=139}while(!1);r:do if((Zx|0)==139){Zx=0;do switch(p|0){case 40:break r;case 2:{CG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Mx>>2]|0,K0,j0,k,wx,Ex);break t}case 3:{kG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[hx>>2]|0,K0,j0,k,wx,Ex);break t}case 4:{SG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Fx>>2]|0,K0,j0,k,wx,Ex);break t}case 5:{FG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[mx>>2]|0,K0,j0,k,wx,Ex);break t}case 6:{OG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[ex>>2]|0,K0,j0,k,wx,Ex);break t}case 7:{PG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Z0>>2]|0,K0,j0,k,wx,Ex);break t}case 8:{cG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Xx>>2]|0,K0,j0,k,wx,Ex);break t}case 9:{uG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[xe>>2]|0,K0,j0,k,wx,Ex);break t}case 41:{dG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Qx>>2]|0,K0,j0,k,wx,Ex);break t}case 42:{lG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Nx>>2]|0,K0,j0,k,wx,Ex);break t}default:break t}while(!1)}while(!1);fG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[ue>>2]|0,K0,j0,k,wx,Ex)}}while(!1);e0=e[Gx>>2]|0,k=e[f0>>2]|0,k=((e0|0)>(k|0)?e0:k)+1|0,k=1<<((k|0)<24?k:24),e0=k>>>3,M=tx,a0=Bx,a0=Zt(e[M>>2]|0,e[M+4>>2]|0,e[a0>>2]|0,e[a0+4>>2]|0)|0,fo(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[Nt>>2]|0,(p|0)<4?$=((e[Ex>>2]|0)+(e[wx>>2]|0)|0)>>>0>12286:$=0;do if(!(q^1|$|(a0+x0|0)>>>0>k>>>0)){if((e[Ex>>2]|0)>>>0>=e0>>>0||(e[wx>>2]|0)>>>0>=e0>>>0)break;e0=M0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(t0=Dx(k|0,e0|0,30)|0,k=k&1073741823|((t0&1^1)<<30)+1073741824),a0=tx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,a0>>>0>0|(a0|0)==0&e0>>>0>3221225471?($=Dx(e0|0,a0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,t0=M0,e[t0>>2]=e0,e[t0+4>>2]=a0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Zx=168;else{if((e[fx>>2]|0)>=17){Zx=168;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=168}while(!1);i:do if((Zx|0)==168){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{t0=e[Mx>>2]|0,n[t0+262148>>0]=1,e[t0+262152>>2]=0,e[t0+262156>>2]=0;break t}case 3:{t0=e[hx>>2]|0,n[t0+262152>>0]=1,e[t0+262156>>2]=0,e[t0+262160>>2]=0;break t}case 4:{t0=e[Fx>>2]|0,n[t0+524304>>0]=1,e[t0+524308>>2]=0,e[t0+524312>>2]=0;break t}case 5:{t0=e[mx>>2]|0,n[t0+1081344>>0]=1,e[t0+1081348>>2]=0,e[t0+1081352>>2]=0;break t}case 6:{t0=e[ex>>2]|0,n[t0+2129920>>0]=1,e[t0+2129924>>2]=0,e[t0+2129928>>2]=0;break t}case 7:{t0=e[Z0>>2]|0,n[t0+8454144>>0]=1,e[t0+8454148>>2]=0,e[t0+8454152>>2]=0;break t}case 8:{t0=e[Xx>>2]|0,n[t0+16842752>>0]=1,e[t0+16842756>>2]=0,e[t0+16842760>>2]=0;break t}case 9:{t0=e[xe>>2]|0,n[t0+33619968>>0]=1,e[t0+33619972>>2]=0,e[t0+33619976>>2]=0;break t}case 41:{t0=e[Qx>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}case 42:{t0=e[Nx>>2]|0,n[t0+1311744>>0]=1,e[t0+1311748>>2]=0,e[t0+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);t0=e[ue>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}while(!1);n[(e[Yx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[j0>>2]|0,p){k=e[wx>>2]|0,e[wx>>2]=k+1,M=e[ox>>2]|0,e[M+(k<<4)>>2]=p,e[M+(k<<4)+4>>2]=67108864,e[M+(k<<4)+8>>2]=0,o[M+(k<<4)+14>>1]=16,k=M+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){M=p+-2|0,p=((Ax(M|0)|0)^31)+-1|0,p=(p<<1)+(M>>>p)+2|0;break}if(p>>>0<2114){p=((Ax(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);M=p&65535,o[k>>1]=o[88156+((M>>>3)*3<<1)>>1]|(M<<3&56|2)&65535,e[Ex>>2]=(e[Ex>>2]|0)+(e[j0>>2]|0),e[j0>>2]=0}if(k=tx,p=e[k>>2]|0,k=e[k+4>>2]|0,a0=Bx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,q&((p|0)==(e0|0)&(k|0)==(a0|0))){e[u0>>2]=0;break}if(k>>>0<a0>>>0|(k|0)==(a0|0)&p>>>0<e0>>>0){Zx=194;break x}if(!(k>>>0>a0>>>0|(k|0)==(a0|0)&p>>>0>e0>>>0|q^1)){Zx=196;break x}if(e0=Zt(p|0,k|0,e0|0,a0|0)|0,q=v0,!(q>>>0<0|(q|0)==0&e0>>>0<16777217)){Zx=198;break x}if(p=(e0<<1)+502|0,(e[O0>>2]|0)>>>0<p>>>0){if(vx[e[I0>>2]&1](e[U0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,q=Tx[e[C0>>2]&1](e[U0>>2]|0,p)|0,k=q,!q){Zx=202;break x}e[B0>>2]=k,e[O0>>2]=p}else k=e[B0>>2]|0;e[A6>>2]=s[l0>>0],$=k,n[$>>0]=n[G0>>0]|0,x0=j,a0=Bx,IG(C0,x0,t0,e[a0>>2]|0,e[a0+4>>2]|0,e0,s0<<24>>24!=0,c,n[nx>>0]|0,n[dx>>0]|0,e[Ex>>2]|0,e[wx>>2]|0,e[ox>>2]|0,Lx,K0,A6,$),n[G0>>0]=n[$+((e[A6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[A6>>2]&7,$=tx,a0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Bx,e[e0>>2]=a0,e[e0+4>>2]=$,e0=M0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(j=Dx(p|0,e0|0,30)|0,p=p&1073741823|((j&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&a0>>>0>3221225471?(e0=Dx(a0|0,$|0,30)|0,e0=a0&1073741823|((e0&1^1)<<30)+1073741824):e0=a0,j=M0,e[j>>2]=a0,e[j+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[Nt>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Zx=214;else{if((e[fx>>2]|0)>=17){Zx=214;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=214}while(!1);i:do if((Zx|0)==214){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{j=e[Mx>>2]|0,n[j+262148>>0]=1,e[j+262152>>2]=0,e[j+262156>>2]=0;break t}case 3:{j=e[hx>>2]|0,n[j+262152>>0]=1,e[j+262156>>2]=0,e[j+262160>>2]=0;break t}case 4:{j=e[Fx>>2]|0,n[j+524304>>0]=1,e[j+524308>>2]=0,e[j+524312>>2]=0;break t}case 5:{j=e[mx>>2]|0,n[j+1081344>>0]=1,e[j+1081348>>2]=0,e[j+1081352>>2]=0;break t}case 6:{j=e[ex>>2]|0,n[j+2129920>>0]=1,e[j+2129924>>2]=0,e[j+2129928>>2]=0;break t}case 7:{j=e[Z0>>2]|0,n[j+8454144>>0]=1,e[j+8454148>>2]=0,e[j+8454152>>2]=0;break t}case 8:{j=e[Xx>>2]|0,n[j+16842752>>0]=1,e[j+16842756>>2]=0,e[j+16842760>>2]=0;break t}case 9:{j=e[xe>>2]|0,n[j+33619968>>0]=1,e[j+33619972>>2]=0,e[j+33619976>>2]=0;break t}case 41:{j=e[Qx>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}case 42:{j=e[Nx>>2]|0,n[j+1311744>>0]=1,e[j+1311748>>2]=0,e[j+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);j=e[ue>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}while(!1);n[(e[Yx>>2]|0)+524304>>0]=1}while(!1);e0=Bx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[nx>>0]=n[x0+(p+-1&t0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;j=$u(p|0,e0|0,-2,0)|0,n[dx>>0]=n[x0+(j&t0)>>0]|0}while(!1);e[wx>>2]=0,e[Ex>>2]=0,e[ae>>2]=e[Ox>>2],e[ae+4>>2]=e[Ox+4>>2],e[ae+8>>2]=e[Ox+8>>2],e[ae+12>>2]=e[Ox+12>>2],e[d0>>2]=k,e[u0>>2]=(e[A6>>2]|0)>>>3}else Zx=114;while(!1);do if((Zx|0)==114){if(e[st>>2]=s[l0>>0],!((e0|0)==($|0)&(a0|0)==(x0|0)^1|q^1)){e[u0>>2]=0;break}if(k=(M<<1)+502|0,p=e[B0>>2]|0,(e[O0>>2]|0)>>>0<k>>>0){if(vx[e[I0>>2]&1](e[U0>>2]|0,p),e[B0>>2]=0,p=Tx[e[C0>>2]&1](e[U0>>2]|0,k)|0,!p){Zx=118;break x}e[B0>>2]=p,e[O0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[G0>>0]|0,a0=Pm(c,e[Nt>>2]|0,M,St)|0,p=j+(n0&t0)|0,k=s0<<24>>24!=0,e[Nt>>2]|0?Fm(C0,p,M,k,e[b0>>2]|0,e[h0>>2]|0,a0,e[St>>2]|0,st,e0):Cm(C0,p,M,k,a0,e[St>>2]|0,H0,xx,X0,Rx,st,e0),n[G0>>0]=n[e0+((e[st>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[st>>2]&7,j=tx,t0=e[j+4>>2]|0,Zx=M0,e[Zx>>2]=e[j>>2],e[Zx+4>>2]=t0,e[d0>>2]=e0,e[u0>>2]=(e[st>>2]|0)>>>3}while(!1);s0<<24>>24&&(e[ve>>2]=2)}switch(Zx|0){case 62:{Px(1);break}case 71:{Px(1);break}case 108:{Px(1);break}case 110:{Px(1);break}case 118:{Px(1);break}case 127:{Px(1);break}case 194:{V0(406017,406053,906,406080);break}case 196:{V0(406103,406053,907,406080);break}case 198:{V0(406149,406053,908,406080);break}case 202:{Px(1);break}case 231:return w=0,c0=Qe,w|0;case 234:return e0^1|a0^1?(w=1,c0=Qe,w|0):(e[ve>>2]=0,e[d0>>2]=0,w=1,c0=Qe,w|0)}return 0}function fo(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0;if(e0=c+5237|0,n[e0>>0]&1)return 1;f=e[c+4>>2]|0,(f|0)>=0?(f|0)>11?w=11:p=4:(f=0,p=4),(p|0)==4&&(w=f),e[c+4>>2]=w,f=c+8|0,l=e[f>>2]|0,(l|0)>=10?(l|0)>24&&(e[f>>2]=24,l=24):(e[f>>2]=10,l=10),d=c+12|0,f=e[d>>2]|0,p=(w|0)==0;do if(w>>>0>=2)if((w|0)<4)f=14;else{if(!f){if(!((w|0)>8&(l|0)>16)){f=16;break}f=(l|0)>18?18:l;break}if((f|0)>=16){if((f|0)>24){f=24;break}}else f=16}else f=l;while(!1);e[d>>2]=f,d=1<<((l|0)>(f|0)?l:f)+1,e[c+88>>2]=d,e[c+92>>2]=d+-1,f=1<<f,e[c+96>>2]=f,e[c+100>>2]=d+f,f=c+192|0,d=c+193|0;x:do switch(l|0){case 16:{n[f>>0]=0,n[d>>0]=1;break}case 17:{n[f>>0]=1,n[d>>0]=7;break}default:if((l|0)>17){n[f>>0]=(l<<1)+222|1,n[d>>0]=4;break x}else{n[f>>0]=(l<<4)+128|1,n[d>>0]=7;break x}}while(!1);x:do if(p){d=c+4436|0,w=c+4692|0,p=c+5204|0,h=c+4308|0,f=406473,l=h+128|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));$x(d|0,88174,256)|0,h=w,f=406601,l=h+57|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));e[p>>2]=448}else{f=c+16|0,d=c+28|0;e:do if((w|0)>9)l=d,p=65;else{do if((w|0)>=5&(l|0)<17)if((w|0)<7){l=d,p=56;break}else{w=(w|0)<9?41:42,p=31;break}else p=31;while(!1);t:do if((p|0)==31){l=d;r:do switch(w|0){case 10:{p=65;break e}case 40:{p=56;break t}case 2:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)Px(1);else{e[d>>2]=h,h=l,p=69;break r}break}case 3:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,262164)|0,!h)Px(1);else{e[c+32>>2]=h,h=l,p=70;break r}break}case 4:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524316)|0,!h)Px(1);else{e[c+36>>2]=h,h=l,p=71;break r}break}case 5:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,1081356)|0,!h)Px(1);else{e[c+40>>2]=h,h=l,p=72;break r}break}case 6:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,2129932)|0,!h)Px(1);else{e[c+44>>2]=h,h=l,p=73;break r}break}case 7:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,8454156)|0,!h)Px(1);else{e[c+48>>2]=h,h=l,p=74;break r}break}case 8:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,16842764)|0,!h)Px(1);else{e[c+52>>2]=h,h=l,p=75;break r}break}case 9:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,33619980)|0,!h)Px(1);else{e[c+56>>2]=h,h=l,p=76;break r}break}case 41:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)Px(1);else{e[c+64>>2]=h,h=l,p=78;break r}break}case 42:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,1311760)|0,!h)Px(1);else{e[c+68>>2]=h,h=l,p=79;break r}break}default:switch(h=l,w|0){case 10:break e;case 40:{k=h;break t}case 2:{p=69;break}case 3:{p=70;break}case 4:{p=71;break}case 5:{p=72;break}case 6:{p=73;break}case 7:{p=74;break}case 8:{p=75;break}case 9:{p=76;break}case 41:{p=78;break}case 42:{p=79;break}default:break x}}while(!1);switch(p|0){case 69:{c=e[h>>2]|0,n[c+262148>>0]=1,e[c+262152>>2]=0,e[c+262156>>2]=0;break x}case 70:{c=e[h+4>>2]|0,n[c+262152>>0]=1,e[c+262156>>2]=0,e[c+262160>>2]=0;break x}case 71:{c=e[h+8>>2]|0,n[c+524304>>0]=1,e[c+524308>>2]=0,e[c+524312>>2]=0;break x}case 72:{c=e[h+12>>2]|0,n[c+1081344>>0]=1,e[c+1081348>>2]=0,e[c+1081352>>2]=0;break x}case 73:{c=e[h+16>>2]|0,n[c+2129920>>0]=1,e[c+2129924>>2]=0,e[c+2129928>>2]=0;break x}case 74:{c=e[h+20>>2]|0,n[c+8454144>>0]=1,e[c+8454148>>2]=0,e[c+8454152>>2]=0;break x}case 75:{c=e[h+24>>2]|0,n[c+16842752>>0]=1,e[c+16842756>>2]=0,e[c+16842760>>2]=0;break x}case 76:{c=e[h+28>>2]|0,n[c+33619968>>0]=1,e[c+33619972>>2]=0,e[c+33619976>>2]=0;break x}case 78:{c=e[h+36>>2]|0,n[c+524290>>0]=1,e[c+524292>>2]=0,e[c+524296>>2]=0;break x}case 79:{c=e[h+40>>2]|0,n[c+1311744>>0]=1,e[c+1311748>>2]=0,e[c+1311752>>2]=0;break x}}}while(!1);do if((p|0)==56)if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)Px(1);else{e[c+60>>2]=h,k=l;break}while(!1);c=e[k+32>>2]|0,n[c+524290>>0]=1,e[c+524292>>2]=0,e[c+524296>>2]=0;break x}while(!1);do if((p|0)==65)if(f=Tx[e[f>>2]&1](e[c+24>>2]|0,524308)|0,!f)Px(1);else{e[l+44>>2]=f,h=e[l+44>>2]|0,e[h+524292>>2]=0,e[h+524300>>2]=0,n[h+524304>>0]=1,h=l;break}while(!1);n[(e[h+44>>2]|0)+524304>>0]=1}while(!1);return n[e0>>0]=1,1}function Pm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;for(h=(h|0)==0?32768:131072,d=256;d>>>0<h>>>0&d>>>0<f>>>0;)d=d<<1;do if(d>>>0>=1025){if(h=c+4304|0,d>>>0<=(e[h>>2]|0)>>>0){w=e[c+4300>>2]|0;break}if(e[h>>2]=d,f=c+4300|0,h=c+24|0,vx[e[c+20>>2]&1](e[h>>2]|0,e[f>>2]|0),e[f>>2]=0,c=Tx[e[c+16>>2]&1](e[h>>2]|0,d<<2)|0,h=c,!c)Px(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Vx(w|0,0,d<<2|0)|0,w|0}function cG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,M=8)}else c=k+16842752|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&127|ex<<7)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,ox=fx+12|0,ux=k+16842760|0,K0=k+16842756|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=10;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<7,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>128?M+-128|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&127)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[ox>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&127)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[ox>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<7,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>128?l+-128|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&127)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&127)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function uG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,M=8)}else c=k+33619968|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&255|ex<<8)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,ox=fx+12|0,ux=k+33619976|0,K0=k+33619972|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=16;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<8,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>256?M+-256|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&255)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[ox>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&255)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[ox>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=16;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<8,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>256?l+-256|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&255)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&255)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function fG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,dx=ae,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+524300|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Lx=8)}else c=k+524290|0,n[c>>0]&1&&(Vx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Vx(k+131072|0,0,131072)|0),Lx=8;(Lx|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,mx=d+(Mx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,hx=k+524288|0,Fx=o[hx>>1]|0,o[hx>>1]=Fx+1<<16>>16,ex=Fx&65535,Z0=k+(mx<<2)|0,Bx=Mx-(e[Z0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=mx,o[k+262144+(ex<<2)>>1]=Bx>>>0>65535?65535:Bx,mx=k+131072+(mx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[mx>>1]|0,e[Z0>>2]=Mx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Mx=Z0&65535,ex=k+(Fx<<2)|0,Bx=mx-(e[ex>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(Mx<<2)>>1]=Bx>>>0>65535?65535:Bx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Fx>>1]|0,e[ex>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[hx>>1]|0,o[hx>>1]=ex+1<<16>>16,hx=ex&65535,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),H0=nx+4|0,xx=nx+8|0,X0=nx+12|0,Rx=nx+4|0,wx=nx+8|0,gx=nx+12|0,ox=k+524288|0,ux=k+524296|0,K0=k+524292|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,G0=$,c=q;x:for(;;){I0=G0,U0=M+j0|0;e:for(;;){if(B0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(h0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[H0>>2]=0,e[xx>>2]=0,e[X0>>2]=4240,O0=p&w,l0=e[nx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[Rx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(s0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-s0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>h0>>>0?h=l0:Lx=17:h>>>0>=p>>>0|s0>>>0>h0>>>0?h=l0:Lx=17,(Lx|0)==17){for(Lx=0,t0=h&w,h=0,q=D0;j=q,!(j>>>0>b0>>>0||(C0=q,m0=d+(t0+h)|0,(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[wx>>2]=s0,e[gx>>2]=Ox,f=Ox,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,u0=j,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>h0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!C0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>b0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[wx>>2]=s0,e[gx>>2]=h,t0=s0,l0=j,f=h,q=f0,j=u0,l=1,h=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,w0=px&65535,b0=k+(T0<<2)|0,D0=p-(e[b0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(w0<<2)>>1]=D0>>>0>65535?65535:D0,T0=k+131072+(T0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[T0>>1]|0,e[b0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(bx=h&31,ax=h>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=B0>>>0)){for(f=De+bx|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+De|0;!(h>>>0>f>>>0||(T0=d+(O0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(O0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=bx>>>0|(q|0)==0)&&(A0=h0+ax+1+(s[407930+(bx-q)>>0]<<s[280786+bx>>0])|0,se=(q*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[gx>>2]|0)>>>0)&&(e[nx>>2]=q,e[Rx>>2]=bx^q,e[wx>>2]=A0,e[gx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){I0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(B0=B0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<B0>>>0?c:B0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,h0=f0>>>0<Nx>>>0?f0:Nx,O0=f0&w,l0=e[dx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>h0>>>0?l=l0:Lx=71:l>>>0>=f0>>>0|j>>>0>h0>>>0?l=l0:Lx=71,(Lx|0)==71){for(Lx=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>b0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Kx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Kx>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=Kx,h=Kx,c=1):l=l0}l0=l,u0=u0+1|0}q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,u0=f,d0=l;;){if(T0=u0,u0=u0+-1|0,!T0||(j=j+t0|0,j>>>0>h0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,t0=_[k+262144+(t0<<2)>>1]|0,!C0&&(l=q+l0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>b0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,l0=f,h=l,M=t0,f=u0,c=1,l=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,b0=px&65535,U0=k+(T0<<2)|0,w0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<2)+2>>1]=o[T0>>1]|0,e[U0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(lx=l&31,we=l>>>5,Ux=(e[11272+(lx<<2)>>2]|0)+(rx(lx,we)|0)|0,lx>>>0<=B0>>>0)){for(h=Ux+lx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(T0=d+(O0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(O0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(Fe=h0+we+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,oe=(M*540|0)+3840+(rx((Ax(Fe|0)|0)^31,-120)|0)|0,oe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=lx^M,e[hx>>2]=Fe,e[Fx>>2]=oe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[X0>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],I0=I0+1|0,(I0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=G0+16|0,T0=e[H0>>2]|0,l=p^T0,e[G0>>2]=s0,e[G0+4>>2]=p|T0<<24,p=G0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,T0=((Ax(U0|0)|0)^31)+-1|0,px=U0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|U0-((px|2)<<T0)),e[G0+8>>2]=p,q=c<<16>>16==0,j=G0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,U0=px&65535,G0=k+(T0<<2)|0,I0=p-(e[G0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(U0<<2)>>1]=I0>>>0>65535?65535:I0,T0=k+131072+(T0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,G0=t0,c=0}e[a0>>2]=c+B0,e[x0>>2]=(e[x0>>2]|0)+(I0-$>>4),c0=ae}function dG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,dx=ae,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+524300|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Lx=8)}else c=k+524290|0,n[c>>0]&1&&(Vx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Vx(k+131072|0,0,131072)|0),Lx=8;(Lx|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,mx=d+(Mx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,hx=k+524288|0,Fx=o[hx>>1]|0,o[hx>>1]=Fx+1<<16>>16,ex=Fx&65535,Z0=k+(mx<<2)|0,Bx=Mx-(e[Z0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=mx,o[k+262144+(ex<<2)>>1]=Bx>>>0>65535?65535:Bx,mx=k+131072+(mx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[mx>>1]|0,e[Z0>>2]=Mx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Mx=Z0&65535,ex=k+(Fx<<2)|0,Bx=mx-(e[ex>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(Mx<<2)>>1]=Bx>>>0>65535?65535:Bx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Fx>>1]|0,e[ex>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[hx>>1]|0,o[hx>>1]=ex+1<<16>>16,hx=ex&65535,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),H0=nx+4|0,xx=nx+8|0,X0=nx+12|0,Rx=nx+4|0,wx=nx+8|0,gx=nx+12|0,ox=k+524288|0,ux=k+524296|0,K0=k+524292|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,G0=$,c=q;x:for(;;){I0=G0,U0=M+j0|0;e:for(;;){if(B0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(h0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[H0>>2]=0,e[xx>>2]=0,e[X0>>2]=4240,O0=p&w,l0=e[nx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[Rx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(s0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-s0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>h0>>>0?h=l0:Lx=17:h>>>0>=p>>>0|s0>>>0>h0>>>0?h=l0:Lx=17,(Lx|0)==17){for(Lx=0,t0=h&w,h=0,q=D0;j=q,!(j>>>0>b0>>>0||(C0=q,m0=d+(t0+h)|0,(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[wx>>2]=s0,e[gx>>2]=Ox,f=Ox,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,u0=j,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>h0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!C0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>b0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[wx>>2]=s0,e[gx>>2]=h,t0=s0,l0=j,f=h,q=f0,j=u0,l=1,h=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,w0=px&65535,b0=k+(T0<<2)|0,D0=p-(e[b0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(w0<<2)>>1]=D0>>>0>65535?65535:D0,T0=k+131072+(T0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[T0>>1]|0,e[b0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(bx=h&31,ax=h>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=B0>>>0)){for(f=De+bx|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+De|0;!(h>>>0>f>>>0||(T0=d+(O0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(O0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=bx>>>0|(q|0)==0)&&(A0=h0+ax+1+(s[407930+(bx-q)>>0]<<s[280786+bx>>0])|0,se=(q*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[gx>>2]|0)>>>0)&&(e[nx>>2]=q,e[Rx>>2]=bx^q,e[wx>>2]=A0,e[gx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){I0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(B0=B0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<B0>>>0?c:B0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,h0=f0>>>0<Nx>>>0?f0:Nx,O0=f0&w,l0=e[dx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>h0>>>0?l=l0:Lx=71:l>>>0>=f0>>>0|j>>>0>h0>>>0?l=l0:Lx=71,(Lx|0)==71){for(Lx=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>b0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Kx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Kx>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=Kx,h=Kx,c=1):l=l0}l0=l,u0=u0+1|0}q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,u0=f,d0=l;;){if(T0=u0,u0=u0+-1|0,!T0||(j=j+t0|0,j>>>0>h0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,t0=_[k+262144+(t0<<2)>>1]|0,!C0&&(l=q+l0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>b0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,l0=f,h=l,M=t0,f=u0,c=1,l=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,b0=px&65535,U0=k+(T0<<2)|0,w0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<2)+2>>1]=o[T0>>1]|0,e[U0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(lx=l&31,we=l>>>5,Ux=(e[11272+(lx<<2)>>2]|0)+(rx(lx,we)|0)|0,lx>>>0<=B0>>>0)){for(h=Ux+lx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(T0=d+(O0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(O0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(Fe=h0+we+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,oe=(M*540|0)+3840+(rx((Ax(Fe|0)|0)^31,-120)|0)|0,oe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=lx^M,e[hx>>2]=Fe,e[Fx>>2]=oe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[X0>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],I0=I0+1|0,(I0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=G0+16|0,T0=e[H0>>2]|0,l=p^T0,e[G0>>2]=s0,e[G0+4>>2]=p|T0<<24,p=G0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,T0=((Ax(U0|0)|0)^31)+-1|0,px=U0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|U0-((px|2)<<T0)),e[G0+8>>2]=p,q=c<<16>>16==0,j=G0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[ox>>1]|0,o[ox>>1]=px+1<<16>>16,U0=px&65535,G0=k+(T0<<2)|0,I0=p-(e[G0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(U0<<2)>>1]=I0>>>0>65535?65535:I0,T0=k+131072+(T0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,G0=t0,c=0}e[a0>>2]=c+B0,e[x0>>2]=(e[x0>>2]|0)+(I0-$>>4),c0=ae}function lG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(Lx=c0,c0=c0+32|0,nx=Lx+16|0,dx=Lx,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+1311756|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,Vx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,oe=8)}else n[k+1311744>>0]&1&&(Vx(k|0,-52,131072)|0,Vx(k+131072|0,0,131072)|0,Vx(k+1310720|0,0,1025)|0),oe=8;(oe|0)==8&&h>>>0>2&f>>>0>2&&(hx=f+-3|0,mx=d+(hx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,Z0=mx&511,ex=k+1310720+(Z0<<1)|0,Fx=o[ex>>1]|0,o[ex>>1]=Fx+1<<16>>16,Fx=Fx&511,ex=k+(mx<<2)|0,Mx=hx-(e[ex>>2]|0)|0,n[(hx&65535)+(k+196608)>>0]=mx,o[k+262144+(Z0<<11)+(Fx<<2)>>1]=Mx>>>0>65535?65535:Mx,mx=k+131072+(mx<<1)|0,o[k+262144+(Z0<<11)+(Fx<<2)+2>>1]=o[mx>>1]|0,e[ex>>2]=hx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,ex=Fx&511,hx=k+1310720+(ex<<1)|0,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Z0=Z0&511,hx=k+(Fx<<2)|0,Mx=mx-(e[hx>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(ex<<11)+(Z0<<2)>>1]=Mx>>>0>65535?65535:Mx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(ex<<11)+(Z0<<2)+2>>1]=o[Fx>>1]|0,e[hx>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,hx=Z0&511,mx=k+1310720+(hx<<1)|0,ex=o[mx>>1]|0,o[mx>>1]=ex+1<<16>>16,ex=ex&511,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<11)+(ex<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<11)+(ex<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),xx=nx+4|0,X0=nx+8|0,Rx=nx+12|0,wx=nx+4|0,gx=nx+8|0,ox=nx+12|0,ux=k+1311752|0,K0=k+1311748|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=q;x:for(;;){U0=H0,G0=M+j0|0;e:for(;;){if(I0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(O0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,u0=e[nx>>2]|0,h0=d+B0|0,d0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[wx>>2]=0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f=4240,l=0,l0=0;(l0|0)!=16;){if(s0=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,h=p-s0|0,l0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>O0>>>0?h=u0:oe=17:h>>>0>=p>>>0|s0>>>0>O0>>>0?h=u0:oe=17,(oe|0)==17){for(oe=0,t0=h&w,h=0,q=w0;j=q,!(j>>>0>y0>>>0||(m0=q,D0=d+(t0+h)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=b0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(ae=(h*540|0)+(e[11500+(l0<<2)>>2]|0)|0,f>>>0<ae>>>0)?(e[nx>>2]=h,e[gx>>2]=s0,e[ox>>2]=ae,f=ae,l=1):h=u0}u0=h,l0=l0+1|0}D0=d0&511,t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=B0+u0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,l0=j,d0=h;;){if(t0=l0,l0=l0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>O0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(D0<<11)+(d0<<2)+2>>1]|0,f0=_[k+262144+(D0<<11)+(f0<<2)>>1]|0,!C0&&(h=t0+u0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[gx>>2]=s0,e[ox>>2]=h,t0=s0,u0=j,f=h,q=f0,j=l0,l=1,h=d0}if(T0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,b0=T0&511,y0=k+1310720+(b0<<1)|0,px=o[y0>>1]|0,o[y0>>1]=px+1<<16>>16,px=px&511,y0=k+(T0<<2)|0,w0=p-(e[y0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<11)+(px<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[y0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(Ox=h&31,bx=h>>>5,ax=(e[11272+(Ox<<2)>>2]|0)+(rx(Ox,bx)|0)|0,Ox>>>0<=I0>>>0)){for(f=ax+Ox|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ax|0;!(h>>>0>f>>>0||(T0=d+(B0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(B0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Ox>>>0|(q|0)==0)&&(De=O0+bx+1+(s[407930+(Ox-q)>>0]<<s[280786+Ox>>0])|0,A0=(q*540|0)+3840+(rx((Ax(De|0)|0)^31,-120)|0)|0,A0>>>0>=(e[ox>>2]|0)>>>0)&&(e[nx>>2]=q,e[wx>>2]=Ox^q,e[gx>>2]=De,e[ox>>2]=A0,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,B0=T0&511,I0=k+1310720+(B0<<1)|0,px=o[I0>>1]|0,o[I0>>1]=px+1<<16>>16,px=px&511,I0=k+(T0<<2)|0,O0=p-(e[I0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(B0<<11)+(px<<2)>>1]=O0>>>0>65535?65535:O0,T0=k+131072+(T0<<1)|0,o[k+262144+(B0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[I0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,B0=T0&511,I0=k+1310720+(B0<<1)|0,px=o[I0>>1]|0,o[I0>>1]=px+1<<16>>16,px=px&511,I0=k+(T0<<2)|0,O0=p-(e[I0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(B0<<11)+(px<<2)>>1]=O0>>>0>65535?65535:O0,T0=k+131072+(T0<<1)|0,o[k+262144+(B0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[I0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Nx>>>0?f0:Nx,B0=f0&w,u0=e[dx>>2]|0,h0=d+B0|0,d0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,h=4240,c=0,l0=0;(l0|0)!=16;){if(j=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,l=f0-j|0,l0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>O0>>>0?l=u0:oe=71:l>>>0>=f0>>>0|j>>>0>O0>>>0?l=u0:oe=71,(oe|0)==71){for(oe=0,q=l&w,l=0,M=w0;f=M,!(f>>>0>y0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(se=(l*540|0)+(e[11500+(l0<<2)>>2]|0)|0,h>>>0<se>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=se,h=se,c=1):l=u0}u0=l,l0=l0+1|0}D0=d0&511,q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=B0+u0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,l0=f,d0=l;;){if(T0=l0,l0=l0+-1|0,!T0||(j=j+t0|0,j>>>0>O0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(D0<<11)+(d0<<2)+2>>1]|0,t0=_[k+262144+(D0<<11)+(t0<<2)>>1]|0,!C0&&(l=q+u0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=w0;else continue;for(;M=l,!(M>>>0>y0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,u0=f,h=l,M=t0,f=l0,c=1,l=d0}if(T0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,y0=T0&511,G0=k+1310720+(y0<<1)|0,px=o[G0>>1]|0,o[G0>>1]=px+1<<16>>16,px=px&511,G0=k+(T0<<2)|0,b0=f0-(e[G0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(y0<<11)+(px<<2)>>1]=b0>>>0>65535?65535:b0,T0=k+131072+(T0<<1)|0,o[k+262144+(y0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(Kx=l&31,lx=l>>>5,we=(e[11272+(Kx<<2)>>2]|0)+(rx(Kx,lx)|0)|0,Kx>>>0<=I0>>>0)){for(h=we+Kx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+we|0;!(l>>>0>h>>>0||(T0=d+(B0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(B0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=Kx>>>0|(M|0)==0)&&(Ux=O0+lx+1+(s[407930+(Kx-M)>>0]<<s[280786+Kx>>0])|0,Fe=(M*540|0)+3840+(rx((Ax(Ux|0)|0)^31,-120)|0)|0,Fe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=Kx^M,e[hx>>2]=Ux,e[Fx>>2]=Fe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,T0=e[xx>>2]|0,l=p^T0,e[H0>>2]=s0,e[H0+4>>2]=p|T0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,T0=((Ax(G0|0)|0)^31)+-1|0,px=G0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|G0-((px|2)<<T0)),e[H0+8>>2]=p,q=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,G0=T0&511,H0=k+1310720+(G0<<1)|0,px=o[H0>>1]|0,o[H0>>1]=px+1<<16>>16,px=px&511,H0=k+(T0<<2)|0,U0=p-(e[H0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(G0<<11)+(px<<2)>>1]=U0>>>0>65535?65535:U0,T0=k+131072+(T0<<1)|0,o[k+262144+(G0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[H0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=Lx}function Im(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0;if(k=h+524304|0,!!(n[k>>0]&1)){for(f=1<<e[f+8>>2],e[h>>2]=f+-1,f=1-f|0,e[h+524296>>2]=f,p=0;(p|0)!=131072;)e[h+4+(p<<2)>>2]=f,p=p+1|0;(l|0)==0^1|w^1&&(d=(e[h>>2]|0)+1|0),w=h+524300|0;do if(d>>>0>(e[w>>2]|0)>>>0)if(p=h+524292|0,f=c+8|0,vx[e[c+4>>2]&1](e[f>>2]|0,e[p>>2]|0),e[p>>2]=0,f=Tx[e[c>>2]&1](e[f>>2]|0,d<<3)|0,!f)Px(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function I4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;for(d=0,w=0;(d|0)!=(h|0);)e0=w+(e[c+(d<<2)>>2]|0)|0,d=d+1|0,w=e0;for(w>>>0<256?l=+r0[19516+(w<<2)>>2]:l=+Jx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+r0[19516+(d<<2)>>2]:p=+Jx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,r0[d>>2]=p,p<1&&(r0[d>>2]=1)):r0[f+(w<<2)>>2]=k,w=w+1|0}function Un(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+1024>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=256)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=256||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==256)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function Ku(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+2816>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=704)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=704||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==704)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function Hn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+2080>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=520)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=520||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==520)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function hG(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0;for(Ex=c0,c0=c0+6688|0,K0=Ex+2832|0,ux=Ex,wx=Ex+6432|0,X0=Ex+6176|0,gx=Ex+5920|0,Rx=Ex+5664|0,$=0,y0=0;($|0)!=(f|0);)j0=y0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,y0=j0;for(j0=c+8|0,H0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,H0||Px(1),q=w+1|0,n0=0,M=0;$=d&w,(M|0)!=(f|0);)d=e[h+(M<<4)>>2]|0,($+d|0)>>>0>w>>>0?(G0=q-$|0,$x(H0+n0|0,l+$|0,G0|0)|0,$=0,x0=d-G0|0,d=n0+G0|0):(x0=d,d=n0),x0&&($x(H0+d|0,l+$|0,x0|0)|0,d=d+x0|0),n0=d,d=$+x0+(e[h+(M<<4)+4>>2]&16777215)|0,M=M+1|0;f0=((y0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(y0){if(y0>>>0<128){if(M=k+16|0,d=e[M>>2]|0,q=k+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[c+4>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=k+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=k+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[c+4>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=k+12|0;e[k>>2]=1,n[(e[k+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1;break}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,f0*1040|0)|0,b0||Px(1),$=0;($|0)!=(f0|0);)Vx(b0+($*1040|0)|0,0,1024)|0,e[b0+($*1040|0)+1024>>2]=0,i0[b0+($*1040|0)+1032>>3]=Q0,$=$+1|0;for(M=(y0>>>0)/(f0>>>0)|0,q=y0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((rx(y0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(M>>>0)|0)|0),x0=b0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,n0=H0+(($+70|0)>>>0<y0>>>0?$:q)|0;$=x0+-1|0,!!$;)x0=b0+(l*1040|0)+(s[n0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,n0=n0+1|0;l=l+1|0}for(e[K0>>2]=7,x0=((y0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,n0=ux+1024|0,M=ux+1032|0,q=y0>>>0>70,l=y0+-69|0,w=ux+1024|0,s0=0;!(s0>>>0>=x0>>>0);){for(Vx(ux|0,0,1028)|0,i0[M>>3]=Q0,q?(d=(e[K0>>2]|0)*16807|0,G0=(d|0)==0,e[K0>>2]=G0?1:d,$=70,d=((G0?1:d)>>>0)%(l>>>0)|0):($=y0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=H0+d|0;$=$+-1|0,!!$;)G0=ux+(s[d>>0]<<2)|0,e[G0>>2]=(e[G0>>2]|0)+1,d=d+1|0;for($=(s0>>>0)%(f0>>>0)|0,d=b0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[n0>>2]|0),d=0;(d|0)!=256;)G0=b0+($*1040|0)+(d<<2)|0,e[G0>>2]=(e[G0>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;s0=s0+1|0}G0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,G0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<11)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<3)|0,m0||Px(1),D0=rx(y0,(f0+7|0)>>>3)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<1)|0,w0||Px(1),l0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,d0=G0+u0|0,I0=0,s0=0;x:for(;;){if(s0>>>0>=l0>>>0){l=136;break}if(w=(f0+7|0)>>>3,f0>>>0>=257){l=73;break}e:do if(f0>>>0<2)for($=0;;){if(($|0)==(y0|0)){n0=1;break e}n[G0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[b0+(d*1040|0)+1024>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,f0)|0,n0=0;;){if((n0|0)==(f0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,f0<<3|0)|0,Vx(D0|0,0,rx(y0,w)|0)|0,n0=0;!(n0>>>0>=y0>>>0);){for($=rx(s[H0+n0>>0]|0,f0)|0,d=G0+n0|0,t0=1e99,x0=0;(x0|0)!=(f0|0);)I0=m0+(x0<<3)|0,j=+i0[I0>>3]+ +i0[C0+($+x0<<3)>>3],i0[I0>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*28.1:j=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}I0=D0+(d+$)|0,n[I0>>0]=n[I0>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=111;break x}l=n0+-1|0,d=d-w|0,n0=G0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(B0=n[n0>>0]|0,I0=$<<24>>24==B0<<24>>24,$=I0?$:B0,x0=I0?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[G0+x0>>0]|0,d>>>0>=f0>>>0){l=120;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(B0=G0+d|0,I0=o[w0+(s[B0>>0]<<1)>>1]|0,n[B0>>0]=I0,(I0&255)>>>0>=f0>>>0){l=126;break x}d=d+1|0}if(x0=$&65535,x0>>>0>f0>>>0){l=129;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*1040|0)|0,0,1024)|0,e[b0+(d*1040|0)+1024>>2]=0,i0[b0+(d*1040|0)+1032>>3]=Q0,d=d+1|0}for(;($|0)!=(y0|0);)I0=s[G0+$>>0]|0,B0=b0+(I0*1040|0)+(s[H0+$>>0]<<2)|0,e[B0>>2]=(e[B0>>2]|0)+1,I0=b0+(I0*1040|0)+1024|0,e[I0>>2]=(e[I0>>2]|0)+1,$=$+1|0;I0=n0,f0=x0,s0=s0+1|0}if((l|0)==73)V0(404083,403848,80,404281);else if((l|0)==104)V0(404124,403848,130,404281);else if((l|0)==111)V0(404145,403848,141,404281);else if((l|0)==120)V0(404005,403848,165,404260);else if((l|0)==126)V0(404005,403848,172,404260);else if((l|0)==129)V0(404057,403848,174,404260);else if((l|0)==136){for(B0=c+4|0,vx[e[B0>>2]&1](e[j0>>2]|0,C0),vx[e[B0>>2]&1](e[j0>>2]|0,m0),vx[e[B0>>2]&1](e[j0>>2]|0,D0),vx[e[B0>>2]&1](e[j0>>2]|0,w0),vx[e[B0>>2]&1](e[j0>>2]|0,b0),$=I0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((I0<<4)+1008|0)>>>6,b0=Tx[e[c>>2]&1](e[j0>>2]|0,q*1040|0)|0,n0=b0,b0||Px(1),b0=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=b0,b0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(I0>>>0<64?I0:64)*1040|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=I0>>>0){l=151;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[G0+x0>>0]|0)==(n[G0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&V0(403825,403848,231,404239),(d|0)!=(I0|0)&&V0(403911,403848,237,404239),l0=q,f0=q,b0=0,$=0,C0=0;;){if(I0>>>0<=C0>>>0){l=193;break}for(d0=I0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*1040|0)|0,Vx(x0|0,0,1024)|0,q=m0+(w*1040|0)+1024|0,e[q>>2]=0,i0[m0+(w*1040|0)+1032>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)y0=m0+(w*1040|0)+(s[H0+$>>0]<<2)|0,e[y0>>2]=(e[y0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*1040|0)+1032>>3]=+Un(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=zu(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=b0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*1040|0)|0,!d){l=170;break}x0||$x(d|0,n0|0,l0*1040|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=b0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=179;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+b0|0,q=b0,l=b0,w=0;;){if((w|0)==(u0|0)){d=0;break}y0=X0+(w<<2)|0,w0=e[y0>>2]|0,$x(d+(q*1040|0)|0,m0+(w0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[wx+(w0<<2)>>2],e[Rx+(e[y0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=b0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+b0|0,(b0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(s0|0)){l=191;break}b0=d,C0=C0+64|0}if((l|0)==170)Px(1);else if((l|0)==179)Px(1);else if((l|0)==189)V0(403935,403848,273,404239);else if((l|0)==191)V0(403969,403848,274,404239);else if((l|0)==193){vx[e[B0>>2]&1](e[j0>>2]|0,m0),y0=b0<<6,x0=rx(b0>>>1,b0)|0,x0=y0>>>0<x0>>>0?y0:x0;do if((x0+1|0)>>>0>2049){if(vx[e[B0>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){U0=$;break}Px(1)}else U0=D0;while(!1);for(d=b0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(b0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=zu(D0,M,h0,w0,U0,b0,I0,256,x0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,U0),vx[e[B0>>2]&1](e[j0>>2]|0,M),y0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,y0||Px(1),$=0;($|0)!=(b0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+1024|0,l0=ux+1032|0,u0=K0+1024|0,d0=K0+1024|0,$=0,d=0,C0=0;(C0|0)!=(I0|0);){for(Vx(ux|0,0,1028)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(s[H0+s0>>0]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,1040)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)U0=K0+(d<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;j=+Un(K0),j=j-+i0[D0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*1040|0)+1024>>2]|0),M=0;(M|0)!=256;)U0=K0+(M<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0+(x0*1040|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Un(K0),t0=t0-+i0[D0+(x0*1040|0)+1032>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[B0>>2]&1](e[j0>>2]|0,w0),vx[e[B0>>2]&1](e[j0>>2]|0,n0),M=k+16|0,$=e[M>>2]|0,$>>>0<I0>>>0){for(n0=($|0)==0?I0:$;!(n0>>>0>=I0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=k+20|0,$=e[M>>2]|0,$>>>0<I0>>>0){for(n0=($|0)==0?I0:$;!(n0>>>0>=I0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=k+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=k+12|0;for(M=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(I0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(I0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,U0=x0&255,n[(e[M>>2]|0)+l>>0]=U0,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(U0&255)?w&255:x0&255)&255,x0=q}e[k+4>>2]=l,e[k>>2]=(w&255)+1,vx[e[B0>>2]&1](e[j0>>2]|0,y0),vx[e[B0>>2]&1](e[j0>>2]|0,O0),vx[e[B0>>2]&1](e[j0>>2]|0,h0),vx[e[B0>>2]&1](e[j0>>2]|0,G0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,vx[e[k>>2]&1](e[j0>>2]|0,H0),U0=f<<1,G0=Tx[e[c>>2]&1](e[j0>>2]|0,U0)|0,G0||Px(1),$=0;($|0)!=(f|0);)o[G0+($<<1)>>1]=o[h+($<<4)+12>>1]|0,$=$+1|0;l0=((f>>>0)/530|0)+1|0,l0=l0>>>0>50?50:l0;do if(f){if(f>>>0<128){if(M=e0+16|0,d=e[M>>2]|0,q=e0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=e0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=e0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=e0+12|0;e[e0>>2]=1,n[(e[e0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=f,e[q>>2]=(e[q>>2]|0)+1;break}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*2832|0)|0,b0||Px(1),$=0;($|0)!=(l0|0);)Vx(b0+($*2832|0)|0,0,2816)|0,e[b0+($*2832|0)+2816>>2]=0,i0[b0+($*2832|0)+2824>>3]=Q0,$=$+1|0;for(n0=(f>>>0)/(l0>>>0)|0,M=f+-41|0,d=7,q=0;(q|0)!=(l0|0);){for($=((rx(q,f)|0)>>>0)/(l0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(n0>>>0)|0)|0),x0=b0+(q*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=G0+((($+40|0)>>>0<f>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)H0=b0+(q*2832|0)+(_[x0>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[K0>>2]=7,n0=((U0>>>0)/40|0)+100+l0+-1|0,n0=n0-((n0>>>0)%(l0>>>0)|0)|0,M=ux+2816|0,q=ux+2824|0,l=f>>>0>40,w=f+-39|0,s0=ux+2816|0,f0=0;!(f0>>>0>=n0>>>0);){for(Vx(ux|0,0,2820)|0,i0[q>>3]=Q0,l?($=(e[K0>>2]|0)*16807|0,H0=($|0)==0,e[K0>>2]=H0?1:$,d=40,$=((H0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[s0>>2]=(e[s0>>2]|0)+d,x0=G0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)H0=ux+(_[x0>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=b0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=704;)H0=b0+($*2832|0)+(d<<2)|0,e[H0>>2]=(e[H0>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}I0=Tx[e[c>>2]&1](e[j0>>2]|0,f)|0,I0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*5632|0)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<3)|0,m0||Px(1),D0=rx((l0+7|0)>>>3,f)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<1)|0,w0||Px(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,d0=I0+u0|0,B0=0,s0=0;x:for(;;){if(s0>>>0>=f0>>>0){l=382;break}if(w=(l0+7|0)>>>3,l0>>>0>=257){l=319;break}e:do if(l0>>>0<2)for($=0;;){if(($|0)==(f|0)){n0=1;break e}n[I0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,l0*5632|0)|0,d=0;;){if((d|0)==(l0|0)){$=704;break}$=e[b0+(d*2832|0)+2816>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,l0)|0,n0=0;;){if((n0|0)==(l0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,l0<<3|0)|0,Vx(D0|0,0,rx(w,f)|0)|0,n0=0;!(n0>>>0>=f>>>0);){for($=rx(_[G0+(n0<<1)>>1]|0,l0)|0,d=I0+n0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)H0=m0+(x0<<3)|0,j=+i0[H0>>3]+ +i0[C0+($+x0<<3)>>3],i0[H0>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*13.5:j=13.5,x0=0;!(x0>>>0>=l0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}H0=D0+(d+$)|0,n[H0>>0]=n[H0>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=357;break x}l=n0+-1|0,d=d-w|0,n0=I0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(B0=n[n0>>0]|0,H0=$<<24>>24==B0<<24>>24,$=H0?$:B0,x0=H0?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=f>>>0){d=0;break}if(d=s[I0+x0>>0]|0,d>>>0>=l0>>>0){l=366;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=f>>>0);){if(B0=I0+d|0,H0=o[w0+(s[B0>>0]<<1)>>1]|0,n[B0>>0]=H0,(H0&255)>>>0>=l0>>>0){l=372;break x}d=d+1|0}if(x0=$&65535,x0>>>0>l0>>>0){l=375;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*2832|0)|0,0,2816)|0,e[b0+(d*2832|0)+2816>>2]=0,i0[b0+(d*2832|0)+2824>>3]=Q0,d=d+1|0}for(;($|0)!=(f|0);)H0=s[I0+$>>0]|0,B0=b0+(H0*2832|0)+(_[G0+($<<1)>>1]<<2)|0,e[B0>>2]=(e[B0>>2]|0)+1,H0=b0+(H0*2832|0)+2816|0,e[H0>>2]=(e[H0>>2]|0)+1,$=$+1|0;B0=n0,l0=x0,s0=s0+1|0}if((l|0)==319)V0(404083,403848,80,404221);else if((l|0)==350)V0(404124,403848,130,404221);else if((l|0)==357)V0(404145,403848,141,404221);else if((l|0)==366)V0(404005,403848,165,404200);else if((l|0)==372)V0(404005,403848,172,404200);else if((l|0)==375)V0(404057,403848,174,404200);else if((l|0)==382){for(vx[e[k>>2]&1](e[j0>>2]|0,C0),vx[e[k>>2]&1](e[j0>>2]|0,m0),vx[e[k>>2]&1](e[j0>>2]|0,D0),vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,b0),$=B0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((B0<<4)+1008|0)>>>6,H0=Tx[e[c>>2]&1](e[j0>>2]|0,q*2832|0)|0,n0=H0,H0||Px(1),H0=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=H0,H0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(B0>>>0<64?B0:64)*2832|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=B0>>>0){l=397;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[I0+x0>>0]|0)==(n[I0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&V0(403825,403848,231,404179),(d|0)!=(B0|0)&&V0(403911,403848,237,404179),l0=q,f0=q,b0=0,$=0,C0=0;;){if(B0>>>0<=C0>>>0){l=439;break}for(d0=B0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*2832|0)|0,Vx(x0|0,0,2816)|0,q=m0+(w*2832|0)+2816|0,e[q>>2]=0,i0[m0+(w*2832|0)+2824>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)H0=m0+(w*2832|0)+(_[G0+($<<1)>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*2832|0)+2824>>3]=+Ku(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=Am(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=b0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*2832|0)|0,!d){l=416;break}x0||$x(d|0,n0|0,l0*2832|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=b0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=425;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+b0|0,q=b0,l=b0,w=0;;){if((w|0)==(u0|0)){d=0;break}H0=X0+(w<<2)|0,y0=e[H0>>2]|0,$x(d+(q*2832|0)|0,m0+(y0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[wx+(y0<<2)>>2],e[Rx+(e[H0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=b0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+b0|0,(b0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(s0|0)){l=437;break}b0=d,C0=C0+64|0}if((l|0)==416)Px(1);else if((l|0)==425)Px(1);else if((l|0)==435)V0(403935,403848,273,404179);else if((l|0)==437)V0(403969,403848,274,404179);else if((l|0)==439){vx[e[k>>2]&1](e[j0>>2]|0,m0),H0=b0<<6,x0=rx(b0>>>1,b0)|0,x0=H0>>>0<x0>>>0?H0:x0;do if((x0+1|0)>>>0>2049){if(vx[e[k>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){xx=$;break}Px(1)}else xx=D0;while(!1);for(d=b0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(b0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=Am(D0,M,h0,w0,xx,b0,B0,256,x0)|0,vx[e[k>>2]&1](e[j0>>2]|0,xx),vx[e[k>>2]&1](e[j0>>2]|0,M),y0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,y0||Px(1),$=0;($|0)!=(b0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+2816|0,l0=ux+2824|0,u0=K0+2816|0,d0=K0+2816|0,$=0,d=0,C0=0;(C0|0)!=(B0|0);){for(Vx(ux|0,0,2820)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(_[G0+(s0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,2832)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)xx=K0+(d<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[D0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;j=+Ku(K0),j=j-+i0[D0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*2832|0)+2816>>2]|0),M=0;(M|0)!=704;)xx=K0+(M<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[D0+(x0*2832|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Ku(K0),t0=t0-+i0[D0+(x0*2832|0)+2824>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,n0),M=e0+16|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=e0+20|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=e0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=e0+12|0;for(M=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(B0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(B0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,xx=x0&255,n[(e[M>>2]|0)+l>>0]=xx,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(xx&255)?w&255:x0&255)&255,x0=q}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,vx[e[k>>2]&1](e[j0>>2]|0,y0),vx[e[k>>2]&1](e[j0>>2]|0,O0),vx[e[k>>2]&1](e[j0>>2]|0,h0),vx[e[k>>2]&1](e[j0>>2]|0,I0);break}}}else e[e0>>2]=1;while(!1);for(vx[e[k>>2]&1](e[j0>>2]|0,G0),U0=Tx[e[c>>2]&1](e[j0>>2]|0,U0)|0,U0||Px(1),y0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(_[h+(d<<4)+12>>1]|0)>127?(o[U0+(y0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=y0+1|0):$=y0,y0=$,d=d+1|0;if(l0=((y0>>>0)/544|0)+1|0,l0=l0>>>0>50?50:l0,!y0){e[a0>>2]=1,c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}if(y0>>>0<128){if(M=a0+16|0,d=e[M>>2]|0,q=a0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=a0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=a0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=a0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=a0+12|0;e[a0>>2]=1,n[(e[a0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1,c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*2096|0)|0,b0||Px(1),$=0;($|0)!=(l0|0);)Vx(b0+($*2096|0)|0,0,2080)|0,e[b0+($*2096|0)+2080>>2]=0,i0[b0+($*2096|0)+2088>>3]=Q0,$=$+1|0;for(n0=(y0>>>0)/(l0>>>0)|0,M=y0+-41|0,d=7,q=0;(q|0)!=(l0|0);){for($=((rx(y0,q)|0)>>>0)/(l0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(n0>>>0)|0)|0),x0=b0+(q*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=U0+((($+40|0)>>>0<y0>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)f=b0+(q*2096|0)+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[K0>>2]=7,n0=((y0<<1>>>0)/40|0)+100+l0+-1|0,n0=n0-((n0>>>0)%(l0>>>0)|0)|0,M=ux+2080|0,q=ux+2088|0,l=y0>>>0>40,w=y0+-39|0,s0=ux+2080|0,f0=0;!(f0>>>0>=n0>>>0);){for(Vx(ux|0,0,2084)|0,i0[q>>3]=Q0,l?($=(e[K0>>2]|0)*16807|0,f=($|0)==0,e[K0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=y0,$=0),e[s0>>2]=(e[s0>>2]|0)+d,x0=U0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=ux+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=b0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=520;)f=b0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}I0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,I0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*4160|0)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<3)|0,m0||Px(1),D0=rx(y0,(l0+7|0)>>>3)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<1)|0,w0||Px(1),f0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,d0=I0+u0|0,B0=0,s0=0;x:for(;;){if(s0>>>0>=f0>>>0){l=631;break}if(w=(l0+7|0)>>>3,l0>>>0>=257){l=568;break}e:do if(l0>>>0<2)for($=0;;){if(($|0)==(y0|0)){n0=1;break e}n[I0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,l0*4160|0)|0,d=0;;){if((d|0)==(l0|0)){$=520;break}$=e[b0+(d*2096|0)+2080>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,l0)|0,n0=0;;){if((n0|0)==(l0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,l0<<3|0)|0,Vx(D0|0,0,rx(y0,w)|0)|0,n0=0;!(n0>>>0>=y0>>>0);){for($=rx(_[U0+(n0<<1)>>1]|0,l0)|0,d=I0+n0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)p=m0+(x0<<3)|0,j=+i0[p>>3]+ +i0[C0+($+x0<<3)>>3],i0[p>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*14.6:j=14.6,x0=0;!(x0>>>0>=l0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=D0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=606;break x}l=n0+-1|0,d=d-w|0,n0=I0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(f=n[n0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[I0+x0>>0]|0,d>>>0>=l0>>>0){l=615;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(f=I0+d|0,p=o[w0+(s[f>>0]<<1)>>1]|0,n[f>>0]=p,(p&255)>>>0>=l0>>>0){l=621;break x}d=d+1|0}if(x0=$&65535,x0>>>0>l0>>>0){l=624;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*2096|0)|0,0,2080)|0,e[b0+(d*2096|0)+2080>>2]=0,i0[b0+(d*2096|0)+2088>>3]=Q0,d=d+1|0}for(;($|0)!=(y0|0);)p=s[I0+$>>0]|0,f=b0+(p*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=b0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;B0=n0,l0=x0,s0=s0+1|0}if((l|0)==568)V0(404083,403848,80,404105);else if((l|0)==599)V0(404124,403848,130,404105);else if((l|0)==606)V0(404145,403848,141,404105);else if((l|0)==615)V0(404005,403848,165,404035);else if((l|0)==621)V0(404005,403848,172,404035);else if((l|0)==624)V0(404057,403848,174,404035);else if((l|0)==631){for(vx[e[k>>2]&1](e[j0>>2]|0,C0),vx[e[k>>2]&1](e[j0>>2]|0,m0),vx[e[k>>2]&1](e[j0>>2]|0,D0),vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,b0),$=B0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((B0<<4)+1008|0)>>>6,p=Tx[e[c>>2]&1](e[j0>>2]|0,q*2096|0)|0,n0=p,p||Px(1),p=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=p,p||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(B0>>>0<64?B0:64)*2096|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=B0>>>0){l=646;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[I0+x0>>0]|0)==(n[I0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&V0(403825,403848,231,403889),(d|0)!=(B0|0)&&V0(403911,403848,237,403889),l0=q,f0=q,y0=0,$=0,C0=0;;){if(B0>>>0<=C0>>>0){l=688;break}for(d0=B0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*2096|0)|0,Vx(x0|0,0,2080)|0,q=m0+(w*2096|0)+2080|0,e[q>>2]=0,i0[m0+(w*2096|0)+2088>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=m0+(w*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*2096|0)+2088>>3]=+Hn(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=Wu(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=y0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*2096|0)|0,!d){l=665;break}x0||$x(d|0,n0|0,l0*2096|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=y0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=674;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+y0|0,q=y0,l=y0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=X0+(w<<2)|0,f=e[p>>2]|0,$x(d+(q*2096|0)|0,m0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[wx+(f<<2)>>2],e[Rx+(e[p>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=y0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+y0|0,(y0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(s0|0)){l=686;break}y0=d,C0=C0+64|0}if((l|0)==665)Px(1);else if((l|0)==674)Px(1);else if((l|0)==684)V0(403935,403848,273,403889);else if((l|0)==686)V0(403969,403848,274,403889);else if((l|0)==688){vx[e[k>>2]&1](e[j0>>2]|0,m0),gx=y0<<6,x0=rx(y0>>>1,y0)|0,x0=gx>>>0<x0>>>0?gx:x0;do if((x0+1|0)>>>0>2049){if(vx[e[k>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){ox=$;break}Px(1)}else ox=D0;while(!1);for(d=y0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(y0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=Wu(D0,M,h0,w0,ox,y0,B0,256,x0)|0,vx[e[k>>2]&1](e[j0>>2]|0,ox),vx[e[k>>2]&1](e[j0>>2]|0,M),b0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,b0||Px(1),$=0;($|0)!=(y0|0);)e[b0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+2080|0,l0=ux+2088|0,u0=K0+2080|0,d0=K0+2080|0,$=0,d=0,C0=0;(C0|0)!=(B0|0);){for(Vx(ux|0,0,2084)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(_[U0+(s0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,2096)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)ox=K0+(d<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[D0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;j=+Hn(K0),j=j-+i0[D0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*2096|0)+2080>>2]|0),M=0;(M|0)!=520;)ox=K0+(M<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[D0+(x0*2096|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Hn(K0),t0=t0-+i0[D0+(x0*2096|0)+2088>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=b0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,n0),M=a0+16|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=a0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=a0+20|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=a0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=a0+12|0;for(M=a0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(B0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(B0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[b0+(d<<2)>>2]|0,c=x0&255,n[(e[M>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=q}e[a0+4>>2]=l,e[a0>>2]=(w&255)+1,vx[e[k>>2]&1](e[j0>>2]|0,b0),vx[e[k>>2]&1](e[j0>>2]|0,O0),vx[e[k>>2]&1](e[j0>>2]|0,h0),vx[e[k>>2]&1](e[j0>>2]|0,I0),c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}}}function v7(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0;d0=c0,c0=c0+1552|0,l0=d0+840|0,u0=d0+136|0,t0=d0+72|0,s0=d0+112|0,f0=d0+76|0,q=d0,e[t0>>2]=0,p=s0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=q,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(M=h,w=0):V0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)M=M+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,a0=0;!(x0>>>0>=M>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(n0=p<<24>>24==0,h=n0?h+1|0:h,w=n0?a0+$|0:a0,$>>>0>3&&!n0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=a0),x0=x0+$|0,e0=p,a0=w}w=e0>>>0>k<<1>>>0&1,h=a0>>>0>h<<1>>>0&1}else w=0,h=0;n0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=M>>>0);){a0=n[c+x0>>0]|0,p=a0<<24>>24==0,p?n0?(h=1,j=30):(w=x0,h=1,j=23):$?(h=1,j=43):(w=x0,h=1,j=23);e:do if((j|0)==23){for(;j=0,w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=a0<<24>>24);)h=h+1|0,j=23;if(!p)if(h){j=43;break}else{j=42;break x}if((h|0)!=11)if(h>>>0<3){j=30;break}else k=h;else n[l0+(e[t0>>2]|0)>>0]=0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,k=10;for(p=e[t0>>2]|0,w=p,k=k+-3|0;;){if(n[l0+w>>0]=17,n[u0+(e[t0>>2]|0)>>0]=k&7,w=(e[t0>>2]|0)+1|0,e[t0>>2]=w,k=k>>>3,!k){k=p;break}k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)m0=l0+k|0,C0=n[m0>>0]|0,a0=l0+w|0,n[m0>>0]=n[a0>>0]|0,n[a0>>0]=C0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}a0=u0+p|0,C0=n[a0>>0]|0,m0=u0+w|0,n[a0>>0]=n[m0>>0]|0,n[m0>>0]=C0,p=p+1|0}}while(!1);e:do if((j|0)==30)for(j=0,w=0;;){if((w|0)==(h|0)){w=e0;break e}n[l0+(e[t0>>2]|0)>>0]=0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=w+1|0}else if((j|0)==43){if(j=0,e0<<24>>24==a0<<24>>24?w=h:(n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=h+-1|0),(w|0)==7&&(n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=w+-1|0),w>>>0<3)for(p=0;;){if((p|0)==(w|0)){w=a0;break e}n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,p=p+1|0}for(p=e[t0>>2]|0,e0=p,k=w+-3|0;;){if(n[l0+e0>>0]=16,n[u0+(e[t0>>2]|0)>>0]=k&3,w=(e[t0>>2]|0)+1|0,e[t0>>2]=w,k=k>>>2,!k){k=p;break}e0=w,k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)e0=l0+k|0,C0=n[e0>>0]|0,m0=l0+w|0,n[e0>>0]=n[m0>>0]|0,n[m0>>0]=C0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=a0;break e}e0=u0+p|0,C0=n[e0>>0]|0,m0=u0+w|0,n[e0>>0]=n[m0>>0]|0,n[m0>>0]=C0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((j|0)==42&&V0(406724,406674,168,406740),h=e[t0>>2]|0,w=0;;){if((w|0)==(h|0)){n0=0,w=0,p=0;break}m0=q+(s[l0+w>>0]<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[q+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=n0;else h=p,w=1;else h=n0;n0=h,p=p+1|0}lo(q,18,5,f,s0),qn(s0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[s0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[s0+1>>0]|0)==0&&(n[s0+2>>0]|0)==0?h=(n[s0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,C0=s[$>>0]|0,f=Ix(h|0,0,f&7|0)|0,m0=v0,f=C0|f,C0=$,n[C0>>0]=f,n[C0+1>>0]=f>>8,n[C0+2>>0]=f>>16,n[C0+3>>0]=f>>24,$=$+4|0,n[$>>0]=m0,n[$+1>>0]=m0>>8,n[$+2>>0]=m0>>16,n[$+3>>0]=m0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[s0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,a0=s[e0>>0]|0,m0=Dx(k|0,0,p&255|0)|0,!((m0|0)==0&(v0|0)==0)){j=76;break}q=Ix(k|0,0,$&7|0)|0,C0=v0,q=a0|q,m0=e0,f=m0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,m0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=m0,$=m0,h=h+1|0}(j|0)==76&&V0(406196,406218,54,406251),(x0|0)==1&&(n[s0+n0>>0]=0),$=e[t0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){j=94;break}if(a0=s[l0+x0>>0]|0,h=n[s0+a0>>0]|0,w=_[f0+(a0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,m0=Dx(w|0,0,h&255|0)|0,!((m0|0)==0&(v0|0)==0)){j=83;break}if((h&255)>=57){j=85;break}switch(t0=Ix(w|0,0,p&7|0)|0,m0=v0,t0=e0|t0,C0=k,n[C0>>0]=t0,n[C0+1>>0]=t0>>8,n[C0+2>>0]=t0>>16,n[C0+3>>0]=t0>>24,k=k+4|0,n[k>>0]=m0,n[k+1>>0]=m0>>8,n[k+2>>0]=m0>>16,n[k+3>>0]=m0>>24,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,a0|0){case 16:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&252|0)==0&!0)){j=88;break x}j=Ix(h|0,0,k&7|0)|0,C0=v0,j=p|j,m0=w,t0=m0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,e[l>>2]=(e[l>>2]|0)+2;break}case 17:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&248|0)==0&!0)){j=91;break x}j=Ix(h|0,0,k&7|0)|0,C0=v0,j=p|j,m0=w,t0=m0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((j|0)==83)V0(406196,406218,54,406251);else if((j|0)==85)V0(406267,406218,55,406251);else if((j|0)==88)V0(406196,406218,54,406251);else if((j|0)==91)V0(406196,406218,54,406251);else if((j|0)==94){c0=d0;return}}function pG(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function bG(){return c0|0}function gG(c){c=c|0,c0=c}function mG(c,h){c=c|0,h=h|0,c0=c,g0=h}function yG(c,h){c=c|0,h=h|0,F0||(F0=c,N0=h)}function Dl0(c){c=c|0,n[p0>>0]=n[c>>0],n[p0+1>>0]=n[c+1>>0],n[p0+2>>0]=n[c+2>>0],n[p0+3>>0]=n[c+3>>0]}function vl0(c){c=c|0,n[p0>>0]=n[c>>0],n[p0+1>>0]=n[c+1>>0],n[p0+2>>0]=n[c+2>>0],n[p0+3>>0]=n[c+3>>0],n[p0+4>>0]=n[c+4>>0],n[p0+5>>0]=n[c+5>>0],n[p0+6>>0]=n[c+6>>0],n[p0+7>>0]=n[c+7>>0]}function wG(c){c=c|0,v0=c}function DG(){return v0|0}function vG(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(px=c0,c0=c0+224|0,se=px+200|0,ax=px+184|0,we=px+168|0,lx=px+152|0,De=px+144|0,Kx=px+140|0,Ux=px+136|0,A0=px+24|0,$=px+20|0,M=px+16|0,x0=px+12|0,q=px+8|0,j=px+4|0,oe=px,e[oe>>2]=w,a0=d,f0=p,Fe=l>>>24,Fe=(Fe<<2|2)+((l-(Fe<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,Fe=k?1:Fe>>>0<l>>>0?0:Fe,!w)return d=0,oe=e[oe>>2]|0,oe=d?oe:-1,c0=px,oe|0;if(k)return e[oe>>2]=1,n[p>>0]=6,d=1,oe=e[oe>>2]|0,oe=d?oe:-1,c0=px,oe|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:t0=7:(h=16,t0=7),$=1<<h,fx=$+-16|0,e[ax>>2]=e[4721],e[ax+4>>2]=e[4722],e[ax+8>>2]=e[4723],e[ax+12>>2]=e[4724],e[we>>2]=e[4721],e[we+4>>2]=e[4722],e[we+8>>2]=e[4723],e[we+12>>2]=e[4724],nx=e[oe>>2]|0,$=$>>>0>l>>>0?l:$,dx=1<<((h|0)>23?24:h+1|0),Lx=dx>>>3,e[lx>>2]=0,ae=lx+4|0,e[ae>>2]=10,k=lx+8|0,e[k>>2]=h,Ox=lx+12|0,e[Ox>>2]=0,e[ae>>2]=10,ae=(h|0)>16?(h|0)>18?18:h:16,e[Ox>>2]=ae,ae=1<<ae,e[se>>2]=1,Ox=se+4|0,e[Ox>>2]=1,bx=se+8|0,e[bx>>2]=0,l>>>0>=2147483649&&V0(406392,406053,1025,406415),(h|0)!=16?(h|0)==17?(x0=1,f=7):(x0=((h<<1)+222|1)&255,f=4):(x0=0,f=1),Nx=Mm(0,524308)|0,Nx||Px(1),e[Nx+524292>>2]=0,e[Nx+524300>>2]=0,n[Nx+524304>>0]=1,a0=Nx+524304|0,h=1<<e[k>>2],e[Nx>>2]=h+-1,h=1-h|0,Qx=Nx+524296|0,e[Qx>>2]=h,k=0;(k|0)!=131072;)e[Nx+4+(k<<2)>>2]=h,k=k+1|0;h=Nx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Nx+524292|0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Tx[e[se>>2]&1](e[bx>>2]|0,$<<3)|0,!e0)Px(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[a0>>0]=0,ox=Nx+524292|0,ux=A0+8|0,K0=A0+12|0,j0=A0+28|0,Ex=A0+32|0,Wx=A0+36|0,Yx=A0+48|0,Gx=A0+52|0,Bx=A0+56|0,Mx=A0+60|0,hx=A0+72|0,Fx=A0+80|0,mx=A0+88|0,ex=A0+96|0,Z0=A0+104|0,Xx=A0+8|0,xe=A0+32|0,ue=A0+56|0,k=f0,wx=0,gx=1,Rx=0,n0=0,M=0;x:for(;;){if(h=(gx&1)==0,!((h^1)&wx>>>0<l>>>0)){t0=93;break}for(xx=wx+dx|0,xx=xx>>>0>l>>>0?l:xx,G0=(((xx-wx|0)>>>0)/12|0)+16|0,e[De>>2]=0,e[Kx>>2]=0,h=0,H0=wx,O0=0,I0=0,q=0,X0=0;;){if(xx>>>0<=H0>>>0){a0=h,f0=I0,c=q,e0=X0;break}if(U0=xx-H0|0,U0=U0>>>0<ae>>>0?U0:ae,B0=Tx[e[se>>2]&1](e[bx>>2]|0,(U0<<4)+16|0)|0,!B0){t0=27;break x}for(h=U0+1|0,e0=0;(e0|0)!=(h|0);)e[B0+(e0<<4)>>2]=1,e[B0+(e0<<4)+4>>2]=0,e[B0+(e0<<4)+8>>2]=0,r0[B0+(e0<<4)+12>>2]=Q0,e0=e0+1|0;e:do if(U0>>>0>2&H0>>>0>127)for(h0=H0+-127|0,y0=h0+U0|0,y0=H0>>>0<y0>>>0?H0:y0;;){if(h0>>>0>=y0>>>0)break e;for(a0=e[Nx>>2]|0,m0=H0-h0|0,m0=a0-(m0>>>0<15?15:m0)|0,D0=h0&2147483647,w0=d+D0|0,d0=Nx+4+((rx(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[d0>>2]|0,a0=(h0&a0)<<1,e[d0>>2]=h0,d0=0,$=0,C0=0,e0=a0,a0=a0|1,b0=64;;){if(l0=u0&2147483647,(h0|0)==(u0|0)|(h0-u0|0)>>>0>m0>>>0|(b0|0)==0){t0=36;break}if(f0=$>>>0<C0>>>0?$:C0,f0>>>0>=129){t0=38;break x}for(t0=D0+f0|0,s0=d+(l0+128)|0,c=d+(l0+124)|0,j=0,h=d+(l0+f0)|0;!(h>>>0>c>>>0||(T0=d+(t0+j)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)j=j+4|0,h=h+4|0;for(;!(h>>>0>=s0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;f0=f0+j|0;t:do if(f0){for(h=f0,t0=w0,s0=d+l0|0;c=n[t0>>0]|0,j=n[s0>>0]|0,c<<24>>24==j<<24>>24;)if(h=h+-1|0,h)t0=t0+1|0,s0=s0+1|0;else break t;if(c<<24>>24!=j<<24>>24){t0=51;break x}}while(!1);if(d0){t0=53;break x}if(f0>>>0>=128){t0=55;break}h=e[ox>>2]|0,(s[d+(D0+f0)>>0]|0)>(s[d+(l0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Nx>>2])<<1|1,$=f0,h=C0,e0=c,c=(e[ox>>2]|0)+(c<<2)|0):(e[h+(a0<<2)>>2]=u0,c=(u0&e[Nx>>2])<<1,h=f0,a0=c,c=(e[ox>>2]|0)+(c<<2)|0),d0=0,C0=h,u0=e[c>>2]|0,b0=b0+-1|0}(t0|0)==36?(e[(e[ox>>2]|0)+(e0<<2)>>2]=e[Qx>>2],e[(e[ox>>2]|0)+(a0<<2)>>2]=e[Qx>>2]):(t0|0)==55&&(T0=e[ox>>2]|0,e[T0+(e0<<2)>>2]=e[T0+((u0&e[Nx>>2])<<1<<2)>>2],T0=e[ox>>2]|0,e[T0+(a0<<2)>>2]=e[T0+(((u0&e[Nx>>2])<<1|1)<<2)>>2]),h0=h0+1|0}while(!1);if(e0=X0+(Bm(se,U0,H0,d,2147483647,lx,fx,ax,Nx,B0)|0)|0,a0=e0+1|0,a0=G0>>>0>a0>>>0?G0:a0,(O0|0)!=(a0|0)){if(h=Tx[e[se>>2]&1](e[bx>>2]|0,a0<<4)|0,$=h,!h){t0=63;break x}I0&&(T0=I0,$x(h|0,T0|0,X0<<4|0)|0,vx[e[Ox>>2]&1](e[bx>>2]|0,T0))}else a0=O0,$=I0;if(B4(U0,H0,fx,B0,ax,De,$+(X0<<4)|0,Kx),q=q+U0|0,vx[e[Ox>>2]&1](e[bx>>2]|0,B0),h=e[Kx>>2]|0,h>>>0>Lx>>>0){a0=h,f0=$,c=q;break}if(e0>>>0>Lx>>>0){a0=h,f0=$,c=q;break}else H0=H0+U0|0,O0=a0,I0=$,X0=e0}if(h=e[De>>2]|0,!h)h=a0;else{a0=e0+1|0,T0=f0,e[T0+(e0<<4)>>2]=h,e[T0+(e0<<4)+4>>2]=67108864,e[T0+(e0<<4)+8>>2]=0,o[T0+(e0<<4)+14>>1]=16,e0=T0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){T0=h+-2|0,h=((Ax(T0|0)|0)^31)+-1|0,h=(h<<1)+(T0>>>h)+2|0;break}if(h>>>0<2114){h=((Ax(h+-66|0)|0)^31)+10|0;break}h>>>0<6210?h=21:h=h>>>0<22594?22:23}while(!1);h=h&65535,o[e0>>1]=o[88156+((h>>>3)*3<<1)>>1]|(h<<3&56|2)&65535,h=(e[Kx>>2]|0)+(e[De>>2]|0)|0,e[Kx>>2]=h,e0=a0}j=wx+c|0,q=(j|0)==(l|0),f=f&255,e[Ux>>2]=f;do if(c){if(!(_m(d,2147483647,wx,0,c,h,e0)|0)){if(e[ax>>2]=e[we>>2],e[ax+4>>2]=e[we+4>>2],e[ax+8>>2]=e[we+8>>2],e[ax+12>>2]=e[we+12>>2],h=Tx[e[se>>2]&1](e[bx>>2]|0,c+16|0)|0,!h){t0=83;break x}n[h>>0]=x0,Qu(q,d,wx,2147483647,c,Ux,h);break}e[A0>>2]=0,e[A0+4>>2]=0,e[A0+8>>2]=0,e[A0+12>>2]=0,e[A0+16>>2]=0,e[A0+20>>2]=0,e[A0+24>>2]=0,e[j0>>2]=0,e[j0+4>>2]=0,e[j0+8>>2]=0,e[j0+12>>2]=0,e[j0+16>>2]=0,e[Yx>>2]=0,e[Gx>>2]=0,e[Gx+4>>2]=0,e[Gx+8>>2]=0,e[Gx+12>>2]=0,e[Gx+16>>2]=0,t0=hx,s0=t0+40|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(s0|0));if(a0=R4(d,wx,2147483647,c)|0,a0=a0?2:3,$=f0,Um(se,d,wx,2147483647,lx,Rx,n0,$,e0,a0,A0),Hm(0,0,A0),h=Tx[e[se>>2]&1](e[bx>>2]|0,(c<<1)+502|0)|0,!h){t0=86;break x}n[h>>0]=x0,hm(se,d,wx,c,2147483647,Rx,n0,q,0,0,a0,$,e0,A0,Ux,h),(c+4|0)>>>0<(e[Ux>>2]|0)>>>3>>>0&&(e[ax>>2]=e[we>>2],e[ax+4>>2]=e[we+4>>2],e[ax+8>>2]=e[we+8>>2],e[ax+12>>2]=e[we+12>>2],n[h>>0]=x0,e[Ux>>2]=f,Qu(q,d,wx,2147483647,c,Ux,h)),vx[e[Ox>>2]&1](e[bx>>2]|0,e[Xx>>2]|0),e[ux>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[K0>>2]|0),e[K0>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[xe>>2]|0),e[Ex>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Wx>>2]|0),e[Wx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[ue>>2]|0),e[Bx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Mx>>2]|0),e[Mx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[hx>>2]|0),e[hx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Fx>>2]|0),e[Fx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[mx>>2]|0),e[mx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[ex>>2]|0),e[ex>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0}else{if(h=Tx[e[se>>2]&1](e[bx>>2]|0,16)|0,!h){t0=79;break x}n[h>>0]=x0,T0=e[Ux>>2]|0,wx=h+(T0>>>3)|0,X0=s[wx>>0]|0,xx=Ix(3,0,T0&7|0)|0,Rx=v0,xx=X0|xx,X0=wx,n[X0>>0]=xx,n[X0+1>>0]=xx>>8,n[X0+2>>0]=xx>>16,n[X0+3>>0]=xx>>24,wx=wx+4|0,n[wx>>0]=Rx,n[wx+1>>0]=Rx>>8,n[wx+2>>0]=Rx>>16,n[wx+3>>0]=Rx>>24,e[Ux>>2]=T0+9&-8}while(!1);a0=e[Ux>>2]|0,e0=a0>>>3,x0=n[h+e0>>0]|0,$=n[d+(j+-1)>>0]|0,n0=n[d+(j+-2)>>0]|0,e[we>>2]=e[ax>>2],e[we+4>>2]=e[ax+4>>2],e[we+8>>2]=e[ax+8>>2],e[we+12>>2]=e[ax+12>>2],M=M+e0|0,M>>>0>nx>>>0?e0=0:($x(k|0,h|0,e0|0)|0,k=k+e0|0,e0=gx),vx[e[Ox>>2]&1](e[bx>>2]|0,h),vx[e[Ox>>2]&1](e[bx>>2]|0,f0),f=a0&7,wx=j,gx=e0,Rx=$}if((t0|0)==27)Px(1);else if((t0|0)==38)V0(405873,405905,373,405932);else if((t0|0)==51)V0(405955,405905,378,405932);else if((t0|0)==53)Ji();else if((t0|0)==63)Px(1);else if((t0|0)==79)Px(1);else if((t0|0)==83)Px(1);else if((t0|0)==86)Px(1);else if((t0|0)==93){if(e[oe>>2]=M,vx[e[Ox>>2]&1](e[bx>>2]|0,e[ox>>2]|0),e[ox>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,Nx),h){t0=107;break}if((Fe|0)!=0&&(e[oe>>2]|0)>>>0>Fe>>>0){t0=106;break}else h=1;return T0=e[oe>>2]|0,T0=h?T0:-1,c0=px,T0|0}}else{if(n0=_4(5240)|0,!n0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;e[n0+16>>2]=1,e[n0+20>>2]=1,e[n0+24>>2]=0,e[n0>>2]=0,e[n0+4>>2]=11,e[n0+8>>2]=22,e[n0+12>>2]=0,t0=n0+80|0,e[t0>>2]=0,e[t0+4>>2]=0,e[n0+128>>2]=0,e[n0+132>>2]=0,e[n0+136>>2]=0,t0=n0+144|0,e[n0+4300>>2]=0,e[n0+4304>>2]=0,k=n0+5204|0,e[n0+5232>>2]=0,n[n0+5236>>0]=0,n[n0+5237>>0]=0,e[n0+28>>2]=0,e0=n0+32|0,e[t0>>2]=0,e[t0+4>>2]=0,e[t0+8>>2]=0,e[t0+12>>2]=0,t0=n0+194|0,s0=t0+10|0;do n[t0>>0]=0,t0=t0+1|0;while((t0|0)<(s0|0));e[k>>2]=0,e[k+4>>2]=0,e[k+8>>2]=0,e[k+12>>2]=0,e[k+16>>2]=0,e[k+20>>2]=0,k=n0+104|0,t0=e0,s0=t0+44|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(s0|0));if(e[k>>2]=0,e[n0+108>>2]=0,e[n0+112>>2]=0,e[n0+116>>2]=0,e[n0+124>>2]=0,e[n0+120>>2]=0,e[n0+160>>2]=4,e[n0+164>>2]=11,e[n0+168>>2]=15,e[n0+172>>2]=16,T0=n0+176|0,Ux=n0+160|0,e[T0>>2]=e[Ux>>2],e[T0+4>>2]=e[Ux+4>>2],e[T0+8>>2]=e[Ux+8>>2],e[T0+12>>2]=e[Ux+12>>2],!n0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;if(e[$>>2]=l,e[M>>2]=a0,e[x0>>2]=e[oe>>2],e[q>>2]=f0,e[j>>2]=0,n[n0+5237>>0]&1||(e[n0+4>>2]=c,e[n0+8>>2]=h,e[n0>>2]=f),h=oG(n0,$,M,x0,q,j)|0,(e[n0+5232>>2]|0)==2&&(e[n0+5220>>2]|0)==0?f=h&1:f=0,e[oe>>2]=e[j>>2],$=n0+200|0,h=e[n0+20>>2]|0,k=e[n0+24>>2]|0,vx[h&1](k,e[$>>2]|0),e[$>>2]=0,$=n0+124|0,e0=n0+20|0,a0=n0+24|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[$>>2]|0),e[$>>2]=0,vx[e[e0>>2]&1](e[a0>>2]|0,e[n0+112>>2]|0),e[n0+112>>2]=0,$=n0+28|0,x0=e[n0+72>>2]|0,x0&&(T0=x0+524292|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0),T0=n0+72|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ux=n0+32|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+36|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+40|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+44|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+48|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+52|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+56|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+60|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+64|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+68|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+4300|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+5208|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+5212|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,vx[h&1](k,n0),f<<24>>24)if((Fe|0)!=0&&(e[oe>>2]|0)>>>0>Fe>>>0)t0=106;else return d=1,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;else t0=107}while(!1);if((t0|0)==106){if(e[oe>>2]=0,Fe>>>0>w>>>0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0}else if((t0|0)==107&&(e[oe>>2]=0,(Fe|0)==0|Fe>>>0>w>>>0))return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;for(n[p>>0]=33,n[p+1>>0]=3,f=0,$=2,x0=l;x0;)x0>>>0<=16777216?x0>>>0>65536?(h=x0,h>>>0>1048576?t0=113:a0=1):(h=x0,a0=0):(h=16777216,t0=113),(t0|0)==113&&(t0=0,a0=2),e0=a0<<1|(h<<3)+-8|1<<(a0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(a0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),$x(p+k|0,d+f|0,h|0)|0,f=f+h|0,$=k+h|0,x0=x0-h|0;return n[p+$>>0]=3,e[oe>>2]=$+1,d=1,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0}function B4(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0;for(d0=d+8|0,C0=d+12|0,m0=d+4|0,e0=e[l+12>>2]|0,a0=0,w0=0;(e0|0)!=-1;){x0=a0+e0|0,n0=l+(x0<<4)|0,M=e[n0>>2]|0,D0=M&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=a0+$|0,e0=e[l+(x0<<4)+12>>2]|0,w0||($=$+(e[w>>2]|0)|0,e[w>>2]=0),f0=e[l+(x0<<4)+4>>2]|0,l0=f0&33554431,n0=e[n0>>2]|0,n0=(n0&16777215)+9-(n0>>>24)|0,s0=u0+h|0,s0=l0>>>0>(s0>>>0<f>>>0?s0:f)>>>0,f0=f0>>>25,f0=(f0|0)==0?l0+15|0:f0+-1|0,e[p+(w0<<4)>>2]=$,e[p+(w0<<4)+4>>2]=D0|(n0^M)<<24,a0=p+(w0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[a0>>1]=x0,a0=x0,x0=0):(j=f0+-12|0,x0=((Ax(j|0)|0)^31)+-1|0,t0=j>>>x0&1,q=((x0<<1)+65534|t0)+16&65535,o[a0>>1]=q,a0=q,x0=x0<<24|j-((t0|2)<<x0)),e[p+(w0<<4)+8>>2]=x0,j=a0<<16>>16==0,t0=p+(w0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){M=$+-2|0,q=((Ax(M|0)|0)^31)+-1|0,q=(q<<1)+(M>>>q)+2&65535;break}if($>>>0<2114){q=((Ax($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?q=21:q=$>>>0<22594?22:23}else q=$&65535;while(!1);do if(n0>>>0>=10){if(n0>>>0<134){M=n0+-6|0,a0=((Ax(M|0)|0)^31)+-1|0,a0=(a0<<1)+(M>>>a0)+4&65535;break}n0>>>0<2118?a0=((Ax(n0+-70|0)|0)^31)+12&65535:a0=23}else a0=n0+65534&65535;while(!1);x0=a0&65535,n0=q&65535,M=x0&7|n0<<3&56,j&(q&65535)<8&(a0&65535)<16?a0=((a0&65535)<8?M:M|64)&65535:a0=o[88156+((x0>>>3)+((n0>>>3)*3|0)<<1)>>1]|M&65535,o[t0>>1]=a0,s0|(f0|0)==0||(e[C0>>2]=e[d0>>2],e[d0>>2]=e[m0>>2],e[m0>>2]=e[d>>2],e[d>>2]=l0),e[k>>2]=(e[k>>2]|0)+$,a0=u0+D0|0,w0=w0+1|0}e[w>>2]=(e[w>>2]|0)+(c-a0)}function Bm(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0;Mx=c0,c0=c0+6320|0,Wx=Mx+6160|0,Gx=Mx+1252|0,Bx=Mx+1024|0,Yx=Mx,j0=(e[w+4>>2]|0)<11?150:325,Ex=h>>>0>127?f+h+-127|0:f,e[a0>>2]=0,r0[a0+12>>2]=0,e[Gx+4904>>2]=h,ux=c+8|0,$=Tx[e[c>>2]&1](e[ux>>2]|0,(h<<2)+8|0)|0,$||Px(1),K0=Gx+4896|0,e[K0>>2]=$,Tm(Gx,f,l,d),H0=Bx+224|0,e[H0>>2]=0,xx=Yx,X0=w+4|0,Rx=e0+524292|0,wx=e0+524296|0,gx=Yx,ox=Yx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){s0=98;break}for(G0=$+f|0,U0=G0>>>0<p>>>0?G0:p,B0=h-$|0,O0=G0&d,d0=(e[X0>>2]|0)!=11?16:64,d0=G0>>>0<d0>>>0?0:G0-d0|0,I0=l+O0|0,f0=l+(O0+1)|0,u0=O0+B0|0,l0=l+u0|0,u0=l+(u0+-4)|0,x0=xx,M=1,n0=G0;n0=n0+-1|0,!(!(n0>>>0>d0>>>0&M>>>0<3)||(t0=G0-n0|0,t0>>>0>U0>>>0));){if(s0=n0&d,(n[I0>>0]|0)!=(n[l+s0>>0]|0)){y0=M,h0=x0,M=y0,x0=h0;continue}if((n[f0>>0]|0)==(n[l+(s0+1)>>0]|0))q=0,j=I0;else{y0=M,h0=x0,M=y0,x0=h0;continue}for(;!(j>>>0>u0>>>0||(h0=l+(s0+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=l0>>>0||(n[l+(s0+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;if(q>>>0<=M>>>0){y0=M,h0=x0,M=y0,x0=h0;continue}M=x0,e[M>>2]=t0,e[M+4>>2]=q<<5,x0=M+8|0,M=q}do if(M>>>0<B0>>>0){for(y0=B0>>>0<128?B0:128,h0=B0>>>0>127,n0=e0+4+((rx(s[I0>>0]|s[I0+1>>0]<<8|s[I0+2>>0]<<16|s[I0+3>>0]<<24,506832829)|0)>>>15<<2)|0,t0=e[n0>>2]|0,q=(G0&e[e0>>2])<<1,j=q|1,h0?(e[n0>>2]=G0,w0=0,b0=0,D0=64):(w0=0,b0=0,D0=64);;){if(C0=G0-t0|0,m0=t0&d,(G0|0)==(t0|0)|C0>>>0>U0>>>0|(D0|0)==0){s0=22;break}if(d0=w0>>>0<b0>>>0?w0:b0,d0>>>0>=129){s0=25;break x}for(l0=O0+d0|0,s0=m0+B0|0,u0=l+s0|0,s0=l+(s0+-4)|0,f0=0,n0=l+(m0+d0)|0;!(n0>>>0>s0>>>0||(hx=l+(l0+f0)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)f0=f0+4|0,n0=n0+4|0;for(;!(n0>>>0>=u0>>>0||(n[l+(l0+f0)>>0]|0)!=(n[n0>>0]|0));)f0=f0+1|0,n0=n0+1|0;d0=d0+f0|0;e:do if(d0){for(n0=d0,l0=I0,u0=l+m0|0;s0=n[l0>>0]|0,f0=n[u0>>0]|0,s0<<24>>24==f0<<24>>24;)if(n0=n0+-1|0,n0)l0=l0+1|0,u0=u0+1|0;else break e;if(s0<<24>>24!=f0<<24>>24){s0=38;break x}}while(!1);if(n0=x0,(x0|0)!=0&d0>>>0>M>>>0&&(e[n0>>2]=C0,e[n0+4>>2]=d0<<5,x0=n0+8|0,M=d0),d0>>>0>=y0>>>0){s0=42;break}(s[l+(O0+d0)>>0]|0)>(s[l+(m0+d0)>>0]|0)?(h0&&(e[(e[Rx>>2]|0)+(q<<2)>>2]=t0),s0=(t0&e[e0>>2])<<1|1,t0=d0,n0=b0,q=s0,s0=(e[Rx>>2]|0)+(s0<<2)|0):(h0&&(e[(e[Rx>>2]|0)+(j<<2)>>2]=t0),s0=(t0&e[e0>>2])<<1,t0=w0,n0=d0,j=s0,s0=(e[Rx>>2]|0)+(s0<<2)|0),w0=t0,b0=n0,t0=e[s0>>2]|0,D0=D0+-1|0}if((s0|0)==22){if(!h0)break;e[(e[Rx>>2]|0)+(q<<2)>>2]=e[wx>>2],e[(e[Rx>>2]|0)+(j<<2)>>2]=e[wx>>2];break}else if((s0|0)==42){if(!h0)break;hx=e[Rx>>2]|0,e[hx+(q<<2)>>2]=e[hx+((t0&e[e0>>2])<<1<<2)>>2],hx=e[Rx>>2]|0,e[hx+(j<<2)>>2]=e[hx+(((t0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(n0=0;(n0|0)!=38;)e[Wx+(n0<<2)>>2]=268435455,n0=n0+1|0;M=M+1|0,M=M>>>0<4?4:M;e:do if(Qm(I0,M,B0,Wx)|0)for(q=B0>>>0>37?37:B0;;){if(M>>>0>q>>>0)break e;n0=e[Wx+(M<<2)>>2]|0,n0>>>0<268435455&&(hx=n0&31,e[x0>>2]=U0+(n0>>>5)+1,e[x0+4>>2]=M<<5|((M|0)==(hx|0)?0:hx),x0=x0+8|0),M=M+1|0}while(!1);x0=x0-gx>>3;do if(x0){if(n0=x0+-1|0,(e[Yx+(n0<<3)+4>>2]|0)>>>5>>>0<=j0>>>0){if(hx=x0,Xu(h,f,$,l,d,w,p,k,hx,Yx,Gx,Bx,a0),(hx|0)!=1)break}else I0=Yx+(n0<<3)|0,U0=e[I0+4>>2]|0,hx=Yx,e[hx>>2]=e[I0>>2],e[hx+4>>2]=U0,Xu(h,f,$,l,d,w,p,k,1,Yx,Gx,Bx,a0);if(x0=(e[ox>>2]|0)>>>5,x0>>>0>j0>>>0){for(O0=G0+x0|0,O0=O0>>>0<Ex>>>0?O0:Ex,h0=(G0+64|0)>>>0>O0>>>0?G0+1|0:O0+-63|0;!(h0>>>0>=O0>>>0);){for(M=e[e0>>2]|0,D0=M+-15|0,w0=h0&d,b0=l+w0|0,C0=e0+4+((rx(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>15<<2)|0,d0=e[C0>>2]|0,M=(h0&M)<<1,e[C0>>2]=h0,C0=0,q=0,m0=0,n0=M,M=M|1,y0=64;;){if(u0=d0&d,(h0|0)==(d0|0)|(h0-d0|0)>>>0>D0>>>0|(y0|0)==0){s0=71;break}if(l0=q>>>0<m0>>>0?q:m0,l0>>>0>=129){s0=73;break x}for(s0=w0+l0|0,f0=l+(u0+128)|0,j=l+(u0+124)|0,t0=0,x0=l+(u0+l0)|0;!(x0>>>0>j>>>0||(hx=l+(s0+t0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)t0=t0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(s0+t0)>>0]|0)!=(n[x0>>0]|0));)t0=t0+1|0,x0=x0+1|0;l0=l0+t0|0;e:do if(l0){for(x0=l0,s0=b0,f0=l+u0|0;j=n[s0>>0]|0,t0=n[f0>>0]|0,j<<24>>24==t0<<24>>24;)if(x0=x0+-1|0,x0)s0=s0+1|0,f0=f0+1|0;else break e;if(j<<24>>24!=t0<<24>>24){s0=86;break x}}while(!1);if(C0){s0=88;break x}if(l0>>>0>=128){s0=90;break}x0=e[Rx>>2]|0,(s[l+(w0+l0)>>0]|0)>(s[l+(u0+l0)>>0]|0)?(e[x0+(n0<<2)>>2]=d0,j=(d0&e[e0>>2])<<1|1,q=l0,x0=m0,n0=j,j=(e[Rx>>2]|0)+(j<<2)|0):(e[x0+(M<<2)>>2]=d0,j=(d0&e[e0>>2])<<1,x0=l0,M=j,j=(e[Rx>>2]|0)+(j<<2)|0),C0=0,m0=x0,d0=e[j>>2]|0,y0=y0+-1|0}(s0|0)==71?(e[(e[Rx>>2]|0)+(n0<<2)>>2]=e[wx>>2],e[(e[Rx>>2]|0)+(M<<2)>>2]=e[wx>>2]):(s0|0)==90&&(hx=e[Rx>>2]|0,e[hx+(n0<<2)>>2]=e[hx+((d0&e[e0>>2])<<1<<2)>>2],hx=e[Rx>>2]|0,e[hx+(M<<2)>>2]=e[hx+(((d0&e[e0>>2])<<1|1)<<2)>>2]),h0=h0+1|0}$=$+(((e[ox>>2]|0)>>>5)+-1)|0,e[H0>>2]=0}}else Xu(h,f,$,l,d,w,p,k,0,Yx,Gx,Bx,a0);while(!1);$=$+1|0}if((s0|0)==25)V0(405873,405905,373,405932);else if((s0|0)==38)V0(405955,405905,378,405932);else if((s0|0)==73)V0(405873,405905,373,405932);else if((s0|0)==86)V0(405955,405905,378,405932);else if((s0|0)==88)Ji();else if((s0|0)==98){for(vx[e[c+4>>2]&1](e[ux>>2]|0,e[K0>>2]|0),e[K0>>2]=0;!(e[a0+(h<<4)+8>>2]|0||(e[a0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[a0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[a0+(h<<4)>>2]&16777215)+(e[a0+(h<<4)+8>>2]|0)|0,hx=h-d|0,e[a0+(hx<<4)+12>>2]=d,h=hx,$=$+1|0;return c0=Mx,$|0}return 0}function Tm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;s0=c0,c0=c0+4128|0,$=s0+4112|0,M=s0+1040|0,q=s0+1024|0,a0=s0,j=e[c+4904>>2]|0,t0=e[c+4896>>2]|0;x:do if(R4(f,h,l,j)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,a0=0;(a0|0)!=(j|0);)d=n[f+(a0+h&l)>>0]|0,e0=d&255,d<<24>>24<=-1?(d&255)>191?d=1:d=p>>>0<224?0:2:d=0,p=$+(d<<2)|0,e[p>>2]=(e[p>>2]|0)+1,p=e0,a0=a0+1|0;for(n0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Vx(M|0,0,3072)|0,e0=j>>>0>495?495:j,e[q>>2]=0,e[q+4>>2]=0,e[q+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){a0=0;break}p=n[f+(x0+h&l)>>0]|0,a0=p&255,f0=M+(d<<10)+(a0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=q+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=n0:d=$>>>0<224?0:n0:d=0,$=a0,x0=x0+1|0}for(;(a0|0)!=(j|0);)a0>>>0>=495&&(a0>>>0>=496?(d=a0+h|0,p=s[f+(d+-496&l)>>0]|0,a0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=n0:d=d>>>0<224?0:n0:d=0):d=0,f0=M+(d<<10)+((s[f+(a0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(a0+495|0)>>>0<j>>>0&&(p=a0+h|0,e0=p+495|0,d=n[f+(p+494&l)>>0]|0,p=n[f+(p+493&l)>>0]|0,d<<24>>24<=-1?(d&255)>191?d=n0:d=(p&255)<224?0:n0:d=0,f0=M+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),a0?(d=a0+h|0,p=s[f+(d+-1&l)>>0]|0,a0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=n0:d=d>>>0<224?0:n0:d=0):d=0,p=e[M+(d<<10)+((s[f+(a0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[q+(d<<2)>>2]|0,d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(+(d>>>0)),p>>>0<256?w=+r0[19516+(p<<2)>>2]:w=+Jx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,a0>>>0<2e3&&(w=w+(.7-+((2e3-a0|0)>>>0)/2e3*.35)),r0[t0+(a0+1<<2)>>2]=w,a0=a0+1|0}else{for(Vx(a0|0,0,1024)|0,d=j>>>0>2e3?2e3:j,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=a0+((s[f+(p+h&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,p=p+1|0}for(;;){if((e0|0)==(j|0))break x;e0>>>0>=2e3&&(f0=a0+((s[f+(e0+h+-2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,d=d+-1|0),p=e0+h|0,(e0+2e3|0)>>>0<j>>>0&&(f0=a0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[a0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(+(d>>>0)),p>>>0<256?w=+r0[19516+(p<<2)>>2]:w=+Jx(+(p>>>0)),k=k-w+.029,r0[t0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(r0[t0>>2]=0,w=0,d=0;;){if((d|0)==(j|0)){p=0;break}f0=d+1|0,l=t0+(f0<<2)|0,k=+r0[l>>2]+w,r0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+r0[19516+(d<<2)>>2]:w=+Jx(+(d>>>0)),r0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+r0[19516+(d<<2)>>2]:w=+Jx(+(d>>>0)),r0[c+2816+(p<<2)>>2]=w,p=p+1|0;r0[c+4900>>2]=3.4594316482543945,c0=s0}function Xu(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0;if(Ex=c0,c0=c0+64|0,l0=Ex+36|0,f0=Ex+8|0,j0=Ex,Rx=h+f|0,wx=Rx&d,X0=Rx>>>0<p>>>0?Rx:p,gx=c-f|0,xx=(e[w+4>>2]|0)<11,H0=xx?150:325,xx=xx?1:5,s0=e[n0+(f<<4)+12>>2]|0,h=e[n0+(f<<4)>>2]&16777215,w=e[n0+(f<<4)+8>>2]|0,q=e[n0+(f<<4)+4>>2]|0,j=q&33554431,f?(j+h|0)>>>0>Rx>>>0|j>>>0>p>>>0|(q>>>25|0)==1?h=e[n0+(f-h-w<<4)+12>>2]|0:h=f:h=0,q=n0+(f<<4)+12|0,e[q>>2]=h,t0=(e[p0>>2]=s0,+r0[p0>>2]),G0=$+4896|0,w=e[G0>>2]|0,M=+r0[w+(f<<2)>>2],!(t0<=M-+r0[w>>2]))s0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=s0,h=e[G0>>2]|0,r0[f0+20>>2]=t0-(+r0[h+(f<<2)>>2]-+r0[h>>2]),h=0,w=q;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}U0=e[n0+(w<<4)+8>>2]|0,I0=e[n0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[n0+(w<<4)+4>>2]&33554431,h=h+1|0,w=n0+(w-I0-U0<<4)+12|0}for(;!((h|0)>=4);)e[f0+4+(h<<2)>>2]=e[w>>2],w=w+4|0,h=h+1|0;for(s0=x0+224|0,h=e[s0>>2]|0,p=h+1|0,e[s0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,j=x0+(h*28|0)|0,e[j>>2]=e[f0>>2],e[j+4>>2]=e[f0+4>>2],e[j+8>>2]=e[f0+8>>2],e[j+12>>2]=e[f0+12>>2],e[j+16>>2]=e[f0+16>>2],e[j+20>>2]=e[f0+20>>2],e[j+24>>2]=e[f0+24>>2],j=1;!(j>>>0>=p>>>0);)q=h&7,h=h+1|0,w=h&7,+r0[x0+(q*28|0)+20>>2]>+r0[x0+(w*28|0)+20>>2]&&(I0=x0+(q*28|0)|0,e[l0>>2]=e[I0>>2],e[l0+4>>2]=e[I0+4>>2],e[l0+8>>2]=e[I0+8>>2],e[l0+12>>2]=e[I0+12>>2],e[l0+16>>2]=e[I0+16>>2],e[l0+20>>2]=e[I0+20>>2],e[l0+24>>2]=e[I0+24>>2],U0=x0+(w*28|0)|0,e[I0>>2]=e[U0>>2],e[I0+4>>2]=e[U0+4>>2],e[I0+8>>2]=e[U0+8>>2],e[I0+12>>2]=e[U0+12>>2],e[I0+16>>2]=e[U0+16>>2],e[I0+20>>2]=e[U0+20>>2],e[I0+24>>2]=e[U0+24>>2],e[U0>>2]=e[l0>>2],e[U0+4>>2]=e[l0+4>>2],e[U0+8>>2]=e[l0+8>>2],e[U0+12>>2]=e[l0+12>>2],e[U0+16>>2]=e[l0+16>>2],e[U0+20>>2]=e[l0+20>>2],e[U0+24>>2]=e[l0+24>>2]),j=j+1|0;U0=e[G0>>2]|0,w=U0,M=+r0[U0+(f<<2)>>2]}q=0-(e[s0>>2]|0)&7,h=2,M=+r0[x0+(q*28|0)+24>>2]+ +r0[$+4900>>2]+(M-+r0[w+(e[x0+(q*28|0)>>2]<<2)>>2]),q=4,j=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+r0[n0+(w<<4)+12>>2]<=M))break x;h=h+1|0}while((h|0)!=(j|0));U0=j+q|0,h=j,M=M+1,q=q<<1,j=U0}for(b0=h+-1|0,y0=l+wx|0,O0=wx+gx|0,h0=l+O0|0,O0=l+(O0+-4)|0,B0=j0+4|0,I0=j0+4|0,U0=0;;){if(U0>>>0>=xx>>>0){h=82;break}if(w=e[s0>>2]|0,U0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}d0=U0-w&7,C0=f-(e[x0+(d0*28|0)>>2]|0)|0;do if(C0>>>0>=6){if(C0>>>0<130){w0=C0+-2|0,w=((Ax(w0|0)|0)^31)+-1|0,w=(w<<1)+(w0>>>w)+2&65535;break}if(C0>>>0<2114){w=((Ax(C0+-66|0)|0)^31)+10&65535;break}C0>>>0<6210?w=21:w=C0>>>0<22594?22:23}else w=C0&65535;while(!1);for(w0=w&65535,D0=e[G0>>2]|0,m0=+r0[x0+(d0*28|0)+20>>2]+ +((e[17268+(w0<<2)>>2]|0)>>>0)+(+r0[D0+(f<<2)>>2]-+r0[D0>>2]),D0=w0<<3&56,w0=(w0>>>3)*3|0,c=(w&65535)<8,w=b0,u0=0;u0>>>0<16&w>>>0<gx>>>0;){p=(e[x0+(d0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,q=Rx-p|0;x:do if(!(q>>>0>=Rx>>>0|p>>>0>X0>>>0)&&(ox=q&d,ux=wx+w|0,ux>>>0<=d>>>0)&&(K0=ox+w|0,K0>>>0<=d>>>0)&&(n[l+ux>>0]|0)==(n[l+K0>>0]|0)){for(q=0,j=y0;!(j>>>0>O0>>>0||(l0=l+(ox+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=h0>>>0||(n[l+(ox+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;for(t0=m0+ +r0[$+2816+(u0<<2)>>2],l0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>q>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Ax(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Ax(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,j=p&7|D0,((l0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?j:j|64)&65535:w=o[88156+((p>>>3)+w0<<1)>>1]|j&65535,M=((w&65535)<128?m0:t0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +r0[$+((w&65535)<<2)>>2],w=k+f|0,!(M<+r0[n0+(w<<4)+12>>2])){w=k;continue}e[n0+(w<<4)>>2]=k|150994944,e[n0+(w<<4)+4>>2]=f0,e[n0+(w<<4)+8>>2]=C0,r0[n0+(w<<4)+12>>2]=M,w=k}}while(!1);u0=u0+1|0}x:do if(U0>>>0<=1)for(k=h,d0=0;;){if((d0|0)==(e0|0))break x;for(f0=a0+(d0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=j0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>X0>>>0,w=p&1,q=c+15|0,u0=Dx(c|0,f0|0,37)|0,q>>>0<16?j=0:(Wx=c+3|0,j=((Ax(Wx|0)|0)^31)+-1|0,l0=Wx>>>j&1,q=((j<<1)+65534|l0)+16|0,j=j<<24|Wx-((l0|2)<<j)),t0=m0+ +(j>>>24>>>0)+ +r0[$+2816+((q&65535)<<2)>>2],k>>>0<u0>>>0&&(Wx=p|u0>>>0>H0>>>0,w=Wx?w:0,k=Wx?u0:k),l0=w<<24>>24==0,j=Dx(c|0,f0|0,37)|0,j=j+1|0,p=k>>>0>j>>>0,f0=k;!(f0>>>0>u0>>>0);){l0?w=f0:(w=e[B0>>2]&31,w||(w=(e[I0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){Wx=w+-6|0,q=((Ax(Wx|0)|0)^31)+-1|0,q=(q<<1)+(Wx>>>q)+4|0;break}w>>>0<2118?q=((Ax(w+-70|0)|0)^31)+12|0:q=23}else q=w+65534|0;while(!1);Wx=q&65535,M=t0+ +((e[17460+(Wx<<2)>>2]|0)>>>0)+ +r0[$+(((o[88156+((Wx>>>3)+w0<<1)>>1]|(q&7|D0)&65535)&65535)<<2)>>2],q=f0+f|0,M<+r0[n0+(q<<4)+12>>2]&&(e[n0+(q<<4)>>2]=f0|f0+9-w<<24,e[n0+(q<<4)+4>>2]=c,e[n0+(q<<4)+8>>2]=C0,r0[n0+(q<<4)+12>>2]=M),f0=f0+1|0}k=p?k:j,d0=d0+1|0}while(!1);U0=U0+1|0}if((h|0)==82){c0=Ex;return}}function AG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0;G0=(1<<e[p+8>>2])+-16|0,Im(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){U0=f+-127|0,I0=U0+h|0,I0=I0>>>0>f>>>0?f:I0,B0=k+524292|0,O0=k+524296|0;e:for(;;){if(U0>>>0>=I0>>>0)break x;for(q=e[k>>2]|0,w0=f-U0|0,w0=q-(w0>>>0<15?15:w0)|0,b0=U0&w,y0=d+b0|0,m0=k+4+((rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>15<<2)|0,C0=e[m0>>2]|0,q=(U0&q)<<1,e[m0>>2]=U0,m0=0,j=0,D0=0,M=q,q=q|1,h0=64;;){if(d0=C0&w,(U0|0)==(C0|0)|(U0-C0|0)>>>0>w0>>>0|(h0|0)==0){l=6;break}if(u0=j>>>0<D0>>>0?j:D0,u0>>>0>=129){l=8;break e}for(f0=b0+u0|0,l0=d+(d0+128)|0,t0=d+(d0+124)|0,s0=0,l=d+(d0+u0)|0;!(l>>>0>t0>>>0||(H0=d+(f0+s0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)s0=s0+4|0,l=l+4|0;for(;!(l>>>0>=l0>>>0||(n[d+(f0+s0)>>0]|0)!=(n[l>>0]|0));)s0=s0+1|0,l=l+1|0;u0=u0+s0|0;t:do if(u0){for(l=u0,f0=y0,l0=d+d0|0;t0=n[f0>>0]|0,s0=n[l0>>0]|0,t0<<24>>24==s0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,l0=l0+1|0;else break t;if(t0<<24>>24!=s0<<24>>24){l=21;break e}}while(!1);if(m0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[B0>>2]|0,(s[d+(b0+u0)>>0]|0)>(s[d+(d0+u0)>>0]|0)?(e[l+(M<<2)>>2]=C0,t0=(C0&e[k>>2])<<1|1,j=u0,l=D0,M=t0,t0=(e[B0>>2]|0)+(t0<<2)|0):(e[l+(q<<2)>>2]=C0,t0=(C0&e[k>>2])<<1,l=u0,q=t0,t0=(e[B0>>2]|0)+(t0<<2)|0),m0=0,D0=l,C0=e[t0>>2]|0,h0=h0+-1|0}(l|0)==6?(e[(e[B0>>2]|0)+(M<<2)>>2]=e[O0>>2],e[(e[B0>>2]|0)+(q<<2)>>2]=e[O0>>2]):(l|0)==25&&(H0=e[B0>>2]|0,e[H0+(M<<2)>>2]=e[H0+((C0&e[k>>2])<<1<<2)>>2],H0=e[B0>>2]|0,e[H0+(q<<2)>>2]=e[H0+(((C0&e[k>>2])<<1|1)<<2)>>2]),U0=U0+1|0}(l|0)==8?V0(405873,405905,373,405932):(l|0)==21?V0(405955,405905,378,405932):(l|0)==23&&Ji()}while(!1);for(l=c+8|0,M=Tx[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,M||Px(1),q=h+1|0,j=0;(j|0)!=(q|0);)e[M+(j<<4)>>2]=1,e[M+(j<<4)+4>>2]=0,e[M+(j<<4)+8>>2]=0,r0[M+(j<<4)+12>>2]=Q0,j=j+1|0;H0=Bm(c,h,f,d,w,p,G0,e0,k,M)|0,e[x0>>2]=(e[x0>>2]|0)+H0,B4(h,f,G0,M,e0,a0,$,n0),vx[e[c+4>>2]&1](e[l>>2]|0,M)}function EG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0;nx=c0,c0=c0+12256|0,hx=nx+12028|0,Mx=nx+12024|0,Qx=nx+11e3|0,xe=nx+8184|0,ue=nx+6104|0,Xx=nx+5080|0,Wx=nx+4928|0,fx=nx+4912|0,Nx=nx,Fx=(1<<e[p+8>>2])+-16|0,Bx=h<<2,ex=c+8|0,Z0=Tx[e[c>>2]&1](e[ex>>2]|0,Bx)|0,Z0||Px(1),Ex=h>>>0>127?f+h+-127|0:f,Gx=Tx[e[c>>2]&1](e[ex>>2]|0,h<<5)|0,H0=Gx,Gx||Px(1),Im(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){G0=f+-127|0,U0=G0+h|0,U0=U0>>>0>f>>>0?f:U0,B0=k+524292|0,I0=k+524296|0;e:for(;;){if(G0>>>0>=U0>>>0)break x;for(q=e[k>>2]|0,b0=f-G0|0,b0=q-(b0>>>0<15?15:b0)|0,y0=G0&w,h0=d+y0|0,D0=k+4+((rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>15<<2)|0,m0=e[D0>>2]|0,q=(G0&q)<<1,e[D0>>2]=G0,D0=0,j=0,w0=0,M=q,q=q|1,O0=64;;){if(C0=m0&w,(G0|0)==(m0|0)|(G0-m0|0)>>>0>b0>>>0|(O0|0)==0){j=11;break}if(d0=j>>>0<w0>>>0?j:w0,d0>>>0>=129){j=13;break e}for(l0=y0+d0|0,u0=d+(C0+128)|0,s0=d+(C0+124)|0,f0=0,l=d+(C0+d0)|0;!(l>>>0>s0>>>0||(Gx=d+(l0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0)));)f0=f0+4|0,l=l+4|0;for(;!(l>>>0>=u0>>>0||(n[d+(l0+f0)>>0]|0)!=(n[l>>0]|0));)f0=f0+1|0,l=l+1|0;d0=d0+f0|0;t:do if(d0){for(l=d0,l0=h0,u0=d+C0|0;s0=n[l0>>0]|0,f0=n[u0>>0]|0,s0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)l0=l0+1|0,u0=u0+1|0;else break t;if(s0<<24>>24!=f0<<24>>24){j=26;break e}}while(!1);if(D0){j=28;break e}if(d0>>>0>=128){j=30;break}l=e[B0>>2]|0,(s[d+(y0+d0)>>0]|0)>(s[d+(C0+d0)>>0]|0)?(e[l+(M<<2)>>2]=m0,s0=(m0&e[k>>2])<<1|1,j=d0,l=w0,M=s0,s0=(e[B0>>2]|0)+(s0<<2)|0):(e[l+(q<<2)>>2]=m0,s0=(m0&e[k>>2])<<1,l=d0,q=s0,s0=(e[B0>>2]|0)+(s0<<2)|0),D0=0,w0=l,m0=e[s0>>2]|0,O0=O0+-1|0}(j|0)==11?(e[(e[B0>>2]|0)+(M<<2)>>2]=e[I0>>2],e[(e[B0>>2]|0)+(q<<2)>>2]=e[I0>>2]):(j|0)==30&&(Gx=e[B0>>2]|0,e[Gx+(M<<2)>>2]=e[Gx+((m0&e[k>>2])<<1<<2)>>2],Gx=e[B0>>2]|0,e[Gx+(q<<2)>>2]=e[Gx+(((m0&e[k>>2])<<1|1)<<2)>>2]),G0=G0+1|0}(j|0)==13?V0(405873,405905,373,405932):(j|0)==26?V0(405955,405905,378,405932):(j|0)==28&&Ji()}while(!1);Yx=c+4|0,Gx=p+4|0,K0=k+524292|0,j0=k+524296|0,ox=0,f0=Bx,M=0;x:for(;;){if((M+3|0)>>>0>=h>>>0){j=142;break}if(gx=M+f|0,wx=gx>>>0<Fx>>>0?gx:Fx,xx=h-M|0,l=ox+128|0,f0>>>0<l>>>0){for(j=(f0|0)==0,s0=j?l:f0;!(s0>>>0>=l>>>0);)s0=s0<<1;if(q=Tx[e[c>>2]&1](e[ex>>2]|0,s0<<3)|0,!q){j=42;break}l=H0,j||$x(q|0,l|0,f0<<3|0)|0,vx[e[Yx>>2]&1](e[ex>>2]|0,l),ux=s0}else q=H0,ux=f0;for(X0=q,Rx=X0+(ox<<3)|0,G0=gx&w,C0=(e[Gx>>2]|0)!=11?16:64,C0=gx>>>0<C0>>>0?0:gx-C0|0,H0=d+G0|0,m0=d+(G0+1)|0,w0=G0+xx|0,D0=d+w0|0,w0=d+(w0+-4)|0,l=Rx,s0=1,j=gx;j=j+-1|0,!(!(j>>>0>C0>>>0&s0>>>0<3)||(u0=gx-j|0,u0>>>0>wx>>>0));){if(d0=j&w,(n[H0>>0]|0)!=(n[d+d0>>0]|0)){I0=s0,U0=l,s0=I0,l=U0;continue}if((n[m0>>0]|0)==(n[d+(d0+1)>>0]|0))f0=0,l0=H0;else{I0=s0,U0=l,s0=I0,l=U0;continue}for(;!(l0>>>0>w0>>>0||(U0=d+(d0+f0)|0,(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)!=(s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0)));)f0=f0+4|0,l0=l0+4|0;for(;!(l0>>>0>=D0>>>0||(n[d+(d0+f0)>>0]|0)!=(n[l0>>0]|0));)f0=f0+1|0,l0=l0+1|0;if(f0>>>0<=s0>>>0){I0=s0,U0=l,s0=I0,l=U0;continue}s0=l,e[s0>>2]=u0,e[s0+4>>2]=f0<<5,l=s0+8|0,s0=f0}do if(s0>>>0<xx>>>0){for(I0=xx>>>0<128?xx:128,U0=xx>>>0>127,j=k+4+((rx(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[j>>2]|0,f0=(gx&e[k>>2])<<1,l0=f0|1,U0?(e[j>>2]=gx,O0=0,B0=0,h0=64):(O0=0,B0=0,h0=64);;){if(b0=gx-u0|0,y0=u0&w,(gx|0)==(u0|0)|b0>>>0>wx>>>0|(h0|0)==0){j=63;break}if(w0=O0>>>0<B0>>>0?O0:B0,w0>>>0>=129){j=66;break x}for(m0=G0+w0|0,d0=y0+xx|0,D0=d+d0|0,d0=d+(d0+-4)|0,C0=0,j=d+(y0+w0)|0;!(j>>>0>d0>>>0||(dx=d+(m0+C0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)C0=C0+4|0,j=j+4|0;for(;!(j>>>0>=D0>>>0||(n[d+(m0+C0)>>0]|0)!=(n[j>>0]|0));)C0=C0+1|0,j=j+1|0;w0=w0+C0|0;e:do if(w0){for(j=w0,m0=H0,D0=d+y0|0;d0=n[m0>>0]|0,C0=n[D0>>0]|0,d0<<24>>24==C0<<24>>24;)if(j=j+-1|0,j)m0=m0+1|0,D0=D0+1|0;else break e;if(d0<<24>>24!=C0<<24>>24){j=79;break x}}while(!1);if(j=l,(l|0)!=0&w0>>>0>s0>>>0&&(e[j>>2]=b0,e[j+4>>2]=w0<<5,l=j+8|0,s0=w0),w0>>>0>=I0>>>0){j=83;break}(s[d+(G0+w0)>>0]|0)>(s[d+(y0+w0)>>0]|0)?(U0&&(e[(e[K0>>2]|0)+(f0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1|1,u0=w0,j=B0,f0=d0,d0=(e[K0>>2]|0)+(d0<<2)|0):(U0&&(e[(e[K0>>2]|0)+(l0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1,u0=O0,j=w0,l0=d0,d0=(e[K0>>2]|0)+(d0<<2)|0),O0=u0,B0=j,u0=e[d0>>2]|0,h0=h0+-1|0}if((j|0)==63){if(!U0)break;e[(e[K0>>2]|0)+(f0<<2)>>2]=e[j0>>2],e[(e[K0>>2]|0)+(l0<<2)>>2]=e[j0>>2];break}else if((j|0)==83){if(!U0)break;dx=e[K0>>2]|0,e[dx+(f0<<2)>>2]=e[dx+((u0&e[k>>2])<<1<<2)>>2],dx=e[K0>>2]|0,e[dx+(l0<<2)>>2]=e[dx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(j=0;(j|0)!=38;)e[Wx+(j<<2)>>2]=268435455,j=j+1|0;s0=s0+1|0,s0=s0>>>0<4?4:s0;e:do if(Qm(H0,s0,xx,Wx)|0)for(f0=xx>>>0>37?37:xx;;){if(s0>>>0>f0>>>0)break e;j=e[Wx+(s0<<2)>>2]|0,j>>>0<268435455&&(dx=j&31,e[l>>2]=wx+(j>>>5)+1,e[l+4>>2]=s0<<5|((s0|0)==(dx|0)?0:dx),l=l+8|0),s0=s0+1|0}while(!1);for(f0=l-Rx>>3,l=ox+f0|0,s0=ox;j=s0,s0=s0+1|0,!(s0>>>0>=l>>>0);){if((e[X0+(j<<3)+4>>2]|0)>>>5>>>0>=(e[X0+(s0<<3)+4>>2]|0)>>>5>>>0){j=105;break x}if(j=e[X0+(j<<3)>>2]|0,!(j>>>0>wx>>>0)&&j>>>0>(e[X0+(s0<<3)>>2]|0)>>>0){j=108;break x}}if(l0=Z0+(M<<2)|0,e[l0>>2]=f0,f0){if(j=l+-1|0,dx=e[X0+(j<<3)+4>>2]|0,s0=dx>>>5,dx>>>0>10431){for(xx=s0+-1|0,l=ox+1|0,dx=X0+(j<<3)|0,G0=e[dx+4>>2]|0,H0=Rx,e[H0>>2]=e[dx>>2],e[H0+4>>2]=G0,e[l0>>2]=1,H0=gx+s0|0,H0=H0>>>0<Ex>>>0?H0:Ex,G0=(gx+64|0)>>>0>H0>>>0?gx+1|0:H0+-63|0;!(G0>>>0>=H0>>>0);){for(f0=e[k>>2]|0,O0=f0+-15|0,B0=G0&w,I0=d+B0|0,y0=k+4+((rx(s[I0>>0]|s[I0+1>>0]<<8|s[I0+2>>0]<<16|s[I0+3>>0]<<24,506832829)|0)>>>15<<2)|0,b0=e[y0>>2]|0,f0=(G0&f0)<<1,e[y0>>2]=G0,y0=0,l0=0,h0=0,s0=f0,f0=f0|1,U0=64;;){if(w0=b0&w,(G0|0)==(b0|0)|(G0-b0|0)>>>0>O0>>>0|(U0|0)==0){j=115;break}if(D0=l0>>>0<h0>>>0?l0:h0,D0>>>0>=129){j=117;break x}for(C0=B0+D0|0,m0=d+(w0+128)|0,u0=d+(w0+124)|0,d0=0,j=d+(w0+D0)|0;!(j>>>0>u0>>>0||(dx=d+(C0+d0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)d0=d0+4|0,j=j+4|0;for(;!(j>>>0>=m0>>>0||(n[d+(C0+d0)>>0]|0)!=(n[j>>0]|0));)d0=d0+1|0,j=j+1|0;D0=D0+d0|0;e:do if(D0){for(j=D0,C0=I0,m0=d+w0|0;u0=n[C0>>0]|0,d0=n[m0>>0]|0,u0<<24>>24==d0<<24>>24;)if(j=j+-1|0,j)C0=C0+1|0,m0=m0+1|0;else break e;if(u0<<24>>24!=d0<<24>>24){j=130;break x}}while(!1);if(y0){j=132;break x}if(D0>>>0>=128){j=134;break}j=e[K0>>2]|0,(s[d+(B0+D0)>>0]|0)>(s[d+(w0+D0)>>0]|0)?(e[j+(s0<<2)>>2]=b0,u0=(b0&e[k>>2])<<1|1,l0=D0,j=h0,s0=u0,u0=(e[K0>>2]|0)+(u0<<2)|0):(e[j+(f0<<2)>>2]=b0,u0=(b0&e[k>>2])<<1,j=D0,f0=u0,u0=(e[K0>>2]|0)+(u0<<2)|0),y0=0,h0=j,b0=e[u0>>2]|0,U0=U0+-1|0}(j|0)==115?(e[(e[K0>>2]|0)+(s0<<2)>>2]=e[j0>>2],e[(e[K0>>2]|0)+(f0<<2)>>2]=e[j0>>2]):(j|0)==134&&(dx=e[K0>>2]|0,e[dx+(s0<<2)>>2]=e[dx+((b0&e[k>>2])<<1<<2)>>2],dx=e[K0>>2]|0,e[dx+(f0<<2)>>2]=e[dx+(((b0&e[k>>2])<<1|1)<<2)>>2]),G0=G0+1|0}Vx(Z0+(M+1<<2)|0,0,xx<<2|0)|0,M=M+xx|0}}else l=ox;ox=l,H0=q,f0=ux,M=M+1|0}if((j|0)==42)Px(1);else if((j|0)==66)V0(405873,405905,373,405932);else if((j|0)==79)V0(405955,405905,378,405932);else if((j|0)==105)V0(403595,403667,793,403707);else if((j|0)==108)V0(403740,403667,795,403707);else if((j|0)==117)V0(405873,405905,373,405932);else if((j|0)==130)V0(405955,405905,378,405932);else if((j|0)==132)Ji();else if((j|0)==142){for(h0=e[n0>>2]|0,O0=e[a0>>2]|0,e[fx>>2]=e[e0>>2],e[fx+4>>2]=e[e0+4>>2],e[fx+8>>2]=e[e0+8>>2],e[fx+12>>2]=e[e0+12>>2],B0=e[x0>>2]|0,I0=Tx[e[c>>2]&1](e[ex>>2]|0,(h<<4)+16|0)|0,I0||Px(1),U0=Nx+4904|0,e[U0>>2]=h,l=Tx[e[c>>2]&1](e[ex>>2]|0,Bx+8|0)|0,l||Px(1),y0=Nx+4896|0,e[y0>>2]=l,l0=I0+12|0,u0=hx+224|0,d0=H0,C0=f-O0|0,m0=Nx+2816|0,D0=Nx+4900|0,w0=h+1|0,b0=0;(b0|0)!=2;){for(l=0;(l|0)!=(w0|0);)e[I0+(l<<4)>>2]=1,e[I0+(l<<4)+4>>2]=0,e[I0+(l<<4)+8>>2]=0,r0[I0+(l<<4)+12>>2]=Q0,l=l+1|0;if(!b0)Tm(Nx,f,d,w);else{for(M=e[x0>>2]|0,Vx(Qx|0,0,1024)|0,Vx(xe|0,0,2816)|0,Vx(ue|0,0,2080)|0,M=M-B0|0,s0=C0,f0=0;(f0|0)!=(M|0);){for(q=e[$+(f0<<4)>>2]|0,j=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,dx=o[$+(f0<<4)+12>>1]|0,c=xe+((dx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(dx&65535)>127&&(l=ue+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(q|0);)dx=Qx+(s[d+(s0+l&w)>>0]<<2)|0,e[dx>>2]=(e[dx>>2]|0)+1,l=l+1|0;s0=s0+(q+j)|0,f0=f0+1|0}for(I4(Qx,256,Xx),I4(xe,704,Nx),I4(ue,520,m0),l=2139095040,M=0;(M|0)!=704;)dx=e[Nx+(M<<2)>>2]|0,e[hx>>2]=l,e[Mx>>2]=dx,t0=(e[p0>>2]=l,+r0[p0>>2]),l=e[(t0<(e[p0>>2]=dx,+r0[p0>>2])?hx:Mx)>>2]|0,M=M+1|0;for(e[D0>>2]=l,M=e[U0>>2]|0,l=e[y0>>2]|0,r0[l>>2]=0,t0=0,q=0;(q|0)!=(M|0);)Lx=t0+ +r0[Xx+(s[d+(q+f&w)>>0]<<2)>>2],dx=q+1|0,r0[l+(dx<<2)>>2]=Lx,t0=Lx,q=dx}for(e[x0>>2]=B0,e[n0>>2]=h0,e[a0>>2]=O0,e[e0>>2]=e[fx>>2],e[e0+4>>2]=e[fx+4>>2],e[e0+8>>2]=e[fx+8>>2],e[e0+12>>2]=e[fx+12>>2],q=(e[Gx>>2]|0)<11?150:325,e[I0>>2]=0,r0[l0>>2]=0,e[u0>>2]=0,l=0,M=0;;){if((M+3|0)>>>0>=h>>>0){l=h;break}dx=Z0+(M<<2)|0,Xu(h,f,M,d,w,p,Fx,e0,e[dx>>2]|0,d0+(l<<3)|0,Nx,hx,I0),dx=e[dx>>2]|0,l=l+dx|0,(dx|0)==1&&(mx=(e[d0+(l+-1<<3)+4>>2]|0)>>>5,mx>>>0>q>>>0)&&(e[u0>>2]=0,M=M+(mx+-1)|0),M=M+1|0}for(;!(e[I0+(l<<4)+8>>2]|0||(e[I0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[I0+(l<<4)+12>>2]=-1,M=0;l;)c=(e[I0+(l<<4)>>2]&16777215)+(e[I0+(l<<4)+8>>2]|0)|0,dx=l-c|0,e[I0+(dx<<4)+12>>2]=c,l=dx,M=M+1|0;e[x0>>2]=(e[x0>>2]|0)+M,B4(h,f,Fx,I0,e0,a0,$,n0),b0=b0+1|0}vx[e[Yx>>2]&1](e[ex>>2]|0,e[y0>>2]|0),e[y0>>2]=0,vx[e[Yx>>2]&1](e[ex>>2]|0,I0),vx[e[Yx>>2]&1](e[ex>>2]|0,H0),vx[e[Yx>>2]&1](e[ex>>2]|0,Z0),c0=nx;return}}function CG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0;if(mx=c0,c0=c0+32|0,hx=mx+16|0,Fx=mx,Bx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,Mx=f+h|0,Gx=h>>>0>7?Mx+-7|0:f,Yx=p+4|0,Wx=(e[Yx>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)Ex=d+c|0,j0=Ex,Ex=Ex+4|0,Ex=Se(s[j0>>0]|s[j0+1>>0]<<8|s[j0+2>>0]<<16|s[j0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Ox=8)}else n[k+262148>>0]&1&&Vx(k|0,0,262149)|0,Ox=8;(Ox|0)==8&&h>>>0>6&f>>>0>2&&(j0=f+-3|0,Ex=d+(j0&w)|0,K0=Ex,Ex=Ex+4|0,Ex=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=j0,Ex=f+-2|0,j0=d+(Ex&w)|0,K0=j0,j0=j0+4|0,j0=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[j0>>0]|s[j0+1>>0]<<8|s[j0+2>>0]<<16|s[j0+3>>0]<<24|0,-1124073472,1979815)|0,j0=Dx(j0|0,v0|0,48)|0,e[k+(j0<<2)>>2]=Ex,j0=f+-1|0,Ex=d+(j0&w)|0,K0=Ex,Ex=Ex+4|0,Ex=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=j0),b0=hx+4|0,y0=hx+8|0,h0=hx+12|0,O0=hx+4|0,B0=k+262156|0,I0=k+262152|0,U0=hx+12|0,G0=hx+8|0,H0=Wx<<2,xx=Mx+-7|0,X0=Fx+4|0,Rx=Fx+8|0,wx=Fx+12|0,gx=Fx+4|0,ox=Fx+8|0,ux=Fx+12|0,K0=e0+8|0,j0=e0+12|0,Ex=e0+4|0,p=f,w0=$,c=q;x:for(;;){C0=w0,D0=M+H0|0;e:for(;;){if(m0=Mx-p|0,(p+8|0)>>>0>=Mx>>>0)break x;if(u0=p>>>0<Bx>>>0?p:Bx,e[hx>>2]=0,e[b0>>2]=0,e[y0>>2]=0,e[h0>>2]=4240,d0=p&w,f0=d+d0|0,j=f0,s0=j,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24,j=j+4|0,j=Se(s0|0,s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,48)|0,t0=e[e0>>2]|0,l=p-t0|0,e[O0>>2]=0,l>>>0<p>>>0&&(ex=l&w,(n[d+ex>>0]|0)==(s0&255)<<24>>24)){for(h=d0+m0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(l0=d+(ex+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(ex+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=22;break}}if(l0=k+(j<<2)|0,q=e[l0>>2]|0,e[l0>>2]=p,j=p-q|0,t0=q&w,!(((p|0)==(q|0)?1:(n[d+t0>>0]|0)!=(s0&255)<<24>>24)|j>>>0>u0>>>0)){for(h=d0+m0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(s0=d+(t0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(t0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=32;break}if((e[B0>>2]|0)>>>0<(e[I0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=1;){if(f0=o[21084+(t0<<1)>>1]|0,h=f0&65535,e[I0>>2]=(e[I0>>2]|0)+1,f0<<16>>16!=0&&(Z0=h&31,Xx=h>>>5,xe=(e[11272+(Z0<<2)>>2]|0)+(rx(Z0,Xx)|0)|0,Z0>>>0<=m0>>>0)){for(f=xe+Z0|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+xe|0;!(h>>>0>f>>>0||(f0=d+(d0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(d0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Z0>>>0|(q|0)==0)&&(ue=u0+Xx+1+(s[407930+(Z0-q)>>0]<<s[280786+Z0>>0])|0,Qx=(q*540|0)+3840+(rx((Ax(ue|0)|0)^31,-120)|0)|0,Qx>>>0>=(e[U0>>2]|0)>>>0)&&(e[hx>>2]=q,e[O0>>2]=Z0^q,e[G0>>2]=ue,e[U0>>2]=Qx,e[B0>>2]=(e[B0>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}if(e[l0>>2]=p,l&1){D0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>D0>>>0)for(l=p+17|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;m0=d+(p&w)|0,d0=m0,m0=m0+4|0,m0=Se(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,-1124073472,1979815)|0,m0=Dx(m0|0,v0|0,48)|0,e[k+(m0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;m0=d+(p&w)|0,d0=m0,m0=m0+4|0,m0=Se(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,-1124073472,1979815)|0,m0=Dx(m0|0,v0|0,48)|0,e[k+(m0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Ox|0)==22?(Ox=0,e[hx>>2]=f,e[G0>>2]=t0,e[U0>>2]=(f*540|0)+3900,e[k+(j<<2)>>2]=p,D0=0):(Ox|0)==32&&(Ox=0,e[hx>>2]=f,e[G0>>2]=j,e[U0>>2]=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0),D0=0);e:for(;;){if(m0=m0+-1|0,(e[Yx>>2]|0)<5?(t0=(e[hx>>2]|0)+-1|0,t0=t0>>>0<m0>>>0?t0:m0):t0=0,e[Fx>>2]=t0,e[X0>>2]=0,e[Rx>>2]=0,e[wx>>2]=4240,f0=p+1|0,d0=f0>>>0<Bx>>>0?f0:Bx,C0=f0&w,l0=d+C0|0,q=l0,s0=q,q=q+4|0,q=Se(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=Dx(q|0,v0|0,48)|0,s0=n[d+(C0+t0)>>0]|0,j=e[e0>>2]|0,l=f0-j|0,e[gx>>2]=0,l>>>0<f0>>>0&&(Nx=l&w,s0<<24>>24==(n[d+(Nx+t0)>>0]|0))){for(h=C0+m0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=l0;!(l>>>0>h>>>0||(u0=d+(Nx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Nx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(e[Fx>>2]=M,e[ox>>2]=j,e[ux>>2]=(M*540|0)+3900,e[k+(q<<2)>>2]=f0):Ox=64}else Ox=64;do if((Ox|0)==64){if(Ox=0,u0=k+(q<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,q=f0-f|0,j=f&w,((f0|0)==(f|0)?1:s0<<24>>24!=(n[d+(j+t0)>>0]|0))|q>>>0>d0>>>0){f0=p,s0=c;break e}for(h=C0+m0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=l0;!(l>>>0>h>>>0||(s0=d+(j+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(j+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0>3){e[Fx>>2]=M,e[ox>>2]=q,e[ux>>2]=(M*540|0)+3840+(rx((Ax(q|0)|0)^31,-120)|0);break}if((e[B0>>2]|0)>>>0<(e[I0>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,j=(rx(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(l0=o[21084+(j<<1)>>1]|0,h=l0&65535,e[I0>>2]=(e[I0>>2]|0)+1,l0<<16>>16!=0&&(fx=h&31,nx=h>>>5,dx=(e[11272+(fx<<2)>>2]|0)+(rx(fx,nx)|0)|0,fx>>>0<=m0>>>0)){for(M=dx+fx|0,q=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+dx|0;!(h>>>0>M>>>0||(l0=d+(C0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(C0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=fx>>>0|(f|0)==0)&&(Lx=d0+nx+1+(s[407930+(fx-f)>>0]<<s[280786+fx>>0])|0,ae=(f*540|0)+3840+(rx((Ax(Lx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[ux>>2]|0)>>>0)&&(e[Fx>>2]=f,e[gx>>2]=fx^f,e[ox>>2]=Lx,e[ux>>2]=ae,e[B0>>2]=(e[B0>>2]|0)+1,l=1)}t0=t0+1|0,j=j+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,s0=c;break e}}while(!1);if((e[wx>>2]|0)>>>0<((e[h0>>2]|0)+700|0)>>>0){f0=p,s0=c;break}if(c=c+1|0,e[hx>>2]=e[Fx>>2],e[hx+4>>2]=e[Fx+4>>2],e[hx+8>>2]=e[Fx+8>>2],e[hx+12>>2]=e[Fx+12>>2],D0=D0+1|0,(D0|0)<4&(p+9|0)>>>0<Mx>>>0)p=f0;else{s0=c;break}}p=e[hx>>2]|0,M=f0+(p<<1)+Wx|0,c=e[y0>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,D0=e[e0>>2]|0,l=f-D0|0,h=e[Ex>>2]|0,f=f-h|0,(c|0)==(D0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[K0>>2]|0)){c=2;break t}if((c|0)==(e[j0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[j0>>2]=e[K0>>2],e[K0>>2]=e[Ex>>2],e[Ex>>2]=e[e0>>2],e[e0>>2]=e[y0>>2],p=e[hx>>2]|0}else c=c+15|0;while(!1);t0=w0+16|0,D0=e[b0>>2]|0,l=p^D0,e[w0>>2]=s0,e[w0+4>>2]=p|D0<<24,p=w0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(C0=c+-12|0,D0=((Ax(C0|0)|0)^31)+-1|0,m0=C0>>>D0&1,c=((D0<<1)+65534|m0)+16&65535,o[p>>1]=c,p=D0<<24|C0-((m0|2)<<D0)),e[w0+8>>2]=p,q=c<<16>>16==0,j=w0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){w0=s0+-2|0,f=((Ax(w0|0)|0)^31)+-1|0,f=(f<<1)+(w0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){w0=l+-6|0,c=((Ax(w0|0)|0)^31)+-1|0,c=(c<<1)+(w0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[hx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)w0=d+(p&w)|0,D0=w0,w0=w0+4|0,w0=Se(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0,s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0,-1124073472,1979815)|0,w0=Dx(w0|0,v0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+1|0;p=f0+(e[hx>>2]|0)|0,w0=t0,c=0}e[a0>>2]=c+m0,e[x0>>2]=(e[x0>>2]|0)+(C0-$>>4),c0=mx}function kG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0;if(Ex=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,Wx=f+h|0,j0=h>>>0>7?Wx+-7|0:f,K0=p+4|0,ux=(e[K0>>2]|0)<9?64:512,p=ux+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)ox=d+c|0,gx=ox,ox=ox+4|0,ox=Se(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,s[ox>>0]|s[ox+1>>0]<<8|s[ox+2>>0]<<16|s[ox+3>>0]<<24|0,-1124073472,1979815)|0,ox=Dx(ox|0,v0|0,48)|0,ox=k+(ox<<2)|0,e[ox>>2]=0,e[ox+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,M=8)}else n[k+262152>>0]&1&&Vx(k|0,0,262153)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(ox=f+-3|0,gx=d+(ox&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-2|0,gx=d+(ox&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-1|0,gx=d+(ox&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(ox>>>3&1)<<2)>>2]=ox),X0=ux<<2,Rx=Wx+-7|0,wx=e0+8|0,gx=e0+12|0,ox=e0+4|0,l=f,xx=$,s0=p,c=q;x:for(;;){B0=xx,I0=s0+X0|0;e:for(;;){if(G0=Wx-l|0,(l+8|0)>>>0>=Wx>>>0)break x;if(b0=l>>>0<Ex>>>0?l:Ex,y0=l&w,h0=d+y0|0,O0=h0,p=O0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,O0=O0+4|0,O0=Se(p|0,s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0,-1124073472,1979815)|0,O0=Dx(O0|0,v0|0,48)|0,j=p&255,h=e[e0>>2]|0,M=l-h|0,M>>>0<l>>>0&&(Yx=M&w,(n[d+Yx>>0]|0)==(p&255)<<24>>24)){for(M=y0+G0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=h0;!(p>>>0>M>>>0||(H0=d+(Yx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Yx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(y0+f)>>0]|0,p=1,q=f,f=(f*540|0)+3900|0):(p=0,q=0,h=0,f=4240)}else p=0,q=0,h=0,f=4240;for(D0=y0+G0|0,m0=d+D0|0,D0=d+(D0+-4)|0,l0=q,t0=f,w0=k+(O0+1<<2)|0,u0=0,M=k+(O0<<2)|0,d0=q,C0=f;M=e[M>>2]|0,(u0|0)!=2;){if(f0=l-M|0,q=M&w,((l|0)==(M|0)?1:(j|0)!=(s[d+(q+l0)>>0]|0))|f0>>>0>b0>>>0)q=l0,f=d0,M=C0;else{for(M=0,f=h0;!(f>>>0>D0>>>0||(H0=d+(q+M)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)M=M+4|0,f=f+4|0;for(;!(f>>>0>=m0>>>0||(n[d+(q+M)>>0]|0)!=(n[f>>0]|0));)M=M+1|0,f=f+1|0;M>>>0>3&&(Gx=(M*540|0)+3840+(rx((Ax(f0|0)|0)^31,-120)|0)|0,t0>>>0<Gx>>>0)?(q=M,t0=Gx,j=s[d+(y0+M)>>0]|0,p=1,f=M,h=f0,M=Gx):(q=l0,f=d0,M=C0)}H0=w0,l0=q,w0=w0+4|0,u0=u0+1|0,d0=f,C0=M,M=H0}if(e[k+(O0+(l>>>3&1)<<2)>>2]=l,p&1){H0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=s0>>>0){l=h;continue}if(h>>>0>I0>>>0)for(p=l+17|0,p=p>>>0<Rx>>>0?p:Rx,l=h;;){if(l>>>0>=p>>>0)continue e;H0=d+(l&w)|0,G0=H0,H0=H0+4|0,H0=Se(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,-1124073472,1979815)|0,H0=Dx(H0|0,v0|0,48)|0,e[k+(H0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<Rx>>>0?p:Rx,l=h;;){if(l>>>0>=p>>>0)continue e;H0=d+(l&w)|0,G0=H0,H0=H0+4|0,H0=Se(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,-1124073472,1979815)|0,H0=Dx(H0|0,v0|0,48)|0,e[k+(H0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(G0=G0+-1|0,(e[K0>>2]|0)<5?(t0=d0+-1|0,t0=t0>>>0<G0>>>0?t0:G0):t0=0,l0=l+1|0,O0=l0>>>0<Ex>>>0?l0:Ex,B0=l0&w,I0=d+B0|0,U0=I0,p=U0,U0=U0+4|0,U0=Se(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0,-1124073472,1979815)|0,U0=Dx(U0|0,v0|0,48)|0,p=n[d+(B0+t0)>>0]|0,j=p&255,s0=e[e0>>2]|0,M=l0-s0|0,M>>>0<l0>>>0&&(Bx=M&w,p<<24>>24==(n[d+(Bx+t0)>>0]|0))){for(M=B0+G0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=I0;!(p>>>0>M>>>0||(h0=d+(Bx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Bx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(B0+f)>>0]|0,p=1,t0=f,M=(f*540|0)+3900|0):(p=0,M=4240,s0=0)}else p=0,M=4240,s0=0;for(y0=B0+G0|0,b0=d+y0|0,y0=d+(y0+-4)|0,m0=t0,D0=M,h0=k+(U0+1<<2)|0,w0=0,q=p,p=k+(U0<<2)|0,u0=M;p=e[p>>2]|0,(w0|0)!=2;){if(f0=l0-p|0,f=p&w,((l0|0)==(p|0)?1:(j|0)!=(s[d+(f+m0)>>0]|0))|f0>>>0>O0>>>0)M=m0,f=D0,p=u0;else{for(p=0,M=I0;!(M>>>0>y0>>>0||(hx=d+(f+p)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)p=p+4|0,M=M+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(f+p)>>0]|0)!=(n[M>>0]|0));)p=p+1|0,M=M+1|0;p>>>0>3&&(Mx=(p*540|0)+3840+(rx((Ax(f0|0)|0)^31,-120)|0)|0,D0>>>0<Mx>>>0)?(M=p,f=Mx,j=s[d+(B0+p)>>0]|0,q=1,t0=p,p=Mx,s0=f0):(M=m0,f=D0,p=u0)}hx=h0,m0=M,D0=f,h0=h0+4|0,w0=w0+1|0,u0=p,p=hx}if(e[k+(U0+(l0>>>3&1)<<2)>>2]=l0,(q&1)==0|u0>>>0<(C0+700|0)>>>0){l0=l,f0=c,t0=d0;break}if(c=c+1|0,H0=H0+1|0,(H0|0)<4&(l+9|0)>>>0<Wx>>>0)l=l0,d0=t0,h=s0,C0=u0;else{f0=c,h=s0;break}}s0=l0+(t0<<1)+ux|0;e:do if(h>>>0<=(l0>>>0<Ex>>>0?l0:Ex)>>>0)if(l=h+3|0,hx=e[e0>>2]|0,c=l-hx|0,p=e[ox>>2]|0,l=l-p|0,(h|0)==(hx|0))c=0;else{t:do if((h|0)!=(p|0)){do if(c>>>0<7)c=158663784>>>(c<<2)&15;else{if(l>>>0<7){c=266017486>>>(l<<2)&15;break}if((h|0)==(e[wx>>2]|0)){c=2;break t}if((h|0)==(e[gx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[gx>>2]=e[wx>>2],e[wx>>2]=e[ox>>2],e[ox>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);j=xx+16|0,e[xx>>2]=f0,e[xx+4>>2]=t0,p=xx+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,hx=((Ax(G0|0)|0)^31)+-1|0,H0=G0>>>hx&1,c=((hx<<1)+65534|H0)+16&65535,o[p>>1]=c,p=hx<<24|G0-((H0|2)<<hx)),e[xx+8>>2]=p,f=c<<16>>16==0,q=xx+12|0;do if(f0>>>0>=6){if(f0>>>0<130){hx=f0+-2|0,p=((Ax(hx|0)|0)^31)+-1|0,p=(p<<1)+(hx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Ax(f0+-66|0)|0)^31)+10&65535;break}f0>>>0<6210?p=21:p=f0>>>0<22594?22:23}else p=f0&65535;while(!1);do if(t0>>>0>=10){if(t0>>>0<134){hx=t0+-6|0,c=((Ax(hx|0)|0)^31)+-1|0,c=(c<<1)+(hx>>>c)+4&65535;break}t0>>>0<2118?c=((Ax(t0+-70|0)|0)^31)+12&65535:c=23}else c=t0+65534&65535;while(!1);for(l=c&65535,h=p&65535,M=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|M&65535,o[q>>1]=c,e[n0>>2]=(e[n0>>2]|0)+f0,l=l0+t0|0,p=l>>>0<j0>>>0?l:j0,c=l0+2|0;;){if(c>>>0>=p>>>0){xx=j,c=0;continue x}hx=d+(c&w)|0,xx=hx,hx=hx+4|0,hx=Se(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0,s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0,-1124073472,1979815)|0,hx=Dx(hx|0,v0|0,48)|0,e[k+(hx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[a0>>2]=c+G0,e[x0>>2]=(e[x0>>2]|0)+(B0-$>>4)}function SG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0;if(ue=c0,c0=c0+32|0,Xx=ue+16|0,xe=ue,ex=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Z0=f+h|0,mx=h>>>0>7?Z0+-7|0:f,Fx=p+4|0,hx=(e[Fx>>2]|0)<9?64:512,q=hx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Mx=d+c|0,Bx=Mx,Mx=Mx+4|0,Mx=Se(s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,s[Mx>>0]|s[Mx+1>>0]<<8|s[Mx+2>>0]<<16|s[Mx+3>>0]<<24|0,-1124073472,1979815)|0,Mx=Dx(Mx|0,v0|0,47)|0,Mx=k+(Mx<<2)|0,e[Mx>>2]=0,e[Mx+4>>2]=0,e[Mx+8>>2]=0,e[Mx+12>>2]=0,c=c+1|0;h&&(n[k+524304>>0]=0,M=8)}else n[k+524304>>0]&1&&Vx(k|0,0,524305)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(Mx=f+-3|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-2|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-1|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx),Rx=Xx+4|0,wx=Xx+8|0,gx=Xx+12|0,ox=Xx+12|0,ux=Xx+4|0,K0=Xx+8|0,j0=k+524312|0,Ex=k+524308|0,Wx=hx<<2,Yx=Z0+-7|0,Gx=xe+12|0,Bx=xe+4|0,Mx=xe+8|0,I0=xe+12|0,U0=xe+4|0,G0=xe+8|0,H0=e0+8|0,xx=e0+12|0,X0=e0+4|0,p=f,B0=$,c=j;x:for(;;){h0=B0,O0=q+Wx|0;e:for(;;){if(y0=Z0-p|0,(p+8|0)>>>0>=Z0>>>0)break x;if(D0=p>>>0<ex>>>0?p:ex,e[Xx>>2]=0,e[Rx>>2]=0,e[wx>>2]=0,e[gx>>2]=4240,w0=p&w,m0=d+w0|0,b0=m0,l=b0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,b0=b0+4|0,b0=Se(l|0,s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,-1124073472,1979815)|0,b0=Dx(b0|0,v0|0,47)|0,s0=l&255,t0=e[ox>>2]|0,j=e[e0>>2]|0,h=p-j|0,e[ux>>2]=0,h>>>0<p>>>0&&(Qx=h&w,(n[d+Qx>>0]|0)==(l&255)<<24>>24)){for(h=w0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=m0;!(l>>>0>h>>>0||(C0=d+(Qx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Qx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(f=(M*540|0)+3900|0,e[Xx>>2]=M,e[K0>>2]=j,e[ox>>2]=f,h=M,M=s[d+(w0+M)>>0]|0,l=1):(h=0,f=t0,M=s0,l=0)}else h=0,f=t0,M=s0,l=0;for(C0=w0+y0|0,d0=d+C0|0,C0=d+(C0+-4)|0,u0=k+(b0+1<<2)|0,l0=0,j=k+(b0<<2)|0;j=e[j>>2]|0,(l0|0)!=4;){if(s0=p-j|0,f0=j&w,!(((p|0)==(j|0)?1:(M|0)!=(s[d+(f0+h)>>0]|0))|s0>>>0>D0>>>0)){for(j=0,t0=m0;!(t0>>>0>C0>>>0||(lx=d+(f0+j)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)j=j+4|0,t0=t0+4|0;for(;!(t0>>>0>=d0>>>0||(n[d+(f0+j)>>0]|0)!=(n[t0>>0]|0));)j=j+1|0,t0=t0+1|0;j>>>0>3&&(Nx=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<Nx>>>0)&&(e[Xx>>2]=j,e[K0>>2]=s0,e[ox>>2]=Nx,h=j,f=Nx,M=s[d+(w0+j)>>0]|0,l=1)}j=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[j0>>2]|0)>>>0<(e[Ex>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=1;){if(lx=o[21084+(t0<<1)>>1]|0,h=lx&65535,e[Ex>>2]=(e[Ex>>2]|0)+1,lx<<16>>16!=0&&(fx=h&31,nx=h>>>5,dx=(e[11272+(fx<<2)>>2]|0)+(rx(fx,nx)|0)|0,fx>>>0<=y0>>>0)){for(M=dx+fx|0,j=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+dx|0;!(h>>>0>M>>>0||(lx=d+(w0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(w0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=fx>>>0|(f|0)==0)&&(Lx=D0+nx+1+(s[407930+(fx-f)>>0]<<s[280786+fx>>0])|0,ae=(f*540|0)+3840+(rx((Ax(Lx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[ox>>2]|0)>>>0)&&(e[Xx>>2]=f,e[ux>>2]=fx^f,e[K0>>2]=Lx,e[ox>>2]=ae,e[j0>>2]=(e[j0>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(b0+(p>>>3&3)<<2)>>2]=p,l&1){h0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=q>>>0){p=h;continue}if(h>>>0>O0>>>0)for(l=p+17|0,l=l>>>0<Yx>>>0?l:Yx,p=h;;){if(p>>>0>=l>>>0)continue e;lx=d+(p&w)|0,y0=lx,lx=lx+4|0,lx=Se(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Yx>>>0?l:Yx,p=h;;){if(p>>>0>=l>>>0)continue e;lx=d+(p&w)|0,y0=lx,lx=lx+4|0,lx=Se(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(y0=y0+-1|0,(e[Fx>>2]|0)<5?(j=(e[Xx>>2]|0)+-1|0,j=j>>>0<y0>>>0?j:y0):j=0,e[xe>>2]=j,e[Bx>>2]=0,e[Mx>>2]=0,e[Gx>>2]=4240,f0=p+1|0,D0=f0>>>0<ex>>>0?f0:ex,w0=f0&w,m0=d+w0|0,b0=m0,l=b0,b0=b0+4|0,b0=Se(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0,s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,-1124073472,1979815)|0,b0=Dx(b0|0,v0|0,47)|0,l=n[d+(w0+j)>>0]|0,s0=l&255,q=e[I0>>2]|0,t0=e[e0>>2]|0,h=f0-t0|0,e[U0>>2]=0,h>>>0<f0>>>0&&(Ox=h&w,l<<24>>24==(n[d+(Ox+j)>>0]|0))){for(h=w0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=m0;!(l>>>0>h>>>0||(lx=d+(Ox+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Ox+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(q=(M*540|0)+3900|0,e[xe>>2]=M,e[G0>>2]=t0,e[I0>>2]=q,h=M,M=s[d+(w0+M)>>0]|0,l=1):(h=j,M=s0,l=0)}else h=j,M=s0,l=0;for(C0=w0+y0|0,d0=d+C0|0,C0=d+(C0+-4)|0,u0=k+(b0+1<<2)|0,l0=0,f=k+(b0<<2)|0;f=e[f>>2]|0,(l0|0)!=4;){if(t0=f0-f|0,s0=f&w,!(((f0|0)==(f|0)?1:(M|0)!=(s[d+(s0+h)>>0]|0))|t0>>>0>D0>>>0)){for(f=0,j=m0;!(j>>>0>C0>>>0||(lx=d+(s0+f)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f=f+4|0,j=j+4|0;for(;!(j>>>0>=d0>>>0||(n[d+(s0+f)>>0]|0)!=(n[j>>0]|0));)f=f+1|0,j=j+1|0;f>>>0>3&&(bx=(f*540|0)+3840+(rx((Ax(t0|0)|0)^31,-120)|0)|0,q>>>0<bx>>>0)&&(e[xe>>2]=f,e[G0>>2]=t0,e[I0>>2]=bx,h=f,q=bx,M=s[d+(w0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[j0>>2]|0)>>>0<(e[Ex>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,j=(rx(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(lx=o[21084+(j<<1)>>1]|0,h=lx&65535,e[Ex>>2]=(e[Ex>>2]|0)+1,lx<<16>>16!=0&&(ax=h&31,De=h>>>5,A0=(e[11272+(ax<<2)>>2]|0)+(rx(ax,De)|0)|0,ax>>>0<=y0>>>0)){for(M=A0+ax|0,f=280811+M|0,M=280811+(M+-4)|0,q=0,h=280811+A0|0;!(h>>>0>M>>>0||(lx=d+(w0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(w0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=ax>>>0|(q|0)==0)&&(se=D0+De+1+(s[407930+(ax-q)>>0]<<s[280786+ax>>0])|0,Kx=(q*540|0)+3840+(rx((Ax(se|0)|0)^31,-120)|0)|0,Kx>>>0>=(e[I0>>2]|0)>>>0)&&(e[xe>>2]=q,e[U0>>2]=ax^q,e[G0>>2]=se,e[I0>>2]=Kx,e[j0>>2]=(e[j0>>2]|0)+1,l=1)}t0=t0+1|0,j=j+1|0}l=(l&1)!=0}l=l&1}if(e[k+(b0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,s0=c;break}if((e[Gx>>2]|0)>>>0<((e[gx>>2]|0)+700|0)>>>0){f0=p,s0=c;break}if(c=c+1|0,e[Xx>>2]=e[xe>>2],e[Xx+4>>2]=e[xe+4>>2],e[Xx+8>>2]=e[xe+8>>2],e[Xx+12>>2]=e[xe+12>>2],h0=h0+1|0,(h0|0)<4&(p+9|0)>>>0<Z0>>>0)p=f0;else{s0=c;break}}p=e[Xx>>2]|0,q=f0+(p<<1)+hx|0,c=e[wx>>2]|0;e:do if(c>>>0<=(f0>>>0<ex>>>0?f0:ex)>>>0)if(M=c+3|0,lx=e[e0>>2]|0,l=M-lx|0,h=e[X0>>2]|0,M=M-h|0,(c|0)==(lx|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(M>>>0<7){c=266017486>>>(M<<2)&15;break}if((c|0)==(e[H0>>2]|0)){c=2;break t}if((c|0)==(e[xx>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[xx>>2]=e[H0>>2],e[H0>>2]=e[X0>>2],e[X0>>2]=e[e0>>2],e[e0>>2]=e[wx>>2],p=e[Xx>>2]|0}else c=c+15|0;while(!1);t0=B0+16|0,lx=e[Rx>>2]|0,l=p^lx,e[B0>>2]=s0,e[B0+4>>2]=p|lx<<24,p=B0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(h0=c+-12|0,lx=((Ax(h0|0)|0)^31)+-1|0,O0=h0>>>lx&1,c=((lx<<1)+65534|O0)+16&65535,o[p>>1]=c,p=lx<<24|h0-((O0|2)<<lx)),e[B0+8>>2]=p,f=c<<16>>16==0,j=B0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){lx=s0+-2|0,M=((Ax(lx|0)|0)^31)+-1|0,M=(M<<1)+(lx>>>M)+2&65535;break}if(s0>>>0<2114){M=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?M=21:M=s0>>>0<22594?22:23}else M=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){lx=l+-6|0,c=((Ax(lx|0)|0)^31)+-1|0,c=(c<<1)+(lx>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=M&65535,h=p&7|l<<3&56,f&(M&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[Xx>>2]|0)|0,c=c>>>0<mx>>>0?c:mx,p=f0+2|0;!(p>>>0>=c>>>0);)lx=d+(p&w)|0,B0=lx,lx=lx+4|0,lx=Se(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Xx>>2]|0)|0,B0=t0,c=0}e[a0>>2]=c+y0,e[x0>>2]=(e[x0>>2]|0)+(h0-$>>4),c0=ue}function FG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,M=8)}else c=k+1081344|0,n[c>>0]&1&&(Vx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,mx=k+(ex<<1)|0,e[k+32768+((_[mx>>1]&15|ex<<4)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,ox=fx+12|0,ux=k+1081352|0,K0=k+1081348|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=4;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<4,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>16?M+-16|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+32768+((C0|M&15)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[ox>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&15)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[ox>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<4,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>16?l+-16|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+32768+((C0|l&15)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&15)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function OG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,M=8)}else c=k+2129920|0,n[c>>0]&1&&(Vx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,mx=k+(ex<<1)|0,e[k+32768+((_[mx>>1]&31|ex<<5)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,ox=fx+12|0,ux=k+2129928|0,K0=k+2129924|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=4;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<5,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>32?M+-32|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+32768+((C0|M&31)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[ox>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&31)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[ox>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<5,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>32?l+-32|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+32768+((C0|l&31)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&31)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function PG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,M=8)}else c=k+8454144|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&63|ex<<6)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,ox=fx+12|0,ux=k+8454152|0,K0=k+8454148|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=10;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<6,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>64?M+-64|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&63)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[ox>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&63)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[ox>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<6,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>64?l+-64|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&63)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&63)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function IG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0,M,q,j,t0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0,M=M|0,q=q|0,j=j|0,t0=t0|0;var s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0;if(se=c0,c0=c0+12768|0,bx=se+7760|0,dx=se+4928|0,Lx=se+2096|0,B0=se+12504|0,O0=se+10968|0,f0=se,u0=se+12248|0,l0=se+10456|0,w0=se+11544|0,D0=se+9048|0,y0=se+11480|0,b0=se+8920|0,Ox=se+8808|0,U0=se+8804|0,I0=se+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(A0=Dx(l|0,d|0,30)|0,A0=l&1073741823|((A0&1^1)<<30)+1073741824):A0=l,!w){f=e[j>>2]|0,t0=t0+(f>>>3)|0,x0=s[t0>>0]|0,f=Ix(3,0,f&7|0)|0,M=v0,f=x0|f,x0=t0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,t0=t0+4|0,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>24,e[j>>2]=(e[j>>2]|0)+9&-8,c0=se;return}if(!(_m(h,f,l,d,w,$,x0)|0)){e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],Qu(p,h,A0,f,w,j,t0),c0=se;return}if(ax=n[t0>>0]|0,De=e[j>>2]|0,ae=k+4|0,l=e[ae>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(s0=0;(s0|0)!=(x0|0);){do if((e[n0+(s0<<4)+4>>2]&16777215|0)!=0&&(_[n0+(s0<<4)+12>>1]|0)>127){if($=n0+(s0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=n0+(s0<<4)+8|0,nx=e[d>>2]|0,fx=nx>>>24,l=((l&65535)+-12-(fx<<1)<<fx)+(nx&16777215)+12|0,l>>>0>=28){Nx=l+-20|0,Qx=(Ax(Nx|0)|0)^31,nx=Qx+-1|0,fx=Nx>>>nx&1,Qx=Qx+-2|0,o[$>>1]=(((Qx<<1)+32766|fx)<<1)+28|Nx&1,e[d>>2]=Qx<<24|(Nx-((fx|2)<<nx)|0)>>>1;break}}else d=n0+(s0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);s0=s0+1|0}l=e[ae>>2]|0,d=1,$=12,m0=19}else nx=0,fx=0,m0=38;else d=0,$=0,m0=19;do if((m0|0)==19){if((l|0)>=3){if((l|0)>=4){nx=d,fx=$,m0=38;break}k4(p,w,j,t0),Vx(bx|0,0,1028)|0,i0[bx+1032>>3]=Q0,Vx(dx|0,0,2820)|0,i0[dx+2824>>3]=Q0,Vx(Lx|0,0,2084)|0,i0[Lx+2088>>3]=Q0,ym(h,A0,f,n0,x0,bx,dx,Lx),l=t0+((e[j>>2]|0)>>>3)|0,a0=s[l>>0]|0,d=l,n[d>>0]=a0,n[d+1>>0]=a0>>8,n[d+2>>0]=a0>>16,n[d+3>>0]=a0>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,l=c+8|0,d=Tx[e[c>>2]&1](e[l>>2]|0,11272)|0,d||Px(1),Hr(bx,256,d,B0,O0,j,t0),Hr(dx,704,d,w0,D0,j,t0),Hr(Lx,64,d,y0,b0,j,t0),vx[e[c+4>>2]&1](e[l>>2]|0,d),O4(h,A0,f,n0,x0,B0,O0,w0,D0,y0,b0,j,t0),p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0);break}if(k4(p,w,j,t0),a0=t0+((e[j>>2]|0)>>>3)|0,Ox=s[a0>>0]|0,e0=a0,n[e0>>0]=Ox,n[e0+1>>0]=Ox>>8,n[e0+2>>0]=Ox>>16,n[e0+3>>0]=Ox>>24,a0=a0+4|0,n[a0>>0]=0,n[a0+1>>0]=0,n[a0+2>>0]=0,n[a0+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,x0>>>0<129){for(Vx(bx|0,0,1024)|0,$=0,s0=A0,l0=0;(l0|0)!=(x0|0);){for(l=e[n0+(l0<<4)>>2]|0,d=e[n0+(l0<<4)+4>>2]|0,f0=s0,u0=l;u0;)a0=bx+((s[h+(f0&f)>>0]|0)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,s0=s0+l+(d&16777215)|0,l0=l0+1|0}uo(c,bx,$,8,B0,O0,j,t0),bx=e[j>>2]|0,e0=t0+(bx>>>3)|0,c=s[e0>>0]|0,bx=Ix(372273155,9593412,bx&7|0)|0,a0=v0,bx=c|bx,c=e0,n[c>>0]=bx,n[c+1>>0]=bx>>8,n[c+2>>0]=bx>>16,n[c+3>>0]=bx>>24,e0=e0+4|0,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,e0=(e[j>>2]|0)+56|0,e[j>>2]=e0,e0=t0+(e0>>>3)|0,a0=s[e0>>0]|0,c=e0,n[c>>0]=a0,n[c+1>>0]=a0>>8,n[c+2>>0]=a0>>16,n[c+3>>0]=a0>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e0=(e[j>>2]|0)+3|0,e[j>>2]=e0,c=t0+(e0>>>3)|0,a0=s[c>>0]|0,e0=Ix(57269251,0,e0&7|0)|0,bx=v0,e0=a0|e0,a0=c,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=bx,n[c+1>>0]=bx>>8,n[c+2>>0]=bx>>16,n[c+3>>0]=bx>>24,e[j>>2]=(e[j>>2]|0)+28,O4(h,A0,f,n0,x0,B0,O0,404412,86620,405116,88028,j,t0)}else Vx(dx|0,0,1028)|0,i0[dx+1032>>3]=Q0,Vx(Lx|0,0,2820)|0,i0[Lx+2824>>3]=Q0,Vx(f0|0,0,2084)|0,i0[f0+2088>>3]=Q0,ym(h,A0,f,n0,x0,dx,Lx,f0),uo(c,dx,e[dx+1024>>2]|0,8,u0,l0,j,t0),uo(c,Lx,e[Lx+2816>>2]|0,10,w0,D0,j,t0),uo(c,f0,e[f0+2080>>2]|0,6,y0,b0,j,t0),O4(h,A0,f,n0,x0,u0,l0,w0,D0,y0,b0,j,t0);p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0)}while(!1);if((m0|0)==38){Mx=Ox+8|0,hx=Ox+12|0,b0=Ox+24|0,Bx=Ox+28|0,e[Ox>>2]=0,e[Ox+4>>2]=0,e[Ox+8>>2]=0,e[Ox+12>>2]=0,e[Ox+16>>2]=0,e[Ox+20>>2]=0,e[Ox+24>>2]=0,Fx=Ox+32|0,mx=Ox+36|0,y0=Ox+48|0,e[Bx>>2]=0,e[Bx+4>>2]=0,e[Bx+8>>2]=0,e[Bx+12>>2]=0,e[Bx+16>>2]=0,e[y0>>2]=0,Bx=Ox+52|0,ex=Ox+56|0,Z0=Ox+60|0,Xx=Ox+72|0,e[Bx>>2]=0,e[Bx+4>>2]=0,e[Bx+8>>2]=0,e[Bx+12>>2]=0,e[Bx+16>>2]=0,Bx=Ox+76|0,xe=Ox+80|0,ue=Ox+88|0,w0=Ox+92|0,Qx=Ox+96|0,O0=Ox+100|0,Nx=Ox+104|0,B0=Ox+108|0,d=(l|0)<10,$=Xx,s0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(s0|0));do if(d){if(e[U0>>2]=1,e[I0>>2]=0,!((l|0)<5|w>>>0<64)){l0=A0+w|0,$=Lx,s0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(s0|0));for(f0=A0;s0=f0+64|0,!(s0>>>0>l0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=s0>>>0);)Gx=s[h+(d&f)>>0]|0,Yx=Lx+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(Gx>>>6<<2)>>2]|0)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+1,$=Gx;f0=f0+4096|0}for(e[bx>>2]=0,e[bx+4>>2]=0,e[bx+8>>2]=0,e[dx>>2]=0,e[dx+4>>2]=0,e[dx+8>>2]=0,e[dx+12>>2]=0,e[dx+16>>2]=0,e[dx+20>>2]=0,d=0,D0=0;(d|0)!=9;)Gx=e[Lx+(d<<2)>>2]|0,Yx=bx+(((d>>>0)%3|0)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+Gx,Yx=dx+((d>>>0>5?d+-6|0:d)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+Gx,d=d+1|0,D0=D0+Gx|0;for(l0=bx+12|0,f0=bx,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=l0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=u0+d|0;for(u0?(C0=+(u0>>>0),u0>>>0<256?d0=+r0[19516+(u0<<2)>>2]:d0=+Jx(C0),j0=h0+C0*d0):j0=h0,m0=dx+12|0,f0=dx,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=m0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=l0+d|0;for(l0?(C0=+(l0>>>0),l0>>>0<256?d0=+r0[19516+(l0<<2)>>2]:d0=+Jx(C0),ux=h0+C0*d0):ux=h0,u0=dx+24|0,f0=m0,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=u0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=l0+d|0;for(l0?(C0=+(l0>>>0),l0>>>0<256?d0=+r0[19516+(l0<<2)>>2]:d0=+Jx(C0),G0=h0+C0*d0):G0=h0,H0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,s0=Lx+($+3<<2)|0,$=Lx+($<<2)|0,h0=0,d=0;f0=$+4|0,$=e[$>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),d0=h0-C0*d0,!(f0>>>0>=s0>>>0);)d=e[f0>>2]|0,C0=+(d>>>0),d>>>0<256?h0=+r0[19516+(d<<2)>>2]:h0=+Jx(C0),$=f0+4|0,h0=d0-C0*h0,d=l0+d|0;l0&&(h0=+(l0>>>0),l0>>>0<256?C0=+r0[19516+(l0<<2)>>2]:C0=+Jx(h0),d0=d0+h0*C0),H0=H0+d0,u0=u0+1|0}D0||V0(406445,406053,339,406456),d0=1/+(D0>>>0),j0=j0*d0,C0=(ux+G0)*d0,d0=(l|0)<7?j0*10:H0*d0;do if(j0-C0<.2&j0-d0<.2)e[U0>>2]=1;else if(C0-d0<.02){e[U0>>2]=2,e[I0>>2]=18916;break}else{e[U0>>2]=3,e[I0>>2]=19172;break}while(!1);if(Gx=e[I0>>2]|0,wx=Gx,Gx){for(Gx=e[U0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[n0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[bx>>2]=256,e[bx+4>>2]=Gx,m0=256/(Gx>>>0)|0,e[bx+8>>2]=m0,e[bx+12>>2]=512,i0[bx+16>>3]=400,e[bx+24>>2]=0,e[bx+28>>2]=Ox,e[bx+36>>2]=w0,Ex=bx+40|0,e[Ex>>2]=512,Wx=bx+44|0,e[Wx>>2]=0,Yx=bx+48|0,e[Yx>>2]=0,e[bx+64>>2]=0,m0=m0+1|0,m0=u0>>>0<m0>>>0?u0:m0,l0=Ox+16|0,l=e[l0>>2]|0,l>>>0<u0>>>0){for(f0=(l|0)==0?u0:l;!(f0>>>0>=u0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+8|0,s0&&$x($|0,e[l>>2]|0,s0|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(f0=Ox+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(s0=(l|0)==0?u0:l;!(s0>>>0>=u0>>>0);)s0=s0<<1;l0=c+8|0,d=Tx[e[c>>2]&1](e[l0>>2]|0,s0<<2)|0,d||Px(1),$=e[f0>>2]|0,l=Ox+12|0,$&&$x(d|0,e[l>>2]|0,$<<2|0)|0,vx[e[c+4>>2]&1](e[l0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=s0,K0=c}else K0=c,l0=c+8|0;for(e[Ox+4>>2]=u0,l=Tx[e[K0>>2]&1](e[l0>>2]|0,Gx<<4)|0,l||Px(1),ox=bx+60|0,e[ox>>2]=l,e[ue>>2]|0&&V0(407776,406802,255,407793),d=rx(m0,Gx)|0,e[w0>>2]=d,d=Tx[e[K0>>2]&1](e[l0>>2]|0,d*1040|0)|0,l=d,d||Px(1),e[ue>>2]=l,gx=bx+32|0,e[gx>>2]=l,l=0;(l|0)!=(Gx|0);)Vx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,i0[d+(l*1040|0)+1032>>3]=Q0,l=l+1|0;for(e[bx+56>>2]=0,e[bx+52>>2]=0,qm(c,dx,x0,b0,Qx,O0),Gm(c,Lx,x0,y0,Nx,B0),U0=dx+40|0,xx=dx+24|0,X0=dx+36|0,Rx=dx+32|0,y0=Lx+40|0,O0=Lx+24|0,B0=Lx+36|0,k=Lx+32|0,$=A0,d=e0,l=a0,I0=0;(I0|0)!=(x0|0);){for(m0=e[n0+(I0<<4)>>2]|0,D0=e[n0+(I0<<4)+4>>2]|0,s0=e[n0+(I0<<4)+12>>2]|0,w0=s0&65535,b0=s0>>>16,u0=e[U0>>2]|0,f0=e[xx>>2]|0,s0=f0+(u0*2832|0)+((s0&65535)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[X0>>2]|0)+1|0,e[X0>>2]=u0,(u0|0)==(e[Rx>>2]|0)?(Ju(dx,0),u0=$,f0=m0):(u0=$,f0=m0);f0;)s0=n[h+(u0&f)>>0]|0,l=(e[Yx>>2]|0)+(e[wx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Kx=e[gx>>2]|0,lx=Kx+(l*1040|0)+((s0&255)<<2)|0,e[lx>>2]=(e[lx>>2]|0)+1,l=Kx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[Wx>>2]|0)+1|0,e[Wx>>2]=l,(l|0)==(e[Ex>>2]|0)&&Vm(c,bx,0),l=d,u0=u0+1|0,d=s0,f0=f0+-1|0;lx=D0&16777215,$=$+m0+lx|0;do if(lx){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(w0&65535)<=127||(lx=e[y0>>2]|0,Kx=e[O0>>2]|0,b0=Kx+(lx*2096|0)+(b0<<2)|0,e[b0>>2]=(e[b0>>2]|0)+1,lx=Kx+(lx*2096|0)+2080|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[B0>>2]|0)+1|0,e[B0>>2]=lx,(lx|0)!=(e[k>>2]|0)))break;Zu(Lx,0)}while(!1);I0=I0+1|0}for(Vm(c,bx,1),vx[e[c+4>>2]&1](e[l0>>2]|0,e[ox>>2]|0),e[ox>>2]=0,Ju(dx,1),Zu(Lx,1),e[Xx>>2]|0&&V0(406853,406802,473,407737),l=e[Ox>>2]|0,e[Bx>>2]=l<<6,l=Tx[e[K0>>2]&1](e[l0>>2]|0,l<<8)|0,l||Px(1),e[Xx>>2]=l,$=0;!($>>>0>=(e[Ox>>2]|0)>>>0);){for(l=rx($,Gx)|0,d=$<<6,s0=0;(s0|0)!=64;)e[(e[Xx>>2]|0)+(d+s0<<2)>>2]=l+(e[wx+(s0<<2)>>2]|0),s0=s0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[n0+(d<<4)>>2]|0)|0,d=d+1|0;if(m0=(l>>>9)+1|0,u0=m0>>>0<257?m0:257,e[bx>>2]=256,e[bx+4>>2]=512,i0[bx+8>>3]=400,e[bx+16>>2]=0,D0=bx+20|0,e[D0>>2]=Ox,e[bx+28>>2]=w0,xx=bx+32|0,e[xx>>2]=512,X0=bx+36|0,e[X0>>2]=0,Rx=bx+40|0,e[Rx>>2]=0,e[bx+72>>2]=0,l0=Ox+16|0,l=e[l0>>2]|0,l>>>0<m0>>>0){for(f0=(l|0)==0?m0:l;!(f0>>>0>=m0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+8|0,s0&&$x($|0,e[l>>2]|0,s0|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(l0=Ox+20|0,l=e[l0>>2]|0,l>>>0<m0>>>0){for(f0=(l|0)==0?m0:l;!(f0>>>0>=m0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+12|0,s0&&$x($|0,e[l>>2]|0,s0<<2|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}for(e[(e[D0>>2]|0)+4>>2]=m0,e[ue>>2]|0&&V0(407776,407818,70,407905),e[w0>>2]=u0,l=Tx[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||Px(1),e[ue>>2]=d,U0=bx+24|0,e[U0>>2]=d,Vx(l|0,0,1024)|0,e[l+1024>>2]=0,i0[l+1032>>3]=Q0,e[bx+48>>2]=0,e[bx+44>>2]=0,qm(c,dx,x0,b0,Qx,O0),Gm(c,Lx,x0,y0,Nx,B0),l0=dx+40|0,u0=dx+24|0,m0=dx+36|0,D0=dx+32|0,w0=Lx+40|0,b0=Lx+24|0,y0=Lx+36|0,O0=Lx+32|0,l=A0,I0=0;(I0|0)!=(x0|0);){for($=e[n0+(I0<<4)>>2]|0,s0=e[n0+(I0<<4)+4>>2]|0,Bx=e[n0+(I0<<4)+12>>2]|0,B0=Bx&65535,k=Bx>>>16,lx=e[l0>>2]|0,Kx=e[u0>>2]|0,Bx=Kx+(lx*2832|0)+((Bx&65535)<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*2832|0)+2816|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[m0>>2]|0)+1|0,e[m0>>2]=lx,(lx|0)==(e[D0>>2]|0)?(Ju(dx,0),d=l,f0=$):(d=l,f0=$);f0;)lx=e[Rx>>2]|0,Kx=e[U0>>2]|0,Bx=Kx+(lx*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*1040|0)+1024|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[X0>>2]|0)+1|0,e[X0>>2]=lx,(lx|0)==(e[xx>>2]|0)&&jm(bx,0),d=d+1|0,f0=f0+-1|0;lx=s0&16777215,l=l+$+lx|0,(lx|0)!=0&(B0&65535)>127&&(lx=e[w0>>2]|0,Kx=e[b0>>2]|0,Bx=Kx+(lx*2096|0)+(k<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*2096|0)+2080|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[y0>>2]|0)+1|0,e[y0>>2]=lx,(lx|0)==(e[O0>>2]|0))&&Zu(Lx,0),I0=I0+1|0}jm(bx,1),Ju(dx,1),Zu(Lx,1),l=2}else l=R4(h,A0,f,w)|0,l=l?2:3,Um(c,h,A0,f,k,e0,a0,n0,x0,l,Ox);while(!1);(e[ae>>2]|0)>3&&Hm(fx,nx,Ox),hm(c,h,A0,w,f,e0,a0,p,fx,nx,l,n0,x0,Ox,j,t0),Kx=c+4|0,lx=c+8|0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+8>>2]|0),e[Mx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[hx>>2]|0),e[hx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+32>>2]|0),e[Fx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[mx>>2]|0),e[mx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+56>>2]|0),e[ex>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Xx>>2]|0),e[Xx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[xe>>2]|0),e[xe>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[ue>>2]|0),e[ue>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Qx>>2]|0),e[Qx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Nx>>2]|0),e[Nx>>2]=0}if((w+4|0)>>>0>=(e[j>>2]|0)>>>3>>>0){c0=se;return}e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],n[t0>>0]=ax,e[j>>2]=De&255,Qu(p,h,A0,f,w,j,t0),c0=se}function Rm(c){c=c|0;var h=0,f=0,l=0,d=0,w=0;f=c+192|0,l=s[f>>0]|0,w=c+193|0,d=s[w>>0]|0,n[f>>0]=0,n[w>>0]=0,w=6<<d,f=c+5216|0,h=e[f>>2]|0,h?h=h+(e[c+5220>>2]|0)|0:(h=c+5228|0,e[f>>2]=h),n[h>>0]=l|w,(d+6|0)>>>0>8&&(n[h+1>>0]=w>>>8),c=c+5220|0,e[c>>2]=(e[c>>2]|0)+((d+13|0)>>>3)}function _m(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0;if(q=c0,c0=c0+1024|0,n0=q,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Vx(n0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=n0+((s[c+(l&h)>>0]|0)<<2)|0,e[f>>2]=(e[f>>2]|0)+1,l=l+13|0,p=p+1|0;for(M=k/13,d=n0+1024|0,l=n0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+r0[19516+(p<<2)>>2]:x0=+Jx(e0),w=e[l+4>>2]|0,a0=+(w>>>0),w>>>0<256?$=+r0[19516+(w<<2)>>2]:$=+Jx(a0),l=l+8|0,k=k-e0*x0-a0*$,f=f+p+w|0;if(a0=+(f>>>0),f?(f>>>0<256?e0=+r0[19516+(f<<2)>>2]:e0=+Jx(a0),$=a0,k=k+a0*e0):$=a0,(k<$?$:k)>M)return n0=0,c0=q,n0|0}return n0=1,c0=q,n0|0}function Nm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0;e0=c0,c0=c0+64|0,k=e0,(l|0)>=16&&V0(406658,406674,26,406709),e[k>>2]=-1,d=0;x:for(;;){if(w=o[h+(c<<3)+4>>1]|0,w<<16>>16>-1){if(p=d+1|0,(d|0)>=(l|0)){d=0,c=12;break}e[k+(p<<2)>>2]=o[h+(c<<3)+6>>1],d=p,c=w<<16>>16;continue}for(n[f+(o[h+(c<<3)+6>>1]|0)>>0]=d;;){if((d|0)<=-1){d=1,c=12;break x}if((e[k+(d<<2)>>2]|0)!=-1)break;d=d+-1|0}p=k+(d<<2)|0,c=e[p>>2]|0,e[p>>2]=-1}return(c|0)==12?(c0=e0,d|0):0}function lo(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0;for(l0=c0,c0=c0+16|0,t0=l0+8|0,s0=l0,j=1;;){w=h,q=0;x:for(;;){do{if(!w)break x;w=w+-1|0,p=e[c+(w<<2)>>2]|0}while((p|0)==0);e[l+(q<<3)>>2]=p>>>0>j>>>0?p:j,o[l+(q<<3)+4>>1]=-1,o[l+(q<<3)+6>>1]=w,q=q+1|0}if((q|0)==1)break;x:do if(q>>>0<13)for($=1;;){if($>>>0>=q>>>0)break x;for(a0=l+($<<3)|0,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,k=t0,e[k>>2]=e0,e[k+4>>2]=a0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(Lm(t0,p)|0);)if(x0=p,n0=e[x0+4>>2]|0,M=l+(w<<3)|0,e[M>>2]=e[x0>>2],e[M+4>>2]=n0,!k){w=0;break}M=l+(w<<3)|0,e[M>>2]=e0,e[M+4>>2]=a0,$=$+1|0}else for(x0=q>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,n0=w;!(n0>>>0>=q>>>0);){for(k=l+(n0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=s0,e[$>>2]=p,e[$+4>>2]=k,$=n0;!($>>>0<w>>>0||(e0=$-w|0,a0=l+(e0<<3)|0,!(Lm(s0,a0)|0)));)u0=a0,a0=e[u0+4>>2]|0,M=l+($<<3)|0,e[M>>2]=e[u0>>2],e[M+4>>2]=a0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,n0=n0+1|0}x0=x0+1|0}while(!1);for(a0=l+(q<<3)|0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=q+1|0,M=l+(a0<<3)|0,e[M>>2]=-1,e[M+4>>2]=-1,M=q<<1,e0=0,w=q;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(a0<<3)>>2]|0,k>>>0>p>>>0?(n0=a0+1|0,p=e[l+(n0<<3)>>2]|0,x0=e0,$=a0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,n0=a0,$=e0),k>>>0>p>>>0?(e0=x0,a0=n0+1|0,k=n0):(p=k,e0=x0+1|0,a0=n0,k=x0),u0=M-w|0,e[l+(u0<<3)>>2]=(e[l+($<<3)>>2]|0)+p,o[l+(u0<<3)+4>>1]=$,o[l+(u0<<3)+6>>1]=k,u0=l+(u0+1<<3)|0,e[u0>>2]=-1,e[u0+4>>2]=-1;if(Nm(M+-1|0,l,d,f)|0){f0=36;break}j=j<<1}if((f0|0)==36){c0=l0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=l0}function T4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0;for(l=0,d=0;(d|0)!=(c|0);)l=(e[h+(d<<2)>>2]|0)==0?l:l+1|0,d=d+1|0;if(!(l>>>0<16)){for(e0=c;;){if(!e0){a0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((a0|0)!=55){for(d=0,c=1073741824,w=0;(w|0)!=(e0|0);)l=e[h+(w<<2)>>2]|0,l&&(d=d+1|0,c=c>>>0>l>>>0?l:c),w=w+1|0;if(!(d>>>0<5)){x:do if(c>>>0<4&(e0-d|0)>>>0<6)for(c=e0+-1|0,l=1;;){if(l>>>0>=c>>>0)break x;(e[h+(l+-1<<2)>>2]|0)!=0&&(p=h+(l<<2)|0,(e[p>>2]|0)==0)&&(e[h+(l+1<<2)>>2]|0)!=0&&(e[p>>2]=1),l=l+1|0}while(!1);if(!(d>>>0<28)){for(Vx(f|0,0,e0|0)|0,c=0,p=0,l=e[h>>2]|0;!(p>>>0>e0>>>0);){if(d=(p|0)==(e0|0),!d&&(e[h+(p<<2)>>2]|0)==(l|0))c=c+1|0;else{l?c>>>0>6&&(w=0,a0=29):c>>>0>4&&(w=0,a0=29);x:do if((a0|0)==29)for(;;){if(a0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,a0=29}while(!1);d?c=1:(c=1,l=e[h+(p<<2)>>2]|0)}p=p+1|0}for(p=e0+-2|0,l=(((e[h>>2]|0)+(e[h+4>>2]|0)+(e[h+8>>2]|0)<<8>>>0)/3|0)+420|0,k=0,d=0,c=0;!(k>>>0>e0>>>0);){w=(k|0)==(e0|0);do if(!w&&(n[f+k>>0]|0)==0){if((k|0)!=0&&(n[f+(k+-1)>>0]|0)!=0){a0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(a0=42)}else a0=42;while(!1);do if((a0|0)==42){a0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(a0=44);x:do if((a0|0)==44)for(a0=0,l=((c+(d>>>1)|0)>>>0)/(d>>>0)|0,c=(c|0)==0?0:(l|0)==0?1:l,l=0;;){if((l|0)==(d|0))break x;e[h+(k-l+-1<<2)>>2]=c,l=l+1|0}while(!1);if(k>>>0<p>>>0){l=(((e[h+(k<<2)>>2]|0)+(e[h+(k+1<<2)>>2]|0)+(e[h+(k+2<<2)>>2]|0)<<8>>>0)/3|0)+420|0,d=0,c=0;break}k>>>0<e0>>>0?(l=e[h+(k<<2)>>2]<<8,d=0,c=0):(l=0,d=0,c=0)}while(!1);d=d+1|0,w||(c=c+(e[h+(k<<2)>>2]|0)|0,d>>>0>3&&(l=(((c<<8)+(d>>>1)|0)>>>0)/(d>>>0)|0,l=(d|0)==4?l+120|0:l)),k=k+1|0}}}}}}function qn(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0;a0=c0,c0=c0+64|0,w=a0+32|0,e0=a0,l=w,d=l+32|0;do o[l>>1]=0,l=l+2|0;while((l|0)<(d|0));for(l=0;(l|0)!=(h|0);)k=w+((s[c+l>>0]|0)<<1)|0,o[k>>1]=(o[k>>1]|0)+1<<16>>16,l=l+1|0;for(o[w>>1]=0,o[e0>>1]=0,l=0,d=1;;){if((d|0)==16){k=0;break}k=l+(_[w+(d+-1<<1)>>1]|0)<<1,o[e0+(d<<1)>>1]=k,l=k,d=d+1|0}for(;(k|0)!=(h|0);){if(l=n[c+k>>0]|0,l<<24>>24){for(d=l&255,l=e0+(d<<1)|0,w=o[l>>1]|0,o[l>>1]=w+1<<16>>16,l=w,w=e[19452+((w&15)<<2)>>2]|0,p=4;!(p>>>0>=d>>>0);)$=(l&65535)>>>4,l=$,w=w<<4|e[19452+(($&15)<<2)>>2],p=p+4|0;o[f+(k<<1)>>1]=w>>>(0-d&3)}k=k+1|0}c0=a0}function Lm(c,h){c=c|0,h=h|0;var f=0,l=0;return f=e[c>>2]|0,l=e[h>>2]|0,(f|0)==(l|0)?(h=(o[c+6>>1]|0)>(o[h+6>>1]|0),h|0):(h=f>>>0<l>>>0,h|0)}function Mm(c,h){return c=c|0,h=h|0,_4(h)|0}function BG(c,h){c=c|0,h=h|0,zm(h)}function Um(c,h,f,l,d,w,p,k,e0,a0,$){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0;var x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,ox=0,ux=0,K0=0,j0=0;for(j0=c0,c0=c0+2096|0,ox=j0,hG(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),K0=c+8|0,xx=Tx[e[c>>2]&1](e[K0>>2]|0,e[$>>2]<<2)|0,xx||Px(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[xx+(d<<2)>>2]=a0,d=d+1|0;for(wx=$+48|0,n0=e[wx>>2]|0,Rx=Tx[e[c>>2]&1](e[K0>>2]|0,x0*66560|0)|0,Rx||Px(1),d=x0<<6,a0=0;(a0|0)!=(d|0);)Vx(Rx+(a0*1040|0)|0,0,1024)|0,e[Rx+(a0*1040|0)+1024>>2]=0,i0[Rx+(a0*1040|0)+1032>>3]=Q0,a0=a0+1|0;for(M=$+96|0,e[M>>2]|0&&V0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Tx[e[c>>2]&1](e[K0>>2]|0,x0*2832|0)|0,x0||Px(1),e[M>>2]=x0,d=e[d>>2]|0,a0=0;(a0|0)!=(d|0);)Vx(x0+(a0*2832|0)|0,0,2816)|0,e[x0+(a0*2832|0)+2816>>2]=0,i0[x0+(a0*2832|0)+2824>>3]=Q0,a0=a0+1|0;for(ux=Tx[e[c>>2]&1](e[K0>>2]|0,n0*8384|0)|0,ux||Px(1),d=n0<<2,a0=0;(a0|0)!=(d|0);)Vx(ux+(a0*2096|0)|0,0,2080)|0,e[ux+(a0*2096|0)+2080>>2]=0,i0[ux+(a0*2096|0)+2088>>3]=Q0,a0=a0+1|0;for(d=e[$+12>>2]|0,d?n0=e[d>>2]|0:n0=0,d=e[$+36>>2]|0,d?a0=e[d>>2]|0:a0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,G0=$+32|0,H0=$+36|0,h0=e[M>>2]|0,O0=$+8|0,B0=$+12|0,I0=$+56|0,U0=$+60|0,M=p,s0=0,x0=0,f0=0,t0=0,u0=0,l0=0,y0=0;(y0|0)!=(e0|0);){for(a0?b0=f0:(t0=t0+1|0,b0=s[(e[G0>>2]|0)+t0>>0]|0,a0=e[(e[H0>>2]|0)+(t0<<2)>>2]|0),D0=k+(y0<<4)+12|0,m0=h0+(b0*2832|0)+((_[D0>>1]|0)<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,m0=h0+(b0*2832|0)+2816|0,e[m0>>2]=(e[m0>>2]|0)+1,m0=e[k+(y0<<4)>>2]|0,C0=M,w0=u0,p=n0,u0=f,d0=m0;d0;){switch(p?(f0=w0,n0=p):(l0=l0+1|0,f0=s[(e[O0>>2]|0)+l0>>0]|0,n0=e[(e[B0>>2]|0)+(l0<<2)>>2]|0),p=n0+-1|0,M=f0<<6,e[xx+(f0<<2)>>2]|0){case 0:{n0=w&63;break}case 1:{n0=(w&255)>>>2;break}case 2:{n0=n[406969+(w&255)>>0]|n[406969+(C0&255|256)>>0];break}case 3:{n0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(C0&255)>>0]|0)&255;break}default:n0=0}C0=M+(n0&255)|0,w0=h+(u0&l)|0,M=Rx+(C0*1040|0)+((s[w0>>0]|0)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,C0=Rx+(C0*1040|0)+1024|0,e[C0>>2]=(e[C0>>2]|0)+1,C0=w,w=n[w0>>0]|0,w0=f0,u0=u0+1|0,d0=d0+-1|0}if(a0=a0+-1|0,d0=e[k+(y0<<4)+4>>2]&16777215,f=f+m0+d0|0,d0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,M=o[D0>>1]|0,(M&65535)>127){switch(d?f0=x0:(f0=x0+1|0,s0=s[(e[I0>>2]|0)+f0>>0]|0,d=e[(e[U0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,n0=s0<<2,D0=M&65535,x0=D0&7,D0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}M=n0+x0|0,n0=ux+(M*2096|0)+((_[k+(y0<<4)+14>>1]|0)<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,M=ux+(M*2096|0)+2080|0,e[M>>2]=(e[M>>2]|0)+1,M=u0,n0=s0,x0=f0}else M=u0,n0=s0;else M=C0,n0=s0;s0=n0,f0=b0,u0=w0,n0=p,y0=y0+1|0}for(w0=c+4|0,vx[e[w0>>2]&1](e[K0>>2]|0,xx),x0=$+72|0,e[x0>>2]|0&&V0(406853,406802,86,406832),d=e[$>>2]|0,a0=$+76|0,e[a0>>2]=d<<6,d=Tx[e[c>>2]&1](e[K0>>2]|0,d<<8)|0,d||Px(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&V0(406882,406802,92,406832),f=e[a0>>2]|0,D0=$+92|0,e[D0>>2]=f,f=Tx[e[c>>2]&1](e[K0>>2]|0,f*1040|0)|0,f||Px(1),e[d>>2]=f,m0=e[a0>>2]|0,d=e[x0>>2]|0,u0=m0<<2,p=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,p||Px(1),d0=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,d0||Px(1),M=Tx[e[c>>2]&1](e[K0>>2]|0,49176)|0,M||Px(1),a0=0;(a0|0)!=(m0|0);)e[p+(a0<<2)>>2]=1,a0=a0+1|0;for(C0=d,d=0;(d|0)!=(m0|0);)h=Rx+(d*1040|0)|0,$x(f+(d*1040|0)|0,h|0,1040)|0,i0[f+(d*1040|0)+1032>>3]=+Un(h),e[C0+(d<<2)>>2]=d,d=d+1|0;for(n0=0,a0=0;!(m0>>>0<=a0>>>0);){for(d=m0-a0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(n0+x0<<2)>>2]=a0+x0,x0=x0+1|0;n0=n0+(zu(f,p,C0+(a0<<2)|0,d0+(n0<<2)|0,M,d,d,256,2048)|0)|0,a0=a0+64|0}d=n0<<6,x0=rx(n0>>>1,n0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(a0=2048;!(a0>>>0>=d>>>0);)a0=a0<<1;if(d=Tx[e[c>>2]&1](e[K0>>2]|0,a0*24|0)|0,!d)Px(1);else{$x(d|0,M|0,49152)|0,vx[e[w0>>2]&1](e[K0>>2]|0,M),X0=d;break}}else X0=M;while(!1);for(l0=zu(f,p,C0,d0,X0,n0,m0,256,x0)|0,vx[e[w0>>2]&1](e[K0>>2]|0,X0),vx[e[w0>>2]&1](e[K0>>2]|0,p),w=ox+1024|0,t0=ox+1024|0,f0=0;;){if((f0|0)==(m0|0)){d=0;break}if(x0=e[((f0|0)==0?C0:C0+(f0+-1<<2)|0)>>2]|0,d=Rx+(f0*1040|0)|0,s0=Rx+(f0*1040|0)+1024|0,!(e[s0>>2]|0))q=0;else{for($x(ox|0,d|0,1040)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),a0=0;(a0|0)!=256;)X0=ox+(a0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[f+(x0*1040|0)+(a0<<2)>>2]|0),a0=a0+1|0;q=+Un(ox),q=q-+i0[f+(x0*1040|0)+1032>>3]}for(a0=x0,p=0;(p|0)!=(l0|0);){if(M=d0+(p<<2)|0,x0=e[M>>2]|0,!(e[s0>>2]|0))j=0;else{for($x(ox|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),n0=0;(n0|0)!=256;)X0=ox+(n0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[f+(x0*1040|0)+(n0<<2)>>2]|0),n0=n0+1|0;j=+Un(ox),j=j-+i0[f+(x0*1040|0)+1032>>3]}j<q&&(q=j,a0=e[M>>2]|0),p=p+1|0}e[C0+(f0<<2)>>2]=a0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){a0=0;break}X0=e[d0+(d<<2)>>2]|0,Vx(f+(X0*1040|0)|0,0,1024)|0,e[f+(X0*1040|0)+1024>>2]=0,i0[f+(X0*1040|0)+1032>>3]=Q0,d=d+1|0}for(;(a0|0)!=(m0|0);){for(d=e[C0+(a0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[Rx+(a0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)X0=f+(d*1040|0)+(x0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[Rx+(a0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;a0=a0+1|0}for(vx[e[w0>>2]&1](e[K0>>2]|0,d0),w=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,w||Px(1),d=0;;){if((d|0)==(m0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(m0|0);)a0=w+(e[C0+(x0<<2)>>2]<<2)|0,(e[a0>>2]|0)==-1&&(e[a0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Tx[e[c>>2]&1](e[K0>>2]|0,d*1040|0)|0,p||Px(1),n0=0,M=0;(M|0)!=(m0|0);)x0=C0+(M<<2)|0,d=e[x0>>2]|0,a0=e[w+(d<<2)>>2]|0,(a0|0)==(n0|0)?($x(p+(n0*1040|0)|0,f+(d*1040|0)|0,1040)|0,a0=e[w+(e[x0>>2]<<2)>>2]|0,d=n0+1|0):d=n0,e[x0>>2]=a0,n0=d,M=M+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,w),d=0;(d|0)!=(n0|0);)$x(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,p),e[D0>>2]=n0,vx[e[w0>>2]&1](e[K0>>2]|0,Rx),x0=$+80|0,e[x0>>2]|0&&V0(406910,406802,106,406832),d=e[wx>>2]|0,a0=$+84|0,e[a0>>2]=d<<2,d=Tx[e[c>>2]&1](e[K0>>2]|0,d<<4)|0,d||Px(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&V0(406940,406802,112,406832),f=e[a0>>2]|0,D0=$+108|0,e[D0>>2]=f,f=Tx[e[c>>2]&1](e[K0>>2]|0,f*2096|0)|0,f||Px(1),e[d>>2]=f,m0=e[a0>>2]|0,d=e[x0>>2]|0,u0=m0<<2,p=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,p||Px(1),d0=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,d0||Px(1),M=Tx[e[c>>2]&1](e[K0>>2]|0,49176)|0,M||Px(1),a0=0;(a0|0)!=(m0|0);)e[p+(a0<<2)>>2]=1,a0=a0+1|0;for(C0=d,d=0;(d|0)!=(m0|0);)$=ux+(d*2096|0)|0,$x(f+(d*2096|0)|0,$|0,2096)|0,i0[f+(d*2096|0)+2088>>3]=+Hn($),e[C0+(d<<2)>>2]=d,d=d+1|0;for(n0=0,a0=0;!(m0>>>0<=a0>>>0);){for(d=m0-a0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(n0+x0<<2)>>2]=a0+x0,x0=x0+1|0;n0=n0+(Wu(f,p,C0+(a0<<2)|0,d0+(n0<<2)|0,M,d,d,256,2048)|0)|0,a0=a0+64|0}d=n0<<6,x0=rx(n0>>>1,n0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(a0=2048;!(a0>>>0>=d>>>0);)a0=a0<<1;if(d=Tx[e[c>>2]&1](e[K0>>2]|0,a0*24|0)|0,!d)Px(1);else{$x(d|0,M|0,49152)|0,vx[e[w0>>2]&1](e[K0>>2]|0,M),gx=d;break}}else gx=M;while(!1);for(l0=Wu(f,p,C0,d0,gx,n0,m0,256,x0)|0,vx[e[w0>>2]&1](e[K0>>2]|0,gx),vx[e[w0>>2]&1](e[K0>>2]|0,p),w=ox+2080|0,t0=ox+2080|0,f0=0;;){if((f0|0)==(m0|0)){d=0;break}if(x0=e[((f0|0)==0?C0:C0+(f0+-1<<2)|0)>>2]|0,d=ux+(f0*2096|0)|0,s0=ux+(f0*2096|0)+2080|0,!(e[s0>>2]|0))q=0;else{for($x(ox|0,d|0,2096)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),a0=0;(a0|0)!=520;)gx=ox+(a0<<2)|0,e[gx>>2]=(e[gx>>2]|0)+(e[f+(x0*2096|0)+(a0<<2)>>2]|0),a0=a0+1|0;q=+Hn(ox),q=q-+i0[f+(x0*2096|0)+2088>>3]}for(a0=x0,p=0;(p|0)!=(l0|0);){if(M=d0+(p<<2)|0,x0=e[M>>2]|0,!(e[s0>>2]|0))j=0;else{for($x(ox|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),n0=0;(n0|0)!=520;)gx=ox+(n0<<2)|0,e[gx>>2]=(e[gx>>2]|0)+(e[f+(x0*2096|0)+(n0<<2)>>2]|0),n0=n0+1|0;j=+Hn(ox),j=j-+i0[f+(x0*2096|0)+2088>>3]}j<q&&(q=j,a0=e[M>>2]|0),p=p+1|0}e[C0+(f0<<2)>>2]=a0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){a0=0;break}ox=e[d0+(d<<2)>>2]|0,Vx(f+(ox*2096|0)|0,0,2080)|0,e[f+(ox*2096|0)+2080>>2]=0,i0[f+(ox*2096|0)+2088>>3]=Q0,d=d+1|0}for(;(a0|0)!=(m0|0);){for(d=e[C0+(a0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[ux+(a0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)ox=f+(d*2096|0)+(x0<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[ux+(a0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;a0=a0+1|0}for(vx[e[w0>>2]&1](e[K0>>2]|0,d0),w=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,w||Px(1),d=0;;){if((d|0)==(m0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(m0|0);)a0=w+(e[C0+(x0<<2)>>2]<<2)|0,(e[a0>>2]|0)==-1&&(e[a0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Tx[e[c>>2]&1](e[K0>>2]|0,d*2096|0)|0,p||Px(1),n0=0,M=0;(M|0)!=(m0|0);)x0=C0+(M<<2)|0,d=e[x0>>2]|0,a0=e[w+(d<<2)>>2]|0,(a0|0)==(n0|0)?($x(p+(n0*2096|0)|0,f+(d*2096|0)|0,2096)|0,a0=e[w+(e[x0>>2]<<2)>>2]|0,d=n0+1|0):d=n0,e[x0>>2]=a0,n0=d,M=M+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,w),d=0;(d|0)!=(n0|0);)$x(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;vx[e[w0>>2]&1](e[K0>>2]|0,p),e[D0>>2]=n0,vx[e[w0>>2]&1](e[K0>>2]|0,ux),c0=j0}function Hm(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0;for(k=c0,c0=c0+704|0,p=k,l=f+92|0,d=f+88|0,w=0;!(w>>>0>=(e[l>>2]|0)>>>0);)T4(256,(e[d>>2]|0)+(w*1040|0)|0,p),w=w+1|0;for(l=f+100|0,d=f+96|0,w=0;!(w>>>0>=(e[l>>2]|0)>>>0);)T4(704,(e[d>>2]|0)+(w*2832|0)|0,p),w=w+1|0;for(w=c+16+(48<<h)|0,h=f+108|0,l=f+104|0,d=0;!(d>>>0>=(e[h>>2]|0)>>>0);)T4(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function qm(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;if(n0=(f>>>10)+1|0,x0=n0>>>0<257?n0:257,e[h>>2]=704,e[h+4>>2]=1024,i0[h+8>>3]=500,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=1024,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0)|0,k||Px(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if($=l+20|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if(e[(e[M>>2]|0)+4>>2]=n0,e[d>>2]|0&&V0(407776,407818,70,407880),e[w>>2]=x0,f=Tx[e[c>>2]&1](e[c+8>>2]|0,x0*2832|0)|0,p=f,!f)Px(1);else{e[d>>2]=p,e[h+24>>2]=p,Vx(f|0,0,2816)|0,e[f+2816>>2]=0,i0[f+2824>>3]=Q0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function Gm(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;if(n0=(f>>>9)+1|0,x0=n0>>>0<257?n0:257,e[h>>2]=64,e[h+4>>2]=512,i0[h+8>>3]=100,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=512,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0)|0,k||Px(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if($=l+20|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if(e[(e[M>>2]|0)+4>>2]=n0,e[d>>2]|0&&V0(407776,407818,70,407854),e[w>>2]=x0,f=Tx[e[c>>2]&1](e[c+8>>2]|0,x0*2096|0)|0,p=f,!f)Px(1);else{e[d>>2]=p,e[h+24>>2]=p,Vx(f|0,0,2080)|0,e[f+2080>>2]=0,i0[f+2088>>3]=Q0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function jm(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+2112|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*1040|0)|0,a0=C0+(q*1040|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*1040|0)|0,C0+(q*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)a0=f0+($*1040|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,a0=f0+($*1040|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*1040|0)|0,0,1024)|0,e[C0+(f*1040|0)+1024>>2]=0,i0[C0+(f*1040|0)+1032>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*1040|0)|0,f0+1040|0,1040)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*1040|0)|0,0,1024)|0,e[C0+(h0*1040|0)+1024>>2]=0,i0[C0+(h0*1040|0)+1032>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*1040|0)|0,0,1024)|0,e[C0+(w0*1040|0)+1024>>2]=0,i0[C0+(w0*1040|0)+1032>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,i0[x0+(f*1040|0)+1032>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Ju(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+5696|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*2832|0)|0,a0=C0+(q*2832|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2832|0)|0,C0+(q*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)a0=f0+($*2832|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,a0=f0+($*2832|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*2832|0)|0,0,2816)|0,e[C0+(f*2832|0)+2816>>2]=0,i0[C0+(f*2832|0)+2824>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*2832|0)|0,f0+2832|0,2832)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*2832|0)|0,0,2816)|0,e[C0+(h0*2832|0)+2816>>2]=0,i0[C0+(h0*2832|0)+2824>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*2832|0)|0,0,2816)|0,e[C0+(w0*2832|0)+2816>>2]=0,i0[C0+(w0*2832|0)+2824>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,i0[x0+(f*2832|0)+2824>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Zu(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+4224|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*2096|0)|0,a0=C0+(q*2096|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2096|0)|0,C0+(q*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)a0=f0+($*2096|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,a0=f0+($*2096|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*2096|0)|0,0,2080)|0,e[C0+(f*2096|0)+2080>>2]=0,i0[C0+(f*2096|0)+2088>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*2096|0)|0,f0+2096|0,2096)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*2096|0)|0,0,2080)|0,e[C0+(h0*2096|0)+2080>>2]=0,i0[C0+(h0*2096|0)+2088>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*2096|0)|0,0,2080)|0,e[C0+(w0*2096|0)+2080>>2]=0,i0[C0+(w0*2096|0)+2088>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,i0[x0+(f*2096|0)+2088>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Vm(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0;if(G0=c0,c0=c0+16|0,l0=G0,B0=e[h+28>>2]|0,h0=h+4|0,I0=e[h0>>2]|0,p=e[h+60>>2]|0,y0=h+32|0,w=e[y0>>2]|0,U0=h+44|0,d=e[U0>>2]|0,w0=h+12|0,l=e[w0>>2]|0,d>>>0<l>>>0?e[U0>>2]=l:l=d,O0=h+24|0,e[O0>>2]|0){if(l){for(C0=c+8|0,m0=Tx[e[c>>2]&1](e[C0>>2]|0,I0<<3)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[C0>>2]|0,I0*2080|0)|0,D0||Px(1),d0=Tx[e[c>>2]&1](e[C0>>2]|0,I0<<4)|0,d0||Px(1),e[l0>>2]=0,e[l0+4>>2]=0,e[l0+8>>2]=0,e[l0+12>>2]=0,u0=h+48|0,s0=0;(s0|0)!=(I0|0);){for(M=(e[u0>>2]|0)+s0|0,t0=e[h>>2]|0,l=w+(M*1040|0)|0,n0=w+(M*1040|0)+(t0<<2)|0,t0&1?(a0=0,x0=0,b0=42):(k=0,x0=0);(b0|0)==42&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,x0=x0+d|0),!(l>>>0>=n0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,x0=x0+d|0,b0=42;for(a0=+(x0>>>0),x0?(x0>>>0<256?e0=+r0[19516+(x0<<2)>>2]:e0=+Jx(a0),$=a0,k=k+a0*e0):$=a0,t0=m0+(s0<<3)|0,i0[t0>>3]=k<$?$:k,M=w+(M*1040|0)|0,j=0;(j|0)!=2;){for(q=(rx(j,I0)|0)+s0|0,l=(e[h+52+(j<<2)>>2]|0)+s0|0,$x(D0+(q*1040|0)|0,M|0,1040)|0,d=D0+(q*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)n0=D0+(q*1040|0)+(d<<2)|0,e[n0>>2]=(e[n0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=D0+(q*1040|0)|0,n0=D0+(q*1040|0)+(x0<<2)|0,x0&1?(a0=0,x0=0,b0=62):(k=0,x0=0);(b0|0)==62&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,x0=x0+d|0),!(l>>>0>=n0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,x0=x0+d|0,b0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+r0[19516+(x0<<2)>>2]:e0=+Jx($),a0=$,k=k+$*e0):a0=$,$=k<a0?a0:k,i0[d0+(q<<3)>>3]=$,n0=l0+(j<<3)|0,i0[n0>>3]=+i0[n0>>3]+($-+i0[t0>>3]-+i0[p+(q<<3)>>3]),j=j+1|0}s0=s0+1|0}if(x0=B0,k=+i0[l0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+i0[h+16>>3],k>f0)&&+i0[l0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[O0>>2]<<2)>>2]=e[U0>>2],n[(e[x0+8>>2]|0)+(e[O0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=rx(e[x0>>2]|0,I0)|0,l=0;(l|0)!=(I0|0);)l0=p+(l<<3)|0,i0[p+(I0+l<<3)>>3]=+i0[l0>>3],i0[l0>>3]=+i0[m0+(l<<3)>>3],l=l+1|0;e[O0>>2]=(e[O0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+I0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0}while(!1);e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2]}else b0=84;do if((b0|0)==84){if(l=e[U0>>2]|0,d=e[O0>>2]|0,+i0[l0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[O0>>2]|0,h0=e[x0+8>>2]|0,n[h0+l>>0]=n[h0+(l+-2)>>0]|0,l=h+52|0,h0=e[l>>2]|0,d=h+56|0,e[l>>2]=e[d>>2],e[d>>2]=h0,d=0;(d|0)!=(I0|0);)y0=I0+d|0,$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,D0+(y0*1040|0)|0,1040)|0,h0=p+(d<<3)|0,i0[p+(y0<<3)>>3]=+i0[h0>>3],i0[h0>>3]=+i0[d0+(y0<<3)>>3],h0=(e[u0>>2]|0)+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0;e[O0>>2]=(e[O0>>2]|0)+1,e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2];break}for(d=(e[x0+12>>2]|0)+(d+-1<<2)|0,e[d>>2]=(e[d>>2]|0)+l,l=h+52|0,d=0;(d|0)!=(I0|0);)$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,D0+(d*1040|0)|0,1040)|0,k=+i0[d0+(d<<3)>>3],i0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(i0[p+(I0+d<<3)>>3]=k),h0=(e[u0>>2]|0)+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0;e[U0>>2]=0,h0=h+64|0,U0=(e[h0>>2]|0)+1|0,e[h0>>2]=U0,U0>>>0>1&&(U0=h+40|0,e[U0>>2]=(e[U0>>2]|0)+(e[w0>>2]|0))}while(!1);U0=c+4|0,vx[e[U0>>2]&1](e[C0>>2]|0,d0),vx[e[U0>>2]&1](e[C0>>2]|0,D0),vx[e[U0>>2]&1](e[C0>>2]|0,m0)}}else{for(q=B0,e[e[q+12>>2]>>2]=l,n[e[q+8>>2]>>0]=0,M=w,n0=0;(n0|0)!=(I0|0);){for(c=e[h>>2]|0,l=M+(n0*1040|0)|0,x0=M+(n0*1040|0)+(c<<2)|0,c&1?(a0=0,w=0,b0=12):(k=0,w=0);(b0|0)==12&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,w=w+d|0,b0=12;$=+(w>>>0),w?(w>>>0<256?e0=+r0[19516+(w<<2)>>2]:e0=+Jx($),a0=$,k=k+$*e0):a0=$,f0=k<a0?a0:k,i0[p+(n0<<3)>>3]=f0,i0[p+(I0+n0<<3)>>3]=f0,n0=n0+1|0}e[O0>>2]=(e[O0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,b0=h+48|0,p=(e[b0>>2]|0)+I0|0,e[b0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0}while(!1);e[U0>>2]=0}if(!f){c0=G0;return}f=B0,U0=rx(e[f>>2]|0,I0)|0,e[e[h+36>>2]>>2]=U0,e[f+4>>2]=e[O0>>2],c0=G0}function Qm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0;t0=c,w=o[88430+((rx(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,D0=c+1|0,C0=D0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(s0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,n0=1<<j,p=(k&255)>>>7,w<<24>>24){if(n0=w<<24>>24!=10,q>>>0>f>>>0){d0=d,w=s0,d=d0;continue}x0=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+q|0,k=c+(q+-4)|0,a0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+(x0+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){d0=d,w=s0,d=d0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){d0=d,w=s0,d=d0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){d0=d,w=s0,d=d0;continue x}for($=x0+1|0,x0=c+q|0,k=c+(q+-4)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q+-1|0)){d0=d,w=s0,d=d0;continue x}break}default:for(k=0;;){if(k>>>0>=q>>>0)break e;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+k>>0]|0)){d0=d,w=s0,d=d0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){d0=d,w=s0,d=d0;continue x}k=k+1|0}}while(!1);if(d0=(M+((n0?44:9)<<j)<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=q+1|0,d>>>0>=f>>>0){d=1,w=s0;continue}switch(n[c+q>>0]|0){case 32:{w=(M+(((n0&1)<<6|4)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 34:{if(u0=(M+((n0?87:66)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=62){d=1,w=s0;continue x}w=(M+((n0?97:69)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 46:{if(u0=(M+((n0?101:79)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=s0;continue x}w=(M+((n0?114:88)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 44:{if(u0=(M+((n0?112:99)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=s0;continue x}w=(M+((n0?107:58)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 39:{w=(M+((n0?94:74)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 40:{w=(M+((n0?113:78)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{w=(M+((n0&1|104)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 39:{w=(M+(((n0&1)<<3)+108<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}default:{d=1,w=s0;continue x}}default:{d=1,w=s0;continue x}}}for($=(e[11272+(q<<2)>>2]|0)+(rx(q,M)|0)|0,k=q>>>0<f>>>0?q:f,x0=c+k|0,k=c+(k+-4)|0,a0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;for((a0|0)==(q|0)&&(d0=(M<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1),w=q+-1|0,a0>>>0>=w>>>0&&(u0=(M+(12<<j)<<5)+q|0,d0=l+(w<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,d0=q+2|0,d0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+q>>0]|0)==110&&(n[c+(q+1)>>0]|0)==103&&(n[c+d0>>0]|0)==32&&(d0=(M+(49<<j)<<5)+q|0,d=l+(q+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0),d=1),q>>>0>9?(w=q+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=q+-2|0,k=a0>>>0<k>>>0?a0:k;!(w>>>0>k>>>0);)d0=(M+(s[407930+(q-w)>>0]<<j)<<5)+q|0,d=l+(w<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1,w=w+1|0;if(a0>>>0<q>>>0){w=s0;continue}if(w=q+6|0,w>>>0>=f>>>0){w=s0;continue}do switch(n[c+q>>0]|0){case 32:switch(u0=(M+n0<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,n[c+(q+1)>>0]|0){case 97:switch(n[c+(q+2)>>0]|0){case 32:{d0=(M+(28<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(46<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 116:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(60<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=100){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(10<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 98:{if((n[c+(q+2)>>0]|0)!=121){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(38<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:switch(n[c+(q+2)>>0]|0){case 110:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(n0<<4)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(47<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 102:{switch(n[c+(q+2)>>0]|0){case 111:{if((n[c+(q+3)>>0]|0)!=114){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(25<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 114:break;default:{w=s0;continue x}}if((n[c+(q+3)>>0]|0)!=111){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=109){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(37<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 111:switch(n[c+(q+2)>>0]|0){case 102:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(n0<<3)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(45<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 110:{if((n[c+(q+2)>>0]|0)!=111){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(80<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 116:{switch(n[c+(q+2)>>0]|0){case 104:break;case 111:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(17<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}switch(n[c+(q+3)>>0]|0){case 101:{if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(5<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 97:break;default:{w=s0;continue x}}if((n[c+(q+4)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(29<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 119:{if((n[c+(q+2)>>0]|0)!=105){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=104){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(35<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 34:{if(u0=(M+(19<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=62){w=s0;continue x}d0=(M+(21<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 46:{if(u0=(M+(20<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){w=s0;continue x}if(u0=(M+(31<<j)<<5)+q|0,d0=l+(q+2<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+2)>>0]|0)!=84){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=104){w=s0;continue x}switch(n[c+(q+4)>>0]|0){case 101:{if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(43<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:break;default:{w=s0;continue x}}if((n[c+(q+5)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+6)>>0]|0)!=32){w=s0;continue x}d0=(M+(75<<j)<<5)+q|0,w=l+(q+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 44:{if(u0=(M+(76<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){w=s0;continue x}d0=(M+(14<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 10:{if(u0=(M+(22<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=9){w=s0;continue x}d0=(M+(50<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 93:{d0=(M+(24<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 39:{d0=(M+(36<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 58:{d0=(M+(51<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 40:{d0=(M+(57<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{d0=(M+(70<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 39:{d0=(M+(86<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 97:{if((n[c+(q+1)>>0]|0)!=108){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(84<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 101:switch(n[c+(q+1)>>0]|0){case 100:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(53<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 114:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(82<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+2)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(95<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 102:{if((n[c+(q+1)>>0]|0)!=117){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=108){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(90<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:switch(n[c+(q+1)>>0]|0){case 118:{if((n[c+(q+2)>>0]|0)!=101){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(92<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 122:{if((n[c+(q+2)>>0]|0)!=101){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(100<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 108:{switch(n[c+(q+1)>>0]|0){case 101:break;case 121:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(61<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}if((n[c+(q+2)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(93<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 111:{if((n[c+(q+1)>>0]|0)!=117){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(106<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}while(!1)}if(f>>>0<=4)return f=d,f=f&1,f=f<<24>>24!=0,f|0;d0=n[c>>0]|0,s0=d0<<24>>24==32;x:do switch(d0<<24>>24){case 32:case 46:{w=o[88430+((rx(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=s0?6:32,l0=s0?2:77,u0=s0?89:67,d0=c+2|0,p=w<<16>>16==0&1,w=w&65535;e:for(;;){if(p<<24>>24)break x;if(t0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(q>>>0>h>>>0){j=d,w=t0,d=j;continue}for($=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,x0=c+(q+1)|0,k=c+(q+-3)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(w0=w,n0=280811+($+a0)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){w0=d,w=t0,d=w0;continue}if(d=q+1|0,w0=(M+(f0<<j)<<5)+q|0,w=l+(d<<2)|0,n0=e[w>>2]|0,e[w>>2]=n0>>>0<w0>>>0?n0:w0,w=q+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{w0=(M+(l0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<w0>>>0?w:w0,d=1,w=t0;continue e}case 40:{w0=(M+(u0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<w0>>>0?w:w0,d=1,w=t0;continue e}default:{if(!s0){d=1,w=t0;continue e}switch(d<<24>>24){case 44:{if(n0=(M+(103<<j)<<5)+q|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<n0>>>0?x0:n0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+(33<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 46:{if(n0=(M+(71<<j)<<5)+q|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<n0>>>0?x0:n0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+(52<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(81<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 39:{w=(M+(98<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}default:{d=1,w=t0;continue e}}default:{d=1,w=t0;continue e}}}}}if(!s0){w0=d,w=t0,d=w0;continue}if(n0=w<<24>>24!=10,q>>>0>h>>>0){w0=d,w=t0,d=w0;continue}x0=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(q+1)|0,k=c+(q+-3)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(b0=w,w0=280811+(x0+a0)|0,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){b0=d,w=t0,d=b0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){b0=d,w=t0,d=b0;continue e}if((w&255^32|0)!=(s[D0>>0]|0)){b0=d,w=t0,d=b0;continue e}for(a0=x0+1|0,$=c+(q+1)|0,k=c+(q+-3)|0,e0=0,w=d0;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(q+-1|0)){b0=d,w=t0,d=b0;continue e}break}default:for(k=0;;){if(k>>>0>=q>>>0)break t;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+(k+1)>>0]|0)){b0=d,w=t0,d=b0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){b0=d,w=t0,d=b0;continue e}k=k+1|0}}while(!1);if(d=q+1|0,b0=(M+((n0?85:30)<<j)<<5)+q|0,w=l+(d<<2)|0,w0=e[w>>2]|0,e[w>>2]=w0>>>0<b0>>>0?w0:b0,w=q+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(n[c+d>>0]|0){case 32:{b0=(M+((n0?83:15)<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<b0>>>0?w:b0,d=1,w=t0;continue e}case 44:{if(n0||(w0=(M+(109<<j)<<5)+q|0,b0=l+(w<<2)|0,x0=e[b0>>2]|0,e[b0>>2]=x0>>>0<w0>>>0?x0:w0),(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+((n0?111:65)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 46:{if(w0=(M+((n0?115:96)<<j)<<5)+q|0,b0=l+(w<<2)|0,x0=e[b0>>2]|0,e[b0>>2]=x0>>>0<w0>>>0?x0:w0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+((n0?117:91)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(((n0&1)<<3^8)+110<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 39:{w=(M+(120-(n0&1)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}default:{d=1,w=t0;continue e}}default:{d=1,w=t0;continue e}}}}default:}while(!1);if(f>>>0<=5)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;w=n[D0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{m0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(m0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(m0=241);while(!1);x:do if((m0|0)==241)for(j=c+2|0,w=o[88430+((rx(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,t0=f+-2|0,p=w<<16>>16==0&1,w=w&65535;;){if(p<<24>>24)break x;if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,n0=w&127,M=s[280786+n0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|n0>>>0>t0>>>0){b0=d,w=q,d=b0;continue}for(a0=(e[11272+(n0<<2)>>2]|0)+(rx(n0,w>>>16)|0)|0,$=c+(n0+2)|0,k=c+(n0+-2)|0,e0=0,w=j;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(n0|0)){b0=d,w=q,d=b0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<M)<<5)+n0|0,d=l+(n0+2<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q;continue}if(k=n0+2|0,k>>>0>=f>>>0){b0=d,w=q,d=b0;continue}if((n[c+k>>0]|0)!=32){b0=d,w=q,d=b0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<M)<<5)+n0|0,d=l+(n0+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q}while(!1);if(f>>>0<=8)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;switch(n[c>>0]|0){case 32:{if((n[D0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;break}case 46:{if((n[D0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;break}default:return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0}for(j=c+5|0,w=o[88430+((rx(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,t0=f+-5|0,p=w<<16>>16==0&1,w=w&65535;!(p<<24>>24);){if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,n0=w&127,M=s[280786+n0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|n0>>>0>t0>>>0){b0=d,w=q,d=b0;continue}for(a0=(e[11272+(n0<<2)>>2]|0)+(rx(n0,w>>>16)|0)|0,$=c+(n0+5)|0,k=c+(n0+1)|0,e0=0,w=j;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(n0|0)){b0=d,w=q,d=b0;continue}if(d=n0+5|0,w0=(x0+(((n[c>>0]|0)==32?41:72)<<M)<<5)+n0|0,b0=l+(d<<2)|0,D0=e[b0>>2]|0,e[b0>>2]=D0>>>0<w0>>>0?D0:w0,d>>>0>=f>>>0){d=1,w=q;continue}if(!((n[c>>0]|0)==32&(n0+8|0)>>>0<f>>>0)){d=1,w=q;continue}if((n[c+d>>0]|0)!=32){d=1,w=q;continue}if((n[c+(n0+6)>>0]|0)!=111){d=1,w=q;continue}if((n[c+(n0+7)>>0]|0)!=102){d=1,w=q;continue}if((n[c+(n0+8)>>0]|0)!=32){d=1,w=q;continue}if(w0=(x0+(62<<M)<<5)+n0|0,b0=l+(n0+9<<2)|0,D0=e[b0>>2]|0,e[b0>>2]=D0>>>0<w0>>>0?D0:w0,(n0+12|0)>>>0>=f>>>0){d=1,w=q;continue}if((n[c+(n0+9)>>0]|0)!=116){d=1,w=q;continue}if((n[c+(n0+10)>>0]|0)!=104){d=1,w=q;continue}if((n[c+(n0+11)>>0]|0)!=101){d=1,w=q;continue}if((n[c+(n0+12)>>0]|0)!=32){d=1,w=q;continue}w=(x0+(73<<M)<<5)+n0|0,d=l+(n0+13<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q}return b0=d&1,b0=b0<<24>>24!=0,b0|0}function R4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0;d=0,t0=0;x:for(;;){e:do{if(d>>>0>=l>>>0)break x;if(w=d+h&f,p=l-d|0,k=n[c+w>>0]|0,!(k<<24>>24<=-1|k<<24>>24==0)){w=1,s0=20;break}do if(p>>>0>1){if((k&-32)<<24>>24==-64&&(e0=n[c+(w+1)>>0]|0,(e0&-64)<<24>>24==-128)&&(a0=(k&255)<<6&1984|e0&63,a0>>>0>127)){p=2,w=a0;break}if(p>>>0>2){if((k&-16)<<24>>24==-32&&($=n[c+(w+1)>>0]|0,($&-64)<<24>>24==-128)&&(x0=n[c+(w+2)>>0]|0,(x0&-64)<<24>>24==-128)&&(n0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,n0>>>0>2047)){p=3,w=n0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(M=n[c+(w+1)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+2)>>0]|0,(q&-64)<<24>>24==-128)&&(j=n[c+(w+3)>>0]|0,(j&-64)<<24>>24==-128)&&(s0=(k&255)<<18&1835008|(M&255)<<12&258048|(q&255)<<6&4032|j&63,s0>>>0>65535&s0>>>0<1114112)){w=4,s0=20;break e}else s0=19}else s0=19}else s0=19;while(!1);(s0|0)==19&&(s0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(s0|0)==20&&(s0=0,p=w,d=d+w|0),t0=t0+p|0}return+(t0>>>0)>+(l>>>0)*.75|0}function Jx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0;i0[p0>>3]=c,f=e[p0>>2]|0,h=e[p0+4>>2]|0,l=(h|0)<0;do if(l|h>>>0<1048576){if((f|0)==0&(h&2147483647|0)==0){c=-1/(c*c);break}if(l){c=(c-c)/0;break}else{i0[p0>>3]=c*0x40000000000000,h=e[p0+4>>2]|0,l=e[p0>>2]|0,f=-1077,d=9;break}}else h>>>0<=2146435071&&((f|0)==0&!0&(h|0)==1072693248?c=0:(l=f,f=-1023,d=9));while(!1);return(d|0)==9&&(d=h+614242|0,e[p0>>2]=l,e[p0+4>>2]=(d&1048575)+1072079006,e0=+i0[p0>>3]+-1,c=e0*(e0*.5),a0=e0/(e0+2),p=a0*a0,k=p*p,i0[p0>>3]=e0-c,l=e[p0+4>>2]|0,e[p0>>2]=0,e[p0+4>>2]=l,w=+i0[p0>>3],c=a0*(c+(k*(k*(k*.15313837699209373+.22222198432149784)+.3999999999940942)+p*(k*(k*(k*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(e0-w-c),e0=w*1.4426950407214463,k=+(f+(d>>>20)|0),p=k+e0,c=p+(e0+(k-p)+(c*1.4426950407214463+(w+c)*16751713164886512e-26))),+c}function _4(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0;do if(c>>>0<245){if(M=c>>>0<11?16:c+11&-8,c=M>>>3,k=e[5147]|0,h=k>>>c,h&3){h=(h&1^1)+c|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,d=e[l>>2]|0,w=d+8|0,p=e[w>>2]|0;do if((f|0)!=(p|0))if(p>>>0<(e[5151]|0)>>>0&&re(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else re();else e[5147]=k&~(1<<h);while(!1);return X0=h<<3,e[d+4>>2]=X0|3,X0=d+(X0|4)|0,e[X0>>2]=e[X0>>2]|1,X0=w,X0|0}if(p=e[5149]|0,M>>>0>p>>>0){if(h){l=2<<c,l=h<<c&(l|0-l),l=(l&0-l)+-1|0,e0=l>>>12&16,l=l>>>e0,d=l>>>5&8,l=l>>>d,w=l>>>2&4,l=l>>>w,f=l>>>1&2,l=l>>>f,h=l>>>1&1,h=(d|e0|w|f|h)+(l>>>h)|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,w=e[l>>2]|0,e0=w+8|0,d=e[e0>>2]|0;do if((f|0)!=(d|0))if(d>>>0<(e[5151]|0)>>>0&&re(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,a0=e[5149]|0;break}else re();else e[5147]=k&~(1<<h),a0=p;while(!1);return X0=h<<3,p=X0-M|0,e[w+4>>2]=M|3,k=w+M|0,e[w+(M|4)>>2]=p|1,e[w+X0>>2]=p,a0&&(d=e[5152]|0,f=a0>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(h=20628+(c+2<<2)|0,c=e[h>>2]|0,c>>>0<(e[5151]|0)>>>0?re():($=h,x0=c)):(e[5147]=h|f,$=20628+(c+2<<2)|0,x0=l),e[$>>2]=d,e[x0+12>>2]=d,e[d+8>>2]=x0,e[d+12>>2]=l),e[5149]=p,e[5152]=k,X0=e0,X0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,xx=k>>>12&16,k=k>>>xx,H0=k>>>5&8,k=k>>>H0,X0=k>>>2&4,k=k>>>X0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((H0|xx|X0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-M|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-M|0,X0=h>>>0<k>>>0,k=X0?h:k,h=c,e0=X0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&re(),p=e0+M|0,e0>>>0>=p>>>0&&re(),w=e[e0+24>>2]|0,f=e[e0+12>>2]|0;do if((f|0)==(e0|0)){if(h=e0+20|0,c=e[h>>2]|0,!c&&(h=e0+16|0,c=e[h>>2]|0,!c)){n0=0;break}for(;;){if(f=c+20|0,l=e[f>>2]|0,l){c=l,h=f;continue}if(f=c+16|0,l=e[f>>2]|0,l)c=l,h=f;else break}if(h>>>0<d>>>0)re();else{e[h>>2]=0,n0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&re(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&re(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,n0=f;break}else re();while(!1);do if(w){if(c=e[e0+28>>2]|0,h=20892+(c<<2)|0,(e0|0)==(e[h>>2]|0)){if(e[h>>2]=n0,!n0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&re(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=n0:e[w+20>>2]=n0,!n0)break;h=e[5151]|0,n0>>>0<h>>>0&&re(),e[n0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)re();else{e[n0+16>>2]=c,e[c+24>>2]=n0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)re();else{e[n0+20>>2]=c,e[c+24>>2]=n0;break}}while(!1);return k>>>0<16?(X0=k+M|0,e[e0+4>>2]=X0|3,X0=e0+(X0+4)|0,e[X0>>2]=e[X0>>2]|1):(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=e[5149]|0,c&&(d=e[5152]|0,f=c>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(c=20628+(c+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(q=c,j=h)):(e[5147]=h|f,q=20628+(c+2<<2)|0,j=l),e[q>>2]=d,e[j+12>>2]=d,e[d+8>>2]=j,e[d+12>>2]=l),e[5149]=k,e[5152]=p),X0=e0+8|0,X0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,M=c&-8,e0=e[5148]|0,e0){h=0-M|0,c=c>>>8,c?M>>>0>16777215?k=31:(j=(c+1048320|0)>>>16&8,C0=c<<j,q=(C0+520192|0)>>>16&4,C0=C0<<q,k=(C0+245760|0)>>>16&2,k=14-(q|j|k)+(C0<<k>>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,C0=86;else for(d=h,f=0,w=M<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-M|0,h>>>0<d>>>0)if((l|0)==(M|0)){l=p,c=p,C0=90;break x}else c=p;else h=d;if(C0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(C0|0)==0|(C0|0)==(p|0)?f:C0,p)d=h,w=w<<1;else{C0=86;break}}while(!1);if((C0|0)==86){if((f|0)==0&(c|0)==0){if(c=2<<k,c=e0&(c|0-c),!c)break;c=(c&0-c)+-1|0,n0=c>>>12&16,c=c>>>n0,x0=c>>>5&8,c=c>>>x0,q=c>>>2&4,c=c>>>q,j=c>>>1&2,c=c>>>j,f=c>>>1&1,f=e[20892+((x0|n0|q|j|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,C0=90):(k=h,e0=c)}if((C0|0)==90)for(;;){if(C0=0,j=(e[l+4>>2]&-8)-M|0,f=j>>>0<h>>>0,h=f?j:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,C0=90;continue}if(l=e[l+20>>2]|0,l)C0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-M|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&re(),p=e0+M|0,e0>>>0>=p>>>0&&re(),w=e[e0+24>>2]|0,f=e[e0+12>>2]|0;do if((f|0)==(e0|0)){if(h=e0+20|0,c=e[h>>2]|0,!c&&(h=e0+16|0,c=e[h>>2]|0,!c)){s0=0;break}for(;;){if(f=c+20|0,l=e[f>>2]|0,l){c=l,h=f;continue}if(f=c+16|0,l=e[f>>2]|0,l)c=l,h=f;else break}if(h>>>0<d>>>0)re();else{e[h>>2]=0,s0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&re(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&re(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,s0=f;break}else re();while(!1);do if(w){if(c=e[e0+28>>2]|0,h=20892+(c<<2)|0,(e0|0)==(e[h>>2]|0)){if(e[h>>2]=s0,!s0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&re(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=s0:e[w+20>>2]=s0,!s0)break;h=e[5151]|0,s0>>>0<h>>>0&&re(),e[s0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)re();else{e[s0+16>>2]=c,e[c+24>>2]=s0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)re();else{e[s0+20>>2]=c,e[c+24>>2]=s0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=k>>>3,k>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(f0=c,l0=h)):(e[5147]=f|c,f0=20628+(h+2<<2)|0,l0=l),e[f0>>2]=p,e[l0+12>>2]=p,e[e0+(M+8)>>2]=l0,e[e0+(M+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,X0=c<<xx,H0=(X0+520192|0)>>>16&4,X0=X0<<H0,l=(X0+245760|0)>>>16&2,l=14-(H0|xx|l)+(X0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(M+28)>>2]=l,e[e0+(M+20)>>2]=0,e[e0+(M+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break}c=e[c>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(k|0)){for(l=k<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(k|0)){d0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break x}}else d0=c;while(!1);if(c=d0+8|0,h=e[c>>2]|0,X0=e[5151]|0,h>>>0>=X0>>>0&d0>>>0>=X0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(M+8)>>2]=h,e[e0+(M+12)>>2]=d0,e[e0+(M+24)>>2]=0;break}else re()}else X0=k+M|0,e[e0+4>>2]=X0|3,X0=e0+(X0+4)|0,e[X0>>2]=e[X0>>2]|1;while(!1);return X0=e0+8|0,X0|0}}}else M=-1;while(!1);if(f=e[5149]|0,f>>>0>=M>>>0)return c=f-M|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+M,e[5149]=c,e[h+(M+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=M|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,X0=h+(f+4)|0,e[X0>>2]=e[X0>>2]|1),X0=h+8|0,X0|0;if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,X0=e[5153]|0,e[5153]=X0+M,e[X0+(M+4)>>2]=xx|1,e[X0+4>>2]=M|3,X0=X0+8|0,X0|0;do if(!(e[5265]|0))if(c=Vu(30)|0,c+-1&c)re();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(E4(0)|0)&-16^1431655768;break}while(!1);if(w=M+48|0,d=e[5267]|0,p=M+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=M>>>0||(c=e[5257]|0,(c|0)!=0&&(l0=e[5255]|0,d0=l0+k|0,d0>>>0<=l0>>>0|d0>>>0>c>>>0)))return X0=0,X0|0;x:do if(e[5258]&4)c=0,C0=191;else{f=e[5153]|0;e:do if(f){for(c=21036;h=e[c>>2]|0,!(h>>>0<=f>>>0&&(t0=c+4|0,(h+(e[t0>>2]|0)|0)>>>0>f>>>0));)if(c=e[c+8>>2]|0,!c){C0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=Ur(h|0)|0,d0=(f|0)==((e[c>>2]|0)+(e[t0>>2]|0)|0),c=d0?h:0,d0){if((f|0)!=-1){t0=f,j=c,C0=194;break x}}else C0=184;else c=0}else C0=174;while(!1);do if((C0|0)==174)if(l=Ur(0)|0,(l|0)!=-1)if(c=l,h=e[5266]|0,f=h+-1|0,f&c?h=k-c+(f+c&0-h)|0:h=k,c=e[5255]|0,f=c+h|0,h>>>0>M>>>0&h>>>0<2147483647){if(d0=e[5257]|0,(d0|0)!=0&&f>>>0<=c>>>0|f>>>0>d0>>>0){c=0;break}if(f=Ur(h|0)|0,C0=(f|0)==(l|0),c=C0?h:0,C0){t0=l,j=c,C0=194;break x}else C0=184}else c=0;else c=0;while(!1);e:do if((C0|0)==184){l=0-h|0;do if(w>>>0>h>>>0&(h>>>0<2147483647&(f|0)!=-1)&&(u0=e[5267]|0,u0=p-h+u0&0-u0,u0>>>0<2147483647))if((Ur(u0|0)|0)==-1){Ur(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){t0=f,j=h,C0=194;break x}}while(!1);e[5258]=e[5258]|4,C0=191}while(!1);if((C0|0)==191&&k>>>0<2147483647&&(m0=Ur(k|0)|0,D0=Ur(0)|0,m0>>>0<D0>>>0&((m0|0)!=-1&(D0|0)!=-1))&&(w0=D0-m0|0,b0=w0>>>0>(M+40|0)>>>0,b0)&&(t0=m0,j=b0?w0:c,C0=194),(C0|0)==194){c=(e[5255]|0)+j|0,e[5255]=c,c>>>0>(e[5256]|0)>>>0&&(e[5256]=c),p=e[5153]|0;x:do if(p){for(d=21036;;){if(c=e[d>>2]|0,h=d+4|0,f=e[h>>2]|0,(t0|0)==(c+f|0)){C0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((C0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<t0>>>0&p>>>0>=c>>>0){e[h>>2]=f+j,X0=(e[5150]|0)+j|0,xx=p+8|0,xx=(xx&7|0)==0?0:0-xx&7,H0=X0-xx|0,e[5153]=p+xx,e[5150]=H0,e[p+(xx+4)>>2]=H0|1,e[p+(X0+4)>>2]=40,e[5154]=e[5269];break}for(c=e[5151]|0,t0>>>0<c>>>0?(e[5151]=t0,e0=t0):e0=c,h=t0+j|0,c=21036;;){if((e[c>>2]|0)==(h|0)){C0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((C0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=t0,n0=c+4|0,e[n0>>2]=(e[n0>>2]|0)+j,n0=t0+8|0,n0=(n0&7|0)==0?0:0-n0&7,a0=t0+(j+8)|0,a0=(a0&7|0)==0?0:0-a0&7,c=t0+(a0+j)|0,x0=n0+M|0,q=t0+x0|0,$=c-(t0+n0)-M|0,e[t0+(n0+4)>>2]=M|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){X0=(e[5149]|0)+$|0,e[5149]=X0,e[5152]=q,e[t0+(x0+4)>>2]=X0|1,e[t0+(X0+x0)>>2]=X0;break}if(p=j+4|0,h=e[t0+(p+a0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[t0+((a0|24)+j)>>2]|0,l=e[t0+(j+12+a0)>>2]|0;do if((l|0)==(c|0)){if(f=a0|16,l=t0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=t0+(f+j)|0,h=e[f>>2]|0,!h){G0=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<e0>>>0)re();else{e[f>>2]=0,G0=h;break}}else if(d=e[t0+((a0|8)+j)>>2]|0,d>>>0<e0>>>0&&re(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&re(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,G0=l;break}else re();while(!1);if(!w)break;h=e[t0+(j+28+a0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&re(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=G0:e[w+20>>2]=G0,!G0)break t}else{if(e[f>>2]=G0,G0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,G0>>>0<f>>>0&&re(),e[G0+24>>2]=w,c=a0|16,h=e[t0+(c+j)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[G0+16>>2]=h,e[h+24>>2]=G0;break}while(!1);if(c=e[t0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)re();else{e[G0+20>>2]=c,e[c+24>>2]=G0;break}}else{f=e[t0+((a0|8)+j)>>2]|0,l=e[t0+(j+12+a0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&re(),(e[f+12>>2]|0)==(c|0))break;re()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))O0=l+8|0;else{if(l>>>0<e0>>>0&&re(),h=l+8|0,(e[h>>2]|0)==(c|0)){O0=h;break}re()}while(!1);e[f+12>>2]=l,e[O0>>2]=f}while(!1);c=t0+((k|a0)+j)|0,d=k+$|0}else d=$;if(c=c+4|0,e[c>>2]=e[c>>2]&-2,e[t0+(x0+4)>>2]=d|1,e[t0+(d+x0)>>2]=d,c=d>>>3,d>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c;do if(!(f&c))e[5147]=f|c,H0=20628+(h+2<<2)|0,xx=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){H0=c,xx=h;break}re()}while(!1);e[H0>>2]=q,e[xx+12>>2]=q,e[t0+(x0+8)>>2]=xx,e[t0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}H0=(c+1048320|0)>>>16&8,xx=c<<H0,G0=(xx+520192|0)>>>16&4,xx=xx<<G0,l=(xx+245760|0)>>>16&2,l=14-(G0|H0|l)+(xx<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(c=20892+(l<<2)|0,e[t0+(x0+28)>>2]=l,e[t0+(x0+20)>>2]=0,e[t0+(x0+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=q,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=q,e[t0+(x0+8)>>2]=q;break}c=e[c>>2]|0;t:do if((e[c+4>>2]&-8|0)!=(d|0)){for(l=d<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(d|0)){X0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=q,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=q,e[t0+(x0+8)>>2]=q;break e}}else X0=c;while(!1);if(c=X0+8|0,h=e[c>>2]|0,xx=e[5151]|0,h>>>0>=xx>>>0&X0>>>0>=xx>>>0){e[h+12>>2]=q,e[c>>2]=q,e[t0+(x0+8)>>2]=h,e[t0+(x0+12)>>2]=X0,e[t0+(x0+24)>>2]=0;break}else re()}else X0=(e[5150]|0)+$|0,e[5150]=X0,e[5153]=q,e[t0+(x0+4)>>2]=X0|1;while(!1);return X0=t0+(n0|8)|0,X0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(y0=e[h+4>>2]|0,h0=c+y0|0,h0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(y0+-39)|0,h=c+(y0+-47+((h&7|0)==0?0:0-h&7))|0,d=p+16|0,h=h>>>0<d>>>0?p:h,c=h+8|0,f=t0+8|0,f=(f&7|0)==0?0:0-f&7,X0=j+-40-f|0,e[5153]=t0+f,e[5150]=X0,e[t0+(f+4)>>2]=X0|1,e[t0+(j+-36)>>2]=40,e[5154]=e[5269],f=h+4|0,e[f>>2]=27,e[c>>2]=e[5259],e[c+4>>2]=e[5260],e[c+8>>2]=e[5261],e[c+12>>2]=e[5262],e[5259]=t0,e[5260]=j,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<h0>>>0)do X0=c,c=c+4|0,e[c>>2]=7;while((X0+8|0)>>>0<h0>>>0);if((h|0)!=(p|0)){if(w=h-p|0,e[f>>2]=e[f>>2]&-2,e[p+4>>2]=w|1,e[h>>2]=w,c=w>>>3,w>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(B0=c,I0=h)):(e[5147]=f|c,B0=20628+(h+2<<2)|0,I0=l),e[B0>>2]=p,e[I0+12>>2]=p,e[p+8>>2]=I0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,X0=c<<xx,H0=(X0+520192|0)>>>16&4,X0=X0<<H0,l=(X0+245760|0)>>>16&2,l=14-(H0|xx|l)+(X0<<l>>>15)|0,l=w>>>(l+7|0)&1|l<<1):l=0,f=20892+(l<<2)|0,e[p+28>>2]=l,e[p+20>>2]=0,e[d>>2]=0,c=e[5148]|0,h=1<<l,!(c&h)){e[5148]=c|h,e[f>>2]=p,e[p+24>>2]=f,e[p+12>>2]=p,e[p+8>>2]=p;break}c=e[f>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(w|0)){for(l=w<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(w|0)){U0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else U0=c;while(!1);if(c=U0+8|0,h=e[c>>2]|0,X0=e[5151]|0,h>>>0>=X0>>>0&U0>>>0>=X0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=U0,e[p+24>>2]=0;break}else re()}}else{X0=e[5151]|0,(X0|0)==0|t0>>>0<X0>>>0&&(e[5151]=t0),e[5259]=t0,e[5260]=j,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do X0=c<<1,xx=20628+(X0<<2)|0,e[20628+(X0+3<<2)>>2]=xx,e[20628+(X0+2<<2)>>2]=xx,c=c+1|0;while((c|0)!=32);X0=t0+8|0,X0=(X0&7|0)==0?0:0-X0&7,xx=j+-40-X0|0,e[5153]=t0+X0,e[5150]=xx,e[t0+(X0+4)>>2]=xx|1,e[t0+(j+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,X0=e[5153]|0,e[5153]=X0+M,e[X0+(M+4)>>2]=xx|1,e[X0+4>>2]=M|3,X0=X0+8|0,X0|0}return e[5135]|0?c=e[(D7()|0)+60>>2]|0:c=20584,e[c>>2]=12,X0=0,X0|0}function zm(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&re(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&re(),M=f&-8,j=c+(M+-8)|0;do if(f&1)l0=h,w=M;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+M|0,$>>>0<k>>>0&&re(),($|0)==(e[5152]|0)){if(h=c+(M+-4)|0,f=e[h>>2]|0,(f&3|0)!=3){l0=$,w=x0;break}e[5149]=x0,e[h>>2]=f&-2,e[c+(e0+4)>>2]=x0|1,e[j>>2]=x0;return}if(d=h>>>3,h>>>0<256){if(l=e[c+(e0+8)>>2]|0,f=e[c+(e0+12)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<k>>>0&&re(),(e[l+12>>2]|0)!=($|0)&&re()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),l0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&re(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:re()):p=f+8|0,e[l+12>>2]=f,e[p>>2]=l,l0=$,w=x0;break}p=e[c+(e0+24)>>2]|0,l=e[c+(e0+12)>>2]|0;do if((l|0)==($|0)){if(f=c+(e0+20)|0,h=e[f>>2]|0,!h&&(f=c+(e0+16)|0,h=e[f>>2]|0,!h)){a0=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<k>>>0)re();else{e[f>>2]=0,a0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&re(),h=d+12|0,(e[h>>2]|0)!=($|0)&&re(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,a0=l;break}else re();while(!1);if(p){if(h=e[c+(e0+28)>>2]|0,f=20892+(h<<2)|0,($|0)==(e[f>>2]|0)){if(e[f>>2]=a0,!a0){e[5148]=e[5148]&~(1<<h),l0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&re(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=a0:e[p+20>>2]=a0,!a0){l0=$,w=x0;break}f=e[5151]|0,a0>>>0<f>>>0&&re(),e[a0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[a0+16>>2]=h,e[h+24>>2]=a0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)re();else{e[a0+20>>2]=h,e[h+24>>2]=a0,l0=$,w=x0;break}else l0=$,w=x0}else l0=$,w=x0}while(!1);if(l0>>>0>=j>>>0&&re(),h=c+(M+-4)|0,f=e[h>>2]|0,f&1||re(),f&2)e[h>>2]=f&-2,e[l0+4>>2]=w|1,e[l0+w>>2]=w;else{if((j|0)==(e[5153]|0)){if(f0=(e[5150]|0)+w|0,e[5150]=f0,e[5153]=l0,e[l0+4>>2]=f0|1,(l0|0)!=(e[5152]|0))return;e[5152]=0,e[5149]=0;return}if((j|0)==(e[5152]|0)){f0=(e[5149]|0)+w|0,e[5149]=f0,e[5152]=l0,e[l0+4>>2]=f0|1,e[l0+f0>>2]=f0;return}w=(f&-8)+w|0,d=f>>>3;do if(f>>>0>=256){p=e[c+(M+16)>>2]|0,h=e[c+(M|4)>>2]|0;do if((h|0)==(j|0)){if(f=c+(M+12)|0,h=e[f>>2]|0,!h&&(f=c+(M+8)|0,h=e[f>>2]|0,!h)){q=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=0,q=h;break}}else if(f=e[c+M>>2]|0,f>>>0<(e[5151]|0)>>>0&&re(),l=f+12|0,(e[l>>2]|0)!=(j|0)&&re(),d=h+8|0,(e[d>>2]|0)==(j|0)){e[l>>2]=h,e[d>>2]=f,q=h;break}else re();while(!1);if(p){if(h=e[c+(M+20)>>2]|0,f=20892+(h<<2)|0,(j|0)==(e[f>>2]|0)){if(e[f>>2]=q,!q){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&re(),h=p+16|0,(e[h>>2]|0)==(j|0)?e[h>>2]=q:e[p+20>>2]=q,!q)break;f=e[5151]|0,q>>>0<f>>>0&&re(),e[q+24>>2]=p,h=e[c+(M+8)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[q+16>>2]=h,e[h+24>>2]=q;break}while(!1);if(h=e[c+(M+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)re();else{e[q+20>>2]=h,e[h+24>>2]=q;break}}}else{if(l=e[c+M>>2]|0,f=e[c+(M|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&re(),(e[l+12>>2]|0)!=(j|0)&&re()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&re(),h=f+8|0,(e[h>>2]|0)==(j|0)?n0=h:re()):n0=f+8|0,e[l+12>>2]=f,e[n0>>2]=l}while(!1);if(e[l0+4>>2]=w|1,e[l0+w>>2]=w,(l0|0)==(e[5152]|0)){e[5149]=w;return}}if(h=w>>>3,w>>>0<256){f=h<<1,d=20628+(f<<2)|0,l=e[5147]|0,h=1<<h,l&h?(h=20628+(f+2<<2)|0,f=e[h>>2]|0,f>>>0<(e[5151]|0)>>>0?re():(t0=h,s0=f)):(e[5147]=l|h,t0=20628+(f+2<<2)|0,s0=d),e[t0>>2]=l0,e[s0+12>>2]=l0,e[l0+8>>2]=s0,e[l0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(t0=(h+1048320|0)>>>16&8,s0=h<<t0,j=(s0+520192|0)>>>16&4,s0=s0<<j,d=(s0+245760|0)>>>16&2,d=14-(j|t0|d)+(s0<<d>>>15)|0,d=w>>>(d+7|0)&1|d<<1):d=0,h=20892+(d<<2)|0,e[l0+28>>2]=d,e[l0+20>>2]=0,e[l0+16>>2]=0,f=e[5148]|0,l=1<<d;x:do if(f&l){h=e[h>>2]|0;e:do if((e[h+4>>2]&-8|0)!=(w|0)){for(d=w<<((d|0)==31?0:25-(d>>>1)|0);l=h+16+(d>>>31<<2)|0,f=e[l>>2]|0,!!f;)if((e[f+4>>2]&-8|0)==(w|0)){f0=f;break e}else d=d<<1,h=f;if(l>>>0<(e[5151]|0)>>>0)re();else{e[l>>2]=l0,e[l0+24>>2]=h,e[l0+12>>2]=l0,e[l0+8>>2]=l0;break x}}else f0=h;while(!1);if(h=f0+8|0,f=e[h>>2]|0,s0=e[5151]|0,f>>>0>=s0>>>0&f0>>>0>=s0>>>0){e[f+12>>2]=l0,e[h>>2]=l0,e[l0+8>>2]=f,e[l0+12>>2]=f0,e[l0+24>>2]=0;break}else re()}else e[5148]=f|l,e[h>>2]=l0,e[l0+24>>2]=h,e[l0+12>>2]=l0,e[l0+8>>2]=l0;while(!1);if(l0=(e[5155]|0)+-1|0,e[5155]=l0,!l0)h=21044;else return;for(;h=e[h>>2]|0,h;)h=h+8|0;e[5155]=-1}}function TG(){}function Zt(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,l=h-l-(f>>>0>c>>>0|0)>>>0,v0=l,c-f>>>0|0|0}function Vx(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0;if(l=c+f|0,(f|0)>=20){if(h=h&255,w=c&3,p=h|h<<8|h<<16|h<<24,d=l&-4,w)for(w=c+4-w|0;(c|0)<(w|0);)n[c>>0]=h,c=c+1|0;for(;(c|0)<(d|0);)e[c>>2]=p,c=c+4|0}for(;(c|0)<(l|0);)n[c>>0]=h,c=c+1|0;return c-f|0}function Dx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(v0=0,h>>>f-32|0)}function Ix(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(v0=c<<f-32,0)}function $x(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return C4(c|0,h|0,f|0)|0;if(l=c|0,(c&3)==(h&3)){for(;c&3;){if(!f)return l|0;n[c>>0]=n[h>>0]|0,c=c+1|0,h=h+1|0,f=f-1|0}for(;(f|0)>=4;)e[c>>2]=e[h>>2],c=c+4|0,h=h+4|0,f=f-4|0}for(;(f|0)>0;)n[c>>0]=n[h>>0]|0,c=c+1|0,h=h+1|0,f=f-1|0;return l|0}function $u(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,v0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function xf(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((h|0)<(c|0)&(c|0)<(h+f|0)){for(l=c,h=h+f|0,c=c+f|0;(f|0)>0;)c=c-1|0,h=h-1|0,f=f-1|0,n[c>>0]=n[h>>0]|0;c=l}else $x(c,h,f)|0;return c|0}function Al0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(v0=(h|0)<0?-1:0,h>>f-32|0)}function Wm(c){c=c|0;var h=0;return h=n[P0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[P0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[P0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[P0+(c>>>24)>>0]|0)+24|0))}function RG(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0;return w=c&65535,d=h&65535,f=rx(d,w)|0,l=c>>>16,c=(f>>>16)+(rx(d,l)|0)|0,d=h>>>16,h=rx(d,w)|0,v0=(c>>>16)+(rx(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function El0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0;return a0=h>>31|((h|0)<0?-1:0)<<1,e0=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,w=l>>31|((l|0)<0?-1:0)<<1,d=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,k=Zt(a0^c,e0^h,a0,e0)|0,p=v0,c=w^a0,h=d^e0,Zt((ef(k,p,Zt(w^f,d^l,w,d)|0,v0,0)|0)^c,v0^h,c,h)|0}function Cl0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0;return d=c0,c0=c0+16|0,k=d|0,p=h>>31|((h|0)<0?-1:0)<<1,w=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,a0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=Zt(p^c,w^h,p,w)|0,h=v0,ef(c,h,Zt(a0^f,e0^l,a0,e0)|0,v0,k)|0,l=Zt(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=v0,c0=d,v0=f,l|0}function Se(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;return d=c,w=f,f=RG(d,w)|0,c=v0,v0=(rx(h,w)|0)+(rx(l,d)|0)+c|c&0,f|0|0|0}function kl0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,ef(c,h,f,l,0)|0}function Sl0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;return w=c0,c0=c0+16|0,d=w|0,ef(c,h,f,l,d)|0,c0=w,v0=e[d+4>>2]|0,e[d>>2]|0|0}function ef(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0;if($=c,e0=h,a0=e0,p=f,n0=l,k=n0,!a0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,n0=0,d=0,v0=n0,d|0):(n0=0,d=0,v0=n0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),n0=0,d=($>>>0)/(p>>>0)>>>0,v0=n0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Ax(k|0)|0)-(Ax(a0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|a0<<k,h=a0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,n0=0,d=0,v0=n0,d|0):(n0=0,d=0,v0=n0,d|0)}if(w=p-1|0,w&p){k=(Ax(p|0)|0)+33-(Ax(a0|0)|0)|0,q=64-k|0,x0=32-k|0,e0=x0>>31,M=k-32|0,h=M>>31,p=k,c=x0-1>>31&a0>>>(M>>>0)|(a0<<x0|$>>>(k>>>0))&h,h=h&a0>>>(k>>>0),w=$<<q&e0,k=(a0<<q|$>>>(M>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(M=e0|h&0,q=c|0|0,v0=M,q|0):(q=Wm(p|0)|0,M=a0>>>(q>>>0)|0,q=a0<<32-q|$>>>(q>>>0)|0,v0=M,q|0)}else{if(w)return d&&(e[d>>2]=(a0>>>0)%(p>>>0),e[d+4>>2]=0),M=0,q=(a0>>>0)/(p>>>0)>>>0,v0=M,q|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(a0>>>0)%(k>>>0)),M=0,q=(a0>>>0)/(k>>>0)>>>0,v0=M,q|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&a0|h&0),M=0,q=a0>>>((Wm(k|0)|0)>>>0),v0=M,q|0;if(w=(Ax(k|0)|0)-(Ax(a0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=a0<<k|$>>>(h>>>0),h=a0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,M=0,q=0,v0=M,q|0):(M=0,q=0,v0=M,q|0)}while(!1);if(!p)a0=k,e0=0,k=0;else{x0=f|0|0,$=n0|l&0,a0=$u(x0|0,$|0,-1,-1)|0,f=v0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,n0=c>>>31|h<<1|0,Zt(a0,f,l,n0)|0,q=v0,M=q>>31|((q|0)<0?-1:0)<<1,k=M&1,c=Zt(l,n0,M&x0,(((q|0)<0?-1:0)>>31|((q|0)<0?-1:0)<<1)&$)|0,h=v0,p=p-1|0;while((p|0)!=0);a0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),M=(w|0)>>>31|(a0|p)<<1|(p<<1|w>>>31)&0|e0,q=(w<<1|0)&-2|k,v0=M,q|0}function _G(c,h,f){c=c|0,h=h|0,f=f|0,vx[c&1](h|0,f|0)}function NG(c,h,f){return c=c|0,h=h|0,f=f|0,Tx[c&1](h|0,f|0)|0}function LG(c,h){c=c|0,h=h|0,wt(0)}function MG(c,h){return c=c|0,h=h|0,wt(1),0}var vx=[LG,BG],Tx=[MG,Mm];return{_i64Subtract:Zt,_free:zm,_i64Add:$u,_memmove:xf,_memset:Vx,_malloc:_4,_encode:vG,_memcpy:$x,_bitshift64Lshr:Dx,_bitshift64Shl:Ix,runPostSets:TG,stackAlloc:pG,stackSave:bG,stackRestore:gG,establishStackSpace:mG,setThrew:yG,setTempRet0:wG,getTempRet0:DG,dynCall_vii:_G,dynCall_iii:NG}}(b.I,b.J,buffer),Ja=b._i64Subtract=Y._i64Subtract,pa=b._free=Y._free;b.runPostSets=Y.runPostSets;var Pa=b._i64Add=Y._i64Add,Qa=b._memmove=Y._memmove,La=b._memset=Y._memset,ia=b._malloc=Y._malloc;b._encode=Y._encode;var Oa=b._memcpy=Y._memcpy,Ma=b._bitshift64Lshr=Y._bitshift64Lshr,Na=b._bitshift64Shl=Y._bitshift64Shl;b.dynCall_vii=Y.dynCall_vii;b.dynCall_iii=Y.dynCall_iii;A.n=Y.stackAlloc;A.G=Y.stackSave;A.F=Y.stackRestore;A.W=Y.establishStackSpace;A.P=Y.setTempRet0;A.N=Y.getTempRet0;W&&(typeof b.locateFile=="function"?W=b.locateFile(W):b.memoryInitializerPrefixURL&&(W=b.memoryInitializerPrefixURL+W),v||x?(Ta=b.readBinary(W),P.set(Ta,A.C)):(Va=function(){Browser.T(W,Ua,function(){throw"could not load memory initializer "+W})},U++,b.monitorRunDependencies&&b.monitorRunDependencies(U),Ua=function(i){i.byteLength&&(i=new Uint8Array(i)),P.set(i,A.C),U--,b.monitorRunDependencies&&b.monitorRunDependencies(U),U==0&&(Ha!==null&&(clearInterval(Ha),Ha=null),V&&(i=V,V=null,i()))},Z=b.memoryInitializerRequest,Z?(Wa=function(){Z.status!==200&&Z.status!==0?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+W),Va()):Ua(Z.response)},Z.response?setTimeout(Wa,0):Z.addEventListener("load",Wa)):Va()));var Ta,Va,Ua,Z,Wa;function y(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}y.prototype=Error();y.prototype.constructor=y;var Xa=null,V=function i(){b.calledRun||Za(),b.calledRun||(V=i)};b.callMain=b.U=function(i){function r(){for(var s=0;3>s;s++)n.push(0)}assert(U==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(Aa.length==0,"cannot call main when preRun functions remain to be called"),i=i||[],T||(T=!0,S(Ba));var a=i.length+1,n=[O(Ga(b.thisProgram),"i8",0)];r();for(var o=0;o<a-1;o+=1)n.push(O(Ga(i[o]),"i8",0)),r();n.push(0),n=O(n,"i32",0);try{var e=b._main(a,n,0);$a(e,!0)}catch(s){if(!(s instanceof y))if(s=="SimulateInfiniteLoop")b.noExitRuntime=!0;else throw s&&typeof s=="object"&&s.stack&&b.A("exception thrown: "+[s,s.stack]),s}finally{}};function Za(i){function r(){if(!b.calledRun&&(b.calledRun=!0,!F)){if(T||(T=!0,S(Ba)),S(Ca),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b._main&&ab&&b.callMain(i),b.postRun)for(typeof b.postRun=="function"&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();Ea.unshift(a)}S(Ea)}}if(i=i||b.arguments,Xa===null&&(Xa=Date.now()),!(0<U)){if(b.preRun)for(typeof b.preRun=="function"&&(b.preRun=[b.preRun]);b.preRun.length;)Fa();S(Aa),0<U||b.calledRun||(b.setStatus?(b.setStatus("Running..."),setTimeout(function(){setTimeout(function(){b.setStatus("")},1),r()},1)):r())}}b.run=b.run=Za;function $a(i,r){if(!r||!b.noExitRuntime)throw!b.noExitRuntime&&(F=!0,z=void 0,S(Da),b.onExit)&&b.onExit(i),v?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):x&&typeof quit=="function"&&quit(i),new y(i)}b.exit=b.exit=$a;var bb=[];function E(i){i!==void 0?(b.print(i),b.A(i),i=JSON.stringify(i)):i="",F=!0;var r="abort("+i+") at "+qa()+`
|
|
216
|
+
`)}),ca=require("fs"),da=require("path"),b.read=function(i,r){i=da.normalize(i);var a=ca.readFileSync(i);return a||i==da.resolve(i)||(i=path.join(__dirname,"..","src",i),a=ca.readFileSync(i)),a&&!r&&(a=a.toString()),a},b.readBinary=function(i){return i=b.read(i,!0),i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},b.load=function(i){ea(read(i))},b.thisProgram||(b.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):"unknown-program"),b.arguments=process.argv.slice(2),typeof module<"u"&&(module.exports=b),process.on("uncaughtException",function(i){if(!(i instanceof y))throw i}),b.inspect=function(){return"[Emscripten Module object]"};else if(x)b.print||(b.print=print),typeof printErr<"u"&&(b.printErr=printErr),b.read=typeof read<"u"?read:function(){throw"no read() available (jsc?)"},b.readBinary=function(i){return typeof readbuffer=="function"?new Uint8Array(readbuffer(i)):(i=read(i,"binary"),assert(typeof i=="object"),i)},typeof scriptArgs<"u"?b.arguments=scriptArgs:typeof arguments<"u"&&(b.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined");else if(t||u)b.read=function(i){var r=new XMLHttpRequest;return r.open("GET",i,!1),r.send(null),r.responseText},typeof arguments<"u"&&(b.arguments=arguments),typeof console<"u"?(b.print||(b.print=function(i){console.log(i)}),b.printErr||(b.printErr=function(i){console.log(i)})):b.print||(b.print=function(){}),u&&(b.load=importScripts),typeof b.setWindowTitle>"u"&&(b.setWindowTitle=function(i){document.title=i});else throw"Unknown runtime environment. Where are we?";var ca,da;function ea(i){eval.call(null,i)}!b.load&&b.read&&(b.load=function(i){ea(b.read(i))});b.print||(b.print=function(){});b.printErr||(b.printErr=b.print);b.arguments||(b.arguments=[]);b.thisProgram||(b.thisProgram="./this.program");b.print=b.print;b.A=b.printErr;b.preRun=[];b.postRun=[];for(m in g)g.hasOwnProperty(m)&&(b[m]=g[m]);var A={P:function(i){fa=i},N:function(){return fa},G:function(){return z},F:function(i){z=i},D:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:return i[i.length-1]==="*"?A.o:i[0]==="i"?(i=parseInt(i.substr(1)),assert(i%8===0),i/8):0}},M:function(i){return Math.max(A.D(i),A.o)},R:16,ea:function(i,r){return r==="double"||r==="i64"?i&7&&(assert((i&7)===4),i+=4):assert((i&3)===0),i},Y:function(i,r,a){return a||i!="i64"&&i!="double"?i?Math.min(r||(i?A.M(i):0),A.o):Math.min(r,8):8},r:function(i,r,a){return a&&a.length?(a.splice||(a=Array.prototype.slice.call(a)),a.splice(0,0,r),b["dynCall_"+i].apply(null,a)):b["dynCall_"+i].call(null,r)},k:[],H:function(i){for(var r=0;r<A.k.length;r++)if(!A.k[r])return A.k[r]=i,2*(1+r);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},O:function(i){A.k[(i-2)/2]=null},e:function(i){A.e.B||(A.e.B={}),A.e.B[i]||(A.e.B[i]=1,b.A(i))},u:{},$:function(i,r){assert(r),A.u[r]||(A.u[r]={});var a=A.u[r];return a[i]||(a[i]=function(){return A.r(r,i,arguments)}),a[i]},Z:function(){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},n:function(i){var r=z;return z=z+i|0,z=z+15&-16,r},Q:function(i){var r=B;return B=B+i|0,B=B+15&-16,r},g:function(i){var r=C;return C=C+i|0,C=C+15&-16,(i=C>=D)&&(E("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+D+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "),i=!0),i?(C=r,0):r},p:function(i,r){return Math.ceil(i/(r||16))*(r||16)},da:function(i,r,a){return a?+(i>>>0)+4294967296*+(r>>>0):+(i>>>0)+4294967296*+(r|0)},C:8,o:4,S:0};A.addFunction=A.H;A.removeFunction=A.O;var F=!1,G,H,fa;function assert(i,r){i||E("Assertion failed: "+r)}(function(){var i={stackSave:function(){A.G()},stackRestore:function(){A.F()},arrayToC:function(n){for(var o=A.n(n.length),e=o,s=0;s<n.length;s++)I[e++>>0]=n[s];return o},stringToC:function(n){var o=0;return n!=null&&n!==0&&(o=A.n((n.length<<2)+1),ga(n,o)),o}},r=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,a;for(a in i)i.hasOwnProperty(a)&&i[a].toString().match(r).slice(1)})();function ha(i){var r;switch(r="i32",r.charAt(r.length-1)==="*"&&(r="i32"),r){case"i1":return I[i>>0];case"i8":return I[i>>0];case"i16":return J[i>>1];case"i32":return K[i>>2];case"i64":return K[i>>2];case"float":return L[i>>2];case"double":return N[i>>3];default:E("invalid type for setValue: "+r)}return null}function O(i,r,a){var n,o,e;typeof i=="number"?(o=!0,e=i):(o=!1,e=i.length);var s=typeof r=="string"?r:null;if(a=a==4?n:[ia,A.n,A.Q,A.g][a===void 0?2:a](Math.max(e,s?1:r.length)),o){for(n=a,assert((a&3)==0),i=a+(e&-4);n<i;n+=4)K[n>>2]=0;for(i=a+e;n<i;)I[n++>>0]=0;return a}if(s==="i8")return i.subarray||i.slice?P.set(i,a):P.set(new Uint8Array(i),a),a;n=0;for(var _,o0;n<e;){var r0=i[n];if(typeof r0=="function"&&(r0=A.aa(r0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var i0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[i0>>0]=r0;break;case"i8":I[i0>>0]=r0;break;case"i16":J[i0>>1]=r0;break;case"i32":K[i0>>2]=r0;break;case"i64":H=[r0>>>0,(G=r0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[i0>>2]=H[0],K[i0+4>>2]=H[1];break;case"float":L[i0>>2]=r0;break;case"double":N[i0>>3]=r0;break;default:E("invalid type for setValue: "+c0)}o0!==o&&(_=A.D(o),o0=o),n+=_}}return a}function Q(i){var r;if(r===0||!i)return"";for(var a=0,n,o=0;n=P[i+o>>0],a|=n,!(n==0&&!r||(o++,r&&o==r)););if(r||(r=o),n="",128>a){for(;0<r;)a=String.fromCharCode.apply(String,P.subarray(i,i+Math.min(r,1024))),n=n?n+a:a,i+=1024,r-=1024;return n}return b.UTF8ToString(i)}function oa(i){function r(i0,c0,g0){c0=c0||1/0;var p0="",E0=[],P0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,P0=[];i[e]!=="E";)if(i[e]==="S"){e++;var F0=i.indexOf("_",e);P0.push(_[i.substring(e,F0)||0]||"?"),e=F0+1}else if(i[e]==="C")P0.push(P0[P0.length-1]),e+=2;else{var F0=parseInt(i.substr(e)),N0=F0.toString().length;if(!F0||!N0){e--;break}var Y0=i.substr(e+N0,F0);P0.push(Y0),_.push(Y0),e+=N0+F0}if(e++,P0=P0.join("::"),c0--,c0===0)return i0?[P0]:P0}else(i[e]==="K"||o0&&i[e]==="L")&&e++,(F0=parseInt(i.substr(e)))&&(N0=F0.toString().length,P0=i.substr(e+N0,F0),e+=N0+F0);o0=!1,i[e]==="I"?(e++,F0=r(!0),N0=r(!0,1,!0),p0+=N0[0]+" "+P0+"<"+F0.join(", ")+">"):p0=P0;x:for(;e<i.length&&0<c0--;)if(P0=i[e++],P0 in s)E0.push(s[P0]);else switch(P0){case"P":E0.push(r(!0,1,!0)[0]+"*");break;case"R":E0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,F0=i.indexOf("E",e)-e,E0.push(i.substr(e,F0)),e+=F0+2;break;case"A":if(F0=parseInt(i.substr(e)),e+=F0.toString().length,i[e]!=="_")throw"?";e++,E0.push(r(!0,1,!0)[0]+" ["+F0+"]");break;case"E":break x;default:p0+="?"+P0;break x}return g0||E0.length!==1||E0[0]!=="void"||(E0=[]),i0?(p0&&E0.push(p0+"?"),E0):p0+("("+E0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var r0=ia(i.length);ga(i.substr(1),r0);var n=ia(4),o=b.___cxa_demangle(r0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{r0&&pa(r0),n&&pa(n),o&&pa(o)}var e=3,s={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},_=[],o0=!0,r0=i;try{if(i=="Object._main"||i=="_main")return"main()";if(typeof i=="number"&&(i=Q(i)),i[0]!=="_"||i[1]!=="_"||i[2]!=="Z")return i;switch(i[3]){case"n":return"operator new()";case"d":return"operator delete()"}r0=r()}catch{r0+="?"}return 0<=r0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),r0}function qa(){return ra().replace(/__Z[\w\d_]+/g,function(i){var r=oa(i);return i===r?i:i+" ["+r+"]"})}function ra(){var i=Error();if(!i.stack){try{throw Error(0)}catch(r){i=r}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function sa(){var i=C;return 0<i%4096&&(i+=4096-i%4096),i}for(va=0,B=0,wa=0,z=0,xa=0,ya=0,C=0,za=b.TOTAL_STACK||5242880,D=b.TOTAL_MEMORY||318767104,R=65536;R<D||R<2*za;)R=16777216>R?2*R:R+16777216;var I,P,J,ta,K,ua,L,N,va,B,wa,z,xa,ya,C,za,D,R;R!==D&&(D=R);assert(typeof Int32Array<"u"&&typeof Float64Array<"u"&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(D);I=new Int8Array(buffer);J=new Int16Array(buffer);K=new Int32Array(buffer);P=new Uint8Array(buffer);ta=new Uint16Array(buffer);ua=new Uint32Array(buffer);L=new Float32Array(buffer);N=new Float64Array(buffer);K[0]=255;assert(P[0]===255&&P[3]===0,"Typed arrays 2 must be run on a little-endian system");b.HEAP=void 0;b.buffer=buffer;b.HEAP8=I;b.HEAP16=J;b.HEAP32=K;b.HEAPU8=P;b.HEAPU16=ta;b.HEAPU32=ua;b.HEAPF32=L;b.HEAPF64=N;function S(i){for(;0<i.length;){var r=i.shift();if(typeof r=="function")r();else{var a=r.X;typeof a=="number"?r.q===void 0?A.r("v",a):A.r("vi",a,[r.q]):a(r.q===void 0?null:r.q)}}}var Aa=[],Ba=[],Ca=[],Da=[],Ea=[],T=!1;function Fa(){var i=b.preRun.shift();Aa.unshift(i)}function Ga(i,r){for(var a=0,e=0;e<i.length;++e){var n=i.charCodeAt(e);55296<=n&&57343>=n&&(n=65536+((n&1023)<<10)|i.charCodeAt(++e)&1023),127>=n?++a:a=2047>=n?a+2:65535>=n?a+3:2097151>=n?a+4:67108863>=n?a+5:a+6}a=Array(a+1);var o=a.length,e=0;if(0<o){for(var n=e,o=e+o-1,s=0;s<i.length;++s){var _=i.charCodeAt(s);if(55296<=_&&57343>=_&&(_=65536+((_&1023)<<10)|i.charCodeAt(++s)&1023),127>=_){if(e>=o)break;a[e++]=_}else{if(2047>=_){if(e+1>=o)break;a[e++]=192|_>>6}else{if(65535>=_){if(e+2>=o)break;a[e++]=224|_>>12}else{if(2097151>=_){if(e+3>=o)break;a[e++]=240|_>>18}else{if(67108863>=_){if(e+4>=o)break;a[e++]=248|_>>24}else{if(e+5>=o)break;a[e++]=252|_>>30,a[e++]=128|_>>24&63}a[e++]=128|_>>18&63}a[e++]=128|_>>12&63}a[e++]=128|_>>6&63}a[e++]=128|_&63}}a[e]=0,e=e-n}else e=0;return r&&(a.length=e),a}function ga(i,r){for(var a=Ga(i,void 0),n=0;n<a.length;)I[r+n>>0]=a[n],n+=1}Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(i,r){var a=i&65535,n=r&65535;return a*n+((i>>>16)*n+a*(r>>>16)<<16)|0});Math.ba=Math.imul;Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var r=0;32>r;r++)if(i&1<<31-r)return r;return 32});Math.V=Math.clz32;var ja=Math.abs,ma=Math.ceil,la=Math.floor,ka=Math.min,U=0,Ha=null,V=null;b.preloadedImages={};b.preloadedAudios={};var W=null,va=8,B=va+407936;Ba.push();var W="encode.js.mem",Ia=A.p(O(12,"i8",2),8);assert(Ia%8==0);b._i64Subtract=Ja;function Ka(i){return b.___errno_location&&(K[b.___errno_location()>>2]=i),i}b._memset=La;b._bitshift64Lshr=Ma;b._bitshift64Shl=Na;b._memcpy=Oa;b._i64Add=Pa;function X(i){X.L||(C=sa(),X.L=!0,assert(A.g),X.K=A.g,A.g=function(){E("cannot dynamically allocate, sbrk now has control")});var r=C;return i==0||X.K(i)?r:4294967295}b._memmove=Qa;function Ra(i){b.exit(i)}wa=z=A.p(B);xa=wa+za;ya=C=A.p(xa);assert(ya<D,"TOTAL_MEMORY not big enough for stack");var Sa=O([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.I={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0};b.J={abort:E,assert,invoke_vii:function(i,r,a){try{b.dynCall_vii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},invoke_iii:function(i,r,a){try{return b.dynCall_iii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},__exit:Ra,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Ka,_sysconf:function(i){switch(i){case 30:return 4096;case 85:return R/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ka(22),-1},_sbrk:X,_time:function(i){var r=Date.now()/1e3|0;return i&&(K[i>>2]=r),r},_emscripten_memcpy_big:function(i,r,a){return P.set(P.subarray(r,r+a),i),i},_llvm_trap:function(){E("trap!")},_exit:function(i){Ra(i)},___assert_fail:function(i,r,a,n){throw F=!0,"Assertion failed: "+Q(i)+", at: "+[r?Q(r):"unknown filename",a,n?Q(n):"unknown function"]+" at "+qa()},STACKTOP:z,STACK_MAX:xa,tempDoublePtr:Ia,ABORT:F,cttz_i8:Sa};var Y=function(i,r,a){var n=new i.Int8Array(a),o=new i.Int16Array(a),e=new i.Int32Array(a),s=new i.Uint8Array(a),_=new i.Uint16Array(a),o0=new i.Uint32Array(a),r0=new i.Float32Array(a),i0=new i.Float64Array(a),c0=r.STACKTOP|0,g0=r.STACK_MAX|0,p0=r.tempDoublePtr|0,E0=r.ABORT|0,P0=r.cttz_i8|0,F0=0,N0=0,Y0=0,S0=0,W0=i.NaN,Q0=i.Infinity,sx=0,J0=0,Cx=0,z0=0,yx=0,$0=0,qx=0,zx=0,ee=0,v0=0,R0=0,L0=0,q0=0,ix=0,_x=0,kx=0,ne=0,Sx=0,jx=0,ke=i.Math.floor,ie=i.Math.abs,Me=i.Math.sqrt,yt=i.Math.pow,ce=i.Math.cos,Ue=i.Math.sin,te=i.Math.tan,Re=i.Math.acos,i6=i.Math.asin,Y6=i.Math.atan,v6=i.Math.atan2,Di=i.Math.exp,Sr=i.Math.log,Gu=i.Math.ceil,rx=i.Math.imul,ju=i.Math.min,Ax=i.Math.clz32,wt=r.abort,Mr=r.assert,so=r.invoke_vii,Mn=r.invoke_iii,oo=r.__exit,D7=r._pthread_self,re=r._abort,co=r.___setErrNo,Vu=r._sysconf,Ur=r._sbrk,E4=r._time,C4=r._emscripten_memcpy_big,Ji=r._llvm_trap,Px=r._exit,V0=r.___assert_fail,wl0=0;function uo(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0;for(b0=c0,c0=c0+16|0,w0=b0,e[w0>>2]=0,e[w0+4>>2]=0,e[w0+8>>2]=0,e[w0+12>>2]=0,D0=0,m0=0;f;)e0=e[h+(m0<<2)>>2]|0,e0?(D0>>>0<4&&(e[w0+(D0<<2)>>2]=m0),a0=D0+1|0,f=f-e0|0):a0=D0,D0=a0,m0=m0+1|0;if(D0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Ix(1,0,e0&7|0)|0,a0=v0,e0=f|e0,f=$,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,$=$+4|0,n[$>>0]=a0,n[$+1>>0]=a0>>8,n[$+2>>0]=a0>>16,n[$+3>>0]=a0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,a0=e[w0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=Dx(a0|0,0,l|0)|0,(k|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),m0=Ix(a0|0,0,$&7|0)|0,w0=v0,m0=e0|m0,k=f,D0=k,n[D0>>0]=m0,n[D0+1>>0]=m0>>8,n[D0+2>>0]=m0>>16,n[D0+3>>0]=m0>>24,k=k+4|0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,e[p>>2]=(e[p>>2]|0)+l,n[d+a0>>0]=0,o[w+(a0<<1)>>1]=0,c0=b0;return}for(Vx(d|0,0,m0|0)|0,l0=c+8|0,u0=Tx[e[c>>2]&1](e[l0>>2]|0,m0<<4|8)|0,d0=u0,u0||Px(1),C0=1;;){f=m0,e0=d0;x:for(;;){do{if(!f)break x;f=f+-1|0,a0=e[h+(f<<2)>>2]|0}while((a0|0)==0);$=f&65535,a0>>>0<C0>>>0?(e[e0>>2]=C0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=a0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-d0|0,s0=f0>>3,t0=s0+1|0;x:do if(s0>>>0<13)for(M=1;;){if(M>>>0>=s0>>>0)break x;for(n0=u0+(M<<3)|0,x0=e[n0>>2]|0,n0=e[n0+4>>2]|0,$=M;f=$,$=$+-1|0,a0=u0+($<<3)|0,!!(pm(x0,e[a0>>2]|0)|0);)if(q=e[a0+4>>2]|0,j=u0+(f<<3)|0,e[j>>2]=e[a0>>2],e[j+4>>2]=q,!$){f=0;break}j=u0+(f<<3)|0,e[j>>2]=x0,e[j+4>>2]=n0,M=M+1|0}else for(q=s0>>>0<57?2:0;;){if((q|0)>=6)break x;for(f=e[19428+(q<<2)>>2]|0,j=f;!(j>>>0>=s0>>>0);){for($=u0+(j<<3)|0,a0=e[$>>2]|0,$=e[$+4>>2]|0,M=j;!(M>>>0<f>>>0||(x0=M-f|0,n0=u0+(x0<<3)|0,!(pm(a0,e[n0>>2]|0)|0)));)h0=n0,y0=e[h0+4>>2]|0,n0=u0+(M<<3)|0,e[n0>>2]=e[h0>>2],e[n0+4>>2]=y0,M=x0;h0=u0+(M<<3)|0,e[h0>>2]=a0,e[h0+4>>2]=$,j=j+1|0}q=q+1|0}while(!1);for(j=e0,a0=e0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=j+8|0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=0,$=t0,j=j+16|0,q=s0;!((q|0)<=1);)e0=e[u0+(a0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(M=$+1|0,f=e[u0+(M<<3)>>2]|0,n0=a0,x0=$):(n0=a0+1|0,e0=e[u0+(n0<<3)>>2]|0,M=$,x0=a0),e0>>>0>f>>>0?(a0=n0,$=M+1|0,e0=M):(f=e0,a0=n0+1|0,$=M,e0=n0),e[j+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[j+-4>>1]=x0,o[j+-2>>1]=e0,h0=j,e[h0>>2]=-1,e[h0+4>>2]=-1,j=j+8|0,q=q+-1|0;if(Nm((f0>>2)+-1|0,u0,d,14)|0)break;C0=C0<<1}if(vx[e[c+4>>2]&1](e[l0>>2]|0,u0),qn(d,m0,w),f0=e[p>>2]|0,t0=k+(f0>>>3)|0,s0=s[t0>>0]|0,f0=f0&7,D0>>>0>=5){h0=Ix(1431655764,255,f0|0)|0,e0=v0,h0=s0|h0,f=t0,q=f,n[q>>0]=h0,n[q+1>>0]=h0>>8,n[q+2>>0]=h0>>16,n[q+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+40|0,e[p>>2]=f,e0=0,q=8;x:for(;;){for(;;){if(e0>>>0>=m0>>>0){f=114;break x}for(j=n[d+e0>>0]|0,M=1,a0=e0;a0=a0+1|0,!(a0>>>0>=m0>>>0||(n[d+a0>>0]|0)!=j<<24>>24);)M=M+1|0;if(e0=e0+M|0,j<<24>>24)break;if(n0=e[11564+(M<<2)>>2]|0,$=8+(M<<3)|0,a0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,h0=Dx(a0|0,$|0,n0|0)|0,!((h0|0)==0&(v0|0)==0)){f=99;break x}h0=s[x0>>0]|0,c=Ix(a0|0,$|0,f&7|0)|0,y0=v0,c=h0|c,h0=x0,w=h0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,h0=(e[p>>2]|0)+n0|0,e[p>>2]=h0,f=h0}if(q<<24>>24==j<<24>>24)a0=M;else{if($=j&255,a0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,h0=Dx($|0,0,a0&255|0)|0,!((h0|0)==0&(v0|0)==0)){f=103;break}y0=s[x0>>0]|0,w=Ix($|0,0,f&7|0)|0,h0=v0,w=y0|w,f=x0,y0=f,n[y0>>0]=w,n[y0+1>>0]=w>>8,n[y0+2>>0]=w>>16,n[y0+3>>0]=w>>24,f=f+4|0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,f=(e[p>>2]|0)+(a0&255)|0,e[p>>2]=f,a0=M+-1|0}if(a0>>>0>=3){if(x0=a0+-3|0,a0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,n0=k+(f>>>3)|0,h0=Dx($|0,x0|0,a0|0)|0,!((h0|0)==0&(v0|0)==0)){f=112;break}h0=s[n0>>0]|0,y0=Ix($|0,x0|0,f&7|0)|0,q=v0,y0=h0|y0,f=n0,h0=f,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,f=f+4|0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,f=(e[p>>2]|0)+a0|0,e[p>>2]=f,q=j;continue}for(q=j&255,M=404394+q|0,q=14380+(q<<2)|0;;){if(!a0){q=j;continue x}if($=n[M>>0]|0,x0=e[q>>2]|0,n0=k+(f>>>3)|0,h0=Dx(x0|0,0,$&255|0)|0,!((h0|0)==0&(v0|0)==0)){f=109;break x}h0=s[n0>>0]|0,c=Ix(x0|0,0,f&7|0)|0,y0=v0,c=h0|c,h0=n0,w=h0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,h0=(e[p>>2]|0)+($&255)|0,e[p>>2]=h0,f=h0,a0=a0+-1|0}}if((f|0)==99)V0(406196,406218,54,406251);else if((f|0)==103)V0(406196,406218,54,406251);else if((f|0)==109)V0(406196,406218,54,406251);else if((f|0)==112)V0(406196,406218,54,406251);else if((f|0)==114){c0=b0;return}}for(h0=Ix(1,0,f0|0)|0,e0=v0,h0=s0|h0,f=t0,a0=f,n[a0>>0]=h0,n[a0+1>>0]=h0>>8,n[a0+2>>0]=h0>>16,n[a0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+2|0,e[p>>2]=f,e0=D0+-1|0,a0=k+(f>>>3)|0,(e0&-4|0)==0&!0||V0(406196,406218,54,406251),q=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,$=v0,h0=q|h0,q=a0,n0=q,n[n0>>0]=h0,n[n0+1>>0]=h0>>8,n[n0+2>>0]=h0>>16,n[n0+3>>0]=h0>>24,q=q+4|0,n[q>>0]=$,n[q+1>>0]=$>>8,n[q+2>>0]=$>>16,n[q+3>>0]=$>>24,q=(e[p>>2]|0)+2|0,e[p>>2]=q,$=D0+-1|0,n0=0;(n0|0)!=(D0|0);){for(x0=w0+(n0<<2)|0,f=n0;M=f+1|0,(f|0)!=($|0);){if(f=w0+(M<<2)|0,e0=e[f>>2]|0,a0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+a0>>0]|0)){f=M;continue}e[f>>2]=a0,e[x0>>2]=e0,f=M}n0=n0+1|0}switch(D0|0){case 2:{f=e[w0>>2]|0,e0=k+(q>>>3)|0,a0=s[e0>>0]|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),h0=Ix(f|0,0,q&7|0)|0,f=v0,h0=a0|h0,a0=e0,e0=a0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,e0=e[w0+4>>2]|0,f=k+(a0>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Ix(e0|0,0,a0&7|0)|0,y0=v0,w0=h0|w0,h0=f,k=h0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=b0;return}case 3:{f=e[w0>>2]|0,e0=k+(q>>>3)|0,a0=s[e0>>0]|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),f=Ix(f|0,0,q&7|0)|0,h0=v0,a0=a0|f,f=e0,e0=f,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,f=f+4|0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,e0=v0,h0=y0|h0,f=a0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,e0=e[w0+8>>2]|0,f=k+(a0>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Ix(e0|0,0,a0&7|0)|0,y0=v0,w0=h0|w0,h0=f,k=h0,n[k>>0]=w0,n[k+1>>0]=w0>>8,n[k+2>>0]=w0>>16,n[k+3>>0]=w0>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=b0;return}default:{$=e[w0>>2]|0,f=k+(q>>>3)|0,e0=s[f>>0]|0,(Dx($|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),l>>>0>=57&&V0(406267,406218,55,406251),h0=Ix($|0,0,q&7|0)|0,a0=v0,h0=e0|h0,e0=f,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=a0,n[f+1>>0]=a0>>8,n[f+2>>0]=a0>>16,n[f+3>>0]=a0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,e0=v0,h0=y0|h0,f=a0,a0=f,n[a0>>0]=h0,n[a0+1>>0]=h0>>8,n[a0+2>>0]=h0>>16,n[a0+3>>0]=h0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+8>>2]|0,a0=k+(f>>>3)|0,(Dx(e0|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[a0>>0]|0,h0=Ix(e0|0,0,f&7|0)|0,f=v0,h0=y0|h0,e0=a0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,a0=a0+4|0,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,a0=(e[p>>2]|0)+l|0,e[p>>2]=a0,f=e[w0+12>>2]|0,e0=k+(a0>>>3)|0,(Dx(f|0,0,l|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),y0=s[e0>>0]|0,D0=Ix(f|0,0,a0&7|0)|0,h0=v0,D0=y0|D0,y0=e0,w0=y0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,y0=y0+4|0,n[y0>>0]=h0,n[y0+1>>0]=h0>>8,n[y0+2>>0]=h0>>16,n[y0+3>>0]=h0>>24,y0=(e[p>>2]|0)+l|0,e[p>>2]=y0,h0=k+(y0>>>3)|0,l=s[h0>>0]|0,k=Ix((n[d+$>>0]|0)==1|0,0,y0&7|0)|0,y0=v0,k=l|k,l=h0,n[l>>0]=k,n[l+1>>0]=k>>8,n[l+2>>0]=k>>16,n[l+3>>0]=k>>24,h0=h0+4|0,n[h0>>0]=y0,n[h0+1>>0]=y0>>8,n[h0+2>>0]=y0>>16,n[h0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=b0;return}}}function hm(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0,M,q,j){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0,M=M|0,q=q|0,j=j|0;var t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0;for(cx=c0,c0=c0+2704|0,gx=cx+1800|0,Rx=cx+900|0,wx=cx,k4(k,l,q,j),X0=c+8|0,u0=Tx[e[c>>2]&1](e[X0>>2]|0,11272)|0,u0||Px(1),G0=e[M>>2]|0,H0=e[M+8>>2]|0,l=e[M+12>>2]|0,xx=e[M+4>>2]|0,e[gx>>2]=256,e[gx+4>>2]=G0,e[gx+8>>2]=H0,e[gx+12>>2]=l,e[gx+16>>2]=xx,e[gx+20>>2]=1,e[gx+24>>2]=0,e[gx+880>>2]=0,xx?l=e[l>>2]|0:l=0,e[gx+884>>2]=l,e[gx+888>>2]=0,H0=gx+892|0,e[H0>>2]=0,xx=gx+896|0,e[xx>>2]=0,I0=e[M+24>>2]|0,U0=e[M+32>>2]|0,l=e[M+36>>2]|0,G0=e[M+28>>2]|0,e[Rx>>2]=704,e[Rx+4>>2]=I0,e[Rx+8>>2]=U0,e[Rx+12>>2]=l,e[Rx+16>>2]=G0,e[Rx+20>>2]=1,e[Rx+24>>2]=0,e[Rx+880>>2]=0,G0?l=e[l>>2]|0:l=0,e[Rx+884>>2]=l,e[Rx+888>>2]=0,U0=Rx+892|0,e[U0>>2]=0,G0=Rx+896|0,e[G0>>2]=0,O0=e[M+48>>2]|0,B0=e[M+56>>2]|0,l=e[M+60>>2]|0,I0=e[M+52>>2]|0,e[wx>>2]=e0+16+(48<<a0),e[wx+4>>2]=O0,e[wx+8>>2]=B0,e[wx+12>>2]=l,e[wx+16>>2]=I0,e[wx+20>>2]=1,e[wx+24>>2]=0,e[wx+880>>2]=0,I0?l=e[l>>2]|0:l=0,e[wx+884>>2]=l,e[wx+888>>2]=0,B0=wx+892|0,e[B0>>2]=0,I0=wx+896|0,e[I0>>2]=0,S4(gx,u0,q,j),S4(Rx,u0,q,j),S4(wx,u0,q,j),l=e[q>>2]|0,t0=j+(l>>>3)|0,s0=s[t0>>0]|0,(a0&-4|0)==0&!0||V0(406196,406218,54,406251),f0=Ix(a0|0,0,l&7|0)|0,l=v0,s0=s0|f0,f0=t0,t0=f0,n[t0>>0]=s0,n[t0+1>>0]=s0>>8,n[t0+2>>0]=s0>>16,n[t0+3>>0]=s0>>24,f0=f0+4|0,n[f0>>0]=l,n[f0+1>>0]=l>>8,n[f0+2>>0]=l>>16,n[f0+3>>0]=l>>24,f0=(e[q>>2]|0)+2|0,e[q>>2]=f0,l=e0>>>a0,t0=j+(f0>>>3)|0,s0=s[t0>>0]|0,(l&-16|0)==0&!0||V0(406196,406218,54,406251),O0=Ix(l|0,0,f0&7|0)|0,l=v0,O0=s0|O0,a0=t0,n[a0>>0]=O0,n[a0+1>>0]=O0>>8,n[a0+2>>0]=O0>>16,n[a0+3>>0]=O0>>24,t0=t0+4|0,n[t0>>0]=l,n[t0+1>>0]=l>>8,n[t0+2>>0]=l>>16,n[t0+3>>0]=l>>24,t0=(e[q>>2]|0)+4|0,e[q>>2]=t0,l=($&-4|0)==0&!0,a0=0;!(a0>>>0>=(e[M>>2]|0)>>>0);){if(s0=j+(t0>>>3)|0,f0=s[s0>>0]|0,!l){l0=16;break}b0=Ix($|0,0,t0&7|0)|0,h0=v0,b0=f0|b0,O0=s0,y0=O0,n[y0>>0]=b0,n[y0+1>>0]=b0>>8,n[y0+2>>0]=b0>>16,n[y0+3>>0]=b0>>24,O0=O0+4|0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,O0=(e[q>>2]|0)+2|0,e[q>>2]=O0,t0=O0,a0=a0+1|0}for((l0|0)==16&&V0(406196,406218,54,406251),O0=M+76|0,l=e[O0>>2]|0,s0=M+92|0,t0=e[s0>>2]|0,l?gm(c,e[M+72>>2]|0,l,t0,u0,q,j):bm(t0,6,u0,q,j),h0=M+84|0,l=e[h0>>2]|0,e0=M+108|0,t0=e[e0>>2]|0,l?gm(c,e[M+80>>2]|0,l,t0,u0,q,j):bm(t0,2,u0,q,j),f0=e[M+88>>2]|0,s0=e[s0>>2]|0,a0=e[gx>>2]|0,l=rx(s0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[H0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[xx>>2]=l,l=f0,t0=0;(t0|0)!=(s0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*1040|0)|0,a0,u0,(e[H0>>2]|0)+y0|0,(e[xx>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;for(s0=e[M+96>>2]|0,f0=e[M+100>>2]|0,a0=e[Rx>>2]|0,l=rx(f0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[U0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[G0>>2]=l,l=s0,t0=0;(t0|0)!=(f0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*2832|0)|0,a0,u0,(e[U0>>2]|0)+y0|0,(e[G0>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;for(s0=e[M+104>>2]|0,f0=e[e0>>2]|0,a0=e[wx>>2]|0,l=rx(f0,a0)|0,t0=Tx[e[c>>2]&1](e[X0>>2]|0,l)|0,t0||Px(1),e[B0>>2]=t0,l=Tx[e[c>>2]&1](e[X0>>2]|0,l<<1)|0,l||Px(1),e[I0>>2]=l,l=s0,t0=0;(t0|0)!=(f0|0);)y0=rx(t0,a0)|0,Hr(l+(t0*2096|0)|0,a0,u0,(e[B0>>2]|0)+y0|0,(e[I0>>2]|0)+(y0<<1)|0,q,j),t0=t0+1|0;y0=c+4|0,vx[e[y0>>2]&1](e[X0>>2]|0,u0),b0=M+80|0,w0=M+72|0,t0=w,l=p,D0=0;x:for(;;){if(D0>>>0>=n0>>>0){l0=87;break}c=e[x0+(D0<<4)>>2]|0,a0=e[x0+(D0<<4)+4>>2]|0,m0=e[x0+(D0<<4)+8>>2]|0,p=e[x0+(D0<<4)+12>>2]|0,w=p&65535,C0=p>>>16,d0=p&65535,F4(Rx,d0,q,j),M=a0&16777215,a0=M^a0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Ax(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Ax(c+-66|0)|0)^31)+10|0;break}if(c>>>0<6210){f0=21;break}f0=c>>>0<22594?22:23}while(!1);do if(a0>>>0<10)s0=a0+65534|0;else{if(a0>>>0<134){u0=a0+-6|0,s0=((Ax(u0|0)|0)^31)+-1|0,s0=(s0<<1)+(u0>>>s0)+4|0;break}if(a0>>>0>=2118){s0=23;break}s0=((Ax(a0+-70|0)|0)^31)+12|0}while(!1);if(f0=f0&65535,l0=e[17268+(f0<<2)>>2]|0,f0=c-(e[18788+(f0<<2)>>2]|0)|0,e0=s0&65535,a0=Ix(a0-(e[17364+(e0<<2)>>2]|0)|0,0,l0|0)|0,s0=v0,f0=a0|f0,a0=l0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[q>>2]|0,l0=j+(e0>>>3)|0,u0=s[l0>>0]|0,ux=Dx(f0|0,s0|0,a0|0)|0,!((ux|0)==0&(v0|0)==0)){l0=61;break}if(a0>>>0>=57){l0=63;break}f0=Ix(f0|0,s0|0,e0&7|0)|0,e0=v0,f0=u0|f0,ux=l0,u0=ux,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,ux=ux+4|0,n[ux>>0]=e0,n[ux+1>>0]=e0>>8,n[ux+2>>0]=e0>>16,n[ux+3>>0]=e0>>24,e[q>>2]=(e[q>>2]|0)+a0;e:do if(e[O0>>2]|0)for(s0=f,f0=c;;){if(!f0)break e;switch($|0){case 0:{l=t0&63;break}case 1:{l=(t0&255)>>>2;break}case 2:{l=n[406969+(t0&255)>>0]|n[406969+(l&255|256)>>0];break}case 3:{l=((s[407481+(t0&255)>>0]|0)<<3)+(s[407481+(l&255)>>0]|0)&255;break}default:l=0}ux=n[h+(s0&d)>>0]|0,mm(gx,ux&255,l&255,e[w0>>2]|0,q,j,6),l=t0,t0=ux,s0=s0+1|0,f0=f0+-1|0}else for(s0=f,f0=c;;){if(!f0)break e;F4(gx,s[h+(s0&d)>>0]|0,q,j),s0=s0+1|0,f0=f0+-1|0}while(!1);u0=f+c+M|0;do if(M){if(l=n[h+(u0+-2&d)>>0]|0,t0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=m0>>>24,l0=m0&16777215,!(e[h0>>2]|0))F4(wx,C0,q,j);else{switch(s0=p&7,d0>>>6|0){case 7:case 4:case 2:case 0:{s0=s0>>>0<3?s0:3;break}default:s0=3}mm(wx,C0,s0,e[b0>>2]|0,q,j,2)}if(s0=e[q>>2]|0,f0=j+(s0>>>3)|0,a0=s[f0>>0]|0,ux=Dx(l0|0,0,e0|0)|0,!((ux|0)==0&(v0|0)==0)){l0=82;break x}if(m0>>>0>=956301312){l0=84;break x}d0=Ix(l0|0,0,s0&7|0)|0,m0=v0,d0=a0|d0,ux=f0,C0=ux,n[C0>>0]=d0,n[C0+1>>0]=d0>>8,n[C0+2>>0]=d0>>16,n[C0+3>>0]=d0>>24,ux=ux+4|0,n[ux>>0]=m0,n[ux+1>>0]=m0>>8,n[ux+2>>0]=m0>>16,n[ux+3>>0]=m0>>24,e[q>>2]=(e[q>>2]|0)+e0}while(!1);f=u0,D0=D0+1|0}if((l0|0)==61)V0(406196,406218,54,406251);else if((l0|0)==63)V0(406267,406218,55,406251);else if((l0|0)==82)V0(406196,406218,54,406251);else if((l0|0)==84)V0(406267,406218,55,406251);else if((l0|0)==87){if(vx[e[y0>>2]&1](e[X0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[I0>>2]|0),e[I0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[U0>>2]|0),e[U0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[G0>>2]|0),e[G0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[H0>>2]|0),e[H0>>2]=0,vx[e[y0>>2]&1](e[X0>>2]|0,e[xx>>2]|0),e[xx>>2]=0,!k){c0=cx;return}ux=(e[q>>2]|0)+7|0,e[q>>2]=ux&-8,n[j+(ux>>>3)>>0]=0,c0=cx;return}}function Qu(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+32|0,M=j+8|0,n0=j+16|0,k=j,q=f&l,f=p+((e[w>>2]|0)>>>3)|0,a0=s[f>>0]|0,e0=f,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,f=f+4|0,n[f>>0]=0,n[f+1>>0]=0,n[f+2>>0]=0,n[f+3>>0]=0,e[w>>2]=(e[w>>2]|0)+1,wm(d,M,n0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,a0=p+(e0>>>3)|0,$=s[a0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||V0(406196,406218,54,406251),f=Ix(f|0,k|0,e0&7|0)|0,k=v0,f=$|f,x0=a0,$=x0,n[$>>0]=f,n[$+1>>0]=f>>8,n[$+2>>0]=f>>16,n[$+3>>0]=f>>24,x0=x0+4|0,n[x0>>0]=k,n[x0+1>>0]=k>>8,n[x0+2>>0]=k>>16,n[x0+3>>0]=k>>24,x0=(e[w>>2]|0)+2|0,e[w>>2]=x0,$=e[n0>>2]|0,k=M,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,a0=s[e0>>0]|0,M=Dx(f|0,k|0,$|0)|0,(M|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$>>>0>=57&&V0(406267,406218,55,406251),M=Ix(f|0,k|0,x0&7|0)|0,f=v0,M=a0|M,x0=e0,n0=x0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>24,x0=x0+4|0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,x0=(e[w>>2]|0)+$|0,e[w>>2]=x0,f=p+(x0>>>3)|0,n0=s[f>>0]|0,x0=Ix(1,0,x0&7|0)|0,M=v0,x0=n0|x0,n0=f,n[n0>>0]=x0,n[n0+1>>0]=x0>>8,n[n0+2>>0]=x0>>16,n[n0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,e[w>>2]=(e[w>>2]|0)+1,f=(e[w>>2]|0)+7|0,e[w>>2]=f&-8,n[p+(f>>>3)>>0]=0,f=l+1|0,(q+d|0)>>>0>f>>>0?(f=f-q|0,$x(p+((e[w>>2]|0)>>>3)|0,h+q|0,f|0)|0,k=(e[w>>2]|0)+(f<<3)|0,e[w>>2]=k,d=d-f|0,f=0):(k=e[w>>2]|0,f=q),$x(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&V0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=j;return}h=e[w>>2]|0,l=p+(h>>>3)|0,q=s[l>>0]|0,h=Ix(1,0,h&7|0)|0,c=v0,h=q|h,q=l,n[q>>0]=h,n[q+1>>0]=h>>8,n[q+2>>0]=h>>16,n[q+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,l=(e[w>>2]|0)+1|0,e[w>>2]=l,c=p+(l>>>3)|0,q=s[c>>0]|0,l=Ix(1,0,l&7|0)|0,h=v0,l=q|l,q=c,n[q>>0]=l,n[q+1>>0]=l>>8,n[q+2>>0]=l>>16,n[q+3>>0]=l>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+8|0,e[w>>2]=c&-8,n[p+(c>>>3)>>0]=0,c0=j}function pm(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function k4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,a0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Ix(c&1|0,0,e[f>>2]&7|0)|0,e0=v0,p=k|p,k=d,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,d=d+4|0,n[d>>0]=e0,n[d+1>>0]=e0>>8,n[d+2>>0]=e0>>16,n[d+3>>0]=e0>>24,d=(e[f>>2]|0)+1|0,e[f>>2]=d,c&&(e0=l+(d>>>3)|0,p=s[e0>>0]|0,k=e0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e[f>>2]=(e[f>>2]|0)+1),wm(h,$,a0,w),h=w,d=e[h>>2]|0,h=e[h+4>>2]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,h>>>0<0|(h|0)==0&d>>>0<4||V0(406196,406218,54,406251),d=Ix(d|0,h|0,w&7|0)|0,h=v0,d=k|d,e0=p,k=e0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,e0=e0+4|0,n[e0>>0]=h,n[e0+1>>0]=h>>8,n[e0+2>>0]=h>>16,n[e0+3>>0]=h>>24,e0=(e[f>>2]|0)+2|0,e[f>>2]=e0,k=e[a0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=Dx(d|0,h|0,k|0)|0,($|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k>>>0>=57&&V0(406267,406218,55,406251),e0=Ix(d|0,h|0,e0&7|0)|0,$=v0,e0=p|e0,d=w,a0=d,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,d=d+4|0,n[d>>0]=$,n[d+1>>0]=$>>8,n[d+2>>0]=$>>16,n[d+3>>0]=$>>24,d=(e[f>>2]|0)+k|0,e[f>>2]=d,c){c0=x0;return}l=l+(d>>>3)|0,$=s[l>>0]|0,c=l,n[c>>0]=$,n[c+1>>0]=$>>8,n[c+2>>0]=$>>16,n[c+3>>0]=$>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[f>>2]=(e[f>>2]|0)+1,c0=x0}function S4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0;t0=c0,c0=c0+1136|0,j=t0+104|0,q=t0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,n0=e[c+16>>2]|0,M=e[c+4>>2]|0,Vx(j|0,0,(M<<2)+8|0)|0,w=q,p=w+104|0;do e[w>>2]=0,w=w+4|0;while((w|0)<(p|0));for($=0,x0=1,w=0;($|0)!=(n0|0);){for(a0=s[d+$>>0]|0,(a0|0)==(x0+1|0)?w=1:w=(a0|0)==(w|0)?0:a0+2|0,$&&(e0=j+(w<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1),w=e[k+($<<2)>>2]|0,w>>>0>176?e0=w>>>0>752?20:14:e0=w>>>0>40?7:0;!(e0>>>0>=25||(p=e0+1|0,w>>>0<(e[17556+(p<<3)>>2]|0)>>>0));)e0=p;w=q+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=a0}if(P4(M+-1|0,f,l),M>>>0<=1){c0=t0;return}for(n0=c+20|0,Hr(j,M+2|0,h,c+28|0,c+286|0,f,l),Hr(q,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,j=s[d>>0]|0,e[c+24>>2]=e[n0>>2],e[n0>>2]=j,w>>>0>176?p=w>>>0>752?20:14:p=w>>>0>40?7:0;!(p>>>0>=25||(d=p+1|0,w>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)p=d;$=e[17556+(p<<3)+4>>2]|0,a0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=_[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=Dx(d|0,0,e0&255|0)|0,(c|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)>=57&&V0(406267,406218,55,406251),c=Ix(d|0,0,w&7|0)|0,d=v0,c=k|c,w=p,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,p=p+4|0,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,p=(e[f>>2]|0)+(e0&255)|0,e[f>>2]=p,d=l+(p>>>3)|0,w=s[d>>0]|0,l=Dx(a0|0,0,$|0)|0,(l|0)==0&(v0|0)==0||V0(406196,406218,54,406251),h=Ix(a0|0,0,p&7|0)|0,c=v0,h=w|h,l=d,j=l,n[j>>0]=h,n[j+1>>0]=h>>8,n[j+2>>0]=h>>16,n[j+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+$,c0=t0}function bm(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0;if(f0=c0,c0=c0+1904|0,$=f0,s0=f0+1632|0,t0=f0+1088|0,P4(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(q=h+-1|0,j=(1<<q)+-1|0,a0=q+c|0,Vx($|0,0,a0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Ix(1,0,e0&7|0)|0,p=v0,e0=k|e0,k=w,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,w=w+4|0,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,w=(e[l>>2]|0)+1|0,e[l>>2]=w,p=h+-2|0,k=d+(w>>>3)|0,e0=s[k>>0]|0,(p&-16|0)==0&!0||V0(406196,406218,54,406251),x0=Ix(p|0,0,w&7|0)|0,M=v0,x0=e0|x0,w=k,n0=w,n[n0>>0]=x0,n[n0+1>>0]=x0>>8,n[n0+2>>0]=x0>>16,n[n0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=M,n[w+1>>0]=M>>8,n[w+2>>0]=M>>16,n[w+3>>0]=M>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(q<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=a0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(Hr($,a0,f,s0,t0,l,d),$=s0+q|0,f=t0+(q<<1)|0,x0=Dx(j|0,0,q|0)|0,x0=(x0|0)==0&(v0|0)==0,n0=q>>>0<57,M=0;;){if(M>>>0>=c>>>0){w=22;break}if(p=(M|0)==0?0:M+h+-1|0,w=n[s0+p>>0]|0,p=_[t0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,a0=s[e0>>0]|0,l0=Dx(p|0,0,w&255|0)|0,!((l0|0)==0&(v0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Ix(p|0,0,k&7|0)|0,k=v0,a0=a0|p,p=e0,e0=p,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,p=p+4|0,n[p>>0]=k,n[p+1>>0]=k>>8,n[p+2>>0]=k>>16,n[p+3>>0]=k>>24,w=(e[l>>2]|0)+(w&255)|0,e[l>>2]=w,p=n[$>>0]|0,k=_[f>>1]|0,e0=d+(w>>>3)|0,a0=s[e0>>0]|0,l0=Dx(k|0,0,p&255|0)|0,!((l0|0)==0&(v0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Ix(k|0,0,w&7|0)|0,k=v0,a0=a0|w,w=e0,l0=w,n[l0>>0]=a0,n[l0+1>>0]=a0>>8,n[l0+2>>0]=a0>>16,n[l0+3>>0]=a0>>24,w=w+4|0,n[w>>0]=k,n[w+1>>0]=k>>8,n[w+2>>0]=k>>16,n[w+3>>0]=k>>24,w=(e[l>>2]|0)+(p&255)|0,e[l>>2]=w,p=d+(w>>>3)|0,k=s[p>>0]|0,!x0){w=18;break}if(!n0){w=20;break}l0=Ix(j|0,0,w&7|0)|0,a0=v0,k=k|l0,l0=p,e0=l0,n[e0>>0]=k,n[e0+1>>0]=k>>8,n[e0+2>>0]=k>>16,n[e0+3>>0]=k>>24,l0=l0+4|0,n[l0>>0]=a0,n[l0+1>>0]=a0>>8,n[l0+2>>0]=a0>>16,n[l0+3>>0]=a0>>24,e[l>>2]=(e[l>>2]|0)+q,M=M+1|0}if((w|0)==10)V0(406196,406218,54,406251);else if((w|0)==12)V0(406267,406218,55,406251);else if((w|0)==14)V0(406196,406218,54,406251);else if((w|0)==16)V0(406267,406218,55,406251);else if((w|0)==18)V0(406196,406218,54,406251);else if((w|0)==20)V0(406267,406218,55,406251);else if((w|0)==22){s0=e[l>>2]|0,l0=d+(s0>>>3)|0,c=s[l0>>0]|0,s0=Ix(1,0,s0&7|0)|0,d=v0,s0=c|s0,c=l0,n[c>>0]=s0,n[c+1>>0]=s0>>8,n[c+2>>0]=s0>>16,n[c+3>>0]=s0>>24,l0=l0+4|0,n[l0>>0]=d,n[l0+1>>0]=d>>8,n[l0+2>>0]=d>>16,n[l0+3>>0]=d>>24,e[l>>2]=(e[l>>2]|0)+1,c0=f0;return}}function gm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0;if(C0=c0,c0=c0+2160|0,n0=C0+1088|0,t0=C0,d0=C0+1888|0,u0=C0+1344|0,P4(l+-1|0,w,p),(l|0)==1){c0=C0;return}f0=c+8|0,l0=Tx[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,l0||Px(1);x:do if(!f)s0=l0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)j=e[h+(e0<<2)>>2]|0,k=j>>>0>k>>>0?j:k,e0=e0+1|0;for(k>>>0<256?a0=0:V0(405316,404333,616,405333);!(a0>>>0>k>>>0);)n[n0+a0>>0]=a0,a0=a0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){s0=l0;break x}for(k=e[h+(x0<<2)>>2]&255,a0=0;;){if(a0>>>0>=$>>>0)break e;if((n[n0+a0>>0]|0)==k<<24>>24)break;a0=a0+1|0}for(e[l0+(x0<<2)>>2]=a0,e0=n[n0+a0>>0]|0,k=a0;k;)j=k+-1|0,n[n0+k>>0]=n[n0+j>>0]|0,k=j;n[n0>>0]=e0,x0=x0+1|0}V0(405354,404333,624,405333)}while(!1);for(e[n0>>2]=0,k=0,a0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[s0+(k<<2)>>2]|0)){e0=0;break}j=k+1|0,e[n0>>2]=j,k=j}for(;!(k>>>0>=f>>>0||e[s0+(k<<2)>>2]|0);)j=k+1|0,e[n0>>2]=j,k=j,e0=e0+1|0;a0=e0>>>0>a0>>>0?e0:a0}for(a0?(j=(Ax(a0|0)|0)^31,j=j>>>0<6?j:6):j=0,e[n0>>2]=0,$=2<<j,x0=j+((512<<j)+-512)|0,h=$+-1|0,a0=0,M=0;!(a0>>>0>=f>>>0);){if(M>>>0>a0>>>0){q=38;break}k=e[s0+(a0<<2)>>2]|0;x:do if(k)e[s0+(M<<2)>>2]=k+j,e[n0>>2]=(e[n0>>2]|0)+1,k=M+1|0;else{for(k=a0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[s0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[n0>>2]=a0+e0,k=M;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[s0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}M=(Ax(e0|0)|0)^31,e[s0+(k<<2)>>2]=M|e0-(1<<M)<<9,k=k+1|0}while(!1);a0=e[n0>>2]|0,M=k}for((q|0)==38&&V0(405282,404333,656,405297),Vx(t0|0,0,1088)|0,k=0;(k|0)!=(M|0);)q=t0+((e[s0+(k<<2)>>2]&511)<<2)|0,e[q>>2]=(e[q>>2]|0)+1,k=k+1|0;q=(j|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Ix(q&1|0,0,h&7|0)|0,n0=v0,h=f|h,f=k,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,k=k+4|0,n[k>>0]=n0,n[k+1>>0]=n0>>8,n[k+2>>0]=n0>>16,n[k+3>>0]=n0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(q)if(e0=j+-1|0,a0=p+(k>>>3)|0,$=s[a0>>0]|0,(e0&-16|0)==0&!0){h=Ix(e0|0,0,k&7|0)|0,n0=v0,h=$|h,q=a0,f=q,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,q=q+4|0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else V0(406196,406218,54,406251);while(!1);for(Hr(t0,j+l|0,d,d0,u0,w,p),n0=0;;){if(n0>>>0>=M>>>0){q=70;break}if(f=e[s0+(n0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[d0+h>>0]|0,e0=_[u0+(h<<1)>>1]|0,a0=e[w>>2]|0,$=p+(a0>>>3)|0,x0=s[$>>0]|0,d=Dx(e0|0,0,k&255|0)|0,!((d|0)==0&(v0|0)==0)){q=60;break}if((k&255)>=57){q=62;break}if(q=Ix(e0|0,0,a0&7|0)|0,l=v0,q=x0|q,d=$,t0=d,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,k=(e[w>>2]|0)+(k&255)|0,e[w>>2]=k,!((h|0)==0|h>>>0>j>>>0)){if(e0=p+(k>>>3)|0,a0=s[e0>>0]|0,d=Dx(f|0,0,h|0)|0,!((d|0)==0&(v0|0)==0)){q=65;break}if(h>>>0>=57){q=67;break}q=Ix(f|0,0,k&7|0)|0,l=v0,q=a0|q,d=e0,t0=d,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,e[w>>2]=(e[w>>2]|0)+h}n0=n0+1|0}if((q|0)==60)V0(406196,406218,54,406251);else if((q|0)==62)V0(406267,406218,55,406251);else if((q|0)==65)V0(406196,406218,54,406251);else if((q|0)==67)V0(406267,406218,55,406251);else if((q|0)==70){s0=e[w>>2]|0,p=p+(s0>>>3)|0,u0=s[p>>0]|0,s0=Ix(1,0,s0&7|0)|0,d0=v0,s0=u0|s0,u0=p,n[u0>>0]=s0,n[u0+1>>0]=s0>>8,n[u0+2>>0]=s0>>16,n[u0+3>>0]=s0>>24,p=p+4|0,n[p>>0]=d0,n[p+1>>0]=d0>>8,n[p+2>>0]=d0>>16,n[p+3>>0]=d0>>24,e[w>>2]=(e[w>>2]|0)+1,vx[e[c+4>>2]&1](e[f0>>2]|0,l0),c0=C0;return}}function F4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;q=c+884|0,d=e[q>>2]|0;do if(d)M=c+888|0,j=d;else{for(x0=c+880|0,w=(e[x0>>2]|0)+1|0,e[x0>>2]=w,x0=e[(e[c+12>>2]|0)+(w<<2)>>2]|0,w=n[(e[c+8>>2]|0)+w>>0]|0,e[q>>2]=x0,w=w&255,n0=c+888|0,e[n0>>2]=rx(w,e[c>>2]|0)|0,p=c+20|0,k=e[p>>2]|0,d=c+24|0,(w|0)==(k+1|0)?e0=1:e0=(w|0)==(e[d>>2]|0)?0:w+2|0,e[d>>2]=k,e[p>>2]=w,a0=n[c+28+e0>>0]|0,d=_[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=Dx(d|0,0,a0&255|0)|0,($|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(a0&255)>=57&&V0(406267,406218,55,406251),w=Ix(d|0,0,w&7|0)|0,e0=v0,w=k|w,$=p,k=$,n[k>>0]=w,n[k+1>>0]=w>>8,n[k+2>>0]=w>>16,n[k+3>>0]=w>>24,$=$+4|0,n[$>>0]=e0,n[$+1>>0]=e0>>8,n[$+2>>0]=e0>>16,n[$+3>>0]=e0>>24,e[f>>2]=(e[f>>2]|0)+(a0&255),x0>>>0>176?w=x0>>>0>752?20:14:w=x0>>>0>40?7:0;!(w>>>0>=25||(d=w+1|0,x0>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)w=d;if($=e[17556+(w<<3)+4>>2]|0,a0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=_[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=Dx(d|0,0,e0&255|0)|0,(x0|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)>=57&&V0(406267,406218,55,406251),x0=Ix(d|0,0,w&7|0)|0,d=v0,x0=k|x0,w=p,p=w,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,w=w+4|0,n[w>>0]=d,n[w+1>>0]=d>>8,n[w+2>>0]=d>>16,n[w+3>>0]=d>>24,w=(e[f>>2]|0)+(e0&255)|0,e[f>>2]=w,p=l+(w>>>3)|0,d=s[p>>0]|0,x0=Dx(a0|0,0,$|0)|0,(x0|0)==0&(v0|0)==0){a0=Ix(a0|0,0,w&7|0)|0,j=v0,a0=d|a0,M=p,x0=M,n[x0>>0]=a0,n[x0+1>>0]=a0>>8,n[x0+2>>0]=a0>>16,n[x0+3>>0]=a0>>24,M=M+4|0,n[M>>0]=j,n[M+1>>0]=j>>8,n[M+2>>0]=j>>16,n[M+3>>0]=j>>24,e[f>>2]=(e[f>>2]|0)+$,M=n0,j=e[q>>2]|0;break}else V0(406196,406218,54,406251)}while(!1);if(e[q>>2]=j+-1,p=(e[M>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=_[(e[c+896>>2]|0)+(p<<1)>>1]|0,k=e[f>>2]|0,d=l+(k>>>3)|0,w=s[d>>0]|0,l=Dx(p|0,0,e0&255|0)|0,(l|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(e0&255)<57){j=Ix(p|0,0,k&7|0)|0,c=v0,j=w|j,l=d,h=l,n[h>>0]=j,n[h+1>>0]=j>>8,n[h+2>>0]=j>>16,n[h+3>>0]=j>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+(e0&255);return}else V0(406267,406218,55,406251)}function mm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0;t0=c+884|0,k=e[t0>>2]|0;do if(k)j=c+888|0,s0=k;else{for(M=c+880|0,a0=(e[M>>2]|0)+1|0,e[M>>2]=a0,M=e[(e[c+12>>2]|0)+(a0<<2)>>2]|0,a0=n[(e[c+8>>2]|0)+a0>>0]|0,e[t0>>2]=M,a0=a0&255,q=c+888|0,e[q>>2]=a0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(a0|0)==(e0+1|0)?$=1:$=(a0|0)==(e[k>>2]|0)?0:a0+2|0,e[k>>2]=e0,e[p>>2]=a0,x0=n[c+28+$>>0]|0,k=_[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,a0=s[e0>>0]|0,n0=Dx(k|0,0,x0&255|0)|0,(n0|0)==0&(v0|0)==0||V0(406196,406218,54,406251),(x0&255)>=57&&V0(406267,406218,55,406251),p=Ix(k|0,0,p&7|0)|0,$=v0,p=a0|p,n0=e0,a0=n0,n[a0>>0]=p,n[a0+1>>0]=p>>8,n[a0+2>>0]=p>>16,n[a0+3>>0]=p>>24,n0=n0+4|0,n[n0>>0]=$,n[n0+1>>0]=$>>8,n[n0+2>>0]=$>>16,n[n0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),M>>>0>176?p=M>>>0>752?20:14:p=M>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,M>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(n0=e[17556+(p<<3)+4>>2]|0,x0=M-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=_[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,a0=s[e0>>0]|0,M=Dx(k|0,0,$&255|0)|0,(M|0)==0&(v0|0)==0||V0(406196,406218,54,406251),($&255)>=57&&V0(406267,406218,55,406251),M=Ix(k|0,0,p&7|0)|0,p=v0,M=a0|M,k=e0,e0=k,n[e0>>0]=M,n[e0+1>>0]=M>>8,n[e0+2>>0]=M>>16,n[e0+3>>0]=M>>24,k=k+4|0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,k=(e[d>>2]|0)+($&255)|0,e[d>>2]=k,p=w+(k>>>3)|0,e0=s[p>>0]|0,M=Dx(x0|0,0,n0|0)|0,(M|0)==0&(v0|0)==0){x0=Ix(x0|0,0,k&7|0)|0,s0=v0,x0=e0|x0,j=p,M=j,n[M>>0]=x0,n[M+1>>0]=x0>>8,n[M+2>>0]=x0>>16,n[M+3>>0]=x0>>24,j=j+4|0,n[j>>0]=s0,n[j+1>>0]=s0>>8,n[j+2>>0]=s0>>16,n[j+3>>0]=s0>>24,e[d>>2]=(e[d>>2]|0)+n0,j=q,s0=e[t0>>2]|0;break}else V0(406196,406218,54,406251)}while(!1);if(e[t0>>2]=s0+-1,e0=(rx(e[l+((e[j>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=_[(e[c+896>>2]|0)+(e0<<1)>>1]|0,a0=e[d>>2]|0,k=w+(a0>>>3)|0,p=s[k>>0]|0,w=Dx(e0|0,0,$&255|0)|0,(w|0)==0&(v0|0)==0||V0(406196,406218,54,406251),($&255)<57){l=Ix(e0|0,0,a0&7|0)|0,c=v0,l=p|l,w=k,h=w,n[h>>0]=l,n[h+1>>0]=l>>8,n[h+2>>0]=l>>16,n[h+3>>0]=l>>24,w=w+4|0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,e[d>>2]=(e[d>>2]|0)+($&255);return}else V0(406267,406218,55,406251)}function ym(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;for(j=p+2816|0,t0=w+1024|0,s0=k+2080|0,q=0;(q|0)!=(d|0);){for(n0=e[l+(q<<4)>>2]|0,e0=e[l+(q<<4)+4>>2]|0,a0=e[l+(q<<4)+12>>2]|0,M=a0&65535,x0=a0>>>16,a0=p+((a0&65535)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,e[j>>2]=(e[j>>2]|0)+1,a0=h,$=n0;$;)f0=w+((s[c+(a0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[t0>>2]=(e[t0>>2]|0)+1,a0=a0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(M&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[s0>>2]=(e[s0>>2]|0)+1),h=h+n0+e0|0,q=q+1|0}}function Hr(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;for(M=c0,c0=c0+16|0,x0=M,e[x0>>2]=0,e[x0+4>>2]=0,e[x0+8>>2]=0,e[x0+12>>2]=0,$=0,e0=0;!(e0>>>0>=h>>>0);){if(!(e[c+(e0<<2)>>2]|0))k=$;else{if($>>>0>=4){if($>>>0>4)break}else e[x0+($<<2)>>2]=e0;k=$+1|0}$=k,e0=e0+1|0}for(n0=0,k=h+-1|0;k;)n0=n0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Ix(1,0,e0&7|0)|0,h=v0,e0=k|e0,k=c,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+4|0,e[w>>2]=c,h=e[x0>>2]|0,k=p+(c>>>3)|0,e0=s[k>>0]|0,p=Dx(h|0,0,n0|0)|0,(p|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),f=Ix(h|0,0,c&7|0)|0,$=v0,f=e0|f,p=k,a0=p,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,p=p+4|0,n[p>>0]=$,n[p+1>>0]=$>>8,n[p+2>>0]=$>>16,n[p+3>>0]=$>>24,e[w>>2]=(e[w>>2]|0)+n0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=M;return}if(Vx(l|0,0,h|0)|0,lo(c,h,15,f,l),qn(l,h,d),$>>>0>=5){v7(l,h,f,w,p),c0=M;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Ix(1,0,e[w>>2]&7|0)|0,e0=v0,h=c|h,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+2|0,e[w>>2]=k,e0=$+-1|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(e0&-4|0)==0&!0||V0(406196,406218,54,406251),f=Ix(e0|0,0,k&7|0)|0,d=v0,f=h|f,h=c,a0=h,n[a0>>0]=f,n[a0+1>>0]=f>>8,n[a0+2>>0]=f>>16,n[a0+3>>0]=f>>24,h=h+4|0,n[h>>0]=d,n[h+1>>0]=d>>8,n[h+2>>0]=d>>16,n[h+3>>0]=d>>24,e[w>>2]=(e[w>>2]|0)+2,h=$+-1|0,d=0;(d|0)!=($|0);){for(f=x0+(d<<2)|0,k=d;a0=k+1|0,(k|0)!=(h|0);){if(k=x0+(a0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=a0;continue}e[k>>2]=c,e[f>>2]=e0,k=a0}d=d+1|0}switch($|0){case 2:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),e0=Ix(k|0,0,e0&7|0)|0,k=v0,e0=h|e0,h=c,c=h,n[c>>0]=e0,n[c+1>>0]=e0>>8,n[c+2>>0]=e0>>16,n[c+3>>0]=e0>>24,h=h+4|0,n[h>>0]=k,n[h+1>>0]=k>>8,n[h+2>>0]=k>>16,n[h+3>>0]=k>>24,h=(e[w>>2]|0)+n0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(Dx(c|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$=Ix(c|0,0,h&7|0)|0,x0=v0,$=e0|$,p=k,l=p,n[l>>0]=$,n[l+1>>0]=$>>8,n[l+2>>0]=$>>16,n[l+3>>0]=$>>24,p=p+4|0,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,e[w>>2]=(e[w>>2]|0)+n0,c0=M;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),k=Ix(k|0,0,e0&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),e0=Ix(e0|0,0,k&7|0)|0,k=v0,e0=h|e0,h=c,c=h,n[c>>0]=e0,n[c+1>>0]=e0>>8,n[c+2>>0]=e0>>16,n[c+3>>0]=e0>>24,h=h+4|0,n[h>>0]=k,n[h+1>>0]=k>>8,n[h+2>>0]=k>>16,n[h+3>>0]=k>>24,h=(e[w>>2]|0)+n0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(Dx(c|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),$=Ix(c|0,0,h&7|0)|0,x0=v0,$=e0|$,p=k,l=p,n[l>>0]=$,n[l+1>>0]=$>>8,n[l+2>>0]=$>>16,n[l+3>>0]=$>>24,p=p+4|0,n[p>>0]=x0,n[p+1>>0]=x0>>8,n[p+2>>0]=x0>>16,n[p+3>>0]=x0>>24,e[w>>2]=(e[w>>2]|0)+n0,c0=M;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(Dx(k|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),n0>>>0>=57&&V0(406267,406218,55,406251),k=Ix(k|0,0,e0&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k=Ix(e0|0,0,k&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k=Ix(e0|0,0,k&7|0)|0,e0=v0,h=h|k,k=c,c=k,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,k=k+4|0,n[k>>0]=e0,n[k+1>>0]=e0>>8,n[k+2>>0]=e0>>16,n[k+3>>0]=e0>>24,k=(e[w>>2]|0)+n0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(Dx(e0|0,0,n0|0)|0)==0&(v0|0)==0||V0(406196,406218,54,406251),f=Ix(e0|0,0,k&7|0)|0,$=v0,f=h|f,a0=c,d=a0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,a0=a0+4|0,n[a0>>0]=$,n[a0+1>>0]=$>>8,n[a0+2>>0]=$>>16,n[a0+3>>0]=$>>24,a0=(e[w>>2]|0)+n0|0,e[w>>2]=a0,n0=p+(a0>>>3)|0,$=s[n0>>0]|0,l=Ix((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,a0&7|0)|0,p=v0,l=$|l,x0=n0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,n0=n0+4|0,n[n0>>0]=p,n[n0+1>>0]=p>>8,n[n0+2>>0]=p>>16,n[n0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=M;return}}}function O4(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0;w0=0;x:for(;;){if(w0>>>0>=d>>>0){h=42;break}if(u0=e[l+(w0<<4)>>2]|0,f0=e[l+(w0<<4)+4>>2]|0,D0=e[l+(w0<<4)+8>>2]|0,q=e[l+(w0<<4)+12>>2]|0,C0=q&65535,m0=q>>>16,q=q&65535,M=n[k+q>>0]|0,q=_[e0+(q<<1)>>1]|0,j=e[x0>>2]|0,t0=n0+(j>>>3)|0,s0=s[t0>>0]|0,d0=Dx(q|0,0,M&255|0)|0,!((d0|0)==0&(v0|0)==0)){h=4;break}if((M&255)>=57){h=6;break}l0=Ix(q|0,0,j&7|0)|0,d0=v0,s0=s0|l0,l0=t0,j=l0,n[j>>0]=s0,n[j+1>>0]=s0>>8,n[j+2>>0]=s0>>16,n[j+3>>0]=s0>>24,l0=l0+4|0,n[l0>>0]=d0,n[l0+1>>0]=d0>>8,n[l0+2>>0]=d0>>16,n[l0+3>>0]=d0>>24,l0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=l0,d0=f0&16777215,j=d0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,q=((Ax(f0|0)|0)^31)+-1|0,q=(q<<1)+(f0>>>q)+2|0;break}if(u0>>>0<2114){q=((Ax(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?q=21:q=u0>>>0<22594?22:23}else q=u0;while(!1);do if(j>>>0>=10){if(j>>>0<134){f0=j+-6|0,M=((Ax(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+4|0;break}j>>>0<2118?M=((Ax(j+-70|0)|0)^31)+12|0:M=23}else M=j+65534|0;while(!1);if(q=q&65535,s0=e[17268+(q<<2)>>2]|0,q=u0-(e[18788+(q<<2)>>2]|0)|0,t0=M&65535,j=Ix(j-(e[17364+(t0<<2)>>2]|0)|0,0,s0|0)|0,M=v0,q=j|q,j=s0+(e[17460+(t0<<2)>>2]|0)|0,t0=n0+(l0>>>3)|0,s0=s[t0>>0]|0,f0=Dx(q|0,M|0,j|0)|0,!((f0|0)==0&(v0|0)==0)){h=21;break}if(j>>>0>=57){h=23;break}for(q=Ix(q|0,M|0,l0&7|0)|0,f0=v0,q=s0|q,l0=t0,s0=l0,n[s0>>0]=q,n[s0+1>>0]=q>>8,n[s0+2>>0]=q>>16,n[s0+3>>0]=q>>24,l0=l0+4|0,n[l0>>0]=f0,n[l0+1>>0]=f0>>8,n[l0+2>>0]=f0>>16,n[l0+3>>0]=f0>>24,l0=(e[x0>>2]|0)+j|0,e[x0>>2]=l0,s0=u0;s0;){if(q=s[c+(h&f)>>0]|0,M=n[w+q>>0]|0,q=_[p+(q<<1)>>1]|0,j=n0+(l0>>>3)|0,t0=s[j>>0]|0,u0=Dx(q|0,0,M&255|0)|0,!((u0|0)==0&(v0|0)==0)){h=27;break x}if((M&255)>=57){h=29;break x}q=Ix(q|0,0,l0&7|0)|0,f0=v0,q=t0|q,u0=j,t0=u0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,u0=u0+4|0,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,u0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=u0,l0=u0,h=h+1|0,s0=s0+-1|0}if(h=h+d0|0,(d0|0)!=0&(C0&65535)>127){if(s0=D0>>>24,f0=D0&16777215,t0=n[a0+m0>>0]|0,M=_[$+(m0<<1)>>1]|0,q=n0+(l0>>>3)|0,j=s[q>>0]|0,m0=Dx(M|0,0,t0&255|0)|0,!((m0|0)==0&(v0|0)==0)){h=33;break}if((t0&255)>=57){h=35;break}if(M=Ix(M|0,0,l0&7|0)|0,m0=v0,j=j|M,M=q,q=M,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,M=M+4|0,n[M>>0]=m0,n[M+1>>0]=m0>>8,n[M+2>>0]=m0>>16,n[M+3>>0]=m0>>24,M=(e[x0>>2]|0)+(t0&255)|0,e[x0>>2]=M,q=n0+(M>>>3)|0,j=s[q>>0]|0,m0=Dx(f0|0,0,s0|0)|0,!((m0|0)==0&(v0|0)==0)){h=37;break}if(D0>>>0>=956301312){h=39;break}d0=Ix(f0|0,0,M&7|0)|0,m0=v0,d0=j|d0,D0=q,C0=D0,n[C0>>0]=d0,n[C0+1>>0]=d0>>8,n[C0+2>>0]=d0>>16,n[C0+3>>0]=d0>>24,D0=D0+4|0,n[D0>>0]=m0,n[D0+1>>0]=m0>>8,n[D0+2>>0]=m0>>16,n[D0+3>>0]=m0>>24,e[x0>>2]=(e[x0>>2]|0)+s0}w0=w0+1|0}switch(h|0){case 4:{V0(406196,406218,54,406251);break}case 6:{V0(406267,406218,55,406251);break}case 21:{V0(406196,406218,54,406251);break}case 23:{V0(406267,406218,55,406251);break}case 27:{V0(406196,406218,54,406251);break}case 29:{V0(406267,406218,55,406251);break}case 33:{V0(406196,406218,54,406251);break}case 35:{V0(406267,406218,55,406251);break}case 37:{V0(406196,406218,54,406251);break}case 39:{V0(406267,406218,55,406251);break}case 42:return}}function wm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0;(c|0)!=1?(k=(Ax(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,a0=e0):V0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=a0):V0(405253,404333,87,405236),$>>>0<25?d=p:V0(405273,404333,88,405236)):d=4,e[l>>2]=d+-4,e[l+4>>2]=0,e[f>>2]=d<<2,f=h,e[f>>2]=c+-1,e[f+4>>2]=0}function P4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;if(!c){k=f+((e[h>>2]|0)>>>3)|0,c=s[k>>0]|0,f=k,n[f>>0]=c,n[f+1>>0]=c>>8,n[f+2>>0]=c>>16,n[f+3>>0]=c>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[h>>2]|0)+1|0,e[h>>2]=k;return}k=(Ax(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Ix(1,0,p&7|0)|0,d=v0,p=w|p,w=l,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,l=l+4|0,n[l>>0]=d,n[l+1>>0]=d>>8,n[l+2>>0]=d>>16,n[l+3>>0]=d>>24,l=(e[h>>2]|0)+1|0,e[h>>2]=l,d=f+(l>>>3)|0,w=s[d>>0]|0,(k&56|0)==0&!0||V0(406196,406218,54,406251),e0=Ix(k|0,0,l&7|0)|0,l=v0,e0=w|e0,p=d,w=p,n[w>>0]=e0,n[w+1>>0]=e0>>8,n[w+2>>0]=e0>>16,n[w+3>>0]=e0>>24,p=p+4|0,n[p>>0]=l,n[p+1>>0]=l>>8,n[p+2>>0]=l>>16,n[p+3>>0]=l>>24,p=(e[h>>2]|0)+3|0,e[h>>2]=p,w=c-(1<<k)|0,l=f+(p>>>3)|0,d=s[l>>0]|0,f=Dx(w|0,0,k|0)|0,(f|0)==0&(v0|0)==0||V0(406196,406218,54,406251),k>>>0>=57&&V0(406267,406218,55,406251),p=Ix(w|0,0,p&7|0)|0,f=v0,p=d|p,e0=l,c=e0,n[c>>0]=p,n[c+1>>0]=p>>8,n[c+2>>0]=p>>16,n[c+3>>0]=p>>24,e0=e0+4|0,n[e0>>0]=f,n[e0+1>>0]=f>>8,n[e0+2>>0]=f>>16,n[e0+3>>0]=f>>24,e0=(e[h>>2]|0)+k|0,e[h>>2]=e0}function Dm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+1040|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*1040|0)+1032>>3],$=+i0[c+(s0*1040|0)+1032>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*1040|0)+1024>>2]|0){if(f=e[c+(s0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*1040|0)|0,1040)|0,h=j+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Un(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function zu(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)Dm(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*1040|0)+1024|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*1040|0)+1024>>2]|0),$=0;($|0)!=256;)M=c+(t0*1040|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*1040|0)+1032>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)Dm(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function vm(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+2832|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*2832|0)+2824>>3],$=+i0[c+(s0*2832|0)+2824>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*2832|0)+2816>>2]|0){if(f=e[c+(s0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*2832|0)|0,2832)|0,h=j+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Ku(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Am(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)vm(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*2832|0)+2816|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2832|0)+2816>>2]|0),$=0;($|0)!=704;)M=c+(t0*2832|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*2832|0)+2824>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)vm(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function Em(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;if(f0=c0,c0=c0+2096|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,s0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(s0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+r0[19516+(f<<2)>>2]:M=+Jx(q),n0=+(l>>>0),l>>>0<256?x0=+r0[19516+(l<<2)>>2]:x0=+Jx(n0),a0=+(h>>>0),h>>>0<256?e0=+r0[19516+(h<<2)>>2]:e0=+Jx(a0),k=+i0[c+(t0*2096|0)+2088>>3],$=+i0[c+(s0*2096|0)+2088>>3],a0=(q*M+n0*x0-a0*e0)*.5-k-$,e[c+(t0*2096|0)+2080>>2]|0){if(f=e[c+(s0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+i0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(t0*2096|0)|0,2096)|0,h=j+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(s0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Hn(j),!(k<e0-a0)){c0=f0;return}}}else k=$;e0=a0+k,f=e[p>>2]|0;do if(f){if(a0=+i0[w+16>>3],a0!=e0){if(!(a0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(s0-t0|0)>>>0)break;f>>>0<d>>>0&&(d=w+(f*24|0)|0,e[d>>2]=e[w>>2],e[d+4>>2]=e[w+4>>2],e[d+8>>2]=e[w+8>>2],e[d+12>>2]=e[w+12>>2],e[d+16>>2]=e[w+16>>2],e[d+20>>2]=e[w+20>>2],e[p>>2]=(e[p>>2]|0)+1),e[w>>2]=t0,e[w+4>>2]=s0,i0[w+8>>3]=k,i0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=t0,e[w+(f*24|0)+4>>2]=s0,i0[w+(f*24|0)+8>>3]=k,i0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Wu(c,h,f,l,d,w,p,k,e0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0;var a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;for(h0=c0,c0=c0+32|0,y0=h0+24|0,b0=h0,e[y0>>2]=0,a0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;n0=M+1|0,(M|0)!=(a0|0);)Em(c,h,e[$>>2]|0,e[l+(n0<<2)>>2]|0,e0,d,y0),M=n0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,C0=d+8|0,a0=w,f0=0,l0=1;x:for(;;)for(s0=a0;;){if(a0=a0+-1|0,s0>>>0<=l0>>>0)break x;if(+i0[u0>>3]>=f0){a0=s0,f0=1e99,l0=k;continue x}for(t0=e[d>>2]|0,w=e[d0>>2]|0,$=c+(t0*2096|0)+2080|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2096|0)+2080>>2]|0),$=0;($|0)!=520;)M=c+(t0*2096|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(i0[c+(t0*2096|0)+2088>>3]=+i0[C0>>3],x0=h+(t0<<2)|0,e[x0>>2]=(e[x0>>2]|0)+(e[h+(w<<2)>>2]|0),x0=0;;){if((x0|0)==(p|0)){x0=0;break}$=f+(x0<<2)|0,(e[$>>2]|0)==(w|0)&&(e[$>>2]=t0),x0=x0+1|0}for(;!(s0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){m0=22;break}x0=x0+1|0}for((m0|0)==22&&(m0=0,xf($|0,l+(x0+1<<2)|0,(s0-x0<<2)+-4|0)|0),n0=e[y0>>2]|0,$=0,M=0;(M|0)!=(n0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(D0=e[d+(M*24|0)+4>>2]|0,(D0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(D0|0)==(w|0)))&&(q=+i0[u0>>3],j=+i0[d+(M*24|0)+16>>3],q!=j?q>j?m0=32:m0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(D0-w0|0)>>>0?m0=32:m0=33,(m0|0)==32?(m0=0,e[b0>>2]=e[d>>2],e[b0+4>>2]=e[d+4>>2],e[b0+8>>2]=e[d+8>>2],e[b0+12>>2]=e[d+12>>2],e[b0+16>>2]=e[d+16>>2],e[b0+20>>2]=e[d+20>>2],e[d>>2]=e[x0>>2],e[d+4>>2]=e[x0+4>>2],e[d+8>>2]=e[x0+8>>2],e[d+12>>2]=e[x0+12>>2],e[d+16>>2]=e[x0+16>>2],e[d+20>>2]=e[x0+20>>2],x0=d+($*24|0)|0,e[x0>>2]=e[b0>>2],e[x0+4>>2]=e[b0+4>>2],e[x0+8>>2]=e[b0+8>>2],e[x0+12>>2]=e[b0+12>>2],e[x0+16>>2]=e[b0+16>>2],e[x0+20>>2]=e[b0+20>>2]):(m0|0)==33&&(m0=0,O0=d+($*24|0)|0,e[O0>>2]=e[x0>>2],e[O0+4>>2]=e[x0+4>>2],e[O0+8>>2]=e[x0+8>>2],e[O0+12>>2]=e[x0+12>>2],e[O0+16>>2]=e[x0+16>>2],e[O0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(a0|0);)Em(c,h,t0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;s0=s0+-1|0}return c0=h0,s0|0}function Cm(c,h,f,l,d,w,p,k,e0,a0,$,x0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0;var n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0;if(De=c0,c0=c0+2304|0,ae=De+512|0,Lx=De,bx=De+2048|0,Ox=De+1536|0,t0=h,u0=f>>>0<98304?f:98304,d0=e[$>>2]|0,dx=64-((Ax(w|0)|0)^31)|0,w||V0(405532,405401,464,405439),w>>>0>=2147483649&&V0(405605,405401,465,405439),n0=w+-1|0,n0&w&&V0(405630,405401,467,405439),nx=Dx(16777215,-1,dx|0)|0,(n0|0)!=(nx|0)&&V0(405667,405401,469,405439),!f){l||V0(405466,405401,472,405439),c=x0+(d0>>>3)|0,d=s[c>>0]|0,bx=Ix(1,0,d0&7|0)|0,ax=v0,bx=d|bx,d=c,n[d>>0]=bx,n[d+1>>0]=bx>>8,n[d+2>>0]=bx>>16,n[d+3>>0]=bx>>24,c=c+4|0,n[c>>0]=ax,n[c+1>>0]=ax>>8,n[c+2>>0]=ax>>16,n[c+3>>0]=ax>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ax=x0+(c>>>3)|0,x0=s[ax>>0]|0,c=Ix(1,0,c&7|0)|0,d=v0,c=x0|c,x0=ax,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=d,n[ax+1>>0]=d>>8,n[ax+2>>0]=d>>16,n[ax+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=De;return}for(Yu(u0,0,$,x0),s0=x0+((e[$>>2]|0)>>>3)|0,nx=s[s0>>0]|0,n0=s0,n[n0>>0]=nx,n[n0+1>>0]=nx>>8,n[n0+2>>0]=nx>>16,n[n0+3>>0]=nx>>24,s0=s0+4|0,n[s0>>0]=0,n[s0+1>>0]=0,n[s0+2>>0]=0,n[s0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,s0=km(c,h,u0,bx,Ox,$,x0)|0,n0=0;w=e[e0>>2]|0,!((n0|7)>>>0>=w>>>0);)Qx=e[$>>2]|0,nx=x0+(Qx>>>3)|0,Nx=s[nx>>0]|0,Qx=Ix(s[a0+(n0>>>3)>>0]|0,0,Qx&7|0)|0,fx=v0,Qx=Nx|Qx,Nx=nx,n[Nx>>0]=Qx,n[Nx+1>>0]=Qx>>8,n[Nx+2>>0]=Qx>>16,n[Nx+3>>0]=Qx>>24,nx=nx+4|0,n[nx>>0]=fx,n[nx+1>>0]=fx>>8,n[nx+2>>0]=fx>>16,n[nx+3>>0]=fx>>24,e[$>>2]=(e[$>>2]|0)+8,n0=n0+8|0;j=w&7,n0=s[a0+(w>>>3)>>0]|0,w=e[$>>2]|0,M=x0+(w>>>3)|0,q=s[M>>0]|0,nx=Dx(n0|0,0,j|0)|0,(nx|0)==0&(v0|0)==0||V0(406196,406218,54,406251),Bx=Ix(n0|0,0,w&7|0)|0,Yx=v0,Bx=q|Bx,Wx=M,Gx=Wx,n[Gx>>0]=Bx,n[Gx+1>>0]=Bx>>8,n[Gx+2>>0]=Bx>>16,n[Gx+3>>0]=Bx>>24,Wx=Wx+4|0,n[Wx>>0]=Yx,n[Wx+1>>0]=Yx>>8,n[Wx+2>>0]=Yx>>16,n[Wx+3>>0]=Yx>>24,e[$>>2]=(e[$>>2]|0)+j,Wx=h,Yx=p+61|0,Gx=k+122|0,Bx=Lx+84|0,Mx=p+64|0,hx=k+128|0,Fx=Lx+256|0,mx=p+39|0,ex=k+78|0,Z0=Lx+188|0,Xx=Lx+256|0,xe=p+62|0,ue=k+124|0,Qx=Lx+88|0,Nx=p+63|0,fx=k+126|0,nx=Lx+92|0,w=f,n0=t0,q=u0,M=s0;x:for(;;){K0=d0+3|0,j0=M>>>0>980,wx=n0,cx=q,j=n0,ux=q;e:for(;;){$x(Lx|0,17764,512)|0,gx=wx,M=gx+cx|0,Ex=M;t:do if(cx>>>0>15)for(t0=cx+-5|0,Rx=w+-16|0,Rx=gx+(t0>>>0<Rx>>>0?t0:Rx)|0,t0=gx+1|0,f=t0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,I0=-1;;){if(q=Se(q|0,f|0,-1124073472,1979815)|0,q=Dx(q|0,v0|0,dx|0)|0,O0=j,O0>>>0>=t0>>>0){ax=24;break x}for(w0=0-I0|0,xx=t0,D0=32;;){if(b0=xx,f=D0,D0=D0+1|0,X0=xx,H0=X0,X0=X0+4|0,X0=Se(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,-1124073472,1979815)|0,X0=Dx(X0|0,v0|0,dx|0)|0,(q|0)!=(X0|0)){ax=26;break x}if(s0=xx+(f>>>5)|0,s0>>>0>Rx>>>0)break t;if(u0=s0,f=u0,u0=u0+4|0,u0=Se(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0,s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0,-1124073472,1979815)|0,u0=Dx(u0|0,v0|0,dx|0)|0,f=xx+w0|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)==(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)&&(w0|0)<0&&(n[xx+4>>0]|0)==(n[xx+(4-I0)>>0]|0)){ax=30;break}if(q=d+(q<<2)|0,t0=e[q>>2]|0,f=h+t0|0,(t0|0)<0){ax=32;break x}if(f>>>0>=xx>>>0){ax=34;break x}if(e[q>>2]=b0-Wx,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){q=u0,xx=s0;continue}if((n[xx+4>>0]|0)==(n[h+(t0+4)>>0]|0))break;q=u0,xx=s0}for((ax|0)==30&&(ax=0,e[d+(q<<2)>>2]=b0-Wx),s0=f,X0=gx+(cx+-4)|0,q=0,t0=xx+5|0;;){if(t0>>>0>X0>>>0){H0=q,q=t0;break}if(H0=f+(q+5)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)){H0=q,q=t0;break}q=q+4|0,t0=t0+4|0}for(;!(q>>>0>=M>>>0||(n[f+(H0+5)>>0]|0)!=(n[q>>0]|0));)H0=H0+1|0,q=q+1|0;B0=H0+5|0,y0=b0-s0|0,h0=b0-j|0,U0=xx+B0|0,G0=U0;r:do if(B0){for(s0=B0,u0=xx;q=n[u0>>0]|0,t0=n[f>>0]|0,q<<24>>24==t0<<24>>24;)if(s0=s0+-1|0,s0)u0=u0+1|0,f=f+1|0;else break r;if(q<<24>>24!=t0<<24>>24){ax=48;break x}}while(!1);do if(h0>>>0>=6210){if(!(((j-n0|0)*50|0)>>>0>h0>>>0|j0^1)){ax=84;break e}if(h0>>>0<22594){if(q=n[xe>>0]|0,j=_[ue>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,b0=Dx(j|0,0,q&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=87;break x}if((q&255)>=57){ax=89;break x}if(b0=Ix(j|0,0,f&7|0)|0,f=v0,b0=s0|b0,j=t0,t0=j,n[t0>>0]=b0,n[t0+1>>0]=b0>>8,n[t0+2>>0]=b0>>16,n[t0+3>>0]=b0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-6210|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16384|0)==0&!0)){ax=91;break x}D0=Ix(j|0,0,q&7|0)|0,b0=v0,D0=t0|D0,u0=f,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Qx>>2]=(e[Qx>>2]|0)+1,u0=0;break}else{if(q=n[Nx>>0]|0,j=_[fx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,b0=Dx(j|0,0,q&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=94;break x}if((q&255)>=57){ax=96;break x}if(b0=Ix(j|0,0,f&7|0)|0,f=v0,b0=s0|b0,j=t0,t0=j,n[t0>>0]=b0,n[t0+1>>0]=b0>>8,n[t0+2>>0]=b0>>16,n[t0+3>>0]=b0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-22594|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=98;break x}D0=Ix(j|0,0,q&7|0)|0,b0=v0,D0=t0|D0,u0=f,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,u0=0;break}}else{if(h0>>>0<6){if(q=h0+40|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,b0=Dx(f|0,0,j&255|0)|0,!((b0|0)==0&(v0|0)==0)){ax=52;break x}if((j&255)>=57){ax=54;break x}D0=Ix(f|0,0,t0&7|0)|0,b0=v0,D0=u0|D0,u0=s0,w0=u0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=b0,n[u0+1>>0]=b0>>8,n[u0+2>>0]=b0>>16,n[u0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),u0=Lx+(q<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0<130){if(u0=h0+-2|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0,b0=(w0<<1)+D0+42|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=58;break x}if((q&255)>=57){ax=60;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(D0<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=62;break x}if(w0>>>0>=57){ax=64;break x}s0=Ix(q|0,0,t0&7|0)|0,A0=v0,s0=f|s0,u0=j,D0=u0,n[D0>>0]=s0,n[D0+1>>0]=s0>>8,n[D0+2>>0]=s0>>16,n[D0+3>>0]=s0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+w0,u0=Lx+(b0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0>=2114){if(q=n[Yx>>0]|0,j=_[Gx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=77;break x}if((q&255)>=57){ax=79;break x}if(A0=Ix(j|0,0,f&7|0)|0,f=v0,A0=s0|A0,j=t0,t0=j,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=h0+-2114|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-4096|0)==0&!0)){ax=81;break x}w0=Ix(j|0,0,q&7|0)|0,A0=v0,w0=t0|w0,u0=f,b0=u0,n[b0>>0]=w0,n[b0+1>>0]=w0>>8,n[b0+2>>0]=w0>>16,n[b0+3>>0]=w0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Bx>>2]=(e[Bx>>2]|0)+1,u0=0;break}if(u0=h0+-66|0,D0=(Ax(u0|0)|0)^31,w0=D0+50|0,q=n[p+w0>>0]|0,j=_[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=68;break x}if((q&255)>=57){ax=70;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(1<<D0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,D0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=72;break x}if(D0>>>0>=57){ax=74;break x}s0=Ix(q|0,0,t0&7|0)|0,A0=v0,s0=f|s0,u0=j,b0=u0,n[b0>>0]=s0,n[b0+1>>0]=s0>>8,n[b0+2>>0]=s0>>16,n[b0+3>>0]=s0>>24,u0=u0+4|0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+D0,u0=Lx+(w0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=h0>>>0);){if(j=s[O0+u0>>0]|0,q=n[bx+j>>0]|0,j=_[Ox+(j<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=102;break x}if((q&255)>=57){ax=104;break x}D0=Ix(j|0,0,f&7|0)|0,b0=v0,D0=s0|D0,A0=t0,w0=A0,n[w0>>0]=D0,n[w0+1>>0]=D0>>8,n[w0+2>>0]=D0>>16,n[w0+3>>0]=D0>>24,A0=A0+4|0,n[A0>>0]=b0,n[A0+1>>0]=b0>>8,n[A0+2>>0]=b0>>16,n[A0+3>>0]=b0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=u0+1|0}if((y0|0)==(I0|0)){if(q=n[Mx>>0]|0,j=_[hx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=108;break x}if((q&255)>=57){ax=110;break x}h0=Ix(j|0,0,f&7|0)|0,A0=v0,h0=s0|h0,y0=t0,O0=y0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,y0=y0+4|0,n[y0>>0]=A0,n[y0+1>>0]=A0>>8,n[y0+2>>0]=A0>>16,n[y0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[Fx>>2]=(e[Fx>>2]|0)+1,y0=I0}else{if(u0=y0+3|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0&1,b0=((w0<<1)+-2|D0)+80|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=113;break x}if((q&255)>=57){ax=115;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-((D0|2)<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=117;break x}if(w0>>>0>=57){ax=119;break x}h0=Ix(q|0,0,t0&7|0)|0,I0=v0,h0=f|h0,A0=j,O0=A0,n[O0>>0]=h0,n[O0+1>>0]=h0>>8,n[O0+2>>0]=h0>>16,n[O0+3>>0]=h0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+w0,A0=Lx+(b0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}do if(B0>>>0<12){if(q=H0+1|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=123;break x}if((j&255)>=57){ax=125;break x}O0=Ix(f|0,0,t0&7|0)|0,I0=v0,O0=u0|O0,A0=s0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(q<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}else{if(B0>>>0<72){if(u0=H0+-3|0,w0=((Ax(u0|0)|0)^31)+-1|0,D0=u0>>>w0,b0=(w0<<1)+D0+4|0,q=n[p+b0>>0]|0,j=_[k+(b0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=129;break x}if((q&255)>=57){ax=131;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(D0<<w0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,w0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=133;break x}if(w0>>>0>=57){ax=135;break x}O0=Ix(q|0,0,t0&7|0)|0,I0=v0,O0=f|O0,A0=j,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+w0,A0=Lx+(b0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1;break}if(B0>>>0<136){if(q=H0+-3|0,D0=(q>>>5)+30|0,j=n[p+D0>>0]|0,f=_[k+(D0<<1)>>1]|0,t0=e[$>>2]|0,s0=x0+(t0>>>3)|0,u0=s[s0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=139;break x}if((j&255)>=57){ax=141;break x}if(A0=Ix(f|0,0,t0&7|0)|0,f=v0,A0=u0|A0,t0=s0,s0=t0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=f,n[t0+1>>0]=f>>8,n[t0+2>>0]=f>>16,n[t0+3>>0]=f>>24,t0=(e[$>>2]|0)+(j&255)|0,e[$>>2]=t0,f=x0+(t0>>>3)|0,s0=s[f>>0]|0,t0=Ix(q&31|0,0,t0&7|0)|0,j=v0,t0=s0|t0,q=f,f=q,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+5|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=143;break x}if((j&255)>=57){ax=145;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(D0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1;break}if(B0>>>0>=2120){if(q=n[mx>>0]|0,j=_[ex>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=162;break x}if((q&255)>=57){ax=164;break x}if(A0=Ix(j|0,0,f&7|0)|0,f=v0,A0=s0|A0,j=t0,t0=j,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=H0+-2115|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=166;break x}if(q=Ix(j|0,0,q&7|0)|0,j=v0,t0=t0|q,q=f,f=q,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+24|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=168;break x}if((j&255)>=57){ax=170;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),e[Z0>>2]=(e[Z0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1;break}if(u0=H0+-67|0,D0=(Ax(u0|0)|0)^31,w0=D0+28|0,q=n[p+w0>>0]|0,j=_[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,s0=s[t0>>0]|0,A0=Dx(j|0,0,q&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=149;break x}if((q&255)>=57){ax=151;break x}if(A0=Ix(j|0,0,f&7|0)|0,j=v0,A0=s0|A0,f=t0,n[f>>0]=A0,n[f+1>>0]=A0>>8,n[f+2>>0]=A0>>16,n[f+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,t0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=t0,q=u0-(1<<D0)|0,j=x0+(t0>>>3)|0,f=s[j>>0]|0,A0=Dx(q|0,0,D0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=153;break x}if(D0>>>0>=57){ax=155;break x}if(q=Ix(q|0,0,t0&7|0)|0,t0=v0,f=f|q,q=j,j=q,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=q+4|0,n[q>>0]=t0,n[q+1>>0]=t0>>8,n[q+2>>0]=t0>>16,n[q+3>>0]=t0>>24,q=(e[$>>2]|0)+D0|0,e[$>>2]=q,j=n[Mx>>0]|0,f=_[hx>>1]|0,t0=x0+(q>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,j&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=157;break x}if((j&255)>=57){ax=159;break x}O0=Ix(f|0,0,q&7|0)|0,I0=v0,O0=s0|O0,A0=t0,B0=A0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,A0=A0+4|0,n[A0>>0]=I0,n[A0+1>>0]=I0>>8,n[A0+2>>0]=I0>>16,n[A0+3>>0]=I0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),A0=Lx+(w0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,e[Xx>>2]=(e[Xx>>2]|0)+1}while(!1);if(U0>>>0>=Rx>>>0){j=G0;break t}for(j=xx+(H0+2)|0,A0=j,A0=s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Se(A0|0,j|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,s0=Dx(A0|0,j|0,24)|0,s0=Se(s0|0,v0|0,-1124073472,1979815)|0,s0=Dx(s0|0,v0|0,dx|0)|0,u0=U0-Wx|0,e[d+(xx<<2)>>2]=u0+-3,xx=Dx(A0|0,j|0,8)|0,xx=Se(xx|0,v0|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=Dx(A0|0,j|0,16)|0,j=Se(j|0,v0|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,dx|0)|0,e[d+(j<<2)>>2]=u0+-1,s0=d+(s0<<2)|0,j=e[s0>>2]|0,e[s0>>2]=u0,s0=y0,u0=G0;b0=h+j|0,A0=u0,q=u0,!((s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)||(n[q+4>>0]|0)!=(n[h+(j+4)>>0]|0));){for(t0=j+5|0,j=0,f=q+5|0;!(f>>>0>X0>>>0||(A0=h+(t0+j)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24|0)));)j=j+4|0,f=f+4|0;for(;!(f>>>0>=M>>>0||(n[h+(t0+j)>>0]|0)!=(n[f>>0]|0));)j=j+1|0,f=f+1|0;w0=j+5|0,O0=q+w0|0,I0=O0,B0=u0-b0|0;do if(!w0)ax=189;else{for(u0=w0,D0=q,s0=b0;;){if(f=n[D0>>0]|0,t0=n[s0>>0]|0,f<<24>>24!=t0<<24>>24){ax=186;break}if(u0=u0+-1|0,u0)D0=D0+1|0,s0=s0+1|0;else break}if((ax|0)==186&&(ax=0,f<<24>>24!=t0<<24>>24)){ax=187;break x}if(w0>>>0<10){ax=189;break}if(w0>>>0<134){if(w0=j+-1|0,y0=((Ax(w0|0)|0)^31)+-1|0,b0=w0>>>y0,h0=(y0<<1)+b0+20|0,f=n[p+h0>>0]|0,t0=_[k+(h0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=196;break x}if((f&255)>=57){ax=198;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-(b0<<y0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,y0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=200;break x}if(y0>>>0>=57){ax=202;break x}G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,A0=Lx+(h0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1;break}if(w0>>>0>=2118){if(f=n[mx>>0]|0,t0=_[ex>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=215;break x}if((f&255)>=57){ax=217;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,s0=v0,A0=D0|A0,t0=u0,u0=t0,n[u0>>0]=A0,n[u0+1>>0]=A0>>8,n[u0+2>>0]=A0>>16,n[u0+3>>0]=A0>>24,t0=t0+4|0,n[t0>>0]=s0,n[t0+1>>0]=s0>>8,n[t0+2>>0]=s0>>16,n[t0+3>>0]=s0>>24,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,t0=j+-2113|0,s0=x0+(f>>>3)|0,u0=s[s0>>0]|0,!((t0&-16777216|0)==0&!0)){ax=219;break x}G0=Ix(t0|0,0,f&7|0)|0,xx=v0,G0=u0|G0,A0=s0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+24,e[Z0>>2]=(e[Z0>>2]|0)+1;break}if(w0=j+-65|0,b0=(Ax(w0|0)|0)^31,y0=b0+28|0,f=n[p+y0>>0]|0,t0=_[k+(y0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=206;break x}if((f&255)>=57){ax=208;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-(1<<b0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,b0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=210;break x}if(b0>>>0>=57){ax=212;break x}G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+b0,A0=Lx+(y0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}while(!1);if((ax|0)==189){if(ax=0,f=j+19|0,t0=n[p+f>>0]|0,s0=_[k+(f<<1)>>1]|0,u0=e[$>>2]|0,D0=x0+(u0>>>3)|0,w0=s[D0>>0]|0,A0=Dx(s0|0,0,t0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=190;break x}if((t0&255)>=57){ax=192;break x}G0=Ix(s0|0,0,u0&7|0)|0,xx=v0,G0=w0|G0,A0=D0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+(t0&255),A0=Lx+(f<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1}if(w0=B0+3|0,y0=((Ax(w0|0)|0)^31)+-1|0,b0=w0>>>y0&1,h0=((y0<<1)+-2|b0)+80|0,f=n[p+h0>>0]|0,t0=_[k+(h0<<1)>>1]|0,s0=e[$>>2]|0,u0=x0+(s0>>>3)|0,D0=s[u0>>0]|0,A0=Dx(t0|0,0,f&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=222;break x}if((f&255)>=57){ax=224;break x}if(A0=Ix(t0|0,0,s0&7|0)|0,t0=v0,A0=D0|A0,s0=u0,n[s0>>0]=A0,n[s0+1>>0]=A0>>8,n[s0+2>>0]=A0>>16,n[s0+3>>0]=A0>>24,u0=u0+4|0,n[u0>>0]=t0,n[u0+1>>0]=t0>>8,n[u0+2>>0]=t0>>16,n[u0+3>>0]=t0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=w0-((b0|2)<<y0)|0,t0=x0+(u0>>>3)|0,s0=s[t0>>0]|0,A0=Dx(f|0,0,y0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=226;break x}if(y0>>>0>=57){ax=228;break x}if(G0=Ix(f|0,0,u0&7|0)|0,xx=v0,G0=s0|G0,A0=t0,H0=A0,n[H0>>0]=G0,n[H0+1>>0]=G0>>8,n[H0+2>>0]=G0>>16,n[H0+3>>0]=G0>>24,A0=A0+4|0,n[A0>>0]=xx,n[A0+1>>0]=xx>>8,n[A0+2>>0]=xx>>16,n[A0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,A0=Lx+(h0<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,O0>>>0>=Rx>>>0){j=I0;break t}j=q+(j+2)|0,A0=j,A0=s[A0>>0]|s[A0+1>>0]<<8|s[A0+2>>0]<<16|s[A0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Se(A0|0,j|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,s0=Dx(A0|0,j|0,24)|0,s0=Se(s0|0,v0|0,-1124073472,1979815)|0,s0=Dx(s0|0,v0|0,dx|0)|0,u0=O0-Wx|0,e[d+(xx<<2)>>2]=u0+-3,xx=Dx(A0|0,j|0,8)|0,xx=Se(xx|0,v0|0,-1124073472,1979815)|0,xx=Dx(xx|0,v0|0,dx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=Dx(A0|0,j|0,16)|0,j=Se(j|0,v0|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,dx|0)|0,e[d+(j<<2)>>2]=u0+-1,s0=d+(s0<<2)|0,j=e[s0>>2]|0,e[s0>>2]=u0,s0=B0,u0=I0}t0=q+1|0,f=t0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,I0=s0,j=u0}while(!1);if(w0=j,w0>>>0>M>>>0){ax=233;break x}if(f=w-cx|0,t0=f>>>0<65536?f:65536,(w|0)==(cx|0)){w=0,ax=254;break}if(s0=ux+t0|0,s0>>>0>=1048577){w=f,ax=254;break}for(Vx(ae|0,0,1024)|0,w=0;!(w>>>0>=t0>>>0);)A0=ae+(s[gx+(cx+w)>>0]<<2)|0,e[A0>>2]=(e[A0>>2]|0)+1,w=w+43|0;for(A0=t0+42|0,w=(A0>>>0)/43|0,A0>>>0<11008?(l0=+(w>>>0),f0=+r0[19516+(w<<2)>>2]):(f0=+(w>>>0),l0=f0,f0=+Jx(f0)),m0=(f0+.5)*l0+200,q=0;(q|0)!=256;)w=e[ae+(q<<2)>>2]|0,l0=+(w>>>0),C0=+(s[bx+q>>0]|0),w>>>0<256?f0=+r0[19516+(w<<2)>>2]:f0=+Jx(l0),m0=m0-l0*(C0+f0),q=q+1|0;if(!(m0>=0)){w=f,ax=254;break}if(ux>>>0<=65536){ax=250;break x}for(w=20,M=s0+-1|0,q=K0;;){if(!w){w=f,wx=Ex,cx=t0,ux=s0;continue e}cx=q&7,A0=8-cx|0,A0=w>>>0<A0>>>0?w:A0,ux=x0+(q>>>3)|0,n[ux>>0]=(M&(1<<A0)+-1)<<cx|s[ux>>0]&(-1<<cx+A0|(1<<cx)+255),w=w-A0|0,M=M>>>A0,q=q+A0|0}}e:do if((ax|0)==84)ax=0,A0=b0-n0|0,Ex=x0+(d0>>>3)|0,n[Ex>>0]=s[Ex>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Yu(A0,1,$,x0),Ex=(e[$>>2]|0)+7|0,e[$>>2]=Ex&-8,$x(x0+(Ex>>>3)|0,n0|0,A0|0)|0,n0=(e[$>>2]|0)+(A0<<3)|0,e[$>>2]=n0,n[x0+(n0>>>3)>>0]=0,w=w+(wx-b0)|0,n0=b0;else if((ax|0)==254)if(ax=0,w0>>>0<M>>>0){if(D0=M-j|0,D0>>>0>=6210){if(!(((j-n0|0)*50|0)>>>0>D0>>>0|j0^1)){A0=M-n0|0,j0=x0+(d0>>>3)|0,n[j0>>0]=s[j0>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Yu(A0,1,$,x0),j0=(e[$>>2]|0)+7|0,e[$>>2]=j0&-8,$x(x0+(j0>>>3)|0,n0|0,A0|0)|0,n0=(e[$>>2]|0)+(A0<<3)|0,e[$>>2]=n0,n[x0+(n0>>>3)>>0]=0,n0=Ex;break}if(D0>>>0<22594){if(n0=n[xe>>0]|0,M=_[ue>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=299;break x}if((n0&255)>=57){ax=301;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-6210|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-16384|0)==0&!0)){ax=303;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Qx>>2]=(e[Qx>>2]|0)+1,t0=0}else{if(n0=n[Nx>>0]|0,M=_[fx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=306;break x}if((n0&255)>=57){ax=308;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-22594|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-16777216|0)==0&!0)){ax=310;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,t0=0}for(;;){if(t0>>>0>=D0>>>0){n0=Ex;break e}if(M=s[w0+t0>>0]|0,n0=n[bx+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=314;break x}if((n0&255)>=57){ax=316;break x}ux=Ix(M|0,0,q&7|0)|0,j0=v0,ux=f|ux,A0=j,K0=A0,n[K0>>0]=ux,n[K0+1>>0]=ux>>8,n[K0+2>>0]=ux>>16,n[K0+3>>0]=ux>>24,A0=A0+4|0,n[A0>>0]=j0,n[A0+1>>0]=j0>>8,n[A0+2>>0]=j0>>16,n[A0+3>>0]=j0>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),t0=t0+1|0}}do if(D0>>>0<6){if(n0=D0+40|0,M=n[p+n0>>0]|0,q=_[k+(n0<<1)>>1]|0,j=e[$>>2]|0,f=x0+(j>>>3)|0,t0=s[f>>0]|0,A0=Dx(q|0,0,M&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=258;break x}if((M&255)>=57){ax=260;break x}K0=Ix(q|0,0,j&7|0)|0,A0=v0,K0=t0|K0,t0=f,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),t0=Lx+(n0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}else{if(D0>>>0<130){if(t0=D0+-2|0,u0=((Ax(t0|0)|0)^31)+-1|0,s0=t0>>>u0,d0=(u0<<1)+s0+42|0,n0=n[p+d0>>0]|0,M=_[k+(d0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=264;break x}if((n0&255)>=57){ax=266;break x}if(A0=Ix(M|0,0,q&7|0)|0,M=v0,A0=f|A0,q=j,n[q>>0]=A0,n[q+1>>0]=A0>>8,n[q+2>>0]=A0>>16,n[q+3>>0]=A0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=j,n0=t0-(s0<<u0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,A0=Dx(n0|0,0,u0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=268;break x}if(u0>>>0>=57){ax=270;break x}K0=Ix(n0|0,0,j&7|0)|0,A0=v0,K0=q|K0,t0=M,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+u0,t0=Lx+(d0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0;break}if(D0>>>0>=2114){if(n0=n[Yx>>0]|0,M=_[Gx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=283;break x}if((n0&255)>=57){ax=285;break x}if(A0=Ix(M|0,0,q&7|0)|0,q=v0,A0=f|A0,M=j,j=M,n[j>>0]=A0,n[j+1>>0]=A0>>8,n[j+2>>0]=A0>>16,n[j+3>>0]=A0>>24,M=M+4|0,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,n0=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=n0,M=D0+-2114|0,q=x0+(n0>>>3)|0,j=s[q>>0]|0,!((M&-4096|0)==0&!0)){ax=287;break x}K0=Ix(M|0,0,n0&7|0)|0,A0=v0,K0=j|K0,t0=q,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Bx>>2]=(e[Bx>>2]|0)+1,t0=0;break}if(t0=D0+-66|0,s0=(Ax(t0|0)|0)^31,u0=s0+50|0,n0=n[p+u0>>0]|0,M=_[k+(u0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=274;break x}if((n0&255)>=57){ax=276;break x}if(A0=Ix(M|0,0,q&7|0)|0,M=v0,A0=f|A0,q=j,n[q>>0]=A0,n[q+1>>0]=A0>>8,n[q+2>>0]=A0>>16,n[q+3>>0]=A0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(n0&255)|0,e[$>>2]=j,n0=t0-(1<<s0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,A0=Dx(n0|0,0,s0|0)|0,!((A0|0)==0&(v0|0)==0)){ax=278;break x}if(s0>>>0>=57){ax=280;break x}K0=Ix(n0|0,0,j&7|0)|0,A0=v0,K0=q|K0,t0=M,j0=t0,n[j0>>0]=K0,n[j0+1>>0]=K0>>8,n[j0+2>>0]=K0>>16,n[j0+3>>0]=K0>>24,t0=t0+4|0,n[t0>>0]=A0,n[t0+1>>0]=A0>>8,n[t0+2>>0]=A0>>16,n[t0+3>>0]=A0>>24,e[$>>2]=(e[$>>2]|0)+s0,t0=Lx+(u0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}while(!1);for(;;){if(t0>>>0>=D0>>>0){n0=Ex;break e}if(M=s[w0+t0>>0]|0,n0=n[bx+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,A0=Dx(M|0,0,n0&255|0)|0,!((A0|0)==0&(v0|0)==0)){ax=291;break x}if((n0&255)>=57){ax=293;break x}ux=Ix(M|0,0,q&7|0)|0,j0=v0,ux=f|ux,A0=j,K0=A0,n[K0>>0]=ux,n[K0+1>>0]=ux>>8,n[K0+2>>0]=ux>>16,n[K0+3>>0]=ux>>24,A0=A0+4|0,n[A0>>0]=j0,n[A0+1>>0]=j0>>8,n[A0+2>>0]=j0>>16,n[A0+3>>0]=j0>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),t0=t0+1|0}}else n0=Ex;while(!1);if(!w){ax=320;break}q=w>>>0<98304?w:98304,d0=e[$>>2]|0,Yu(q,0,$,x0),M=x0+((e[$>>2]|0)>>>3)|0,Ex=s[M>>0]|0,A0=M,n[A0>>0]=Ex,n[A0+1>>0]=Ex>>8,n[A0+2>>0]=Ex>>16,n[A0+3>>0]=Ex>>24,M=M+4|0,n[M>>0]=0,n[M+1>>0]=0,n[M+2>>0]=0,n[M+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,M=km(c,n0,q,bx,Ox,$,x0)|0,Sm(Lx,p,k,$,x0)}switch(ax|0){case 24:{V0(405740,405401,539,405439);break}case 26:{V0(405474,405401,544,405439);break}case 32:{V0(405779,405401,559,405439);break}case 34:{V0(405800,405401,560,405439);break}case 48:{V0(405815,405401,579,405439);break}case 52:{V0(406196,406218,54,406251);break}case 54:{V0(406267,406218,55,406251);break}case 58:{V0(406196,406218,54,406251);break}case 60:{V0(406267,406218,55,406251);break}case 62:{V0(406196,406218,54,406251);break}case 64:{V0(406267,406218,55,406251);break}case 68:{V0(406196,406218,54,406251);break}case 70:{V0(406267,406218,55,406251);break}case 72:{V0(406196,406218,54,406251);break}case 74:{V0(406267,406218,55,406251);break}case 77:{V0(406196,406218,54,406251);break}case 79:{V0(406267,406218,55,406251);break}case 81:{V0(406196,406218,54,406251);break}case 87:{V0(406196,406218,54,406251);break}case 89:{V0(406267,406218,55,406251);break}case 91:{V0(406196,406218,54,406251);break}case 94:{V0(406196,406218,54,406251);break}case 96:{V0(406267,406218,55,406251);break}case 98:{V0(406196,406218,54,406251);break}case 102:{V0(406196,406218,54,406251);break}case 104:{V0(406267,406218,55,406251);break}case 108:{V0(406196,406218,54,406251);break}case 110:{V0(406267,406218,55,406251);break}case 113:{V0(406196,406218,54,406251);break}case 115:{V0(406267,406218,55,406251);break}case 117:{V0(406196,406218,54,406251);break}case 119:{V0(406267,406218,55,406251);break}case 123:{V0(406196,406218,54,406251);break}case 125:{V0(406267,406218,55,406251);break}case 129:{V0(406196,406218,54,406251);break}case 131:{V0(406267,406218,55,406251);break}case 133:{V0(406196,406218,54,406251);break}case 135:{V0(406267,406218,55,406251);break}case 139:{V0(406196,406218,54,406251);break}case 141:{V0(406267,406218,55,406251);break}case 143:{V0(406196,406218,54,406251);break}case 145:{V0(406267,406218,55,406251);break}case 149:{V0(406196,406218,54,406251);break}case 151:{V0(406267,406218,55,406251);break}case 153:{V0(406196,406218,54,406251);break}case 155:{V0(406267,406218,55,406251);break}case 157:{V0(406196,406218,54,406251);break}case 159:{V0(406267,406218,55,406251);break}case 162:{V0(406196,406218,54,406251);break}case 164:{V0(406267,406218,55,406251);break}case 166:{V0(406196,406218,54,406251);break}case 168:{V0(406196,406218,54,406251);break}case 170:{V0(406267,406218,55,406251);break}case 187:{V0(405815,405401,638,405439);break}case 190:{V0(406196,406218,54,406251);break}case 192:{V0(406267,406218,55,406251);break}case 196:{V0(406196,406218,54,406251);break}case 198:{V0(406267,406218,55,406251);break}case 200:{V0(406196,406218,54,406251);break}case 202:{V0(406267,406218,55,406251);break}case 206:{V0(406196,406218,54,406251);break}case 208:{V0(406267,406218,55,406251);break}case 210:{V0(406196,406218,54,406251);break}case 212:{V0(406267,406218,55,406251);break}case 215:{V0(406196,406218,54,406251);break}case 217:{V0(406267,406218,55,406251);break}case 219:{V0(406196,406218,54,406251);break}case 222:{V0(406196,406218,54,406251);break}case 224:{V0(406267,406218,55,406251);break}case 226:{V0(406196,406218,54,406251);break}case 228:{V0(406267,406218,55,406251);break}case 233:{V0(405853,405401,671,405439);break}case 250:{V0(405503,405401,681,405439);break}case 258:{V0(406196,406218,54,406251);break}case 260:{V0(406267,406218,55,406251);break}case 264:{V0(406196,406218,54,406251);break}case 266:{V0(406267,406218,55,406251);break}case 268:{V0(406196,406218,54,406251);break}case 270:{V0(406267,406218,55,406251);break}case 274:{V0(406196,406218,54,406251);break}case 276:{V0(406267,406218,55,406251);break}case 278:{V0(406196,406218,54,406251);break}case 280:{V0(406267,406218,55,406251);break}case 283:{V0(406196,406218,54,406251);break}case 285:{V0(406267,406218,55,406251);break}case 287:{V0(406196,406218,54,406251);break}case 291:{V0(406196,406218,54,406251);break}case 293:{V0(406267,406218,55,406251);break}case 299:{V0(406196,406218,54,406251);break}case 301:{V0(406267,406218,55,406251);break}case 303:{V0(406196,406218,54,406251);break}case 306:{V0(406196,406218,54,406251);break}case 308:{V0(406267,406218,55,406251);break}case 310:{V0(406196,406218,54,406251);break}case 314:{V0(406196,406218,54,406251);break}case 316:{V0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ax=x0+(c>>>3)|0,d=s[ax>>0]|0,c=Ix(1,0,c&7|0)|0,A0=v0,c=d|c,d=ax,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=A0,n[ax+1>>0]=A0>>8,n[ax+2>>0]=A0>>16,n[ax+3>>0]=A0>>24,ax=(e[$>>2]|0)+1|0,e[$>>2]=ax,A0=x0+(ax>>>3)|0,d=s[A0>>0]|0,x0=Ix(1,0,ax&7|0)|0,ax=v0,x0=d|x0,d=A0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,A0=A0+4|0,n[A0>>0]=ax,n[A0+1>>0]=ax>>8,n[A0+2>>0]=ax>>16,n[A0+3>>0]=ax>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=De;return}else{n[a0>>0]=0,e[e0>>2]=0,Sm(Lx,p,k,e0,a0),c0=De;return}}}function Yu(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0;if(d=l+((e[f>>2]|0)>>>3)|0,p=s[d>>0]|0,w=d,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,d=d+4|0,n[d>>0]=0,n[d+1>>0]=0,n[d+2>>0]=0,n[d+3>>0]=0,d=(e[f>>2]|0)+1|0,e[f>>2]=d,w=l+(d>>>3)|0,p=s[w>>0]|0,c>>>0<65537){k=w,d=k,n[d>>0]=p,n[d+1>>0]=p>>8,n[d+2>>0]=p>>16,n[d+3>>0]=p>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-65536|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+16|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}else{k=Ix(1,0,d&7|0)|0,d=v0,p=p|k,k=w,w=k,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,k=k+4|0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-1048576|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+20|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}}function km(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0;$=c0,c0=c0+1024|0,a0=$,Vx(a0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=a0+((s[h+k>>0]|0)<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,k=k+1|0}for(;;){if((k|0)==256){e0=f;break x}h=a0+(k<<2)|0,x0=e[h>>2]|0,e0=(x0>>>0<11?x0:11)<<1,e[h>>2]=x0+e0,f=f+e0|0,k=k+1|0}}else{for(k=0;!(k>>>0>=f>>>0);)x0=a0+((s[h+k>>0]|0)<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,k=k+29|0;for(f=((f+28|0)>>>0)/29|0,k=0;;){if((k|0)==256){e0=f;break x}e0=a0+(k<<2)|0,h=e[e0>>2]|0,x0=(h>>>0<11?h:11)<<1|1,e[e0>>2]=h+x0,f=f+x0|0,k=k+1|0}}while(!1);for(uo(c,a0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[a0+(h<<2)>>2]|0,k&&(f=f+(rx(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function Sm(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;M=c0,c0=c0+1872|0,n0=M+704|0,x0=M,a0=M+1736|0,Vx(x0|0,0,704)|0,lo(c,64,15,n0,h),$=h+64|0,lo(c+256|0,64,14,n0,$),p=x0,k=h,e0=p+24|0;do n[p>>0]=n[k>>0]|0,p=p+1|0,k=k+1|0;while((p|0)<(e0|0));p=h+40|0,w=p,p=p+4|0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,c=x0+24|0,e[c>>2]=s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24,e[c+4>>2]=p,c=h+24|0,p=c,w=p,p=p+4|0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e0=x0+32|0,e[e0>>2]=s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24,e[e0+4>>2]=p,e0=h+48|0,p=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,w=x0+40|0,e[w>>2]=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e[w+4>>2]=e0,w=h+32|0,e0=w,p=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,k=x0+48|0,e[k>>2]=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,e[k+4>>2]=e0,k=h+56|0,e0=k,k=k+4|0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,p=x0+56|0,e[p>>2]=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,e[p+4>>2]=k,qn(x0,64,a0),p=f,k=a0,e0=p+48|0;do o[p>>1]=o[k>>1]|0,p=p+2|0,k=k+2|0;while((p|0)<(e0|0));p=f+48|0,e0=a0+64|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+64|0,e0=a0+96|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+80|0,e0=a0+48|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+96|0,e0=a0+80|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,p=f+112|0,e0=a0+112|0,o[p>>1]=o[e0>>1]|0,o[p+2>>1]=o[e0+2>>1]|0,o[p+4>>1]=o[e0+4>>1]|0,o[p+6>>1]=o[e0+6>>1]|0,o[p+8>>1]=o[e0+8>>1]|0,o[p+10>>1]=o[e0+10>>1]|0,o[p+12>>1]=o[e0+12>>1]|0,o[p+14>>1]=o[e0+14>>1]|0,qn($,64,f+128|0),p=x0,e0=p+64|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(e0|0));for(f=h,a0=f,f=f+4|0,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e0=x0,e[e0>>2]=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,e[e0+4>>2]=f,e0=h+8|0,f=e0,e0=e0+4|0,e0=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,a0=x0+64|0,e[a0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[a0+4>>2]=e0,a0=h+16|0,e0=a0,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,f=x0+128|0,e[f>>2]=s[e0>>0]|s[e0+1>>0]<<8|s[e0+2>>0]<<16|s[e0+3>>0]<<24,e[f+4>>2]=a0,f=c,c=f,f=f+4|0,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,a0=x0+192|0,e[a0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[a0+4>>2]=f,a0=w,f=a0,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,c=x0+384|0,e[c>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[c+4>>2]=a0,c=0;(c|0)!=8;)a0=c<<3,n[x0+(a0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(a0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(a0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;v7(x0,704,n0,l,d),v7($,64,n0,l,d),c0=M}function Fm(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0,$t=0,Xe=0,A6=0,Zx=0,ve=0,Nt=0,st=0,St=0,Qe=0,Be=0,xr=0;xr=c0,c0=c0+4560|0,Qe=xr+2376|0,Xe=xr+128|0,$t=xr+4176|0,st=xr+4304|0,Nt=xr+3664|0,A6=xr,M0=xr+3408|0,Zx=xr+1864|0,St=xr+840|0,ve=xr+832|0,Fe=d,oe=w,px=64-((Ax(k|0)|0)^31)|0,T0=(k|0)==0,tx=k>>>0<2147483649,Rx=k+-1|0,Ux=(Rx&k|0)==0,X0=Dx(16777215,-1,px|0)|0,X0=(Rx|0)==(X0|0),Rx=h,wx=w,gx=d,cx=Zx+4|0,ux=Zx+8|0,K0=Zx+256|0,j0=Zx+336|0,Ex=Zx+256|0,Wx=A6+64|0,Yx=A6+24|0,Gx=Xe+24|0,Bx=Xe+32|0,Mx=A6+48|0,hx=Xe+40|0,Fx=A6+8|0,mx=Xe+48|0,ex=A6+56|0,Z0=Xe+56|0,Xx=A6+16|0,xe=$t+48|0,ue=M0+16|0,Qx=$t+80|0,Nx=M0+32|0,fx=$t+112|0,nx=M0+48|0,dx=M0+96|0,Lx=$t+64|0,ae=M0+112|0,Ox=$t+96|0,bx=M0+128|0,ax=Xe+64|0,De=A6+32|0,A0=Xe+128|0,se=A6+40|0,Kx=Xe+192|0,lx=Xe+384|0,xx=St,we=St+1024|0,U0=h;x:for(;;){if(!f){Be=155;break}if(G0=f>>>0<131072?f:131072,e[ve>>2]=Fe,H0=U0+G0|0,k=U0,T0){Be=4;break}if(!tx){Be=6;break}if(!Ux){Be=8;break}if(!X0){Be=10;break}e:do if(G0>>>0>15)for(l0=G0+-6|0,I0=f+-16|0,I0=U0+(l0>>>0<I0>>>0?l0:I0)|0,l0=U0+1|0,n0=l0,x0=n0,n0=n0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=-1,t0=oe;;){if(x0=Se(x0|0,n0|0,-1480785920,7733)|0,x0=Dx(x0|0,v0|0,px|0)|0,y0=k,y0>>>0>=l0>>>0){Be=15;break x}for(m0=0-O0|0,h0=l0,d0=32;;){if(D0=h0,n0=d0,d0=d0+1|0,B0=h0,b0=B0,B0=B0+4|0,B0=Se(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0,-1480785920,7733)|0,B0=Dx(B0|0,v0|0,px|0)|0,(x0|0)!=(B0|0)){Be=17;break x}if(l0=h0+(n0>>>5)|0,l0>>>0>I0>>>0)break e;if(u0=l0,n0=u0,u0=u0+4|0,u0=Se(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0,s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0,-1480785920,7733)|0,u0=Dx(u0|0,v0|0,px|0)|0,n0=h0+m0|0,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)==(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)&&(n[h0+4>>0]|0)==(n[h0+(4-O0)>>0]|0)&&(m0|0)<0&&(n[h0+5>>0]|0)==(n[h0+(5-O0)>>0]|0)){Be=22;break}if(x0=p+(x0<<2)|0,s0=e[x0>>2]|0,n0=h+s0|0,(s0|0)<0){Be=24;break x}if(n0>>>0>=h0>>>0){Be=26;break x}if(e[x0>>2]=D0-Rx,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)){x0=u0,h0=l0;continue}if((n[h0+4>>0]|0)!=(n[h+(s0+4)>>0]|0)){x0=u0,h0=l0;continue}if((n[h0+5>>0]|0)==(n[h+(s0+5)>>0]|0))break;x0=u0,h0=l0}for((Be|0)==22&&(Be=0,e[p+(x0<<2)>>2]=D0-Rx),l0=n0,B0=U0+(G0+-4)|0,x0=0,s0=h0+6|0;;){if(s0>>>0>B0>>>0){b0=x0,x0=s0;break}if(b0=n0+(x0+6)|0,(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)){b0=x0,x0=s0;break}x0=x0+4|0,s0=s0+4|0}for(;!(x0>>>0>=H0>>>0||(n[n0+(b0+6)>>0]|0)!=(n[x0>>0]|0));)b0=b0+1|0,x0=x0+1|0;w0=b0+6|0,s0=D0-l0|0,m0=D0-k|0,D0=h0+w0|0,k=D0;t:do if(w0){for(u0=w0,d0=h0;x0=n[d0>>0]|0,l0=n[n0>>0]|0,x0<<24>>24==l0<<24>>24;)if(u0=u0+-1|0,u0)d0=d0+1|0,n0=n0+1|0;else break t;if(x0<<24>>24!=l0<<24>>24){Be=41;break x}}while(!1);do if(m0>>>0>=6){if(m0>>>0<130){l0=m0+-2|0,d0=((Ax(l0|0)|0)^31)+-1|0,u0=l0>>>d0,e[e[ve>>2]>>2]=(d0<<1)+u0+2|l0-(u0<<d0)<<8;break}if(m0>>>0<2114){u0=m0+-66|0,d0=(Ax(u0|0)|0)^31,e[e[ve>>2]>>2]=d0+10|u0-(1<<d0)<<8;break}if(m0>>>0<6210){e[e[ve>>2]>>2]=(m0<<8)+-541184|21;break}if(x0=m0<<8,m0>>>0<22594){e[e[ve>>2]>>2]=x0+-1589760|22;break}else{e[e[ve>>2]>>2]=x0+-5784064|23;break}}else e[e[ve>>2]>>2]=m0;while(!1);e[ve>>2]=(e[ve>>2]|0)+4,$x(t0|0,y0|0,m0|0)|0,t0=t0+m0|0,(s0|0)==(O0|0)?(e[e[ve>>2]>>2]=64,x0=e[ve>>2]|0,s0=O0):(y0=s0+3|0,x0=((Ax(y0|0)|0)^31)+-1|0,O0=y0>>>x0&1,e[e[ve>>2]>>2]=((x0<<1)+-2|O0)+80|y0-((O0|2)<<x0)<<8,x0=e[ve>>2]|0),x0=x0+4|0,e[ve>>2]=x0;do if(w0>>>0>=12){if(w0>>>0<72){w0=b0+-2|0,O0=((Ax(w0|0)|0)^31)+-1|0,y0=w0>>>O0,e[x0>>2]=(O0<<1)+y0+28|w0-(y0<<O0)<<8,e[ve>>2]=(e[ve>>2]|0)+4;break}if(w0>>>0<136){O0=b0+-2|0,e[x0>>2]=(O0>>>5)+54|O0<<8&7936,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}if(w0>>>0<2120){y0=b0+-66|0,O0=(Ax(y0|0)|0)^31,e[x0>>2]=O0+52|y0-(1<<O0)<<8,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}else{e[x0>>2]=(w0<<8)+-542720|63,O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,e[O0>>2]=64,e[ve>>2]=(e[ve>>2]|0)+4;break}}else e[x0>>2]=b0+26,e[ve>>2]=(e[ve>>2]|0)+4;while(!1);if(D0>>>0>=I0>>>0)break e;for(n0=h0+(b0+1)|0,O0=n0,O0=s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,w0=Se(O0|0,n0|0,-1480785920,7733)|0,w0=Dx(w0|0,v0|0,px|0)|0,y0=D0-Rx|0,e[p+(w0<<2)>>2]=y0+-5,w0=Dx(O0|0,n0|0,8)|0,w0=Se(w0|0,v0|0,-1480785920,7733)|0,w0=Dx(w0|0,v0|0,px|0)|0,e[p+(w0<<2)>>2]=y0+-4,n0=Dx(O0|0,n0|0,16)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=y0+-3,n0=h0+(b0+4)|0,h0=n0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=Dx(h0|0,n0|0,16)|0,O0=Se(O0|0,v0|0,-1480785920,7733)|0,O0=Dx(O0|0,v0|0,px|0)|0,b0=Se(h0|0,n0|0,-1480785920,7733)|0,b0=Dx(b0|0,v0|0,px|0)|0,e[p+(b0<<2)>>2]=y0+-2,n0=Dx(h0|0,n0|0,8)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=y0+-1,O0=p+(O0<<2)|0,n0=e[O0>>2]|0,e[O0>>2]=y0;u0=h+n0|0,O0=k,x0=k,!((s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)||(n[x0+4>>0]|0)!=(n[h+(n0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(n0+5)>>0]|0));){for(l0=n0+6|0,n0=0,s0=x0+6|0;!(s0>>>0>B0>>>0||(O0=h+(l0+n0)|0,(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)!=(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0)));)n0=n0+4|0,s0=s0+4|0;for(;!(s0>>>0>=H0>>>0||(n[h+(l0+n0)>>0]|0)!=(n[s0>>0]|0));)n0=n0+1|0,s0=s0+1|0;D0=n0+6|0,w0=x0+D0|0,b0=w0,s0=k-u0|0;do if(D0){for(d0=D0,m0=x0;;){if(k=n[m0>>0]|0,l0=n[u0>>0]|0,k<<24>>24!=l0<<24>>24){Be=80;break}if(d0=d0+-1|0,d0)m0=m0+1|0,u0=u0+1|0;else break}if((Be|0)==80&&(Be=0,k<<24>>24!=l0<<24>>24)){Be=81;break x}if(D0>>>0<10){Be=83;break}if(D0>>>0<134){O0=((Ax(n0|0)|0)^31)+-1|0,h0=n0>>>O0,e[e[ve>>2]>>2]=(O0<<1)+h0+44|n0-(h0<<O0)<<8;break}if(D0>>>0<2118){h0=n0+-64|0,O0=(Ax(h0|0)|0)^31,e[e[ve>>2]>>2]=O0+52|h0-(1<<O0)<<8;break}else{e[e[ve>>2]>>2]=(D0<<8)+-542208|63;break}}else Be=83;while(!1);if((Be|0)==83&&(Be=0,e[e[ve>>2]>>2]=n0+44),O0=(e[ve>>2]|0)+4|0,e[ve>>2]=O0,D0=s0+3|0,h0=((Ax(D0|0)|0)^31)+-1|0,y0=D0>>>h0&1,e[O0>>2]=((h0<<1)+-2|y0)+80|D0-((y0|2)<<h0)<<8,e[ve>>2]=(e[ve>>2]|0)+4,w0>>>0>=I0>>>0){k=b0;break e}h0=x0+(n0+1)|0,k=h0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,h0=h0+4|0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,y0=Se(k|0,h0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,O0=w0-Rx|0,e[p+(y0<<2)>>2]=O0+-5,y0=Dx(k|0,h0|0,8)|0,y0=Se(y0|0,v0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,e[p+(y0<<2)>>2]=O0+-4,h0=Dx(k|0,h0|0,16)|0,h0=Se(h0|0,v0|0,-1480785920,7733)|0,h0=Dx(h0|0,v0|0,px|0)|0,e[p+(h0<<2)>>2]=O0+-3,n0=x0+(n0+4)|0,h0=n0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,n0=n0+4|0,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,k=Dx(h0|0,n0|0,16)|0,k=Se(k|0,v0|0,-1480785920,7733)|0,k=Dx(k|0,v0|0,px|0)|0,y0=Se(h0|0,n0|0,-1480785920,7733)|0,y0=Dx(y0|0,v0|0,px|0)|0,e[p+(y0<<2)>>2]=O0+-2,n0=Dx(h0|0,n0|0,8)|0,n0=Se(n0|0,v0|0,-1480785920,7733)|0,n0=Dx(n0|0,v0|0,px|0)|0,e[p+(n0<<2)>>2]=O0+-1,k=p+(k<<2)|0,n0=e[k>>2]|0,e[k>>2]=O0,k=b0}l0=x0+1|0,n0=l0,x0=n0,n0=n0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,O0=s0}else t0=oe;while(!1);if(n0=k,n0>>>0>H0>>>0){Be=93;break}if(n0>>>0<H0>>>0){k=H0-k|0;do if(k>>>0>=6){if(k>>>0<130){O0=k+-2|0,I0=((Ax(O0|0)|0)^31)+-1|0,B0=O0>>>I0,e[e[ve>>2]>>2]=(I0<<1)+B0+2|O0-(B0<<I0)<<8;break}if(k>>>0<2114){B0=k+-66|0,I0=(Ax(B0|0)|0)^31,e[e[ve>>2]>>2]=I0+10|B0-(1<<I0)<<8;break}if(k>>>0<6210){e[e[ve>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[ve>>2]>>2]=x0+-1589760|22;break}else{e[e[ve>>2]>>2]=x0+-5784064|23;break}}else e[e[ve>>2]>>2]=k;while(!1);e[ve>>2]=(e[ve>>2]|0)+4,$x(t0|0,n0|0,k|0)|0,t0=t0+k|0}if(l0=t0-wx|0,$=+(G0>>>0),+(l0>>>0)<$*.98)Be=126;else{for(Vx(St|0,0,1024)|0,C0=$*8*.98,k=0;;){if(k>>>0>=G0>>>0){k=xx,$=0,s0=0;break}I0=St+(s[U0+k>>0]<<2)|0,e[I0>>2]=(e[I0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=we>>>0);)x0=e[k>>2]|0,M=+(x0>>>0),x0>>>0<256?f0=+r0[19516+(x0<<2)>>2]:f0=+Jx(M),n0=e[k+4>>2]|0,q=+(n0>>>0),n0>>>0<256?j=+r0[19516+(n0<<2)>>2]:j=+Jx(q),k=k+8|0,$=$-M*f0-q*j,s0=s0+x0+n0|0;f0=C0/43,q=+(s0>>>0),s0?(s0>>>0<256?M=+r0[19516+(s0<<2)>>2]:M=+Jx(q),j=q,$=$+q*M):j=q,($<j?j:$)<f0?Be=126:(Om(G0,1,e0,a0),I0=(e[e0>>2]|0)+7|0,e[e0>>2]=I0&-8,$x(a0+(I0>>>3)|0,U0|0,G0|0)|0,U0=(e[e0>>2]|0)+(G0<<3)|0,e[e0>>2]=U0,n[a0+(U0>>>3)>>0]=0)}if((Be|0)==126){Be=0,D0=(e[ve>>2]|0)-gx>>2,Om(G0,0,e0,a0),x0=a0+((e[e0>>2]|0)>>>3)|0,U0=s[x0>>0]|0,n0=x0,n[n0>>0]=U0,n[n0+1>>0]=U0>>8,n[n0+2>>0]=U0>>16,n[n0+3>>0]=U0>>24,x0=x0+4|0,n[x0>>0]=0,n[x0+1>>0]=0,n[x0+2>>0]=0,n[x0+3>>0]=0,e[e0>>2]=(e[e0>>2]|0)+13,Vx(St|0,0,1024)|0,x0=A6,n0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(n0|0));for(Vx(M0|0,0,256)|0,Vx(Zx|0,0,512)|0,k=t0-wx|0,x0=0;(x0|0)!=(k|0);)U0=St+(s[w+x0>>0]<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,x0=x0+1|0;for(uo(c,St,l0,8,st,Nt,e0,a0),k=0;(k|0)!=(D0|0);)U0=Zx+((e[d+(k<<2)>>2]&255)<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,k=k+1|0;e[cx>>2]=(e[cx>>2]|0)+1,e[ux>>2]=(e[ux>>2]|0)+1,e[K0>>2]=(e[K0>>2]|0)+1,e[j0>>2]=(e[j0>>2]|0)+1,Vx(Xe|0,0,704)|0,lo(Zx,64,15,Qe,A6),lo(Ex,64,14,Qe,Wx),e[Xe>>2]=e[Yx>>2],e[Xe+4>>2]=e[Yx+4>>2],e[Xe+8>>2]=e[Yx+8>>2],e[Xe+12>>2]=e[Yx+12>>2],e[Xe+16>>2]=e[Yx+16>>2],e[Xe+20>>2]=e[Yx+20>>2],n0=A6,k=e[n0+4>>2]|0,x0=Gx,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,x0=Mx,k=e[x0+4>>2]|0,n0=Bx,e[n0>>2]=e[x0>>2],e[n0+4>>2]=k,n0=Fx,k=e[n0+4>>2]|0,x0=hx,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,x0=ex,k=e[x0+4>>2]|0,n0=mx,e[n0>>2]=e[x0>>2],e[n0+4>>2]=k,n0=Xx,k=e[n0+4>>2]|0,x0=Z0,e[x0>>2]=e[n0>>2],e[x0+4>>2]=k,qn(Xe,64,$t),o[M0>>1]=o[xe>>1]|0,o[M0+2>>1]=o[xe+2>>1]|0,o[M0+4>>1]=o[xe+4>>1]|0,o[M0+6>>1]=o[xe+6>>1]|0,o[M0+8>>1]=o[xe+8>>1]|0,o[M0+10>>1]=o[xe+10>>1]|0,o[M0+12>>1]=o[xe+12>>1]|0,o[M0+14>>1]=o[xe+14>>1]|0,o[ue>>1]=o[Qx>>1]|0,o[ue+2>>1]=o[Qx+2>>1]|0,o[ue+4>>1]=o[Qx+4>>1]|0,o[ue+6>>1]=o[Qx+6>>1]|0,o[ue+8>>1]=o[Qx+8>>1]|0,o[ue+10>>1]=o[Qx+10>>1]|0,o[ue+12>>1]=o[Qx+12>>1]|0,o[ue+14>>1]=o[Qx+14>>1]|0,o[Nx>>1]=o[fx>>1]|0,o[Nx+2>>1]=o[fx+2>>1]|0,o[Nx+4>>1]=o[fx+4>>1]|0,o[Nx+6>>1]=o[fx+6>>1]|0,o[Nx+8>>1]=o[fx+8>>1]|0,o[Nx+10>>1]=o[fx+10>>1]|0,o[Nx+12>>1]=o[fx+12>>1]|0,o[Nx+14>>1]=o[fx+14>>1]|0,x0=nx,k=$t,n0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(n0|0));o[dx>>1]=o[Lx>>1]|0,o[dx+2>>1]=o[Lx+2>>1]|0,o[dx+4>>1]=o[Lx+4>>1]|0,o[dx+6>>1]=o[Lx+6>>1]|0,o[dx+8>>1]=o[Lx+8>>1]|0,o[dx+10>>1]=o[Lx+10>>1]|0,o[dx+12>>1]=o[Lx+12>>1]|0,o[dx+14>>1]=o[Lx+14>>1]|0,o[ae>>1]=o[Ox>>1]|0,o[ae+2>>1]=o[Ox+2>>1]|0,o[ae+4>>1]=o[Ox+4>>1]|0,o[ae+6>>1]=o[Ox+6>>1]|0,o[ae+8>>1]=o[Ox+8>>1]|0,o[ae+10>>1]=o[Ox+10>>1]|0,o[ae+12>>1]=o[Ox+12>>1]|0,o[ae+14>>1]=o[Ox+14>>1]|0,qn(Wx,64,bx),x0=Xe,n0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(n0|0));for(I0=Yx,U0=e[I0+4>>2]|0,k=Xe,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=De,U0=e[k+4>>2]|0,I0=ax,e[I0>>2]=e[k>>2],e[I0+4>>2]=U0,I0=se,U0=e[I0+4>>2]|0,k=A0,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=Mx,U0=e[k+4>>2]|0,I0=Kx,e[I0>>2]=e[k>>2],e[I0+4>>2]=U0,I0=ex,U0=e[I0+4>>2]|0,k=lx,e[k>>2]=e[I0>>2],e[k+4>>2]=U0,k=0;(k|0)!=8;)U0=k<<3,n[Xe+(U0+128)>>0]=n[A6+k>>0]|0,n[Xe+(U0+256)>>0]=n[A6+(k+8)>>0]|0,n[Xe+(U0+448)>>0]=n[A6+(k+16)>>0]|0,k=k+1|0;for(v7(Xe,704,Qe,e0,a0),v7(Wx,64,Qe,e0,a0),k=oe,m0=0;!(m0>>>0>=D0>>>0);){if(d0=e[d+(m0<<2)>>2]|0,u0=d0&255,d0=d0>>>8,x0=n[A6+u0>>0]|0,n0=_[M0+(u0<<1)>>1]|0,t0=e[e0>>2]|0,s0=a0+(t0>>>3)|0,l0=s[s0>>0]|0,U0=Dx(n0|0,0,x0&255|0)|0,!((U0|0)==0&(v0|0)==0)){Be=138;break x}if((x0&255)>=57){Be=140;break x}if(U0=Ix(n0|0,0,t0&7|0)|0,t0=v0,U0=l0|U0,n0=s0,s0=n0,n[s0>>0]=U0,n[s0+1>>0]=U0>>8,n[s0+2>>0]=U0>>16,n[s0+3>>0]=U0>>24,n0=n0+4|0,n[n0>>0]=t0,n[n0+1>>0]=t0>>8,n[n0+2>>0]=t0>>16,n[n0+3>>0]=t0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,n0=e[18276+(u0<<2)>>2]|0,t0=a0+(x0>>>3)|0,s0=s[t0>>0]|0,U0=Dx(d0|0,0,n0|0)|0,!((U0|0)==0&(v0|0)==0)){Be=142;break x}B0=Ix(d0|0,0,x0&7|0)|0,U0=v0,B0=s0|B0,x0=t0,I0=x0,n[I0>>0]=B0,n[I0+1>>0]=B0>>8,n[I0+2>>0]=B0>>16,n[I0+3>>0]=B0>>24,x0=x0+4|0,n[x0>>0]=U0,n[x0+1>>0]=U0>>8,n[x0+2>>0]=U0>>16,n[x0+3>>0]=U0>>24,x0=(e[e0>>2]|0)+n0|0,e[e0>>2]=x0;e:do if(u0>>>0<24)for(d0=(e[18788+(u0<<2)>>2]|0)+d0|0,u0=0;;){if(u0>>>0>=d0>>>0)break e;if(t0=s[k>>0]|0,n0=n[st+t0>>0]|0,t0=_[Nt+(t0<<1)>>1]|0,s0=a0+(x0>>>3)|0,l0=s[s0>>0]|0,U0=Dx(t0|0,0,n0&255|0)|0,!((U0|0)==0&(v0|0)==0)){Be=147;break x}if((n0&255)>=57){Be=149;break x}O0=Ix(t0|0,0,x0&7|0)|0,I0=v0,O0=l0|O0,U0=s0,B0=U0,n[B0>>0]=O0,n[B0+1>>0]=O0>>8,n[B0+2>>0]=O0>>16,n[B0+3>>0]=O0>>24,U0=U0+4|0,n[U0>>0]=I0,n[U0+1>>0]=I0>>8,n[U0+2>>0]=I0>>16,n[U0+3>>0]=I0>>24,U0=(e[e0>>2]|0)+(n0&255)|0,e[e0>>2]=U0,k=k+1|0,x0=U0,u0=u0+1|0}while(!1);m0=m0+1|0}}f=f-G0|0,U0=H0}switch(Be|0){case 4:{V0(405532,405543,251,405590);break}case 6:{V0(405605,405543,252,405590);break}case 8:{V0(405630,405543,254,405590);break}case 10:{V0(405667,405543,256,405590);break}case 15:{V0(405740,405543,289,405590);break}case 17:{V0(405755,405543,295,405590);break}case 24:{V0(405779,405543,309,405590);break}case 26:{V0(405800,405543,310,405590);break}case 41:{V0(405815,405543,329,405590);break}case 81:{V0(405815,405543,378,405590);break}case 93:{V0(405853,405543,415,405590);break}case 138:{V0(406196,406218,54,406251);break}case 140:{V0(406267,406218,55,406251);break}case 142:{V0(406196,406218,54,406251);break}case 147:{V0(406196,406218,54,406251);break}case 149:{V0(406267,406218,55,406251);break}case 155:{if(!l){c0=xr;return}c=e[e0>>2]|0,Qe=a0+(c>>>3)|0,p=s[Qe>>0]|0,c=Ix(1,0,c&7|0)|0,Be=v0,c=p|c,p=Qe,n[p>>0]=c,n[p+1>>0]=c>>8,n[p+2>>0]=c>>16,n[p+3>>0]=c>>24,Qe=Qe+4|0,n[Qe>>0]=Be,n[Qe+1>>0]=Be>>8,n[Qe+2>>0]=Be>>16,n[Qe+3>>0]=Be>>24,Qe=(e[e0>>2]|0)+1|0,e[e0>>2]=Qe,Be=a0+(Qe>>>3)|0,p=s[Be>>0]|0,a0=Ix(1,0,Qe&7|0)|0,Qe=v0,a0=p|a0,p=Be,n[p>>0]=a0,n[p+1>>0]=a0>>8,n[p+2>>0]=a0>>16,n[p+3>>0]=a0>>24,Be=Be+4|0,n[Be>>0]=Qe,n[Be+1>>0]=Qe>>8,n[Be+2>>0]=Qe>>16,n[Be+3>>0]=Qe>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=xr;return}}}function Om(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0;if(d=l+((e[f>>2]|0)>>>3)|0,p=s[d>>0]|0,w=d,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,d=d+4|0,n[d>>0]=0,n[d+1>>0]=0,n[d+2>>0]=0,n[d+3>>0]=0,d=(e[f>>2]|0)+1|0,e[f>>2]=d,w=l+(d>>>3)|0,p=s[w>>0]|0,c>>>0<65537){k=w,d=k,n[d>>0]=p,n[d+1>>0]=p>>8,n[d+2>>0]=p>>16,n[d+3>>0]=p>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-65536|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+16|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}else{k=Ix(1,0,d&7|0)|0,d=v0,p=p|k,k=w,w=k,n[w>>0]=p,n[w+1>>0]=p>>8,n[w+2>>0]=p>>16,n[w+3>>0]=p>>24,k=k+4|0,n[k>>0]=d,n[k+1>>0]=d>>8,n[k+2>>0]=d>>16,n[k+3>>0]=d>>24,k=(e[f>>2]|0)+2|0,e[f>>2]=k,d=c+-1|0,w=l+(k>>>3)|0,p=s[w>>0]|0,(d&-1048576|0)==0&!0||V0(406196,406218,54,406251),d=Ix(d|0,0,k&7|0)|0,c=v0,d=p|d,k=w,p=k,n[p>>0]=d,n[p+1>>0]=d>>8,n[p+2>>0]=d>>16,n[p+3>>0]=d>>24,k=k+4|0,n[k>>0]=c,n[k+1>>0]=c>>8,n[k+2>>0]=c>>16,n[k+3>>0]=c>>24,k=(e[f>>2]|0)+20|0,e[f>>2]=k,h=h&1,c=k>>>3,l=l+c|0,c=n[l>>0]|0,c=c&255,k=k&7,k=Ix(h|0,0,k|0)|0,h=v0,k=c|k,c=l,n[c>>0]=k,n[c+1>>0]=k>>8,n[c+2>>0]=k>>16,n[c+3>>0]=k>>24,l=l+4|0,n[l>>0]=h,n[l+1>>0]=h>>8,n[l+2>>0]=h>>16,n[l+3>>0]=h>>24,l=e[f>>2]|0,l=l+1|0,e[f>>2]=l;return}}function oG(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0,$t=0,Xe=0,A6=0,Zx=0,ve=0,Nt=0,st=0,St=0,Qe=0;if(Qe=c0,c0=c0+16|0,st=Qe+8|0,St=Qe+4|0,A6=Qe,!(fo(c)|0)||(ve=c+5232|0,(e[ve>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=Qe,w|0;if(Nt=c+4|0,p=e[Nt>>2]|0,p>>>0<2){U0=1<<e[c+8>>2],a0=e[h>>2]|0,a0=a0>>>0<U0>>>0?a0:U0,a0=a0>>>0>131072?131072:a0,G0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,I0=0,B0=0,Zx=20;break}case 1:{e0=c+5208|0,Zx=e[e0>>2]|0,p=Zx;e:do if(Zx)$=p;else{do if((a0|0)==131072)if(p=c+24|0,k=Tx[e[G0>>2]&1](e[p>>2]|0,524288)|0,k||Px(1),e[e0>>2]=k,p=Tx[e[G0>>2]&1](e[p>>2]|0,131072)|0,p)if(e[c+5212>>2]=p,p=e[e0>>2]|0,p){$=p;break e}else break;else Px(1);while(!1);if(p=c+24|0,k=Tx[e[G0>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),p=Tx[e[G0>>2]&1](e[p>>2]|0,a0)|0,!p)Px(1);else{$=k,e0=p,I0=k,B0=p,Zx=20;break x}}while(!1);e0=e[c+5212>>2]|0,I0=0,B0=0,Zx=20;break}default:H0=0}while(!1);do if((Zx|0)==20){t0=c+193|0,s0=c+5220|0,f0=c+196|0,l0=c+200|0,u0=c+20|0,d0=c+24|0,C0=c+192|0,m0=c+4308|0,D0=c+4436|0,w0=c+5204|0,b0=c+4692|0,y0=c+5216|0,h0=c+5224|0,O0=(w|0)==0;x:for(;;){for(p=e[ve>>2]|0;;){if((p|0)==1&&(n[t0>>0]|0)!=0){Zx=24;break}if(k=e[s0>>2]|0,k)break;if(p){Zx=49;break x}if(j=e[h>>2]|0,M=U0>>>0<j>>>0?U0:j,j=(j|0)==(M|0)?1:0,p=(M<<1)+502|0,e[st>>2]=s[t0>>0],p>>>0>(e[l>>2]|0)>>>0)if(k=e[l0>>2]|0,(e[f0>>2]|0)>>>0<p>>>0){if(vx[e[u0>>2]&1](e[d0>>2]|0,k),e[l0>>2]=0,k=Tx[e[G0>>2]&1](e[d0>>2]|0,p)|0,!k){Zx=34;break x}e[l0>>2]=k,e[f0>>2]=p,q=0}else q=0;else q=1,k=e[d>>2]|0;if(n[k>>0]=n[C0>>0]|0,p=Pm(c,e[Nt>>2]|0,M,St)|0,a0=e[f>>2]|0,x0=j<<24>>24!=0,n0=e[St>>2]|0,e[Nt>>2]|0?Fm(G0,a0,M,x0,$,e0,p,n0,st,k):Cm(G0,a0,M,x0,p,n0,m0,D0,w0,b0,st,k),e[f>>2]=(e[f>>2]|0)+M,e[h>>2]=(e[h>>2]|0)-M,a0=e[st>>2]|0,x0=a0>>>3,q<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Zx=41;break x}if(!((a0&7|0)==0|x0>>>0<p>>>0)){Zx=43;break x}e[d>>2]=(e[d>>2]|0)+x0,e[l>>2]=(e[l>>2]|0)-x0,p=(e[h0>>2]|0)+x0|0,e[h0>>2]=p,O0||(e[w>>2]=p)}else e[y0>>2]=k,e[s0>>2]=x0;if(n[C0>>0]=n[k+((e[st>>2]|0)>>>3)>>0]|0,n[t0>>0]=e[st>>2]&7,!(j<<24>>24))continue x;e[ve>>2]=2,p=2}if((Zx|0)==24){Zx=0,Rm(c);continue}if(p=e[l>>2]|0,!p){Zx=49;break}p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[y0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[y0>>2]=(e[y0>>2]|0)+p,e[s0>>2]=(e[s0>>2]|0)-p,p=(e[h0>>2]|0)+p|0,e[h0>>2]=p,!O0&&(e[w>>2]=p)}if((Zx|0)==34)Px(1);else if((Zx|0)==41)V0(406280,406053,1436,406308);else if((Zx|0)==43)V0(406340,406053,1437,406308);else if((Zx|0)==49){if(vx[e[u0>>2]&1](e[d0>>2]|0,I0),vx[e[u0>>2]&1](e[d0>>2]|0,B0),(e[ve>>2]|0)!=1){H0=1;break}if(e[s0>>2]|0){H0=1;break}e[ve>>2]=0,e[y0>>2]=0,H0=1;break}}while(!1);return w=H0,c0=Qe,w|0}tx=c+80|0,M0=c+152|0,f0=c+12|0,l0=c+193|0,u0=c+5220|0,d0=c+5216|0,C0=c+16|0,m0=c+116|0,D0=c+92|0,w0=c+5236|0,b0=c+5208|0,y0=c+24|0,h0=c+5212|0,O0=c+196|0,B0=c+200|0,I0=c+20|0,U0=c+24|0,G0=c+192|0,H0=c+4308|0,xx=c+4436|0,X0=c+5204|0,Rx=c+4692|0,wx=c+128|0,gx=c+120|0,cx=c+124|0,ux=c+20|0,K0=c+160|0,j0=c+136|0,Ex=c+132|0,Wx=c+4|0,Yx=c+72|0,Gx=c+8|0,Bx=c+144|0,Mx=c+28|0,hx=c+32|0,Fx=c+36|0,mx=c+40|0,ex=c+44|0,Z0=c+48|0,Xx=c+52|0,xe=c+56|0,ue=c+60|0,Qx=c+64|0,Nx=c+68|0,fx=c+8|0,nx=c+194|0,dx=c+195|0,Lx=c+176|0,ae=c+176|0,Ox=c+160|0,bx=c+8|0,ax=c+5224|0,De=(w|0)==0,A0=c+108|0,se=c+96|0,Kx=c+112|0,lx=c+104|0,we=c+116|0,Ux=c+116|0,Fe=c+92|0,oe=c+104|0,px=c+100|0,T0=c+88|0;x:for(;;){if(k=tx,p=M0,p=Zt(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=v0,fo(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&($t=e0-p|0,($t|0)!=0)&&(Xe=e[h>>2]|0,(Xe|0)!=0)){if($=$t>>>0<Xe>>>0?$t:Xe,a0=e[f>>2]|0,fo(c)|0){if(p=e[A0>>2]|0,(p|0)==0&&$>>>0<(e[se>>2]|0)>>>0){if(e[A0>>2]=$,p=Tx[e[C0>>2]&1](e[y0>>2]|0,$+9|0)|0,!p){Zx=62;break}for(k=e[Kx>>2]|0,k&&($x(p|0,k|0,(e[lx>>2]|0)+9|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0),e[Kx>>2]=p,e[lx>>2]=$,e[we>>2]=p+2,n[p+1>>0]=0,n[(e[we>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[we>>2]|0)+((e[lx>>2]|0)+p)>>0]=0,p=p+1|0;$x(e[Ux>>2]|0,a0|0,$|0)|0}else{if(e0=e[px>>2]|0,(e[oe>>2]|0)>>>0<e0>>>0){if(p=Tx[e[C0>>2]&1](e[y0>>2]|0,e0+9|0)|0,!p){Zx=71;break}for(k=e[Kx>>2]|0,k&&($x(p|0,k|0,(e[lx>>2]|0)+9|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0),e[Kx>>2]=p,e[lx>>2]=e0,e[we>>2]=p+2,n[p+1>>0]=0,n[(e[we>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[we>>2]|0)+((e[lx>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Ux>>2]|0)+((e[T0>>2]|0)+-2)>>0]=0,n[(e[Ux>>2]|0)+((e[T0>>2]|0)+-1)>>0]=0,p=e[A0>>2]|0}e0=p&e[Fe>>2],p=e[se>>2]|0,p>>>0>e0>>>0&&(Zx=p-e0|0,$x((e[Ux>>2]|0)+((e[T0>>2]|0)+e0)|0,a0|0,($>>>0<Zx>>>0?$:Zx)|0)|0),k=(e[Ux>>2]|0)+e0|0,p=a0,(e0+$|0)>>>0>(e[T0>>2]|0)>>>0?(Zx=(e[px>>2]|0)-e0|0,$x(k|0,p|0,($>>>0<Zx>>>0?$:Zx)|0)|0,Zx=e[T0>>2]|0,$x(e[Ux>>2]|0,p+(Zx-e0)|0,$+(e0-Zx)|0)|0):$x(k|0,p|0,$|0)|0,p=e[Ux>>2]|0,n[p+-2>>0]=n[p+((e[T0>>2]|0)+-2)>>0]|0,p=e[Ux>>2]|0,n[p+-1>>0]=n[p+((e[T0>>2]|0)+-1)>>0]|0,p=(e[A0>>2]|0)+$|0,e[A0>>2]=p,p>>>0>1073741824&&(e[A0>>2]=p&1073741823|1073741824)}Zx=tx,Zx=$u(e[Zx>>2]|0,e[Zx+4>>2]|0,$|0,0)|0,p=tx,e[p>>2]=Zx,e[p+4>>2]=v0,p=e[A0>>2]|0,p>>>0<=(e[Fe>>2]|0)>>>0&&(Zx=(e[Ux>>2]|0)+p|0,n[Zx>>0]=0,n[Zx+1>>0]=0,n[Zx+2>>0]=0,n[Zx+3>>0]=0,n[Zx+4>>0]=0,n[Zx+5>>0]=0,n[Zx+6>>0]=0)}e[f>>2]=(e[f>>2]|0)+$,e[h>>2]=(e[h>>2]|0)-$;continue}if(p=e[ve>>2]|0,e0=(p|0)==1,e0&&(n[l0>>0]|0)!=0){Rm(c);continue}if(k=e[u0>>2]|0,a0=(k|0)==0,!a0){if(p=e[l>>2]|0,!p){Zx=234;break}if(p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[d0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[d0>>2]=(e[d0>>2]|0)+p,e[u0>>2]=(e[u0>>2]|0)-p,p=(e[ax>>2]|0)+p|0,e[ax>>2]=p,De)continue;e[w>>2]=p;continue}if(p){Zx=234;break}if(s0=(e[h>>2]|0)==0?1:0,a0=tx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,x0=M0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,M=Zt(e0|0,a0|0,$|0,x0|0)|0,p=v0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(n0=Dx($|0,x0|0,30)|0,n0=$&1073741823|((n0&1^1)<<30)+1073741824):n0=$,!(fo(c)|0)){Zx=231;break}if(j=e[m0>>2]|0,t0=e[D0>>2]|0,n[w0>>0]&1){Zx=231;break}if(q=s0<<24>>24==0,q||(n[w0>>0]=1),fo(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&M>>>0>k>>>0){Zx=231;break}if(p=e[Nt>>2]|0,(p|0)==1)if(e[b0>>2]|0)Zx=114;else{if(p=Tx[e[C0>>2]&1](e[y0>>2]|0,524288)|0,!p){Zx=108;break}if(e[b0>>2]=p,p=Tx[e[C0>>2]&1](e[y0>>2]|0,131072)|0,!p){Zx=110;break}e[h0>>2]=p,p=e[Nt>>2]|0,Zx=112}else Zx=112;e:do if((Zx|0)==112)if(Zx=0,(p|0)!=0&&(p|0)!=1){if(k=e[wx>>2]|0,p=k+(M>>>1)+1|0,p>>>0>(e[gx>>2]|0)>>>0){if(p=p+((M>>>2)+16)|0,e[gx>>2]=p,p=Tx[e[C0>>2]&1](e[y0>>2]|0,p<<4)|0,!p){Zx=127;break x}k=e[cx>>2]|0,k&&($x(p|0,k|0,e[wx>>2]<<4|0)|0,vx[e[ux>>2]&1](e[y0>>2]|0,e[cx>>2]|0),e[cx>>2]=0),e[cx>>2]=p,k=e[wx>>2]|0}else p=e[cx>>2]|0;k=p+(k<<4)|0,p=e[Wx>>2]|0;t:do switch(p|0){case 10:{AG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Yx>>2]|0,K0,j0,k,wx,Ex);break}case 11:{EG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Yx>>2]|0,K0,j0,k,wx,Ex);break}default:{if((p|0)>9)break t;do if((p|0)<5)Zx=139;else{if((e[bx>>2]|0)>=17){Zx=139;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=139}while(!1);r:do if((Zx|0)==139){Zx=0;do switch(p|0){case 40:break r;case 2:{CG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Mx>>2]|0,K0,j0,k,wx,Ex);break t}case 3:{kG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[hx>>2]|0,K0,j0,k,wx,Ex);break t}case 4:{SG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Fx>>2]|0,K0,j0,k,wx,Ex);break t}case 5:{FG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[mx>>2]|0,K0,j0,k,wx,Ex);break t}case 6:{OG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[ex>>2]|0,K0,j0,k,wx,Ex);break t}case 7:{PG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Z0>>2]|0,K0,j0,k,wx,Ex);break t}case 8:{cG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Xx>>2]|0,K0,j0,k,wx,Ex);break t}case 9:{uG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[xe>>2]|0,K0,j0,k,wx,Ex);break t}case 41:{dG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Qx>>2]|0,K0,j0,k,wx,Ex);break t}case 42:{lG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[Nx>>2]|0,K0,j0,k,wx,Ex);break t}default:break t}while(!1)}while(!1);fG(C0,M,n0,s0<<24>>24!=0,j,t0,c,e[ue>>2]|0,K0,j0,k,wx,Ex)}}while(!1);e0=e[Gx>>2]|0,k=e[f0>>2]|0,k=((e0|0)>(k|0)?e0:k)+1|0,k=1<<((k|0)<24?k:24),e0=k>>>3,M=tx,a0=Bx,a0=Zt(e[M>>2]|0,e[M+4>>2]|0,e[a0>>2]|0,e[a0+4>>2]|0)|0,fo(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[Nt>>2]|0,(p|0)<4?$=((e[Ex>>2]|0)+(e[wx>>2]|0)|0)>>>0>12286:$=0;do if(!(q^1|$|(a0+x0|0)>>>0>k>>>0)){if((e[Ex>>2]|0)>>>0>=e0>>>0||(e[wx>>2]|0)>>>0>=e0>>>0)break;e0=M0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(t0=Dx(k|0,e0|0,30)|0,k=k&1073741823|((t0&1^1)<<30)+1073741824),a0=tx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,a0>>>0>0|(a0|0)==0&e0>>>0>3221225471?($=Dx(e0|0,a0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,t0=M0,e[t0>>2]=e0,e[t0+4>>2]=a0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Zx=168;else{if((e[fx>>2]|0)>=17){Zx=168;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=168}while(!1);i:do if((Zx|0)==168){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{t0=e[Mx>>2]|0,n[t0+262148>>0]=1,e[t0+262152>>2]=0,e[t0+262156>>2]=0;break t}case 3:{t0=e[hx>>2]|0,n[t0+262152>>0]=1,e[t0+262156>>2]=0,e[t0+262160>>2]=0;break t}case 4:{t0=e[Fx>>2]|0,n[t0+524304>>0]=1,e[t0+524308>>2]=0,e[t0+524312>>2]=0;break t}case 5:{t0=e[mx>>2]|0,n[t0+1081344>>0]=1,e[t0+1081348>>2]=0,e[t0+1081352>>2]=0;break t}case 6:{t0=e[ex>>2]|0,n[t0+2129920>>0]=1,e[t0+2129924>>2]=0,e[t0+2129928>>2]=0;break t}case 7:{t0=e[Z0>>2]|0,n[t0+8454144>>0]=1,e[t0+8454148>>2]=0,e[t0+8454152>>2]=0;break t}case 8:{t0=e[Xx>>2]|0,n[t0+16842752>>0]=1,e[t0+16842756>>2]=0,e[t0+16842760>>2]=0;break t}case 9:{t0=e[xe>>2]|0,n[t0+33619968>>0]=1,e[t0+33619972>>2]=0,e[t0+33619976>>2]=0;break t}case 41:{t0=e[Qx>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}case 42:{t0=e[Nx>>2]|0,n[t0+1311744>>0]=1,e[t0+1311748>>2]=0,e[t0+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);t0=e[ue>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}while(!1);n[(e[Yx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[j0>>2]|0,p){k=e[wx>>2]|0,e[wx>>2]=k+1,M=e[cx>>2]|0,e[M+(k<<4)>>2]=p,e[M+(k<<4)+4>>2]=67108864,e[M+(k<<4)+8>>2]=0,o[M+(k<<4)+14>>1]=16,k=M+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){M=p+-2|0,p=((Ax(M|0)|0)^31)+-1|0,p=(p<<1)+(M>>>p)+2|0;break}if(p>>>0<2114){p=((Ax(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);M=p&65535,o[k>>1]=o[88156+((M>>>3)*3<<1)>>1]|(M<<3&56|2)&65535,e[Ex>>2]=(e[Ex>>2]|0)+(e[j0>>2]|0),e[j0>>2]=0}if(k=tx,p=e[k>>2]|0,k=e[k+4>>2]|0,a0=Bx,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,q&((p|0)==(e0|0)&(k|0)==(a0|0))){e[u0>>2]=0;break}if(k>>>0<a0>>>0|(k|0)==(a0|0)&p>>>0<e0>>>0){Zx=194;break x}if(!(k>>>0>a0>>>0|(k|0)==(a0|0)&p>>>0>e0>>>0|q^1)){Zx=196;break x}if(e0=Zt(p|0,k|0,e0|0,a0|0)|0,q=v0,!(q>>>0<0|(q|0)==0&e0>>>0<16777217)){Zx=198;break x}if(p=(e0<<1)+502|0,(e[O0>>2]|0)>>>0<p>>>0){if(vx[e[I0>>2]&1](e[U0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,q=Tx[e[C0>>2]&1](e[U0>>2]|0,p)|0,k=q,!q){Zx=202;break x}e[B0>>2]=k,e[O0>>2]=p}else k=e[B0>>2]|0;e[A6>>2]=s[l0>>0],$=k,n[$>>0]=n[G0>>0]|0,x0=j,a0=Bx,IG(C0,x0,t0,e[a0>>2]|0,e[a0+4>>2]|0,e0,s0<<24>>24!=0,c,n[nx>>0]|0,n[dx>>0]|0,e[Ex>>2]|0,e[wx>>2]|0,e[cx>>2]|0,Lx,K0,A6,$),n[G0>>0]=n[$+((e[A6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[A6>>2]&7,$=tx,a0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Bx,e[e0>>2]=a0,e[e0+4>>2]=$,e0=M0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(j=Dx(p|0,e0|0,30)|0,p=p&1073741823|((j&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&a0>>>0>3221225471?(e0=Dx(a0|0,$|0,30)|0,e0=a0&1073741823|((e0&1^1)<<30)+1073741824):e0=a0,j=M0,e[j>>2]=a0,e[j+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[Nt>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Zx=214;else{if((e[fx>>2]|0)>=17){Zx=214;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=214}while(!1);i:do if((Zx|0)==214){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{j=e[Mx>>2]|0,n[j+262148>>0]=1,e[j+262152>>2]=0,e[j+262156>>2]=0;break t}case 3:{j=e[hx>>2]|0,n[j+262152>>0]=1,e[j+262156>>2]=0,e[j+262160>>2]=0;break t}case 4:{j=e[Fx>>2]|0,n[j+524304>>0]=1,e[j+524308>>2]=0,e[j+524312>>2]=0;break t}case 5:{j=e[mx>>2]|0,n[j+1081344>>0]=1,e[j+1081348>>2]=0,e[j+1081352>>2]=0;break t}case 6:{j=e[ex>>2]|0,n[j+2129920>>0]=1,e[j+2129924>>2]=0,e[j+2129928>>2]=0;break t}case 7:{j=e[Z0>>2]|0,n[j+8454144>>0]=1,e[j+8454148>>2]=0,e[j+8454152>>2]=0;break t}case 8:{j=e[Xx>>2]|0,n[j+16842752>>0]=1,e[j+16842756>>2]=0,e[j+16842760>>2]=0;break t}case 9:{j=e[xe>>2]|0,n[j+33619968>>0]=1,e[j+33619972>>2]=0,e[j+33619976>>2]=0;break t}case 41:{j=e[Qx>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}case 42:{j=e[Nx>>2]|0,n[j+1311744>>0]=1,e[j+1311748>>2]=0,e[j+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);j=e[ue>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}while(!1);n[(e[Yx>>2]|0)+524304>>0]=1}while(!1);e0=Bx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[nx>>0]=n[x0+(p+-1&t0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;j=$u(p|0,e0|0,-2,0)|0,n[dx>>0]=n[x0+(j&t0)>>0]|0}while(!1);e[wx>>2]=0,e[Ex>>2]=0,e[ae>>2]=e[Ox>>2],e[ae+4>>2]=e[Ox+4>>2],e[ae+8>>2]=e[Ox+8>>2],e[ae+12>>2]=e[Ox+12>>2],e[d0>>2]=k,e[u0>>2]=(e[A6>>2]|0)>>>3}else Zx=114;while(!1);do if((Zx|0)==114){if(e[st>>2]=s[l0>>0],!((e0|0)==($|0)&(a0|0)==(x0|0)^1|q^1)){e[u0>>2]=0;break}if(k=(M<<1)+502|0,p=e[B0>>2]|0,(e[O0>>2]|0)>>>0<k>>>0){if(vx[e[I0>>2]&1](e[U0>>2]|0,p),e[B0>>2]=0,p=Tx[e[C0>>2]&1](e[U0>>2]|0,k)|0,!p){Zx=118;break x}e[B0>>2]=p,e[O0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[G0>>0]|0,a0=Pm(c,e[Nt>>2]|0,M,St)|0,p=j+(n0&t0)|0,k=s0<<24>>24!=0,e[Nt>>2]|0?Fm(C0,p,M,k,e[b0>>2]|0,e[h0>>2]|0,a0,e[St>>2]|0,st,e0):Cm(C0,p,M,k,a0,e[St>>2]|0,H0,xx,X0,Rx,st,e0),n[G0>>0]=n[e0+((e[st>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[st>>2]&7,j=tx,t0=e[j+4>>2]|0,Zx=M0,e[Zx>>2]=e[j>>2],e[Zx+4>>2]=t0,e[d0>>2]=e0,e[u0>>2]=(e[st>>2]|0)>>>3}while(!1);s0<<24>>24&&(e[ve>>2]=2)}switch(Zx|0){case 62:{Px(1);break}case 71:{Px(1);break}case 108:{Px(1);break}case 110:{Px(1);break}case 118:{Px(1);break}case 127:{Px(1);break}case 194:{V0(406017,406053,906,406080);break}case 196:{V0(406103,406053,907,406080);break}case 198:{V0(406149,406053,908,406080);break}case 202:{Px(1);break}case 231:return w=0,c0=Qe,w|0;case 234:return e0^1|a0^1?(w=1,c0=Qe,w|0):(e[ve>>2]=0,e[d0>>2]=0,w=1,c0=Qe,w|0)}return 0}function fo(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0;if(e0=c+5237|0,n[e0>>0]&1)return 1;f=e[c+4>>2]|0,(f|0)>=0?(f|0)>11?w=11:p=4:(f=0,p=4),(p|0)==4&&(w=f),e[c+4>>2]=w,f=c+8|0,l=e[f>>2]|0,(l|0)>=10?(l|0)>24&&(e[f>>2]=24,l=24):(e[f>>2]=10,l=10),d=c+12|0,f=e[d>>2]|0,p=(w|0)==0;do if(w>>>0>=2)if((w|0)<4)f=14;else{if(!f){if(!((w|0)>8&(l|0)>16)){f=16;break}f=(l|0)>18?18:l;break}if((f|0)>=16){if((f|0)>24){f=24;break}}else f=16}else f=l;while(!1);e[d>>2]=f,d=1<<((l|0)>(f|0)?l:f)+1,e[c+88>>2]=d,e[c+92>>2]=d+-1,f=1<<f,e[c+96>>2]=f,e[c+100>>2]=d+f,f=c+192|0,d=c+193|0;x:do switch(l|0){case 16:{n[f>>0]=0,n[d>>0]=1;break}case 17:{n[f>>0]=1,n[d>>0]=7;break}default:if((l|0)>17){n[f>>0]=(l<<1)+222|1,n[d>>0]=4;break x}else{n[f>>0]=(l<<4)+128|1,n[d>>0]=7;break x}}while(!1);x:do if(p){d=c+4436|0,w=c+4692|0,p=c+5204|0,h=c+4308|0,f=406473,l=h+128|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));$x(d|0,88174,256)|0,h=w,f=406601,l=h+57|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));e[p>>2]=448}else{f=c+16|0,d=c+28|0;e:do if((w|0)>9)l=d,p=65;else{do if((w|0)>=5&(l|0)<17)if((w|0)<7){l=d,p=56;break}else{w=(w|0)<9?41:42,p=31;break}else p=31;while(!1);t:do if((p|0)==31){l=d;r:do switch(w|0){case 10:{p=65;break e}case 40:{p=56;break t}case 2:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)Px(1);else{e[d>>2]=h,h=l,p=69;break r}break}case 3:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,262164)|0,!h)Px(1);else{e[c+32>>2]=h,h=l,p=70;break r}break}case 4:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524316)|0,!h)Px(1);else{e[c+36>>2]=h,h=l,p=71;break r}break}case 5:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,1081356)|0,!h)Px(1);else{e[c+40>>2]=h,h=l,p=72;break r}break}case 6:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,2129932)|0,!h)Px(1);else{e[c+44>>2]=h,h=l,p=73;break r}break}case 7:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,8454156)|0,!h)Px(1);else{e[c+48>>2]=h,h=l,p=74;break r}break}case 8:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,16842764)|0,!h)Px(1);else{e[c+52>>2]=h,h=l,p=75;break r}break}case 9:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,33619980)|0,!h)Px(1);else{e[c+56>>2]=h,h=l,p=76;break r}break}case 41:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)Px(1);else{e[c+64>>2]=h,h=l,p=78;break r}break}case 42:{if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,1311760)|0,!h)Px(1);else{e[c+68>>2]=h,h=l,p=79;break r}break}default:switch(h=l,w|0){case 10:break e;case 40:{k=h;break t}case 2:{p=69;break}case 3:{p=70;break}case 4:{p=71;break}case 5:{p=72;break}case 6:{p=73;break}case 7:{p=74;break}case 8:{p=75;break}case 9:{p=76;break}case 41:{p=78;break}case 42:{p=79;break}default:break x}}while(!1);switch(p|0){case 69:{c=e[h>>2]|0,n[c+262148>>0]=1,e[c+262152>>2]=0,e[c+262156>>2]=0;break x}case 70:{c=e[h+4>>2]|0,n[c+262152>>0]=1,e[c+262156>>2]=0,e[c+262160>>2]=0;break x}case 71:{c=e[h+8>>2]|0,n[c+524304>>0]=1,e[c+524308>>2]=0,e[c+524312>>2]=0;break x}case 72:{c=e[h+12>>2]|0,n[c+1081344>>0]=1,e[c+1081348>>2]=0,e[c+1081352>>2]=0;break x}case 73:{c=e[h+16>>2]|0,n[c+2129920>>0]=1,e[c+2129924>>2]=0,e[c+2129928>>2]=0;break x}case 74:{c=e[h+20>>2]|0,n[c+8454144>>0]=1,e[c+8454148>>2]=0,e[c+8454152>>2]=0;break x}case 75:{c=e[h+24>>2]|0,n[c+16842752>>0]=1,e[c+16842756>>2]=0,e[c+16842760>>2]=0;break x}case 76:{c=e[h+28>>2]|0,n[c+33619968>>0]=1,e[c+33619972>>2]=0,e[c+33619976>>2]=0;break x}case 78:{c=e[h+36>>2]|0,n[c+524290>>0]=1,e[c+524292>>2]=0,e[c+524296>>2]=0;break x}case 79:{c=e[h+40>>2]|0,n[c+1311744>>0]=1,e[c+1311748>>2]=0,e[c+1311752>>2]=0;break x}}}while(!1);do if((p|0)==56)if(h=Tx[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)Px(1);else{e[c+60>>2]=h,k=l;break}while(!1);c=e[k+32>>2]|0,n[c+524290>>0]=1,e[c+524292>>2]=0,e[c+524296>>2]=0;break x}while(!1);do if((p|0)==65)if(f=Tx[e[f>>2]&1](e[c+24>>2]|0,524308)|0,!f)Px(1);else{e[l+44>>2]=f,h=e[l+44>>2]|0,e[h+524292>>2]=0,e[h+524300>>2]=0,n[h+524304>>0]=1,h=l;break}while(!1);n[(e[h+44>>2]|0)+524304>>0]=1}while(!1);return n[e0>>0]=1,1}function Pm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;for(h=(h|0)==0?32768:131072,d=256;d>>>0<h>>>0&d>>>0<f>>>0;)d=d<<1;do if(d>>>0>=1025){if(h=c+4304|0,d>>>0<=(e[h>>2]|0)>>>0){w=e[c+4300>>2]|0;break}if(e[h>>2]=d,f=c+4300|0,h=c+24|0,vx[e[c+20>>2]&1](e[h>>2]|0,e[f>>2]|0),e[f>>2]=0,c=Tx[e[c+16>>2]&1](e[h>>2]|0,d<<2)|0,h=c,!c)Px(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Vx(w|0,0,d<<2|0)|0,w|0}function cG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,M=8)}else c=k+16842752|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&127|ex<<7)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,cx=fx+12|0,ux=k+16842760|0,K0=k+16842756|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=10;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[cx>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<7,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>128?M+-128|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&127)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[cx>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&127)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[cx>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[cx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<7,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>128?l+-128|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&127)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&127)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&127|tx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function uG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,M=8)}else c=k+33619968|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&255|ex<<8)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,cx=fx+12|0,ux=k+33619976|0,K0=k+33619972|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=16;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[cx>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<8,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>256?M+-256|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&255)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[cx>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&255)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[cx>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[cx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=16;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<8,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>256?l+-256|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&255)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&255)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&255|tx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function fG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,dx=ae,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+524300|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Lx=8)}else c=k+524290|0,n[c>>0]&1&&(Vx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Vx(k+131072|0,0,131072)|0),Lx=8;(Lx|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,mx=d+(Mx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,hx=k+524288|0,Fx=o[hx>>1]|0,o[hx>>1]=Fx+1<<16>>16,ex=Fx&65535,Z0=k+(mx<<2)|0,Bx=Mx-(e[Z0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=mx,o[k+262144+(ex<<2)>>1]=Bx>>>0>65535?65535:Bx,mx=k+131072+(mx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[mx>>1]|0,e[Z0>>2]=Mx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Mx=Z0&65535,ex=k+(Fx<<2)|0,Bx=mx-(e[ex>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(Mx<<2)>>1]=Bx>>>0>65535?65535:Bx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Fx>>1]|0,e[ex>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[hx>>1]|0,o[hx>>1]=ex+1<<16>>16,hx=ex&65535,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),H0=nx+4|0,xx=nx+8|0,X0=nx+12|0,Rx=nx+4|0,wx=nx+8|0,gx=nx+12|0,cx=k+524288|0,ux=k+524296|0,K0=k+524292|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,G0=$,c=q;x:for(;;){I0=G0,U0=M+j0|0;e:for(;;){if(B0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(h0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[H0>>2]=0,e[xx>>2]=0,e[X0>>2]=4240,O0=p&w,l0=e[nx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[Rx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(s0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-s0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>h0>>>0?h=l0:Lx=17:h>>>0>=p>>>0|s0>>>0>h0>>>0?h=l0:Lx=17,(Lx|0)==17){for(Lx=0,t0=h&w,h=0,q=D0;j=q,!(j>>>0>b0>>>0||(C0=q,m0=d+(t0+h)|0,(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[wx>>2]=s0,e[gx>>2]=Ox,f=Ox,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,u0=j,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>h0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!C0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>b0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[wx>>2]=s0,e[gx>>2]=h,t0=s0,l0=j,f=h,q=f0,j=u0,l=1,h=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,w0=px&65535,b0=k+(T0<<2)|0,D0=p-(e[b0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(w0<<2)>>1]=D0>>>0>65535?65535:D0,T0=k+131072+(T0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[T0>>1]|0,e[b0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(bx=h&31,ax=h>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=B0>>>0)){for(f=De+bx|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+De|0;!(h>>>0>f>>>0||(T0=d+(O0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(O0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=bx>>>0|(q|0)==0)&&(A0=h0+ax+1+(s[407930+(bx-q)>>0]<<s[280786+bx>>0])|0,se=(q*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[gx>>2]|0)>>>0)&&(e[nx>>2]=q,e[Rx>>2]=bx^q,e[wx>>2]=A0,e[gx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){I0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(B0=B0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<B0>>>0?c:B0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,h0=f0>>>0<Nx>>>0?f0:Nx,O0=f0&w,l0=e[dx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>h0>>>0?l=l0:Lx=71:l>>>0>=f0>>>0|j>>>0>h0>>>0?l=l0:Lx=71,(Lx|0)==71){for(Lx=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>b0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Kx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Kx>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=Kx,h=Kx,c=1):l=l0}l0=l,u0=u0+1|0}q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,u0=f,d0=l;;){if(T0=u0,u0=u0+-1|0,!T0||(j=j+t0|0,j>>>0>h0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,t0=_[k+262144+(t0<<2)>>1]|0,!C0&&(l=q+l0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>b0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,l0=f,h=l,M=t0,f=u0,c=1,l=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,b0=px&65535,U0=k+(T0<<2)|0,w0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<2)+2>>1]=o[T0>>1]|0,e[U0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(lx=l&31,we=l>>>5,Ux=(e[11272+(lx<<2)>>2]|0)+(rx(lx,we)|0)|0,lx>>>0<=B0>>>0)){for(h=Ux+lx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(T0=d+(O0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(O0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(Fe=h0+we+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,oe=(M*540|0)+3840+(rx((Ax(Fe|0)|0)^31,-120)|0)|0,oe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=lx^M,e[hx>>2]=Fe,e[Fx>>2]=oe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[X0>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],I0=I0+1|0,(I0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=G0+16|0,T0=e[H0>>2]|0,l=p^T0,e[G0>>2]=s0,e[G0+4>>2]=p|T0<<24,p=G0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,T0=((Ax(U0|0)|0)^31)+-1|0,px=U0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|U0-((px|2)<<T0)),e[G0+8>>2]=p,q=c<<16>>16==0,j=G0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,U0=px&65535,G0=k+(T0<<2)|0,I0=p-(e[G0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(U0<<2)>>1]=I0>>>0>65535?65535:I0,T0=k+131072+(T0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,G0=t0,c=0}e[a0>>2]=c+B0,e[x0>>2]=(e[x0>>2]|0)+(I0-$>>4),c0=ae}function dG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,dx=ae,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+524300|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Lx=8)}else c=k+524290|0,n[c>>0]&1&&(Vx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Vx(k+131072|0,0,131072)|0),Lx=8;(Lx|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,mx=d+(Mx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,hx=k+524288|0,Fx=o[hx>>1]|0,o[hx>>1]=Fx+1<<16>>16,ex=Fx&65535,Z0=k+(mx<<2)|0,Bx=Mx-(e[Z0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=mx,o[k+262144+(ex<<2)>>1]=Bx>>>0>65535?65535:Bx,mx=k+131072+(mx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[mx>>1]|0,e[Z0>>2]=Mx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Mx=Z0&65535,ex=k+(Fx<<2)|0,Bx=mx-(e[ex>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(Mx<<2)>>1]=Bx>>>0>65535?65535:Bx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Fx>>1]|0,e[ex>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[hx>>1]|0,o[hx>>1]=ex+1<<16>>16,hx=ex&65535,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),H0=nx+4|0,xx=nx+8|0,X0=nx+12|0,Rx=nx+4|0,wx=nx+8|0,gx=nx+12|0,cx=k+524288|0,ux=k+524296|0,K0=k+524292|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,G0=$,c=q;x:for(;;){I0=G0,U0=M+j0|0;e:for(;;){if(B0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(h0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[H0>>2]=0,e[xx>>2]=0,e[X0>>2]=4240,O0=p&w,l0=e[nx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[Rx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(s0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-s0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>h0>>>0?h=l0:Lx=17:h>>>0>=p>>>0|s0>>>0>h0>>>0?h=l0:Lx=17,(Lx|0)==17){for(Lx=0,t0=h&w,h=0,q=D0;j=q,!(j>>>0>b0>>>0||(C0=q,m0=d+(t0+h)|0,(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[wx>>2]=s0,e[gx>>2]=Ox,f=Ox,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,u0=j,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>h0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!C0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>b0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[wx>>2]=s0,e[gx>>2]=h,t0=s0,l0=j,f=h,q=f0,j=u0,l=1,h=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,w0=px&65535,b0=k+(T0<<2)|0,D0=p-(e[b0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(w0<<2)>>1]=D0>>>0>65535?65535:D0,T0=k+131072+(T0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[T0>>1]|0,e[b0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(bx=h&31,ax=h>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=B0>>>0)){for(f=De+bx|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+De|0;!(h>>>0>f>>>0||(T0=d+(O0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(O0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=bx>>>0|(q|0)==0)&&(A0=h0+ax+1+(s[407930+(bx-q)>>0]<<s[280786+bx>>0])|0,se=(q*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[gx>>2]|0)>>>0)&&(e[nx>>2]=q,e[Rx>>2]=bx^q,e[wx>>2]=A0,e[gx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){I0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,O0=px&65535,B0=k+(T0<<2)|0,h0=p-(e[B0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(O0<<2)>>1]=h0>>>0>65535?65535:h0,T0=k+131072+(T0<<1)|0,o[k+262144+(O0<<2)+2>>1]=o[T0>>1]|0,e[B0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(B0=B0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<B0>>>0?c:B0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,h0=f0>>>0<Nx>>>0?f0:Nx,O0=f0&w,l0=e[dx>>2]|0,y0=d+O0|0,d0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,b0=O0+B0|0,w0=d+b0|0,D0=y0,b0=d+(b0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>h0>>>0?l=l0:Lx=71:l>>>0>=f0>>>0|j>>>0>h0>>>0?l=l0:Lx=71,(Lx|0)==71){for(Lx=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>b0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Kx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Kx>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=Kx,h=Kx,c=1):l=l0}l0=l,u0=u0+1|0}q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=O0+l0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,u0=f,d0=l;;){if(T0=u0,u0=u0+-1|0,!T0||(j=j+t0|0,j>>>0>h0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(d0<<2)+2>>1]|0,t0=_[k+262144+(t0<<2)>>1]|0,!C0&&(l=q+l0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>b0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,l0=f,h=l,M=t0,f=u0,c=1,l=d0}if(T0=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,b0=px&65535,U0=k+(T0<<2)|0,w0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<2)+2>>1]=o[T0>>1]|0,e[U0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(lx=l&31,we=l>>>5,Ux=(e[11272+(lx<<2)>>2]|0)+(rx(lx,we)|0)|0,lx>>>0<=B0>>>0)){for(h=Ux+lx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(T0=d+(O0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(O0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(Fe=h0+we+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,oe=(M*540|0)+3840+(rx((Ax(Fe|0)|0)^31,-120)|0)|0,oe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=lx^M,e[hx>>2]=Fe,e[Fx>>2]=oe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[X0>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],I0=I0+1|0,(I0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=G0+16|0,T0=e[H0>>2]|0,l=p^T0,e[G0>>2]=s0,e[G0+4>>2]=p|T0<<24,p=G0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,T0=((Ax(U0|0)|0)^31)+-1|0,px=U0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|U0-((px|2)<<T0)),e[G0+8>>2]=p,q=c<<16>>16==0,j=G0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,px=o[cx>>1]|0,o[cx>>1]=px+1<<16>>16,U0=px&65535,G0=k+(T0<<2)|0,I0=p-(e[G0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(U0<<2)>>1]=I0>>>0>65535?65535:I0,T0=k+131072+(T0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,G0=t0,c=0}e[a0>>2]=c+B0,e[x0>>2]=(e[x0>>2]|0)+(I0-$>>4),c0=ae}function lG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(Lx=c0,c0=c0+32|0,nx=Lx+16|0,dx=Lx,Nx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,fx=f+h|0,Qx=h>>>0>3?fx+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Xx=(Z0|0)<9?64:512,M=Xx+f|0,xe=k+1311756|0,e[xe>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Vx(k+196608|0,0,65536)|0,Vx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,oe=8)}else n[k+1311744>>0]&1&&(Vx(k|0,-52,131072)|0,Vx(k+131072|0,0,131072)|0,Vx(k+1310720|0,0,1025)|0),oe=8;(oe|0)==8&&h>>>0>2&f>>>0>2&&(hx=f+-3|0,mx=d+(hx&w)|0,mx=(rx(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+3>>0]<<24,506832829)|0)>>>17,Z0=mx&511,ex=k+1310720+(Z0<<1)|0,Fx=o[ex>>1]|0,o[ex>>1]=Fx+1<<16>>16,Fx=Fx&511,ex=k+(mx<<2)|0,Mx=hx-(e[ex>>2]|0)|0,n[(hx&65535)+(k+196608)>>0]=mx,o[k+262144+(Z0<<11)+(Fx<<2)>>1]=Mx>>>0>65535?65535:Mx,mx=k+131072+(mx<<1)|0,o[k+262144+(Z0<<11)+(Fx<<2)+2>>1]=o[mx>>1]|0,e[ex>>2]=hx,o[mx>>1]=Fx,mx=f+-2|0,Fx=d+(mx&w)|0,Fx=(rx(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24,506832829)|0)>>>17,ex=Fx&511,hx=k+1310720+(ex<<1)|0,Z0=o[hx>>1]|0,o[hx>>1]=Z0+1<<16>>16,Z0=Z0&511,hx=k+(Fx<<2)|0,Mx=mx-(e[hx>>2]|0)|0,n[(mx&65535)+(k+196608)>>0]=Fx,o[k+262144+(ex<<11)+(Z0<<2)>>1]=Mx>>>0>65535?65535:Mx,Fx=k+131072+(Fx<<1)|0,o[k+262144+(ex<<11)+(Z0<<2)+2>>1]=o[Fx>>1]|0,e[hx>>2]=mx,o[Fx>>1]=Z0,Fx=f+-1|0,Z0=d+(Fx&w)|0,Z0=(rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,hx=Z0&511,mx=k+1310720+(hx<<1)|0,ex=o[mx>>1]|0,o[mx>>1]=ex+1<<16>>16,ex=ex&511,mx=k+(Z0<<2)|0,Mx=Fx-(e[mx>>2]|0)|0,n[(Fx&65535)+(k+196608)>>0]=Z0,o[k+262144+(hx<<11)+(ex<<2)>>1]=Mx>>>0>65535?65535:Mx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(hx<<11)+(ex<<2)+2>>1]=o[Z0>>1]|0,e[mx>>2]=Fx,o[Z0>>1]=ex),xx=nx+4|0,X0=nx+8|0,Rx=nx+12|0,wx=nx+4|0,gx=nx+8|0,cx=nx+12|0,ux=k+1311752|0,K0=k+1311748|0,j0=Xx<<2,Ex=fx+-4|0,Wx=fx+-3|0,Yx=dx+12|0,Gx=dx+4|0,Bx=dx+8|0,Mx=dx+4|0,hx=dx+8|0,Fx=dx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=q;x:for(;;){U0=H0,G0=M+j0|0;e:for(;;){if(I0=fx-p|0,(p+4|0)>>>0>=fx>>>0)break x;for(O0=p>>>0<Nx>>>0?p:Nx,e[nx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,u0=e[nx>>2]|0,h0=d+B0|0,d0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[nx>>2]=0,e[wx>>2]=0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f=4240,l=0,l0=0;(l0|0)!=16;){if(s0=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,h=p-s0|0,l0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|s0>>>0>O0>>>0?h=u0:oe=17:h>>>0>=p>>>0|s0>>>0>O0>>>0?h=u0:oe=17,(oe|0)==17){for(oe=0,t0=h&w,h=0,q=w0;j=q,!(j>>>0>y0>>>0||(m0=q,D0=d+(t0+h)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=b0>>>0||(n[d+(t0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(ae=(h*540|0)+(e[11500+(l0<<2)>>2]|0)|0,f>>>0<ae>>>0)?(e[nx>>2]=h,e[gx>>2]=s0,e[cx>>2]=ae,f=ae,l=1):h=u0}u0=h,l0=l0+1|0}D0=d0&511,t0=0,q=p-(e[k+(d0<<2)>>2]|0)|0,j=e[xe>>2]|0,h=_[k+131072+(d0<<1)>>1]|0;t:for(;;){for(m0=B0+u0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,s0=t0,f0=q,l0=j,d0=h;;){if(t0=l0,l0=l0+-1|0,!t0||(s0=s0+f0|0,s0>>>0>O0>>>0))break t;if(t0=p-s0&w,f0=d0,d0=_[k+262144+(D0<<11)+(d0<<2)+2>>1]|0,f0=_[k+262144+(D0<<11)+(f0<<2)>>1]|0,!C0&&(h=t0+u0|0,!(h>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+h>>0]|0))j=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(T0=h,px=d+(t0+j)|0,(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)!=(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[gx>>2]=s0,e[cx>>2]=h,t0=s0,u0=j,f=h,q=f0,j=l0,l=1,h=d0}if(T0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,b0=T0&511,y0=k+1310720+(b0<<1)|0,px=o[y0>>1]|0,o[y0>>1]=px+1<<16>>16,px=px&511,y0=k+(T0<<2)|0,w0=p-(e[y0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(b0<<11)+(px<<2)>>1]=w0>>>0>65535?65535:w0,T0=k+131072+(T0<<1)|0,o[k+262144+(b0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[y0>>2]=p,o[T0>>1]=px,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(T0=o[21084+(t0<<1)>>1]|0,h=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(Ox=h&31,bx=h>>>5,ax=(e[11272+(Ox<<2)>>2]|0)+(rx(Ox,bx)|0)|0,Ox>>>0<=I0>>>0)){for(f=ax+Ox|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ax|0;!(h>>>0>f>>>0||(T0=d+(B0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(B0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Ox>>>0|(q|0)==0)&&(De=O0+bx+1+(s[407930+(Ox-q)>>0]<<s[280786+Ox>>0])|0,A0=(q*540|0)+3840+(rx((Ax(De|0)|0)^31,-120)|0)|0,A0>>>0>=(e[cx>>2]|0)>>>0)&&(e[nx>>2]=q,e[wx>>2]=Ox^q,e[gx>>2]=De,e[cx>>2]=A0,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,B0=T0&511,I0=k+1310720+(B0<<1)|0,px=o[I0>>1]|0,o[I0>>1]=px+1<<16>>16,px=px&511,I0=k+(T0<<2)|0,O0=p-(e[I0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(B0<<11)+(px<<2)>>1]=O0>>>0>65535?65535:O0,T0=k+131072+(T0<<1)|0,o[k+262144+(B0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[I0>>2]=p,o[T0>>1]=px,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,B0=T0&511,I0=k+1310720+(B0<<1)|0,px=o[I0>>1]|0,o[I0>>1]=px+1<<16>>16,px=px&511,I0=k+(T0<<2)|0,O0=p-(e[I0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(B0<<11)+(px<<2)>>1]=O0>>>0>65535?65535:O0,T0=k+131072+(T0<<1)|0,o[k+262144+(B0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[I0>>2]=p,o[T0>>1]=px,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[dx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Nx>>>0?f0:Nx,B0=f0&w,u0=e[dx>>2]|0,h0=d+B0|0,d0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[dx>>2]=0,e[Mx>>2]=0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,h=4240,c=0,l0=0;(l0|0)!=16;){if(j=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,l=f0-j|0,l0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|j>>>0>O0>>>0?l=u0:oe=71:l>>>0>=f0>>>0|j>>>0>O0>>>0?l=u0:oe=71,(oe|0)==71){for(oe=0,q=l&w,l=0,M=w0;f=M,!(f>>>0>y0>>>0||(px=M,T0=d+(q+l)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(se=(l*540|0)+(e[11500+(l0<<2)>>2]|0)|0,h>>>0<se>>>0)?(e[dx>>2]=l,e[hx>>2]=j,e[Fx>>2]=se,h=se,c=1):l=u0}u0=l,l0=l0+1|0}D0=d0&511,q=0,M=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[xe>>2]|0,l=_[k+131072+(d0<<1)>>1]|0;e:for(;;){for(m0=B0+u0|0,C0=m0>>>0>w>>>0,m0=d+m0|0,j=q,t0=M,l0=f,d0=l;;){if(T0=l0,l0=l0+-1|0,!T0||(j=j+t0|0,j>>>0>O0>>>0))break e;if(q=f0-j&w,t0=d0,d0=_[k+262144+(D0<<11)+(d0<<2)+2>>1]|0,t0=_[k+262144+(D0<<11)+(t0<<2)>>1]|0,!C0&&(l=q+u0|0,!(l>>>0>w>>>0))){if((n[m0>>0]|0)==(n[d+l>>0]|0))f=0,l=w0;else continue;for(;M=l,!(M>>>0>y0>>>0||(px=l,T0=d+(q+f)|0,(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)f=f+4|0,l=M+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[dx>>2]=f,e[hx>>2]=j,e[Fx>>2]=l,q=j,u0=f,h=l,M=t0,f=l0,c=1,l=d0}if(T0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,y0=T0&511,G0=k+1310720+(y0<<1)|0,px=o[G0>>1]|0,o[G0>>1]=px+1<<16>>16,px=px&511,G0=k+(T0<<2)|0,b0=f0-(e[G0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=T0,o[k+262144+(y0<<11)+(px<<2)>>1]=b0>>>0>65535?65535:b0,T0=k+131072+(T0<<1)|0,o[k+262144+(y0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[G0>>2]=f0,o[T0>>1]=px,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(T0=o[21084+(q<<1)>>1]|0,l=T0&65535,e[K0>>2]=(e[K0>>2]|0)+1,T0<<16>>16!=0&&(Kx=l&31,lx=l>>>5,we=(e[11272+(Kx<<2)>>2]|0)+(rx(Kx,lx)|0)|0,Kx>>>0<=I0>>>0)){for(h=we+Kx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+we|0;!(l>>>0>h>>>0||(T0=d+(B0+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(B0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=Kx>>>0|(M|0)==0)&&(Ux=O0+lx+1+(s[407930+(Kx-M)>>0]<<s[280786+Kx>>0])|0,Fe=(M*540|0)+3840+(rx((Ax(Ux|0)|0)^31,-120)|0)|0,Fe>>>0>=(e[Fx>>2]|0)>>>0)&&(e[dx>>2]=M,e[Mx>>2]=Kx^M,e[hx>>2]=Ux,e[Fx>>2]=Fe,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[nx>>2]=e[dx>>2],e[nx+4>>2]=e[dx+4>>2],e[nx+8>>2]=e[dx+8>>2],e[nx+12>>2]=e[dx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<fx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Nx>>>0?f0:Nx)>>>0)if(f=c+3|0,T0=e[e0>>2]|0,l=f-T0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(T0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,T0=e[xx>>2]|0,l=p^T0,e[H0>>2]=s0,e[H0+4>>2]=p|T0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,T0=((Ax(G0|0)|0)^31)+-1|0,px=G0>>>T0&1,c=((T0<<1)+65534|px)+16&65535,o[p>>1]=c,p=T0<<24|G0-((px|2)<<T0)),e[H0+8>>2]=p,q=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){T0=s0+-2|0,f=((Ax(T0|0)|0)^31)+-1|0,f=(f<<1)+(T0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){T0=l+-6|0,c=((Ax(T0|0)|0)^31)+-1|0,c=(c<<1)+(T0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<Qx>>>0?c:Qx,p=f0+2|0;!(p>>>0>=c>>>0);)T0=d+(p&w)|0,T0=(rx(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,506832829)|0)>>>17,G0=T0&511,H0=k+1310720+(G0<<1)|0,px=o[H0>>1]|0,o[H0>>1]=px+1<<16>>16,px=px&511,H0=k+(T0<<2)|0,U0=p-(e[H0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=T0,o[k+262144+(G0<<11)+(px<<2)>>1]=U0>>>0>65535?65535:U0,T0=k+131072+(T0<<1)|0,o[k+262144+(G0<<11)+(px<<2)+2>>1]=o[T0>>1]|0,e[H0>>2]=p,o[T0>>1]=px,p=p+1|0;p=f0+(e[nx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=Lx}function Im(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0;if(k=h+524304|0,!!(n[k>>0]&1)){for(f=1<<e[f+8>>2],e[h>>2]=f+-1,f=1-f|0,e[h+524296>>2]=f,p=0;(p|0)!=131072;)e[h+4+(p<<2)>>2]=f,p=p+1|0;(l|0)==0^1|w^1&&(d=(e[h>>2]|0)+1|0),w=h+524300|0;do if(d>>>0>(e[w>>2]|0)>>>0)if(p=h+524292|0,f=c+8|0,vx[e[c+4>>2]&1](e[f>>2]|0,e[p>>2]|0),e[p>>2]=0,f=Tx[e[c>>2]&1](e[f>>2]|0,d<<3)|0,!f)Px(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function I4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;for(d=0,w=0;(d|0)!=(h|0);)e0=w+(e[c+(d<<2)>>2]|0)|0,d=d+1|0,w=e0;for(w>>>0<256?l=+r0[19516+(w<<2)>>2]:l=+Jx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+r0[19516+(d<<2)>>2]:p=+Jx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,r0[d>>2]=p,p<1&&(r0[d>>2]=1)):r0[f+(w<<2)>>2]=k,w=w+1|0}function Un(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+1024>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=256)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=256||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==256)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function Ku(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+2816>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=704)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=704||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==704)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function Hn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,a0=j+88|0,n0=j+72|0,q=j,$=e[c+2080>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[a0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return n0=e[c+(e[a0>>2]<<2)>>2]|0,$=e[c+(e[a0+4>>2]<<2)>>2]|0,c=e[c+(e[a0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(n0+$+c<<1>>>0)+28-+((n0>>>0>q>>>0?n0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[n0+(f<<2)>>2]=e[c+(e[a0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(a0=n0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=n0+(c<<2)|0,d=e[f>>2]|0,e0=e[a0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[a0>>2]=d,f=c}$=$+1|0}return c=(e[n0+8>>2]|0)+(e[n0+12>>2]|0)|0,q=e[n0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[n0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+r0[19516+($<<2)>>2]:w=+Jx(+($>>>0)),a0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=520)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=520||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==520)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[a0>>2]=(e[a0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+r0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Jx(h)),h=w-h,n0=~~(h+.5)>>>0,n0=n0>>>0>15?15:n0,e0=q+(n0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=n0>>>0>$>>>0?n0:$}for(x0=+((($<<1)+18|0)>>>0),a0=q+72|0,f=q,h=0,$=0;!(f>>>0>=a0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+r0[19516+(e0<<2)>>2]:p=+Jx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+r0[19516+($<<2)>>2]:l=+Jx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function hG(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0;for(Ex=c0,c0=c0+6688|0,K0=Ex+2832|0,ux=Ex,wx=Ex+6432|0,X0=Ex+6176|0,gx=Ex+5920|0,Rx=Ex+5664|0,$=0,y0=0;($|0)!=(f|0);)j0=y0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,y0=j0;for(j0=c+8|0,H0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,H0||Px(1),q=w+1|0,n0=0,M=0;$=d&w,(M|0)!=(f|0);)d=e[h+(M<<4)>>2]|0,($+d|0)>>>0>w>>>0?(G0=q-$|0,$x(H0+n0|0,l+$|0,G0|0)|0,$=0,x0=d-G0|0,d=n0+G0|0):(x0=d,d=n0),x0&&($x(H0+d|0,l+$|0,x0|0)|0,d=d+x0|0),n0=d,d=$+x0+(e[h+(M<<4)+4>>2]&16777215)|0,M=M+1|0;f0=((y0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(y0){if(y0>>>0<128){if(M=k+16|0,d=e[M>>2]|0,q=k+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[c+4>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=k+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=k+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[c+4>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=k+12|0;e[k>>2]=1,n[(e[k+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1;break}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,f0*1040|0)|0,b0||Px(1),$=0;($|0)!=(f0|0);)Vx(b0+($*1040|0)|0,0,1024)|0,e[b0+($*1040|0)+1024>>2]=0,i0[b0+($*1040|0)+1032>>3]=Q0,$=$+1|0;for(M=(y0>>>0)/(f0>>>0)|0,q=y0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((rx(y0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(M>>>0)|0)|0),x0=b0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,n0=H0+(($+70|0)>>>0<y0>>>0?$:q)|0;$=x0+-1|0,!!$;)x0=b0+(l*1040|0)+(s[n0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,n0=n0+1|0;l=l+1|0}for(e[K0>>2]=7,x0=((y0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,n0=ux+1024|0,M=ux+1032|0,q=y0>>>0>70,l=y0+-69|0,w=ux+1024|0,s0=0;!(s0>>>0>=x0>>>0);){for(Vx(ux|0,0,1028)|0,i0[M>>3]=Q0,q?(d=(e[K0>>2]|0)*16807|0,G0=(d|0)==0,e[K0>>2]=G0?1:d,$=70,d=((G0?1:d)>>>0)%(l>>>0)|0):($=y0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=H0+d|0;$=$+-1|0,!!$;)G0=ux+(s[d>>0]<<2)|0,e[G0>>2]=(e[G0>>2]|0)+1,d=d+1|0;for($=(s0>>>0)%(f0>>>0)|0,d=b0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[n0>>2]|0),d=0;(d|0)!=256;)G0=b0+($*1040|0)+(d<<2)|0,e[G0>>2]=(e[G0>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;s0=s0+1|0}G0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,G0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<11)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<3)|0,m0||Px(1),D0=rx(y0,(f0+7|0)>>>3)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,f0<<1)|0,w0||Px(1),l0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,d0=G0+u0|0,I0=0,s0=0;x:for(;;){if(s0>>>0>=l0>>>0){l=136;break}if(w=(f0+7|0)>>>3,f0>>>0>=257){l=73;break}e:do if(f0>>>0<2)for($=0;;){if(($|0)==(y0|0)){n0=1;break e}n[G0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[b0+(d*1040|0)+1024>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,f0)|0,n0=0;;){if((n0|0)==(f0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,f0<<3|0)|0,Vx(D0|0,0,rx(y0,w)|0)|0,n0=0;!(n0>>>0>=y0>>>0);){for($=rx(s[H0+n0>>0]|0,f0)|0,d=G0+n0|0,t0=1e99,x0=0;(x0|0)!=(f0|0);)I0=m0+(x0<<3)|0,j=+i0[I0>>3]+ +i0[C0+($+x0<<3)>>3],i0[I0>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*28.1:j=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}I0=D0+(d+$)|0,n[I0>>0]=n[I0>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=111;break x}l=n0+-1|0,d=d-w|0,n0=G0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(B0=n[n0>>0]|0,I0=$<<24>>24==B0<<24>>24,$=I0?$:B0,x0=I0?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[G0+x0>>0]|0,d>>>0>=f0>>>0){l=120;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(B0=G0+d|0,I0=o[w0+(s[B0>>0]<<1)>>1]|0,n[B0>>0]=I0,(I0&255)>>>0>=f0>>>0){l=126;break x}d=d+1|0}if(x0=$&65535,x0>>>0>f0>>>0){l=129;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*1040|0)|0,0,1024)|0,e[b0+(d*1040|0)+1024>>2]=0,i0[b0+(d*1040|0)+1032>>3]=Q0,d=d+1|0}for(;($|0)!=(y0|0);)I0=s[G0+$>>0]|0,B0=b0+(I0*1040|0)+(s[H0+$>>0]<<2)|0,e[B0>>2]=(e[B0>>2]|0)+1,I0=b0+(I0*1040|0)+1024|0,e[I0>>2]=(e[I0>>2]|0)+1,$=$+1|0;I0=n0,f0=x0,s0=s0+1|0}if((l|0)==73)V0(404083,403848,80,404281);else if((l|0)==104)V0(404124,403848,130,404281);else if((l|0)==111)V0(404145,403848,141,404281);else if((l|0)==120)V0(404005,403848,165,404260);else if((l|0)==126)V0(404005,403848,172,404260);else if((l|0)==129)V0(404057,403848,174,404260);else if((l|0)==136){for(B0=c+4|0,vx[e[B0>>2]&1](e[j0>>2]|0,C0),vx[e[B0>>2]&1](e[j0>>2]|0,m0),vx[e[B0>>2]&1](e[j0>>2]|0,D0),vx[e[B0>>2]&1](e[j0>>2]|0,w0),vx[e[B0>>2]&1](e[j0>>2]|0,b0),$=I0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((I0<<4)+1008|0)>>>6,b0=Tx[e[c>>2]&1](e[j0>>2]|0,q*1040|0)|0,n0=b0,b0||Px(1),b0=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=b0,b0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(I0>>>0<64?I0:64)*1040|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=I0>>>0){l=151;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[G0+x0>>0]|0)==(n[G0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&V0(403825,403848,231,404239),(d|0)!=(I0|0)&&V0(403911,403848,237,404239),l0=q,f0=q,b0=0,$=0,C0=0;;){if(I0>>>0<=C0>>>0){l=193;break}for(d0=I0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*1040|0)|0,Vx(x0|0,0,1024)|0,q=m0+(w*1040|0)+1024|0,e[q>>2]=0,i0[m0+(w*1040|0)+1032>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)y0=m0+(w*1040|0)+(s[H0+$>>0]<<2)|0,e[y0>>2]=(e[y0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*1040|0)+1032>>3]=+Un(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=zu(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=b0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*1040|0)|0,!d){l=170;break}x0||$x(d|0,n0|0,l0*1040|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=b0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=179;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+b0|0,q=b0,l=b0,w=0;;){if((w|0)==(u0|0)){d=0;break}y0=X0+(w<<2)|0,w0=e[y0>>2]|0,$x(d+(q*1040|0)|0,m0+(w0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[wx+(w0<<2)>>2],e[Rx+(e[y0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=b0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+b0|0,(b0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(s0|0)){l=191;break}b0=d,C0=C0+64|0}if((l|0)==170)Px(1);else if((l|0)==179)Px(1);else if((l|0)==189)V0(403935,403848,273,404239);else if((l|0)==191)V0(403969,403848,274,404239);else if((l|0)==193){vx[e[B0>>2]&1](e[j0>>2]|0,m0),y0=b0<<6,x0=rx(b0>>>1,b0)|0,x0=y0>>>0<x0>>>0?y0:x0;do if((x0+1|0)>>>0>2049){if(vx[e[B0>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){U0=$;break}Px(1)}else U0=D0;while(!1);for(d=b0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(b0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=zu(D0,M,h0,w0,U0,b0,I0,256,x0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,U0),vx[e[B0>>2]&1](e[j0>>2]|0,M),y0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,y0||Px(1),$=0;($|0)!=(b0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+1024|0,l0=ux+1032|0,u0=K0+1024|0,d0=K0+1024|0,$=0,d=0,C0=0;(C0|0)!=(I0|0);){for(Vx(ux|0,0,1028)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(s[H0+s0>>0]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,1040)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)U0=K0+(d<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;j=+Un(K0),j=j-+i0[D0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*1040|0)+1024>>2]|0),M=0;(M|0)!=256;)U0=K0+(M<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0+(x0*1040|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Un(K0),t0=t0-+i0[D0+(x0*1040|0)+1032>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[B0>>2]&1](e[j0>>2]|0,w0),vx[e[B0>>2]&1](e[j0>>2]|0,n0),M=k+16|0,$=e[M>>2]|0,$>>>0<I0>>>0){for(n0=($|0)==0?I0:$;!(n0>>>0>=I0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=k+20|0,$=e[M>>2]|0,$>>>0<I0>>>0){for(n0=($|0)==0?I0:$;!(n0>>>0>=I0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=k+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[B0>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=k+12|0;for(M=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(I0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(I0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,U0=x0&255,n[(e[M>>2]|0)+l>>0]=U0,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(U0&255)?w&255:x0&255)&255,x0=q}e[k+4>>2]=l,e[k>>2]=(w&255)+1,vx[e[B0>>2]&1](e[j0>>2]|0,y0),vx[e[B0>>2]&1](e[j0>>2]|0,O0),vx[e[B0>>2]&1](e[j0>>2]|0,h0),vx[e[B0>>2]&1](e[j0>>2]|0,G0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,vx[e[k>>2]&1](e[j0>>2]|0,H0),U0=f<<1,G0=Tx[e[c>>2]&1](e[j0>>2]|0,U0)|0,G0||Px(1),$=0;($|0)!=(f|0);)o[G0+($<<1)>>1]=o[h+($<<4)+12>>1]|0,$=$+1|0;l0=((f>>>0)/530|0)+1|0,l0=l0>>>0>50?50:l0;do if(f){if(f>>>0<128){if(M=e0+16|0,d=e[M>>2]|0,q=e0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=e0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=e0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=e0+12|0;e[e0>>2]=1,n[(e[e0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=f,e[q>>2]=(e[q>>2]|0)+1;break}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*2832|0)|0,b0||Px(1),$=0;($|0)!=(l0|0);)Vx(b0+($*2832|0)|0,0,2816)|0,e[b0+($*2832|0)+2816>>2]=0,i0[b0+($*2832|0)+2824>>3]=Q0,$=$+1|0;for(n0=(f>>>0)/(l0>>>0)|0,M=f+-41|0,d=7,q=0;(q|0)!=(l0|0);){for($=((rx(q,f)|0)>>>0)/(l0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(n0>>>0)|0)|0),x0=b0+(q*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=G0+((($+40|0)>>>0<f>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)H0=b0+(q*2832|0)+(_[x0>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[K0>>2]=7,n0=((U0>>>0)/40|0)+100+l0+-1|0,n0=n0-((n0>>>0)%(l0>>>0)|0)|0,M=ux+2816|0,q=ux+2824|0,l=f>>>0>40,w=f+-39|0,s0=ux+2816|0,f0=0;!(f0>>>0>=n0>>>0);){for(Vx(ux|0,0,2820)|0,i0[q>>3]=Q0,l?($=(e[K0>>2]|0)*16807|0,H0=($|0)==0,e[K0>>2]=H0?1:$,d=40,$=((H0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[s0>>2]=(e[s0>>2]|0)+d,x0=G0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)H0=ux+(_[x0>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=b0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=704;)H0=b0+($*2832|0)+(d<<2)|0,e[H0>>2]=(e[H0>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}I0=Tx[e[c>>2]&1](e[j0>>2]|0,f)|0,I0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*5632|0)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<3)|0,m0||Px(1),D0=rx((l0+7|0)>>>3,f)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<1)|0,w0||Px(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,d0=I0+u0|0,B0=0,s0=0;x:for(;;){if(s0>>>0>=f0>>>0){l=382;break}if(w=(l0+7|0)>>>3,l0>>>0>=257){l=319;break}e:do if(l0>>>0<2)for($=0;;){if(($|0)==(f|0)){n0=1;break e}n[I0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,l0*5632|0)|0,d=0;;){if((d|0)==(l0|0)){$=704;break}$=e[b0+(d*2832|0)+2816>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,l0)|0,n0=0;;){if((n0|0)==(l0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,l0<<3|0)|0,Vx(D0|0,0,rx(w,f)|0)|0,n0=0;!(n0>>>0>=f>>>0);){for($=rx(_[G0+(n0<<1)>>1]|0,l0)|0,d=I0+n0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)H0=m0+(x0<<3)|0,j=+i0[H0>>3]+ +i0[C0+($+x0<<3)>>3],i0[H0>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*13.5:j=13.5,x0=0;!(x0>>>0>=l0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}H0=D0+(d+$)|0,n[H0>>0]=n[H0>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=357;break x}l=n0+-1|0,d=d-w|0,n0=I0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(B0=n[n0>>0]|0,H0=$<<24>>24==B0<<24>>24,$=H0?$:B0,x0=H0?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=f>>>0){d=0;break}if(d=s[I0+x0>>0]|0,d>>>0>=l0>>>0){l=366;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=f>>>0);){if(B0=I0+d|0,H0=o[w0+(s[B0>>0]<<1)>>1]|0,n[B0>>0]=H0,(H0&255)>>>0>=l0>>>0){l=372;break x}d=d+1|0}if(x0=$&65535,x0>>>0>l0>>>0){l=375;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*2832|0)|0,0,2816)|0,e[b0+(d*2832|0)+2816>>2]=0,i0[b0+(d*2832|0)+2824>>3]=Q0,d=d+1|0}for(;($|0)!=(f|0);)H0=s[I0+$>>0]|0,B0=b0+(H0*2832|0)+(_[G0+($<<1)>>1]<<2)|0,e[B0>>2]=(e[B0>>2]|0)+1,H0=b0+(H0*2832|0)+2816|0,e[H0>>2]=(e[H0>>2]|0)+1,$=$+1|0;B0=n0,l0=x0,s0=s0+1|0}if((l|0)==319)V0(404083,403848,80,404221);else if((l|0)==350)V0(404124,403848,130,404221);else if((l|0)==357)V0(404145,403848,141,404221);else if((l|0)==366)V0(404005,403848,165,404200);else if((l|0)==372)V0(404005,403848,172,404200);else if((l|0)==375)V0(404057,403848,174,404200);else if((l|0)==382){for(vx[e[k>>2]&1](e[j0>>2]|0,C0),vx[e[k>>2]&1](e[j0>>2]|0,m0),vx[e[k>>2]&1](e[j0>>2]|0,D0),vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,b0),$=B0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((B0<<4)+1008|0)>>>6,H0=Tx[e[c>>2]&1](e[j0>>2]|0,q*2832|0)|0,n0=H0,H0||Px(1),H0=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=H0,H0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(B0>>>0<64?B0:64)*2832|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=B0>>>0){l=397;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[I0+x0>>0]|0)==(n[I0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&V0(403825,403848,231,404179),(d|0)!=(B0|0)&&V0(403911,403848,237,404179),l0=q,f0=q,b0=0,$=0,C0=0;;){if(B0>>>0<=C0>>>0){l=439;break}for(d0=B0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*2832|0)|0,Vx(x0|0,0,2816)|0,q=m0+(w*2832|0)+2816|0,e[q>>2]=0,i0[m0+(w*2832|0)+2824>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)H0=m0+(w*2832|0)+(_[G0+($<<1)>>1]<<2)|0,e[H0>>2]=(e[H0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*2832|0)+2824>>3]=+Ku(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=Am(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=b0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*2832|0)|0,!d){l=416;break}x0||$x(d|0,n0|0,l0*2832|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=b0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=425;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+b0|0,q=b0,l=b0,w=0;;){if((w|0)==(u0|0)){d=0;break}H0=X0+(w<<2)|0,y0=e[H0>>2]|0,$x(d+(q*2832|0)|0,m0+(y0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[wx+(y0<<2)>>2],e[Rx+(e[H0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=b0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+b0|0,(b0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(s0|0)){l=437;break}b0=d,C0=C0+64|0}if((l|0)==416)Px(1);else if((l|0)==425)Px(1);else if((l|0)==435)V0(403935,403848,273,404179);else if((l|0)==437)V0(403969,403848,274,404179);else if((l|0)==439){vx[e[k>>2]&1](e[j0>>2]|0,m0),H0=b0<<6,x0=rx(b0>>>1,b0)|0,x0=H0>>>0<x0>>>0?H0:x0;do if((x0+1|0)>>>0>2049){if(vx[e[k>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){xx=$;break}Px(1)}else xx=D0;while(!1);for(d=b0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(b0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=Am(D0,M,h0,w0,xx,b0,B0,256,x0)|0,vx[e[k>>2]&1](e[j0>>2]|0,xx),vx[e[k>>2]&1](e[j0>>2]|0,M),y0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,y0||Px(1),$=0;($|0)!=(b0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+2816|0,l0=ux+2824|0,u0=K0+2816|0,d0=K0+2816|0,$=0,d=0,C0=0;(C0|0)!=(B0|0);){for(Vx(ux|0,0,2820)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(_[G0+(s0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,2832)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)xx=K0+(d<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[D0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;j=+Ku(K0),j=j-+i0[D0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*2832|0)+2816>>2]|0),M=0;(M|0)!=704;)xx=K0+(M<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[D0+(x0*2832|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Ku(K0),t0=t0-+i0[D0+(x0*2832|0)+2824>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,n0),M=e0+16|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=e0+20|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=e0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=e0+12|0;for(M=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(B0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(B0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,xx=x0&255,n[(e[M>>2]|0)+l>>0]=xx,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(xx&255)?w&255:x0&255)&255,x0=q}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,vx[e[k>>2]&1](e[j0>>2]|0,y0),vx[e[k>>2]&1](e[j0>>2]|0,O0),vx[e[k>>2]&1](e[j0>>2]|0,h0),vx[e[k>>2]&1](e[j0>>2]|0,I0);break}}}else e[e0>>2]=1;while(!1);for(vx[e[k>>2]&1](e[j0>>2]|0,G0),U0=Tx[e[c>>2]&1](e[j0>>2]|0,U0)|0,U0||Px(1),y0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(_[h+(d<<4)+12>>1]|0)>127?(o[U0+(y0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=y0+1|0):$=y0,y0=$,d=d+1|0;if(l0=((y0>>>0)/544|0)+1|0,l0=l0>>>0>50?50:l0,!y0){e[a0>>2]=1,c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}if(y0>>>0<128){if(M=a0+16|0,d=e[M>>2]|0,q=a0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=a0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0,$=e[q>>2]|0}if(M=a0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(n0=(d|0)==0?x0:d;!(n0>>>0>=x0>>>0);)n0=n0<<1;$=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,$||Px(1),x0=e[M>>2]|0,d=a0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=n0,$=e[q>>2]|0}else d=a0+12|0;e[a0>>2]=1,n[(e[a0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1,c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}for(b0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*2096|0)|0,b0||Px(1),$=0;($|0)!=(l0|0);)Vx(b0+($*2096|0)|0,0,2080)|0,e[b0+($*2096|0)+2080>>2]=0,i0[b0+($*2096|0)+2088>>3]=Q0,$=$+1|0;for(n0=(y0>>>0)/(l0>>>0)|0,M=y0+-41|0,d=7,q=0;(q|0)!=(l0|0);){for($=((rx(y0,q)|0)>>>0)/(l0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(n0>>>0)|0)|0),x0=b0+(q*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=U0+((($+40|0)>>>0<y0>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)f=b0+(q*2096|0)+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[K0>>2]=7,n0=((y0<<1>>>0)/40|0)+100+l0+-1|0,n0=n0-((n0>>>0)%(l0>>>0)|0)|0,M=ux+2080|0,q=ux+2088|0,l=y0>>>0>40,w=y0+-39|0,s0=ux+2080|0,f0=0;!(f0>>>0>=n0>>>0);){for(Vx(ux|0,0,2084)|0,i0[q>>3]=Q0,l?($=(e[K0>>2]|0)*16807|0,f=($|0)==0,e[K0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=y0,$=0),e[s0>>2]=(e[s0>>2]|0)+d,x0=U0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=ux+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=b0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=520;)f=b0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[ux+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}I0=Tx[e[c>>2]&1](e[j0>>2]|0,y0)|0,I0||Px(1),C0=Tx[e[c>>2]&1](e[j0>>2]|0,l0*4160|0)|0,C0||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<3)|0,m0||Px(1),D0=rx(y0,(l0+7|0)>>>3)|0,D0=Tx[e[c>>2]&1](e[j0>>2]|0,D0)|0,D0||Px(1),w0=Tx[e[c>>2]&1](e[j0>>2]|0,l0<<1)|0,w0||Px(1),f0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,d0=I0+u0|0,B0=0,s0=0;x:for(;;){if(s0>>>0>=f0>>>0){l=631;break}if(w=(l0+7|0)>>>3,l0>>>0>=257){l=568;break}e:do if(l0>>>0<2)for($=0;;){if(($|0)==(y0|0)){n0=1;break e}n[I0+$>>0]=0,$=$+1|0}else{for(Vx(C0|0,0,l0*4160|0)|0,d=0;;){if((d|0)==(l0|0)){$=520;break}$=e[b0+(d*2096|0)+2080>>2]|0,$>>>0<256?j=+r0[19516+($<<2)>>2]:j=+Jx(+($>>>0)),i0[C0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=rx($,l0)|0,n0=0;;){if((n0|0)==(l0|0))continue t;t0=+i0[C0+(n0<<3)>>3],d=e[b0+(n0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+r0[19516+(d<<2)>>2];break}else{j=+Jx(+(d>>>0));break}else j=-2;while(!1);i0[C0+(x0+n0<<3)>>3]=t0-j,n0=n0+1|0}for(Vx(m0|0,0,l0<<3|0)|0,Vx(D0|0,0,rx(y0,w)|0)|0,n0=0;!(n0>>>0>=y0>>>0);){for($=rx(_[U0+(n0<<1)>>1]|0,l0)|0,d=I0+n0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)p=m0+(x0<<3)|0,j=+i0[p>>3]+ +i0[C0+($+x0<<3)>>3],i0[p>>3]=j,j<t0?n[d>>0]=x0:j=t0,t0=j,x0=x0+1|0;for(d=rx(n0,w)|0,n0>>>0<2e3?j=(+(n0>>>0)*.07/2e3+.77)*14.6:j=14.6,x0=0;!(x0>>>0>=l0>>>0);){if($=m0+(x0<<3)|0,Wx=+i0[$>>3]-t0,i0[$>>3]=Wx,Wx>=j){if(i0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=D0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}n0=n0+1|0}for(d=rx(u0,w)|0,n0=u0,$=n[d0>>0]|0,x0=1;;){if(!n0){n0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=606;break x}l=n0+-1|0,d=d-w|0,n0=I0+l|0,(n[D0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(f=n[n0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[n0>>0]=$,n0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[I0+x0>>0]|0,d>>>0>=l0>>>0){l=615;break x}d=w0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(f=I0+d|0,p=o[w0+(s[f>>0]<<1)>>1]|0,n[f>>0]=p,(p&255)>>>0>=l0>>>0){l=621;break x}d=d+1|0}if(x0=$&65535,x0>>>0>l0>>>0){l=624;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Vx(b0+(d*2096|0)|0,0,2080)|0,e[b0+(d*2096|0)+2080>>2]=0,i0[b0+(d*2096|0)+2088>>3]=Q0,d=d+1|0}for(;($|0)!=(y0|0);)p=s[I0+$>>0]|0,f=b0+(p*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=b0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;B0=n0,l0=x0,s0=s0+1|0}if((l|0)==568)V0(404083,403848,80,404105);else if((l|0)==599)V0(404124,403848,130,404105);else if((l|0)==606)V0(404145,403848,141,404105);else if((l|0)==615)V0(404005,403848,165,404035);else if((l|0)==621)V0(404005,403848,172,404035);else if((l|0)==624)V0(404057,403848,174,404035);else if((l|0)==631){for(vx[e[k>>2]&1](e[j0>>2]|0,C0),vx[e[k>>2]&1](e[j0>>2]|0,m0),vx[e[k>>2]&1](e[j0>>2]|0,D0),vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,b0),$=B0<<2,h0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,h0||Px(1),O0=Tx[e[c>>2]&1](e[j0>>2]|0,$)|0,O0||Px(1),q=((B0<<4)+1008|0)>>>6,p=Tx[e[c>>2]&1](e[j0>>2]|0,q*2096|0)|0,n0=p,p||Px(1),p=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,M=p,p||Px(1),m0=Tx[e[c>>2]&1](e[j0>>2]|0,(B0>>>0<64?B0:64)*2096|0)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[j0>>2]|0,49176)|0,D0||Px(1),Vx(wx|0,0,256)|0,Vx(X0|0,0,256)|0,Vx(gx|0,0,256)|0,Vx(Rx|0,0,256)|0,Vx(O0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=B0>>>0){l=646;break}if($=O0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[I0+x0>>0]|0)==(n[I0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&V0(403825,403848,231,403889),(d|0)!=(B0|0)&&V0(403911,403848,237,403889),l0=q,f0=q,y0=0,$=0,C0=0;;){if(B0>>>0<=C0>>>0){l=688;break}for(d0=B0-C0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=m0+(w*2096|0)|0,Vx(x0|0,0,2080)|0,q=m0+(w*2096|0)+2080|0,e[q>>2]=0,i0[m0+(w*2096|0)+2088>>3]=Q0,l=O0+(C0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=m0+(w*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;i0[m0+(w*2096|0)+2088>>3]=+Hn(x0),e[X0+(w<<2)>>2]=w,e[gx+(w<<2)>>2]=w,e[wx+(w<<2)>>2]=1,w=w+1|0}if(u0=Wu(m0,wx,gx,X0,D0,d0,d0,64,2048)|0,d=y0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,q=x0?d:l0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q*2096|0)|0,!d){l=665;break}x0||$x(d|0,n0|0,l0*2096|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,n0),n0=d,l0=q}if(d=y0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Tx[e[c>>2]&1](e[j0>>2]|0,q<<2)|0,!d){l=674;break}x0||$x(d|0,M|0,f0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,M),M=d,f0=q}for(d=n0,x0=M,s0=u0+y0|0,q=y0,l=y0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=X0+(w<<2)|0,f=e[p>>2]|0,$x(d+(q*2096|0)|0,m0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[wx+(f<<2)>>2],e[Rx+(e[p>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(C0+d<<2)>>2]=y0+(e[Rx+(e[gx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+y0|0,(y0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(s0|0)){l=686;break}y0=d,C0=C0+64|0}if((l|0)==665)Px(1);else if((l|0)==674)Px(1);else if((l|0)==684)V0(403935,403848,273,403889);else if((l|0)==686)V0(403969,403848,274,403889);else if((l|0)==688){vx[e[k>>2]&1](e[j0>>2]|0,m0),gx=y0<<6,x0=rx(y0>>>1,y0)|0,x0=gx>>>0<x0>>>0?gx:x0;do if((x0+1|0)>>>0>2049){if(vx[e[k>>2]&1](e[j0>>2]|0,D0),$=Tx[e[c>>2]&1](e[j0>>2]|0,(x0*24|0)+24|0)|0,$){cx=$;break}Px(1)}else cx=D0;while(!1);for(d=y0<<2,w0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,w0||Px(1),$=0;($|0)!=(y0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(D0=n0,m0=Wu(D0,M,h0,w0,cx,y0,B0,256,x0)|0,vx[e[k>>2]&1](e[j0>>2]|0,cx),vx[e[k>>2]&1](e[j0>>2]|0,M),b0=Tx[e[c>>2]&1](e[j0>>2]|0,d)|0,b0||Px(1),$=0;($|0)!=(y0|0);)e[b0+($<<2)>>2]=-1,$=$+1|0;for(f0=ux+2080|0,l0=ux+2088|0,u0=K0+2080|0,d0=K0+2080|0,$=0,d=0,C0=0;(C0|0)!=(B0|0);){for(Vx(ux|0,0,2084)|0,i0[l0>>3]=Q0,x0=O0+(C0<<2)|0,M=0,s0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=ux+(_[U0+(s0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,s0=s0+1|0,d=d+1|0;if(x0=e[((C0|0)==0?h0:h0+(C0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(K0|0,ux|0,2096)|0,e[d0>>2]=(e[d0>>2]|0)+(e[D0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)cx=K0+(d<<2)|0,e[cx>>2]=(e[cx>>2]|0)+(e[D0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;j=+Hn(K0),j=j-+i0[D0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(m0|0);){if(q=w0+(l<<2)|0,x0=e[q>>2]|0,w)t0=0;else{for($x(K0|0,ux|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[D0+(x0*2096|0)+2080>>2]|0),M=0;(M|0)!=520;)cx=K0+(M<<2)|0,e[cx>>2]=(e[cx>>2]|0)+(e[D0+(x0*2096|0)+(M<<2)>>2]|0),M=M+1|0;t0=+Hn(K0),t0=t0-+i0[D0+(x0*2096|0)+2088>>3]}t0<j&&(j=t0,d=e[q>>2]|0),l=l+1|0}e[h0+(C0<<2)>>2]=d,d=b0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=s0,C0=C0+1|0}if(vx[e[k>>2]&1](e[j0>>2]|0,w0),vx[e[k>>2]&1](e[j0>>2]|0,n0),M=a0+16|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0)|0,d||Px(1),x0=e[M>>2]|0,$=a0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}if(M=a0+20|0,$=e[M>>2]|0,$>>>0<B0>>>0){for(n0=($|0)==0?B0:$;!(n0>>>0>=B0>>>0);)n0=n0<<1;d=Tx[e[c>>2]&1](e[j0>>2]|0,n0<<2)|0,d||Px(1),x0=e[M>>2]|0,$=a0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,vx[e[k>>2]&1](e[j0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=n0}else $=a0+12|0;for(M=a0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(B0|0);){if(n0=d+(e[O0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(q|0)!=(B0|0)&&(d|0)==(e[h0+(q<<2)>>2]|0)){d=n0,x0=q;continue}x0=e[b0+(d<<2)>>2]|0,c=x0&255,n[(e[M>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=n0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=q}e[a0+4>>2]=l,e[a0>>2]=(w&255)+1,vx[e[k>>2]&1](e[j0>>2]|0,b0),vx[e[k>>2]&1](e[j0>>2]|0,O0),vx[e[k>>2]&1](e[j0>>2]|0,h0),vx[e[k>>2]&1](e[j0>>2]|0,I0),c=e[k>>2]|0,a0=e[j0>>2]|0,vx[c&1](a0,U0),c0=Ex;return}}}function v7(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0;d0=c0,c0=c0+1552|0,l0=d0+840|0,u0=d0+136|0,t0=d0+72|0,s0=d0+112|0,f0=d0+76|0,q=d0,e[t0>>2]=0,p=s0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=q,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(M=h,w=0):V0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)M=M+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,a0=0;!(x0>>>0>=M>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(n0=p<<24>>24==0,h=n0?h+1|0:h,w=n0?a0+$|0:a0,$>>>0>3&&!n0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=a0),x0=x0+$|0,e0=p,a0=w}w=e0>>>0>k<<1>>>0&1,h=a0>>>0>h<<1>>>0&1}else w=0,h=0;n0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=M>>>0);){a0=n[c+x0>>0]|0,p=a0<<24>>24==0,p?n0?(h=1,j=30):(w=x0,h=1,j=23):$?(h=1,j=43):(w=x0,h=1,j=23);e:do if((j|0)==23){for(;j=0,w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=a0<<24>>24);)h=h+1|0,j=23;if(!p)if(h){j=43;break}else{j=42;break x}if((h|0)!=11)if(h>>>0<3){j=30;break}else k=h;else n[l0+(e[t0>>2]|0)>>0]=0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,k=10;for(p=e[t0>>2]|0,w=p,k=k+-3|0;;){if(n[l0+w>>0]=17,n[u0+(e[t0>>2]|0)>>0]=k&7,w=(e[t0>>2]|0)+1|0,e[t0>>2]=w,k=k>>>3,!k){k=p;break}k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)m0=l0+k|0,C0=n[m0>>0]|0,a0=l0+w|0,n[m0>>0]=n[a0>>0]|0,n[a0>>0]=C0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}a0=u0+p|0,C0=n[a0>>0]|0,m0=u0+w|0,n[a0>>0]=n[m0>>0]|0,n[m0>>0]=C0,p=p+1|0}}while(!1);e:do if((j|0)==30)for(j=0,w=0;;){if((w|0)==(h|0)){w=e0;break e}n[l0+(e[t0>>2]|0)>>0]=0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=w+1|0}else if((j|0)==43){if(j=0,e0<<24>>24==a0<<24>>24?w=h:(n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=h+-1|0),(w|0)==7&&(n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,w=w+-1|0),w>>>0<3)for(p=0;;){if((p|0)==(w|0)){w=a0;break e}n[l0+(e[t0>>2]|0)>>0]=a0,n[u0+(e[t0>>2]|0)>>0]=0,e[t0>>2]=(e[t0>>2]|0)+1,p=p+1|0}for(p=e[t0>>2]|0,e0=p,k=w+-3|0;;){if(n[l0+e0>>0]=16,n[u0+(e[t0>>2]|0)>>0]=k&3,w=(e[t0>>2]|0)+1|0,e[t0>>2]=w,k=k>>>2,!k){k=p;break}e0=w,k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)e0=l0+k|0,C0=n[e0>>0]|0,m0=l0+w|0,n[e0>>0]=n[m0>>0]|0,n[m0>>0]=C0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=a0;break e}e0=u0+p|0,C0=n[e0>>0]|0,m0=u0+w|0,n[e0>>0]=n[m0>>0]|0,n[m0>>0]=C0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((j|0)==42&&V0(406724,406674,168,406740),h=e[t0>>2]|0,w=0;;){if((w|0)==(h|0)){n0=0,w=0,p=0;break}m0=q+(s[l0+w>>0]<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[q+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=n0;else h=p,w=1;else h=n0;n0=h,p=p+1|0}lo(q,18,5,f,s0),qn(s0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[s0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[s0+1>>0]|0)==0&&(n[s0+2>>0]|0)==0?h=(n[s0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,C0=s[$>>0]|0,f=Ix(h|0,0,f&7|0)|0,m0=v0,f=C0|f,C0=$,n[C0>>0]=f,n[C0+1>>0]=f>>8,n[C0+2>>0]=f>>16,n[C0+3>>0]=f>>24,$=$+4|0,n[$>>0]=m0,n[$+1>>0]=m0>>8,n[$+2>>0]=m0>>16,n[$+3>>0]=m0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[s0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,a0=s[e0>>0]|0,m0=Dx(k|0,0,p&255|0)|0,!((m0|0)==0&(v0|0)==0)){j=76;break}q=Ix(k|0,0,$&7|0)|0,C0=v0,q=a0|q,m0=e0,f=m0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,m0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=m0,$=m0,h=h+1|0}(j|0)==76&&V0(406196,406218,54,406251),(x0|0)==1&&(n[s0+n0>>0]=0),$=e[t0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){j=94;break}if(a0=s[l0+x0>>0]|0,h=n[s0+a0>>0]|0,w=_[f0+(a0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,m0=Dx(w|0,0,h&255|0)|0,!((m0|0)==0&(v0|0)==0)){j=83;break}if((h&255)>=57){j=85;break}switch(t0=Ix(w|0,0,p&7|0)|0,m0=v0,t0=e0|t0,C0=k,n[C0>>0]=t0,n[C0+1>>0]=t0>>8,n[C0+2>>0]=t0>>16,n[C0+3>>0]=t0>>24,k=k+4|0,n[k>>0]=m0,n[k+1>>0]=m0>>8,n[k+2>>0]=m0>>16,n[k+3>>0]=m0>>24,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,a0|0){case 16:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&252|0)==0&!0)){j=88;break x}j=Ix(h|0,0,k&7|0)|0,C0=v0,j=p|j,m0=w,t0=m0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,e[l>>2]=(e[l>>2]|0)+2;break}case 17:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&248|0)==0&!0)){j=91;break x}j=Ix(h|0,0,k&7|0)|0,C0=v0,j=p|j,m0=w,t0=m0,n[t0>>0]=j,n[t0+1>>0]=j>>8,n[t0+2>>0]=j>>16,n[t0+3>>0]=j>>24,m0=m0+4|0,n[m0>>0]=C0,n[m0+1>>0]=C0>>8,n[m0+2>>0]=C0>>16,n[m0+3>>0]=C0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((j|0)==83)V0(406196,406218,54,406251);else if((j|0)==85)V0(406267,406218,55,406251);else if((j|0)==88)V0(406196,406218,54,406251);else if((j|0)==91)V0(406196,406218,54,406251);else if((j|0)==94){c0=d0;return}}function pG(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function bG(){return c0|0}function gG(c){c=c|0,c0=c}function mG(c,h){c=c|0,h=h|0,c0=c,g0=h}function yG(c,h){c=c|0,h=h|0,F0||(F0=c,N0=h)}function Dl0(c){c=c|0,n[p0>>0]=n[c>>0],n[p0+1>>0]=n[c+1>>0],n[p0+2>>0]=n[c+2>>0],n[p0+3>>0]=n[c+3>>0]}function vl0(c){c=c|0,n[p0>>0]=n[c>>0],n[p0+1>>0]=n[c+1>>0],n[p0+2>>0]=n[c+2>>0],n[p0+3>>0]=n[c+3>>0],n[p0+4>>0]=n[c+4>>0],n[p0+5>>0]=n[c+5>>0],n[p0+6>>0]=n[c+6>>0],n[p0+7>>0]=n[c+7>>0]}function wG(c){c=c|0,v0=c}function DG(){return v0|0}function vG(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0;if(px=c0,c0=c0+224|0,se=px+200|0,ax=px+184|0,we=px+168|0,lx=px+152|0,De=px+144|0,Kx=px+140|0,Ux=px+136|0,A0=px+24|0,$=px+20|0,M=px+16|0,x0=px+12|0,q=px+8|0,j=px+4|0,oe=px,e[oe>>2]=w,a0=d,f0=p,Fe=l>>>24,Fe=(Fe<<2|2)+((l-(Fe<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,Fe=k?1:Fe>>>0<l>>>0?0:Fe,!w)return d=0,oe=e[oe>>2]|0,oe=d?oe:-1,c0=px,oe|0;if(k)return e[oe>>2]=1,n[p>>0]=6,d=1,oe=e[oe>>2]|0,oe=d?oe:-1,c0=px,oe|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:t0=7:(h=16,t0=7),$=1<<h,fx=$+-16|0,e[ax>>2]=e[4721],e[ax+4>>2]=e[4722],e[ax+8>>2]=e[4723],e[ax+12>>2]=e[4724],e[we>>2]=e[4721],e[we+4>>2]=e[4722],e[we+8>>2]=e[4723],e[we+12>>2]=e[4724],nx=e[oe>>2]|0,$=$>>>0>l>>>0?l:$,dx=1<<((h|0)>23?24:h+1|0),Lx=dx>>>3,e[lx>>2]=0,ae=lx+4|0,e[ae>>2]=10,k=lx+8|0,e[k>>2]=h,Ox=lx+12|0,e[Ox>>2]=0,e[ae>>2]=10,ae=(h|0)>16?(h|0)>18?18:h:16,e[Ox>>2]=ae,ae=1<<ae,e[se>>2]=1,Ox=se+4|0,e[Ox>>2]=1,bx=se+8|0,e[bx>>2]=0,l>>>0>=2147483649&&V0(406392,406053,1025,406415),(h|0)!=16?(h|0)==17?(x0=1,f=7):(x0=((h<<1)+222|1)&255,f=4):(x0=0,f=1),Nx=Mm(0,524308)|0,Nx||Px(1),e[Nx+524292>>2]=0,e[Nx+524300>>2]=0,n[Nx+524304>>0]=1,a0=Nx+524304|0,h=1<<e[k>>2],e[Nx>>2]=h+-1,h=1-h|0,Qx=Nx+524296|0,e[Qx>>2]=h,k=0;(k|0)!=131072;)e[Nx+4+(k<<2)>>2]=h,k=k+1|0;h=Nx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Nx+524292|0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Tx[e[se>>2]&1](e[bx>>2]|0,$<<3)|0,!e0)Px(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[a0>>0]=0,cx=Nx+524292|0,ux=A0+8|0,K0=A0+12|0,j0=A0+28|0,Ex=A0+32|0,Wx=A0+36|0,Yx=A0+48|0,Gx=A0+52|0,Bx=A0+56|0,Mx=A0+60|0,hx=A0+72|0,Fx=A0+80|0,mx=A0+88|0,ex=A0+96|0,Z0=A0+104|0,Xx=A0+8|0,xe=A0+32|0,ue=A0+56|0,k=f0,wx=0,gx=1,Rx=0,n0=0,M=0;x:for(;;){if(h=(gx&1)==0,!((h^1)&wx>>>0<l>>>0)){t0=93;break}for(xx=wx+dx|0,xx=xx>>>0>l>>>0?l:xx,G0=(((xx-wx|0)>>>0)/12|0)+16|0,e[De>>2]=0,e[Kx>>2]=0,h=0,H0=wx,O0=0,I0=0,q=0,X0=0;;){if(xx>>>0<=H0>>>0){a0=h,f0=I0,c=q,e0=X0;break}if(U0=xx-H0|0,U0=U0>>>0<ae>>>0?U0:ae,B0=Tx[e[se>>2]&1](e[bx>>2]|0,(U0<<4)+16|0)|0,!B0){t0=27;break x}for(h=U0+1|0,e0=0;(e0|0)!=(h|0);)e[B0+(e0<<4)>>2]=1,e[B0+(e0<<4)+4>>2]=0,e[B0+(e0<<4)+8>>2]=0,r0[B0+(e0<<4)+12>>2]=Q0,e0=e0+1|0;e:do if(U0>>>0>2&H0>>>0>127)for(h0=H0+-127|0,y0=h0+U0|0,y0=H0>>>0<y0>>>0?H0:y0;;){if(h0>>>0>=y0>>>0)break e;for(a0=e[Nx>>2]|0,m0=H0-h0|0,m0=a0-(m0>>>0<15?15:m0)|0,D0=h0&2147483647,w0=d+D0|0,d0=Nx+4+((rx(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[d0>>2]|0,a0=(h0&a0)<<1,e[d0>>2]=h0,d0=0,$=0,C0=0,e0=a0,a0=a0|1,b0=64;;){if(l0=u0&2147483647,(h0|0)==(u0|0)|(h0-u0|0)>>>0>m0>>>0|(b0|0)==0){t0=36;break}if(f0=$>>>0<C0>>>0?$:C0,f0>>>0>=129){t0=38;break x}for(t0=D0+f0|0,s0=d+(l0+128)|0,c=d+(l0+124)|0,j=0,h=d+(l0+f0)|0;!(h>>>0>c>>>0||(T0=d+(t0+j)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)j=j+4|0,h=h+4|0;for(;!(h>>>0>=s0>>>0||(n[d+(t0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;f0=f0+j|0;t:do if(f0){for(h=f0,t0=w0,s0=d+l0|0;c=n[t0>>0]|0,j=n[s0>>0]|0,c<<24>>24==j<<24>>24;)if(h=h+-1|0,h)t0=t0+1|0,s0=s0+1|0;else break t;if(c<<24>>24!=j<<24>>24){t0=51;break x}}while(!1);if(d0){t0=53;break x}if(f0>>>0>=128){t0=55;break}h=e[cx>>2]|0,(s[d+(D0+f0)>>0]|0)>(s[d+(l0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Nx>>2])<<1|1,$=f0,h=C0,e0=c,c=(e[cx>>2]|0)+(c<<2)|0):(e[h+(a0<<2)>>2]=u0,c=(u0&e[Nx>>2])<<1,h=f0,a0=c,c=(e[cx>>2]|0)+(c<<2)|0),d0=0,C0=h,u0=e[c>>2]|0,b0=b0+-1|0}(t0|0)==36?(e[(e[cx>>2]|0)+(e0<<2)>>2]=e[Qx>>2],e[(e[cx>>2]|0)+(a0<<2)>>2]=e[Qx>>2]):(t0|0)==55&&(T0=e[cx>>2]|0,e[T0+(e0<<2)>>2]=e[T0+((u0&e[Nx>>2])<<1<<2)>>2],T0=e[cx>>2]|0,e[T0+(a0<<2)>>2]=e[T0+(((u0&e[Nx>>2])<<1|1)<<2)>>2]),h0=h0+1|0}while(!1);if(e0=X0+(Bm(se,U0,H0,d,2147483647,lx,fx,ax,Nx,B0)|0)|0,a0=e0+1|0,a0=G0>>>0>a0>>>0?G0:a0,(O0|0)!=(a0|0)){if(h=Tx[e[se>>2]&1](e[bx>>2]|0,a0<<4)|0,$=h,!h){t0=63;break x}I0&&(T0=I0,$x(h|0,T0|0,X0<<4|0)|0,vx[e[Ox>>2]&1](e[bx>>2]|0,T0))}else a0=O0,$=I0;if(B4(U0,H0,fx,B0,ax,De,$+(X0<<4)|0,Kx),q=q+U0|0,vx[e[Ox>>2]&1](e[bx>>2]|0,B0),h=e[Kx>>2]|0,h>>>0>Lx>>>0){a0=h,f0=$,c=q;break}if(e0>>>0>Lx>>>0){a0=h,f0=$,c=q;break}else H0=H0+U0|0,O0=a0,I0=$,X0=e0}if(h=e[De>>2]|0,!h)h=a0;else{a0=e0+1|0,T0=f0,e[T0+(e0<<4)>>2]=h,e[T0+(e0<<4)+4>>2]=67108864,e[T0+(e0<<4)+8>>2]=0,o[T0+(e0<<4)+14>>1]=16,e0=T0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){T0=h+-2|0,h=((Ax(T0|0)|0)^31)+-1|0,h=(h<<1)+(T0>>>h)+2|0;break}if(h>>>0<2114){h=((Ax(h+-66|0)|0)^31)+10|0;break}h>>>0<6210?h=21:h=h>>>0<22594?22:23}while(!1);h=h&65535,o[e0>>1]=o[88156+((h>>>3)*3<<1)>>1]|(h<<3&56|2)&65535,h=(e[Kx>>2]|0)+(e[De>>2]|0)|0,e[Kx>>2]=h,e0=a0}j=wx+c|0,q=(j|0)==(l|0),f=f&255,e[Ux>>2]=f;do if(c){if(!(_m(d,2147483647,wx,0,c,h,e0)|0)){if(e[ax>>2]=e[we>>2],e[ax+4>>2]=e[we+4>>2],e[ax+8>>2]=e[we+8>>2],e[ax+12>>2]=e[we+12>>2],h=Tx[e[se>>2]&1](e[bx>>2]|0,c+16|0)|0,!h){t0=83;break x}n[h>>0]=x0,Qu(q,d,wx,2147483647,c,Ux,h);break}e[A0>>2]=0,e[A0+4>>2]=0,e[A0+8>>2]=0,e[A0+12>>2]=0,e[A0+16>>2]=0,e[A0+20>>2]=0,e[A0+24>>2]=0,e[j0>>2]=0,e[j0+4>>2]=0,e[j0+8>>2]=0,e[j0+12>>2]=0,e[j0+16>>2]=0,e[Yx>>2]=0,e[Gx>>2]=0,e[Gx+4>>2]=0,e[Gx+8>>2]=0,e[Gx+12>>2]=0,e[Gx+16>>2]=0,t0=hx,s0=t0+40|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(s0|0));if(a0=R4(d,wx,2147483647,c)|0,a0=a0?2:3,$=f0,Um(se,d,wx,2147483647,lx,Rx,n0,$,e0,a0,A0),Hm(0,0,A0),h=Tx[e[se>>2]&1](e[bx>>2]|0,(c<<1)+502|0)|0,!h){t0=86;break x}n[h>>0]=x0,hm(se,d,wx,c,2147483647,Rx,n0,q,0,0,a0,$,e0,A0,Ux,h),(c+4|0)>>>0<(e[Ux>>2]|0)>>>3>>>0&&(e[ax>>2]=e[we>>2],e[ax+4>>2]=e[we+4>>2],e[ax+8>>2]=e[we+8>>2],e[ax+12>>2]=e[we+12>>2],n[h>>0]=x0,e[Ux>>2]=f,Qu(q,d,wx,2147483647,c,Ux,h)),vx[e[Ox>>2]&1](e[bx>>2]|0,e[Xx>>2]|0),e[ux>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[K0>>2]|0),e[K0>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[xe>>2]|0),e[Ex>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Wx>>2]|0),e[Wx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[ue>>2]|0),e[Bx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Mx>>2]|0),e[Mx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[hx>>2]|0),e[hx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Fx>>2]|0),e[Fx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[mx>>2]|0),e[mx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[ex>>2]|0),e[ex>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0}else{if(h=Tx[e[se>>2]&1](e[bx>>2]|0,16)|0,!h){t0=79;break x}n[h>>0]=x0,T0=e[Ux>>2]|0,wx=h+(T0>>>3)|0,X0=s[wx>>0]|0,xx=Ix(3,0,T0&7|0)|0,Rx=v0,xx=X0|xx,X0=wx,n[X0>>0]=xx,n[X0+1>>0]=xx>>8,n[X0+2>>0]=xx>>16,n[X0+3>>0]=xx>>24,wx=wx+4|0,n[wx>>0]=Rx,n[wx+1>>0]=Rx>>8,n[wx+2>>0]=Rx>>16,n[wx+3>>0]=Rx>>24,e[Ux>>2]=T0+9&-8}while(!1);a0=e[Ux>>2]|0,e0=a0>>>3,x0=n[h+e0>>0]|0,$=n[d+(j+-1)>>0]|0,n0=n[d+(j+-2)>>0]|0,e[we>>2]=e[ax>>2],e[we+4>>2]=e[ax+4>>2],e[we+8>>2]=e[ax+8>>2],e[we+12>>2]=e[ax+12>>2],M=M+e0|0,M>>>0>nx>>>0?e0=0:($x(k|0,h|0,e0|0)|0,k=k+e0|0,e0=gx),vx[e[Ox>>2]&1](e[bx>>2]|0,h),vx[e[Ox>>2]&1](e[bx>>2]|0,f0),f=a0&7,wx=j,gx=e0,Rx=$}if((t0|0)==27)Px(1);else if((t0|0)==38)V0(405873,405905,373,405932);else if((t0|0)==51)V0(405955,405905,378,405932);else if((t0|0)==53)Ji();else if((t0|0)==63)Px(1);else if((t0|0)==79)Px(1);else if((t0|0)==83)Px(1);else if((t0|0)==86)Px(1);else if((t0|0)==93){if(e[oe>>2]=M,vx[e[Ox>>2]&1](e[bx>>2]|0,e[cx>>2]|0),e[cx>>2]=0,vx[e[Ox>>2]&1](e[bx>>2]|0,Nx),h){t0=107;break}if((Fe|0)!=0&&(e[oe>>2]|0)>>>0>Fe>>>0){t0=106;break}else h=1;return T0=e[oe>>2]|0,T0=h?T0:-1,c0=px,T0|0}}else{if(n0=_4(5240)|0,!n0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;e[n0+16>>2]=1,e[n0+20>>2]=1,e[n0+24>>2]=0,e[n0>>2]=0,e[n0+4>>2]=11,e[n0+8>>2]=22,e[n0+12>>2]=0,t0=n0+80|0,e[t0>>2]=0,e[t0+4>>2]=0,e[n0+128>>2]=0,e[n0+132>>2]=0,e[n0+136>>2]=0,t0=n0+144|0,e[n0+4300>>2]=0,e[n0+4304>>2]=0,k=n0+5204|0,e[n0+5232>>2]=0,n[n0+5236>>0]=0,n[n0+5237>>0]=0,e[n0+28>>2]=0,e0=n0+32|0,e[t0>>2]=0,e[t0+4>>2]=0,e[t0+8>>2]=0,e[t0+12>>2]=0,t0=n0+194|0,s0=t0+10|0;do n[t0>>0]=0,t0=t0+1|0;while((t0|0)<(s0|0));e[k>>2]=0,e[k+4>>2]=0,e[k+8>>2]=0,e[k+12>>2]=0,e[k+16>>2]=0,e[k+20>>2]=0,k=n0+104|0,t0=e0,s0=t0+44|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(s0|0));if(e[k>>2]=0,e[n0+108>>2]=0,e[n0+112>>2]=0,e[n0+116>>2]=0,e[n0+124>>2]=0,e[n0+120>>2]=0,e[n0+160>>2]=4,e[n0+164>>2]=11,e[n0+168>>2]=15,e[n0+172>>2]=16,T0=n0+176|0,Ux=n0+160|0,e[T0>>2]=e[Ux>>2],e[T0+4>>2]=e[Ux+4>>2],e[T0+8>>2]=e[Ux+8>>2],e[T0+12>>2]=e[Ux+12>>2],!n0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;if(e[$>>2]=l,e[M>>2]=a0,e[x0>>2]=e[oe>>2],e[q>>2]=f0,e[j>>2]=0,n[n0+5237>>0]&1||(e[n0+4>>2]=c,e[n0+8>>2]=h,e[n0>>2]=f),h=oG(n0,$,M,x0,q,j)|0,(e[n0+5232>>2]|0)==2&&(e[n0+5220>>2]|0)==0?f=h&1:f=0,e[oe>>2]=e[j>>2],$=n0+200|0,h=e[n0+20>>2]|0,k=e[n0+24>>2]|0,vx[h&1](k,e[$>>2]|0),e[$>>2]=0,$=n0+124|0,e0=n0+20|0,a0=n0+24|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[$>>2]|0),e[$>>2]=0,vx[e[e0>>2]&1](e[a0>>2]|0,e[n0+112>>2]|0),e[n0+112>>2]=0,$=n0+28|0,x0=e[n0+72>>2]|0,x0&&(T0=x0+524292|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0),T0=n0+72|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ux=n0+32|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+36|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+40|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+44|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+48|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+52|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+56|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+60|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+64|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=n0+68|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+4300|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+5208|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,T0=n0+5212|0,vx[e[e0>>2]&1](e[a0>>2]|0,e[T0>>2]|0),e[T0>>2]=0,vx[h&1](k,n0),f<<24>>24)if((Fe|0)!=0&&(e[oe>>2]|0)>>>0>Fe>>>0)t0=106;else return d=1,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;else t0=107}while(!1);if((t0|0)==106){if(e[oe>>2]=0,Fe>>>0>w>>>0)return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0}else if((t0|0)==107&&(e[oe>>2]=0,(Fe|0)==0|Fe>>>0>w>>>0))return d=0,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0;for(n[p>>0]=33,n[p+1>>0]=3,f=0,$=2,x0=l;x0;)x0>>>0<=16777216?x0>>>0>65536?(h=x0,h>>>0>1048576?t0=113:a0=1):(h=x0,a0=0):(h=16777216,t0=113),(t0|0)==113&&(t0=0,a0=2),e0=a0<<1|(h<<3)+-8|1<<(a0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(a0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),$x(p+k|0,d+f|0,h|0)|0,f=f+h|0,$=k+h|0,x0=x0-h|0;return n[p+$>>0]=3,e[oe>>2]=$+1,d=1,T0=e[oe>>2]|0,T0=d?T0:-1,c0=px,T0|0}function B4(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0;for(d0=d+8|0,C0=d+12|0,m0=d+4|0,e0=e[l+12>>2]|0,a0=0,w0=0;(e0|0)!=-1;){x0=a0+e0|0,n0=l+(x0<<4)|0,M=e[n0>>2]|0,D0=M&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=a0+$|0,e0=e[l+(x0<<4)+12>>2]|0,w0||($=$+(e[w>>2]|0)|0,e[w>>2]=0),f0=e[l+(x0<<4)+4>>2]|0,l0=f0&33554431,n0=e[n0>>2]|0,n0=(n0&16777215)+9-(n0>>>24)|0,s0=u0+h|0,s0=l0>>>0>(s0>>>0<f>>>0?s0:f)>>>0,f0=f0>>>25,f0=(f0|0)==0?l0+15|0:f0+-1|0,e[p+(w0<<4)>>2]=$,e[p+(w0<<4)+4>>2]=D0|(n0^M)<<24,a0=p+(w0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[a0>>1]=x0,a0=x0,x0=0):(j=f0+-12|0,x0=((Ax(j|0)|0)^31)+-1|0,t0=j>>>x0&1,q=((x0<<1)+65534|t0)+16&65535,o[a0>>1]=q,a0=q,x0=x0<<24|j-((t0|2)<<x0)),e[p+(w0<<4)+8>>2]=x0,j=a0<<16>>16==0,t0=p+(w0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){M=$+-2|0,q=((Ax(M|0)|0)^31)+-1|0,q=(q<<1)+(M>>>q)+2&65535;break}if($>>>0<2114){q=((Ax($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?q=21:q=$>>>0<22594?22:23}else q=$&65535;while(!1);do if(n0>>>0>=10){if(n0>>>0<134){M=n0+-6|0,a0=((Ax(M|0)|0)^31)+-1|0,a0=(a0<<1)+(M>>>a0)+4&65535;break}n0>>>0<2118?a0=((Ax(n0+-70|0)|0)^31)+12&65535:a0=23}else a0=n0+65534&65535;while(!1);x0=a0&65535,n0=q&65535,M=x0&7|n0<<3&56,j&(q&65535)<8&(a0&65535)<16?a0=((a0&65535)<8?M:M|64)&65535:a0=o[88156+((x0>>>3)+((n0>>>3)*3|0)<<1)>>1]|M&65535,o[t0>>1]=a0,s0|(f0|0)==0||(e[C0>>2]=e[d0>>2],e[d0>>2]=e[m0>>2],e[m0>>2]=e[d>>2],e[d>>2]=l0),e[k>>2]=(e[k>>2]|0)+$,a0=u0+D0|0,w0=w0+1|0}e[w>>2]=(e[w>>2]|0)+(c-a0)}function Bm(c,h,f,l,d,w,p,k,e0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0;var $=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0;Mx=c0,c0=c0+6320|0,Wx=Mx+6160|0,Gx=Mx+1252|0,Bx=Mx+1024|0,Yx=Mx,j0=(e[w+4>>2]|0)<11?150:325,Ex=h>>>0>127?f+h+-127|0:f,e[a0>>2]=0,r0[a0+12>>2]=0,e[Gx+4904>>2]=h,ux=c+8|0,$=Tx[e[c>>2]&1](e[ux>>2]|0,(h<<2)+8|0)|0,$||Px(1),K0=Gx+4896|0,e[K0>>2]=$,Tm(Gx,f,l,d),H0=Bx+224|0,e[H0>>2]=0,xx=Yx,X0=w+4|0,Rx=e0+524292|0,wx=e0+524296|0,gx=Yx,cx=Yx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){s0=98;break}for(G0=$+f|0,U0=G0>>>0<p>>>0?G0:p,B0=h-$|0,O0=G0&d,d0=(e[X0>>2]|0)!=11?16:64,d0=G0>>>0<d0>>>0?0:G0-d0|0,I0=l+O0|0,f0=l+(O0+1)|0,u0=O0+B0|0,l0=l+u0|0,u0=l+(u0+-4)|0,x0=xx,M=1,n0=G0;n0=n0+-1|0,!(!(n0>>>0>d0>>>0&M>>>0<3)||(t0=G0-n0|0,t0>>>0>U0>>>0));){if(s0=n0&d,(n[I0>>0]|0)!=(n[l+s0>>0]|0)){y0=M,h0=x0,M=y0,x0=h0;continue}if((n[f0>>0]|0)==(n[l+(s0+1)>>0]|0))q=0,j=I0;else{y0=M,h0=x0,M=y0,x0=h0;continue}for(;!(j>>>0>u0>>>0||(h0=l+(s0+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=l0>>>0||(n[l+(s0+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;if(q>>>0<=M>>>0){y0=M,h0=x0,M=y0,x0=h0;continue}M=x0,e[M>>2]=t0,e[M+4>>2]=q<<5,x0=M+8|0,M=q}do if(M>>>0<B0>>>0){for(y0=B0>>>0<128?B0:128,h0=B0>>>0>127,n0=e0+4+((rx(s[I0>>0]|s[I0+1>>0]<<8|s[I0+2>>0]<<16|s[I0+3>>0]<<24,506832829)|0)>>>15<<2)|0,t0=e[n0>>2]|0,q=(G0&e[e0>>2])<<1,j=q|1,h0?(e[n0>>2]=G0,w0=0,b0=0,D0=64):(w0=0,b0=0,D0=64);;){if(C0=G0-t0|0,m0=t0&d,(G0|0)==(t0|0)|C0>>>0>U0>>>0|(D0|0)==0){s0=22;break}if(d0=w0>>>0<b0>>>0?w0:b0,d0>>>0>=129){s0=25;break x}for(l0=O0+d0|0,s0=m0+B0|0,u0=l+s0|0,s0=l+(s0+-4)|0,f0=0,n0=l+(m0+d0)|0;!(n0>>>0>s0>>>0||(hx=l+(l0+f0)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)f0=f0+4|0,n0=n0+4|0;for(;!(n0>>>0>=u0>>>0||(n[l+(l0+f0)>>0]|0)!=(n[n0>>0]|0));)f0=f0+1|0,n0=n0+1|0;d0=d0+f0|0;e:do if(d0){for(n0=d0,l0=I0,u0=l+m0|0;s0=n[l0>>0]|0,f0=n[u0>>0]|0,s0<<24>>24==f0<<24>>24;)if(n0=n0+-1|0,n0)l0=l0+1|0,u0=u0+1|0;else break e;if(s0<<24>>24!=f0<<24>>24){s0=38;break x}}while(!1);if(n0=x0,(x0|0)!=0&d0>>>0>M>>>0&&(e[n0>>2]=C0,e[n0+4>>2]=d0<<5,x0=n0+8|0,M=d0),d0>>>0>=y0>>>0){s0=42;break}(s[l+(O0+d0)>>0]|0)>(s[l+(m0+d0)>>0]|0)?(h0&&(e[(e[Rx>>2]|0)+(q<<2)>>2]=t0),s0=(t0&e[e0>>2])<<1|1,t0=d0,n0=b0,q=s0,s0=(e[Rx>>2]|0)+(s0<<2)|0):(h0&&(e[(e[Rx>>2]|0)+(j<<2)>>2]=t0),s0=(t0&e[e0>>2])<<1,t0=w0,n0=d0,j=s0,s0=(e[Rx>>2]|0)+(s0<<2)|0),w0=t0,b0=n0,t0=e[s0>>2]|0,D0=D0+-1|0}if((s0|0)==22){if(!h0)break;e[(e[Rx>>2]|0)+(q<<2)>>2]=e[wx>>2],e[(e[Rx>>2]|0)+(j<<2)>>2]=e[wx>>2];break}else if((s0|0)==42){if(!h0)break;hx=e[Rx>>2]|0,e[hx+(q<<2)>>2]=e[hx+((t0&e[e0>>2])<<1<<2)>>2],hx=e[Rx>>2]|0,e[hx+(j<<2)>>2]=e[hx+(((t0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(n0=0;(n0|0)!=38;)e[Wx+(n0<<2)>>2]=268435455,n0=n0+1|0;M=M+1|0,M=M>>>0<4?4:M;e:do if(Qm(I0,M,B0,Wx)|0)for(q=B0>>>0>37?37:B0;;){if(M>>>0>q>>>0)break e;n0=e[Wx+(M<<2)>>2]|0,n0>>>0<268435455&&(hx=n0&31,e[x0>>2]=U0+(n0>>>5)+1,e[x0+4>>2]=M<<5|((M|0)==(hx|0)?0:hx),x0=x0+8|0),M=M+1|0}while(!1);x0=x0-gx>>3;do if(x0){if(n0=x0+-1|0,(e[Yx+(n0<<3)+4>>2]|0)>>>5>>>0<=j0>>>0){if(hx=x0,Xu(h,f,$,l,d,w,p,k,hx,Yx,Gx,Bx,a0),(hx|0)!=1)break}else I0=Yx+(n0<<3)|0,U0=e[I0+4>>2]|0,hx=Yx,e[hx>>2]=e[I0>>2],e[hx+4>>2]=U0,Xu(h,f,$,l,d,w,p,k,1,Yx,Gx,Bx,a0);if(x0=(e[cx>>2]|0)>>>5,x0>>>0>j0>>>0){for(O0=G0+x0|0,O0=O0>>>0<Ex>>>0?O0:Ex,h0=(G0+64|0)>>>0>O0>>>0?G0+1|0:O0+-63|0;!(h0>>>0>=O0>>>0);){for(M=e[e0>>2]|0,D0=M+-15|0,w0=h0&d,b0=l+w0|0,C0=e0+4+((rx(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>15<<2)|0,d0=e[C0>>2]|0,M=(h0&M)<<1,e[C0>>2]=h0,C0=0,q=0,m0=0,n0=M,M=M|1,y0=64;;){if(u0=d0&d,(h0|0)==(d0|0)|(h0-d0|0)>>>0>D0>>>0|(y0|0)==0){s0=71;break}if(l0=q>>>0<m0>>>0?q:m0,l0>>>0>=129){s0=73;break x}for(s0=w0+l0|0,f0=l+(u0+128)|0,j=l+(u0+124)|0,t0=0,x0=l+(u0+l0)|0;!(x0>>>0>j>>>0||(hx=l+(s0+t0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)t0=t0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(s0+t0)>>0]|0)!=(n[x0>>0]|0));)t0=t0+1|0,x0=x0+1|0;l0=l0+t0|0;e:do if(l0){for(x0=l0,s0=b0,f0=l+u0|0;j=n[s0>>0]|0,t0=n[f0>>0]|0,j<<24>>24==t0<<24>>24;)if(x0=x0+-1|0,x0)s0=s0+1|0,f0=f0+1|0;else break e;if(j<<24>>24!=t0<<24>>24){s0=86;break x}}while(!1);if(C0){s0=88;break x}if(l0>>>0>=128){s0=90;break}x0=e[Rx>>2]|0,(s[l+(w0+l0)>>0]|0)>(s[l+(u0+l0)>>0]|0)?(e[x0+(n0<<2)>>2]=d0,j=(d0&e[e0>>2])<<1|1,q=l0,x0=m0,n0=j,j=(e[Rx>>2]|0)+(j<<2)|0):(e[x0+(M<<2)>>2]=d0,j=(d0&e[e0>>2])<<1,x0=l0,M=j,j=(e[Rx>>2]|0)+(j<<2)|0),C0=0,m0=x0,d0=e[j>>2]|0,y0=y0+-1|0}(s0|0)==71?(e[(e[Rx>>2]|0)+(n0<<2)>>2]=e[wx>>2],e[(e[Rx>>2]|0)+(M<<2)>>2]=e[wx>>2]):(s0|0)==90&&(hx=e[Rx>>2]|0,e[hx+(n0<<2)>>2]=e[hx+((d0&e[e0>>2])<<1<<2)>>2],hx=e[Rx>>2]|0,e[hx+(M<<2)>>2]=e[hx+(((d0&e[e0>>2])<<1|1)<<2)>>2]),h0=h0+1|0}$=$+(((e[cx>>2]|0)>>>5)+-1)|0,e[H0>>2]=0}}else Xu(h,f,$,l,d,w,p,k,0,Yx,Gx,Bx,a0);while(!1);$=$+1|0}if((s0|0)==25)V0(405873,405905,373,405932);else if((s0|0)==38)V0(405955,405905,378,405932);else if((s0|0)==73)V0(405873,405905,373,405932);else if((s0|0)==86)V0(405955,405905,378,405932);else if((s0|0)==88)Ji();else if((s0|0)==98){for(vx[e[c+4>>2]&1](e[ux>>2]|0,e[K0>>2]|0),e[K0>>2]=0;!(e[a0+(h<<4)+8>>2]|0||(e[a0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[a0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[a0+(h<<4)>>2]&16777215)+(e[a0+(h<<4)+8>>2]|0)|0,hx=h-d|0,e[a0+(hx<<4)+12>>2]=d,h=hx,$=$+1|0;return c0=Mx,$|0}return 0}function Tm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0;s0=c0,c0=c0+4128|0,$=s0+4112|0,M=s0+1040|0,q=s0+1024|0,a0=s0,j=e[c+4904>>2]|0,t0=e[c+4896>>2]|0;x:do if(R4(f,h,l,j)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,a0=0;(a0|0)!=(j|0);)d=n[f+(a0+h&l)>>0]|0,e0=d&255,d<<24>>24<=-1?(d&255)>191?d=1:d=p>>>0<224?0:2:d=0,p=$+(d<<2)|0,e[p>>2]=(e[p>>2]|0)+1,p=e0,a0=a0+1|0;for(n0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Vx(M|0,0,3072)|0,e0=j>>>0>495?495:j,e[q>>2]=0,e[q+4>>2]=0,e[q+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){a0=0;break}p=n[f+(x0+h&l)>>0]|0,a0=p&255,f0=M+(d<<10)+(a0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=q+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=n0:d=$>>>0<224?0:n0:d=0,$=a0,x0=x0+1|0}for(;(a0|0)!=(j|0);)a0>>>0>=495&&(a0>>>0>=496?(d=a0+h|0,p=s[f+(d+-496&l)>>0]|0,a0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=n0:d=d>>>0<224?0:n0:d=0):d=0,f0=M+(d<<10)+((s[f+(a0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(a0+495|0)>>>0<j>>>0&&(p=a0+h|0,e0=p+495|0,d=n[f+(p+494&l)>>0]|0,p=n[f+(p+493&l)>>0]|0,d<<24>>24<=-1?(d&255)>191?d=n0:d=(p&255)<224?0:n0:d=0,f0=M+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),a0?(d=a0+h|0,p=s[f+(d+-1&l)>>0]|0,a0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=n0:d=d>>>0<224?0:n0:d=0):d=0,p=e[M+(d<<10)+((s[f+(a0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[q+(d<<2)>>2]|0,d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(+(d>>>0)),p>>>0<256?w=+r0[19516+(p<<2)>>2]:w=+Jx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,a0>>>0<2e3&&(w=w+(.7-+((2e3-a0|0)>>>0)/2e3*.35)),r0[t0+(a0+1<<2)>>2]=w,a0=a0+1|0}else{for(Vx(a0|0,0,1024)|0,d=j>>>0>2e3?2e3:j,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=a0+((s[f+(p+h&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,p=p+1|0}for(;;){if((e0|0)==(j|0))break x;e0>>>0>=2e3&&(f0=a0+((s[f+(e0+h+-2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,d=d+-1|0),p=e0+h|0,(e0+2e3|0)>>>0<j>>>0&&(f0=a0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[a0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+r0[19516+(d<<2)>>2]:k=+Jx(+(d>>>0)),p>>>0<256?w=+r0[19516+(p<<2)>>2]:w=+Jx(+(p>>>0)),k=k-w+.029,r0[t0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(r0[t0>>2]=0,w=0,d=0;;){if((d|0)==(j|0)){p=0;break}f0=d+1|0,l=t0+(f0<<2)|0,k=+r0[l>>2]+w,r0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+r0[19516+(d<<2)>>2]:w=+Jx(+(d>>>0)),r0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+r0[19516+(d<<2)>>2]:w=+Jx(+(d>>>0)),r0[c+2816+(p<<2)>>2]=w,p=p+1|0;r0[c+4900>>2]=3.4594316482543945,c0=s0}function Xu(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0;if(Ex=c0,c0=c0+64|0,l0=Ex+36|0,f0=Ex+8|0,j0=Ex,Rx=h+f|0,wx=Rx&d,X0=Rx>>>0<p>>>0?Rx:p,gx=c-f|0,xx=(e[w+4>>2]|0)<11,H0=xx?150:325,xx=xx?1:5,s0=e[n0+(f<<4)+12>>2]|0,h=e[n0+(f<<4)>>2]&16777215,w=e[n0+(f<<4)+8>>2]|0,q=e[n0+(f<<4)+4>>2]|0,j=q&33554431,f?(j+h|0)>>>0>Rx>>>0|j>>>0>p>>>0|(q>>>25|0)==1?h=e[n0+(f-h-w<<4)+12>>2]|0:h=f:h=0,q=n0+(f<<4)+12|0,e[q>>2]=h,t0=(e[p0>>2]=s0,+r0[p0>>2]),G0=$+4896|0,w=e[G0>>2]|0,M=+r0[w+(f<<2)>>2],!(t0<=M-+r0[w>>2]))s0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=s0,h=e[G0>>2]|0,r0[f0+20>>2]=t0-(+r0[h+(f<<2)>>2]-+r0[h>>2]),h=0,w=q;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}U0=e[n0+(w<<4)+8>>2]|0,I0=e[n0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[n0+(w<<4)+4>>2]&33554431,h=h+1|0,w=n0+(w-I0-U0<<4)+12|0}for(;!((h|0)>=4);)e[f0+4+(h<<2)>>2]=e[w>>2],w=w+4|0,h=h+1|0;for(s0=x0+224|0,h=e[s0>>2]|0,p=h+1|0,e[s0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,j=x0+(h*28|0)|0,e[j>>2]=e[f0>>2],e[j+4>>2]=e[f0+4>>2],e[j+8>>2]=e[f0+8>>2],e[j+12>>2]=e[f0+12>>2],e[j+16>>2]=e[f0+16>>2],e[j+20>>2]=e[f0+20>>2],e[j+24>>2]=e[f0+24>>2],j=1;!(j>>>0>=p>>>0);)q=h&7,h=h+1|0,w=h&7,+r0[x0+(q*28|0)+20>>2]>+r0[x0+(w*28|0)+20>>2]&&(I0=x0+(q*28|0)|0,e[l0>>2]=e[I0>>2],e[l0+4>>2]=e[I0+4>>2],e[l0+8>>2]=e[I0+8>>2],e[l0+12>>2]=e[I0+12>>2],e[l0+16>>2]=e[I0+16>>2],e[l0+20>>2]=e[I0+20>>2],e[l0+24>>2]=e[I0+24>>2],U0=x0+(w*28|0)|0,e[I0>>2]=e[U0>>2],e[I0+4>>2]=e[U0+4>>2],e[I0+8>>2]=e[U0+8>>2],e[I0+12>>2]=e[U0+12>>2],e[I0+16>>2]=e[U0+16>>2],e[I0+20>>2]=e[U0+20>>2],e[I0+24>>2]=e[U0+24>>2],e[U0>>2]=e[l0>>2],e[U0+4>>2]=e[l0+4>>2],e[U0+8>>2]=e[l0+8>>2],e[U0+12>>2]=e[l0+12>>2],e[U0+16>>2]=e[l0+16>>2],e[U0+20>>2]=e[l0+20>>2],e[U0+24>>2]=e[l0+24>>2]),j=j+1|0;U0=e[G0>>2]|0,w=U0,M=+r0[U0+(f<<2)>>2]}q=0-(e[s0>>2]|0)&7,h=2,M=+r0[x0+(q*28|0)+24>>2]+ +r0[$+4900>>2]+(M-+r0[w+(e[x0+(q*28|0)>>2]<<2)>>2]),q=4,j=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+r0[n0+(w<<4)+12>>2]<=M))break x;h=h+1|0}while((h|0)!=(j|0));U0=j+q|0,h=j,M=M+1,q=q<<1,j=U0}for(b0=h+-1|0,y0=l+wx|0,O0=wx+gx|0,h0=l+O0|0,O0=l+(O0+-4)|0,B0=j0+4|0,I0=j0+4|0,U0=0;;){if(U0>>>0>=xx>>>0){h=82;break}if(w=e[s0>>2]|0,U0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}d0=U0-w&7,C0=f-(e[x0+(d0*28|0)>>2]|0)|0;do if(C0>>>0>=6){if(C0>>>0<130){w0=C0+-2|0,w=((Ax(w0|0)|0)^31)+-1|0,w=(w<<1)+(w0>>>w)+2&65535;break}if(C0>>>0<2114){w=((Ax(C0+-66|0)|0)^31)+10&65535;break}C0>>>0<6210?w=21:w=C0>>>0<22594?22:23}else w=C0&65535;while(!1);for(w0=w&65535,D0=e[G0>>2]|0,m0=+r0[x0+(d0*28|0)+20>>2]+ +((e[17268+(w0<<2)>>2]|0)>>>0)+(+r0[D0+(f<<2)>>2]-+r0[D0>>2]),D0=w0<<3&56,w0=(w0>>>3)*3|0,c=(w&65535)<8,w=b0,u0=0;u0>>>0<16&w>>>0<gx>>>0;){p=(e[x0+(d0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,q=Rx-p|0;x:do if(!(q>>>0>=Rx>>>0|p>>>0>X0>>>0)&&(cx=q&d,ux=wx+w|0,ux>>>0<=d>>>0)&&(K0=cx+w|0,K0>>>0<=d>>>0)&&(n[l+ux>>0]|0)==(n[l+K0>>0]|0)){for(q=0,j=y0;!(j>>>0>O0>>>0||(l0=l+(cx+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=h0>>>0||(n[l+(cx+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;for(t0=m0+ +r0[$+2816+(u0<<2)>>2],l0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>q>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Ax(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Ax(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,j=p&7|D0,((l0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?j:j|64)&65535:w=o[88156+((p>>>3)+w0<<1)>>1]|j&65535,M=((w&65535)<128?m0:t0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +r0[$+((w&65535)<<2)>>2],w=k+f|0,!(M<+r0[n0+(w<<4)+12>>2])){w=k;continue}e[n0+(w<<4)>>2]=k|150994944,e[n0+(w<<4)+4>>2]=f0,e[n0+(w<<4)+8>>2]=C0,r0[n0+(w<<4)+12>>2]=M,w=k}}while(!1);u0=u0+1|0}x:do if(U0>>>0<=1)for(k=h,d0=0;;){if((d0|0)==(e0|0))break x;for(f0=a0+(d0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=j0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>X0>>>0,w=p&1,q=c+15|0,u0=Dx(c|0,f0|0,37)|0,q>>>0<16?j=0:(Wx=c+3|0,j=((Ax(Wx|0)|0)^31)+-1|0,l0=Wx>>>j&1,q=((j<<1)+65534|l0)+16|0,j=j<<24|Wx-((l0|2)<<j)),t0=m0+ +(j>>>24>>>0)+ +r0[$+2816+((q&65535)<<2)>>2],k>>>0<u0>>>0&&(Wx=p|u0>>>0>H0>>>0,w=Wx?w:0,k=Wx?u0:k),l0=w<<24>>24==0,j=Dx(c|0,f0|0,37)|0,j=j+1|0,p=k>>>0>j>>>0,f0=k;!(f0>>>0>u0>>>0);){l0?w=f0:(w=e[B0>>2]&31,w||(w=(e[I0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){Wx=w+-6|0,q=((Ax(Wx|0)|0)^31)+-1|0,q=(q<<1)+(Wx>>>q)+4|0;break}w>>>0<2118?q=((Ax(w+-70|0)|0)^31)+12|0:q=23}else q=w+65534|0;while(!1);Wx=q&65535,M=t0+ +((e[17460+(Wx<<2)>>2]|0)>>>0)+ +r0[$+(((o[88156+((Wx>>>3)+w0<<1)>>1]|(q&7|D0)&65535)&65535)<<2)>>2],q=f0+f|0,M<+r0[n0+(q<<4)+12>>2]&&(e[n0+(q<<4)>>2]=f0|f0+9-w<<24,e[n0+(q<<4)+4>>2]=c,e[n0+(q<<4)+8>>2]=C0,r0[n0+(q<<4)+12>>2]=M),f0=f0+1|0}k=p?k:j,d0=d0+1|0}while(!1);U0=U0+1|0}if((h|0)==82){c0=Ex;return}}function AG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0;G0=(1<<e[p+8>>2])+-16|0,Im(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){U0=f+-127|0,I0=U0+h|0,I0=I0>>>0>f>>>0?f:I0,B0=k+524292|0,O0=k+524296|0;e:for(;;){if(U0>>>0>=I0>>>0)break x;for(q=e[k>>2]|0,w0=f-U0|0,w0=q-(w0>>>0<15?15:w0)|0,b0=U0&w,y0=d+b0|0,m0=k+4+((rx(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>15<<2)|0,C0=e[m0>>2]|0,q=(U0&q)<<1,e[m0>>2]=U0,m0=0,j=0,D0=0,M=q,q=q|1,h0=64;;){if(d0=C0&w,(U0|0)==(C0|0)|(U0-C0|0)>>>0>w0>>>0|(h0|0)==0){l=6;break}if(u0=j>>>0<D0>>>0?j:D0,u0>>>0>=129){l=8;break e}for(f0=b0+u0|0,l0=d+(d0+128)|0,t0=d+(d0+124)|0,s0=0,l=d+(d0+u0)|0;!(l>>>0>t0>>>0||(H0=d+(f0+s0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)s0=s0+4|0,l=l+4|0;for(;!(l>>>0>=l0>>>0||(n[d+(f0+s0)>>0]|0)!=(n[l>>0]|0));)s0=s0+1|0,l=l+1|0;u0=u0+s0|0;t:do if(u0){for(l=u0,f0=y0,l0=d+d0|0;t0=n[f0>>0]|0,s0=n[l0>>0]|0,t0<<24>>24==s0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,l0=l0+1|0;else break t;if(t0<<24>>24!=s0<<24>>24){l=21;break e}}while(!1);if(m0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[B0>>2]|0,(s[d+(b0+u0)>>0]|0)>(s[d+(d0+u0)>>0]|0)?(e[l+(M<<2)>>2]=C0,t0=(C0&e[k>>2])<<1|1,j=u0,l=D0,M=t0,t0=(e[B0>>2]|0)+(t0<<2)|0):(e[l+(q<<2)>>2]=C0,t0=(C0&e[k>>2])<<1,l=u0,q=t0,t0=(e[B0>>2]|0)+(t0<<2)|0),m0=0,D0=l,C0=e[t0>>2]|0,h0=h0+-1|0}(l|0)==6?(e[(e[B0>>2]|0)+(M<<2)>>2]=e[O0>>2],e[(e[B0>>2]|0)+(q<<2)>>2]=e[O0>>2]):(l|0)==25&&(H0=e[B0>>2]|0,e[H0+(M<<2)>>2]=e[H0+((C0&e[k>>2])<<1<<2)>>2],H0=e[B0>>2]|0,e[H0+(q<<2)>>2]=e[H0+(((C0&e[k>>2])<<1|1)<<2)>>2]),U0=U0+1|0}(l|0)==8?V0(405873,405905,373,405932):(l|0)==21?V0(405955,405905,378,405932):(l|0)==23&&Ji()}while(!1);for(l=c+8|0,M=Tx[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,M||Px(1),q=h+1|0,j=0;(j|0)!=(q|0);)e[M+(j<<4)>>2]=1,e[M+(j<<4)+4>>2]=0,e[M+(j<<4)+8>>2]=0,r0[M+(j<<4)+12>>2]=Q0,j=j+1|0;H0=Bm(c,h,f,d,w,p,G0,e0,k,M)|0,e[x0>>2]=(e[x0>>2]|0)+H0,B4(h,f,G0,M,e0,a0,$,n0),vx[e[c+4>>2]&1](e[l>>2]|0,M)}function EG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0;nx=c0,c0=c0+12256|0,hx=nx+12028|0,Mx=nx+12024|0,Qx=nx+11e3|0,xe=nx+8184|0,ue=nx+6104|0,Xx=nx+5080|0,Wx=nx+4928|0,fx=nx+4912|0,Nx=nx,Fx=(1<<e[p+8>>2])+-16|0,Bx=h<<2,ex=c+8|0,Z0=Tx[e[c>>2]&1](e[ex>>2]|0,Bx)|0,Z0||Px(1),Ex=h>>>0>127?f+h+-127|0:f,Gx=Tx[e[c>>2]&1](e[ex>>2]|0,h<<5)|0,H0=Gx,Gx||Px(1),Im(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){G0=f+-127|0,U0=G0+h|0,U0=U0>>>0>f>>>0?f:U0,B0=k+524292|0,I0=k+524296|0;e:for(;;){if(G0>>>0>=U0>>>0)break x;for(q=e[k>>2]|0,b0=f-G0|0,b0=q-(b0>>>0<15?15:b0)|0,y0=G0&w,h0=d+y0|0,D0=k+4+((rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>15<<2)|0,m0=e[D0>>2]|0,q=(G0&q)<<1,e[D0>>2]=G0,D0=0,j=0,w0=0,M=q,q=q|1,O0=64;;){if(C0=m0&w,(G0|0)==(m0|0)|(G0-m0|0)>>>0>b0>>>0|(O0|0)==0){j=11;break}if(d0=j>>>0<w0>>>0?j:w0,d0>>>0>=129){j=13;break e}for(l0=y0+d0|0,u0=d+(C0+128)|0,s0=d+(C0+124)|0,f0=0,l=d+(C0+d0)|0;!(l>>>0>s0>>>0||(Gx=d+(l0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0)));)f0=f0+4|0,l=l+4|0;for(;!(l>>>0>=u0>>>0||(n[d+(l0+f0)>>0]|0)!=(n[l>>0]|0));)f0=f0+1|0,l=l+1|0;d0=d0+f0|0;t:do if(d0){for(l=d0,l0=h0,u0=d+C0|0;s0=n[l0>>0]|0,f0=n[u0>>0]|0,s0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)l0=l0+1|0,u0=u0+1|0;else break t;if(s0<<24>>24!=f0<<24>>24){j=26;break e}}while(!1);if(D0){j=28;break e}if(d0>>>0>=128){j=30;break}l=e[B0>>2]|0,(s[d+(y0+d0)>>0]|0)>(s[d+(C0+d0)>>0]|0)?(e[l+(M<<2)>>2]=m0,s0=(m0&e[k>>2])<<1|1,j=d0,l=w0,M=s0,s0=(e[B0>>2]|0)+(s0<<2)|0):(e[l+(q<<2)>>2]=m0,s0=(m0&e[k>>2])<<1,l=d0,q=s0,s0=(e[B0>>2]|0)+(s0<<2)|0),D0=0,w0=l,m0=e[s0>>2]|0,O0=O0+-1|0}(j|0)==11?(e[(e[B0>>2]|0)+(M<<2)>>2]=e[I0>>2],e[(e[B0>>2]|0)+(q<<2)>>2]=e[I0>>2]):(j|0)==30&&(Gx=e[B0>>2]|0,e[Gx+(M<<2)>>2]=e[Gx+((m0&e[k>>2])<<1<<2)>>2],Gx=e[B0>>2]|0,e[Gx+(q<<2)>>2]=e[Gx+(((m0&e[k>>2])<<1|1)<<2)>>2]),G0=G0+1|0}(j|0)==13?V0(405873,405905,373,405932):(j|0)==26?V0(405955,405905,378,405932):(j|0)==28&&Ji()}while(!1);Yx=c+4|0,Gx=p+4|0,K0=k+524292|0,j0=k+524296|0,cx=0,f0=Bx,M=0;x:for(;;){if((M+3|0)>>>0>=h>>>0){j=142;break}if(gx=M+f|0,wx=gx>>>0<Fx>>>0?gx:Fx,xx=h-M|0,l=cx+128|0,f0>>>0<l>>>0){for(j=(f0|0)==0,s0=j?l:f0;!(s0>>>0>=l>>>0);)s0=s0<<1;if(q=Tx[e[c>>2]&1](e[ex>>2]|0,s0<<3)|0,!q){j=42;break}l=H0,j||$x(q|0,l|0,f0<<3|0)|0,vx[e[Yx>>2]&1](e[ex>>2]|0,l),ux=s0}else q=H0,ux=f0;for(X0=q,Rx=X0+(cx<<3)|0,G0=gx&w,C0=(e[Gx>>2]|0)!=11?16:64,C0=gx>>>0<C0>>>0?0:gx-C0|0,H0=d+G0|0,m0=d+(G0+1)|0,w0=G0+xx|0,D0=d+w0|0,w0=d+(w0+-4)|0,l=Rx,s0=1,j=gx;j=j+-1|0,!(!(j>>>0>C0>>>0&s0>>>0<3)||(u0=gx-j|0,u0>>>0>wx>>>0));){if(d0=j&w,(n[H0>>0]|0)!=(n[d+d0>>0]|0)){I0=s0,U0=l,s0=I0,l=U0;continue}if((n[m0>>0]|0)==(n[d+(d0+1)>>0]|0))f0=0,l0=H0;else{I0=s0,U0=l,s0=I0,l=U0;continue}for(;!(l0>>>0>w0>>>0||(U0=d+(d0+f0)|0,(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)!=(s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0)));)f0=f0+4|0,l0=l0+4|0;for(;!(l0>>>0>=D0>>>0||(n[d+(d0+f0)>>0]|0)!=(n[l0>>0]|0));)f0=f0+1|0,l0=l0+1|0;if(f0>>>0<=s0>>>0){I0=s0,U0=l,s0=I0,l=U0;continue}s0=l,e[s0>>2]=u0,e[s0+4>>2]=f0<<5,l=s0+8|0,s0=f0}do if(s0>>>0<xx>>>0){for(I0=xx>>>0<128?xx:128,U0=xx>>>0>127,j=k+4+((rx(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[j>>2]|0,f0=(gx&e[k>>2])<<1,l0=f0|1,U0?(e[j>>2]=gx,O0=0,B0=0,h0=64):(O0=0,B0=0,h0=64);;){if(b0=gx-u0|0,y0=u0&w,(gx|0)==(u0|0)|b0>>>0>wx>>>0|(h0|0)==0){j=63;break}if(w0=O0>>>0<B0>>>0?O0:B0,w0>>>0>=129){j=66;break x}for(m0=G0+w0|0,d0=y0+xx|0,D0=d+d0|0,d0=d+(d0+-4)|0,C0=0,j=d+(y0+w0)|0;!(j>>>0>d0>>>0||(dx=d+(m0+C0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)C0=C0+4|0,j=j+4|0;for(;!(j>>>0>=D0>>>0||(n[d+(m0+C0)>>0]|0)!=(n[j>>0]|0));)C0=C0+1|0,j=j+1|0;w0=w0+C0|0;e:do if(w0){for(j=w0,m0=H0,D0=d+y0|0;d0=n[m0>>0]|0,C0=n[D0>>0]|0,d0<<24>>24==C0<<24>>24;)if(j=j+-1|0,j)m0=m0+1|0,D0=D0+1|0;else break e;if(d0<<24>>24!=C0<<24>>24){j=79;break x}}while(!1);if(j=l,(l|0)!=0&w0>>>0>s0>>>0&&(e[j>>2]=b0,e[j+4>>2]=w0<<5,l=j+8|0,s0=w0),w0>>>0>=I0>>>0){j=83;break}(s[d+(G0+w0)>>0]|0)>(s[d+(y0+w0)>>0]|0)?(U0&&(e[(e[K0>>2]|0)+(f0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1|1,u0=w0,j=B0,f0=d0,d0=(e[K0>>2]|0)+(d0<<2)|0):(U0&&(e[(e[K0>>2]|0)+(l0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1,u0=O0,j=w0,l0=d0,d0=(e[K0>>2]|0)+(d0<<2)|0),O0=u0,B0=j,u0=e[d0>>2]|0,h0=h0+-1|0}if((j|0)==63){if(!U0)break;e[(e[K0>>2]|0)+(f0<<2)>>2]=e[j0>>2],e[(e[K0>>2]|0)+(l0<<2)>>2]=e[j0>>2];break}else if((j|0)==83){if(!U0)break;dx=e[K0>>2]|0,e[dx+(f0<<2)>>2]=e[dx+((u0&e[k>>2])<<1<<2)>>2],dx=e[K0>>2]|0,e[dx+(l0<<2)>>2]=e[dx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(j=0;(j|0)!=38;)e[Wx+(j<<2)>>2]=268435455,j=j+1|0;s0=s0+1|0,s0=s0>>>0<4?4:s0;e:do if(Qm(H0,s0,xx,Wx)|0)for(f0=xx>>>0>37?37:xx;;){if(s0>>>0>f0>>>0)break e;j=e[Wx+(s0<<2)>>2]|0,j>>>0<268435455&&(dx=j&31,e[l>>2]=wx+(j>>>5)+1,e[l+4>>2]=s0<<5|((s0|0)==(dx|0)?0:dx),l=l+8|0),s0=s0+1|0}while(!1);for(f0=l-Rx>>3,l=cx+f0|0,s0=cx;j=s0,s0=s0+1|0,!(s0>>>0>=l>>>0);){if((e[X0+(j<<3)+4>>2]|0)>>>5>>>0>=(e[X0+(s0<<3)+4>>2]|0)>>>5>>>0){j=105;break x}if(j=e[X0+(j<<3)>>2]|0,!(j>>>0>wx>>>0)&&j>>>0>(e[X0+(s0<<3)>>2]|0)>>>0){j=108;break x}}if(l0=Z0+(M<<2)|0,e[l0>>2]=f0,f0){if(j=l+-1|0,dx=e[X0+(j<<3)+4>>2]|0,s0=dx>>>5,dx>>>0>10431){for(xx=s0+-1|0,l=cx+1|0,dx=X0+(j<<3)|0,G0=e[dx+4>>2]|0,H0=Rx,e[H0>>2]=e[dx>>2],e[H0+4>>2]=G0,e[l0>>2]=1,H0=gx+s0|0,H0=H0>>>0<Ex>>>0?H0:Ex,G0=(gx+64|0)>>>0>H0>>>0?gx+1|0:H0+-63|0;!(G0>>>0>=H0>>>0);){for(f0=e[k>>2]|0,O0=f0+-15|0,B0=G0&w,I0=d+B0|0,y0=k+4+((rx(s[I0>>0]|s[I0+1>>0]<<8|s[I0+2>>0]<<16|s[I0+3>>0]<<24,506832829)|0)>>>15<<2)|0,b0=e[y0>>2]|0,f0=(G0&f0)<<1,e[y0>>2]=G0,y0=0,l0=0,h0=0,s0=f0,f0=f0|1,U0=64;;){if(w0=b0&w,(G0|0)==(b0|0)|(G0-b0|0)>>>0>O0>>>0|(U0|0)==0){j=115;break}if(D0=l0>>>0<h0>>>0?l0:h0,D0>>>0>=129){j=117;break x}for(C0=B0+D0|0,m0=d+(w0+128)|0,u0=d+(w0+124)|0,d0=0,j=d+(w0+D0)|0;!(j>>>0>u0>>>0||(dx=d+(C0+d0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)d0=d0+4|0,j=j+4|0;for(;!(j>>>0>=m0>>>0||(n[d+(C0+d0)>>0]|0)!=(n[j>>0]|0));)d0=d0+1|0,j=j+1|0;D0=D0+d0|0;e:do if(D0){for(j=D0,C0=I0,m0=d+w0|0;u0=n[C0>>0]|0,d0=n[m0>>0]|0,u0<<24>>24==d0<<24>>24;)if(j=j+-1|0,j)C0=C0+1|0,m0=m0+1|0;else break e;if(u0<<24>>24!=d0<<24>>24){j=130;break x}}while(!1);if(y0){j=132;break x}if(D0>>>0>=128){j=134;break}j=e[K0>>2]|0,(s[d+(B0+D0)>>0]|0)>(s[d+(w0+D0)>>0]|0)?(e[j+(s0<<2)>>2]=b0,u0=(b0&e[k>>2])<<1|1,l0=D0,j=h0,s0=u0,u0=(e[K0>>2]|0)+(u0<<2)|0):(e[j+(f0<<2)>>2]=b0,u0=(b0&e[k>>2])<<1,j=D0,f0=u0,u0=(e[K0>>2]|0)+(u0<<2)|0),y0=0,h0=j,b0=e[u0>>2]|0,U0=U0+-1|0}(j|0)==115?(e[(e[K0>>2]|0)+(s0<<2)>>2]=e[j0>>2],e[(e[K0>>2]|0)+(f0<<2)>>2]=e[j0>>2]):(j|0)==134&&(dx=e[K0>>2]|0,e[dx+(s0<<2)>>2]=e[dx+((b0&e[k>>2])<<1<<2)>>2],dx=e[K0>>2]|0,e[dx+(f0<<2)>>2]=e[dx+(((b0&e[k>>2])<<1|1)<<2)>>2]),G0=G0+1|0}Vx(Z0+(M+1<<2)|0,0,xx<<2|0)|0,M=M+xx|0}}else l=cx;cx=l,H0=q,f0=ux,M=M+1|0}if((j|0)==42)Px(1);else if((j|0)==66)V0(405873,405905,373,405932);else if((j|0)==79)V0(405955,405905,378,405932);else if((j|0)==105)V0(403595,403667,793,403707);else if((j|0)==108)V0(403740,403667,795,403707);else if((j|0)==117)V0(405873,405905,373,405932);else if((j|0)==130)V0(405955,405905,378,405932);else if((j|0)==132)Ji();else if((j|0)==142){for(h0=e[n0>>2]|0,O0=e[a0>>2]|0,e[fx>>2]=e[e0>>2],e[fx+4>>2]=e[e0+4>>2],e[fx+8>>2]=e[e0+8>>2],e[fx+12>>2]=e[e0+12>>2],B0=e[x0>>2]|0,I0=Tx[e[c>>2]&1](e[ex>>2]|0,(h<<4)+16|0)|0,I0||Px(1),U0=Nx+4904|0,e[U0>>2]=h,l=Tx[e[c>>2]&1](e[ex>>2]|0,Bx+8|0)|0,l||Px(1),y0=Nx+4896|0,e[y0>>2]=l,l0=I0+12|0,u0=hx+224|0,d0=H0,C0=f-O0|0,m0=Nx+2816|0,D0=Nx+4900|0,w0=h+1|0,b0=0;(b0|0)!=2;){for(l=0;(l|0)!=(w0|0);)e[I0+(l<<4)>>2]=1,e[I0+(l<<4)+4>>2]=0,e[I0+(l<<4)+8>>2]=0,r0[I0+(l<<4)+12>>2]=Q0,l=l+1|0;if(!b0)Tm(Nx,f,d,w);else{for(M=e[x0>>2]|0,Vx(Qx|0,0,1024)|0,Vx(xe|0,0,2816)|0,Vx(ue|0,0,2080)|0,M=M-B0|0,s0=C0,f0=0;(f0|0)!=(M|0);){for(q=e[$+(f0<<4)>>2]|0,j=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,dx=o[$+(f0<<4)+12>>1]|0,c=xe+((dx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(dx&65535)>127&&(l=ue+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(q|0);)dx=Qx+(s[d+(s0+l&w)>>0]<<2)|0,e[dx>>2]=(e[dx>>2]|0)+1,l=l+1|0;s0=s0+(q+j)|0,f0=f0+1|0}for(I4(Qx,256,Xx),I4(xe,704,Nx),I4(ue,520,m0),l=2139095040,M=0;(M|0)!=704;)dx=e[Nx+(M<<2)>>2]|0,e[hx>>2]=l,e[Mx>>2]=dx,t0=(e[p0>>2]=l,+r0[p0>>2]),l=e[(t0<(e[p0>>2]=dx,+r0[p0>>2])?hx:Mx)>>2]|0,M=M+1|0;for(e[D0>>2]=l,M=e[U0>>2]|0,l=e[y0>>2]|0,r0[l>>2]=0,t0=0,q=0;(q|0)!=(M|0);)Lx=t0+ +r0[Xx+(s[d+(q+f&w)>>0]<<2)>>2],dx=q+1|0,r0[l+(dx<<2)>>2]=Lx,t0=Lx,q=dx}for(e[x0>>2]=B0,e[n0>>2]=h0,e[a0>>2]=O0,e[e0>>2]=e[fx>>2],e[e0+4>>2]=e[fx+4>>2],e[e0+8>>2]=e[fx+8>>2],e[e0+12>>2]=e[fx+12>>2],q=(e[Gx>>2]|0)<11?150:325,e[I0>>2]=0,r0[l0>>2]=0,e[u0>>2]=0,l=0,M=0;;){if((M+3|0)>>>0>=h>>>0){l=h;break}dx=Z0+(M<<2)|0,Xu(h,f,M,d,w,p,Fx,e0,e[dx>>2]|0,d0+(l<<3)|0,Nx,hx,I0),dx=e[dx>>2]|0,l=l+dx|0,(dx|0)==1&&(mx=(e[d0+(l+-1<<3)+4>>2]|0)>>>5,mx>>>0>q>>>0)&&(e[u0>>2]=0,M=M+(mx+-1)|0),M=M+1|0}for(;!(e[I0+(l<<4)+8>>2]|0||(e[I0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[I0+(l<<4)+12>>2]=-1,M=0;l;)c=(e[I0+(l<<4)>>2]&16777215)+(e[I0+(l<<4)+8>>2]|0)|0,dx=l-c|0,e[I0+(dx<<4)+12>>2]=c,l=dx,M=M+1|0;e[x0>>2]=(e[x0>>2]|0)+M,B4(h,f,Fx,I0,e0,a0,$,n0),b0=b0+1|0}vx[e[Yx>>2]&1](e[ex>>2]|0,e[y0>>2]|0),e[y0>>2]=0,vx[e[Yx>>2]&1](e[ex>>2]|0,I0),vx[e[Yx>>2]&1](e[ex>>2]|0,H0),vx[e[Yx>>2]&1](e[ex>>2]|0,Z0),c0=nx;return}}function CG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0;if(mx=c0,c0=c0+32|0,hx=mx+16|0,Fx=mx,Bx=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,Mx=f+h|0,Gx=h>>>0>7?Mx+-7|0:f,Yx=p+4|0,Wx=(e[Yx>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)Ex=d+c|0,j0=Ex,Ex=Ex+4|0,Ex=Se(s[j0>>0]|s[j0+1>>0]<<8|s[j0+2>>0]<<16|s[j0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Ox=8)}else n[k+262148>>0]&1&&Vx(k|0,0,262149)|0,Ox=8;(Ox|0)==8&&h>>>0>6&f>>>0>2&&(j0=f+-3|0,Ex=d+(j0&w)|0,K0=Ex,Ex=Ex+4|0,Ex=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=j0,Ex=f+-2|0,j0=d+(Ex&w)|0,K0=j0,j0=j0+4|0,j0=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[j0>>0]|s[j0+1>>0]<<8|s[j0+2>>0]<<16|s[j0+3>>0]<<24|0,-1124073472,1979815)|0,j0=Dx(j0|0,v0|0,48)|0,e[k+(j0<<2)>>2]=Ex,j0=f+-1|0,Ex=d+(j0&w)|0,K0=Ex,Ex=Ex+4|0,Ex=Se(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24|0,-1124073472,1979815)|0,Ex=Dx(Ex|0,v0|0,48)|0,e[k+(Ex<<2)>>2]=j0),b0=hx+4|0,y0=hx+8|0,h0=hx+12|0,O0=hx+4|0,B0=k+262156|0,I0=k+262152|0,U0=hx+12|0,G0=hx+8|0,H0=Wx<<2,xx=Mx+-7|0,X0=Fx+4|0,Rx=Fx+8|0,wx=Fx+12|0,gx=Fx+4|0,cx=Fx+8|0,ux=Fx+12|0,K0=e0+8|0,j0=e0+12|0,Ex=e0+4|0,p=f,w0=$,c=q;x:for(;;){C0=w0,D0=M+H0|0;e:for(;;){if(m0=Mx-p|0,(p+8|0)>>>0>=Mx>>>0)break x;if(u0=p>>>0<Bx>>>0?p:Bx,e[hx>>2]=0,e[b0>>2]=0,e[y0>>2]=0,e[h0>>2]=4240,d0=p&w,f0=d+d0|0,j=f0,s0=j,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24,j=j+4|0,j=Se(s0|0,s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0,-1124073472,1979815)|0,j=Dx(j|0,v0|0,48)|0,t0=e[e0>>2]|0,l=p-t0|0,e[O0>>2]=0,l>>>0<p>>>0&&(ex=l&w,(n[d+ex>>0]|0)==(s0&255)<<24>>24)){for(h=d0+m0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(l0=d+(ex+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(ex+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=22;break}}if(l0=k+(j<<2)|0,q=e[l0>>2]|0,e[l0>>2]=p,j=p-q|0,t0=q&w,!(((p|0)==(q|0)?1:(n[d+t0>>0]|0)!=(s0&255)<<24>>24)|j>>>0>u0>>>0)){for(h=d0+m0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(s0=d+(t0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(t0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=32;break}if((e[B0>>2]|0)>>>0<(e[I0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=1;){if(f0=o[21084+(t0<<1)>>1]|0,h=f0&65535,e[I0>>2]=(e[I0>>2]|0)+1,f0<<16>>16!=0&&(Z0=h&31,Xx=h>>>5,xe=(e[11272+(Z0<<2)>>2]|0)+(rx(Z0,Xx)|0)|0,Z0>>>0<=m0>>>0)){for(f=xe+Z0|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+xe|0;!(h>>>0>f>>>0||(f0=d+(d0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(d0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Z0>>>0|(q|0)==0)&&(ue=u0+Xx+1+(s[407930+(Z0-q)>>0]<<s[280786+Z0>>0])|0,Qx=(q*540|0)+3840+(rx((Ax(ue|0)|0)^31,-120)|0)|0,Qx>>>0>=(e[U0>>2]|0)>>>0)&&(e[hx>>2]=q,e[O0>>2]=Z0^q,e[G0>>2]=ue,e[U0>>2]=Qx,e[B0>>2]=(e[B0>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}if(e[l0>>2]=p,l&1){D0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>D0>>>0)for(l=p+17|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;m0=d+(p&w)|0,d0=m0,m0=m0+4|0,m0=Se(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,-1124073472,1979815)|0,m0=Dx(m0|0,v0|0,48)|0,e[k+(m0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;m0=d+(p&w)|0,d0=m0,m0=m0+4|0,m0=Se(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,-1124073472,1979815)|0,m0=Dx(m0|0,v0|0,48)|0,e[k+(m0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Ox|0)==22?(Ox=0,e[hx>>2]=f,e[G0>>2]=t0,e[U0>>2]=(f*540|0)+3900,e[k+(j<<2)>>2]=p,D0=0):(Ox|0)==32&&(Ox=0,e[hx>>2]=f,e[G0>>2]=j,e[U0>>2]=(f*540|0)+3840+(rx((Ax(j|0)|0)^31,-120)|0),D0=0);e:for(;;){if(m0=m0+-1|0,(e[Yx>>2]|0)<5?(t0=(e[hx>>2]|0)+-1|0,t0=t0>>>0<m0>>>0?t0:m0):t0=0,e[Fx>>2]=t0,e[X0>>2]=0,e[Rx>>2]=0,e[wx>>2]=4240,f0=p+1|0,d0=f0>>>0<Bx>>>0?f0:Bx,C0=f0&w,l0=d+C0|0,q=l0,s0=q,q=q+4|0,q=Se(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=Dx(q|0,v0|0,48)|0,s0=n[d+(C0+t0)>>0]|0,j=e[e0>>2]|0,l=f0-j|0,e[gx>>2]=0,l>>>0<f0>>>0&&(Nx=l&w,s0<<24>>24==(n[d+(Nx+t0)>>0]|0))){for(h=C0+m0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=l0;!(l>>>0>h>>>0||(u0=d+(Nx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Nx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(e[Fx>>2]=M,e[cx>>2]=j,e[ux>>2]=(M*540|0)+3900,e[k+(q<<2)>>2]=f0):Ox=64}else Ox=64;do if((Ox|0)==64){if(Ox=0,u0=k+(q<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,q=f0-f|0,j=f&w,((f0|0)==(f|0)?1:s0<<24>>24!=(n[d+(j+t0)>>0]|0))|q>>>0>d0>>>0){f0=p,s0=c;break e}for(h=C0+m0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=l0;!(l>>>0>h>>>0||(s0=d+(j+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(j+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0>3){e[Fx>>2]=M,e[cx>>2]=q,e[ux>>2]=(M*540|0)+3840+(rx((Ax(q|0)|0)^31,-120)|0);break}if((e[B0>>2]|0)>>>0<(e[I0>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,j=(rx(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(l0=o[21084+(j<<1)>>1]|0,h=l0&65535,e[I0>>2]=(e[I0>>2]|0)+1,l0<<16>>16!=0&&(fx=h&31,nx=h>>>5,dx=(e[11272+(fx<<2)>>2]|0)+(rx(fx,nx)|0)|0,fx>>>0<=m0>>>0)){for(M=dx+fx|0,q=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+dx|0;!(h>>>0>M>>>0||(l0=d+(C0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(C0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=fx>>>0|(f|0)==0)&&(Lx=d0+nx+1+(s[407930+(fx-f)>>0]<<s[280786+fx>>0])|0,ae=(f*540|0)+3840+(rx((Ax(Lx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[ux>>2]|0)>>>0)&&(e[Fx>>2]=f,e[gx>>2]=fx^f,e[cx>>2]=Lx,e[ux>>2]=ae,e[B0>>2]=(e[B0>>2]|0)+1,l=1)}t0=t0+1|0,j=j+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,s0=c;break e}}while(!1);if((e[wx>>2]|0)>>>0<((e[h0>>2]|0)+700|0)>>>0){f0=p,s0=c;break}if(c=c+1|0,e[hx>>2]=e[Fx>>2],e[hx+4>>2]=e[Fx+4>>2],e[hx+8>>2]=e[Fx+8>>2],e[hx+12>>2]=e[Fx+12>>2],D0=D0+1|0,(D0|0)<4&(p+9|0)>>>0<Mx>>>0)p=f0;else{s0=c;break}}p=e[hx>>2]|0,M=f0+(p<<1)+Wx|0,c=e[y0>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,D0=e[e0>>2]|0,l=f-D0|0,h=e[Ex>>2]|0,f=f-h|0,(c|0)==(D0|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(f>>>0<7){c=266017486>>>(f<<2)&15;break}if((c|0)==(e[K0>>2]|0)){c=2;break t}if((c|0)==(e[j0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[j0>>2]=e[K0>>2],e[K0>>2]=e[Ex>>2],e[Ex>>2]=e[e0>>2],e[e0>>2]=e[y0>>2],p=e[hx>>2]|0}else c=c+15|0;while(!1);t0=w0+16|0,D0=e[b0>>2]|0,l=p^D0,e[w0>>2]=s0,e[w0+4>>2]=p|D0<<24,p=w0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(C0=c+-12|0,D0=((Ax(C0|0)|0)^31)+-1|0,m0=C0>>>D0&1,c=((D0<<1)+65534|m0)+16&65535,o[p>>1]=c,p=D0<<24|C0-((m0|2)<<D0)),e[w0+8>>2]=p,q=c<<16>>16==0,j=w0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){w0=s0+-2|0,f=((Ax(w0|0)|0)^31)+-1|0,f=(f<<1)+(w0>>>f)+2&65535;break}if(s0>>>0<2114){f=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?f=21:f=s0>>>0<22594?22:23}else f=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){w0=l+-6|0,c=((Ax(w0|0)|0)^31)+-1|0,c=(c<<1)+(w0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[hx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)w0=d+(p&w)|0,D0=w0,w0=w0+4|0,w0=Se(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0,s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0,-1124073472,1979815)|0,w0=Dx(w0|0,v0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+1|0;p=f0+(e[hx>>2]|0)|0,w0=t0,c=0}e[a0>>2]=c+m0,e[x0>>2]=(e[x0>>2]|0)+(C0-$>>4),c0=mx}function kG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0;if(Ex=(1<<e[p+8>>2])+-16|0,q=e[a0>>2]|0,Wx=f+h|0,j0=h>>>0>7?Wx+-7|0:f,K0=p+4|0,ux=(e[K0>>2]|0)<9?64:512,p=ux+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)cx=d+c|0,gx=cx,cx=cx+4|0,cx=Se(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,s[cx>>0]|s[cx+1>>0]<<8|s[cx+2>>0]<<16|s[cx+3>>0]<<24|0,-1124073472,1979815)|0,cx=Dx(cx|0,v0|0,48)|0,cx=k+(cx<<2)|0,e[cx>>2]=0,e[cx+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,M=8)}else n[k+262152>>0]&1&&Vx(k|0,0,262153)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(cx=f+-3|0,gx=d+(cx&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(cx>>>3&1)<<2)>>2]=cx,cx=f+-2|0,gx=d+(cx&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(cx>>>3&1)<<2)>>2]=cx,cx=f+-1|0,gx=d+(cx&w)|0,wx=gx,gx=gx+4|0,gx=Se(s[wx>>0]|s[wx+1>>0]<<8|s[wx+2>>0]<<16|s[wx+3>>0]<<24|0,s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24|0,-1124073472,1979815)|0,gx=Dx(gx|0,v0|0,48)|0,e[k+(gx+(cx>>>3&1)<<2)>>2]=cx),X0=ux<<2,Rx=Wx+-7|0,wx=e0+8|0,gx=e0+12|0,cx=e0+4|0,l=f,xx=$,s0=p,c=q;x:for(;;){B0=xx,I0=s0+X0|0;e:for(;;){if(G0=Wx-l|0,(l+8|0)>>>0>=Wx>>>0)break x;if(b0=l>>>0<Ex>>>0?l:Ex,y0=l&w,h0=d+y0|0,O0=h0,p=O0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,O0=O0+4|0,O0=Se(p|0,s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24|0,-1124073472,1979815)|0,O0=Dx(O0|0,v0|0,48)|0,j=p&255,h=e[e0>>2]|0,M=l-h|0,M>>>0<l>>>0&&(Yx=M&w,(n[d+Yx>>0]|0)==(p&255)<<24>>24)){for(M=y0+G0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=h0;!(p>>>0>M>>>0||(H0=d+(Yx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Yx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(y0+f)>>0]|0,p=1,q=f,f=(f*540|0)+3900|0):(p=0,q=0,h=0,f=4240)}else p=0,q=0,h=0,f=4240;for(D0=y0+G0|0,m0=d+D0|0,D0=d+(D0+-4)|0,l0=q,t0=f,w0=k+(O0+1<<2)|0,u0=0,M=k+(O0<<2)|0,d0=q,C0=f;M=e[M>>2]|0,(u0|0)!=2;){if(f0=l-M|0,q=M&w,((l|0)==(M|0)?1:(j|0)!=(s[d+(q+l0)>>0]|0))|f0>>>0>b0>>>0)q=l0,f=d0,M=C0;else{for(M=0,f=h0;!(f>>>0>D0>>>0||(H0=d+(q+M)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0)));)M=M+4|0,f=f+4|0;for(;!(f>>>0>=m0>>>0||(n[d+(q+M)>>0]|0)!=(n[f>>0]|0));)M=M+1|0,f=f+1|0;M>>>0>3&&(Gx=(M*540|0)+3840+(rx((Ax(f0|0)|0)^31,-120)|0)|0,t0>>>0<Gx>>>0)?(q=M,t0=Gx,j=s[d+(y0+M)>>0]|0,p=1,f=M,h=f0,M=Gx):(q=l0,f=d0,M=C0)}H0=w0,l0=q,w0=w0+4|0,u0=u0+1|0,d0=f,C0=M,M=H0}if(e[k+(O0+(l>>>3&1)<<2)>>2]=l,p&1){H0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=s0>>>0){l=h;continue}if(h>>>0>I0>>>0)for(p=l+17|0,p=p>>>0<Rx>>>0?p:Rx,l=h;;){if(l>>>0>=p>>>0)continue e;H0=d+(l&w)|0,G0=H0,H0=H0+4|0,H0=Se(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,-1124073472,1979815)|0,H0=Dx(H0|0,v0|0,48)|0,e[k+(H0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<Rx>>>0?p:Rx,l=h;;){if(l>>>0>=p>>>0)continue e;H0=d+(l&w)|0,G0=H0,H0=H0+4|0,H0=Se(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,-1124073472,1979815)|0,H0=Dx(H0|0,v0|0,48)|0,e[k+(H0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(G0=G0+-1|0,(e[K0>>2]|0)<5?(t0=d0+-1|0,t0=t0>>>0<G0>>>0?t0:G0):t0=0,l0=l+1|0,O0=l0>>>0<Ex>>>0?l0:Ex,B0=l0&w,I0=d+B0|0,U0=I0,p=U0,U0=U0+4|0,U0=Se(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0,-1124073472,1979815)|0,U0=Dx(U0|0,v0|0,48)|0,p=n[d+(B0+t0)>>0]|0,j=p&255,s0=e[e0>>2]|0,M=l0-s0|0,M>>>0<l0>>>0&&(Bx=M&w,p<<24>>24==(n[d+(Bx+t0)>>0]|0))){for(M=B0+G0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=I0;!(p>>>0>M>>>0||(h0=d+(Bx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Bx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(B0+f)>>0]|0,p=1,t0=f,M=(f*540|0)+3900|0):(p=0,M=4240,s0=0)}else p=0,M=4240,s0=0;for(y0=B0+G0|0,b0=d+y0|0,y0=d+(y0+-4)|0,m0=t0,D0=M,h0=k+(U0+1<<2)|0,w0=0,q=p,p=k+(U0<<2)|0,u0=M;p=e[p>>2]|0,(w0|0)!=2;){if(f0=l0-p|0,f=p&w,((l0|0)==(p|0)?1:(j|0)!=(s[d+(f+m0)>>0]|0))|f0>>>0>O0>>>0)M=m0,f=D0,p=u0;else{for(p=0,M=I0;!(M>>>0>y0>>>0||(hx=d+(f+p)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)p=p+4|0,M=M+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(f+p)>>0]|0)!=(n[M>>0]|0));)p=p+1|0,M=M+1|0;p>>>0>3&&(Mx=(p*540|0)+3840+(rx((Ax(f0|0)|0)^31,-120)|0)|0,D0>>>0<Mx>>>0)?(M=p,f=Mx,j=s[d+(B0+p)>>0]|0,q=1,t0=p,p=Mx,s0=f0):(M=m0,f=D0,p=u0)}hx=h0,m0=M,D0=f,h0=h0+4|0,w0=w0+1|0,u0=p,p=hx}if(e[k+(U0+(l0>>>3&1)<<2)>>2]=l0,(q&1)==0|u0>>>0<(C0+700|0)>>>0){l0=l,f0=c,t0=d0;break}if(c=c+1|0,H0=H0+1|0,(H0|0)<4&(l+9|0)>>>0<Wx>>>0)l=l0,d0=t0,h=s0,C0=u0;else{f0=c,h=s0;break}}s0=l0+(t0<<1)+ux|0;e:do if(h>>>0<=(l0>>>0<Ex>>>0?l0:Ex)>>>0)if(l=h+3|0,hx=e[e0>>2]|0,c=l-hx|0,p=e[cx>>2]|0,l=l-p|0,(h|0)==(hx|0))c=0;else{t:do if((h|0)!=(p|0)){do if(c>>>0<7)c=158663784>>>(c<<2)&15;else{if(l>>>0<7){c=266017486>>>(l<<2)&15;break}if((h|0)==(e[wx>>2]|0)){c=2;break t}if((h|0)==(e[gx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[gx>>2]=e[wx>>2],e[wx>>2]=e[cx>>2],e[cx>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);j=xx+16|0,e[xx>>2]=f0,e[xx+4>>2]=t0,p=xx+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,hx=((Ax(G0|0)|0)^31)+-1|0,H0=G0>>>hx&1,c=((hx<<1)+65534|H0)+16&65535,o[p>>1]=c,p=hx<<24|G0-((H0|2)<<hx)),e[xx+8>>2]=p,f=c<<16>>16==0,q=xx+12|0;do if(f0>>>0>=6){if(f0>>>0<130){hx=f0+-2|0,p=((Ax(hx|0)|0)^31)+-1|0,p=(p<<1)+(hx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Ax(f0+-66|0)|0)^31)+10&65535;break}f0>>>0<6210?p=21:p=f0>>>0<22594?22:23}else p=f0&65535;while(!1);do if(t0>>>0>=10){if(t0>>>0<134){hx=t0+-6|0,c=((Ax(hx|0)|0)^31)+-1|0,c=(c<<1)+(hx>>>c)+4&65535;break}t0>>>0<2118?c=((Ax(t0+-70|0)|0)^31)+12&65535:c=23}else c=t0+65534&65535;while(!1);for(l=c&65535,h=p&65535,M=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|M&65535,o[q>>1]=c,e[n0>>2]=(e[n0>>2]|0)+f0,l=l0+t0|0,p=l>>>0<j0>>>0?l:j0,c=l0+2|0;;){if(c>>>0>=p>>>0){xx=j,c=0;continue x}hx=d+(c&w)|0,xx=hx,hx=hx+4|0,hx=Se(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0,s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0,-1124073472,1979815)|0,hx=Dx(hx|0,v0|0,48)|0,e[k+(hx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[a0>>2]=c+G0,e[x0>>2]=(e[x0>>2]|0)+(B0-$>>4)}function SG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0;if(ue=c0,c0=c0+32|0,Xx=ue+16|0,xe=ue,ex=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Z0=f+h|0,mx=h>>>0>7?Z0+-7|0:f,Fx=p+4|0,hx=(e[Fx>>2]|0)<9?64:512,q=hx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Mx=d+c|0,Bx=Mx,Mx=Mx+4|0,Mx=Se(s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,s[Mx>>0]|s[Mx+1>>0]<<8|s[Mx+2>>0]<<16|s[Mx+3>>0]<<24|0,-1124073472,1979815)|0,Mx=Dx(Mx|0,v0|0,47)|0,Mx=k+(Mx<<2)|0,e[Mx>>2]=0,e[Mx+4>>2]=0,e[Mx+8>>2]=0,e[Mx+12>>2]=0,c=c+1|0;h&&(n[k+524304>>0]=0,M=8)}else n[k+524304>>0]&1&&Vx(k|0,0,524305)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(Mx=f+-3|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-2|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-1|0,Bx=d+(Mx&w)|0,Gx=Bx,Bx=Bx+4|0,Bx=Se(s[Gx>>0]|s[Gx+1>>0]<<8|s[Gx+2>>0]<<16|s[Gx+3>>0]<<24|0,s[Bx>>0]|s[Bx+1>>0]<<8|s[Bx+2>>0]<<16|s[Bx+3>>0]<<24|0,-1124073472,1979815)|0,Bx=Dx(Bx|0,v0|0,47)|0,e[k+(Bx+(Mx>>>3&3)<<2)>>2]=Mx),Rx=Xx+4|0,wx=Xx+8|0,gx=Xx+12|0,cx=Xx+12|0,ux=Xx+4|0,K0=Xx+8|0,j0=k+524312|0,Ex=k+524308|0,Wx=hx<<2,Yx=Z0+-7|0,Gx=xe+12|0,Bx=xe+4|0,Mx=xe+8|0,I0=xe+12|0,U0=xe+4|0,G0=xe+8|0,H0=e0+8|0,xx=e0+12|0,X0=e0+4|0,p=f,B0=$,c=j;x:for(;;){h0=B0,O0=q+Wx|0;e:for(;;){if(y0=Z0-p|0,(p+8|0)>>>0>=Z0>>>0)break x;if(D0=p>>>0<ex>>>0?p:ex,e[Xx>>2]=0,e[Rx>>2]=0,e[wx>>2]=0,e[gx>>2]=4240,w0=p&w,m0=d+w0|0,b0=m0,l=b0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,b0=b0+4|0,b0=Se(l|0,s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,-1124073472,1979815)|0,b0=Dx(b0|0,v0|0,47)|0,s0=l&255,t0=e[cx>>2]|0,j=e[e0>>2]|0,h=p-j|0,e[ux>>2]=0,h>>>0<p>>>0&&(Qx=h&w,(n[d+Qx>>0]|0)==(l&255)<<24>>24)){for(h=w0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=m0;!(l>>>0>h>>>0||(C0=d+(Qx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Qx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(f=(M*540|0)+3900|0,e[Xx>>2]=M,e[K0>>2]=j,e[cx>>2]=f,h=M,M=s[d+(w0+M)>>0]|0,l=1):(h=0,f=t0,M=s0,l=0)}else h=0,f=t0,M=s0,l=0;for(C0=w0+y0|0,d0=d+C0|0,C0=d+(C0+-4)|0,u0=k+(b0+1<<2)|0,l0=0,j=k+(b0<<2)|0;j=e[j>>2]|0,(l0|0)!=4;){if(s0=p-j|0,f0=j&w,!(((p|0)==(j|0)?1:(M|0)!=(s[d+(f0+h)>>0]|0))|s0>>>0>D0>>>0)){for(j=0,t0=m0;!(t0>>>0>C0>>>0||(lx=d+(f0+j)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)j=j+4|0,t0=t0+4|0;for(;!(t0>>>0>=d0>>>0||(n[d+(f0+j)>>0]|0)!=(n[t0>>0]|0));)j=j+1|0,t0=t0+1|0;j>>>0>3&&(Nx=(j*540|0)+3840+(rx((Ax(s0|0)|0)^31,-120)|0)|0,f>>>0<Nx>>>0)&&(e[Xx>>2]=j,e[K0>>2]=s0,e[cx>>2]=Nx,h=j,f=Nx,M=s[d+(w0+j)>>0]|0,l=1)}j=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[j0>>2]|0)>>>0<(e[Ex>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=1;){if(lx=o[21084+(t0<<1)>>1]|0,h=lx&65535,e[Ex>>2]=(e[Ex>>2]|0)+1,lx<<16>>16!=0&&(fx=h&31,nx=h>>>5,dx=(e[11272+(fx<<2)>>2]|0)+(rx(fx,nx)|0)|0,fx>>>0<=y0>>>0)){for(M=dx+fx|0,j=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+dx|0;!(h>>>0>M>>>0||(lx=d+(w0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(w0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=fx>>>0|(f|0)==0)&&(Lx=D0+nx+1+(s[407930+(fx-f)>>0]<<s[280786+fx>>0])|0,ae=(f*540|0)+3840+(rx((Ax(Lx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[cx>>2]|0)>>>0)&&(e[Xx>>2]=f,e[ux>>2]=fx^f,e[K0>>2]=Lx,e[cx>>2]=ae,e[j0>>2]=(e[j0>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(b0+(p>>>3&3)<<2)>>2]=p,l&1){h0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=q>>>0){p=h;continue}if(h>>>0>O0>>>0)for(l=p+17|0,l=l>>>0<Yx>>>0?l:Yx,p=h;;){if(p>>>0>=l>>>0)continue e;lx=d+(p&w)|0,y0=lx,lx=lx+4|0,lx=Se(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Yx>>>0?l:Yx,p=h;;){if(p>>>0>=l>>>0)continue e;lx=d+(p&w)|0,y0=lx,lx=lx+4|0,lx=Se(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(y0=y0+-1|0,(e[Fx>>2]|0)<5?(j=(e[Xx>>2]|0)+-1|0,j=j>>>0<y0>>>0?j:y0):j=0,e[xe>>2]=j,e[Bx>>2]=0,e[Mx>>2]=0,e[Gx>>2]=4240,f0=p+1|0,D0=f0>>>0<ex>>>0?f0:ex,w0=f0&w,m0=d+w0|0,b0=m0,l=b0,b0=b0+4|0,b0=Se(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0,s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0,-1124073472,1979815)|0,b0=Dx(b0|0,v0|0,47)|0,l=n[d+(w0+j)>>0]|0,s0=l&255,q=e[I0>>2]|0,t0=e[e0>>2]|0,h=f0-t0|0,e[U0>>2]=0,h>>>0<f0>>>0&&(Ox=h&w,l<<24>>24==(n[d+(Ox+j)>>0]|0))){for(h=w0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=m0;!(l>>>0>h>>>0||(lx=d+(Ox+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Ox+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(q=(M*540|0)+3900|0,e[xe>>2]=M,e[G0>>2]=t0,e[I0>>2]=q,h=M,M=s[d+(w0+M)>>0]|0,l=1):(h=j,M=s0,l=0)}else h=j,M=s0,l=0;for(C0=w0+y0|0,d0=d+C0|0,C0=d+(C0+-4)|0,u0=k+(b0+1<<2)|0,l0=0,f=k+(b0<<2)|0;f=e[f>>2]|0,(l0|0)!=4;){if(t0=f0-f|0,s0=f&w,!(((f0|0)==(f|0)?1:(M|0)!=(s[d+(s0+h)>>0]|0))|t0>>>0>D0>>>0)){for(f=0,j=m0;!(j>>>0>C0>>>0||(lx=d+(s0+f)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f=f+4|0,j=j+4|0;for(;!(j>>>0>=d0>>>0||(n[d+(s0+f)>>0]|0)!=(n[j>>0]|0));)f=f+1|0,j=j+1|0;f>>>0>3&&(bx=(f*540|0)+3840+(rx((Ax(t0|0)|0)^31,-120)|0)|0,q>>>0<bx>>>0)&&(e[xe>>2]=f,e[G0>>2]=t0,e[I0>>2]=bx,h=f,q=bx,M=s[d+(w0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[j0>>2]|0)>>>0<(e[Ex>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,j=(rx(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(lx=o[21084+(j<<1)>>1]|0,h=lx&65535,e[Ex>>2]=(e[Ex>>2]|0)+1,lx<<16>>16!=0&&(ax=h&31,De=h>>>5,A0=(e[11272+(ax<<2)>>2]|0)+(rx(ax,De)|0)|0,ax>>>0<=y0>>>0)){for(M=A0+ax|0,f=280811+M|0,M=280811+(M+-4)|0,q=0,h=280811+A0|0;!(h>>>0>M>>>0||(lx=d+(w0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(w0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=ax>>>0|(q|0)==0)&&(se=D0+De+1+(s[407930+(ax-q)>>0]<<s[280786+ax>>0])|0,Kx=(q*540|0)+3840+(rx((Ax(se|0)|0)^31,-120)|0)|0,Kx>>>0>=(e[I0>>2]|0)>>>0)&&(e[xe>>2]=q,e[U0>>2]=ax^q,e[G0>>2]=se,e[I0>>2]=Kx,e[j0>>2]=(e[j0>>2]|0)+1,l=1)}t0=t0+1|0,j=j+1|0}l=(l&1)!=0}l=l&1}if(e[k+(b0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,s0=c;break}if((e[Gx>>2]|0)>>>0<((e[gx>>2]|0)+700|0)>>>0){f0=p,s0=c;break}if(c=c+1|0,e[Xx>>2]=e[xe>>2],e[Xx+4>>2]=e[xe+4>>2],e[Xx+8>>2]=e[xe+8>>2],e[Xx+12>>2]=e[xe+12>>2],h0=h0+1|0,(h0|0)<4&(p+9|0)>>>0<Z0>>>0)p=f0;else{s0=c;break}}p=e[Xx>>2]|0,q=f0+(p<<1)+hx|0,c=e[wx>>2]|0;e:do if(c>>>0<=(f0>>>0<ex>>>0?f0:ex)>>>0)if(M=c+3|0,lx=e[e0>>2]|0,l=M-lx|0,h=e[X0>>2]|0,M=M-h|0,(c|0)==(lx|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(M>>>0<7){c=266017486>>>(M<<2)&15;break}if((c|0)==(e[H0>>2]|0)){c=2;break t}if((c|0)==(e[xx>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[xx>>2]=e[H0>>2],e[H0>>2]=e[X0>>2],e[X0>>2]=e[e0>>2],e[e0>>2]=e[wx>>2],p=e[Xx>>2]|0}else c=c+15|0;while(!1);t0=B0+16|0,lx=e[Rx>>2]|0,l=p^lx,e[B0>>2]=s0,e[B0+4>>2]=p|lx<<24,p=B0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(h0=c+-12|0,lx=((Ax(h0|0)|0)^31)+-1|0,O0=h0>>>lx&1,c=((lx<<1)+65534|O0)+16&65535,o[p>>1]=c,p=lx<<24|h0-((O0|2)<<lx)),e[B0+8>>2]=p,f=c<<16>>16==0,j=B0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){lx=s0+-2|0,M=((Ax(lx|0)|0)^31)+-1|0,M=(M<<1)+(lx>>>M)+2&65535;break}if(s0>>>0<2114){M=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?M=21:M=s0>>>0<22594?22:23}else M=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){lx=l+-6|0,c=((Ax(lx|0)|0)^31)+-1|0,c=(c<<1)+(lx>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=M&65535,h=p&7|l<<3&56,f&(M&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[Xx>>2]|0)|0,c=c>>>0<mx>>>0?c:mx,p=f0+2|0;!(p>>>0>=c>>>0);)lx=d+(p&w)|0,B0=lx,lx=lx+4|0,lx=Se(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=Dx(lx|0,v0|0,47)|0,e[k+(lx+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Xx>>2]|0)|0,B0=t0,c=0}e[a0>>2]=c+y0,e[x0>>2]=(e[x0>>2]|0)+(h0-$>>4),c0=ue}function FG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,M=8)}else c=k+1081344|0,n[c>>0]&1&&(Vx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,mx=k+(ex<<1)|0,e[k+32768+((_[mx>>1]&15|ex<<4)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,cx=fx+12|0,ux=k+1081352|0,K0=k+1081348|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=4;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[cx>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<4,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>16?M+-16|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+32768+((C0|M&15)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[cx>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&15)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[cx>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[cx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<4,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>16?l+-16|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+32768+((C0|l&15)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&15)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&15|tx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function OG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,M=8)}else c=k+2129920|0,n[c>>0]&1&&(Vx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,mx=k+(ex<<1)|0,e[k+32768+((_[mx>>1]&31|ex<<5)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,cx=fx+12|0,ux=k+2129928|0,K0=k+2129924|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=4;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[cx>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<5,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>32?M+-32|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+32768+((C0|M&31)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[cx>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&31)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[cx>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[cx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,C0=m0<<5,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>32?l+-32|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+32768+((C0|l&31)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+32768+((C0|M0&31)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>18,M0=k+(tx<<1)|0,e[k+32768+((_[M0>>1]&31|tx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function PG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0;var M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0,we=0,Ux=0,Fe=0,oe=0,px=0,T0=0,tx=0,M0=0;if(dx=c0,c0=c0+32|0,fx=dx+16|0,nx=dx,Qx=(1<<e[p+8>>2])+-16|0,j=e[a0>>2]|0,Nx=f+h|0,ue=h>>>0>3?Nx+-3|0:f,xe=p+4|0,Xx=(e[xe>>2]|0)<9?64:512,q=Xx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((rx(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,M=8)}else c=k+8454144|0,n[c>>0]&1&&(Vx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(mx=f+-3|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,mx=k+(ex<<1)|0,e[k+65536+((_[mx>>1]&63|ex<<6)<<2)>>2]=Z0,o[mx>>1]=(o[mx>>1]|0)+1<<16>>16,mx=f+-1|0,ex=d+(mx&w)|0,ex=(rx(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=mx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=fx+4|0,X0=fx+8|0,Rx=fx+12|0,wx=fx+4|0,gx=fx+8|0,cx=fx+12|0,ux=k+8454152|0,K0=k+8454148|0,j0=Xx<<2,Ex=Nx+-4|0,Wx=Nx+-3|0,Yx=nx+12|0,Gx=nx+4|0,Bx=nx+8|0,Mx=nx+4|0,hx=nx+8|0,Fx=nx+12|0,mx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,H0=$,c=j;x:for(;;){U0=H0,G0=q+j0|0;e:for(;;){if(I0=Nx-p|0,(p+4|0)>>>0>=Nx>>>0)break x;for(O0=p>>>0<Qx>>>0?p:Qx,e[fx>>2]=0,e[xx>>2]=0,e[X0>>2]=0,e[Rx>>2]=4240,B0=p&w,h=e[fx>>2]|0,e[fx>>2]=0,e[wx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,f0=4240,l=0,s0=0;(s0|0)!=10;){t0=(e[e0+(e[11372+(s0<<2)>>2]<<2)>>2]|0)+(e[11436+(s0<<2)>>2]|0)|0,M=p-t0|0;do if(!(M>>>0>=p>>>0|t0>>>0>O0>>>0)&&(Lx=M&w,ae=B0+h|0,ae>>>0<=w>>>0)&&(Ox=Lx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=w0;f=M,!(f>>>0>y0>>>0||(m0=M,D0=d+(Lx+j)|0,(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=b0>>>0||(n[d+(Lx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&s0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(s0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[fx>>2]=j,e[gx>>2]=t0,e[cx>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,s0=s0+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<6,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,M=D0&65535,D0=(D0&65535)>64?M+-64|0:0;t:for(;;){for(d0=B0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(M>>>0<=D0>>>0||(M=M+-1|0,f=e[k+65536+((C0|M&63)<<2)>>2]|0,l0=p-f|0,l0>>>0>O0>>>0))break t;if(s0=f&w,!u0&&(f=s0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,tx=d+(s0+t0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)));)t0=t0+4|0,f=j+4|0;for(;!(f>>>0>=b0>>>0||(n[d+(s0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[fx>>2]=t0,e[gx>>2]=l0,e[cx>>2]=f,h=t0,f0=f,l=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&63)<<2)>>2]=p,o[m0>>1]=M0+1<<16>>16,!(l&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)l=0;else{for(s0=0,l=0,t0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(s0|0)!=2;){if(M0=o[21084+(t0<<1)>>1]|0,M=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(bx=M&31,ax=M>>>5,De=(e[11272+(bx<<2)>>2]|0)+(rx(bx,ax)|0)|0,bx>>>0<=I0>>>0)){for(h=De+bx|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+De|0;!(M>>>0>h>>>0||(M0=d+(B0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(B0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=bx>>>0|(f|0)==0)&&(A0=O0+ax+1+(s[407930+(bx-f)>>0]<<s[280786+bx>>0])|0,se=(f*540|0)+3840+(rx((Ax(A0|0)|0)^31,-120)|0)|0,se>>>0>=(e[cx>>2]|0)>>>0)&&(e[fx>>2]=f,e[wx>>2]=bx^f,e[gx>>2]=A0,e[cx>>2]=se,e[ux>>2]=(e[ux>>2]|0)+1,l=1)}s0=s0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,s0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>G0>>>0)for(l=p+17|0,l=l>>>0<Ex>>>0?l:Ex,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=M;;){if(p>>>0>=l>>>0)continue e;tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(I0=I0+-1|0,(e[xe>>2]|0)<5?(c=(e[fx>>2]|0)+-1|0,c=c>>>0<I0>>>0?c:I0):c=0,e[nx>>2]=c,e[Gx>>2]=0,e[Bx>>2]=0,e[Yx>>2]=4240,f0=p+1|0,O0=f0>>>0<Qx>>>0?f0:Qx,B0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Mx>>2]=0,h0=d+B0|0,y0=B0+I0|0,b0=d+y0|0,w0=h0,y0=d+(y0+-4)|0,t0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>O0>>>0)&&(Kx=l&w,lx=B0+M|0,lx>>>0<=w>>>0)&&(we=Kx+M|0,we>>>0<=w>>>0)&&(n[d+lx>>0]|0)==(n[d+we>>0]|0)){for(q=0,l=w0;h=l,!(h>>>0>y0>>>0||(tx=l,M0=d+(Kx+q)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=b0>>>0||(n[d+(Kx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=t0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[nx>>2]=q,e[hx>>2]=f,e[Fx>>2]=l,M=q,c=1):l=t0}else l=t0;while(!1);t0=l,j=j+1|0}m0=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,C0=m0<<6,m0=k+(m0<<1)|0,D0=o[m0>>1]|0,l=D0&65535,D0=(D0&65535)>64?l+-64|0:0;e:for(;;){for(d0=B0+M|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=D0>>>0||(l=l+-1|0,h=e[k+65536+((C0|l&63)<<2)>>2]|0,l0=f0-h|0,l0>>>0>O0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;q=h,!(q>>>0>y0>>>0||(tx=h,M0=d+(j+f)|0,(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=b0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(rx((Ax(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[nx>>2]=f,e[hx>>2]=l0,e[Fx>>2]=h,M=f,t0=h,c=1}if(M0=o[m0>>1]|0,e[k+65536+((C0|M0&63)<<2)>>2]=f0,o[m0>>1]=M0+1<<16>>16,!(c&1)){if((e[ux>>2]|0)>>>0<(e[K0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(rx(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[K0>>2]=(e[K0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Fe=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(rx(Ux,Fe)|0)|0,Ux>>>0<=I0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(B0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(B0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(px=O0+Fe+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,T0=(h*540|0)+3840+(rx((Ax(px|0)|0)^31,-120)|0)|0,T0>>>0>=(e[Fx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Mx>>2]=Ux^h,e[hx>>2]=px,e[Fx>>2]=T0,e[ux>>2]=(e[ux>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Yx>>2]|0)>>>0<((e[Rx>>2]|0)+700|0)>>>0){f0=p;break}if(c=s0+1|0,e[fx>>2]=e[nx>>2],e[fx+4>>2]=e[nx+4>>2],e[fx+8>>2]=e[nx+8>>2],e[fx+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Nx>>>0)p=f0,s0=c;else{s0=c;break}}p=e[fx>>2]|0,q=f0+(p<<1)+Xx|0,c=e[X0>>2]|0;e:do if(c>>>0<=(f0>>>0<Qx>>>0?f0:Qx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[mx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[mx>>2],e[mx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[X0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=H0+16|0,M0=e[xx>>2]|0,l=p^M0,e[H0>>2]=s0,e[H0+4>>2]=p|M0<<24,p=H0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(G0=c+-12|0,M0=((Ax(G0|0)|0)^31)+-1|0,tx=G0>>>M0&1,c=((M0<<1)+65534|tx)+16&65535,o[p>>1]=c,p=M0<<24|G0-((tx|2)<<M0)),e[H0+8>>2]=p,f=c<<16>>16==0,j=H0+12|0;do if(s0>>>0>=6){if(s0>>>0<130){M0=s0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(s0>>>0<2114){h=((Ax(s0+-66|0)|0)^31)+10&65535;break}s0>>>0<6210?h=21:h=s0>>>0<22594?22:23}else h=s0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[n0>>2]=(e[n0>>2]|0)+s0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)tx=d+(p&w)|0,tx=(rx(s[tx>>0]|s[tx+1>>0]<<8|s[tx+2>>0]<<16|s[tx+3>>0]<<24,506832829)|0)>>>17,M0=k+(tx<<1)|0,e[k+65536+((_[M0>>1]&63|tx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[fx>>2]|0)|0,H0=t0,c=0}e[a0>>2]=c+I0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=dx}function IG(c,h,f,l,d,w,p,k,e0,a0,$,x0,n0,M,q,j,t0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0,x0=x0|0,n0=n0|0,M=M|0,q=q|0,j=j|0,t0=t0|0;var s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0,Ex=0,Wx=0,Yx=0,Gx=0,Bx=0,Mx=0,hx=0,Fx=0,mx=0,ex=0,Z0=0,Xx=0,xe=0,ue=0,Qx=0,Nx=0,fx=0,nx=0,dx=0,Lx=0,ae=0,Ox=0,bx=0,ax=0,De=0,A0=0,se=0,Kx=0,lx=0;if(se=c0,c0=c0+12768|0,bx=se+7760|0,dx=se+4928|0,Lx=se+2096|0,B0=se+12504|0,O0=se+10968|0,f0=se,u0=se+12248|0,l0=se+10456|0,w0=se+11544|0,D0=se+9048|0,y0=se+11480|0,b0=se+8920|0,Ox=se+8808|0,U0=se+8804|0,I0=se+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(A0=Dx(l|0,d|0,30)|0,A0=l&1073741823|((A0&1^1)<<30)+1073741824):A0=l,!w){f=e[j>>2]|0,t0=t0+(f>>>3)|0,x0=s[t0>>0]|0,f=Ix(3,0,f&7|0)|0,M=v0,f=x0|f,x0=t0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,t0=t0+4|0,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>24,e[j>>2]=(e[j>>2]|0)+9&-8,c0=se;return}if(!(_m(h,f,l,d,w,$,x0)|0)){e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],Qu(p,h,A0,f,w,j,t0),c0=se;return}if(ax=n[t0>>0]|0,De=e[j>>2]|0,ae=k+4|0,l=e[ae>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(s0=0;(s0|0)!=(x0|0);){do if((e[n0+(s0<<4)+4>>2]&16777215|0)!=0&&(_[n0+(s0<<4)+12>>1]|0)>127){if($=n0+(s0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=n0+(s0<<4)+8|0,nx=e[d>>2]|0,fx=nx>>>24,l=((l&65535)+-12-(fx<<1)<<fx)+(nx&16777215)+12|0,l>>>0>=28){Nx=l+-20|0,Qx=(Ax(Nx|0)|0)^31,nx=Qx+-1|0,fx=Nx>>>nx&1,Qx=Qx+-2|0,o[$>>1]=(((Qx<<1)+32766|fx)<<1)+28|Nx&1,e[d>>2]=Qx<<24|(Nx-((fx|2)<<nx)|0)>>>1;break}}else d=n0+(s0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);s0=s0+1|0}l=e[ae>>2]|0,d=1,$=12,m0=19}else nx=0,fx=0,m0=38;else d=0,$=0,m0=19;do if((m0|0)==19){if((l|0)>=3){if((l|0)>=4){nx=d,fx=$,m0=38;break}k4(p,w,j,t0),Vx(bx|0,0,1028)|0,i0[bx+1032>>3]=Q0,Vx(dx|0,0,2820)|0,i0[dx+2824>>3]=Q0,Vx(Lx|0,0,2084)|0,i0[Lx+2088>>3]=Q0,ym(h,A0,f,n0,x0,bx,dx,Lx),l=t0+((e[j>>2]|0)>>>3)|0,a0=s[l>>0]|0,d=l,n[d>>0]=a0,n[d+1>>0]=a0>>8,n[d+2>>0]=a0>>16,n[d+3>>0]=a0>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,l=c+8|0,d=Tx[e[c>>2]&1](e[l>>2]|0,11272)|0,d||Px(1),Hr(bx,256,d,B0,O0,j,t0),Hr(dx,704,d,w0,D0,j,t0),Hr(Lx,64,d,y0,b0,j,t0),vx[e[c+4>>2]&1](e[l>>2]|0,d),O4(h,A0,f,n0,x0,B0,O0,w0,D0,y0,b0,j,t0),p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0);break}if(k4(p,w,j,t0),a0=t0+((e[j>>2]|0)>>>3)|0,Ox=s[a0>>0]|0,e0=a0,n[e0>>0]=Ox,n[e0+1>>0]=Ox>>8,n[e0+2>>0]=Ox>>16,n[e0+3>>0]=Ox>>24,a0=a0+4|0,n[a0>>0]=0,n[a0+1>>0]=0,n[a0+2>>0]=0,n[a0+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,x0>>>0<129){for(Vx(bx|0,0,1024)|0,$=0,s0=A0,l0=0;(l0|0)!=(x0|0);){for(l=e[n0+(l0<<4)>>2]|0,d=e[n0+(l0<<4)+4>>2]|0,f0=s0,u0=l;u0;)a0=bx+((s[h+(f0&f)>>0]|0)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,s0=s0+l+(d&16777215)|0,l0=l0+1|0}uo(c,bx,$,8,B0,O0,j,t0),bx=e[j>>2]|0,e0=t0+(bx>>>3)|0,c=s[e0>>0]|0,bx=Ix(372273155,9593412,bx&7|0)|0,a0=v0,bx=c|bx,c=e0,n[c>>0]=bx,n[c+1>>0]=bx>>8,n[c+2>>0]=bx>>16,n[c+3>>0]=bx>>24,e0=e0+4|0,n[e0>>0]=a0,n[e0+1>>0]=a0>>8,n[e0+2>>0]=a0>>16,n[e0+3>>0]=a0>>24,e0=(e[j>>2]|0)+56|0,e[j>>2]=e0,e0=t0+(e0>>>3)|0,a0=s[e0>>0]|0,c=e0,n[c>>0]=a0,n[c+1>>0]=a0>>8,n[c+2>>0]=a0>>16,n[c+3>>0]=a0>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e0=(e[j>>2]|0)+3|0,e[j>>2]=e0,c=t0+(e0>>>3)|0,a0=s[c>>0]|0,e0=Ix(57269251,0,e0&7|0)|0,bx=v0,e0=a0|e0,a0=c,n[a0>>0]=e0,n[a0+1>>0]=e0>>8,n[a0+2>>0]=e0>>16,n[a0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=bx,n[c+1>>0]=bx>>8,n[c+2>>0]=bx>>16,n[c+3>>0]=bx>>24,e[j>>2]=(e[j>>2]|0)+28,O4(h,A0,f,n0,x0,B0,O0,404412,86620,405116,88028,j,t0)}else Vx(dx|0,0,1028)|0,i0[dx+1032>>3]=Q0,Vx(Lx|0,0,2820)|0,i0[Lx+2824>>3]=Q0,Vx(f0|0,0,2084)|0,i0[f0+2088>>3]=Q0,ym(h,A0,f,n0,x0,dx,Lx,f0),uo(c,dx,e[dx+1024>>2]|0,8,u0,l0,j,t0),uo(c,Lx,e[Lx+2816>>2]|0,10,w0,D0,j,t0),uo(c,f0,e[f0+2080>>2]|0,6,y0,b0,j,t0),O4(h,A0,f,n0,x0,u0,l0,w0,D0,y0,b0,j,t0);p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0)}while(!1);if((m0|0)==38){Mx=Ox+8|0,hx=Ox+12|0,b0=Ox+24|0,Bx=Ox+28|0,e[Ox>>2]=0,e[Ox+4>>2]=0,e[Ox+8>>2]=0,e[Ox+12>>2]=0,e[Ox+16>>2]=0,e[Ox+20>>2]=0,e[Ox+24>>2]=0,Fx=Ox+32|0,mx=Ox+36|0,y0=Ox+48|0,e[Bx>>2]=0,e[Bx+4>>2]=0,e[Bx+8>>2]=0,e[Bx+12>>2]=0,e[Bx+16>>2]=0,e[y0>>2]=0,Bx=Ox+52|0,ex=Ox+56|0,Z0=Ox+60|0,Xx=Ox+72|0,e[Bx>>2]=0,e[Bx+4>>2]=0,e[Bx+8>>2]=0,e[Bx+12>>2]=0,e[Bx+16>>2]=0,Bx=Ox+76|0,xe=Ox+80|0,ue=Ox+88|0,w0=Ox+92|0,Qx=Ox+96|0,O0=Ox+100|0,Nx=Ox+104|0,B0=Ox+108|0,d=(l|0)<10,$=Xx,s0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(s0|0));do if(d){if(e[U0>>2]=1,e[I0>>2]=0,!((l|0)<5|w>>>0<64)){l0=A0+w|0,$=Lx,s0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(s0|0));for(f0=A0;s0=f0+64|0,!(s0>>>0>l0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=s0>>>0);)Gx=s[h+(d&f)>>0]|0,Yx=Lx+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(Gx>>>6<<2)>>2]|0)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+1,$=Gx;f0=f0+4096|0}for(e[bx>>2]=0,e[bx+4>>2]=0,e[bx+8>>2]=0,e[dx>>2]=0,e[dx+4>>2]=0,e[dx+8>>2]=0,e[dx+12>>2]=0,e[dx+16>>2]=0,e[dx+20>>2]=0,d=0,D0=0;(d|0)!=9;)Gx=e[Lx+(d<<2)>>2]|0,Yx=bx+(((d>>>0)%3|0)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+Gx,Yx=dx+((d>>>0>5?d+-6|0:d)<<2)|0,e[Yx>>2]=(e[Yx>>2]|0)+Gx,d=d+1|0,D0=D0+Gx|0;for(l0=bx+12|0,f0=bx,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=l0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=u0+d|0;for(u0?(C0=+(u0>>>0),u0>>>0<256?d0=+r0[19516+(u0<<2)>>2]:d0=+Jx(C0),j0=h0+C0*d0):j0=h0,m0=dx+12|0,f0=dx,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=m0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=l0+d|0;for(l0?(C0=+(l0>>>0),l0>>>0<256?d0=+r0[19516+(l0<<2)>>2]:d0=+Jx(C0),ux=h0+C0*d0):ux=h0,u0=dx+24|0,f0=m0,h0=0,d=0;s0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),h0=h0-C0*d0,!(s0>>>0>=u0>>>0);)d=e[s0>>2]|0,d0=+(d>>>0),d>>>0<256?C0=+r0[19516+(d<<2)>>2]:C0=+Jx(d0),f0=f0+8|0,h0=h0-d0*C0,d=l0+d|0;for(l0?(C0=+(l0>>>0),l0>>>0<256?d0=+r0[19516+(l0<<2)>>2]:d0=+Jx(C0),G0=h0+C0*d0):G0=h0,H0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,s0=Lx+($+3<<2)|0,$=Lx+($<<2)|0,h0=0,d=0;f0=$+4|0,$=e[$>>2]|0,l0=d+$|0,C0=+($>>>0),$>>>0<256?d0=+r0[19516+($<<2)>>2]:d0=+Jx(C0),d0=h0-C0*d0,!(f0>>>0>=s0>>>0);)d=e[f0>>2]|0,C0=+(d>>>0),d>>>0<256?h0=+r0[19516+(d<<2)>>2]:h0=+Jx(C0),$=f0+4|0,h0=d0-C0*h0,d=l0+d|0;l0&&(h0=+(l0>>>0),l0>>>0<256?C0=+r0[19516+(l0<<2)>>2]:C0=+Jx(h0),d0=d0+h0*C0),H0=H0+d0,u0=u0+1|0}D0||V0(406445,406053,339,406456),d0=1/+(D0>>>0),j0=j0*d0,C0=(ux+G0)*d0,d0=(l|0)<7?j0*10:H0*d0;do if(j0-C0<.2&j0-d0<.2)e[U0>>2]=1;else if(C0-d0<.02){e[U0>>2]=2,e[I0>>2]=18916;break}else{e[U0>>2]=3,e[I0>>2]=19172;break}while(!1);if(Gx=e[I0>>2]|0,wx=Gx,Gx){for(Gx=e[U0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[n0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[bx>>2]=256,e[bx+4>>2]=Gx,m0=256/(Gx>>>0)|0,e[bx+8>>2]=m0,e[bx+12>>2]=512,i0[bx+16>>3]=400,e[bx+24>>2]=0,e[bx+28>>2]=Ox,e[bx+36>>2]=w0,Ex=bx+40|0,e[Ex>>2]=512,Wx=bx+44|0,e[Wx>>2]=0,Yx=bx+48|0,e[Yx>>2]=0,e[bx+64>>2]=0,m0=m0+1|0,m0=u0>>>0<m0>>>0?u0:m0,l0=Ox+16|0,l=e[l0>>2]|0,l>>>0<u0>>>0){for(f0=(l|0)==0?u0:l;!(f0>>>0>=u0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+8|0,s0&&$x($|0,e[l>>2]|0,s0|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(f0=Ox+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(s0=(l|0)==0?u0:l;!(s0>>>0>=u0>>>0);)s0=s0<<1;l0=c+8|0,d=Tx[e[c>>2]&1](e[l0>>2]|0,s0<<2)|0,d||Px(1),$=e[f0>>2]|0,l=Ox+12|0,$&&$x(d|0,e[l>>2]|0,$<<2|0)|0,vx[e[c+4>>2]&1](e[l0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=s0,K0=c}else K0=c,l0=c+8|0;for(e[Ox+4>>2]=u0,l=Tx[e[K0>>2]&1](e[l0>>2]|0,Gx<<4)|0,l||Px(1),cx=bx+60|0,e[cx>>2]=l,e[ue>>2]|0&&V0(407776,406802,255,407793),d=rx(m0,Gx)|0,e[w0>>2]=d,d=Tx[e[K0>>2]&1](e[l0>>2]|0,d*1040|0)|0,l=d,d||Px(1),e[ue>>2]=l,gx=bx+32|0,e[gx>>2]=l,l=0;(l|0)!=(Gx|0);)Vx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,i0[d+(l*1040|0)+1032>>3]=Q0,l=l+1|0;for(e[bx+56>>2]=0,e[bx+52>>2]=0,qm(c,dx,x0,b0,Qx,O0),Gm(c,Lx,x0,y0,Nx,B0),U0=dx+40|0,xx=dx+24|0,X0=dx+36|0,Rx=dx+32|0,y0=Lx+40|0,O0=Lx+24|0,B0=Lx+36|0,k=Lx+32|0,$=A0,d=e0,l=a0,I0=0;(I0|0)!=(x0|0);){for(m0=e[n0+(I0<<4)>>2]|0,D0=e[n0+(I0<<4)+4>>2]|0,s0=e[n0+(I0<<4)+12>>2]|0,w0=s0&65535,b0=s0>>>16,u0=e[U0>>2]|0,f0=e[xx>>2]|0,s0=f0+(u0*2832|0)+((s0&65535)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[X0>>2]|0)+1|0,e[X0>>2]=u0,(u0|0)==(e[Rx>>2]|0)?(Ju(dx,0),u0=$,f0=m0):(u0=$,f0=m0);f0;)s0=n[h+(u0&f)>>0]|0,l=(e[Yx>>2]|0)+(e[wx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Kx=e[gx>>2]|0,lx=Kx+(l*1040|0)+((s0&255)<<2)|0,e[lx>>2]=(e[lx>>2]|0)+1,l=Kx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[Wx>>2]|0)+1|0,e[Wx>>2]=l,(l|0)==(e[Ex>>2]|0)&&Vm(c,bx,0),l=d,u0=u0+1|0,d=s0,f0=f0+-1|0;lx=D0&16777215,$=$+m0+lx|0;do if(lx){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(w0&65535)<=127||(lx=e[y0>>2]|0,Kx=e[O0>>2]|0,b0=Kx+(lx*2096|0)+(b0<<2)|0,e[b0>>2]=(e[b0>>2]|0)+1,lx=Kx+(lx*2096|0)+2080|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[B0>>2]|0)+1|0,e[B0>>2]=lx,(lx|0)!=(e[k>>2]|0)))break;Zu(Lx,0)}while(!1);I0=I0+1|0}for(Vm(c,bx,1),vx[e[c+4>>2]&1](e[l0>>2]|0,e[cx>>2]|0),e[cx>>2]=0,Ju(dx,1),Zu(Lx,1),e[Xx>>2]|0&&V0(406853,406802,473,407737),l=e[Ox>>2]|0,e[Bx>>2]=l<<6,l=Tx[e[K0>>2]&1](e[l0>>2]|0,l<<8)|0,l||Px(1),e[Xx>>2]=l,$=0;!($>>>0>=(e[Ox>>2]|0)>>>0);){for(l=rx($,Gx)|0,d=$<<6,s0=0;(s0|0)!=64;)e[(e[Xx>>2]|0)+(d+s0<<2)>>2]=l+(e[wx+(s0<<2)>>2]|0),s0=s0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[n0+(d<<4)>>2]|0)|0,d=d+1|0;if(m0=(l>>>9)+1|0,u0=m0>>>0<257?m0:257,e[bx>>2]=256,e[bx+4>>2]=512,i0[bx+8>>3]=400,e[bx+16>>2]=0,D0=bx+20|0,e[D0>>2]=Ox,e[bx+28>>2]=w0,xx=bx+32|0,e[xx>>2]=512,X0=bx+36|0,e[X0>>2]=0,Rx=bx+40|0,e[Rx>>2]=0,e[bx+72>>2]=0,l0=Ox+16|0,l=e[l0>>2]|0,l>>>0<m0>>>0){for(f0=(l|0)==0?m0:l;!(f0>>>0>=m0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+8|0,s0&&$x($|0,e[l>>2]|0,s0|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(l0=Ox+20|0,l=e[l0>>2]|0,l>>>0<m0>>>0){for(f0=(l|0)==0?m0:l;!(f0>>>0>=m0>>>0);)f0=f0<<1;d=c+8|0,$=Tx[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||Px(1),s0=e[l0>>2]|0,l=Ox+12|0,s0&&$x($|0,e[l>>2]|0,s0<<2|0)|0,vx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}for(e[(e[D0>>2]|0)+4>>2]=m0,e[ue>>2]|0&&V0(407776,407818,70,407905),e[w0>>2]=u0,l=Tx[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||Px(1),e[ue>>2]=d,U0=bx+24|0,e[U0>>2]=d,Vx(l|0,0,1024)|0,e[l+1024>>2]=0,i0[l+1032>>3]=Q0,e[bx+48>>2]=0,e[bx+44>>2]=0,qm(c,dx,x0,b0,Qx,O0),Gm(c,Lx,x0,y0,Nx,B0),l0=dx+40|0,u0=dx+24|0,m0=dx+36|0,D0=dx+32|0,w0=Lx+40|0,b0=Lx+24|0,y0=Lx+36|0,O0=Lx+32|0,l=A0,I0=0;(I0|0)!=(x0|0);){for($=e[n0+(I0<<4)>>2]|0,s0=e[n0+(I0<<4)+4>>2]|0,Bx=e[n0+(I0<<4)+12>>2]|0,B0=Bx&65535,k=Bx>>>16,lx=e[l0>>2]|0,Kx=e[u0>>2]|0,Bx=Kx+(lx*2832|0)+((Bx&65535)<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*2832|0)+2816|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[m0>>2]|0)+1|0,e[m0>>2]=lx,(lx|0)==(e[D0>>2]|0)?(Ju(dx,0),d=l,f0=$):(d=l,f0=$);f0;)lx=e[Rx>>2]|0,Kx=e[U0>>2]|0,Bx=Kx+(lx*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*1040|0)+1024|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[X0>>2]|0)+1|0,e[X0>>2]=lx,(lx|0)==(e[xx>>2]|0)&&jm(bx,0),d=d+1|0,f0=f0+-1|0;lx=s0&16777215,l=l+$+lx|0,(lx|0)!=0&(B0&65535)>127&&(lx=e[w0>>2]|0,Kx=e[b0>>2]|0,Bx=Kx+(lx*2096|0)+(k<<2)|0,e[Bx>>2]=(e[Bx>>2]|0)+1,lx=Kx+(lx*2096|0)+2080|0,e[lx>>2]=(e[lx>>2]|0)+1,lx=(e[y0>>2]|0)+1|0,e[y0>>2]=lx,(lx|0)==(e[O0>>2]|0))&&Zu(Lx,0),I0=I0+1|0}jm(bx,1),Ju(dx,1),Zu(Lx,1),l=2}else l=R4(h,A0,f,w)|0,l=l?2:3,Um(c,h,A0,f,k,e0,a0,n0,x0,l,Ox);while(!1);(e[ae>>2]|0)>3&&Hm(fx,nx,Ox),hm(c,h,A0,w,f,e0,a0,p,fx,nx,l,n0,x0,Ox,j,t0),Kx=c+4|0,lx=c+8|0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+8>>2]|0),e[Mx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[hx>>2]|0),e[hx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+32>>2]|0),e[Fx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[mx>>2]|0),e[mx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Ox+56>>2]|0),e[ex>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Xx>>2]|0),e[Xx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[xe>>2]|0),e[xe>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[ue>>2]|0),e[ue>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Qx>>2]|0),e[Qx>>2]=0,vx[e[Kx>>2]&1](e[lx>>2]|0,e[Nx>>2]|0),e[Nx>>2]=0}if((w+4|0)>>>0>=(e[j>>2]|0)>>>3>>>0){c0=se;return}e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],n[t0>>0]=ax,e[j>>2]=De&255,Qu(p,h,A0,f,w,j,t0),c0=se}function Rm(c){c=c|0;var h=0,f=0,l=0,d=0,w=0;f=c+192|0,l=s[f>>0]|0,w=c+193|0,d=s[w>>0]|0,n[f>>0]=0,n[w>>0]=0,w=6<<d,f=c+5216|0,h=e[f>>2]|0,h?h=h+(e[c+5220>>2]|0)|0:(h=c+5228|0,e[f>>2]=h),n[h>>0]=l|w,(d+6|0)>>>0>8&&(n[h+1>>0]=w>>>8),c=c+5220|0,e[c>>2]=(e[c>>2]|0)+((d+13|0)>>>3)}function _m(c,h,f,l,d,w,p){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0;var k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0;if(q=c0,c0=c0+1024|0,n0=q,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Vx(n0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=n0+((s[c+(l&h)>>0]|0)<<2)|0,e[f>>2]=(e[f>>2]|0)+1,l=l+13|0,p=p+1|0;for(M=k/13,d=n0+1024|0,l=n0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+r0[19516+(p<<2)>>2]:x0=+Jx(e0),w=e[l+4>>2]|0,a0=+(w>>>0),w>>>0<256?$=+r0[19516+(w<<2)>>2]:$=+Jx(a0),l=l+8|0,k=k-e0*x0-a0*$,f=f+p+w|0;if(a0=+(f>>>0),f?(f>>>0<256?e0=+r0[19516+(f<<2)>>2]:e0=+Jx(a0),$=a0,k=k+a0*e0):$=a0,(k<$?$:k)>M)return n0=0,c0=q,n0|0}return n0=1,c0=q,n0|0}function Nm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0;e0=c0,c0=c0+64|0,k=e0,(l|0)>=16&&V0(406658,406674,26,406709),e[k>>2]=-1,d=0;x:for(;;){if(w=o[h+(c<<3)+4>>1]|0,w<<16>>16>-1){if(p=d+1|0,(d|0)>=(l|0)){d=0,c=12;break}e[k+(p<<2)>>2]=o[h+(c<<3)+6>>1],d=p,c=w<<16>>16;continue}for(n[f+(o[h+(c<<3)+6>>1]|0)>>0]=d;;){if((d|0)<=-1){d=1,c=12;break x}if((e[k+(d<<2)>>2]|0)!=-1)break;d=d+-1|0}p=k+(d<<2)|0,c=e[p>>2]|0,e[p>>2]=-1}return(c|0)==12?(c0=e0,d|0):0}function lo(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0;for(l0=c0,c0=c0+16|0,t0=l0+8|0,s0=l0,j=1;;){w=h,q=0;x:for(;;){do{if(!w)break x;w=w+-1|0,p=e[c+(w<<2)>>2]|0}while((p|0)==0);e[l+(q<<3)>>2]=p>>>0>j>>>0?p:j,o[l+(q<<3)+4>>1]=-1,o[l+(q<<3)+6>>1]=w,q=q+1|0}if((q|0)==1)break;x:do if(q>>>0<13)for($=1;;){if($>>>0>=q>>>0)break x;for(a0=l+($<<3)|0,e0=e[a0>>2]|0,a0=e[a0+4>>2]|0,k=t0,e[k>>2]=e0,e[k+4>>2]=a0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(Lm(t0,p)|0);)if(x0=p,n0=e[x0+4>>2]|0,M=l+(w<<3)|0,e[M>>2]=e[x0>>2],e[M+4>>2]=n0,!k){w=0;break}M=l+(w<<3)|0,e[M>>2]=e0,e[M+4>>2]=a0,$=$+1|0}else for(x0=q>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,n0=w;!(n0>>>0>=q>>>0);){for(k=l+(n0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=s0,e[$>>2]=p,e[$+4>>2]=k,$=n0;!($>>>0<w>>>0||(e0=$-w|0,a0=l+(e0<<3)|0,!(Lm(s0,a0)|0)));)u0=a0,a0=e[u0+4>>2]|0,M=l+($<<3)|0,e[M>>2]=e[u0>>2],e[M+4>>2]=a0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,n0=n0+1|0}x0=x0+1|0}while(!1);for(a0=l+(q<<3)|0,e[a0>>2]=-1,e[a0+4>>2]=-1,a0=q+1|0,M=l+(a0<<3)|0,e[M>>2]=-1,e[M+4>>2]=-1,M=q<<1,e0=0,w=q;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(a0<<3)>>2]|0,k>>>0>p>>>0?(n0=a0+1|0,p=e[l+(n0<<3)>>2]|0,x0=e0,$=a0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,n0=a0,$=e0),k>>>0>p>>>0?(e0=x0,a0=n0+1|0,k=n0):(p=k,e0=x0+1|0,a0=n0,k=x0),u0=M-w|0,e[l+(u0<<3)>>2]=(e[l+($<<3)>>2]|0)+p,o[l+(u0<<3)+4>>1]=$,o[l+(u0<<3)+6>>1]=k,u0=l+(u0+1<<3)|0,e[u0>>2]=-1,e[u0+4>>2]=-1;if(Nm(M+-1|0,l,d,f)|0){f0=36;break}j=j<<1}if((f0|0)==36){c0=l0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=l0}function T4(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0;for(l=0,d=0;(d|0)!=(c|0);)l=(e[h+(d<<2)>>2]|0)==0?l:l+1|0,d=d+1|0;if(!(l>>>0<16)){for(e0=c;;){if(!e0){a0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((a0|0)!=55){for(d=0,c=1073741824,w=0;(w|0)!=(e0|0);)l=e[h+(w<<2)>>2]|0,l&&(d=d+1|0,c=c>>>0>l>>>0?l:c),w=w+1|0;if(!(d>>>0<5)){x:do if(c>>>0<4&(e0-d|0)>>>0<6)for(c=e0+-1|0,l=1;;){if(l>>>0>=c>>>0)break x;(e[h+(l+-1<<2)>>2]|0)!=0&&(p=h+(l<<2)|0,(e[p>>2]|0)==0)&&(e[h+(l+1<<2)>>2]|0)!=0&&(e[p>>2]=1),l=l+1|0}while(!1);if(!(d>>>0<28)){for(Vx(f|0,0,e0|0)|0,c=0,p=0,l=e[h>>2]|0;!(p>>>0>e0>>>0);){if(d=(p|0)==(e0|0),!d&&(e[h+(p<<2)>>2]|0)==(l|0))c=c+1|0;else{l?c>>>0>6&&(w=0,a0=29):c>>>0>4&&(w=0,a0=29);x:do if((a0|0)==29)for(;;){if(a0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,a0=29}while(!1);d?c=1:(c=1,l=e[h+(p<<2)>>2]|0)}p=p+1|0}for(p=e0+-2|0,l=(((e[h>>2]|0)+(e[h+4>>2]|0)+(e[h+8>>2]|0)<<8>>>0)/3|0)+420|0,k=0,d=0,c=0;!(k>>>0>e0>>>0);){w=(k|0)==(e0|0);do if(!w&&(n[f+k>>0]|0)==0){if((k|0)!=0&&(n[f+(k+-1)>>0]|0)!=0){a0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(a0=42)}else a0=42;while(!1);do if((a0|0)==42){a0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(a0=44);x:do if((a0|0)==44)for(a0=0,l=((c+(d>>>1)|0)>>>0)/(d>>>0)|0,c=(c|0)==0?0:(l|0)==0?1:l,l=0;;){if((l|0)==(d|0))break x;e[h+(k-l+-1<<2)>>2]=c,l=l+1|0}while(!1);if(k>>>0<p>>>0){l=(((e[h+(k<<2)>>2]|0)+(e[h+(k+1<<2)>>2]|0)+(e[h+(k+2<<2)>>2]|0)<<8>>>0)/3|0)+420|0,d=0,c=0;break}k>>>0<e0>>>0?(l=e[h+(k<<2)>>2]<<8,d=0,c=0):(l=0,d=0,c=0)}while(!1);d=d+1|0,w||(c=c+(e[h+(k<<2)>>2]|0)|0,d>>>0>3&&(l=(((c<<8)+(d>>>1)|0)>>>0)/(d>>>0)|0,l=(d|0)==4?l+120|0:l)),k=k+1|0}}}}}}function qn(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0;a0=c0,c0=c0+64|0,w=a0+32|0,e0=a0,l=w,d=l+32|0;do o[l>>1]=0,l=l+2|0;while((l|0)<(d|0));for(l=0;(l|0)!=(h|0);)k=w+((s[c+l>>0]|0)<<1)|0,o[k>>1]=(o[k>>1]|0)+1<<16>>16,l=l+1|0;for(o[w>>1]=0,o[e0>>1]=0,l=0,d=1;;){if((d|0)==16){k=0;break}k=l+(_[w+(d+-1<<1)>>1]|0)<<1,o[e0+(d<<1)>>1]=k,l=k,d=d+1|0}for(;(k|0)!=(h|0);){if(l=n[c+k>>0]|0,l<<24>>24){for(d=l&255,l=e0+(d<<1)|0,w=o[l>>1]|0,o[l>>1]=w+1<<16>>16,l=w,w=e[19452+((w&15)<<2)>>2]|0,p=4;!(p>>>0>=d>>>0);)$=(l&65535)>>>4,l=$,w=w<<4|e[19452+(($&15)<<2)>>2],p=p+4|0;o[f+(k<<1)>>1]=w>>>(0-d&3)}k=k+1|0}c0=a0}function Lm(c,h){c=c|0,h=h|0;var f=0,l=0;return f=e[c>>2]|0,l=e[h>>2]|0,(f|0)==(l|0)?(h=(o[c+6>>1]|0)>(o[h+6>>1]|0),h|0):(h=f>>>0<l>>>0,h|0)}function Mm(c,h){return c=c|0,h=h|0,_4(h)|0}function BG(c,h){c=c|0,h=h|0,zm(h)}function Um(c,h,f,l,d,w,p,k,e0,a0,$){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,a0=a0|0,$=$|0;var x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0,Rx=0,wx=0,gx=0,cx=0,ux=0,K0=0,j0=0;for(j0=c0,c0=c0+2096|0,cx=j0,hG(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),K0=c+8|0,xx=Tx[e[c>>2]&1](e[K0>>2]|0,e[$>>2]<<2)|0,xx||Px(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[xx+(d<<2)>>2]=a0,d=d+1|0;for(wx=$+48|0,n0=e[wx>>2]|0,Rx=Tx[e[c>>2]&1](e[K0>>2]|0,x0*66560|0)|0,Rx||Px(1),d=x0<<6,a0=0;(a0|0)!=(d|0);)Vx(Rx+(a0*1040|0)|0,0,1024)|0,e[Rx+(a0*1040|0)+1024>>2]=0,i0[Rx+(a0*1040|0)+1032>>3]=Q0,a0=a0+1|0;for(M=$+96|0,e[M>>2]|0&&V0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Tx[e[c>>2]&1](e[K0>>2]|0,x0*2832|0)|0,x0||Px(1),e[M>>2]=x0,d=e[d>>2]|0,a0=0;(a0|0)!=(d|0);)Vx(x0+(a0*2832|0)|0,0,2816)|0,e[x0+(a0*2832|0)+2816>>2]=0,i0[x0+(a0*2832|0)+2824>>3]=Q0,a0=a0+1|0;for(ux=Tx[e[c>>2]&1](e[K0>>2]|0,n0*8384|0)|0,ux||Px(1),d=n0<<2,a0=0;(a0|0)!=(d|0);)Vx(ux+(a0*2096|0)|0,0,2080)|0,e[ux+(a0*2096|0)+2080>>2]=0,i0[ux+(a0*2096|0)+2088>>3]=Q0,a0=a0+1|0;for(d=e[$+12>>2]|0,d?n0=e[d>>2]|0:n0=0,d=e[$+36>>2]|0,d?a0=e[d>>2]|0:a0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,G0=$+32|0,H0=$+36|0,h0=e[M>>2]|0,O0=$+8|0,B0=$+12|0,I0=$+56|0,U0=$+60|0,M=p,s0=0,x0=0,f0=0,t0=0,u0=0,l0=0,y0=0;(y0|0)!=(e0|0);){for(a0?b0=f0:(t0=t0+1|0,b0=s[(e[G0>>2]|0)+t0>>0]|0,a0=e[(e[H0>>2]|0)+(t0<<2)>>2]|0),D0=k+(y0<<4)+12|0,m0=h0+(b0*2832|0)+((_[D0>>1]|0)<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,m0=h0+(b0*2832|0)+2816|0,e[m0>>2]=(e[m0>>2]|0)+1,m0=e[k+(y0<<4)>>2]|0,C0=M,w0=u0,p=n0,u0=f,d0=m0;d0;){switch(p?(f0=w0,n0=p):(l0=l0+1|0,f0=s[(e[O0>>2]|0)+l0>>0]|0,n0=e[(e[B0>>2]|0)+(l0<<2)>>2]|0),p=n0+-1|0,M=f0<<6,e[xx+(f0<<2)>>2]|0){case 0:{n0=w&63;break}case 1:{n0=(w&255)>>>2;break}case 2:{n0=n[406969+(w&255)>>0]|n[406969+(C0&255|256)>>0];break}case 3:{n0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(C0&255)>>0]|0)&255;break}default:n0=0}C0=M+(n0&255)|0,w0=h+(u0&l)|0,M=Rx+(C0*1040|0)+((s[w0>>0]|0)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,C0=Rx+(C0*1040|0)+1024|0,e[C0>>2]=(e[C0>>2]|0)+1,C0=w,w=n[w0>>0]|0,w0=f0,u0=u0+1|0,d0=d0+-1|0}if(a0=a0+-1|0,d0=e[k+(y0<<4)+4>>2]&16777215,f=f+m0+d0|0,d0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,M=o[D0>>1]|0,(M&65535)>127){switch(d?f0=x0:(f0=x0+1|0,s0=s[(e[I0>>2]|0)+f0>>0]|0,d=e[(e[U0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,n0=s0<<2,D0=M&65535,x0=D0&7,D0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}M=n0+x0|0,n0=ux+(M*2096|0)+((_[k+(y0<<4)+14>>1]|0)<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,M=ux+(M*2096|0)+2080|0,e[M>>2]=(e[M>>2]|0)+1,M=u0,n0=s0,x0=f0}else M=u0,n0=s0;else M=C0,n0=s0;s0=n0,f0=b0,u0=w0,n0=p,y0=y0+1|0}for(w0=c+4|0,vx[e[w0>>2]&1](e[K0>>2]|0,xx),x0=$+72|0,e[x0>>2]|0&&V0(406853,406802,86,406832),d=e[$>>2]|0,a0=$+76|0,e[a0>>2]=d<<6,d=Tx[e[c>>2]&1](e[K0>>2]|0,d<<8)|0,d||Px(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&V0(406882,406802,92,406832),f=e[a0>>2]|0,D0=$+92|0,e[D0>>2]=f,f=Tx[e[c>>2]&1](e[K0>>2]|0,f*1040|0)|0,f||Px(1),e[d>>2]=f,m0=e[a0>>2]|0,d=e[x0>>2]|0,u0=m0<<2,p=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,p||Px(1),d0=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,d0||Px(1),M=Tx[e[c>>2]&1](e[K0>>2]|0,49176)|0,M||Px(1),a0=0;(a0|0)!=(m0|0);)e[p+(a0<<2)>>2]=1,a0=a0+1|0;for(C0=d,d=0;(d|0)!=(m0|0);)h=Rx+(d*1040|0)|0,$x(f+(d*1040|0)|0,h|0,1040)|0,i0[f+(d*1040|0)+1032>>3]=+Un(h),e[C0+(d<<2)>>2]=d,d=d+1|0;for(n0=0,a0=0;!(m0>>>0<=a0>>>0);){for(d=m0-a0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(n0+x0<<2)>>2]=a0+x0,x0=x0+1|0;n0=n0+(zu(f,p,C0+(a0<<2)|0,d0+(n0<<2)|0,M,d,d,256,2048)|0)|0,a0=a0+64|0}d=n0<<6,x0=rx(n0>>>1,n0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(a0=2048;!(a0>>>0>=d>>>0);)a0=a0<<1;if(d=Tx[e[c>>2]&1](e[K0>>2]|0,a0*24|0)|0,!d)Px(1);else{$x(d|0,M|0,49152)|0,vx[e[w0>>2]&1](e[K0>>2]|0,M),X0=d;break}}else X0=M;while(!1);for(l0=zu(f,p,C0,d0,X0,n0,m0,256,x0)|0,vx[e[w0>>2]&1](e[K0>>2]|0,X0),vx[e[w0>>2]&1](e[K0>>2]|0,p),w=cx+1024|0,t0=cx+1024|0,f0=0;;){if((f0|0)==(m0|0)){d=0;break}if(x0=e[((f0|0)==0?C0:C0+(f0+-1<<2)|0)>>2]|0,d=Rx+(f0*1040|0)|0,s0=Rx+(f0*1040|0)+1024|0,!(e[s0>>2]|0))q=0;else{for($x(cx|0,d|0,1040)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),a0=0;(a0|0)!=256;)X0=cx+(a0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[f+(x0*1040|0)+(a0<<2)>>2]|0),a0=a0+1|0;q=+Un(cx),q=q-+i0[f+(x0*1040|0)+1032>>3]}for(a0=x0,p=0;(p|0)!=(l0|0);){if(M=d0+(p<<2)|0,x0=e[M>>2]|0,!(e[s0>>2]|0))j=0;else{for($x(cx|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),n0=0;(n0|0)!=256;)X0=cx+(n0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[f+(x0*1040|0)+(n0<<2)>>2]|0),n0=n0+1|0;j=+Un(cx),j=j-+i0[f+(x0*1040|0)+1032>>3]}j<q&&(q=j,a0=e[M>>2]|0),p=p+1|0}e[C0+(f0<<2)>>2]=a0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){a0=0;break}X0=e[d0+(d<<2)>>2]|0,Vx(f+(X0*1040|0)|0,0,1024)|0,e[f+(X0*1040|0)+1024>>2]=0,i0[f+(X0*1040|0)+1032>>3]=Q0,d=d+1|0}for(;(a0|0)!=(m0|0);){for(d=e[C0+(a0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[Rx+(a0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)X0=f+(d*1040|0)+(x0<<2)|0,e[X0>>2]=(e[X0>>2]|0)+(e[Rx+(a0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;a0=a0+1|0}for(vx[e[w0>>2]&1](e[K0>>2]|0,d0),w=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,w||Px(1),d=0;;){if((d|0)==(m0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(m0|0);)a0=w+(e[C0+(x0<<2)>>2]<<2)|0,(e[a0>>2]|0)==-1&&(e[a0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Tx[e[c>>2]&1](e[K0>>2]|0,d*1040|0)|0,p||Px(1),n0=0,M=0;(M|0)!=(m0|0);)x0=C0+(M<<2)|0,d=e[x0>>2]|0,a0=e[w+(d<<2)>>2]|0,(a0|0)==(n0|0)?($x(p+(n0*1040|0)|0,f+(d*1040|0)|0,1040)|0,a0=e[w+(e[x0>>2]<<2)>>2]|0,d=n0+1|0):d=n0,e[x0>>2]=a0,n0=d,M=M+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,w),d=0;(d|0)!=(n0|0);)$x(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,p),e[D0>>2]=n0,vx[e[w0>>2]&1](e[K0>>2]|0,Rx),x0=$+80|0,e[x0>>2]|0&&V0(406910,406802,106,406832),d=e[wx>>2]|0,a0=$+84|0,e[a0>>2]=d<<2,d=Tx[e[c>>2]&1](e[K0>>2]|0,d<<4)|0,d||Px(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&V0(406940,406802,112,406832),f=e[a0>>2]|0,D0=$+108|0,e[D0>>2]=f,f=Tx[e[c>>2]&1](e[K0>>2]|0,f*2096|0)|0,f||Px(1),e[d>>2]=f,m0=e[a0>>2]|0,d=e[x0>>2]|0,u0=m0<<2,p=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,p||Px(1),d0=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,d0||Px(1),M=Tx[e[c>>2]&1](e[K0>>2]|0,49176)|0,M||Px(1),a0=0;(a0|0)!=(m0|0);)e[p+(a0<<2)>>2]=1,a0=a0+1|0;for(C0=d,d=0;(d|0)!=(m0|0);)$=ux+(d*2096|0)|0,$x(f+(d*2096|0)|0,$|0,2096)|0,i0[f+(d*2096|0)+2088>>3]=+Hn($),e[C0+(d<<2)>>2]=d,d=d+1|0;for(n0=0,a0=0;!(m0>>>0<=a0>>>0);){for(d=m0-a0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(n0+x0<<2)>>2]=a0+x0,x0=x0+1|0;n0=n0+(Wu(f,p,C0+(a0<<2)|0,d0+(n0<<2)|0,M,d,d,256,2048)|0)|0,a0=a0+64|0}d=n0<<6,x0=rx(n0>>>1,n0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(a0=2048;!(a0>>>0>=d>>>0);)a0=a0<<1;if(d=Tx[e[c>>2]&1](e[K0>>2]|0,a0*24|0)|0,!d)Px(1);else{$x(d|0,M|0,49152)|0,vx[e[w0>>2]&1](e[K0>>2]|0,M),gx=d;break}}else gx=M;while(!1);for(l0=Wu(f,p,C0,d0,gx,n0,m0,256,x0)|0,vx[e[w0>>2]&1](e[K0>>2]|0,gx),vx[e[w0>>2]&1](e[K0>>2]|0,p),w=cx+2080|0,t0=cx+2080|0,f0=0;;){if((f0|0)==(m0|0)){d=0;break}if(x0=e[((f0|0)==0?C0:C0+(f0+-1<<2)|0)>>2]|0,d=ux+(f0*2096|0)|0,s0=ux+(f0*2096|0)+2080|0,!(e[s0>>2]|0))q=0;else{for($x(cx|0,d|0,2096)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),a0=0;(a0|0)!=520;)gx=cx+(a0<<2)|0,e[gx>>2]=(e[gx>>2]|0)+(e[f+(x0*2096|0)+(a0<<2)>>2]|0),a0=a0+1|0;q=+Hn(cx),q=q-+i0[f+(x0*2096|0)+2088>>3]}for(a0=x0,p=0;(p|0)!=(l0|0);){if(M=d0+(p<<2)|0,x0=e[M>>2]|0,!(e[s0>>2]|0))j=0;else{for($x(cx|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),n0=0;(n0|0)!=520;)gx=cx+(n0<<2)|0,e[gx>>2]=(e[gx>>2]|0)+(e[f+(x0*2096|0)+(n0<<2)>>2]|0),n0=n0+1|0;j=+Hn(cx),j=j-+i0[f+(x0*2096|0)+2088>>3]}j<q&&(q=j,a0=e[M>>2]|0),p=p+1|0}e[C0+(f0<<2)>>2]=a0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){a0=0;break}cx=e[d0+(d<<2)>>2]|0,Vx(f+(cx*2096|0)|0,0,2080)|0,e[f+(cx*2096|0)+2080>>2]=0,i0[f+(cx*2096|0)+2088>>3]=Q0,d=d+1|0}for(;(a0|0)!=(m0|0);){for(d=e[C0+(a0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[ux+(a0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)cx=f+(d*2096|0)+(x0<<2)|0,e[cx>>2]=(e[cx>>2]|0)+(e[ux+(a0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;a0=a0+1|0}for(vx[e[w0>>2]&1](e[K0>>2]|0,d0),w=Tx[e[c>>2]&1](e[K0>>2]|0,u0)|0,w||Px(1),d=0;;){if((d|0)==(m0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(m0|0);)a0=w+(e[C0+(x0<<2)>>2]<<2)|0,(e[a0>>2]|0)==-1&&(e[a0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Tx[e[c>>2]&1](e[K0>>2]|0,d*2096|0)|0,p||Px(1),n0=0,M=0;(M|0)!=(m0|0);)x0=C0+(M<<2)|0,d=e[x0>>2]|0,a0=e[w+(d<<2)>>2]|0,(a0|0)==(n0|0)?($x(p+(n0*2096|0)|0,f+(d*2096|0)|0,2096)|0,a0=e[w+(e[x0>>2]<<2)>>2]|0,d=n0+1|0):d=n0,e[x0>>2]=a0,n0=d,M=M+1|0;for(vx[e[w0>>2]&1](e[K0>>2]|0,w),d=0;(d|0)!=(n0|0);)$x(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;vx[e[w0>>2]&1](e[K0>>2]|0,p),e[D0>>2]=n0,vx[e[w0>>2]&1](e[K0>>2]|0,ux),c0=j0}function Hm(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0;for(k=c0,c0=c0+704|0,p=k,l=f+92|0,d=f+88|0,w=0;!(w>>>0>=(e[l>>2]|0)>>>0);)T4(256,(e[d>>2]|0)+(w*1040|0)|0,p),w=w+1|0;for(l=f+100|0,d=f+96|0,w=0;!(w>>>0>=(e[l>>2]|0)>>>0);)T4(704,(e[d>>2]|0)+(w*2832|0)|0,p),w=w+1|0;for(w=c+16+(48<<h)|0,h=f+108|0,l=f+104|0,d=0;!(d>>>0>=(e[h>>2]|0)>>>0);)T4(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function qm(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;if(n0=(f>>>10)+1|0,x0=n0>>>0<257?n0:257,e[h>>2]=704,e[h+4>>2]=1024,i0[h+8>>3]=500,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=1024,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0)|0,k||Px(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if($=l+20|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if(e[(e[M>>2]|0)+4>>2]=n0,e[d>>2]|0&&V0(407776,407818,70,407880),e[w>>2]=x0,f=Tx[e[c>>2]&1](e[c+8>>2]|0,x0*2832|0)|0,p=f,!f)Px(1);else{e[d>>2]=p,e[h+24>>2]=p,Vx(f|0,0,2816)|0,e[f+2816>>2]=0,i0[f+2824>>3]=Q0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function Gm(c,h,f,l,d,w){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0;var p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0;if(n0=(f>>>9)+1|0,x0=n0>>>0<257?n0:257,e[h>>2]=64,e[h+4>>2]=512,i0[h+8>>3]=100,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=512,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0)|0,k||Px(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if($=l+20|0,f=e[$>>2]|0,f>>>0<n0>>>0){for(a0=(f|0)==0?n0:f;!(a0>>>0>=n0>>>0);)a0=a0<<1;p=c+8|0,k=Tx[e[c>>2]&1](e[p>>2]|0,a0<<2)|0,k||Px(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,vx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=a0}if(e[(e[M>>2]|0)+4>>2]=n0,e[d>>2]|0&&V0(407776,407818,70,407854),e[w>>2]=x0,f=Tx[e[c>>2]&1](e[c+8>>2]|0,x0*2096|0)|0,p=f,!f)Px(1);else{e[d>>2]=p,e[h+24>>2]=p,Vx(f|0,0,2080)|0,e[f+2080>>2]=0,i0[f+2088>>3]=Q0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function jm(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+2112|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*1040|0)|0,a0=C0+(q*1040|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*1040|0)|0,C0+(q*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)a0=f0+($*1040|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,a0=f0+($*1040|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*1040|0)|0,0,1024)|0,e[C0+(f*1040|0)+1024>>2]=0,i0[C0+(f*1040|0)+1032>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*1040|0)|0,f0+1040|0,1040)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*1040|0)|0,0,1024)|0,e[C0+(h0*1040|0)+1024>>2]=0,i0[C0+(h0*1040|0)+1032>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*1040|0)|0,0,1024)|0,e[C0+(w0*1040|0)+1024>>2]=0,i0[C0+(w0*1040|0)+1032>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,i0[x0+(f*1040|0)+1032>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Ju(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+5696|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*2832|0)|0,a0=C0+(q*2832|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2832|0)|0,C0+(q*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)a0=f0+($*2832|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,a0=f0+($*2832|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*2832|0)|0,0,2816)|0,e[C0+(f*2832|0)+2816>>2]=0,i0[C0+(f*2832|0)+2824>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*2832|0)|0,f0+2832|0,2832)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*2832|0)|0,0,2816)|0,e[C0+(h0*2832|0)+2816>>2]=0,i0[C0+(h0*2832|0)+2824>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*2832|0)|0,0,2816)|0,e[C0+(w0*2832|0)+2816>>2]=0,i0[C0+(w0*2832|0)+2824>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,i0[x0+(f*2832|0)+2824>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Zu(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0;O0=c0,c0=c0+4224|0,f0=O0+32|0,s0=O0+16|0,l0=O0,b0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,y0=e[h0>>2]|0,m0=c+4|0,d0=e[m0>>2]|0,d0=y0>>>0>d0>>>0?y0:d0,e[h0>>2]=d0,y0=c+16|0,t0=e[y0>>2]|0;do if(t0){if(d0){for(D0=c+40|0,q=e[D0>>2]|0,C0=f,x0=e[c>>2]|0,f=C0+(q*2096|0)|0,a0=C0+(q*2096|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,n0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2096|0)|0,C0+(q*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[C0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)a0=f0+($*2096|0)+(k<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[C0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,a0=f0+($*2096|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,i0[s0+($<<3)>>3]=p,i0[l0+($<<3)>>3]=p-n0-+i0[c+56+($<<3)>>3],$=$+1|0}if(f=b0,l=+i0[l0>>3],(e[f>>2]|0)>>>0<256&&(j=+i0[c+8>>3],l>j)&&+i0[l0+8>>3]>j){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=n0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(C0+(f*2096|0)|0,0,2080)|0,e[C0+(f*2096|0)+2080>>2]=0,i0[C0+(f*2096|0)+2088>>3]=Q0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}if(+i0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[y0>>2]|0,l0=e[f+8>>2]|0,n[l0+t0>>0]=n[l0+(t0+-2)>>0]|0,t0=c+44|0,l0=e[t0>>2]|0,u0=c+48|0,d0=e[u0>>2]|0,e[t0>>2]=d0,e[u0>>2]=l0,$x(C0+(d0*2096|0)|0,f0+2096|0,2096)|0,i0[c+64>>3]=+i0[w0>>3],i0[w0>>3]=+i0[s0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[h0>>2]=0,h0=e[D0>>2]|0,Vx(C0+(h0*2096|0)|0,0,2080)|0,e[C0+(h0*2096|0)+2080>>2]=0,i0[C0+(h0*2096|0)+2088>>3]=Q0,e[c+72>>2]=0,e[c+32>>2]=e[m0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,$x(C0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+i0[s0>>3],i0[w0>>3]=l,(e[f>>2]|0)==1&&(i0[c+64>>3]=l),e[h0>>2]=0,w0=e[D0>>2]|0,Vx(C0+(w0*2096|0)|0,0,2080)|0,e[C0+(w0*2096|0)+2080>>2]=0,i0[C0+(w0*2096|0)+2088>>3]=Q0,w0=c+72|0,h0=(e[w0>>2]|0)+1|0,e[w0>>2]=h0,h0>>>0>1&&(h0=c+32|0,e[h0>>2]=(e[h0>>2]|0)+(e[m0>>2]|0))}}else{for($=b0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,D0=e[c>>2]|0,a0=x0+(D0<<2)|0,D0&1?(w=0,e0=0,u0=8):(l=0,e0=0);(u0|0)==8&&(k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+r0[19516+(k<<2)>>2]:d=+Jx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=a0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+r0[19516+(k<<2)>>2]:w=+Jx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+r0[19516+(e0<<2)>>2]:d=+Jx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,i0[w0>>3]=j,i0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,w0=c+40|0,f=(e[w0>>2]|0)+1|0,e[w0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Vx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,i0[x0+(f*2096|0)+2088>>3]=Q0),e[h0>>2]=0}while(!1);if(!h){c0=O0;return}h=b0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=O0}function Vm(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0;if(G0=c0,c0=c0+16|0,l0=G0,B0=e[h+28>>2]|0,h0=h+4|0,I0=e[h0>>2]|0,p=e[h+60>>2]|0,y0=h+32|0,w=e[y0>>2]|0,U0=h+44|0,d=e[U0>>2]|0,w0=h+12|0,l=e[w0>>2]|0,d>>>0<l>>>0?e[U0>>2]=l:l=d,O0=h+24|0,e[O0>>2]|0){if(l){for(C0=c+8|0,m0=Tx[e[c>>2]&1](e[C0>>2]|0,I0<<3)|0,m0||Px(1),D0=Tx[e[c>>2]&1](e[C0>>2]|0,I0*2080|0)|0,D0||Px(1),d0=Tx[e[c>>2]&1](e[C0>>2]|0,I0<<4)|0,d0||Px(1),e[l0>>2]=0,e[l0+4>>2]=0,e[l0+8>>2]=0,e[l0+12>>2]=0,u0=h+48|0,s0=0;(s0|0)!=(I0|0);){for(M=(e[u0>>2]|0)+s0|0,t0=e[h>>2]|0,l=w+(M*1040|0)|0,n0=w+(M*1040|0)+(t0<<2)|0,t0&1?(a0=0,x0=0,b0=42):(k=0,x0=0);(b0|0)==42&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,x0=x0+d|0),!(l>>>0>=n0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,x0=x0+d|0,b0=42;for(a0=+(x0>>>0),x0?(x0>>>0<256?e0=+r0[19516+(x0<<2)>>2]:e0=+Jx(a0),$=a0,k=k+a0*e0):$=a0,t0=m0+(s0<<3)|0,i0[t0>>3]=k<$?$:k,M=w+(M*1040|0)|0,j=0;(j|0)!=2;){for(q=(rx(j,I0)|0)+s0|0,l=(e[h+52+(j<<2)>>2]|0)+s0|0,$x(D0+(q*1040|0)|0,M|0,1040)|0,d=D0+(q*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)n0=D0+(q*1040|0)+(d<<2)|0,e[n0>>2]=(e[n0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=D0+(q*1040|0)|0,n0=D0+(q*1040|0)+(x0<<2)|0,x0&1?(a0=0,x0=0,b0=62):(k=0,x0=0);(b0|0)==62&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,x0=x0+d|0),!(l>>>0>=n0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,x0=x0+d|0,b0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+r0[19516+(x0<<2)>>2]:e0=+Jx($),a0=$,k=k+$*e0):a0=$,$=k<a0?a0:k,i0[d0+(q<<3)>>3]=$,n0=l0+(j<<3)|0,i0[n0>>3]=+i0[n0>>3]+($-+i0[t0>>3]-+i0[p+(q<<3)>>3]),j=j+1|0}s0=s0+1|0}if(x0=B0,k=+i0[l0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+i0[h+16>>3],k>f0)&&+i0[l0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[O0>>2]<<2)>>2]=e[U0>>2],n[(e[x0+8>>2]|0)+(e[O0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=rx(e[x0>>2]|0,I0)|0,l=0;(l|0)!=(I0|0);)l0=p+(l<<3)|0,i0[p+(I0+l<<3)>>3]=+i0[l0>>3],i0[l0>>3]=+i0[m0+(l<<3)>>3],l=l+1|0;e[O0>>2]=(e[O0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+I0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0}while(!1);e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2]}else b0=84;do if((b0|0)==84){if(l=e[U0>>2]|0,d=e[O0>>2]|0,+i0[l0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[O0>>2]|0,h0=e[x0+8>>2]|0,n[h0+l>>0]=n[h0+(l+-2)>>0]|0,l=h+52|0,h0=e[l>>2]|0,d=h+56|0,e[l>>2]=e[d>>2],e[d>>2]=h0,d=0;(d|0)!=(I0|0);)y0=I0+d|0,$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,D0+(y0*1040|0)|0,1040)|0,h0=p+(d<<3)|0,i0[p+(y0<<3)>>3]=+i0[h0>>3],i0[h0>>3]=+i0[d0+(y0<<3)>>3],h0=(e[u0>>2]|0)+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0;e[O0>>2]=(e[O0>>2]|0)+1,e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2];break}for(d=(e[x0+12>>2]|0)+(d+-1<<2)|0,e[d>>2]=(e[d>>2]|0)+l,l=h+52|0,d=0;(d|0)!=(I0|0);)$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,D0+(d*1040|0)|0,1040)|0,k=+i0[d0+(d<<3)>>3],i0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(i0[p+(I0+d<<3)>>3]=k),h0=(e[u0>>2]|0)+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0;e[U0>>2]=0,h0=h+64|0,U0=(e[h0>>2]|0)+1|0,e[h0>>2]=U0,U0>>>0>1&&(U0=h+40|0,e[U0>>2]=(e[U0>>2]|0)+(e[w0>>2]|0))}while(!1);U0=c+4|0,vx[e[U0>>2]&1](e[C0>>2]|0,d0),vx[e[U0>>2]&1](e[C0>>2]|0,D0),vx[e[U0>>2]&1](e[C0>>2]|0,m0)}}else{for(q=B0,e[e[q+12>>2]>>2]=l,n[e[q+8>>2]>>0]=0,M=w,n0=0;(n0|0)!=(I0|0);){for(c=e[h>>2]|0,l=M+(n0*1040|0)|0,x0=M+(n0*1040|0)+(c<<2)|0,c&1?(a0=0,w=0,b0=12):(k=0,w=0);(b0|0)==12&&(b0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+r0[19516+(d<<2)>>2]:e0=+Jx(k),l=l+4|0,k=a0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?a0=+r0[19516+(d<<2)>>2]:a0=+Jx(e0),l=l+4|0,a0=k-e0*a0,w=w+d|0,b0=12;$=+(w>>>0),w?(w>>>0<256?e0=+r0[19516+(w<<2)>>2]:e0=+Jx($),a0=$,k=k+$*e0):a0=$,f0=k<a0?a0:k,i0[p+(n0<<3)>>3]=f0,i0[p+(I0+n0<<3)>>3]=f0,n0=n0+1|0}e[O0>>2]=(e[O0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,b0=h+48|0,p=(e[b0>>2]|0)+I0|0,e[b0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Vx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,i0[w+(h0*1040|0)+1032>>3]=Q0,d=d+1|0}while(!1);e[U0>>2]=0}if(!f){c0=G0;return}f=B0,U0=rx(e[f>>2]|0,I0)|0,e[e[h+36>>2]>>2]=U0,e[f+4>>2]=e[O0>>2],c0=G0}function Qm(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0;t0=c,w=o[88430+((rx(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,D0=c+1|0,C0=D0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(s0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,n0=1<<j,p=(k&255)>>>7,w<<24>>24){if(n0=w<<24>>24!=10,q>>>0>f>>>0){d0=d,w=s0,d=d0;continue}x0=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+q|0,k=c+(q+-4)|0,a0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+(x0+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){d0=d,w=s0,d=d0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){d0=d,w=s0,d=d0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){d0=d,w=s0,d=d0;continue x}for($=x0+1|0,x0=c+q|0,k=c+(q+-4)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q+-1|0)){d0=d,w=s0,d=d0;continue x}break}default:for(k=0;;){if(k>>>0>=q>>>0)break e;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+k>>0]|0)){d0=d,w=s0,d=d0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){d0=d,w=s0,d=d0;continue x}k=k+1|0}}while(!1);if(d0=(M+((n0?44:9)<<j)<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=q+1|0,d>>>0>=f>>>0){d=1,w=s0;continue}switch(n[c+q>>0]|0){case 32:{w=(M+(((n0&1)<<6|4)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 34:{if(u0=(M+((n0?87:66)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=62){d=1,w=s0;continue x}w=(M+((n0?97:69)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 46:{if(u0=(M+((n0?101:79)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=s0;continue x}w=(M+((n0?114:88)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 44:{if(u0=(M+((n0?112:99)<<j)<<5)+q|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=s0;continue x}w=(M+((n0?107:58)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 39:{w=(M+((n0?94:74)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 40:{w=(M+((n0?113:78)<<j)<<5)+q|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{w=(M+((n0&1|104)<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}case 39:{w=(M+(((n0&1)<<3)+108<<j)<<5)+q|0,d=l+(q+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=s0;continue x}default:{d=1,w=s0;continue x}}default:{d=1,w=s0;continue x}}}for($=(e[11272+(q<<2)>>2]|0)+(rx(q,M)|0)|0,k=q>>>0<f>>>0?q:f,x0=c+k|0,k=c+(k+-4)|0,a0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+a0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;for((a0|0)==(q|0)&&(d0=(M<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1),w=q+-1|0,a0>>>0>=w>>>0&&(u0=(M+(12<<j)<<5)+q|0,d0=l+(w<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,d0=q+2|0,d0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+q>>0]|0)==110&&(n[c+(q+1)>>0]|0)==103&&(n[c+d0>>0]|0)==32&&(d0=(M+(49<<j)<<5)+q|0,d=l+(q+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0),d=1),q>>>0>9?(w=q+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=q+-2|0,k=a0>>>0<k>>>0?a0:k;!(w>>>0>k>>>0);)d0=(M+(s[407930+(q-w)>>0]<<j)<<5)+q|0,d=l+(w<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1,w=w+1|0;if(a0>>>0<q>>>0){w=s0;continue}if(w=q+6|0,w>>>0>=f>>>0){w=s0;continue}do switch(n[c+q>>0]|0){case 32:switch(u0=(M+n0<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,n[c+(q+1)>>0]|0){case 97:switch(n[c+(q+2)>>0]|0){case 32:{d0=(M+(28<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(46<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 116:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(60<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=100){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(10<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 98:{if((n[c+(q+2)>>0]|0)!=121){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(38<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:switch(n[c+(q+2)>>0]|0){case 110:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(n0<<4)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(47<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 102:{switch(n[c+(q+2)>>0]|0){case 111:{if((n[c+(q+3)>>0]|0)!=114){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(25<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 114:break;default:{w=s0;continue x}}if((n[c+(q+3)>>0]|0)!=111){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=109){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(37<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 111:switch(n[c+(q+2)>>0]|0){case 102:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(n0<<3)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(45<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 110:{if((n[c+(q+2)>>0]|0)!=111){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(80<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 116:{switch(n[c+(q+2)>>0]|0){case 104:break;case 111:{if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(17<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}switch(n[c+(q+3)>>0]|0){case 101:{if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(5<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 97:break;default:{w=s0;continue x}}if((n[c+(q+4)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(29<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 119:{if((n[c+(q+2)>>0]|0)!=105){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=104){w=s0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(35<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 34:{if(u0=(M+(19<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=62){w=s0;continue x}d0=(M+(21<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 46:{if(u0=(M+(20<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){w=s0;continue x}if(u0=(M+(31<<j)<<5)+q|0,d0=l+(q+2<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+2)>>0]|0)!=84){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=104){w=s0;continue x}switch(n[c+(q+4)>>0]|0){case 101:{if((n[c+(q+5)>>0]|0)!=32){w=s0;continue x}d0=(M+(43<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:break;default:{w=s0;continue x}}if((n[c+(q+5)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+6)>>0]|0)!=32){w=s0;continue x}d0=(M+(75<<j)<<5)+q|0,w=l+(q+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 44:{if(u0=(M+(76<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=32){w=s0;continue x}d0=(M+(14<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 10:{if(u0=(M+(22<<j)<<5)+q|0,d0=l+(q+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(q+1)>>0]|0)!=9){w=s0;continue x}d0=(M+(50<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 93:{d0=(M+(24<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 39:{d0=(M+(36<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 58:{d0=(M+(51<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 40:{d0=(M+(57<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{d0=(M+(70<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 39:{d0=(M+(86<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 97:{if((n[c+(q+1)>>0]|0)!=108){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(84<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 101:switch(n[c+(q+1)>>0]|0){case 100:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(53<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 114:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(82<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 115:{if((n[c+(q+2)>>0]|0)!=116){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(95<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 102:{if((n[c+(q+1)>>0]|0)!=117){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=108){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(90<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 105:switch(n[c+(q+1)>>0]|0){case 118:{if((n[c+(q+2)>>0]|0)!=101){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(92<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 122:{if((n[c+(q+2)>>0]|0)!=101){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(100<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}case 108:{switch(n[c+(q+1)>>0]|0){case 101:break;case 121:{if((n[c+(q+2)>>0]|0)!=32){w=s0;continue x}d0=(M+(61<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}if((n[c+(q+2)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=s0;continue x}d0=(M+(93<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}case 111:{if((n[c+(q+1)>>0]|0)!=117){w=s0;continue x}if((n[c+(q+2)>>0]|0)!=115){w=s0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=s0;continue x}d0=(M+(106<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=s0;continue x}default:{w=s0;continue x}}while(!1)}if(f>>>0<=4)return f=d,f=f&1,f=f<<24>>24!=0,f|0;d0=n[c>>0]|0,s0=d0<<24>>24==32;x:do switch(d0<<24>>24){case 32:case 46:{w=o[88430+((rx(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=s0?6:32,l0=s0?2:77,u0=s0?89:67,d0=c+2|0,p=w<<16>>16==0&1,w=w&65535;e:for(;;){if(p<<24>>24)break x;if(t0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(q>>>0>h>>>0){j=d,w=t0,d=j;continue}for($=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,x0=c+(q+1)|0,k=c+(q+-3)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(w0=w,n0=280811+($+a0)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){w0=d,w=t0,d=w0;continue}if(d=q+1|0,w0=(M+(f0<<j)<<5)+q|0,w=l+(d<<2)|0,n0=e[w>>2]|0,e[w>>2]=n0>>>0<w0>>>0?n0:w0,w=q+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{w0=(M+(l0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<w0>>>0?w:w0,d=1,w=t0;continue e}case 40:{w0=(M+(u0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<w0>>>0?w:w0,d=1,w=t0;continue e}default:{if(!s0){d=1,w=t0;continue e}switch(d<<24>>24){case 44:{if(n0=(M+(103<<j)<<5)+q|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<n0>>>0?x0:n0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+(33<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 46:{if(n0=(M+(71<<j)<<5)+q|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<n0>>>0?x0:n0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+(52<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(81<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}case 39:{w=(M+(98<<j)<<5)+q|0,d=l+(q+3<<2)|0,w0=e[d>>2]|0,e[d>>2]=w0>>>0<w>>>0?w0:w,d=1,w=t0;continue e}default:{d=1,w=t0;continue e}}default:{d=1,w=t0;continue e}}}}}if(!s0){w0=d,w=t0,d=w0;continue}if(n0=w<<24>>24!=10,q>>>0>h>>>0){w0=d,w=t0,d=w0;continue}x0=(e[11272+(q<<2)>>2]|0)+(rx(q,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(q+1)|0,k=c+(q+-3)|0,a0=0,w=C0;e0=w,!(e0>>>0>k>>>0||(b0=w,w0=280811+(x0+a0)|0,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)a0=a0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+a0)>>0]|0)!=(n[w>>0]|0));)a0=a0+1|0,w=w+1|0;if((a0|0)!=(q|0)){b0=d,w=t0,d=b0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){b0=d,w=t0,d=b0;continue e}if((w&255^32|0)!=(s[D0>>0]|0)){b0=d,w=t0,d=b0;continue e}for(a0=x0+1|0,$=c+(q+1)|0,k=c+(q+-3)|0,e0=0,w=d0;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(q+-1|0)){b0=d,w=t0,d=b0;continue e}break}default:for(k=0;;){if(k>>>0>=q>>>0)break t;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+(k+1)>>0]|0)){b0=d,w=t0,d=b0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){b0=d,w=t0,d=b0;continue e}k=k+1|0}}while(!1);if(d=q+1|0,b0=(M+((n0?85:30)<<j)<<5)+q|0,w=l+(d<<2)|0,w0=e[w>>2]|0,e[w>>2]=w0>>>0<b0>>>0?w0:b0,w=q+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(n[c+d>>0]|0){case 32:{b0=(M+((n0?83:15)<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<b0>>>0?w:b0,d=1,w=t0;continue e}case 44:{if(n0||(w0=(M+(109<<j)<<5)+q|0,b0=l+(w<<2)|0,x0=e[b0>>2]|0,e[b0>>2]=x0>>>0<w0>>>0?x0:w0),(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+((n0?111:65)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 46:{if(w0=(M+((n0?115:96)<<j)<<5)+q|0,b0=l+(w<<2)|0,x0=e[b0>>2]|0,e[b0>>2]=x0>>>0<w0>>>0?x0:w0,(n[c+(q+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(M+((n0?117:91)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(((n0&1)<<3^8)+110<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}case 39:{w=(M+(120-(n0&1)<<j)<<5)+q|0,d=l+(q+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=t0;continue e}default:{d=1,w=t0;continue e}}default:{d=1,w=t0;continue e}}}}default:}while(!1);if(f>>>0<=5)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;w=n[D0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{m0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(m0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(m0=241);while(!1);x:do if((m0|0)==241)for(j=c+2|0,w=o[88430+((rx(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,t0=f+-2|0,p=w<<16>>16==0&1,w=w&65535;;){if(p<<24>>24)break x;if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,n0=w&127,M=s[280786+n0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|n0>>>0>t0>>>0){b0=d,w=q,d=b0;continue}for(a0=(e[11272+(n0<<2)>>2]|0)+(rx(n0,w>>>16)|0)|0,$=c+(n0+2)|0,k=c+(n0+-2)|0,e0=0,w=j;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(n0|0)){b0=d,w=q,d=b0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<M)<<5)+n0|0,d=l+(n0+2<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q;continue}if(k=n0+2|0,k>>>0>=f>>>0){b0=d,w=q,d=b0;continue}if((n[c+k>>0]|0)!=32){b0=d,w=q,d=b0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<M)<<5)+n0|0,d=l+(n0+3<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q}while(!1);if(f>>>0<=8)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;switch(n[c>>0]|0){case 32:{if((n[D0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;break}case 46:{if((n[D0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0;break}default:return b0=d,b0=b0&1,b0=b0<<24>>24!=0,b0|0}for(j=c+5|0,w=o[88430+((rx(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,t0=f+-5|0,p=w<<16>>16==0&1,w=w&65535;!(p<<24>>24);){if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,n0=w&127,M=s[280786+n0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|n0>>>0>t0>>>0){b0=d,w=q,d=b0;continue}for(a0=(e[11272+(n0<<2)>>2]|0)+(rx(n0,w>>>16)|0)|0,$=c+(n0+5)|0,k=c+(n0+1)|0,e0=0,w=j;!(w>>>0>k>>>0||(b0=280811+(a0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(a0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(n0|0)){b0=d,w=q,d=b0;continue}if(d=n0+5|0,w0=(x0+(((n[c>>0]|0)==32?41:72)<<M)<<5)+n0|0,b0=l+(d<<2)|0,D0=e[b0>>2]|0,e[b0>>2]=D0>>>0<w0>>>0?D0:w0,d>>>0>=f>>>0){d=1,w=q;continue}if(!((n[c>>0]|0)==32&(n0+8|0)>>>0<f>>>0)){d=1,w=q;continue}if((n[c+d>>0]|0)!=32){d=1,w=q;continue}if((n[c+(n0+6)>>0]|0)!=111){d=1,w=q;continue}if((n[c+(n0+7)>>0]|0)!=102){d=1,w=q;continue}if((n[c+(n0+8)>>0]|0)!=32){d=1,w=q;continue}if(w0=(x0+(62<<M)<<5)+n0|0,b0=l+(n0+9<<2)|0,D0=e[b0>>2]|0,e[b0>>2]=D0>>>0<w0>>>0?D0:w0,(n0+12|0)>>>0>=f>>>0){d=1,w=q;continue}if((n[c+(n0+9)>>0]|0)!=116){d=1,w=q;continue}if((n[c+(n0+10)>>0]|0)!=104){d=1,w=q;continue}if((n[c+(n0+11)>>0]|0)!=101){d=1,w=q;continue}if((n[c+(n0+12)>>0]|0)!=32){d=1,w=q;continue}w=(x0+(73<<M)<<5)+n0|0,d=l+(n0+13<<2)|0,b0=e[d>>2]|0,e[d>>2]=b0>>>0<w>>>0?b0:w,d=1,w=q}return b0=d&1,b0=b0<<24>>24!=0,b0|0}function R4(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0;d=0,t0=0;x:for(;;){e:do{if(d>>>0>=l>>>0)break x;if(w=d+h&f,p=l-d|0,k=n[c+w>>0]|0,!(k<<24>>24<=-1|k<<24>>24==0)){w=1,s0=20;break}do if(p>>>0>1){if((k&-32)<<24>>24==-64&&(e0=n[c+(w+1)>>0]|0,(e0&-64)<<24>>24==-128)&&(a0=(k&255)<<6&1984|e0&63,a0>>>0>127)){p=2,w=a0;break}if(p>>>0>2){if((k&-16)<<24>>24==-32&&($=n[c+(w+1)>>0]|0,($&-64)<<24>>24==-128)&&(x0=n[c+(w+2)>>0]|0,(x0&-64)<<24>>24==-128)&&(n0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,n0>>>0>2047)){p=3,w=n0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(M=n[c+(w+1)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+2)>>0]|0,(q&-64)<<24>>24==-128)&&(j=n[c+(w+3)>>0]|0,(j&-64)<<24>>24==-128)&&(s0=(k&255)<<18&1835008|(M&255)<<12&258048|(q&255)<<6&4032|j&63,s0>>>0>65535&s0>>>0<1114112)){w=4,s0=20;break e}else s0=19}else s0=19}else s0=19;while(!1);(s0|0)==19&&(s0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(s0|0)==20&&(s0=0,p=w,d=d+w|0),t0=t0+p|0}return+(t0>>>0)>+(l>>>0)*.75|0}function Jx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0;i0[p0>>3]=c,f=e[p0>>2]|0,h=e[p0+4>>2]|0,l=(h|0)<0;do if(l|h>>>0<1048576){if((f|0)==0&(h&2147483647|0)==0){c=-1/(c*c);break}if(l){c=(c-c)/0;break}else{i0[p0>>3]=c*0x40000000000000,h=e[p0+4>>2]|0,l=e[p0>>2]|0,f=-1077,d=9;break}}else h>>>0<=2146435071&&((f|0)==0&!0&(h|0)==1072693248?c=0:(l=f,f=-1023,d=9));while(!1);return(d|0)==9&&(d=h+614242|0,e[p0>>2]=l,e[p0+4>>2]=(d&1048575)+1072079006,e0=+i0[p0>>3]+-1,c=e0*(e0*.5),a0=e0/(e0+2),p=a0*a0,k=p*p,i0[p0>>3]=e0-c,l=e[p0+4>>2]|0,e[p0>>2]=0,e[p0+4>>2]=l,w=+i0[p0>>3],c=a0*(c+(k*(k*(k*.15313837699209373+.22222198432149784)+.3999999999940942)+p*(k*(k*(k*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(e0-w-c),e0=w*1.4426950407214463,k=+(f+(d>>>20)|0),p=k+e0,c=p+(e0+(k-p)+(c*1.4426950407214463+(w+c)*16751713164886512e-26))),+c}function _4(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0,u0=0,d0=0,C0=0,m0=0,D0=0,w0=0,b0=0,y0=0,h0=0,O0=0,B0=0,I0=0,U0=0,G0=0,H0=0,xx=0,X0=0;do if(c>>>0<245){if(M=c>>>0<11?16:c+11&-8,c=M>>>3,k=e[5147]|0,h=k>>>c,h&3){h=(h&1^1)+c|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,d=e[l>>2]|0,w=d+8|0,p=e[w>>2]|0;do if((f|0)!=(p|0))if(p>>>0<(e[5151]|0)>>>0&&re(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else re();else e[5147]=k&~(1<<h);while(!1);return X0=h<<3,e[d+4>>2]=X0|3,X0=d+(X0|4)|0,e[X0>>2]=e[X0>>2]|1,X0=w,X0|0}if(p=e[5149]|0,M>>>0>p>>>0){if(h){l=2<<c,l=h<<c&(l|0-l),l=(l&0-l)+-1|0,e0=l>>>12&16,l=l>>>e0,d=l>>>5&8,l=l>>>d,w=l>>>2&4,l=l>>>w,f=l>>>1&2,l=l>>>f,h=l>>>1&1,h=(d|e0|w|f|h)+(l>>>h)|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,w=e[l>>2]|0,e0=w+8|0,d=e[e0>>2]|0;do if((f|0)!=(d|0))if(d>>>0<(e[5151]|0)>>>0&&re(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,a0=e[5149]|0;break}else re();else e[5147]=k&~(1<<h),a0=p;while(!1);return X0=h<<3,p=X0-M|0,e[w+4>>2]=M|3,k=w+M|0,e[w+(M|4)>>2]=p|1,e[w+X0>>2]=p,a0&&(d=e[5152]|0,f=a0>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(h=20628+(c+2<<2)|0,c=e[h>>2]|0,c>>>0<(e[5151]|0)>>>0?re():($=h,x0=c)):(e[5147]=h|f,$=20628+(c+2<<2)|0,x0=l),e[$>>2]=d,e[x0+12>>2]=d,e[d+8>>2]=x0,e[d+12>>2]=l),e[5149]=p,e[5152]=k,X0=e0,X0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,xx=k>>>12&16,k=k>>>xx,H0=k>>>5&8,k=k>>>H0,X0=k>>>2&4,k=k>>>X0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((H0|xx|X0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-M|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-M|0,X0=h>>>0<k>>>0,k=X0?h:k,h=c,e0=X0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&re(),p=e0+M|0,e0>>>0>=p>>>0&&re(),w=e[e0+24>>2]|0,f=e[e0+12>>2]|0;do if((f|0)==(e0|0)){if(h=e0+20|0,c=e[h>>2]|0,!c&&(h=e0+16|0,c=e[h>>2]|0,!c)){n0=0;break}for(;;){if(f=c+20|0,l=e[f>>2]|0,l){c=l,h=f;continue}if(f=c+16|0,l=e[f>>2]|0,l)c=l,h=f;else break}if(h>>>0<d>>>0)re();else{e[h>>2]=0,n0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&re(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&re(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,n0=f;break}else re();while(!1);do if(w){if(c=e[e0+28>>2]|0,h=20892+(c<<2)|0,(e0|0)==(e[h>>2]|0)){if(e[h>>2]=n0,!n0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&re(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=n0:e[w+20>>2]=n0,!n0)break;h=e[5151]|0,n0>>>0<h>>>0&&re(),e[n0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)re();else{e[n0+16>>2]=c,e[c+24>>2]=n0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)re();else{e[n0+20>>2]=c,e[c+24>>2]=n0;break}}while(!1);return k>>>0<16?(X0=k+M|0,e[e0+4>>2]=X0|3,X0=e0+(X0+4)|0,e[X0>>2]=e[X0>>2]|1):(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=e[5149]|0,c&&(d=e[5152]|0,f=c>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(c=20628+(c+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(q=c,j=h)):(e[5147]=h|f,q=20628+(c+2<<2)|0,j=l),e[q>>2]=d,e[j+12>>2]=d,e[d+8>>2]=j,e[d+12>>2]=l),e[5149]=k,e[5152]=p),X0=e0+8|0,X0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,M=c&-8,e0=e[5148]|0,e0){h=0-M|0,c=c>>>8,c?M>>>0>16777215?k=31:(j=(c+1048320|0)>>>16&8,C0=c<<j,q=(C0+520192|0)>>>16&4,C0=C0<<q,k=(C0+245760|0)>>>16&2,k=14-(q|j|k)+(C0<<k>>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,C0=86;else for(d=h,f=0,w=M<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-M|0,h>>>0<d>>>0)if((l|0)==(M|0)){l=p,c=p,C0=90;break x}else c=p;else h=d;if(C0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(C0|0)==0|(C0|0)==(p|0)?f:C0,p)d=h,w=w<<1;else{C0=86;break}}while(!1);if((C0|0)==86){if((f|0)==0&(c|0)==0){if(c=2<<k,c=e0&(c|0-c),!c)break;c=(c&0-c)+-1|0,n0=c>>>12&16,c=c>>>n0,x0=c>>>5&8,c=c>>>x0,q=c>>>2&4,c=c>>>q,j=c>>>1&2,c=c>>>j,f=c>>>1&1,f=e[20892+((x0|n0|q|j|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,C0=90):(k=h,e0=c)}if((C0|0)==90)for(;;){if(C0=0,j=(e[l+4>>2]&-8)-M|0,f=j>>>0<h>>>0,h=f?j:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,C0=90;continue}if(l=e[l+20>>2]|0,l)C0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-M|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&re(),p=e0+M|0,e0>>>0>=p>>>0&&re(),w=e[e0+24>>2]|0,f=e[e0+12>>2]|0;do if((f|0)==(e0|0)){if(h=e0+20|0,c=e[h>>2]|0,!c&&(h=e0+16|0,c=e[h>>2]|0,!c)){s0=0;break}for(;;){if(f=c+20|0,l=e[f>>2]|0,l){c=l,h=f;continue}if(f=c+16|0,l=e[f>>2]|0,l)c=l,h=f;else break}if(h>>>0<d>>>0)re();else{e[h>>2]=0,s0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&re(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&re(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,s0=f;break}else re();while(!1);do if(w){if(c=e[e0+28>>2]|0,h=20892+(c<<2)|0,(e0|0)==(e[h>>2]|0)){if(e[h>>2]=s0,!s0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&re(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=s0:e[w+20>>2]=s0,!s0)break;h=e[5151]|0,s0>>>0<h>>>0&&re(),e[s0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)re();else{e[s0+16>>2]=c,e[c+24>>2]=s0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)re();else{e[s0+20>>2]=c,e[c+24>>2]=s0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=k>>>3,k>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(f0=c,l0=h)):(e[5147]=f|c,f0=20628+(h+2<<2)|0,l0=l),e[f0>>2]=p,e[l0+12>>2]=p,e[e0+(M+8)>>2]=l0,e[e0+(M+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,X0=c<<xx,H0=(X0+520192|0)>>>16&4,X0=X0<<H0,l=(X0+245760|0)>>>16&2,l=14-(H0|xx|l)+(X0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(M+28)>>2]=l,e[e0+(M+20)>>2]=0,e[e0+(M+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break}c=e[c>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(k|0)){for(l=k<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(k|0)){d0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break x}}else d0=c;while(!1);if(c=d0+8|0,h=e[c>>2]|0,X0=e[5151]|0,h>>>0>=X0>>>0&d0>>>0>=X0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(M+8)>>2]=h,e[e0+(M+12)>>2]=d0,e[e0+(M+24)>>2]=0;break}else re()}else X0=k+M|0,e[e0+4>>2]=X0|3,X0=e0+(X0+4)|0,e[X0>>2]=e[X0>>2]|1;while(!1);return X0=e0+8|0,X0|0}}}else M=-1;while(!1);if(f=e[5149]|0,f>>>0>=M>>>0)return c=f-M|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+M,e[5149]=c,e[h+(M+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=M|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,X0=h+(f+4)|0,e[X0>>2]=e[X0>>2]|1),X0=h+8|0,X0|0;if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,X0=e[5153]|0,e[5153]=X0+M,e[X0+(M+4)>>2]=xx|1,e[X0+4>>2]=M|3,X0=X0+8|0,X0|0;do if(!(e[5265]|0))if(c=Vu(30)|0,c+-1&c)re();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(E4(0)|0)&-16^1431655768;break}while(!1);if(w=M+48|0,d=e[5267]|0,p=M+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=M>>>0||(c=e[5257]|0,(c|0)!=0&&(l0=e[5255]|0,d0=l0+k|0,d0>>>0<=l0>>>0|d0>>>0>c>>>0)))return X0=0,X0|0;x:do if(e[5258]&4)c=0,C0=191;else{f=e[5153]|0;e:do if(f){for(c=21036;h=e[c>>2]|0,!(h>>>0<=f>>>0&&(t0=c+4|0,(h+(e[t0>>2]|0)|0)>>>0>f>>>0));)if(c=e[c+8>>2]|0,!c){C0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=Ur(h|0)|0,d0=(f|0)==((e[c>>2]|0)+(e[t0>>2]|0)|0),c=d0?h:0,d0){if((f|0)!=-1){t0=f,j=c,C0=194;break x}}else C0=184;else c=0}else C0=174;while(!1);do if((C0|0)==174)if(l=Ur(0)|0,(l|0)!=-1)if(c=l,h=e[5266]|0,f=h+-1|0,f&c?h=k-c+(f+c&0-h)|0:h=k,c=e[5255]|0,f=c+h|0,h>>>0>M>>>0&h>>>0<2147483647){if(d0=e[5257]|0,(d0|0)!=0&&f>>>0<=c>>>0|f>>>0>d0>>>0){c=0;break}if(f=Ur(h|0)|0,C0=(f|0)==(l|0),c=C0?h:0,C0){t0=l,j=c,C0=194;break x}else C0=184}else c=0;else c=0;while(!1);e:do if((C0|0)==184){l=0-h|0;do if(w>>>0>h>>>0&(h>>>0<2147483647&(f|0)!=-1)&&(u0=e[5267]|0,u0=p-h+u0&0-u0,u0>>>0<2147483647))if((Ur(u0|0)|0)==-1){Ur(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){t0=f,j=h,C0=194;break x}}while(!1);e[5258]=e[5258]|4,C0=191}while(!1);if((C0|0)==191&&k>>>0<2147483647&&(m0=Ur(k|0)|0,D0=Ur(0)|0,m0>>>0<D0>>>0&((m0|0)!=-1&(D0|0)!=-1))&&(w0=D0-m0|0,b0=w0>>>0>(M+40|0)>>>0,b0)&&(t0=m0,j=b0?w0:c,C0=194),(C0|0)==194){c=(e[5255]|0)+j|0,e[5255]=c,c>>>0>(e[5256]|0)>>>0&&(e[5256]=c),p=e[5153]|0;x:do if(p){for(d=21036;;){if(c=e[d>>2]|0,h=d+4|0,f=e[h>>2]|0,(t0|0)==(c+f|0)){C0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((C0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<t0>>>0&p>>>0>=c>>>0){e[h>>2]=f+j,X0=(e[5150]|0)+j|0,xx=p+8|0,xx=(xx&7|0)==0?0:0-xx&7,H0=X0-xx|0,e[5153]=p+xx,e[5150]=H0,e[p+(xx+4)>>2]=H0|1,e[p+(X0+4)>>2]=40,e[5154]=e[5269];break}for(c=e[5151]|0,t0>>>0<c>>>0?(e[5151]=t0,e0=t0):e0=c,h=t0+j|0,c=21036;;){if((e[c>>2]|0)==(h|0)){C0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((C0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=t0,n0=c+4|0,e[n0>>2]=(e[n0>>2]|0)+j,n0=t0+8|0,n0=(n0&7|0)==0?0:0-n0&7,a0=t0+(j+8)|0,a0=(a0&7|0)==0?0:0-a0&7,c=t0+(a0+j)|0,x0=n0+M|0,q=t0+x0|0,$=c-(t0+n0)-M|0,e[t0+(n0+4)>>2]=M|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){X0=(e[5149]|0)+$|0,e[5149]=X0,e[5152]=q,e[t0+(x0+4)>>2]=X0|1,e[t0+(X0+x0)>>2]=X0;break}if(p=j+4|0,h=e[t0+(p+a0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[t0+((a0|24)+j)>>2]|0,l=e[t0+(j+12+a0)>>2]|0;do if((l|0)==(c|0)){if(f=a0|16,l=t0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=t0+(f+j)|0,h=e[f>>2]|0,!h){G0=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<e0>>>0)re();else{e[f>>2]=0,G0=h;break}}else if(d=e[t0+((a0|8)+j)>>2]|0,d>>>0<e0>>>0&&re(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&re(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,G0=l;break}else re();while(!1);if(!w)break;h=e[t0+(j+28+a0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&re(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=G0:e[w+20>>2]=G0,!G0)break t}else{if(e[f>>2]=G0,G0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,G0>>>0<f>>>0&&re(),e[G0+24>>2]=w,c=a0|16,h=e[t0+(c+j)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[G0+16>>2]=h,e[h+24>>2]=G0;break}while(!1);if(c=e[t0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)re();else{e[G0+20>>2]=c,e[c+24>>2]=G0;break}}else{f=e[t0+((a0|8)+j)>>2]|0,l=e[t0+(j+12+a0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&re(),(e[f+12>>2]|0)==(c|0))break;re()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))O0=l+8|0;else{if(l>>>0<e0>>>0&&re(),h=l+8|0,(e[h>>2]|0)==(c|0)){O0=h;break}re()}while(!1);e[f+12>>2]=l,e[O0>>2]=f}while(!1);c=t0+((k|a0)+j)|0,d=k+$|0}else d=$;if(c=c+4|0,e[c>>2]=e[c>>2]&-2,e[t0+(x0+4)>>2]=d|1,e[t0+(d+x0)>>2]=d,c=d>>>3,d>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c;do if(!(f&c))e[5147]=f|c,H0=20628+(h+2<<2)|0,xx=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){H0=c,xx=h;break}re()}while(!1);e[H0>>2]=q,e[xx+12>>2]=q,e[t0+(x0+8)>>2]=xx,e[t0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}H0=(c+1048320|0)>>>16&8,xx=c<<H0,G0=(xx+520192|0)>>>16&4,xx=xx<<G0,l=(xx+245760|0)>>>16&2,l=14-(G0|H0|l)+(xx<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(c=20892+(l<<2)|0,e[t0+(x0+28)>>2]=l,e[t0+(x0+20)>>2]=0,e[t0+(x0+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=q,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=q,e[t0+(x0+8)>>2]=q;break}c=e[c>>2]|0;t:do if((e[c+4>>2]&-8|0)!=(d|0)){for(l=d<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(d|0)){X0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=q,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=q,e[t0+(x0+8)>>2]=q;break e}}else X0=c;while(!1);if(c=X0+8|0,h=e[c>>2]|0,xx=e[5151]|0,h>>>0>=xx>>>0&X0>>>0>=xx>>>0){e[h+12>>2]=q,e[c>>2]=q,e[t0+(x0+8)>>2]=h,e[t0+(x0+12)>>2]=X0,e[t0+(x0+24)>>2]=0;break}else re()}else X0=(e[5150]|0)+$|0,e[5150]=X0,e[5153]=q,e[t0+(x0+4)>>2]=X0|1;while(!1);return X0=t0+(n0|8)|0,X0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(y0=e[h+4>>2]|0,h0=c+y0|0,h0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(y0+-39)|0,h=c+(y0+-47+((h&7|0)==0?0:0-h&7))|0,d=p+16|0,h=h>>>0<d>>>0?p:h,c=h+8|0,f=t0+8|0,f=(f&7|0)==0?0:0-f&7,X0=j+-40-f|0,e[5153]=t0+f,e[5150]=X0,e[t0+(f+4)>>2]=X0|1,e[t0+(j+-36)>>2]=40,e[5154]=e[5269],f=h+4|0,e[f>>2]=27,e[c>>2]=e[5259],e[c+4>>2]=e[5260],e[c+8>>2]=e[5261],e[c+12>>2]=e[5262],e[5259]=t0,e[5260]=j,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<h0>>>0)do X0=c,c=c+4|0,e[c>>2]=7;while((X0+8|0)>>>0<h0>>>0);if((h|0)!=(p|0)){if(w=h-p|0,e[f>>2]=e[f>>2]&-2,e[p+4>>2]=w|1,e[h>>2]=w,c=w>>>3,w>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?re():(B0=c,I0=h)):(e[5147]=f|c,B0=20628+(h+2<<2)|0,I0=l),e[B0>>2]=p,e[I0+12>>2]=p,e[p+8>>2]=I0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,X0=c<<xx,H0=(X0+520192|0)>>>16&4,X0=X0<<H0,l=(X0+245760|0)>>>16&2,l=14-(H0|xx|l)+(X0<<l>>>15)|0,l=w>>>(l+7|0)&1|l<<1):l=0,f=20892+(l<<2)|0,e[p+28>>2]=l,e[p+20>>2]=0,e[d>>2]=0,c=e[5148]|0,h=1<<l,!(c&h)){e[5148]=c|h,e[f>>2]=p,e[p+24>>2]=f,e[p+12>>2]=p,e[p+8>>2]=p;break}c=e[f>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(w|0)){for(l=w<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(w|0)){U0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else U0=c;while(!1);if(c=U0+8|0,h=e[c>>2]|0,X0=e[5151]|0,h>>>0>=X0>>>0&U0>>>0>=X0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=U0,e[p+24>>2]=0;break}else re()}}else{X0=e[5151]|0,(X0|0)==0|t0>>>0<X0>>>0&&(e[5151]=t0),e[5259]=t0,e[5260]=j,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do X0=c<<1,xx=20628+(X0<<2)|0,e[20628+(X0+3<<2)>>2]=xx,e[20628+(X0+2<<2)>>2]=xx,c=c+1|0;while((c|0)!=32);X0=t0+8|0,X0=(X0&7|0)==0?0:0-X0&7,xx=j+-40-X0|0,e[5153]=t0+X0,e[5150]=xx,e[t0+(X0+4)>>2]=xx|1,e[t0+(j+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,X0=e[5153]|0,e[5153]=X0+M,e[X0+(M+4)>>2]=xx|1,e[X0+4>>2]=M|3,X0=X0+8|0,X0|0}return e[5135]|0?c=e[(D7()|0)+60>>2]|0:c=20584,e[c>>2]=12,X0=0,X0|0}function zm(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0,j=0,t0=0,s0=0,f0=0,l0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&re(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&re(),M=f&-8,j=c+(M+-8)|0;do if(f&1)l0=h,w=M;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+M|0,$>>>0<k>>>0&&re(),($|0)==(e[5152]|0)){if(h=c+(M+-4)|0,f=e[h>>2]|0,(f&3|0)!=3){l0=$,w=x0;break}e[5149]=x0,e[h>>2]=f&-2,e[c+(e0+4)>>2]=x0|1,e[j>>2]=x0;return}if(d=h>>>3,h>>>0<256){if(l=e[c+(e0+8)>>2]|0,f=e[c+(e0+12)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<k>>>0&&re(),(e[l+12>>2]|0)!=($|0)&&re()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),l0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&re(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:re()):p=f+8|0,e[l+12>>2]=f,e[p>>2]=l,l0=$,w=x0;break}p=e[c+(e0+24)>>2]|0,l=e[c+(e0+12)>>2]|0;do if((l|0)==($|0)){if(f=c+(e0+20)|0,h=e[f>>2]|0,!h&&(f=c+(e0+16)|0,h=e[f>>2]|0,!h)){a0=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<k>>>0)re();else{e[f>>2]=0,a0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&re(),h=d+12|0,(e[h>>2]|0)!=($|0)&&re(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,a0=l;break}else re();while(!1);if(p){if(h=e[c+(e0+28)>>2]|0,f=20892+(h<<2)|0,($|0)==(e[f>>2]|0)){if(e[f>>2]=a0,!a0){e[5148]=e[5148]&~(1<<h),l0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&re(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=a0:e[p+20>>2]=a0,!a0){l0=$,w=x0;break}f=e[5151]|0,a0>>>0<f>>>0&&re(),e[a0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[a0+16>>2]=h,e[h+24>>2]=a0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)re();else{e[a0+20>>2]=h,e[h+24>>2]=a0,l0=$,w=x0;break}else l0=$,w=x0}else l0=$,w=x0}while(!1);if(l0>>>0>=j>>>0&&re(),h=c+(M+-4)|0,f=e[h>>2]|0,f&1||re(),f&2)e[h>>2]=f&-2,e[l0+4>>2]=w|1,e[l0+w>>2]=w;else{if((j|0)==(e[5153]|0)){if(f0=(e[5150]|0)+w|0,e[5150]=f0,e[5153]=l0,e[l0+4>>2]=f0|1,(l0|0)!=(e[5152]|0))return;e[5152]=0,e[5149]=0;return}if((j|0)==(e[5152]|0)){f0=(e[5149]|0)+w|0,e[5149]=f0,e[5152]=l0,e[l0+4>>2]=f0|1,e[l0+f0>>2]=f0;return}w=(f&-8)+w|0,d=f>>>3;do if(f>>>0>=256){p=e[c+(M+16)>>2]|0,h=e[c+(M|4)>>2]|0;do if((h|0)==(j|0)){if(f=c+(M+12)|0,h=e[f>>2]|0,!h&&(f=c+(M+8)|0,h=e[f>>2]|0,!h)){q=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<(e[5151]|0)>>>0)re();else{e[f>>2]=0,q=h;break}}else if(f=e[c+M>>2]|0,f>>>0<(e[5151]|0)>>>0&&re(),l=f+12|0,(e[l>>2]|0)!=(j|0)&&re(),d=h+8|0,(e[d>>2]|0)==(j|0)){e[l>>2]=h,e[d>>2]=f,q=h;break}else re();while(!1);if(p){if(h=e[c+(M+20)>>2]|0,f=20892+(h<<2)|0,(j|0)==(e[f>>2]|0)){if(e[f>>2]=q,!q){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&re(),h=p+16|0,(e[h>>2]|0)==(j|0)?e[h>>2]=q:e[p+20>>2]=q,!q)break;f=e[5151]|0,q>>>0<f>>>0&&re(),e[q+24>>2]=p,h=e[c+(M+8)>>2]|0;do if(h)if(h>>>0<f>>>0)re();else{e[q+16>>2]=h,e[h+24>>2]=q;break}while(!1);if(h=e[c+(M+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)re();else{e[q+20>>2]=h,e[h+24>>2]=q;break}}}else{if(l=e[c+M>>2]|0,f=e[c+(M|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&re(),(e[l+12>>2]|0)!=(j|0)&&re()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&re(),h=f+8|0,(e[h>>2]|0)==(j|0)?n0=h:re()):n0=f+8|0,e[l+12>>2]=f,e[n0>>2]=l}while(!1);if(e[l0+4>>2]=w|1,e[l0+w>>2]=w,(l0|0)==(e[5152]|0)){e[5149]=w;return}}if(h=w>>>3,w>>>0<256){f=h<<1,d=20628+(f<<2)|0,l=e[5147]|0,h=1<<h,l&h?(h=20628+(f+2<<2)|0,f=e[h>>2]|0,f>>>0<(e[5151]|0)>>>0?re():(t0=h,s0=f)):(e[5147]=l|h,t0=20628+(f+2<<2)|0,s0=d),e[t0>>2]=l0,e[s0+12>>2]=l0,e[l0+8>>2]=s0,e[l0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(t0=(h+1048320|0)>>>16&8,s0=h<<t0,j=(s0+520192|0)>>>16&4,s0=s0<<j,d=(s0+245760|0)>>>16&2,d=14-(j|t0|d)+(s0<<d>>>15)|0,d=w>>>(d+7|0)&1|d<<1):d=0,h=20892+(d<<2)|0,e[l0+28>>2]=d,e[l0+20>>2]=0,e[l0+16>>2]=0,f=e[5148]|0,l=1<<d;x:do if(f&l){h=e[h>>2]|0;e:do if((e[h+4>>2]&-8|0)!=(w|0)){for(d=w<<((d|0)==31?0:25-(d>>>1)|0);l=h+16+(d>>>31<<2)|0,f=e[l>>2]|0,!!f;)if((e[f+4>>2]&-8|0)==(w|0)){f0=f;break e}else d=d<<1,h=f;if(l>>>0<(e[5151]|0)>>>0)re();else{e[l>>2]=l0,e[l0+24>>2]=h,e[l0+12>>2]=l0,e[l0+8>>2]=l0;break x}}else f0=h;while(!1);if(h=f0+8|0,f=e[h>>2]|0,s0=e[5151]|0,f>>>0>=s0>>>0&f0>>>0>=s0>>>0){e[f+12>>2]=l0,e[h>>2]=l0,e[l0+8>>2]=f,e[l0+12>>2]=f0,e[l0+24>>2]=0;break}else re()}else e[5148]=f|l,e[h>>2]=l0,e[l0+24>>2]=h,e[l0+12>>2]=l0,e[l0+8>>2]=l0;while(!1);if(l0=(e[5155]|0)+-1|0,e[5155]=l0,!l0)h=21044;else return;for(;h=e[h>>2]|0,h;)h=h+8|0;e[5155]=-1}}function TG(){}function Zt(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,l=h-l-(f>>>0>c>>>0|0)>>>0,v0=l,c-f>>>0|0|0}function Vx(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0;if(l=c+f|0,(f|0)>=20){if(h=h&255,w=c&3,p=h|h<<8|h<<16|h<<24,d=l&-4,w)for(w=c+4-w|0;(c|0)<(w|0);)n[c>>0]=h,c=c+1|0;for(;(c|0)<(d|0);)e[c>>2]=p,c=c+4|0}for(;(c|0)<(l|0);)n[c>>0]=h,c=c+1|0;return c-f|0}function Dx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(v0=0,h>>>f-32|0)}function Ix(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(v0=c<<f-32,0)}function $x(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return C4(c|0,h|0,f|0)|0;if(l=c|0,(c&3)==(h&3)){for(;c&3;){if(!f)return l|0;n[c>>0]=n[h>>0]|0,c=c+1|0,h=h+1|0,f=f-1|0}for(;(f|0)>=4;)e[c>>2]=e[h>>2],c=c+4|0,h=h+4|0,f=f-4|0}for(;(f|0)>0;)n[c>>0]=n[h>>0]|0,c=c+1|0,h=h+1|0,f=f-1|0;return l|0}function $u(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,v0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function xf(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((h|0)<(c|0)&(c|0)<(h+f|0)){for(l=c,h=h+f|0,c=c+f|0;(f|0)>0;)c=c-1|0,h=h-1|0,f=f-1|0,n[c>>0]=n[h>>0]|0;c=l}else $x(c,h,f)|0;return c|0}function Al0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(v0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(v0=(h|0)<0?-1:0,h>>f-32|0)}function Wm(c){c=c|0;var h=0;return h=n[P0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[P0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[P0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[P0+(c>>>24)>>0]|0)+24|0))}function RG(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0;return w=c&65535,d=h&65535,f=rx(d,w)|0,l=c>>>16,c=(f>>>16)+(rx(d,l)|0)|0,d=h>>>16,h=rx(d,w)|0,v0=(c>>>16)+(rx(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function El0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0;return a0=h>>31|((h|0)<0?-1:0)<<1,e0=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,w=l>>31|((l|0)<0?-1:0)<<1,d=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,k=Zt(a0^c,e0^h,a0,e0)|0,p=v0,c=w^a0,h=d^e0,Zt((ef(k,p,Zt(w^f,d^l,w,d)|0,v0,0)|0)^c,v0^h,c,h)|0}function Cl0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0,p=0,k=0,e0=0,a0=0;return d=c0,c0=c0+16|0,k=d|0,p=h>>31|((h|0)<0?-1:0)<<1,w=((h|0)<0?-1:0)>>31|((h|0)<0?-1:0)<<1,a0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=Zt(p^c,w^h,p,w)|0,h=v0,ef(c,h,Zt(a0^f,e0^l,a0,e0)|0,v0,k)|0,l=Zt(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=v0,c0=d,v0=f,l|0}function Se(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;return d=c,w=f,f=RG(d,w)|0,c=v0,v0=(rx(h,w)|0)+(rx(l,d)|0)+c|c&0,f|0|0|0}function kl0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,ef(c,h,f,l,0)|0}function Sl0(c,h,f,l){c=c|0,h=h|0,f=f|0,l=l|0;var d=0,w=0;return w=c0,c0=c0+16|0,d=w|0,ef(c,h,f,l,d)|0,c0=w,v0=e[d+4>>2]|0,e[d>>2]|0|0}function ef(c,h,f,l,d){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0;var w=0,p=0,k=0,e0=0,a0=0,$=0,x0=0,n0=0,M=0,q=0;if($=c,e0=h,a0=e0,p=f,n0=l,k=n0,!a0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,n0=0,d=0,v0=n0,d|0):(n0=0,d=0,v0=n0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),n0=0,d=($>>>0)/(p>>>0)>>>0,v0=n0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Ax(k|0)|0)-(Ax(a0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|a0<<k,h=a0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,n0=0,d=0,v0=n0,d|0):(n0=0,d=0,v0=n0,d|0)}if(w=p-1|0,w&p){k=(Ax(p|0)|0)+33-(Ax(a0|0)|0)|0,q=64-k|0,x0=32-k|0,e0=x0>>31,M=k-32|0,h=M>>31,p=k,c=x0-1>>31&a0>>>(M>>>0)|(a0<<x0|$>>>(k>>>0))&h,h=h&a0>>>(k>>>0),w=$<<q&e0,k=(a0<<q|$>>>(M>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(M=e0|h&0,q=c|0|0,v0=M,q|0):(q=Wm(p|0)|0,M=a0>>>(q>>>0)|0,q=a0<<32-q|$>>>(q>>>0)|0,v0=M,q|0)}else{if(w)return d&&(e[d>>2]=(a0>>>0)%(p>>>0),e[d+4>>2]=0),M=0,q=(a0>>>0)/(p>>>0)>>>0,v0=M,q|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(a0>>>0)%(k>>>0)),M=0,q=(a0>>>0)/(k>>>0)>>>0,v0=M,q|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&a0|h&0),M=0,q=a0>>>((Wm(k|0)|0)>>>0),v0=M,q|0;if(w=(Ax(k|0)|0)-(Ax(a0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=a0<<k|$>>>(h>>>0),h=a0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,M=0,q=0,v0=M,q|0):(M=0,q=0,v0=M,q|0)}while(!1);if(!p)a0=k,e0=0,k=0;else{x0=f|0|0,$=n0|l&0,a0=$u(x0|0,$|0,-1,-1)|0,f=v0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,n0=c>>>31|h<<1|0,Zt(a0,f,l,n0)|0,q=v0,M=q>>31|((q|0)<0?-1:0)<<1,k=M&1,c=Zt(l,n0,M&x0,(((q|0)<0?-1:0)>>31|((q|0)<0?-1:0)<<1)&$)|0,h=v0,p=p-1|0;while((p|0)!=0);a0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),M=(w|0)>>>31|(a0|p)<<1|(p<<1|w>>>31)&0|e0,q=(w<<1|0)&-2|k,v0=M,q|0}function _G(c,h,f){c=c|0,h=h|0,f=f|0,vx[c&1](h|0,f|0)}function NG(c,h,f){return c=c|0,h=h|0,f=f|0,Tx[c&1](h|0,f|0)|0}function LG(c,h){c=c|0,h=h|0,wt(0)}function MG(c,h){return c=c|0,h=h|0,wt(1),0}var vx=[LG,BG],Tx=[MG,Mm];return{_i64Subtract:Zt,_free:zm,_i64Add:$u,_memmove:xf,_memset:Vx,_malloc:_4,_encode:vG,_memcpy:$x,_bitshift64Lshr:Dx,_bitshift64Shl:Ix,runPostSets:TG,stackAlloc:pG,stackSave:bG,stackRestore:gG,establishStackSpace:mG,setThrew:yG,setTempRet0:wG,getTempRet0:DG,dynCall_vii:_G,dynCall_iii:NG}}(b.I,b.J,buffer),Ja=b._i64Subtract=Y._i64Subtract,pa=b._free=Y._free;b.runPostSets=Y.runPostSets;var Pa=b._i64Add=Y._i64Add,Qa=b._memmove=Y._memmove,La=b._memset=Y._memset,ia=b._malloc=Y._malloc;b._encode=Y._encode;var Oa=b._memcpy=Y._memcpy,Ma=b._bitshift64Lshr=Y._bitshift64Lshr,Na=b._bitshift64Shl=Y._bitshift64Shl;b.dynCall_vii=Y.dynCall_vii;b.dynCall_iii=Y.dynCall_iii;A.n=Y.stackAlloc;A.G=Y.stackSave;A.F=Y.stackRestore;A.W=Y.establishStackSpace;A.P=Y.setTempRet0;A.N=Y.getTempRet0;W&&(typeof b.locateFile=="function"?W=b.locateFile(W):b.memoryInitializerPrefixURL&&(W=b.memoryInitializerPrefixURL+W),v||x?(Ta=b.readBinary(W),P.set(Ta,A.C)):(Va=function(){Browser.T(W,Ua,function(){throw"could not load memory initializer "+W})},U++,b.monitorRunDependencies&&b.monitorRunDependencies(U),Ua=function(i){i.byteLength&&(i=new Uint8Array(i)),P.set(i,A.C),U--,b.monitorRunDependencies&&b.monitorRunDependencies(U),U==0&&(Ha!==null&&(clearInterval(Ha),Ha=null),V&&(i=V,V=null,i()))},Z=b.memoryInitializerRequest,Z?(Wa=function(){Z.status!==200&&Z.status!==0?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+Z.status+", retrying "+W),Va()):Ua(Z.response)},Z.response?setTimeout(Wa,0):Z.addEventListener("load",Wa)):Va()));var Ta,Va,Ua,Z,Wa;function y(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}y.prototype=Error();y.prototype.constructor=y;var Xa=null,V=function i(){b.calledRun||Za(),b.calledRun||(V=i)};b.callMain=b.U=function(i){function r(){for(var s=0;3>s;s++)n.push(0)}assert(U==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(Aa.length==0,"cannot call main when preRun functions remain to be called"),i=i||[],T||(T=!0,S(Ba));var a=i.length+1,n=[O(Ga(b.thisProgram),"i8",0)];r();for(var o=0;o<a-1;o+=1)n.push(O(Ga(i[o]),"i8",0)),r();n.push(0),n=O(n,"i32",0);try{var e=b._main(a,n,0);$a(e,!0)}catch(s){if(!(s instanceof y))if(s=="SimulateInfiniteLoop")b.noExitRuntime=!0;else throw s&&typeof s=="object"&&s.stack&&b.A("exception thrown: "+[s,s.stack]),s}finally{}};function Za(i){function r(){if(!b.calledRun&&(b.calledRun=!0,!F)){if(T||(T=!0,S(Ba)),S(Ca),b.onRuntimeInitialized&&b.onRuntimeInitialized(),b._main&&ab&&b.callMain(i),b.postRun)for(typeof b.postRun=="function"&&(b.postRun=[b.postRun]);b.postRun.length;){var a=b.postRun.shift();Ea.unshift(a)}S(Ea)}}if(i=i||b.arguments,Xa===null&&(Xa=Date.now()),!(0<U)){if(b.preRun)for(typeof b.preRun=="function"&&(b.preRun=[b.preRun]);b.preRun.length;)Fa();S(Aa),0<U||b.calledRun||(b.setStatus?(b.setStatus("Running..."),setTimeout(function(){setTimeout(function(){b.setStatus("")},1),r()},1)):r())}}b.run=b.run=Za;function $a(i,r){if(!r||!b.noExitRuntime)throw!b.noExitRuntime&&(F=!0,z=void 0,S(Da),b.onExit)&&b.onExit(i),v?(process.stdout.once("drain",function(){process.exit(i)}),console.log(" "),setTimeout(function(){process.exit(i)},500)):x&&typeof quit=="function"&&quit(i),new y(i)}b.exit=b.exit=$a;var bb=[];function E(i){i!==void 0?(b.print(i),b.A(i),i=JSON.stringify(i)):i="",F=!0;var r="abort("+i+") at "+qa()+`
|
|
217
217
|
If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`;throw bb&&bb.forEach(function(a){r=a(r,i)}),r}b.abort=b.abort=E;if(b.preInit)for(typeof b.preInit=="function"&&(b.preInit=[b.preInit]);0<b.preInit.length;)b.preInit.pop()();var ab=!0;b.noInitialRun&&(ab=!1);Za()});var $U=_0((cD0,ZU)=>{var to=JU();ZU.exports=function(i,r){var a=11,n=0,o=22;typeof r=="boolean"?n=r?0:1:typeof r=="object"&&(a=r.quality||11,n=r.mode||0,o=r.lgwin||22);var e=to._malloc(i.length);to.HEAPU8.set(i,e);var s=to._malloc(i.length+1024),_=to._encode(a,o,n,i.length,e,i.length,s),o0=null;return _!==-1&&(o0=new Uint8Array(_),o0.set(to.HEAPU8.subarray(s,s+_))),to._free(e),to._free(s),o0}});var xH=_0(Sg=>{Sg.compress=$U();Sg.decompress=Cg().BrotliDecompressBuffer});var u4=_0(kr=>{"use strict";kr.isInteger=i=>typeof i=="number"?Number.isInteger(i):typeof i=="string"&&i.trim()!==""?Number.isInteger(Number(i)):!1;kr.find=(i,r)=>i.nodes.find(a=>a.type===r);kr.exceedsLimit=(i,r,a=1,n)=>n===!1||!kr.isInteger(i)||!kr.isInteger(r)?!1:(Number(r)-Number(i))/Number(a)>=n;kr.escapeNode=(i,r=0,a)=>{let n=i.nodes[r];n&&(a&&n.type===a||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};kr.encloseBrace=i=>i.type!=="brace"?!1:i.commas>>0+i.ranges>>0===0?(i.invalid=!0,!0):!1;kr.isInvalidBrace=i=>i.type!=="brace"?!1:i.invalid===!0||i.dollar?!0:i.commas>>0+i.ranges>>0===0||i.open!==!0||i.close!==!0?(i.invalid=!0,!0):!1;kr.isOpenOrClose=i=>i.type==="open"||i.type==="close"?!0:i.open===!0||i.close===!0;kr.reduce=i=>i.reduce((r,a)=>(a.type==="text"&&r.push(a.value),a.type==="range"&&(a.type="text"),r),[]);kr.flatten=(...i)=>{let r=[],a=n=>{for(let o=0;o<n.length;o++){let e=n[o];if(Array.isArray(e)){a(e);continue}e!==void 0&&r.push(e)}return r};return a(i),r}});var f4=_0((dD0,tH)=>{"use strict";var eH=u4();tH.exports=(i,r={})=>{let a=(n,o={})=>{let e=r.escapeInvalid&&eH.isInvalidBrace(o),s=n.invalid===!0&&r.escapeInvalid===!0,_="";if(n.value)return(e||s)&&eH.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let o0 of n.nodes)_+=a(o0);return _};return a(i)}});var iH=_0((lD0,rH)=>{"use strict";rH.exports=function(i){return typeof i=="number"?i-i===0:typeof i=="string"&&i.trim()!==""?Number.isFinite?Number.isFinite(+i):isFinite(+i):!1}});var lH=_0((hD0,dH)=>{"use strict";var nH=iH(),ro=(i,r,a)=>{if(nH(i)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(r===void 0||i===r)return String(i);if(nH(r)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...a};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),e=String(n.shorthand),s=String(n.capture),_=String(n.wrap),o0=i+":"+r+"="+o+e+s+_;if(ro.cache.hasOwnProperty(o0))return ro.cache[o0].result;let r0=Math.min(i,r),i0=Math.max(i,r);if(Math.abs(r0-i0)===1){let P0=i+"|"+r;return n.capture?`(${P0})`:n.wrap===!1?P0:`(?:${P0})`}let c0=fH(i)||fH(r),g0={min:i,max:r,a:r0,b:i0},p0=[],E0=[];if(c0&&(g0.isPadded=c0,g0.maxLen=String(g0.max).length),r0<0){let P0=i0<0?Math.abs(i0):1;E0=aH(P0,Math.abs(r0),g0,n),r0=g0.a=0}return i0>=0&&(p0=aH(r0,i0,g0,n)),g0.negatives=E0,g0.positives=p0,g0.result=rd0(E0,p0,n),n.capture===!0?g0.result=`(${g0.result})`:n.wrap!==!1&&p0.length+E0.length>1&&(g0.result=`(?:${g0.result})`),ro.cache[o0]=g0,g0.result};function rd0(i,r,a){let n=Fg(i,r,"-",!1,a)||[],o=Fg(r,i,"",!1,a)||[],e=Fg(i,r,"-?",!0,a)||[];return n.concat(e).concat(o).join("|")}function id0(i,r){let a=1,n=1,o=oH(i,a),e=new Set([r]);for(;i<=o&&o<=r;)e.add(o),a+=1,o=oH(i,a);for(o=cH(r+1,n)-1;i<o&&o<=r;)e.add(o),n+=1,o=cH(r+1,n)-1;return e=[...e],e.sort(sd0),e}function nd0(i,r,a){if(i===r)return{pattern:i,count:[],digits:0};let n=ad0(i,r),o=n.length,e="",s=0;for(let _=0;_<o;_++){let[o0,r0]=n[_];o0===r0?e+=o0:o0!=="0"||r0!=="9"?e+=od0(o0,r0,a):s++}return s&&(e+=a.shorthand===!0?"\\d":"[0-9]"),{pattern:e,count:[s],digits:o}}function aH(i,r,a,n){let o=id0(i,r),e=[],s=i,_;for(let o0=0;o0<o.length;o0++){let r0=o[o0],i0=nd0(String(s),String(r0),n),c0="";if(!a.isPadded&&_&&_.pattern===i0.pattern){_.count.length>1&&_.count.pop(),_.count.push(i0.count[0]),_.string=_.pattern+uH(_.count),s=r0+1;continue}a.isPadded&&(c0=cd0(r0,a,n)),i0.string=c0+i0.pattern+uH(i0.count),e.push(i0),s=r0+1,_=i0}return e}function Fg(i,r,a,n,o){let e=[];for(let s of i){let{string:_}=s;!n&&!sH(r,"string",_)&&e.push(a+_),n&&sH(r,"string",_)&&e.push(a+_)}return e}function ad0(i,r){let a=[];for(let n=0;n<i.length;n++)a.push([i[n],r[n]]);return a}function sd0(i,r){return i>r?1:r>i?-1:0}function sH(i,r,a){return i.some(n=>n[r]===a)}function oH(i,r){return Number(String(i).slice(0,-r)+"9".repeat(r))}function cH(i,r){return i-i%Math.pow(10,r)}function uH(i){let[r=0,a=""]=i;return a||r>1?`{${r+(a?","+a:"")}}`:""}function od0(i,r,a){return`[${i}${r-i===1?"":"-"}${r}]`}function fH(i){return/^-?(0+)\d/.test(i)}function cd0(i,r,a){if(!r.isPadded)return i;let n=Math.abs(r.maxLen-String(i).length),o=a.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}ro.cache={};ro.clearCache=()=>ro.cache={};dH.exports=ro});var Ig=_0((pD0,wH)=>{"use strict";var ud0=require("util"),pH=lH(),hH=i=>i!==null&&typeof i=="object"&&!Array.isArray(i),fd0=i=>r=>i===!0?Number(r):String(r),Og=i=>typeof i=="number"||typeof i=="string"&&i!=="",Tu=i=>Number.isInteger(+i),Pg=i=>{let r=`${i}`,a=-1;if(r[0]==="-"&&(r=r.slice(1)),r==="0")return!1;for(;r[++a]==="0";);return a>0},dd0=(i,r,a)=>typeof i=="string"||typeof r=="string"?!0:a.stringify===!0,ld0=(i,r,a)=>{if(r>0){let n=i[0]==="-"?"-":"";n&&(i=i.slice(1)),i=n+i.padStart(n?r-1:r,"0")}return a===!1?String(i):i},l4=(i,r)=>{let a=i[0]==="-"?"-":"";for(a&&(i=i.slice(1),r--);i.length<r;)i="0"+i;return a?"-"+i:i},hd0=(i,r,a)=>{i.negatives.sort((_,o0)=>_<o0?-1:_>o0?1:0),i.positives.sort((_,o0)=>_<o0?-1:_>o0?1:0);let n=r.capture?"":"?:",o="",e="",s;return i.positives.length&&(o=i.positives.map(_=>l4(String(_),a)).join("|")),i.negatives.length&&(e=`-(${n}${i.negatives.map(_=>l4(String(_),a)).join("|")})`),o&&e?s=`${o}|${e}`:s=o||e,r.wrap?`(${n}${s})`:s},bH=(i,r,a,n)=>{if(a)return pH(i,r,{wrap:!1,...n});let o=String.fromCharCode(i);if(i===r)return o;let e=String.fromCharCode(r);return`[${o}-${e}]`},gH=(i,r,a)=>{if(Array.isArray(i)){let n=a.wrap===!0,o=a.capture?"":"?:";return n?`(${o}${i.join("|")})`:i.join("|")}return pH(i,r,a)},mH=(...i)=>new RangeError("Invalid range arguments: "+ud0.inspect(...i)),yH=(i,r,a)=>{if(a.strictRanges===!0)throw mH([i,r]);return[]},pd0=(i,r)=>{if(r.strictRanges===!0)throw new TypeError(`Expected step "${i}" to be a number`);return[]},bd0=(i,r,a=1,n={})=>{let o=Number(i),e=Number(r);if(!Number.isInteger(o)||!Number.isInteger(e)){if(n.strictRanges===!0)throw mH([i,r]);return[]}o===0&&(o=0),e===0&&(e=0);let s=o>e,_=String(i),o0=String(r),r0=String(a);a=Math.max(Math.abs(a),1);let i0=Pg(_)||Pg(o0)||Pg(r0),c0=i0?Math.max(_.length,o0.length,r0.length):0,g0=i0===!1&&dd0(i,r,n)===!1,p0=n.transform||fd0(g0);if(n.toRegex&&a===1)return bH(l4(i,c0),l4(r,c0),!0,n);let E0={negatives:[],positives:[]},P0=Y0=>E0[Y0<0?"negatives":"positives"].push(Math.abs(Y0)),F0=[],N0=0;for(;s?o>=e:o<=e;)n.toRegex===!0&&a>1?P0(o):F0.push(ld0(p0(o,N0),c0,g0)),o=s?o-a:o+a,N0++;return n.toRegex===!0?a>1?hd0(E0,n,c0):gH(F0,null,{wrap:!1,...n}):F0},gd0=(i,r,a=1,n={})=>{if(!Tu(i)&&i.length>1||!Tu(r)&&r.length>1)return yH(i,r,n);let o=n.transform||(g0=>String.fromCharCode(g0)),e=`${i}`.charCodeAt(0),s=`${r}`.charCodeAt(0),_=e>s,o0=Math.min(e,s),r0=Math.max(e,s);if(n.toRegex&&a===1)return bH(o0,r0,!1,n);let i0=[],c0=0;for(;_?e>=s:e<=s;)i0.push(o(e,c0)),e=_?e-a:e+a,c0++;return n.toRegex===!0?gH(i0,null,{wrap:!1,options:n}):i0},d4=(i,r,a,n={})=>{if(r==null&&Og(i))return[i];if(!Og(i)||!Og(r))return yH(i,r,n);if(typeof a=="function")return d4(i,r,1,{transform:a});if(hH(a))return d4(i,r,0,a);let o={...n};return o.capture===!0&&(o.wrap=!0),a=a||o.step||1,Tu(a)?Tu(i)&&Tu(r)?bd0(i,r,a,o):gd0(i,r,Math.max(Math.abs(a),1),o):a!=null&&!hH(a)?pd0(a,o):d4(i,r,1,a)};wH.exports=d4});var AH=_0((bD0,vH)=>{"use strict";var md0=Ig(),DH=u4(),yd0=(i,r={})=>{let a=(n,o={})=>{let e=DH.isInvalidBrace(o),s=n.invalid===!0&&r.escapeInvalid===!0,_=e===!0||s===!0,o0=r.escapeInvalid===!0?"\\":"",r0="";if(n.isOpen===!0)return o0+n.value;if(n.isClose===!0)return console.log("node.isClose",o0,n.value),o0+n.value;if(n.type==="open")return _?o0+n.value:"(";if(n.type==="close")return _?o0+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":_?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let i0=DH.reduce(n.nodes),c0=md0(...i0,{...r,wrap:!1,toRegex:!0,strictZeros:!0});if(c0.length!==0)return i0.length>1&&c0.length>1?`(${c0})`:c0}if(n.nodes)for(let i0 of n.nodes)r0+=a(i0,n);return r0};return a(i)};vH.exports=yd0});var kH=_0((gD0,CH)=>{"use strict";var wd0=Ig(),EH=f4(),h7=u4(),io=(i="",r="",a=!1)=>{let n=[];if(i=[].concat(i),r=[].concat(r),!r.length)return i;if(!i.length)return a?h7.flatten(r).map(o=>`{${o}}`):r;for(let o of i)if(Array.isArray(o))for(let e of o)n.push(io(e,r,a));else for(let e of r)a===!0&&typeof e=="string"&&(e=`{${e}}`),n.push(Array.isArray(e)?io(o,e,a):o+e);return h7.flatten(n)},Dd0=(i,r={})=>{let a=r.rangeLimit===void 0?1e3:r.rangeLimit,n=(o,e={})=>{o.queue=[];let s=e,_=e.queue;for(;s.type!=="brace"&&s.type!=="root"&&s.parent;)s=s.parent,_=s.queue;if(o.invalid||o.dollar){_.push(io(_.pop(),EH(o,r)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){_.push(io(_.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let c0=h7.reduce(o.nodes);if(h7.exceedsLimit(...c0,r.step,a))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let g0=wd0(...c0,r);g0.length===0&&(g0=EH(o,r)),_.push(io(_.pop(),g0)),o.nodes=[];return}let o0=h7.encloseBrace(o),r0=o.queue,i0=o;for(;i0.type!=="brace"&&i0.type!=="root"&&i0.parent;)i0=i0.parent,r0=i0.queue;for(let c0=0;c0<o.nodes.length;c0++){let g0=o.nodes[c0];if(g0.type==="comma"&&o.type==="brace"){c0===1&&r0.push(""),r0.push("");continue}if(g0.type==="close"){_.push(io(_.pop(),r0,o0));continue}if(g0.value&&g0.type!=="open"){r0.push(io(r0.pop(),g0.value));continue}g0.nodes&&n(g0,o)}return r0};return h7.flatten(n(i))};CH.exports=Dd0});var FH=_0((mD0,SH)=>{"use strict";SH.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
218
|
-
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var TH=_0((yD0,BH)=>{"use strict";var vd0=f4(),{MAX_LENGTH:OH,CHAR_BACKSLASH:Bg,CHAR_BACKTICK:Ad0,CHAR_COMMA:Ed0,CHAR_DOT:Cd0,CHAR_LEFT_PARENTHESES:kd0,CHAR_RIGHT_PARENTHESES:Sd0,CHAR_LEFT_CURLY_BRACE:Fd0,CHAR_RIGHT_CURLY_BRACE:Od0,CHAR_LEFT_SQUARE_BRACKET:PH,CHAR_RIGHT_SQUARE_BRACKET:IH,CHAR_DOUBLE_QUOTE:Pd0,CHAR_SINGLE_QUOTE:Id0,CHAR_NO_BREAK_SPACE:Bd0,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Td0}=FH(),Rd0=(i,r={})=>{if(typeof i!="string")throw new TypeError("Expected a string");let a=r||{},n=typeof a.maxLength=="number"?Math.min(OH,a.maxLength):OH;if(i.length>n)throw new SyntaxError(`Input length (${i.length}), exceeds max characters (${n})`);let o={type:"root",input:i,nodes:[]},e=[o],s=o,_=o,o0=0,r0=i.length,i0=0,c0=0,g0,p0=()=>i[i0++],E0=P0=>{if(P0.type==="text"&&_.type==="dot"&&(_.type="text"),_&&_.type==="text"&&P0.type==="text"){_.value+=P0.value;return}return s.nodes.push(P0),P0.parent=s,P0.prev=_,_=P0,P0};for(E0({type:"bos"});i0<r0;)if(s=e[e.length-1],g0=p0(),!(g0===Td0||g0===Bd0)){if(g0===Bg){E0({type:"text",value:(r.keepEscaping?g0:"")+p0()});continue}if(g0===IH){E0({type:"text",value:"\\"+g0});continue}if(g0===PH){o0++;let P0;for(;i0<r0&&(P0=p0());){if(g0+=P0,P0===PH){o0++;continue}if(P0===Bg){g0+=p0();continue}if(P0===IH&&(o0--,o0===0))break}E0({type:"text",value:g0});continue}if(g0===kd0){s=E0({type:"paren",nodes:[]}),e.push(s),E0({type:"text",value:g0});continue}if(g0===Sd0){if(s.type!=="paren"){E0({type:"text",value:g0});continue}s=e.pop(),E0({type:"text",value:g0}),s=e[e.length-1];continue}if(g0===Pd0||g0===Id0||g0===Ad0){let P0=g0,F0;for(r.keepQuotes!==!0&&(g0="");i0<r0&&(F0=p0());){if(F0===Bg){g0+=F0+p0();continue}if(F0===P0){r.keepQuotes===!0&&(g0+=F0);break}g0+=F0}E0({type:"text",value:g0});continue}if(g0===Fd0){c0++;let F0={type:"brace",open:!0,close:!1,dollar:_.value&&_.value.slice(-1)==="$"||s.dollar===!0,depth:c0,commas:0,ranges:0,nodes:[]};s=E0(F0),e.push(s),E0({type:"open",value:g0});continue}if(g0===Od0){if(s.type!=="brace"){E0({type:"text",value:g0});continue}let P0="close";s=e.pop(),s.close=!0,E0({type:P0,value:g0}),c0--,s=e[e.length-1];continue}if(g0===Ed0&&c0>0){if(s.ranges>0){s.ranges=0;let P0=s.nodes.shift();s.nodes=[P0,{type:"text",value:vd0(s)}]}E0({type:"comma",value:g0}),s.commas++;continue}if(g0===Cd0&&c0>0&&s.commas===0){let P0=s.nodes;if(c0===0||P0.length===0){E0({type:"text",value:g0});continue}if(_.type==="dot"){if(s.range=[],_.value+=g0,_.type="range",s.nodes.length!==3&&s.nodes.length!==5){s.invalid=!0,s.ranges=0,_.type="text";continue}s.ranges++,s.args=[];continue}if(_.type==="range"){P0.pop();let F0=P0[P0.length-1];F0.value+=_.value+g0,_=F0,s.ranges--;continue}E0({type:"dot",value:g0});continue}E0({type:"text",value:g0})}do if(s=e.pop(),s.type!=="root"){s.nodes.forEach(N0=>{N0.nodes||(N0.type==="open"&&(N0.isOpen=!0),N0.type==="close"&&(N0.isClose=!0),N0.nodes||(N0.type="text"),N0.invalid=!0)});let P0=e[e.length-1],F0=P0.nodes.indexOf(s);P0.nodes.splice(F0,1,...s.nodes)}while(e.length>0);return E0({type:"eos"}),o};BH.exports=Rd0});var NH=_0((wD0,_H)=>{"use strict";var RH=f4(),_d0=AH(),Nd0=kH(),Ld0=TH(),or=(i,r={})=>{let a=[];if(Array.isArray(i))for(let n of i){let o=or.create(n,r);Array.isArray(o)?a.push(...o):a.push(o)}else a=[].concat(or.create(i,r));return r&&r.expand===!0&&r.nodupes===!0&&(a=[...new Set(a)]),a};or.parse=(i,r={})=>Ld0(i,r);or.stringify=(i,r={})=>RH(typeof i=="string"?or.parse(i,r):i,r);or.compile=(i,r={})=>(typeof i=="string"&&(i=or.parse(i,r)),_d0(i,r));or.expand=(i,r={})=>{typeof i=="string"&&(i=or.parse(i,r));let a=Nd0(i,r);return r.noempty===!0&&(a=a.filter(Boolean)),r.nodupes===!0&&(a=[...new Set(a)]),a};or.create=(i,r={})=>i===""||i.length<3?[i]:r.expand!==!0?or.compile(i,r):or.expand(i,r);_H.exports=or});var Ru=_0((DD0,qH)=>{"use strict";var Md0=require("path"),bi="\\\\/",LH=`[^${bi}]`,zi="\\.",Ud0="\\+",Hd0="\\?",h4="\\/",qd0="(?=.)",MH="[^/]",Tg=`(?:${h4}|$)`,UH=`(?:^|${h4})`,Rg=`${zi}{1,2}${Tg}`,Gd0=`(?!${zi})`,jd0=`(?!${UH}${Rg})`,Vd0=`(?!${zi}{0,1}${Tg})`,Qd0=`(?!${Rg})`,zd0=`[^.${h4}]`,Wd0=`${MH}*?`,HH={DOT_LITERAL:zi,PLUS_LITERAL:Ud0,QMARK_LITERAL:Hd0,SLASH_LITERAL:h4,ONE_CHAR:qd0,QMARK:MH,END_ANCHOR:Tg,DOTS_SLASH:Rg,NO_DOT:Gd0,NO_DOTS:jd0,NO_DOT_SLASH:Vd0,NO_DOTS_SLASH:Qd0,QMARK_NO_DOT:zd0,STAR:Wd0,START_ANCHOR:UH},Yd0={...HH,SLASH_LITERAL:`[${bi}]`,QMARK:LH,STAR:`${LH}*?`,DOTS_SLASH:`${zi}{1,2}(?:[${bi}]|$)`,NO_DOT:`(?!${zi})`,NO_DOTS:`(?!(?:^|[${bi}])${zi}{1,2}(?:[${bi}]|$))`,NO_DOT_SLASH:`(?!${zi}{0,1}(?:[${bi}]|$))`,NO_DOTS_SLASH:`(?!${zi}{1,2}(?:[${bi}]|$))`,QMARK_NO_DOT:`[^.${bi}]`,START_ANCHOR:`(?:^|[${bi}])`,END_ANCHOR:`(?:[${bi}]|$)`},Kd0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qH.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Kd0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Md0.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?Yd0:HH}}});var _u=_0(Xt=>{"use strict";var Xd0=require("path"),Jd0=process.platform==="win32",{REGEX_BACKSLASH:Zd0,REGEX_REMOVE_BACKSLASH:$d0,REGEX_SPECIAL_CHARS:x10,REGEX_SPECIAL_CHARS_GLOBAL:e10}=Ru();Xt.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);Xt.hasRegexChars=i=>x10.test(i);Xt.isRegexChar=i=>i.length===1&&Xt.hasRegexChars(i);Xt.escapeRegex=i=>i.replace(e10,"\\$1");Xt.toPosixSlashes=i=>i.replace(Zd0,"/");Xt.removeBackslashes=i=>i.replace($d0,r=>r==="\\"?"":r);Xt.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};Xt.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:Jd0===!0||Xd0.sep==="\\";Xt.escapeLast=(i,r,a)=>{let n=i.lastIndexOf(r,a);return n===-1?i:i[n-1]==="\\"?Xt.escapeLast(i,r,n-1):`${i.slice(0,n)}\\${i.slice(n)}`};Xt.removePrefix=(i,r={})=>{let a=i;return a.startsWith("./")&&(a=a.slice(2),r.prefix="./"),a};Xt.wrapOutput=(i,r={},a={})=>{let n=a.contains?"":"^",o=a.contains?"":"$",e=`${n}(?:${i})${o}`;return r.negated===!0&&(e=`(?:^(?!${e}).*$)`),e}});var KH=_0((AD0,YH)=>{"use strict";var GH=_u(),{CHAR_ASTERISK:_g,CHAR_AT:t10,CHAR_BACKWARD_SLASH:Nu,CHAR_COMMA:r10,CHAR_DOT:Ng,CHAR_EXCLAMATION_MARK:Lg,CHAR_FORWARD_SLASH:WH,CHAR_LEFT_CURLY_BRACE:Mg,CHAR_LEFT_PARENTHESES:Ug,CHAR_LEFT_SQUARE_BRACKET:i10,CHAR_PLUS:n10,CHAR_QUESTION_MARK:jH,CHAR_RIGHT_CURLY_BRACE:a10,CHAR_RIGHT_PARENTHESES:VH,CHAR_RIGHT_SQUARE_BRACKET:s10}=Ru(),QH=i=>i===WH||i===Nu,zH=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},o10=(i,r)=>{let a=r||{},n=i.length-1,o=a.parts===!0||a.scanToEnd===!0,e=[],s=[],_=[],o0=i,r0=-1,i0=0,c0=0,g0=!1,p0=!1,E0=!1,P0=!1,F0=!1,N0=!1,Y0=!1,S0=!1,W0=!1,Q0=!1,sx=0,J0,Cx,z0={value:"",depth:0,isGlob:!1},yx=()=>r0>=n,$0=()=>o0.charCodeAt(r0+1),qx=()=>(J0=Cx,o0.charCodeAt(++r0));for(;r0<n;){Cx=qx();let L0;if(Cx===Nu){Y0=z0.backslashes=!0,Cx=qx(),Cx===Mg&&(N0=!0);continue}if(N0===!0||Cx===Mg){for(sx++;yx()!==!0&&(Cx=qx());){if(Cx===Nu){Y0=z0.backslashes=!0,qx();continue}if(Cx===Mg){sx++;continue}if(N0!==!0&&Cx===Ng&&(Cx=qx())===Ng){if(g0=z0.isBrace=!0,E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(N0!==!0&&Cx===r10){if(g0=z0.isBrace=!0,E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===a10&&(sx--,sx===0)){N0=!1,g0=z0.isBrace=!0,Q0=!0;break}}if(o===!0)continue;break}if(Cx===WH){if(e.push(r0),s.push(z0),z0={value:"",depth:0,isGlob:!1},Q0===!0)continue;if(J0===Ng&&r0===i0+1){i0+=2;continue}c0=r0+1;continue}if(a.noext!==!0&&(Cx===n10||Cx===t10||Cx===_g||Cx===jH||Cx===Lg)===!0&&$0()===Ug){if(E0=z0.isGlob=!0,P0=z0.isExtglob=!0,Q0=!0,Cx===Lg&&r0===i0&&(W0=!0),o===!0){for(;yx()!==!0&&(Cx=qx());){if(Cx===Nu){Y0=z0.backslashes=!0,Cx=qx();continue}if(Cx===VH){E0=z0.isGlob=!0,Q0=!0;break}}continue}break}if(Cx===_g){if(J0===_g&&(F0=z0.isGlobstar=!0),E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===jH){if(E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===i10){for(;yx()!==!0&&(L0=qx());){if(L0===Nu){Y0=z0.backslashes=!0,qx();continue}if(L0===s10){p0=z0.isBracket=!0,E0=z0.isGlob=!0,Q0=!0;break}}if(o===!0)continue;break}if(a.nonegate!==!0&&Cx===Lg&&r0===i0){S0=z0.negated=!0,i0++;continue}if(a.noparen!==!0&&Cx===Ug){if(E0=z0.isGlob=!0,o===!0){for(;yx()!==!0&&(Cx=qx());){if(Cx===Ug){Y0=z0.backslashes=!0,Cx=qx();continue}if(Cx===VH){Q0=!0;break}}continue}break}if(E0===!0){if(Q0=!0,o===!0)continue;break}}a.noext===!0&&(P0=!1,E0=!1);let zx=o0,ee="",v0="";i0>0&&(ee=o0.slice(0,i0),o0=o0.slice(i0),c0-=i0),zx&&E0===!0&&c0>0?(zx=o0.slice(0,c0),v0=o0.slice(c0)):E0===!0?(zx="",v0=o0):zx=o0,zx&&zx!==""&&zx!=="/"&&zx!==o0&&QH(zx.charCodeAt(zx.length-1))&&(zx=zx.slice(0,-1)),a.unescape===!0&&(v0&&(v0=GH.removeBackslashes(v0)),zx&&Y0===!0&&(zx=GH.removeBackslashes(zx)));let R0={prefix:ee,input:i,start:i0,base:zx,glob:v0,isBrace:g0,isBracket:p0,isGlob:E0,isExtglob:P0,isGlobstar:F0,negated:S0,negatedExtglob:W0};if(a.tokens===!0&&(R0.maxDepth=0,QH(Cx)||s.push(z0),R0.tokens=s),a.parts===!0||a.tokens===!0){let L0;for(let q0=0;q0<e.length;q0++){let ix=L0?L0+1:i0,_x=e[q0],kx=i.slice(ix,_x);a.tokens&&(q0===0&&i0!==0?(s[q0].isPrefix=!0,s[q0].value=ee):s[q0].value=kx,zH(s[q0]),R0.maxDepth+=s[q0].depth),(q0!==0||kx!=="")&&_.push(kx),L0=_x}if(L0&&L0+1<i.length){let q0=i.slice(L0+1);_.push(q0),a.tokens&&(s[s.length-1].value=q0,zH(s[s.length-1]),R0.maxDepth+=s[s.length-1].depth)}R0.slashes=e,R0.parts=_}return R0};YH.exports=o10});var ZH=_0((ED0,JH)=>{"use strict";var p4=Ru(),cr=_u(),{MAX_LENGTH:b4,POSIX_REGEX_SOURCE:c10,REGEX_NON_SPECIAL_CHARS:u10,REGEX_SPECIAL_CHARS_BACKREF:f10,REPLACEMENTS:XH}=p4,d10=(i,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...i,r);i.sort();let a=`[${i.join("-")}]`;try{new RegExp(a)}catch{return i.map(o=>cr.escapeRegex(o)).join("..")}return a},p7=(i,r)=>`Missing ${i}: "${r}" - use "\\\\${r}" to match literal characters`,Hg=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=XH[i]||i;let a={...r},n=typeof a.maxLength=="number"?Math.min(b4,a.maxLength):b4,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let e={type:"bos",value:"",output:a.prepend||""},s=[e],_=a.capture?"":"?:",o0=cr.isWindows(r),r0=p4.globChars(o0),i0=p4.extglobChars(r0),{DOT_LITERAL:c0,PLUS_LITERAL:g0,SLASH_LITERAL:p0,ONE_CHAR:E0,DOTS_SLASH:P0,NO_DOT:F0,NO_DOT_SLASH:N0,NO_DOTS_SLASH:Y0,QMARK:S0,QMARK_NO_DOT:W0,STAR:Q0,START_ANCHOR:sx}=r0,J0=ce=>`(${_}(?:(?!${sx}${ce.dot?P0:c0}).)*?)`,Cx=a.dot?"":F0,z0=a.dot?S0:W0,yx=a.bash===!0?J0(a):Q0;a.capture&&(yx=`(${yx})`),typeof a.noext=="boolean"&&(a.noextglob=a.noext);let $0={input:i,index:-1,start:0,dot:a.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:s};i=cr.removePrefix(i,$0),o=i.length;let qx=[],zx=[],ee=[],v0=e,R0,L0=()=>$0.index===o-1,q0=$0.peek=(ce=1)=>i[$0.index+ce],ix=$0.advance=()=>i[++$0.index]||"",_x=()=>i.slice($0.index+1),kx=(ce="",Ue=0)=>{$0.consumed+=ce,$0.index+=Ue},ne=ce=>{$0.output+=ce.output!=null?ce.output:ce.value,kx(ce.value)},Sx=()=>{let ce=1;for(;q0()==="!"&&(q0(2)!=="("||q0(3)==="?");)ix(),$0.start++,ce++;return ce%2===0?!1:($0.negated=!0,$0.start++,!0)},jx=ce=>{$0[ce]++,ee.push(ce)},ke=ce=>{$0[ce]--,ee.pop()},ie=ce=>{if(v0.type==="globstar"){let Ue=$0.braces>0&&(ce.type==="comma"||ce.type==="brace"),te=ce.extglob===!0||qx.length&&(ce.type==="pipe"||ce.type==="paren");ce.type!=="slash"&&ce.type!=="paren"&&!Ue&&!te&&($0.output=$0.output.slice(0,-v0.output.length),v0.type="star",v0.value="*",v0.output=yx,$0.output+=v0.output)}if(qx.length&&ce.type!=="paren"&&(qx[qx.length-1].inner+=ce.value),(ce.value||ce.output)&&ne(ce),v0&&v0.type==="text"&&ce.type==="text"){v0.value+=ce.value,v0.output=(v0.output||"")+ce.value;return}ce.prev=v0,s.push(ce),v0=ce},Me=(ce,Ue)=>{let te={...i0[Ue],conditions:1,inner:""};te.prev=v0,te.parens=$0.parens,te.output=$0.output;let Re=(a.capture?"(":"")+te.open;jx("parens"),ie({type:ce,value:Ue,output:$0.output?"":E0}),ie({type:"paren",extglob:!0,value:ix(),output:Re}),qx.push(te)},yt=ce=>{let Ue=ce.close+(a.capture?")":""),te;if(ce.type==="negate"){let Re=yx;if(ce.inner&&ce.inner.length>1&&ce.inner.includes("/")&&(Re=J0(a)),(Re!==yx||L0()||/^\)+$/.test(_x()))&&(Ue=ce.close=`)$))${Re}`),ce.inner.includes("*")&&(te=_x())&&/^\.[^\\/.]+$/.test(te)){let i6=Hg(te,{...r,fastpaths:!1}).output;Ue=ce.close=`)${i6})${Re})`}ce.prev.type==="bos"&&($0.negatedExtglob=!0)}ie({type:"paren",extglob:!0,value:R0,output:Ue}),ke("parens")};if(a.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ce=!1,Ue=i.replace(f10,(te,Re,i6,Y6,v6,Di)=>Y6==="\\"?(ce=!0,te):Y6==="?"?Re?Re+Y6+(v6?S0.repeat(v6.length):""):Di===0?z0+(v6?S0.repeat(v6.length):""):S0.repeat(i6.length):Y6==="."?c0.repeat(i6.length):Y6==="*"?Re?Re+Y6+(v6?yx:""):yx:Re?te:`\\${te}`);return ce===!0&&(a.unescape===!0?Ue=Ue.replace(/\\/g,""):Ue=Ue.replace(/\\+/g,te=>te.length%2===0?"\\\\":te?"\\":"")),Ue===i&&a.contains===!0?($0.output=i,$0):($0.output=cr.wrapOutput(Ue,$0,r),$0)}for(;!L0();){if(R0=ix(),R0==="\0")continue;if(R0==="\\"){let te=q0();if(te==="/"&&a.bash!==!0||te==="."||te===";")continue;if(!te){R0+="\\",ie({type:"text",value:R0});continue}let Re=/^\\+/.exec(_x()),i6=0;if(Re&&Re[0].length>2&&(i6=Re[0].length,$0.index+=i6,i6%2!==0&&(R0+="\\")),a.unescape===!0?R0=ix():R0+=ix(),$0.brackets===0){ie({type:"text",value:R0});continue}}if($0.brackets>0&&(R0!=="]"||v0.value==="["||v0.value==="[^")){if(a.posix!==!1&&R0===":"){let te=v0.value.slice(1);if(te.includes("[")&&(v0.posix=!0,te.includes(":"))){let Re=v0.value.lastIndexOf("["),i6=v0.value.slice(0,Re),Y6=v0.value.slice(Re+2),v6=c10[Y6];if(v6){v0.value=i6+v6,$0.backtrack=!0,ix(),!e.output&&s.indexOf(v0)===1&&(e.output=E0);continue}}}(R0==="["&&q0()!==":"||R0==="-"&&q0()==="]")&&(R0=`\\${R0}`),R0==="]"&&(v0.value==="["||v0.value==="[^")&&(R0=`\\${R0}`),a.posix===!0&&R0==="!"&&v0.value==="["&&(R0="^"),v0.value+=R0,ne({value:R0});continue}if($0.quotes===1&&R0!=='"'){R0=cr.escapeRegex(R0),v0.value+=R0,ne({value:R0});continue}if(R0==='"'){$0.quotes=$0.quotes===1?0:1,a.keepQuotes===!0&&ie({type:"text",value:R0});continue}if(R0==="("){jx("parens"),ie({type:"paren",value:R0});continue}if(R0===")"){if($0.parens===0&&a.strictBrackets===!0)throw new SyntaxError(p7("opening","("));let te=qx[qx.length-1];if(te&&$0.parens===te.parens+1){yt(qx.pop());continue}ie({type:"paren",value:R0,output:$0.parens?")":"\\)"}),ke("parens");continue}if(R0==="["){if(a.nobracket===!0||!_x().includes("]")){if(a.nobracket!==!0&&a.strictBrackets===!0)throw new SyntaxError(p7("closing","]"));R0=`\\${R0}`}else jx("brackets");ie({type:"bracket",value:R0});continue}if(R0==="]"){if(a.nobracket===!0||v0&&v0.type==="bracket"&&v0.value.length===1){ie({type:"text",value:R0,output:`\\${R0}`});continue}if($0.brackets===0){if(a.strictBrackets===!0)throw new SyntaxError(p7("opening","["));ie({type:"text",value:R0,output:`\\${R0}`});continue}ke("brackets");let te=v0.value.slice(1);if(v0.posix!==!0&&te[0]==="^"&&!te.includes("/")&&(R0=`/${R0}`),v0.value+=R0,ne({value:R0}),a.literalBrackets===!1||cr.hasRegexChars(te))continue;let Re=cr.escapeRegex(v0.value);if($0.output=$0.output.slice(0,-v0.value.length),a.literalBrackets===!0){$0.output+=Re,v0.value=Re;continue}v0.value=`(${_}${Re}|${v0.value})`,$0.output+=v0.value;continue}if(R0==="{"&&a.nobrace!==!0){jx("braces");let te={type:"brace",value:R0,output:"(",outputIndex:$0.output.length,tokensIndex:$0.tokens.length};zx.push(te),ie(te);continue}if(R0==="}"){let te=zx[zx.length-1];if(a.nobrace===!0||!te){ie({type:"text",value:R0,output:R0});continue}let Re=")";if(te.dots===!0){let i6=s.slice(),Y6=[];for(let v6=i6.length-1;v6>=0&&(s.pop(),i6[v6].type!=="brace");v6--)i6[v6].type!=="dots"&&Y6.unshift(i6[v6].value);Re=d10(Y6,a),$0.backtrack=!0}if(te.comma!==!0&&te.dots!==!0){let i6=$0.output.slice(0,te.outputIndex),Y6=$0.tokens.slice(te.tokensIndex);te.value=te.output="\\{",R0=Re="\\}",$0.output=i6;for(let v6 of Y6)$0.output+=v6.output||v6.value}ie({type:"brace",value:R0,output:Re}),ke("braces"),zx.pop();continue}if(R0==="|"){qx.length>0&&qx[qx.length-1].conditions++,ie({type:"text",value:R0});continue}if(R0===","){let te=R0,Re=zx[zx.length-1];Re&&ee[ee.length-1]==="braces"&&(Re.comma=!0,te="|"),ie({type:"comma",value:R0,output:te});continue}if(R0==="/"){if(v0.type==="dot"&&$0.index===$0.start+1){$0.start=$0.index+1,$0.consumed="",$0.output="",s.pop(),v0=e;continue}ie({type:"slash",value:R0,output:p0});continue}if(R0==="."){if($0.braces>0&&v0.type==="dot"){v0.value==="."&&(v0.output=c0);let te=zx[zx.length-1];v0.type="dots",v0.output+=R0,v0.value+=R0,te.dots=!0;continue}if($0.braces+$0.parens===0&&v0.type!=="bos"&&v0.type!=="slash"){ie({type:"text",value:R0,output:c0});continue}ie({type:"dot",value:R0,output:c0});continue}if(R0==="?"){if(!(v0&&v0.value==="(")&&a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){Me("qmark",R0);continue}if(v0&&v0.type==="paren"){let Re=q0(),i6=R0;if(Re==="<"&&!cr.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(v0.value==="("&&!/[!=<:]/.test(Re)||Re==="<"&&!/<([!=]|\w+>)/.test(_x()))&&(i6=`\\${R0}`),ie({type:"text",value:R0,output:i6});continue}if(a.dot!==!0&&(v0.type==="slash"||v0.type==="bos")){ie({type:"qmark",value:R0,output:W0});continue}ie({type:"qmark",value:R0,output:S0});continue}if(R0==="!"){if(a.noextglob!==!0&&q0()==="("&&(q0(2)!=="?"||!/[!=<:]/.test(q0(3)))){Me("negate",R0);continue}if(a.nonegate!==!0&&$0.index===0){Sx();continue}}if(R0==="+"){if(a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){Me("plus",R0);continue}if(v0&&v0.value==="("||a.regex===!1){ie({type:"plus",value:R0,output:g0});continue}if(v0&&(v0.type==="bracket"||v0.type==="paren"||v0.type==="brace")||$0.parens>0){ie({type:"plus",value:R0});continue}ie({type:"plus",value:g0});continue}if(R0==="@"){if(a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){ie({type:"at",extglob:!0,value:R0,output:""});continue}ie({type:"text",value:R0});continue}if(R0!=="*"){(R0==="$"||R0==="^")&&(R0=`\\${R0}`);let te=u10.exec(_x());te&&(R0+=te[0],$0.index+=te[0].length),ie({type:"text",value:R0});continue}if(v0&&(v0.type==="globstar"||v0.star===!0)){v0.type="star",v0.star=!0,v0.value+=R0,v0.output=yx,$0.backtrack=!0,$0.globstar=!0,kx(R0);continue}let ce=_x();if(a.noextglob!==!0&&/^\([^?]/.test(ce)){Me("star",R0);continue}if(v0.type==="star"){if(a.noglobstar===!0){kx(R0);continue}let te=v0.prev,Re=te.prev,i6=te.type==="slash"||te.type==="bos",Y6=Re&&(Re.type==="star"||Re.type==="globstar");if(a.bash===!0&&(!i6||ce[0]&&ce[0]!=="/")){ie({type:"star",value:R0,output:""});continue}let v6=$0.braces>0&&(te.type==="comma"||te.type==="brace"),Di=qx.length&&(te.type==="pipe"||te.type==="paren");if(!i6&&te.type!=="paren"&&!v6&&!Di){ie({type:"star",value:R0,output:""});continue}for(;ce.slice(0,3)==="/**";){let Sr=i[$0.index+4];if(Sr&&Sr!=="/")break;ce=ce.slice(3),kx("/**",3)}if(te.type==="bos"&&L0()){v0.type="globstar",v0.value+=R0,v0.output=J0(a),$0.output=v0.output,$0.globstar=!0,kx(R0);continue}if(te.type==="slash"&&te.prev.type!=="bos"&&!Y6&&L0()){$0.output=$0.output.slice(0,-(te.output+v0.output).length),te.output=`(?:${te.output}`,v0.type="globstar",v0.output=J0(a)+(a.strictSlashes?")":"|$)"),v0.value+=R0,$0.globstar=!0,$0.output+=te.output+v0.output,kx(R0);continue}if(te.type==="slash"&&te.prev.type!=="bos"&&ce[0]==="/"){let Sr=ce[1]!==void 0?"|$":"";$0.output=$0.output.slice(0,-(te.output+v0.output).length),te.output=`(?:${te.output}`,v0.type="globstar",v0.output=`${J0(a)}${p0}|${p0}${Sr})`,v0.value+=R0,$0.output+=te.output+v0.output,$0.globstar=!0,kx(R0+ix()),ie({type:"slash",value:"/",output:""});continue}if(te.type==="bos"&&ce[0]==="/"){v0.type="globstar",v0.value+=R0,v0.output=`(?:^|${p0}|${J0(a)}${p0})`,$0.output=v0.output,$0.globstar=!0,kx(R0+ix()),ie({type:"slash",value:"/",output:""});continue}$0.output=$0.output.slice(0,-v0.output.length),v0.type="globstar",v0.output=J0(a),v0.value+=R0,$0.output+=v0.output,$0.globstar=!0,kx(R0);continue}let Ue={type:"star",value:R0,output:yx};if(a.bash===!0){Ue.output=".*?",(v0.type==="bos"||v0.type==="slash")&&(Ue.output=Cx+Ue.output),ie(Ue);continue}if(v0&&(v0.type==="bracket"||v0.type==="paren")&&a.regex===!0){Ue.output=R0,ie(Ue);continue}($0.index===$0.start||v0.type==="slash"||v0.type==="dot")&&(v0.type==="dot"?($0.output+=N0,v0.output+=N0):a.dot===!0?($0.output+=Y0,v0.output+=Y0):($0.output+=Cx,v0.output+=Cx),q0()!=="*"&&($0.output+=E0,v0.output+=E0)),ie(Ue)}for(;$0.brackets>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing","]"));$0.output=cr.escapeLast($0.output,"["),ke("brackets")}for(;$0.parens>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing",")"));$0.output=cr.escapeLast($0.output,"("),ke("parens")}for(;$0.braces>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing","}"));$0.output=cr.escapeLast($0.output,"{"),ke("braces")}if(a.strictSlashes!==!0&&(v0.type==="star"||v0.type==="bracket")&&ie({type:"maybe_slash",value:"",output:`${p0}?`}),$0.backtrack===!0){$0.output="";for(let ce of $0.tokens)$0.output+=ce.output!=null?ce.output:ce.value,ce.suffix&&($0.output+=ce.suffix)}return $0};Hg.fastpaths=(i,r)=>{let a={...r},n=typeof a.maxLength=="number"?Math.min(b4,a.maxLength):b4,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);i=XH[i]||i;let e=cr.isWindows(r),{DOT_LITERAL:s,SLASH_LITERAL:_,ONE_CHAR:o0,DOTS_SLASH:r0,NO_DOT:i0,NO_DOTS:c0,NO_DOTS_SLASH:g0,STAR:p0,START_ANCHOR:E0}=p4.globChars(e),P0=a.dot?c0:i0,F0=a.dot?g0:i0,N0=a.capture?"":"?:",Y0={negated:!1,prefix:""},S0=a.bash===!0?".*?":p0;a.capture&&(S0=`(${S0})`);let W0=Cx=>Cx.noglobstar===!0?S0:`(${N0}(?:(?!${E0}${Cx.dot?r0:s}).)*?)`,Q0=Cx=>{switch(Cx){case"*":return`${P0}${o0}${S0}`;case".*":return`${s}${o0}${S0}`;case"*.*":return`${P0}${S0}${s}${o0}${S0}`;case"*/*":return`${P0}${S0}${_}${o0}${F0}${S0}`;case"**":return P0+W0(a);case"**/*":return`(?:${P0}${W0(a)}${_})?${F0}${o0}${S0}`;case"**/*.*":return`(?:${P0}${W0(a)}${_})?${F0}${S0}${s}${o0}${S0}`;case"**/.*":return`(?:${P0}${W0(a)}${_})?${s}${o0}${S0}`;default:{let z0=/^(.*?)\.(\w+)$/.exec(Cx);if(!z0)return;let yx=Q0(z0[1]);return yx?yx+s+z0[2]:void 0}}},sx=cr.removePrefix(i,Y0),J0=Q0(sx);return J0&&a.strictSlashes!==!0&&(J0+=`${_}?`),J0};JH.exports=Hg});var xq=_0((CD0,$H)=>{"use strict";var l10=require("path"),h10=KH(),qg=ZH(),Gg=_u(),p10=Ru(),b10=i=>i&&typeof i=="object"&&!Array.isArray(i),G6=(i,r,a=!1)=>{if(Array.isArray(i)){let i0=i.map(g0=>G6(g0,r,a));return g0=>{for(let p0 of i0){let E0=p0(g0);if(E0)return E0}return!1}}let n=b10(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=r||{},e=Gg.isWindows(r),s=n?G6.compileRe(i,r):G6.makeRe(i,r,!1,!0),_=s.state;delete s.state;let o0=()=>!1;if(o.ignore){let i0={...r,ignore:null,onMatch:null,onResult:null};o0=G6(o.ignore,i0,a)}let r0=(i0,c0=!1)=>{let{isMatch:g0,match:p0,output:E0}=G6.test(i0,s,r,{glob:i,posix:e}),P0={glob:i,state:_,regex:s,posix:e,input:i0,output:E0,match:p0,isMatch:g0};return typeof o.onResult=="function"&&o.onResult(P0),g0===!1?(P0.isMatch=!1,c0?P0:!1):o0(i0)?(typeof o.onIgnore=="function"&&o.onIgnore(P0),P0.isMatch=!1,c0?P0:!1):(typeof o.onMatch=="function"&&o.onMatch(P0),c0?P0:!0)};return a&&(r0.state=_),r0};G6.test=(i,r,a,{glob:n,posix:o}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let e=a||{},s=e.format||(o?Gg.toPosixSlashes:null),_=i===n,o0=_&&s?s(i):i;return _===!1&&(o0=s?s(i):i,_=o0===n),(_===!1||e.capture===!0)&&(e.matchBase===!0||e.basename===!0?_=G6.matchBase(i,r,a,o):_=r.exec(o0)),{isMatch:!!_,match:_,output:o0}};G6.matchBase=(i,r,a,n=Gg.isWindows(a))=>(r instanceof RegExp?r:G6.makeRe(r,a)).test(l10.basename(i));G6.isMatch=(i,r,a)=>G6(r,a)(i);G6.parse=(i,r)=>Array.isArray(i)?i.map(a=>G6.parse(a,r)):qg(i,{...r,fastpaths:!1});G6.scan=(i,r)=>h10(i,r);G6.compileRe=(i,r,a=!1,n=!1)=>{if(a===!0)return i.output;let o=r||{},e=o.contains?"":"^",s=o.contains?"":"$",_=`${e}(?:${i.output})${s}`;i&&i.negated===!0&&(_=`^(?!${_}).*$`);let o0=G6.toRegex(_,r);return n===!0&&(o0.state=i),o0};G6.makeRe=(i,r={},a=!1,n=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(o.output=qg.fastpaths(i,r)),o.output||(o=qg(i,r)),G6.compileRe(o,r,a,n)};G6.toRegex=(i,r)=>{try{let a=r||{};return new RegExp(i,a.flags||(a.nocase?"i":""))}catch(a){if(r&&r.debug===!0)throw a;return/$^/}};G6.constants=p10;$H.exports=G6});var tq=_0((kD0,eq)=>{"use strict";eq.exports=xq()});var oq=_0((SD0,sq)=>{"use strict";var iq=require("util"),nq=NH(),gi=tq(),jg=_u(),rq=i=>i===""||i==="./",aq=i=>{let r=i.indexOf("{");return r>-1&&i.indexOf("}",r)>-1},b6=(i,r,a)=>{r=[].concat(r),i=[].concat(i);let n=new Set,o=new Set,e=new Set,s=0,_=i0=>{e.add(i0.output),a&&a.onResult&&a.onResult(i0)};for(let i0=0;i0<r.length;i0++){let c0=gi(String(r[i0]),{...a,onResult:_},!0),g0=c0.state.negated||c0.state.negatedExtglob;g0&&s++;for(let p0 of i){let E0=c0(p0,!0);(g0?!E0.isMatch:E0.isMatch)&&(g0?n.add(E0.output):(n.delete(E0.output),o.add(E0.output)))}}let r0=(s===r.length?[...e]:[...o]).filter(i0=>!n.has(i0));if(a&&r0.length===0){if(a.failglob===!0)throw new Error(`No matches found for "${r.join(", ")}"`);if(a.nonull===!0||a.nullglob===!0)return a.unescape?r.map(i0=>i0.replace(/\\/g,"")):r}return r0};b6.match=b6;b6.matcher=(i,r)=>gi(i,r);b6.isMatch=(i,r,a)=>gi(r,a)(i);b6.any=b6.isMatch;b6.not=(i,r,a={})=>{r=[].concat(r).map(String);let n=new Set,o=[],e=_=>{a.onResult&&a.onResult(_),o.push(_.output)},s=new Set(b6(i,r,{...a,onResult:e}));for(let _ of o)s.has(_)||n.add(_);return[...n]};b6.contains=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${iq.inspect(i)}"`);if(Array.isArray(r))return r.some(n=>b6.contains(i,n,a));if(typeof r=="string"){if(rq(i)||rq(r))return!1;if(i.includes(r)||i.startsWith("./")&&i.slice(2).includes(r))return!0}return b6.isMatch(i,r,{...a,contains:!0})};b6.matchKeys=(i,r,a)=>{if(!jg.isObject(i))throw new TypeError("Expected the first argument to be an object");let n=b6(Object.keys(i),r,a),o={};for(let e of n)o[e]=i[e];return o};b6.some=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=gi(String(o),a);if(n.some(s=>e(s)))return!0}return!1};b6.every=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=gi(String(o),a);if(!n.every(s=>e(s)))return!1}return!0};b6.all=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${iq.inspect(i)}"`);return[].concat(r).every(n=>gi(n,a)(i))};b6.capture=(i,r,a)=>{let n=jg.isWindows(a),e=gi.makeRe(String(i),{...a,capture:!0}).exec(n?jg.toPosixSlashes(r):r);if(e)return e.slice(1).map(s=>s===void 0?"":s)};b6.makeRe=(...i)=>gi.makeRe(...i);b6.scan=(...i)=>gi.scan(...i);b6.parse=(i,r)=>{let a=[];for(let n of[].concat(i||[]))for(let o of nq(String(n),r))a.push(gi.parse(o,r));return a};b6.braces=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return r&&r.nobrace===!0||!aq(i)?[i]:nq(i,r)};b6.braceExpand=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return b6.braces(i,{...r,expand:!0})};b6.hasBraces=aq;sq.exports=b6});var Jq=_0((Fv0,Ki)=>{var W6=require("fs"),am=require("os"),ur=require("path"),Nq=require("crypto"),yi={fs:W6.constants,os:am.constants},Lq="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Uq=/XXXXXX/,H10=3,Hq=(yi.O_CREAT||yi.fs.O_CREAT)|(yi.O_EXCL||yi.fs.O_EXCL)|(yi.O_RDWR||yi.fs.O_RDWR),q10=am.platform()==="win32",G10=yi.EBADF||yi.os.errno.EBADF,j10=yi.ENOENT||yi.os.errno.ENOENT,qq=448,Gq=384,V10="exit",m7=[],jq=W6.rmdirSync.bind(W6),Vq=!1;function Q10(i,r){return W6.rm(i,{recursive:!0},r)}function Qq(i){return W6.rmSync(i,{recursive:!0})}function sm(i,r){let a=y7(i,r),n=a[0],o=a[1];try{Yq(n)}catch(s){return o(s)}let e=n.tries;(function s(){try{let _=Wq(n);W6.stat(_,function(o0){if(!o0)return e-- >0?s():o(new Error("Could not get a unique tmp filename, max tries reached "+_));o(null,_)})}catch(_){o(_)}})()}function om(i){let r=y7(i),a=r[0];Yq(a);let n=a.tries;do{let o=Wq(a);try{W6.statSync(o)}catch{return o}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function z10(i,r){let a=y7(i,r),n=a[0],o=a[1];sm(n,function(s,_){if(s)return o(s);W6.open(_,Hq,n.mode||Gq,function(r0,i0){if(r0)return o(r0);if(n.discardDescriptor)return W6.close(i0,function(g0){return o(g0,_,void 0,rm(_,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,_,i0,rm(_,c0?-1:i0,n,!1))}})})}function W10(i){let r=y7(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=om(a);var e=W6.openSync(o,Hq,a.mode||Gq);return a.discardDescriptor&&(W6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:rm(o,n?-1:e,a,!0)}}function Y10(i,r){let a=y7(i,r),n=a[0],o=a[1];sm(n,function(s,_){if(s)return o(s);W6.mkdir(_,n.mode||qq,function(r0){if(r0)return o(r0);o(null,_,zq(_,n,!1))})})}function K10(i){let r=y7(i),a=r[0],n=om(a);return W6.mkdirSync(n,a.mode||qq),{name:n,removeCallback:zq(n,a,!0)}}function X10(i,r){let a=function(n){if(n&&!nm(n))return r(n);r()};0<=i[0]?W6.close(i[0],function(){W6.unlink(i[1],a)}):W6.unlink(i[1],a)}function J10(i){let r=null;try{0<=i[0]&&W6.closeSync(i[0])}catch(a){if(!xl0(a)&&!nm(a))throw a}finally{try{W6.unlinkSync(i[1])}catch(a){nm(a)||(r=a)}}if(r!==null)throw r}function rm(i,r,a,n){let o=w4(J10,[r,i],n),e=w4(X10,[r,i],n,o);return a.keep||m7.unshift(o),n?o:e}function zq(i,r,a){let n=r.unsafeCleanup?Q10:W6.rmdir.bind(W6),o=r.unsafeCleanup?Qq:jq,e=w4(o,i,a),s=w4(n,i,a,e);return r.keep||m7.unshift(e),a?e:s}function w4(i,r,a,n){let o=!1;return function e(s){if(!o){let _=n||e,o0=m7.indexOf(_);return o0>=0&&m7.splice(o0,1),o=!0,a||i===jq||i===Qq?i(r):i(r,s||function(){})}}}function Z10(){if(Vq)for(;m7.length;)try{m7[0]()}catch{}}function Mq(i){let r=[],a=null;try{a=Nq.randomBytes(i)}catch{a=Nq.pseudoRandomBytes(i)}for(var n=0;n<i;n++)r.push(Lq[a[n]%Lq.length]);return r.join("")}function $10(i){return i===null||Jt(i)||!i.trim()}function Jt(i){return typeof i>"u"}function y7(i,r){if(typeof i=="function")return[{},i];if(Jt(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function Wq(i){let r=i.tmpdir;if(!Jt(i.name))return ur.join(r,i.dir,i.name);if(!Jt(i.template))return ur.join(r,i.dir,i.template).replace(Uq,Mq(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",Mq(12),i.postfix?"-"+i.postfix:""].join("");return ur.join(r,i.dir,a)}function Yq(i){i.tmpdir=Xq(i);let r=i.tmpdir;if(Jt(i.name)||tm(i.name,"name",r),Jt(i.dir)||tm(i.dir,"dir",r),!Jt(i.template)&&(tm(i.template,"template",r),!i.template.match(Uq)))throw new Error(`Invalid template, found "${i.template}".`);if(!Jt(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=Jt(i.name)?i.tries||H10:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.dir=Jt(i.dir)?"":ur.relative(r,im(i.dir,r)),i.template=Jt(i.template)?void 0:ur.relative(r,im(i.template,r)),i.template=$10(i.template)?void 0:ur.relative(i.dir,i.template),i.name=Jt(i.name)?void 0:i.name,i.prefix=Jt(i.prefix)?"":i.prefix,i.postfix=Jt(i.postfix)?"":i.postfix}function im(i,r){return i.startsWith(r)?ur.resolve(i):ur.resolve(ur.join(r,i))}function tm(i,r,a){if(r==="name"){if(ur.isAbsolute(i))throw new Error(`${r} option must not contain an absolute path, found "${i}".`);let n=ur.basename(i);if(n===".."||n==="."||n!==i)throw new Error(`${r} option must not contain a path, found "${i}".`)}else{if(ur.isAbsolute(i)&&!i.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${i}".`);let n=im(i,a);if(!n.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${n}".`)}}function xl0(i){return Kq(i,-G10,"EBADF")}function nm(i){return Kq(i,-j10,"ENOENT")}function Kq(i,r,a){return q10?i.code===a:i.code===a&&i.errno===r}function el0(){Vq=!0}function Xq(i){return ur.resolve(i&&i.tmpdir||am.tmpdir())}process.addListener(V10,Z10);Object.defineProperty(Ki.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return Xq()}});Ki.exports.dir=Y10;Ki.exports.dirSync=K10;Ki.exports.file=z10;Ki.exports.fileSync=W10;Ki.exports.tmpName=sm;Ki.exports.tmpNameSync=om;Ki.exports.setGracefulCleanup=el0});var sy=Oe(ay(),1),{program:cx,createCommand:Nl0,createArgument:Ll0,createOption:Ml0,CommanderError:Ul0,InvalidArgumentError:Hl0,InvalidOptionArgumentError:ql0,Command:Gl0,Argument:jl0,Option:Vl0,Help:Ql0}=sy.default;var Fr={name:"@capgo/cli",version:"7.11.10",description:"A CLI to upload to capgo servers",author:"github.com/riderx",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/sdk.d.ts",import:"./dist/sdk.js",require:"./dist/sdk.js"}},main:"dist/index.js",types:"dist/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md"},devDependencies:{"@antfu/eslint-config":"^4.15.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.1","@capacitor/cli":"^7.4.0","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.5","@supabase/supabase-js":"^2.50.0","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^24.0.0","@types/prettyjson":"^0.0.33","@types/semver":"^7.7.0","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.3","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.2.0",commander:"^14.0.0",esbuild:"^0.25.5",eslint:"^9.29.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",ky:"1.7.5","latest-version":"^9.0.0",open:"^10.1.2",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.2",tmp:"^0.2.3","tus-js-client":"^4.3.1",typescript:"^5.8.3"}};var J2=require("node:fs"),fM=require("node:process");var Dt=Oe(l6(),1),ho=require("node:process"),Zi=Oe(require("node:readline"),1),n5=Oe(require("node:readline"),1),my=require("node:stream"),yy=Oe(t5(),1);function dj({onlyFirst:i=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,i?void 0:"g")}var lj=dj();function wy(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(lj,"")}function Dy(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var vy={exports:{}};(function(i){var r={};i.exports=r,r.eastAsianWidth=function(n){var o=n.charCodeAt(0),e=n.length==2?n.charCodeAt(1):0,s=o;return 55296<=o&&o<=56319&&56320<=e&&e<=57343&&(o&=1023,e&=1023,s=o<<10|e,s+=65536),s==12288||65281<=s&&s<=65376||65504<=s&&s<=65510?"F":s==8361||65377<=s&&s<=65470||65474<=s&&s<=65479||65482<=s&&s<=65487||65490<=s&&s<=65495||65498<=s&&s<=65500||65512<=s&&s<=65518?"H":4352<=s&&s<=4447||4515<=s&&s<=4519||4602<=s&&s<=4607||9001<=s&&s<=9002||11904<=s&&s<=11929||11931<=s&&s<=12019||12032<=s&&s<=12245||12272<=s&&s<=12283||12289<=s&&s<=12350||12353<=s&&s<=12438||12441<=s&&s<=12543||12549<=s&&s<=12589||12593<=s&&s<=12686||12688<=s&&s<=12730||12736<=s&&s<=12771||12784<=s&&s<=12830||12832<=s&&s<=12871||12880<=s&&s<=13054||13056<=s&&s<=19903||19968<=s&&s<=42124||42128<=s&&s<=42182||43360<=s&&s<=43388||44032<=s&&s<=55203||55216<=s&&s<=55238||55243<=s&&s<=55291||63744<=s&&s<=64255||65040<=s&&s<=65049||65072<=s&&s<=65106||65108<=s&&s<=65126||65128<=s&&s<=65131||110592<=s&&s<=110593||127488<=s&&s<=127490||127504<=s&&s<=127546||127552<=s&&s<=127560||127568<=s&&s<=127569||131072<=s&&s<=194367||177984<=s&&s<=196605||196608<=s&&s<=262141?"W":32<=s&&s<=126||162<=s&&s<=163||165<=s&&s<=166||s==172||s==175||10214<=s&&s<=10221||10629<=s&&s<=10630?"Na":s==161||s==164||167<=s&&s<=168||s==170||173<=s&&s<=174||176<=s&&s<=180||182<=s&&s<=186||188<=s&&s<=191||s==198||s==208||215<=s&&s<=216||222<=s&&s<=225||s==230||232<=s&&s<=234||236<=s&&s<=237||s==240||242<=s&&s<=243||247<=s&&s<=250||s==252||s==254||s==257||s==273||s==275||s==283||294<=s&&s<=295||s==299||305<=s&&s<=307||s==312||319<=s&&s<=322||s==324||328<=s&&s<=331||s==333||338<=s&&s<=339||358<=s&&s<=359||s==363||s==462||s==464||s==466||s==468||s==470||s==472||s==474||s==476||s==593||s==609||s==708||s==711||713<=s&&s<=715||s==717||s==720||728<=s&&s<=731||s==733||s==735||768<=s&&s<=879||913<=s&&s<=929||931<=s&&s<=937||945<=s&&s<=961||963<=s&&s<=969||s==1025||1040<=s&&s<=1103||s==1105||s==8208||8211<=s&&s<=8214||8216<=s&&s<=8217||8220<=s&&s<=8221||8224<=s&&s<=8226||8228<=s&&s<=8231||s==8240||8242<=s&&s<=8243||s==8245||s==8251||s==8254||s==8308||s==8319||8321<=s&&s<=8324||s==8364||s==8451||s==8453||s==8457||s==8467||s==8470||8481<=s&&s<=8482||s==8486||s==8491||8531<=s&&s<=8532||8539<=s&&s<=8542||8544<=s&&s<=8555||8560<=s&&s<=8569||s==8585||8592<=s&&s<=8601||8632<=s&&s<=8633||s==8658||s==8660||s==8679||s==8704||8706<=s&&s<=8707||8711<=s&&s<=8712||s==8715||s==8719||s==8721||s==8725||s==8730||8733<=s&&s<=8736||s==8739||s==8741||8743<=s&&s<=8748||s==8750||8756<=s&&s<=8759||8764<=s&&s<=8765||s==8776||s==8780||s==8786||8800<=s&&s<=8801||8804<=s&&s<=8807||8810<=s&&s<=8811||8814<=s&&s<=8815||8834<=s&&s<=8835||8838<=s&&s<=8839||s==8853||s==8857||s==8869||s==8895||s==8978||9312<=s&&s<=9449||9451<=s&&s<=9547||9552<=s&&s<=9587||9600<=s&&s<=9615||9618<=s&&s<=9621||9632<=s&&s<=9633||9635<=s&&s<=9641||9650<=s&&s<=9651||9654<=s&&s<=9655||9660<=s&&s<=9661||9664<=s&&s<=9665||9670<=s&&s<=9672||s==9675||9678<=s&&s<=9681||9698<=s&&s<=9701||s==9711||9733<=s&&s<=9734||s==9737||9742<=s&&s<=9743||9748<=s&&s<=9749||s==9756||s==9758||s==9792||s==9794||9824<=s&&s<=9825||9827<=s&&s<=9829||9831<=s&&s<=9834||9836<=s&&s<=9837||s==9839||9886<=s&&s<=9887||9918<=s&&s<=9919||9924<=s&&s<=9933||9935<=s&&s<=9953||s==9955||9960<=s&&s<=9983||s==10045||s==10071||10102<=s&&s<=10111||11093<=s&&s<=11097||12872<=s&&s<=12879||57344<=s&&s<=63743||65024<=s&&s<=65039||s==65533||127232<=s&&s<=127242||127248<=s&&s<=127277||127280<=s&&s<=127337||127344<=s&&s<=127386||917760<=s&&s<=917999||983040<=s&&s<=1048573||1048576<=s&&s<=1114109?"A":"N"},r.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function a(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}r.length=function(n){for(var o=a(n),e=0,s=0;s<o.length;s++)e=e+this.characterLength(o[s]);return e},r.slice=function(n,o,e){textLen=r.length(n),o=o||0,e=e||1,o<0&&(o=textLen+o),e<0&&(e=textLen+e);for(var s="",_=0,o0=a(n),r0=0;r0<o0.length;r0++){var i0=o0[r0],c0=r.length(i0);if(_>=o-(c0==2?1:0))if(_+c0<=e)s+=i0;else break;_+=c0}return s}})(vy);var hj=vy.exports,pj=Dy(hj),bj=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},gj=Dy(bj);function E7(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=wy(i),i.length===0))return 0;i=i.replace(gj()," ");let a=r.ambiguousIsNarrow?1:2,n=0;for(let o of i){let e=o.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))switch(pj.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var r5=10,fy=(i=0)=>r=>`\x1B[${r+i}m`,dy=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,ly=(i=0)=>(r,a,n)=>`\x1B[${38+i};2;${r};${a};${n}m`,y6={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(y6.modifier);var mj=Object.keys(y6.color),yj=Object.keys(y6.bgColor);[...mj,...yj];function wj(){let i=new Map;for(let[r,a]of Object.entries(y6)){for(let[n,o]of Object.entries(a))y6[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},a[n]=y6[n],i.set(o[0],o[1]);Object.defineProperty(y6,r,{value:a,enumerable:!1})}return Object.defineProperty(y6,"codes",{value:i,enumerable:!1}),y6.color.close="\x1B[39m",y6.bgColor.close="\x1B[49m",y6.color.ansi=fy(),y6.color.ansi256=dy(),y6.color.ansi16m=ly(),y6.bgColor.ansi=fy(r5),y6.bgColor.ansi256=dy(r5),y6.bgColor.ansi16m=ly(r5),Object.defineProperties(y6,{rgbToAnsi256:{value:(r,a,n)=>r===a&&a===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(a/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:r=>{let a=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!a)return[0,0,0];let[n]=a;n.length===3&&(n=[...n].map(e=>e+e).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:r=>y6.rgbToAnsi256(...y6.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value:r=>{if(r<8)return 30+r;if(r<16)return 90+(r-8);let a,n,o;if(r>=232)a=((r-232)*10+8)/255,n=a,o=a;else{r-=16;let _=r%36;a=Math.floor(r/36)/5,n=Math.floor(_/6)/5,o=_%6/5}let e=Math.max(a,n,o)*2;if(e===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(a));return e===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,a,n)=>y6.ansi256ToAnsi(y6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>y6.ansi256ToAnsi(y6.hexToAnsi256(r)),enumerable:!1}}),y6}var Dj=wj(),hf=new Set(["\x1B","\x9B"]),vj=39,s5="\x07",Ay="[",Aj="]",Ey="m",o5=`${Aj}8;;`,hy=i=>`${hf.values().next().value}${Ay}${i}${Ey}`,py=i=>`${hf.values().next().value}${o5}${i}${s5}`,Ej=i=>i.split(" ").map(r=>E7(r)),i5=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=E7(wy(i[i.length-1]));for(let[_,o0]of n.entries()){let r0=E7(o0);if(s+r0<=a?i[i.length-1]+=o0:(i.push(o0),s=0),hf.has(o0)&&(o=!0,e=n.slice(_+1).join("").startsWith(o5)),o){e?o0===s5&&(o=!1,e=!1):o0===Ey&&(o=!1);continue}s+=r0,s===a&&_<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},Cj=i=>{let r=i.split(" "),a=r.length;for(;a>0&&!(E7(r[a-1])>0);)a--;return a===r.length?i:r.slice(0,a).join(" ")+r.slice(a).join("")},kj=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=Ej(i),_=[""];for(let[r0,i0]of i.split(" ").entries()){a.trim!==!1&&(_[_.length-1]=_[_.length-1].trimStart());let c0=E7(_[_.length-1]);if(r0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(_.push(""),c0=0),(c0>0||a.trim===!1)&&(_[_.length-1]+=" ",c0++)),a.hard&&s[r0]>r){let g0=r-c0,p0=1+Math.floor((s[r0]-g0-1)/r);Math.floor((s[r0]-1)/r)<p0&&_.push(""),i5(_,i0,r);continue}if(c0+s[r0]>r&&c0>0&&s[r0]>0){if(a.wordWrap===!1&&c0<r){i5(_,i0,r);continue}_.push("")}if(c0+s[r0]>r&&a.wordWrap===!1){i5(_,i0,r);continue}_[_.length-1]+=i0}a.trim!==!1&&(_=_.map(r0=>Cj(r0)));let o0=[..._.join(`
|
|
218
|
+
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var TH=_0((yD0,BH)=>{"use strict";var vd0=f4(),{MAX_LENGTH:OH,CHAR_BACKSLASH:Bg,CHAR_BACKTICK:Ad0,CHAR_COMMA:Ed0,CHAR_DOT:Cd0,CHAR_LEFT_PARENTHESES:kd0,CHAR_RIGHT_PARENTHESES:Sd0,CHAR_LEFT_CURLY_BRACE:Fd0,CHAR_RIGHT_CURLY_BRACE:Od0,CHAR_LEFT_SQUARE_BRACKET:PH,CHAR_RIGHT_SQUARE_BRACKET:IH,CHAR_DOUBLE_QUOTE:Pd0,CHAR_SINGLE_QUOTE:Id0,CHAR_NO_BREAK_SPACE:Bd0,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Td0}=FH(),Rd0=(i,r={})=>{if(typeof i!="string")throw new TypeError("Expected a string");let a=r||{},n=typeof a.maxLength=="number"?Math.min(OH,a.maxLength):OH;if(i.length>n)throw new SyntaxError(`Input length (${i.length}), exceeds max characters (${n})`);let o={type:"root",input:i,nodes:[]},e=[o],s=o,_=o,o0=0,r0=i.length,i0=0,c0=0,g0,p0=()=>i[i0++],E0=P0=>{if(P0.type==="text"&&_.type==="dot"&&(_.type="text"),_&&_.type==="text"&&P0.type==="text"){_.value+=P0.value;return}return s.nodes.push(P0),P0.parent=s,P0.prev=_,_=P0,P0};for(E0({type:"bos"});i0<r0;)if(s=e[e.length-1],g0=p0(),!(g0===Td0||g0===Bd0)){if(g0===Bg){E0({type:"text",value:(r.keepEscaping?g0:"")+p0()});continue}if(g0===IH){E0({type:"text",value:"\\"+g0});continue}if(g0===PH){o0++;let P0;for(;i0<r0&&(P0=p0());){if(g0+=P0,P0===PH){o0++;continue}if(P0===Bg){g0+=p0();continue}if(P0===IH&&(o0--,o0===0))break}E0({type:"text",value:g0});continue}if(g0===kd0){s=E0({type:"paren",nodes:[]}),e.push(s),E0({type:"text",value:g0});continue}if(g0===Sd0){if(s.type!=="paren"){E0({type:"text",value:g0});continue}s=e.pop(),E0({type:"text",value:g0}),s=e[e.length-1];continue}if(g0===Pd0||g0===Id0||g0===Ad0){let P0=g0,F0;for(r.keepQuotes!==!0&&(g0="");i0<r0&&(F0=p0());){if(F0===Bg){g0+=F0+p0();continue}if(F0===P0){r.keepQuotes===!0&&(g0+=F0);break}g0+=F0}E0({type:"text",value:g0});continue}if(g0===Fd0){c0++;let F0={type:"brace",open:!0,close:!1,dollar:_.value&&_.value.slice(-1)==="$"||s.dollar===!0,depth:c0,commas:0,ranges:0,nodes:[]};s=E0(F0),e.push(s),E0({type:"open",value:g0});continue}if(g0===Od0){if(s.type!=="brace"){E0({type:"text",value:g0});continue}let P0="close";s=e.pop(),s.close=!0,E0({type:P0,value:g0}),c0--,s=e[e.length-1];continue}if(g0===Ed0&&c0>0){if(s.ranges>0){s.ranges=0;let P0=s.nodes.shift();s.nodes=[P0,{type:"text",value:vd0(s)}]}E0({type:"comma",value:g0}),s.commas++;continue}if(g0===Cd0&&c0>0&&s.commas===0){let P0=s.nodes;if(c0===0||P0.length===0){E0({type:"text",value:g0});continue}if(_.type==="dot"){if(s.range=[],_.value+=g0,_.type="range",s.nodes.length!==3&&s.nodes.length!==5){s.invalid=!0,s.ranges=0,_.type="text";continue}s.ranges++,s.args=[];continue}if(_.type==="range"){P0.pop();let F0=P0[P0.length-1];F0.value+=_.value+g0,_=F0,s.ranges--;continue}E0({type:"dot",value:g0});continue}E0({type:"text",value:g0})}do if(s=e.pop(),s.type!=="root"){s.nodes.forEach(N0=>{N0.nodes||(N0.type==="open"&&(N0.isOpen=!0),N0.type==="close"&&(N0.isClose=!0),N0.nodes||(N0.type="text"),N0.invalid=!0)});let P0=e[e.length-1],F0=P0.nodes.indexOf(s);P0.nodes.splice(F0,1,...s.nodes)}while(e.length>0);return E0({type:"eos"}),o};BH.exports=Rd0});var NH=_0((wD0,_H)=>{"use strict";var RH=f4(),_d0=AH(),Nd0=kH(),Ld0=TH(),or=(i,r={})=>{let a=[];if(Array.isArray(i))for(let n of i){let o=or.create(n,r);Array.isArray(o)?a.push(...o):a.push(o)}else a=[].concat(or.create(i,r));return r&&r.expand===!0&&r.nodupes===!0&&(a=[...new Set(a)]),a};or.parse=(i,r={})=>Ld0(i,r);or.stringify=(i,r={})=>RH(typeof i=="string"?or.parse(i,r):i,r);or.compile=(i,r={})=>(typeof i=="string"&&(i=or.parse(i,r)),_d0(i,r));or.expand=(i,r={})=>{typeof i=="string"&&(i=or.parse(i,r));let a=Nd0(i,r);return r.noempty===!0&&(a=a.filter(Boolean)),r.nodupes===!0&&(a=[...new Set(a)]),a};or.create=(i,r={})=>i===""||i.length<3?[i]:r.expand!==!0?or.compile(i,r):or.expand(i,r);_H.exports=or});var Ru=_0((DD0,qH)=>{"use strict";var Md0=require("path"),bi="\\\\/",LH=`[^${bi}]`,zi="\\.",Ud0="\\+",Hd0="\\?",h4="\\/",qd0="(?=.)",MH="[^/]",Tg=`(?:${h4}|$)`,UH=`(?:^|${h4})`,Rg=`${zi}{1,2}${Tg}`,Gd0=`(?!${zi})`,jd0=`(?!${UH}${Rg})`,Vd0=`(?!${zi}{0,1}${Tg})`,Qd0=`(?!${Rg})`,zd0=`[^.${h4}]`,Wd0=`${MH}*?`,HH={DOT_LITERAL:zi,PLUS_LITERAL:Ud0,QMARK_LITERAL:Hd0,SLASH_LITERAL:h4,ONE_CHAR:qd0,QMARK:MH,END_ANCHOR:Tg,DOTS_SLASH:Rg,NO_DOT:Gd0,NO_DOTS:jd0,NO_DOT_SLASH:Vd0,NO_DOTS_SLASH:Qd0,QMARK_NO_DOT:zd0,STAR:Wd0,START_ANCHOR:UH},Yd0={...HH,SLASH_LITERAL:`[${bi}]`,QMARK:LH,STAR:`${LH}*?`,DOTS_SLASH:`${zi}{1,2}(?:[${bi}]|$)`,NO_DOT:`(?!${zi})`,NO_DOTS:`(?!(?:^|[${bi}])${zi}{1,2}(?:[${bi}]|$))`,NO_DOT_SLASH:`(?!${zi}{0,1}(?:[${bi}]|$))`,NO_DOTS_SLASH:`(?!${zi}{1,2}(?:[${bi}]|$))`,QMARK_NO_DOT:`[^.${bi}]`,START_ANCHOR:`(?:^|[${bi}])`,END_ANCHOR:`(?:[${bi}]|$)`},Kd0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};qH.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Kd0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:Md0.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?Yd0:HH}}});var _u=_0(Xt=>{"use strict";var Xd0=require("path"),Jd0=process.platform==="win32",{REGEX_BACKSLASH:Zd0,REGEX_REMOVE_BACKSLASH:$d0,REGEX_SPECIAL_CHARS:x10,REGEX_SPECIAL_CHARS_GLOBAL:e10}=Ru();Xt.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);Xt.hasRegexChars=i=>x10.test(i);Xt.isRegexChar=i=>i.length===1&&Xt.hasRegexChars(i);Xt.escapeRegex=i=>i.replace(e10,"\\$1");Xt.toPosixSlashes=i=>i.replace(Zd0,"/");Xt.removeBackslashes=i=>i.replace($d0,r=>r==="\\"?"":r);Xt.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};Xt.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:Jd0===!0||Xd0.sep==="\\";Xt.escapeLast=(i,r,a)=>{let n=i.lastIndexOf(r,a);return n===-1?i:i[n-1]==="\\"?Xt.escapeLast(i,r,n-1):`${i.slice(0,n)}\\${i.slice(n)}`};Xt.removePrefix=(i,r={})=>{let a=i;return a.startsWith("./")&&(a=a.slice(2),r.prefix="./"),a};Xt.wrapOutput=(i,r={},a={})=>{let n=a.contains?"":"^",o=a.contains?"":"$",e=`${n}(?:${i})${o}`;return r.negated===!0&&(e=`(?:^(?!${e}).*$)`),e}});var KH=_0((AD0,YH)=>{"use strict";var GH=_u(),{CHAR_ASTERISK:_g,CHAR_AT:t10,CHAR_BACKWARD_SLASH:Nu,CHAR_COMMA:r10,CHAR_DOT:Ng,CHAR_EXCLAMATION_MARK:Lg,CHAR_FORWARD_SLASH:WH,CHAR_LEFT_CURLY_BRACE:Mg,CHAR_LEFT_PARENTHESES:Ug,CHAR_LEFT_SQUARE_BRACKET:i10,CHAR_PLUS:n10,CHAR_QUESTION_MARK:jH,CHAR_RIGHT_CURLY_BRACE:a10,CHAR_RIGHT_PARENTHESES:VH,CHAR_RIGHT_SQUARE_BRACKET:s10}=Ru(),QH=i=>i===WH||i===Nu,zH=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},o10=(i,r)=>{let a=r||{},n=i.length-1,o=a.parts===!0||a.scanToEnd===!0,e=[],s=[],_=[],o0=i,r0=-1,i0=0,c0=0,g0=!1,p0=!1,E0=!1,P0=!1,F0=!1,N0=!1,Y0=!1,S0=!1,W0=!1,Q0=!1,sx=0,J0,Cx,z0={value:"",depth:0,isGlob:!1},yx=()=>r0>=n,$0=()=>o0.charCodeAt(r0+1),qx=()=>(J0=Cx,o0.charCodeAt(++r0));for(;r0<n;){Cx=qx();let L0;if(Cx===Nu){Y0=z0.backslashes=!0,Cx=qx(),Cx===Mg&&(N0=!0);continue}if(N0===!0||Cx===Mg){for(sx++;yx()!==!0&&(Cx=qx());){if(Cx===Nu){Y0=z0.backslashes=!0,qx();continue}if(Cx===Mg){sx++;continue}if(N0!==!0&&Cx===Ng&&(Cx=qx())===Ng){if(g0=z0.isBrace=!0,E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(N0!==!0&&Cx===r10){if(g0=z0.isBrace=!0,E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===a10&&(sx--,sx===0)){N0=!1,g0=z0.isBrace=!0,Q0=!0;break}}if(o===!0)continue;break}if(Cx===WH){if(e.push(r0),s.push(z0),z0={value:"",depth:0,isGlob:!1},Q0===!0)continue;if(J0===Ng&&r0===i0+1){i0+=2;continue}c0=r0+1;continue}if(a.noext!==!0&&(Cx===n10||Cx===t10||Cx===_g||Cx===jH||Cx===Lg)===!0&&$0()===Ug){if(E0=z0.isGlob=!0,P0=z0.isExtglob=!0,Q0=!0,Cx===Lg&&r0===i0&&(W0=!0),o===!0){for(;yx()!==!0&&(Cx=qx());){if(Cx===Nu){Y0=z0.backslashes=!0,Cx=qx();continue}if(Cx===VH){E0=z0.isGlob=!0,Q0=!0;break}}continue}break}if(Cx===_g){if(J0===_g&&(F0=z0.isGlobstar=!0),E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===jH){if(E0=z0.isGlob=!0,Q0=!0,o===!0)continue;break}if(Cx===i10){for(;yx()!==!0&&(L0=qx());){if(L0===Nu){Y0=z0.backslashes=!0,qx();continue}if(L0===s10){p0=z0.isBracket=!0,E0=z0.isGlob=!0,Q0=!0;break}}if(o===!0)continue;break}if(a.nonegate!==!0&&Cx===Lg&&r0===i0){S0=z0.negated=!0,i0++;continue}if(a.noparen!==!0&&Cx===Ug){if(E0=z0.isGlob=!0,o===!0){for(;yx()!==!0&&(Cx=qx());){if(Cx===Ug){Y0=z0.backslashes=!0,Cx=qx();continue}if(Cx===VH){Q0=!0;break}}continue}break}if(E0===!0){if(Q0=!0,o===!0)continue;break}}a.noext===!0&&(P0=!1,E0=!1);let zx=o0,ee="",v0="";i0>0&&(ee=o0.slice(0,i0),o0=o0.slice(i0),c0-=i0),zx&&E0===!0&&c0>0?(zx=o0.slice(0,c0),v0=o0.slice(c0)):E0===!0?(zx="",v0=o0):zx=o0,zx&&zx!==""&&zx!=="/"&&zx!==o0&&QH(zx.charCodeAt(zx.length-1))&&(zx=zx.slice(0,-1)),a.unescape===!0&&(v0&&(v0=GH.removeBackslashes(v0)),zx&&Y0===!0&&(zx=GH.removeBackslashes(zx)));let R0={prefix:ee,input:i,start:i0,base:zx,glob:v0,isBrace:g0,isBracket:p0,isGlob:E0,isExtglob:P0,isGlobstar:F0,negated:S0,negatedExtglob:W0};if(a.tokens===!0&&(R0.maxDepth=0,QH(Cx)||s.push(z0),R0.tokens=s),a.parts===!0||a.tokens===!0){let L0;for(let q0=0;q0<e.length;q0++){let ix=L0?L0+1:i0,_x=e[q0],kx=i.slice(ix,_x);a.tokens&&(q0===0&&i0!==0?(s[q0].isPrefix=!0,s[q0].value=ee):s[q0].value=kx,zH(s[q0]),R0.maxDepth+=s[q0].depth),(q0!==0||kx!=="")&&_.push(kx),L0=_x}if(L0&&L0+1<i.length){let q0=i.slice(L0+1);_.push(q0),a.tokens&&(s[s.length-1].value=q0,zH(s[s.length-1]),R0.maxDepth+=s[s.length-1].depth)}R0.slashes=e,R0.parts=_}return R0};YH.exports=o10});var ZH=_0((ED0,JH)=>{"use strict";var p4=Ru(),cr=_u(),{MAX_LENGTH:b4,POSIX_REGEX_SOURCE:c10,REGEX_NON_SPECIAL_CHARS:u10,REGEX_SPECIAL_CHARS_BACKREF:f10,REPLACEMENTS:XH}=p4,d10=(i,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...i,r);i.sort();let a=`[${i.join("-")}]`;try{new RegExp(a)}catch{return i.map(o=>cr.escapeRegex(o)).join("..")}return a},p7=(i,r)=>`Missing ${i}: "${r}" - use "\\\\${r}" to match literal characters`,Hg=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=XH[i]||i;let a={...r},n=typeof a.maxLength=="number"?Math.min(b4,a.maxLength):b4,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let e={type:"bos",value:"",output:a.prepend||""},s=[e],_=a.capture?"":"?:",o0=cr.isWindows(r),r0=p4.globChars(o0),i0=p4.extglobChars(r0),{DOT_LITERAL:c0,PLUS_LITERAL:g0,SLASH_LITERAL:p0,ONE_CHAR:E0,DOTS_SLASH:P0,NO_DOT:F0,NO_DOT_SLASH:N0,NO_DOTS_SLASH:Y0,QMARK:S0,QMARK_NO_DOT:W0,STAR:Q0,START_ANCHOR:sx}=r0,J0=ce=>`(${_}(?:(?!${sx}${ce.dot?P0:c0}).)*?)`,Cx=a.dot?"":F0,z0=a.dot?S0:W0,yx=a.bash===!0?J0(a):Q0;a.capture&&(yx=`(${yx})`),typeof a.noext=="boolean"&&(a.noextglob=a.noext);let $0={input:i,index:-1,start:0,dot:a.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:s};i=cr.removePrefix(i,$0),o=i.length;let qx=[],zx=[],ee=[],v0=e,R0,L0=()=>$0.index===o-1,q0=$0.peek=(ce=1)=>i[$0.index+ce],ix=$0.advance=()=>i[++$0.index]||"",_x=()=>i.slice($0.index+1),kx=(ce="",Ue=0)=>{$0.consumed+=ce,$0.index+=Ue},ne=ce=>{$0.output+=ce.output!=null?ce.output:ce.value,kx(ce.value)},Sx=()=>{let ce=1;for(;q0()==="!"&&(q0(2)!=="("||q0(3)==="?");)ix(),$0.start++,ce++;return ce%2===0?!1:($0.negated=!0,$0.start++,!0)},jx=ce=>{$0[ce]++,ee.push(ce)},ke=ce=>{$0[ce]--,ee.pop()},ie=ce=>{if(v0.type==="globstar"){let Ue=$0.braces>0&&(ce.type==="comma"||ce.type==="brace"),te=ce.extglob===!0||qx.length&&(ce.type==="pipe"||ce.type==="paren");ce.type!=="slash"&&ce.type!=="paren"&&!Ue&&!te&&($0.output=$0.output.slice(0,-v0.output.length),v0.type="star",v0.value="*",v0.output=yx,$0.output+=v0.output)}if(qx.length&&ce.type!=="paren"&&(qx[qx.length-1].inner+=ce.value),(ce.value||ce.output)&&ne(ce),v0&&v0.type==="text"&&ce.type==="text"){v0.value+=ce.value,v0.output=(v0.output||"")+ce.value;return}ce.prev=v0,s.push(ce),v0=ce},Me=(ce,Ue)=>{let te={...i0[Ue],conditions:1,inner:""};te.prev=v0,te.parens=$0.parens,te.output=$0.output;let Re=(a.capture?"(":"")+te.open;jx("parens"),ie({type:ce,value:Ue,output:$0.output?"":E0}),ie({type:"paren",extglob:!0,value:ix(),output:Re}),qx.push(te)},yt=ce=>{let Ue=ce.close+(a.capture?")":""),te;if(ce.type==="negate"){let Re=yx;if(ce.inner&&ce.inner.length>1&&ce.inner.includes("/")&&(Re=J0(a)),(Re!==yx||L0()||/^\)+$/.test(_x()))&&(Ue=ce.close=`)$))${Re}`),ce.inner.includes("*")&&(te=_x())&&/^\.[^\\/.]+$/.test(te)){let i6=Hg(te,{...r,fastpaths:!1}).output;Ue=ce.close=`)${i6})${Re})`}ce.prev.type==="bos"&&($0.negatedExtglob=!0)}ie({type:"paren",extglob:!0,value:R0,output:Ue}),ke("parens")};if(a.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ce=!1,Ue=i.replace(f10,(te,Re,i6,Y6,v6,Di)=>Y6==="\\"?(ce=!0,te):Y6==="?"?Re?Re+Y6+(v6?S0.repeat(v6.length):""):Di===0?z0+(v6?S0.repeat(v6.length):""):S0.repeat(i6.length):Y6==="."?c0.repeat(i6.length):Y6==="*"?Re?Re+Y6+(v6?yx:""):yx:Re?te:`\\${te}`);return ce===!0&&(a.unescape===!0?Ue=Ue.replace(/\\/g,""):Ue=Ue.replace(/\\+/g,te=>te.length%2===0?"\\\\":te?"\\":"")),Ue===i&&a.contains===!0?($0.output=i,$0):($0.output=cr.wrapOutput(Ue,$0,r),$0)}for(;!L0();){if(R0=ix(),R0==="\0")continue;if(R0==="\\"){let te=q0();if(te==="/"&&a.bash!==!0||te==="."||te===";")continue;if(!te){R0+="\\",ie({type:"text",value:R0});continue}let Re=/^\\+/.exec(_x()),i6=0;if(Re&&Re[0].length>2&&(i6=Re[0].length,$0.index+=i6,i6%2!==0&&(R0+="\\")),a.unescape===!0?R0=ix():R0+=ix(),$0.brackets===0){ie({type:"text",value:R0});continue}}if($0.brackets>0&&(R0!=="]"||v0.value==="["||v0.value==="[^")){if(a.posix!==!1&&R0===":"){let te=v0.value.slice(1);if(te.includes("[")&&(v0.posix=!0,te.includes(":"))){let Re=v0.value.lastIndexOf("["),i6=v0.value.slice(0,Re),Y6=v0.value.slice(Re+2),v6=c10[Y6];if(v6){v0.value=i6+v6,$0.backtrack=!0,ix(),!e.output&&s.indexOf(v0)===1&&(e.output=E0);continue}}}(R0==="["&&q0()!==":"||R0==="-"&&q0()==="]")&&(R0=`\\${R0}`),R0==="]"&&(v0.value==="["||v0.value==="[^")&&(R0=`\\${R0}`),a.posix===!0&&R0==="!"&&v0.value==="["&&(R0="^"),v0.value+=R0,ne({value:R0});continue}if($0.quotes===1&&R0!=='"'){R0=cr.escapeRegex(R0),v0.value+=R0,ne({value:R0});continue}if(R0==='"'){$0.quotes=$0.quotes===1?0:1,a.keepQuotes===!0&&ie({type:"text",value:R0});continue}if(R0==="("){jx("parens"),ie({type:"paren",value:R0});continue}if(R0===")"){if($0.parens===0&&a.strictBrackets===!0)throw new SyntaxError(p7("opening","("));let te=qx[qx.length-1];if(te&&$0.parens===te.parens+1){yt(qx.pop());continue}ie({type:"paren",value:R0,output:$0.parens?")":"\\)"}),ke("parens");continue}if(R0==="["){if(a.nobracket===!0||!_x().includes("]")){if(a.nobracket!==!0&&a.strictBrackets===!0)throw new SyntaxError(p7("closing","]"));R0=`\\${R0}`}else jx("brackets");ie({type:"bracket",value:R0});continue}if(R0==="]"){if(a.nobracket===!0||v0&&v0.type==="bracket"&&v0.value.length===1){ie({type:"text",value:R0,output:`\\${R0}`});continue}if($0.brackets===0){if(a.strictBrackets===!0)throw new SyntaxError(p7("opening","["));ie({type:"text",value:R0,output:`\\${R0}`});continue}ke("brackets");let te=v0.value.slice(1);if(v0.posix!==!0&&te[0]==="^"&&!te.includes("/")&&(R0=`/${R0}`),v0.value+=R0,ne({value:R0}),a.literalBrackets===!1||cr.hasRegexChars(te))continue;let Re=cr.escapeRegex(v0.value);if($0.output=$0.output.slice(0,-v0.value.length),a.literalBrackets===!0){$0.output+=Re,v0.value=Re;continue}v0.value=`(${_}${Re}|${v0.value})`,$0.output+=v0.value;continue}if(R0==="{"&&a.nobrace!==!0){jx("braces");let te={type:"brace",value:R0,output:"(",outputIndex:$0.output.length,tokensIndex:$0.tokens.length};zx.push(te),ie(te);continue}if(R0==="}"){let te=zx[zx.length-1];if(a.nobrace===!0||!te){ie({type:"text",value:R0,output:R0});continue}let Re=")";if(te.dots===!0){let i6=s.slice(),Y6=[];for(let v6=i6.length-1;v6>=0&&(s.pop(),i6[v6].type!=="brace");v6--)i6[v6].type!=="dots"&&Y6.unshift(i6[v6].value);Re=d10(Y6,a),$0.backtrack=!0}if(te.comma!==!0&&te.dots!==!0){let i6=$0.output.slice(0,te.outputIndex),Y6=$0.tokens.slice(te.tokensIndex);te.value=te.output="\\{",R0=Re="\\}",$0.output=i6;for(let v6 of Y6)$0.output+=v6.output||v6.value}ie({type:"brace",value:R0,output:Re}),ke("braces"),zx.pop();continue}if(R0==="|"){qx.length>0&&qx[qx.length-1].conditions++,ie({type:"text",value:R0});continue}if(R0===","){let te=R0,Re=zx[zx.length-1];Re&&ee[ee.length-1]==="braces"&&(Re.comma=!0,te="|"),ie({type:"comma",value:R0,output:te});continue}if(R0==="/"){if(v0.type==="dot"&&$0.index===$0.start+1){$0.start=$0.index+1,$0.consumed="",$0.output="",s.pop(),v0=e;continue}ie({type:"slash",value:R0,output:p0});continue}if(R0==="."){if($0.braces>0&&v0.type==="dot"){v0.value==="."&&(v0.output=c0);let te=zx[zx.length-1];v0.type="dots",v0.output+=R0,v0.value+=R0,te.dots=!0;continue}if($0.braces+$0.parens===0&&v0.type!=="bos"&&v0.type!=="slash"){ie({type:"text",value:R0,output:c0});continue}ie({type:"dot",value:R0,output:c0});continue}if(R0==="?"){if(!(v0&&v0.value==="(")&&a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){Me("qmark",R0);continue}if(v0&&v0.type==="paren"){let Re=q0(),i6=R0;if(Re==="<"&&!cr.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(v0.value==="("&&!/[!=<:]/.test(Re)||Re==="<"&&!/<([!=]|\w+>)/.test(_x()))&&(i6=`\\${R0}`),ie({type:"text",value:R0,output:i6});continue}if(a.dot!==!0&&(v0.type==="slash"||v0.type==="bos")){ie({type:"qmark",value:R0,output:W0});continue}ie({type:"qmark",value:R0,output:S0});continue}if(R0==="!"){if(a.noextglob!==!0&&q0()==="("&&(q0(2)!=="?"||!/[!=<:]/.test(q0(3)))){Me("negate",R0);continue}if(a.nonegate!==!0&&$0.index===0){Sx();continue}}if(R0==="+"){if(a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){Me("plus",R0);continue}if(v0&&v0.value==="("||a.regex===!1){ie({type:"plus",value:R0,output:g0});continue}if(v0&&(v0.type==="bracket"||v0.type==="paren"||v0.type==="brace")||$0.parens>0){ie({type:"plus",value:R0});continue}ie({type:"plus",value:g0});continue}if(R0==="@"){if(a.noextglob!==!0&&q0()==="("&&q0(2)!=="?"){ie({type:"at",extglob:!0,value:R0,output:""});continue}ie({type:"text",value:R0});continue}if(R0!=="*"){(R0==="$"||R0==="^")&&(R0=`\\${R0}`);let te=u10.exec(_x());te&&(R0+=te[0],$0.index+=te[0].length),ie({type:"text",value:R0});continue}if(v0&&(v0.type==="globstar"||v0.star===!0)){v0.type="star",v0.star=!0,v0.value+=R0,v0.output=yx,$0.backtrack=!0,$0.globstar=!0,kx(R0);continue}let ce=_x();if(a.noextglob!==!0&&/^\([^?]/.test(ce)){Me("star",R0);continue}if(v0.type==="star"){if(a.noglobstar===!0){kx(R0);continue}let te=v0.prev,Re=te.prev,i6=te.type==="slash"||te.type==="bos",Y6=Re&&(Re.type==="star"||Re.type==="globstar");if(a.bash===!0&&(!i6||ce[0]&&ce[0]!=="/")){ie({type:"star",value:R0,output:""});continue}let v6=$0.braces>0&&(te.type==="comma"||te.type==="brace"),Di=qx.length&&(te.type==="pipe"||te.type==="paren");if(!i6&&te.type!=="paren"&&!v6&&!Di){ie({type:"star",value:R0,output:""});continue}for(;ce.slice(0,3)==="/**";){let Sr=i[$0.index+4];if(Sr&&Sr!=="/")break;ce=ce.slice(3),kx("/**",3)}if(te.type==="bos"&&L0()){v0.type="globstar",v0.value+=R0,v0.output=J0(a),$0.output=v0.output,$0.globstar=!0,kx(R0);continue}if(te.type==="slash"&&te.prev.type!=="bos"&&!Y6&&L0()){$0.output=$0.output.slice(0,-(te.output+v0.output).length),te.output=`(?:${te.output}`,v0.type="globstar",v0.output=J0(a)+(a.strictSlashes?")":"|$)"),v0.value+=R0,$0.globstar=!0,$0.output+=te.output+v0.output,kx(R0);continue}if(te.type==="slash"&&te.prev.type!=="bos"&&ce[0]==="/"){let Sr=ce[1]!==void 0?"|$":"";$0.output=$0.output.slice(0,-(te.output+v0.output).length),te.output=`(?:${te.output}`,v0.type="globstar",v0.output=`${J0(a)}${p0}|${p0}${Sr})`,v0.value+=R0,$0.output+=te.output+v0.output,$0.globstar=!0,kx(R0+ix()),ie({type:"slash",value:"/",output:""});continue}if(te.type==="bos"&&ce[0]==="/"){v0.type="globstar",v0.value+=R0,v0.output=`(?:^|${p0}|${J0(a)}${p0})`,$0.output=v0.output,$0.globstar=!0,kx(R0+ix()),ie({type:"slash",value:"/",output:""});continue}$0.output=$0.output.slice(0,-v0.output.length),v0.type="globstar",v0.output=J0(a),v0.value+=R0,$0.output+=v0.output,$0.globstar=!0,kx(R0);continue}let Ue={type:"star",value:R0,output:yx};if(a.bash===!0){Ue.output=".*?",(v0.type==="bos"||v0.type==="slash")&&(Ue.output=Cx+Ue.output),ie(Ue);continue}if(v0&&(v0.type==="bracket"||v0.type==="paren")&&a.regex===!0){Ue.output=R0,ie(Ue);continue}($0.index===$0.start||v0.type==="slash"||v0.type==="dot")&&(v0.type==="dot"?($0.output+=N0,v0.output+=N0):a.dot===!0?($0.output+=Y0,v0.output+=Y0):($0.output+=Cx,v0.output+=Cx),q0()!=="*"&&($0.output+=E0,v0.output+=E0)),ie(Ue)}for(;$0.brackets>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing","]"));$0.output=cr.escapeLast($0.output,"["),ke("brackets")}for(;$0.parens>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing",")"));$0.output=cr.escapeLast($0.output,"("),ke("parens")}for(;$0.braces>0;){if(a.strictBrackets===!0)throw new SyntaxError(p7("closing","}"));$0.output=cr.escapeLast($0.output,"{"),ke("braces")}if(a.strictSlashes!==!0&&(v0.type==="star"||v0.type==="bracket")&&ie({type:"maybe_slash",value:"",output:`${p0}?`}),$0.backtrack===!0){$0.output="";for(let ce of $0.tokens)$0.output+=ce.output!=null?ce.output:ce.value,ce.suffix&&($0.output+=ce.suffix)}return $0};Hg.fastpaths=(i,r)=>{let a={...r},n=typeof a.maxLength=="number"?Math.min(b4,a.maxLength):b4,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);i=XH[i]||i;let e=cr.isWindows(r),{DOT_LITERAL:s,SLASH_LITERAL:_,ONE_CHAR:o0,DOTS_SLASH:r0,NO_DOT:i0,NO_DOTS:c0,NO_DOTS_SLASH:g0,STAR:p0,START_ANCHOR:E0}=p4.globChars(e),P0=a.dot?c0:i0,F0=a.dot?g0:i0,N0=a.capture?"":"?:",Y0={negated:!1,prefix:""},S0=a.bash===!0?".*?":p0;a.capture&&(S0=`(${S0})`);let W0=Cx=>Cx.noglobstar===!0?S0:`(${N0}(?:(?!${E0}${Cx.dot?r0:s}).)*?)`,Q0=Cx=>{switch(Cx){case"*":return`${P0}${o0}${S0}`;case".*":return`${s}${o0}${S0}`;case"*.*":return`${P0}${S0}${s}${o0}${S0}`;case"*/*":return`${P0}${S0}${_}${o0}${F0}${S0}`;case"**":return P0+W0(a);case"**/*":return`(?:${P0}${W0(a)}${_})?${F0}${o0}${S0}`;case"**/*.*":return`(?:${P0}${W0(a)}${_})?${F0}${S0}${s}${o0}${S0}`;case"**/.*":return`(?:${P0}${W0(a)}${_})?${s}${o0}${S0}`;default:{let z0=/^(.*?)\.(\w+)$/.exec(Cx);if(!z0)return;let yx=Q0(z0[1]);return yx?yx+s+z0[2]:void 0}}},sx=cr.removePrefix(i,Y0),J0=Q0(sx);return J0&&a.strictSlashes!==!0&&(J0+=`${_}?`),J0};JH.exports=Hg});var xq=_0((CD0,$H)=>{"use strict";var l10=require("path"),h10=KH(),qg=ZH(),Gg=_u(),p10=Ru(),b10=i=>i&&typeof i=="object"&&!Array.isArray(i),G6=(i,r,a=!1)=>{if(Array.isArray(i)){let i0=i.map(g0=>G6(g0,r,a));return g0=>{for(let p0 of i0){let E0=p0(g0);if(E0)return E0}return!1}}let n=b10(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=r||{},e=Gg.isWindows(r),s=n?G6.compileRe(i,r):G6.makeRe(i,r,!1,!0),_=s.state;delete s.state;let o0=()=>!1;if(o.ignore){let i0={...r,ignore:null,onMatch:null,onResult:null};o0=G6(o.ignore,i0,a)}let r0=(i0,c0=!1)=>{let{isMatch:g0,match:p0,output:E0}=G6.test(i0,s,r,{glob:i,posix:e}),P0={glob:i,state:_,regex:s,posix:e,input:i0,output:E0,match:p0,isMatch:g0};return typeof o.onResult=="function"&&o.onResult(P0),g0===!1?(P0.isMatch=!1,c0?P0:!1):o0(i0)?(typeof o.onIgnore=="function"&&o.onIgnore(P0),P0.isMatch=!1,c0?P0:!1):(typeof o.onMatch=="function"&&o.onMatch(P0),c0?P0:!0)};return a&&(r0.state=_),r0};G6.test=(i,r,a,{glob:n,posix:o}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let e=a||{},s=e.format||(o?Gg.toPosixSlashes:null),_=i===n,o0=_&&s?s(i):i;return _===!1&&(o0=s?s(i):i,_=o0===n),(_===!1||e.capture===!0)&&(e.matchBase===!0||e.basename===!0?_=G6.matchBase(i,r,a,o):_=r.exec(o0)),{isMatch:!!_,match:_,output:o0}};G6.matchBase=(i,r,a,n=Gg.isWindows(a))=>(r instanceof RegExp?r:G6.makeRe(r,a)).test(l10.basename(i));G6.isMatch=(i,r,a)=>G6(r,a)(i);G6.parse=(i,r)=>Array.isArray(i)?i.map(a=>G6.parse(a,r)):qg(i,{...r,fastpaths:!1});G6.scan=(i,r)=>h10(i,r);G6.compileRe=(i,r,a=!1,n=!1)=>{if(a===!0)return i.output;let o=r||{},e=o.contains?"":"^",s=o.contains?"":"$",_=`${e}(?:${i.output})${s}`;i&&i.negated===!0&&(_=`^(?!${_}).*$`);let o0=G6.toRegex(_,r);return n===!0&&(o0.state=i),o0};G6.makeRe=(i,r={},a=!1,n=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(o.output=qg.fastpaths(i,r)),o.output||(o=qg(i,r)),G6.compileRe(o,r,a,n)};G6.toRegex=(i,r)=>{try{let a=r||{};return new RegExp(i,a.flags||(a.nocase?"i":""))}catch(a){if(r&&r.debug===!0)throw a;return/$^/}};G6.constants=p10;$H.exports=G6});var tq=_0((kD0,eq)=>{"use strict";eq.exports=xq()});var oq=_0((SD0,sq)=>{"use strict";var iq=require("util"),nq=NH(),gi=tq(),jg=_u(),rq=i=>i===""||i==="./",aq=i=>{let r=i.indexOf("{");return r>-1&&i.indexOf("}",r)>-1},b6=(i,r,a)=>{r=[].concat(r),i=[].concat(i);let n=new Set,o=new Set,e=new Set,s=0,_=i0=>{e.add(i0.output),a&&a.onResult&&a.onResult(i0)};for(let i0=0;i0<r.length;i0++){let c0=gi(String(r[i0]),{...a,onResult:_},!0),g0=c0.state.negated||c0.state.negatedExtglob;g0&&s++;for(let p0 of i){let E0=c0(p0,!0);(g0?!E0.isMatch:E0.isMatch)&&(g0?n.add(E0.output):(n.delete(E0.output),o.add(E0.output)))}}let r0=(s===r.length?[...e]:[...o]).filter(i0=>!n.has(i0));if(a&&r0.length===0){if(a.failglob===!0)throw new Error(`No matches found for "${r.join(", ")}"`);if(a.nonull===!0||a.nullglob===!0)return a.unescape?r.map(i0=>i0.replace(/\\/g,"")):r}return r0};b6.match=b6;b6.matcher=(i,r)=>gi(i,r);b6.isMatch=(i,r,a)=>gi(r,a)(i);b6.any=b6.isMatch;b6.not=(i,r,a={})=>{r=[].concat(r).map(String);let n=new Set,o=[],e=_=>{a.onResult&&a.onResult(_),o.push(_.output)},s=new Set(b6(i,r,{...a,onResult:e}));for(let _ of o)s.has(_)||n.add(_);return[...n]};b6.contains=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${iq.inspect(i)}"`);if(Array.isArray(r))return r.some(n=>b6.contains(i,n,a));if(typeof r=="string"){if(rq(i)||rq(r))return!1;if(i.includes(r)||i.startsWith("./")&&i.slice(2).includes(r))return!0}return b6.isMatch(i,r,{...a,contains:!0})};b6.matchKeys=(i,r,a)=>{if(!jg.isObject(i))throw new TypeError("Expected the first argument to be an object");let n=b6(Object.keys(i),r,a),o={};for(let e of n)o[e]=i[e];return o};b6.some=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=gi(String(o),a);if(n.some(s=>e(s)))return!0}return!1};b6.every=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=gi(String(o),a);if(!n.every(s=>e(s)))return!1}return!0};b6.all=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${iq.inspect(i)}"`);return[].concat(r).every(n=>gi(n,a)(i))};b6.capture=(i,r,a)=>{let n=jg.isWindows(a),e=gi.makeRe(String(i),{...a,capture:!0}).exec(n?jg.toPosixSlashes(r):r);if(e)return e.slice(1).map(s=>s===void 0?"":s)};b6.makeRe=(...i)=>gi.makeRe(...i);b6.scan=(...i)=>gi.scan(...i);b6.parse=(i,r)=>{let a=[];for(let n of[].concat(i||[]))for(let o of nq(String(n),r))a.push(gi.parse(o,r));return a};b6.braces=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return r&&r.nobrace===!0||!aq(i)?[i]:nq(i,r)};b6.braceExpand=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return b6.braces(i,{...r,expand:!0})};b6.hasBraces=aq;sq.exports=b6});var Jq=_0((Fv0,Ki)=>{var W6=require("fs"),am=require("os"),ur=require("path"),Nq=require("crypto"),yi={fs:W6.constants,os:am.constants},Lq="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Uq=/XXXXXX/,H10=3,Hq=(yi.O_CREAT||yi.fs.O_CREAT)|(yi.O_EXCL||yi.fs.O_EXCL)|(yi.O_RDWR||yi.fs.O_RDWR),q10=am.platform()==="win32",G10=yi.EBADF||yi.os.errno.EBADF,j10=yi.ENOENT||yi.os.errno.ENOENT,qq=448,Gq=384,V10="exit",m7=[],jq=W6.rmdirSync.bind(W6),Vq=!1;function Q10(i,r){return W6.rm(i,{recursive:!0},r)}function Qq(i){return W6.rmSync(i,{recursive:!0})}function sm(i,r){let a=y7(i,r),n=a[0],o=a[1];try{Yq(n)}catch(s){return o(s)}let e=n.tries;(function s(){try{let _=Wq(n);W6.stat(_,function(o0){if(!o0)return e-- >0?s():o(new Error("Could not get a unique tmp filename, max tries reached "+_));o(null,_)})}catch(_){o(_)}})()}function om(i){let r=y7(i),a=r[0];Yq(a);let n=a.tries;do{let o=Wq(a);try{W6.statSync(o)}catch{return o}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function z10(i,r){let a=y7(i,r),n=a[0],o=a[1];sm(n,function(s,_){if(s)return o(s);W6.open(_,Hq,n.mode||Gq,function(r0,i0){if(r0)return o(r0);if(n.discardDescriptor)return W6.close(i0,function(g0){return o(g0,_,void 0,rm(_,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,_,i0,rm(_,c0?-1:i0,n,!1))}})})}function W10(i){let r=y7(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=om(a);var e=W6.openSync(o,Hq,a.mode||Gq);return a.discardDescriptor&&(W6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:rm(o,n?-1:e,a,!0)}}function Y10(i,r){let a=y7(i,r),n=a[0],o=a[1];sm(n,function(s,_){if(s)return o(s);W6.mkdir(_,n.mode||qq,function(r0){if(r0)return o(r0);o(null,_,zq(_,n,!1))})})}function K10(i){let r=y7(i),a=r[0],n=om(a);return W6.mkdirSync(n,a.mode||qq),{name:n,removeCallback:zq(n,a,!0)}}function X10(i,r){let a=function(n){if(n&&!nm(n))return r(n);r()};0<=i[0]?W6.close(i[0],function(){W6.unlink(i[1],a)}):W6.unlink(i[1],a)}function J10(i){let r=null;try{0<=i[0]&&W6.closeSync(i[0])}catch(a){if(!xl0(a)&&!nm(a))throw a}finally{try{W6.unlinkSync(i[1])}catch(a){nm(a)||(r=a)}}if(r!==null)throw r}function rm(i,r,a,n){let o=w4(J10,[r,i],n),e=w4(X10,[r,i],n,o);return a.keep||m7.unshift(o),n?o:e}function zq(i,r,a){let n=r.unsafeCleanup?Q10:W6.rmdir.bind(W6),o=r.unsafeCleanup?Qq:jq,e=w4(o,i,a),s=w4(n,i,a,e);return r.keep||m7.unshift(e),a?e:s}function w4(i,r,a,n){let o=!1;return function e(s){if(!o){let _=n||e,o0=m7.indexOf(_);return o0>=0&&m7.splice(o0,1),o=!0,a||i===jq||i===Qq?i(r):i(r,s||function(){})}}}function Z10(){if(Vq)for(;m7.length;)try{m7[0]()}catch{}}function Mq(i){let r=[],a=null;try{a=Nq.randomBytes(i)}catch{a=Nq.pseudoRandomBytes(i)}for(var n=0;n<i;n++)r.push(Lq[a[n]%Lq.length]);return r.join("")}function $10(i){return i===null||Jt(i)||!i.trim()}function Jt(i){return typeof i>"u"}function y7(i,r){if(typeof i=="function")return[{},i];if(Jt(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function Wq(i){let r=i.tmpdir;if(!Jt(i.name))return ur.join(r,i.dir,i.name);if(!Jt(i.template))return ur.join(r,i.dir,i.template).replace(Uq,Mq(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",Mq(12),i.postfix?"-"+i.postfix:""].join("");return ur.join(r,i.dir,a)}function Yq(i){i.tmpdir=Xq(i);let r=i.tmpdir;if(Jt(i.name)||tm(i.name,"name",r),Jt(i.dir)||tm(i.dir,"dir",r),!Jt(i.template)&&(tm(i.template,"template",r),!i.template.match(Uq)))throw new Error(`Invalid template, found "${i.template}".`);if(!Jt(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=Jt(i.name)?i.tries||H10:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.dir=Jt(i.dir)?"":ur.relative(r,im(i.dir,r)),i.template=Jt(i.template)?void 0:ur.relative(r,im(i.template,r)),i.template=$10(i.template)?void 0:ur.relative(i.dir,i.template),i.name=Jt(i.name)?void 0:i.name,i.prefix=Jt(i.prefix)?"":i.prefix,i.postfix=Jt(i.postfix)?"":i.postfix}function im(i,r){return i.startsWith(r)?ur.resolve(i):ur.resolve(ur.join(r,i))}function tm(i,r,a){if(r==="name"){if(ur.isAbsolute(i))throw new Error(`${r} option must not contain an absolute path, found "${i}".`);let n=ur.basename(i);if(n===".."||n==="."||n!==i)throw new Error(`${r} option must not contain a path, found "${i}".`)}else{if(ur.isAbsolute(i)&&!i.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${i}".`);let n=im(i,a);if(!n.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${n}".`)}}function xl0(i){return Kq(i,-G10,"EBADF")}function nm(i){return Kq(i,-j10,"ENOENT")}function Kq(i,r,a){return q10?i.code===a:i.code===a&&i.errno===r}function el0(){Vq=!0}function Xq(i){return ur.resolve(i&&i.tmpdir||am.tmpdir())}process.addListener(V10,Z10);Object.defineProperty(Ki.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return Xq()}});Ki.exports.dir=Y10;Ki.exports.dirSync=K10;Ki.exports.file=z10;Ki.exports.fileSync=W10;Ki.exports.tmpName=sm;Ki.exports.tmpNameSync=om;Ki.exports.setGracefulCleanup=el0});var sy=Oe(ay(),1),{program:ox,createCommand:Nl0,createArgument:Ll0,createOption:Ml0,CommanderError:Ul0,InvalidArgumentError:Hl0,InvalidOptionArgumentError:ql0,Command:Gl0,Argument:jl0,Option:Vl0,Help:Ql0}=sy.default;var Fr={name:"@capgo/cli",version:"7.11.11",description:"A CLI to upload to capgo servers",author:"github.com/riderx",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/sdk.d.ts",import:"./dist/sdk.js",require:"./dist/sdk.js"}},main:"dist/index.js",types:"dist/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md"},devDependencies:{"@antfu/eslint-config":"^4.15.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.1","@capacitor/cli":"^7.4.0","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.5","@supabase/supabase-js":"^2.50.0","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^24.0.0","@types/prettyjson":"^0.0.33","@types/semver":"^7.7.0","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.3","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.2.0",commander:"^14.0.0",esbuild:"^0.25.5",eslint:"^9.29.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",ky:"1.7.5","latest-version":"^9.0.0",open:"^10.1.2",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.2",tmp:"^0.2.3","tus-js-client":"^4.3.1",typescript:"^5.8.3"}};var J2=require("node:fs"),fM=require("node:process");var Dt=Oe(l6(),1),ho=require("node:process"),Zi=Oe(require("node:readline"),1),n5=Oe(require("node:readline"),1),my=require("node:stream"),yy=Oe(t5(),1);function dj({onlyFirst:i=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,i?void 0:"g")}var lj=dj();function wy(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(lj,"")}function Dy(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var vy={exports:{}};(function(i){var r={};i.exports=r,r.eastAsianWidth=function(n){var o=n.charCodeAt(0),e=n.length==2?n.charCodeAt(1):0,s=o;return 55296<=o&&o<=56319&&56320<=e&&e<=57343&&(o&=1023,e&=1023,s=o<<10|e,s+=65536),s==12288||65281<=s&&s<=65376||65504<=s&&s<=65510?"F":s==8361||65377<=s&&s<=65470||65474<=s&&s<=65479||65482<=s&&s<=65487||65490<=s&&s<=65495||65498<=s&&s<=65500||65512<=s&&s<=65518?"H":4352<=s&&s<=4447||4515<=s&&s<=4519||4602<=s&&s<=4607||9001<=s&&s<=9002||11904<=s&&s<=11929||11931<=s&&s<=12019||12032<=s&&s<=12245||12272<=s&&s<=12283||12289<=s&&s<=12350||12353<=s&&s<=12438||12441<=s&&s<=12543||12549<=s&&s<=12589||12593<=s&&s<=12686||12688<=s&&s<=12730||12736<=s&&s<=12771||12784<=s&&s<=12830||12832<=s&&s<=12871||12880<=s&&s<=13054||13056<=s&&s<=19903||19968<=s&&s<=42124||42128<=s&&s<=42182||43360<=s&&s<=43388||44032<=s&&s<=55203||55216<=s&&s<=55238||55243<=s&&s<=55291||63744<=s&&s<=64255||65040<=s&&s<=65049||65072<=s&&s<=65106||65108<=s&&s<=65126||65128<=s&&s<=65131||110592<=s&&s<=110593||127488<=s&&s<=127490||127504<=s&&s<=127546||127552<=s&&s<=127560||127568<=s&&s<=127569||131072<=s&&s<=194367||177984<=s&&s<=196605||196608<=s&&s<=262141?"W":32<=s&&s<=126||162<=s&&s<=163||165<=s&&s<=166||s==172||s==175||10214<=s&&s<=10221||10629<=s&&s<=10630?"Na":s==161||s==164||167<=s&&s<=168||s==170||173<=s&&s<=174||176<=s&&s<=180||182<=s&&s<=186||188<=s&&s<=191||s==198||s==208||215<=s&&s<=216||222<=s&&s<=225||s==230||232<=s&&s<=234||236<=s&&s<=237||s==240||242<=s&&s<=243||247<=s&&s<=250||s==252||s==254||s==257||s==273||s==275||s==283||294<=s&&s<=295||s==299||305<=s&&s<=307||s==312||319<=s&&s<=322||s==324||328<=s&&s<=331||s==333||338<=s&&s<=339||358<=s&&s<=359||s==363||s==462||s==464||s==466||s==468||s==470||s==472||s==474||s==476||s==593||s==609||s==708||s==711||713<=s&&s<=715||s==717||s==720||728<=s&&s<=731||s==733||s==735||768<=s&&s<=879||913<=s&&s<=929||931<=s&&s<=937||945<=s&&s<=961||963<=s&&s<=969||s==1025||1040<=s&&s<=1103||s==1105||s==8208||8211<=s&&s<=8214||8216<=s&&s<=8217||8220<=s&&s<=8221||8224<=s&&s<=8226||8228<=s&&s<=8231||s==8240||8242<=s&&s<=8243||s==8245||s==8251||s==8254||s==8308||s==8319||8321<=s&&s<=8324||s==8364||s==8451||s==8453||s==8457||s==8467||s==8470||8481<=s&&s<=8482||s==8486||s==8491||8531<=s&&s<=8532||8539<=s&&s<=8542||8544<=s&&s<=8555||8560<=s&&s<=8569||s==8585||8592<=s&&s<=8601||8632<=s&&s<=8633||s==8658||s==8660||s==8679||s==8704||8706<=s&&s<=8707||8711<=s&&s<=8712||s==8715||s==8719||s==8721||s==8725||s==8730||8733<=s&&s<=8736||s==8739||s==8741||8743<=s&&s<=8748||s==8750||8756<=s&&s<=8759||8764<=s&&s<=8765||s==8776||s==8780||s==8786||8800<=s&&s<=8801||8804<=s&&s<=8807||8810<=s&&s<=8811||8814<=s&&s<=8815||8834<=s&&s<=8835||8838<=s&&s<=8839||s==8853||s==8857||s==8869||s==8895||s==8978||9312<=s&&s<=9449||9451<=s&&s<=9547||9552<=s&&s<=9587||9600<=s&&s<=9615||9618<=s&&s<=9621||9632<=s&&s<=9633||9635<=s&&s<=9641||9650<=s&&s<=9651||9654<=s&&s<=9655||9660<=s&&s<=9661||9664<=s&&s<=9665||9670<=s&&s<=9672||s==9675||9678<=s&&s<=9681||9698<=s&&s<=9701||s==9711||9733<=s&&s<=9734||s==9737||9742<=s&&s<=9743||9748<=s&&s<=9749||s==9756||s==9758||s==9792||s==9794||9824<=s&&s<=9825||9827<=s&&s<=9829||9831<=s&&s<=9834||9836<=s&&s<=9837||s==9839||9886<=s&&s<=9887||9918<=s&&s<=9919||9924<=s&&s<=9933||9935<=s&&s<=9953||s==9955||9960<=s&&s<=9983||s==10045||s==10071||10102<=s&&s<=10111||11093<=s&&s<=11097||12872<=s&&s<=12879||57344<=s&&s<=63743||65024<=s&&s<=65039||s==65533||127232<=s&&s<=127242||127248<=s&&s<=127277||127280<=s&&s<=127337||127344<=s&&s<=127386||917760<=s&&s<=917999||983040<=s&&s<=1048573||1048576<=s&&s<=1114109?"A":"N"},r.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function a(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}r.length=function(n){for(var o=a(n),e=0,s=0;s<o.length;s++)e=e+this.characterLength(o[s]);return e},r.slice=function(n,o,e){textLen=r.length(n),o=o||0,e=e||1,o<0&&(o=textLen+o),e<0&&(e=textLen+e);for(var s="",_=0,o0=a(n),r0=0;r0<o0.length;r0++){var i0=o0[r0],c0=r.length(i0);if(_>=o-(c0==2?1:0))if(_+c0<=e)s+=i0;else break;_+=c0}return s}})(vy);var hj=vy.exports,pj=Dy(hj),bj=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},gj=Dy(bj);function E7(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=wy(i),i.length===0))return 0;i=i.replace(gj()," ");let a=r.ambiguousIsNarrow?1:2,n=0;for(let o of i){let e=o.codePointAt(0);if(!(e<=31||e>=127&&e<=159||e>=768&&e<=879))switch(pj.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var r5=10,fy=(i=0)=>r=>`\x1B[${r+i}m`,dy=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,ly=(i=0)=>(r,a,n)=>`\x1B[${38+i};2;${r};${a};${n}m`,y6={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(y6.modifier);var mj=Object.keys(y6.color),yj=Object.keys(y6.bgColor);[...mj,...yj];function wj(){let i=new Map;for(let[r,a]of Object.entries(y6)){for(let[n,o]of Object.entries(a))y6[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},a[n]=y6[n],i.set(o[0],o[1]);Object.defineProperty(y6,r,{value:a,enumerable:!1})}return Object.defineProperty(y6,"codes",{value:i,enumerable:!1}),y6.color.close="\x1B[39m",y6.bgColor.close="\x1B[49m",y6.color.ansi=fy(),y6.color.ansi256=dy(),y6.color.ansi16m=ly(),y6.bgColor.ansi=fy(r5),y6.bgColor.ansi256=dy(r5),y6.bgColor.ansi16m=ly(r5),Object.defineProperties(y6,{rgbToAnsi256:{value:(r,a,n)=>r===a&&a===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(a/255*5)+Math.round(n/255*5),enumerable:!1},hexToRgb:{value:r=>{let a=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!a)return[0,0,0];let[n]=a;n.length===3&&(n=[...n].map(e=>e+e).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:r=>y6.rgbToAnsi256(...y6.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value:r=>{if(r<8)return 30+r;if(r<16)return 90+(r-8);let a,n,o;if(r>=232)a=((r-232)*10+8)/255,n=a,o=a;else{r-=16;let _=r%36;a=Math.floor(r/36)/5,n=Math.floor(_/6)/5,o=_%6/5}let e=Math.max(a,n,o)*2;if(e===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(a));return e===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,a,n)=>y6.ansi256ToAnsi(y6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>y6.ansi256ToAnsi(y6.hexToAnsi256(r)),enumerable:!1}}),y6}var Dj=wj(),hf=new Set(["\x1B","\x9B"]),vj=39,s5="\x07",Ay="[",Aj="]",Ey="m",o5=`${Aj}8;;`,hy=i=>`${hf.values().next().value}${Ay}${i}${Ey}`,py=i=>`${hf.values().next().value}${o5}${i}${s5}`,Ej=i=>i.split(" ").map(r=>E7(r)),i5=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=E7(wy(i[i.length-1]));for(let[_,o0]of n.entries()){let r0=E7(o0);if(s+r0<=a?i[i.length-1]+=o0:(i.push(o0),s=0),hf.has(o0)&&(o=!0,e=n.slice(_+1).join("").startsWith(o5)),o){e?o0===s5&&(o=!1,e=!1):o0===Ey&&(o=!1);continue}s+=r0,s===a&&_<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},Cj=i=>{let r=i.split(" "),a=r.length;for(;a>0&&!(E7(r[a-1])>0);)a--;return a===r.length?i:r.slice(0,a).join(" ")+r.slice(a).join("")},kj=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=Ej(i),_=[""];for(let[r0,i0]of i.split(" ").entries()){a.trim!==!1&&(_[_.length-1]=_[_.length-1].trimStart());let c0=E7(_[_.length-1]);if(r0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(_.push(""),c0=0),(c0>0||a.trim===!1)&&(_[_.length-1]+=" ",c0++)),a.hard&&s[r0]>r){let g0=r-c0,p0=1+Math.floor((s[r0]-g0-1)/r);Math.floor((s[r0]-1)/r)<p0&&_.push(""),i5(_,i0,r);continue}if(c0+s[r0]>r&&c0>0&&s[r0]>0){if(a.wordWrap===!1&&c0<r){i5(_,i0,r);continue}_.push("")}if(c0+s[r0]>r&&a.wordWrap===!1){i5(_,i0,r);continue}_[_.length-1]+=i0}a.trim!==!1&&(_=_.map(r0=>Cj(r0)));let o0=[..._.join(`
|
|
219
219
|
`)];for(let[r0,i0]of o0.entries()){if(n+=i0,hf.has(i0)){let{groups:g0}=new RegExp(`(?:\\${Ay}(?<code>\\d+)m|\\${o5}(?<uri>.*)${s5})`).exec(o0.slice(r0).join(""))||{groups:{}};if(g0.code!==void 0){let p0=Number.parseFloat(g0.code);o=p0===vj?void 0:p0}else g0.uri!==void 0&&(e=g0.uri.length===0?void 0:g0.uri)}let c0=Dj.codes.get(Number(o));o0[r0+1]===`
|
|
220
220
|
`?(e&&(n+=py("")),o&&c0&&(n+=hy(c0))):i0===`
|
|
221
221
|
`&&(o&&c0&&(n+=hy(o)),e&&(n+=py(e)))}return n};function by(i,r,a){return String(i).normalize().replace(/\r\n/g,`
|
|
@@ -262,23 +262,23 @@ ${de.default.gray(po)} ${i}
|
|
|
262
262
|
`);let Q0=0,sx=0;p0(),e=setInterval(()=>{if(n&&_===o0)return;P0(),o0=_;let J0=de.default.magenta(r[Q0]);if(n)process.stdout.write(`${J0} ${_}...`);else if(i==="timer")process.stdout.write(`${J0} ${_} ${N0(r0)}`);else{let Cx=".".repeat(Math.floor(sx)).slice(0,3);process.stdout.write(`${J0} ${_}${Cx}`)}Q0=Q0+1<r.length?Q0+1:0,sx=sx<r.length?sx+.125:0},a)},S0=(W0="",Q0=0)=>{s=!1,clearInterval(e),P0();let sx=Q0===0?de.default.green(l5):Q0===1?de.default.red(ky):de.default.red(Sy);_=F0(W0??_),i==="timer"?process.stdout.write(`${sx} ${_} ${N0(r0)}
|
|
263
263
|
`):process.stdout.write(`${sx} ${_}
|
|
264
264
|
`),E0(),o()};return{start:Y0,stop:S0,message:(W0="")=>{_=F0(W0??_)}}};var M6=require("node:fs"),Al=require("node:os"),L6=Oe(require("node:path")),lt=require("node:process"),ui=Oe(mf());var Ai=require("fs"),S7=(i=".",r="unknown")=>{let a=`${i}/bun.lockb`,n=`${i}/pnpm-lock.yaml`,o=`${i}/yarn.lock`,e=`${i}/package-lock.json`;return(0,Ai.existsSync)(a)?"bun":(0,Ai.existsSync)(n)?"pnpm":(0,Ai.existsSync)(o)?"yarn":(0,Ai.existsSync)(e)?"npm":r},yf=(i=S7(),r=!1)=>{switch(i){case"bun":return r?"bun install":"install";case"pnpm":return r?"pnpm install":"install";case"yarn":return r?"yarn install":"install";case"npm":return r?"npm install":"install";case"unknown":return r?"unknown unknown":"unknown";default:return r?"npm install":"install"}},Fy=(i=".",r="npx")=>{let a=`${i}/bun.lockb`,n=`${i}/pnpm-lock.yaml`,o=`${i}/yarn.lock`,e=`${i}/package-lock.json`;return(0,Ai.existsSync)(a)?"bunx":(0,Ai.existsSync)(n)?"pnpm exec":(0,Ai.existsSync)(o)?"yarn dlx":(0,Ai.existsSync)(e)?"npx":r};var M2=Oe(Fw()),pN=Oe(nc()),yb=Oe(vv());var on=class extends Error{response;request;options;constructor(r,a,n){let o=r.status||r.status===0?r.status:"",e=r.statusText||"",s=`${o} ${e}`.trim(),_=s?`status code ${s}`:"an unknown error";super(`Request failed with ${_}: ${a.method} ${a.url}`),this.name="HTTPError",this.response=r,this.request=a,this.options=n}};var Lo=class extends Error{request;constructor(r){super(`Request timed out: ${r.method} ${r.url}`),this.name="TimeoutError",this.request=r}};var Mo=i=>i!==null&&typeof i=="object";var sc=(...i)=>{for(let r of i)if((!Mo(r)||Array.isArray(r))&&r!==void 0)throw new TypeError("The `options` argument must be an object");return ah({},...i)},ih=(i={},r={})=>{let a=new globalThis.Headers(i),n=r instanceof globalThis.Headers,o=new globalThis.Headers(r);for(let[e,s]of o.entries())n&&s==="undefined"||s===void 0?a.delete(e):a.set(e,s);return a};function od(i,r,a){return Object.hasOwn(r,a)&&r[a]===void 0?[]:ah(i[a]??[],r[a]??[])}var nh=(i={},r={})=>({beforeRequest:od(i,r,"beforeRequest"),beforeRetry:od(i,r,"beforeRetry"),afterResponse:od(i,r,"afterResponse"),beforeError:od(i,r,"beforeError")}),ah=(...i)=>{let r={},a={},n={};for(let o of i)if(Array.isArray(o))Array.isArray(r)||(r=[]),r=[...r,...o];else if(Mo(o)){for(let[e,s]of Object.entries(o))Mo(s)&&e in r&&(s=ah(r[e],s)),r={...r,[e]:s};Mo(o.hooks)&&(n=nh(n,o.hooks),r.hooks=n),Mo(o.headers)&&(a=ih(a,o.headers),r.headers=a)}return r};var Av=(()=>{let i=!1,r=!1,a=typeof globalThis.ReadableStream=="function",n=typeof globalThis.Request=="function";if(a&&n)try{r=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return i=!0,"half"}}).headers.has("Content-Type")}catch(o){if(o instanceof Error&&o.message==="unsupported BodyInit type")return!1;throw o}return i&&!r})(),Ev=typeof globalThis.AbortController=="function",Cv=typeof globalThis.ReadableStream=="function",kv=typeof globalThis.FormData=="function",cd=["get","post","put","patch","head","delete"],nK=()=>{};nK();var Sv={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},ud=2147483647,fd=Symbol("stop"),Fv={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},Ov={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0};var Iv=i=>cd.includes(i)?i.toUpperCase():i,aK=["get","put","head","delete","options","trace"],sK=[408,413,429,500,502,503,504],oK=[413,429,503],Pv={limit:2,methods:aK,statusCodes:sK,afterStatusCodes:oK,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:i=>.3*2**(i-1)*1e3},Bv=(i={})=>{if(typeof i=="number")return{...Pv,limit:i};if(i.methods&&!Array.isArray(i.methods))throw new Error("retry.methods must be an array");if(i.statusCodes&&!Array.isArray(i.statusCodes))throw new Error("retry.statusCodes must be an array");return{...Pv,...i}};async function sh(i,r,a,n){return new Promise((o,e)=>{let s=setTimeout(()=>{a&&a.abort(),e(new Lo(i))},n.timeout);n.fetch(i,r).then(o).catch(e).then(()=>{clearTimeout(s)})})}async function oh(i,{signal:r}){return new Promise((a,n)=>{r&&(r.throwIfAborted(),r.addEventListener("abort",o,{once:!0}));function o(){clearTimeout(e),n(r.reason)}let e=setTimeout(()=>{r?.removeEventListener("abort",o),a()},i)})}var Tv=(i,r)=>{let a={};for(let n in r)!(n in Ov)&&!(n in Fv)&&!(n in i)&&(a[n]=r[n]);return a};var oc=class i{static create(r,a){let n=new i(r,a),o=async()=>{if(typeof n._options.timeout=="number"&&n._options.timeout>ud)throw new RangeError(`The \`timeout\` option cannot be greater than ${ud}`);await Promise.resolve();let _=await n._fetch();for(let o0 of n._options.hooks.afterResponse){let r0=await o0(n.request,n._options,n._decorateResponse(_.clone()));r0 instanceof globalThis.Response&&(_=r0)}if(n._decorateResponse(_),!_.ok&&n._options.throwHttpErrors){let o0=new on(_,n.request,n._options);for(let r0 of n._options.hooks.beforeError)o0=await r0(o0);throw o0}if(n._options.onDownloadProgress){if(typeof n._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Cv)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return n._stream(_.clone(),n._options.onDownloadProgress)}return _},s=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(o):o();for(let[_,o0]of Object.entries(Sv))s[_]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||o0);let r0=await s;if(_==="json"){if(r0.status===204||(await r0.clone().arrayBuffer()).byteLength===0)return"";if(a.parseJson)return a.parseJson(await r0.text())}return r0[_]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(r,a={}){if(this._input=r,this._options={...a,headers:ih(this._input.headers,a.headers),hooks:nh({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},a.hooks),method:Iv(a.method??this._input.method??"GET"),prefixUrl:String(a.prefixUrl||""),retry:Bv(a.retry),throwHttpErrors:a.throwHttpErrors!==!1,timeout:a.timeout??1e4,fetch:a.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Ev){this.abortController=new globalThis.AbortController;let n=this._options.signal??this._input.signal;n?.aborted&&this.abortController.abort(n?.reason),n?.addEventListener("abort",()=>{this.abortController.abort(n.reason)}),this._options.signal=this.abortController.signal}if(Av&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){let o="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),e=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,o);(kv&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(e,{...this.request}),this._options)}}_calculateRetryDelay(r){if(this._retryCount++,this._retryCount>this._options.retry.limit||r instanceof Lo)throw r;if(r instanceof on){if(!this._options.retry.statusCodes.includes(r.response.status))throw r;let n=r.response.headers.get("Retry-After")??r.response.headers.get("RateLimit-Reset")??r.response.headers.get("X-RateLimit-Reset")??r.response.headers.get("X-Rate-Limit-Reset");if(n&&this._options.retry.afterStatusCodes.includes(r.response.status)){let o=Number(n)*1e3;Number.isNaN(o)?o=Date.parse(n)-Date.now():o>=Date.parse("2024-01-01")&&(o-=Date.now());let e=this._options.retry.maxRetryAfter??o;return o<e?o:e}if(r.response.status===413)throw r}let a=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,a)}_decorateResponse(r){return this._options.parseJson&&(r.json=async()=>this._options.parseJson(await r.text())),r}async _retry(r){try{return await r()}catch(a){let n=Math.min(this._calculateRetryDelay(a),ud);if(this._retryCount<1)throw a;await oh(n,{signal:this._options.signal});for(let o of this._options.hooks.beforeRetry)if(await o({request:this.request,options:this._options,error:a,retryCount:this._retryCount})===fd)return;return this._retry(r)}}async _fetch(){for(let n of this._options.hooks.beforeRequest){let o=await n(this.request,this._options);if(o instanceof Request){this.request=o;break}if(o instanceof Response)return o}let r=Tv(this.request,this._options),a=this.request;return this.request=a.clone(),this._options.timeout===!1?this._options.fetch(a,r):sh(a,r,this.abortController,this._options)}_stream(r,a){let n=Number(r.headers.get("content-length"))||0,o=0;return r.status===204?(a&&a({percent:1,totalBytes:n,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:r.status,statusText:r.statusText,headers:r.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(e){let s=r.body.getReader();a&&a({percent:0,transferredBytes:0,totalBytes:n},new Uint8Array);async function _(){let{done:o0,value:r0}=await s.read();if(o0){e.close();return}if(a){o+=r0.byteLength;let i0=n===0?0:o/n;a({percent:i0,transferredBytes:o,totalBytes:n},r0)}e.enqueue(r0),await _()}await _()}}),{status:r.status,statusText:r.statusText,headers:r.headers})}};var ch=i=>{let r=(a,n)=>oc.create(a,sc(i,n));for(let a of cd)r[a]=(n,o)=>oc.create(n,sc(i,o,{method:a}));return r.create=a=>ch(sc(a)),r.extend=a=>(typeof a=="function"&&(a=a(i??{})),ch(sc(i,a))),r.stop=fd,r},cK=ch(),Yr=cK;var bN=Oe(uA()),gN=Oe(mh()),mN=Oe(yh()),yN=Oe(Bh()),El=Oe(G8());var du=Oe(T_());async function R_(){let i=await(0,du.loadConfig)();return{config:i.app.extConfig,path:i.app.extConfigFilePath}}async function Cn(i,r=!1){let a=await(0,du.loadConfig)(),{extConfig:n}=a.app;n&&(n.plugins||(n.plugins={extConfig:{},CapacitorUpdater:{}}),n.plugins.CapacitorUpdater||(n.plugins.CapacitorUpdater={}),r?n=i.config:n.plugins.CapacitorUpdater=i.config.plugins?.CapacitorUpdater,(0,du.writeConfig)(n,a.app.extConfigFilePath))}var U2=".capgo_key",ar=".capgo_key_v2",Cl=`${U2}.pub`,Ui=`${ar}.pub`,cN="https://capgo.app",uN="https://files.capgo.app",fN="https://api.capgo.app",dN="https://web.capgo.app",wN=12e4,Dc0=1024*1024*20,vc0=1024*1024*1024,Ac0=1024*1024*99,ht="package.json",H2=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i,ge=i=>i?`
|
|
265
|
-
${bN.default.render(i)}`:"";function vl(i){return new Promise(r=>{setTimeout(r,i)})}function DN(i){return(0,ui.isMonorepo)(i)||(0,ui.isNXMonorepo)(i)}function pt(i){return(0,ui.isMonorepo)(i)?(0,ui.findMonorepoRoot)(i):(0,ui.isNXMonorepo)(i)?(0,ui.findNXMonorepoRoot)(i):i}function vN(i=pt((0,lt.cwd)()),r=void 0){let a=r?.split(",")[0];a&&((0,M6.existsSync)(a)||(k0.error(`Package.json at ${a} does not exist`),(0,lt.exit)(1)));let n=(0,M6.readFileSync)(a||(0,L6.join)(i,ht));return JSON.parse(n)}function AN(i=pt((0,lt.cwd)()),r=void 0){return vN(i,r).scripts}function fi(i=pt((0,lt.cwd)()),r=void 0){return vN(i,r).version??""}function lN(i){let r=i.replace("^","").replace("~","");return(0,mN.default)(r)?(0,gN.default)(r)??r:r}async function J6(i=pt((0,lt.cwd)()),r=void 0){let a=r?.split(",");if(a||(a=[(0,L6.join)(i,ht)]),a)for(let o of a)(0,M6.existsSync)(o)||(k0.error(`Package.json at ${o} does not exist`),(0,lt.exit)(1));let n=new Map;for(let o of a){let e=(0,M6.readFileSync)(o),s=JSON.parse(e);for(let _ in s.dependencies)n.set(_,lN(s.dependencies[_]));for(let _ in s.devDependencies)n.set(_,lN(s.devDependencies[_]))}return n}async function Te(){try{let i=await R_();return i||(k0.error("No capacitor config file found, run `cap init` first"),
|
|
265
|
+
${bN.default.render(i)}`:"";function vl(i){return new Promise(r=>{setTimeout(r,i)})}function DN(i){return(0,ui.isMonorepo)(i)||(0,ui.isNXMonorepo)(i)}function pt(i){return(0,ui.isMonorepo)(i)?(0,ui.findMonorepoRoot)(i):(0,ui.isNXMonorepo)(i)?(0,ui.findNXMonorepoRoot)(i):i}function vN(i=pt((0,lt.cwd)()),r=void 0){let a=r?.split(",")[0];a&&((0,M6.existsSync)(a)||(k0.error(`Package.json at ${a} does not exist`),(0,lt.exit)(1)));let n=(0,M6.readFileSync)(a||(0,L6.join)(i,ht));return JSON.parse(n)}function AN(i=pt((0,lt.cwd)()),r=void 0){return vN(i,r).scripts}function fi(i=pt((0,lt.cwd)()),r=void 0){return vN(i,r).version??""}function lN(i){let r=i.replace("^","").replace("~","");return(0,mN.default)(r)?(0,gN.default)(r)??r:r}async function J6(i=pt((0,lt.cwd)()),r=void 0){let a=r?.split(",");if(a||(a=[(0,L6.join)(i,ht)]),a)for(let o of a)(0,M6.existsSync)(o)||(k0.error(`Package.json at ${o} does not exist`),(0,lt.exit)(1));let n=new Map;for(let o of a){let e=(0,M6.readFileSync)(o),s=JSON.parse(e);for(let _ in s.dependencies)n.set(_,lN(s.dependencies[_]));for(let _ in s.devDependencies)n.set(_,lN(s.devDependencies[_]))}return n}async function Te(){try{let i=await R_();return i||(k0.error("No capacitor config file found, run `cap init` first"),ox.error("")),i}catch(i){k0.error(`No capacitor config file found, run \`cap init\` first ${ge(i)}`),ox.error("")}}async function wb(i,r){let a=await Te();return a?.config&&(a.config.plugins||(a.config.plugins={extConfig:{},[i]:{}}),a.config.plugins[i]||(a.config.plugins[i]={}),a.config.plugins[i]={...a.config.plugins[i],...r},Cn(a)),a}async function bu(i){return wb("CapacitorUpdater",i)}async function Dr(){try{let i=await Te(),r={host:i?.config?.plugins?.CapacitorUpdater?.localHost||cN,hostWeb:i?.config?.plugins?.CapacitorUpdater?.localWebHost||dN,hostFilesApi:i?.config?.plugins?.CapacitorUpdater?.localApiFiles||uN,hostApi:i?.config?.plugins?.CapacitorUpdater?.localApi||fN};return i?.config?.plugins?.CapacitorUpdater?.localSupa&&i?.config?.plugins?.CapacitorUpdater?.localSupaAnon&&(k0.info("Using custom supabase instance from capacitor.config.json"),r.supaKey=i?.config?.plugins?.CapacitorUpdater?.localSupaAnon,r.supaHost=i?.config?.plugins?.CapacitorUpdater?.localSupa),r}catch{return{host:cN,hostWeb:dN,hostFilesApi:uN,hostApi:fN}}}var Ec0=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function kl(){let i=await Dr();return Yr.get(`${i.hostApi}/private/config`).then(r=>r.json()).then(r=>({...r,...i})).catch(()=>(k0.info(`Local config ${ge(i)}`),i))}async function EN(){let i=await Dr();return Yr.get(`${i.hostFilesApi}/files/config`).then(r=>r.json()).catch(()=>({partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:vc0,maxChunkSize:Ac0,alertUploadSize:Dc0}))}async function je(i,r,a){let n=await kl();return r&&a&&(k0.info("Using custom supabase instance from provided options"),n.supaHost=r,n.supaKey=a),(!n.supaHost||!n.supaKey)&&(k0.error("Cannot connect to server please try again later"),ox.error("")),(0,M2.createClient)(n.supaHost,n.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:i}}})}async function Cc0(i,r,a){let{data:n}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:a}).single();if(!n){k0.error("Invalid API key or insufficient permissions.");let o=a.map((e,s)=>a.length===1?`"${e}"`:s===a.length-1?`or "${e}"`:`"${e}", `).join("");k0.error(`Your key should be: ${o} mode.`),ox.error("")}}async function CN(i,r){let{data:a}=await i.rpc("is_paying_org",{orgid:r}).single();return a||!1}async function kN(i,r){let{data:a}=await i.rpc("is_trial_org",{orgid:r}).single();return a||0}async function kc0(i,r){let{data:a}=await i.rpc("is_allowed_action_org",{orgid:r}).single();return!!a}async function Sc0(i,r,a){let{data:n}=await i.rpc("is_allowed_action",{apikey:a,appid:r}).single();return!!n}var Et=(s=>(s[s.none=0]="none",s[s.read=1]="read",s[s.upload=2]="upload",s[s.write=3]="write",s[s.admin=4]="admin",s[s.super_admin=5]="super_admin",s))(Et||{}),Db=(i,r)=>i>=r;async function SN(i,r,a){let{data:n,error:o}=await i.rpc("get_org_perm_for_apikey",{apikey:r,app_id:a}).single();if(o&&(k0.error("Cannot get permissions for organization!"),console.error(o),(0,lt.exit)(1)),n.includes("perm")){let _=null;switch(n){case"perm_none":{_=0;break}case"perm_read":{_=1;break}case"perm_upload":{_=2;break}case"perm_write":{_=3;break}case"perm_admin":{_=4;break}case"perm_owner":{_=5;break}default:n.includes("invite")&&(k0.info("Please accept/deny the organization invitation before trying to access the app"),(0,lt.exit)(1)),k0.error(`Invalid output when fetching organization permission. Response: ${n}`),(0,lt.exit)(1)}return{okay:!0,data:_}}let s=null;switch(n){case"INVALID_APIKEY":{s="INVALID_APIKEY";break}case"NO_APP":{s="NO_APP";break}case"NO_ORG":{s="NO_ORG";break}default:k0.error(`Invalid error when fetching organization permission. Response: ${n}`),(0,lt.exit)(1)}return{okay:!1,error:s}}async function FN(i,r,a){let{data:n,error:o}=await i.rpc("get_organization_cli_warnings",{orgid:r,cli_version:a});if(o){k0.error(`Cannot get cli warnings: ${ge(o)}`);return}if(n.length>0){k0.warn(`Found ${n.length} cli warnings for your organization.`);let e=!1;for(let s of n){if(typeof s!="object"||typeof s.message!="string"||typeof s.fatal!="boolean"){k0.error(`Invalid cli warning: ${s}`);continue}let _=s;_.fatal?(e=!0,k0.error(`${_.message.replaceAll("\\n",`
|
|
266
266
|
`)}`)):k0.warn(`${_.message.replaceAll("\\n",`
|
|
267
|
-
`)}`)}e&&(k0.error("Please fix the warnings and try again."),
|
|
267
|
+
`)}`)}e&&(k0.error("Please fix the warnings and try again."),ox.error("")),k0.info("End of cli warnings.")}}async function Sl(i,r,a,n,o=!0){let e=await kl();await(n?Sc0(i,n,a):kc0(i,r))||(k0.error(`You need to upgrade your plan to continue to use capgo.
|
|
268
268
|
Upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
269
|
-
`),vl(100),Promise.resolve().then(()=>(gb(),pb)).then(r0=>{r0.default(`${e.hostWeb}/dashboard/settings/plans`)}),vl(500),
|
|
269
|
+
`),vl(100),Promise.resolve().then(()=>(gb(),pb)).then(r0=>{r0.default(`${e.hostWeb}/dashboard/settings/plans`)}),vl(500),ox.error(""));let[_,o0]=await Promise.all([kN(i,r),CN(i,r)]);_>0&&o&&!o0&&k0.warn(`WARNING !!
|
|
270
270
|
Trial expires in ${_} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
271
271
|
`)}async function ON(i,r,a,n,o=!0){let e=await kl(),{data:s}=await i.rpc("is_allowed_action_org_action",{orgid:r,actions:["storage"]});s||(k0.error(`You need to upgrade your plan to continue to use capgo.
|
|
272
272
|
Upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
273
|
-
`),vl(100),Promise.resolve().then(()=>(gb(),pb)).then(r0=>{r0.default(`${e.hostWeb}/dashboard/settings/plans`)}),vl(500),
|
|
273
|
+
`),vl(100),Promise.resolve().then(()=>(gb(),pb)).then(r0=>{r0.default(`${e.hostWeb}/dashboard/settings/plans`)}),vl(500),ox.error(""));let[_,o0]=await Promise.all([kN(i,r),CN(i,r)]);_>0&&o&&!o0&&k0.warn(`WARNING !!
|
|
274
274
|
Trial expires in ${_} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
275
|
-
`)}function ze(i=!1){let r=(0,Al.homedir)(),a,n=`${r}/.capgo`;return(0,M6.existsSync)(n)&&(i||k0.info(`Use global API key ${n}`),a=(0,M6.readFileSync)(n,"utf8").trim()),n=".capgo",!a&&(0,M6.existsSync)(n)&&(i||k0.info(`Use local API key ${n}`),a=(0,M6.readFileSync)(n,"utf8").trim()),a||(k0.error(`Cannot find API key in local folder or global, please login first with ${bt().runner} @capacitor/cli login`),cx.error("")),a}async function*vb(i){let r=await(0,M6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,L6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*vb(n):yield n}}function q2(i){let r=/\.(jpg|jpeg|png|gif|bmp|webp)$/i,a=i.match(r);if(a)switch(a[1].toLowerCase()){case"jpg":case"jpeg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp"}return null}async function Ab(){let i=(0,lt.cwd)(),r=!1,a=(0,L6.resolve)(i,"tsconfig.json");(0,M6.existsSync)(a)&&(r=!0);for await(let n of vb(i)){if(n.includes("angular.json"))return k0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return k0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return k0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return k0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return k0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return k0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(ht)){let o=(0,L6.dirname)(n),e=await J6(o);if(e){if(e.get("react"))return k0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return k0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function PN(i,r){return i==="angular-js"||i==="angular-ts"?r?"src/main.ts":"src/main.js":i==="nextjs-js"||i==="nextjs-ts"?r?"src/app/layout.tsx":"src/app/layout.js":i==="svelte-js"||i==="svelte-ts"||i==="vue-js"||i==="vue-ts"?r?"src/main.ts":"src/main.js":i==="react-js"||i==="react-ts"?r?"src/index.tsx":"src/index.js":null}async function IN(i){return i==="angular"?(k0.info("Angular project detected"),"build"):i==="nuxtjs"?(k0.info("Nuxtjs project detected"),"generate"):i==="nextjs"?(k0.info("Nextjs project detected"),k0.warn("Please make sure you have configured static export in your next.config.js: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports"),k0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await n6({message:"Do you want to continue?"})||(k0.error("Aborted"),cx.error("")),"build"):(i==="sveltekit"&&(k0.info("Sveltekit project detected"),k0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),k0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await n6({message:"Do you want to continue?"})||(k0.error("Aborted"),cx.error(""))),"build")}async function BN(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,lt.cwd)(),n=a.split("/").length;for await(let o of vb(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,k0.info(`Found main file here ${o}`);break}return r}async function Eb(i,r){return i.from("app_versions").upsert(r,{onConflict:"name,app_id"}).eq("app_id",r.app_id).eq("name",r.name)}async function TN(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("files/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof M2.FunctionsHttpError){let s=await e.error.context.json();k0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else k0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){k0.error(`Cannot get upload url ${ge(o)}`)}return""}async function*RN(i){let r=(0,M6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,L6.join)(i,a.name);a.isDirectory()?yield*RN(n):yield n}}async function _N(i){let r=[],a=[".DS_Store",".git",".gitignore","node_modules","package-lock.json","tsconfig.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json"];for await(let n of RN(i)){if(a.some(_=>n.includes(_))){k0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,M6.readFileSync)(n);if(o.length===0){k0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,pN.checksum)(o,"sha256"),s=(0,L6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function Fl(i){return(0,Al.platform)()==="win32"?Oc0(i):Fc0(i)}function Fc0(i){let r=new yb.default;return r.addLocalFolder(i),r.toBuffer()}async function Oc0(i){k0.info("Zipping file windows mode");let r=new yb.default,a=(n,o)=>{let e=(0,M6.readdirSync)(n);for(let s of e){let _=(0,L6.join)(n,s),o0=(0,M6.statSync)(_);if(o0.isFile()){let r0=(0,M6.readFileSync)(_);r.addFile((0,L6.join)(o,s).split(L6.sep).join("/"),r0)}else o0.isDirectory()&&a(_,(0,L6.join)(o,s))}};return a(i,""),r.toBuffer()}async function NN(i,r,a,n,o,e,s,_){return new Promise((o0,r0)=>{u6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new El.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:_,metadataForPartialUploads:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/zip"},headers:{Authorization:i},onError(c0){if(k0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof El.DetailedError){let g0=c0.originalResponse?.getBody(),p0=JSON.parse(g0||'{"error": "unknown error"}');r0(p0.status||p0.error||p0.message||"unknown error")}else r0(c0.message||c0.toString()||"unknown error")},onProgress(c0,g0){let p0=(c0/g0*100).toFixed(2);e.message(`Uploaded ${p0}%`)},async onSuccess(){await u6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),o0(!0)}}).start()})}async function LN(i,r,a){let n={app_id:r,name:a};try{let e=await i.functions.invoke("private/delete_failed_version",{body:JSON.stringify(n),method:"DELETE"});if(e.error){if(e.error instanceof M2.FunctionsHttpError){let s=await e.error.context.json();k0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else k0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof M2.FunctionsHttpError){let e=await o.context.json();k0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else k0.error(`Cannot delete failed version: ${ge(o)}`)}}async function Ol(i,r){if(!r.app_id||!r.name||!r.created_by)return k0.error("missing app_id, name, or created_by"),Promise.reject(new Error("missing app_id, name, or created_by"));let{data:a,error:n}=await i.from("channels").select().eq("app_id",r.app_id).eq("name",r.name).single();return a&&!n?i.from("channels").update(r).eq("app_id",r.app_id).eq("name",r.name).select().single():i.from("channels").insert(r).select().single()}async function u6(i,r){try{let a=await kl(),n=await Yr.post(`${a.hostApi}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();n.error&&k0.error(`Failed to send LogSnag event: ${n.error}`)}catch{}}async function G2(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");a&&(k0.error("Cannot get the list of organizations - exiting"),k0.error(`Error ${JSON.stringify(a)}`),cx.error(""));let o=n.filter(o0=>!!r.find(r0=>r0===o0.role));o.length===0&&(k0.error(`Could not get organization with roles: ${r.join(" or ")} because the user does not have any org`),cx.error(""));let e=o.length>1?await jn({message:"Please pick the organization that you want to insert to",options:o.map(o0=>({value:o0.gid,label:o0.name}))}):o[0].gid;K6(e)&&(k0.error("Canceled organization selection, exiting"),cx.error(""));let s=e,_=n.find(o0=>o0.gid===s);return k0.info(`Using the organization "${_.name}" as the app owner`),_}var Ns=i=>i.replace(/\./g,"--");async function Ve(i,r,a=["all"]){await Cc0(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();return(!e||o)&&(k0.error("Cannot auth user with apikey"),cx.error("")),e}async function vr(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();return(!a||n)&&(k0.error(`Cannot get organization id for app id ${r}`),ge(n),cx.error("")),a.owner_org}function j2(i){return new Date(i||"").toLocaleString()}var hN=!1,L2="npm",pu="install",mb="npx";function bt(){if(hN)return{pm:L2,command:pu,installCommand:`${L2} ${pu}`,runner:mb};let i=pt((0,lt.cwd)());return L2=S7(i,"npm"),pu=yf(L2),hN=!0,mb=Fy(i),{pm:L2,command:pu,installCommand:`${L2} ${pu}`,runner:mb}}function MN(i){return(0,M6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,L6.join)(i,n.name);return n.isDirectory()?MN(o):o.split(`node_modules${L6.sep}`)[1]||o})}async function Cb(i,r){let a=r?r.split(","):[],n;try{n=await J6("",i)}catch(i0){k0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",i0),cx.error("")}let o=i?.split(",")[0],e=o?L6.default.resolve(o).replace(ht,""):pt((0,lt.cwd)());n||(k0.error("Missing dependencies section in package.json"),cx.error(""));for(let[i0,c0]of Object.entries(n))typeof c0!="string"&&(k0.error(`Invalid dependency ${i0}: ${c0}, expected string, got ${typeof c0}`),cx.error(""));let s=a.length===0?[(0,L6.join)((0,lt.cwd)(),"node_modules")]:a;if(!s.some(i0=>(0,M6.existsSync)(i0))){let i0=S7(e,"npm"),c0=yf(i0);k0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${i0} ${c0}`),cx.error("")}let o0=!1,r0=await Promise.all(Array.from(n.entries()).map(async([i0,c0])=>{let g0=!1,p0=!1;for(let E0 of s){let P0=(0,L6.join)(E0,i0);if((0,M6.existsSync)(P0)){g0=!0;try{if(MN(P0).some(N0=>Ec0.test(N0))){p0=!0;break}}catch(F0){k0.error(`Error reading node_modules files for ${i0} package in ${E0}`),console.error(F0),cx.error("")}}}if(!g0){o0=!0;let E0=S7(e,"npm"),P0=yf(E0);return k0.error(`Missing dependency ${i0}, please run ${E0} ${P0}`),{name:i0,version:c0}}return{name:i0,version:c0,native:p0}})).catch(()=>[]);return(o0||r0.find(i0=>i0.native===void 0))&&(k0.error("Missing dependencies or invalid dependencies"),k0.error("If you use monorepo, workspace or any special package manager you can use the --package-json [path,] and --node-modules [path,] options to make the command work properly"),cx.error("")),r0}async function Pc0(i,r,a){let{data:n,error:o}=await i.from("channels").select("version(checksum)").eq("name",a).eq("app_id",r).single(),e=n;return o||e===null||!e.version||!e.version.checksum?null:e.version.checksum}function Ic0(i){return i||(k0.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),cx.error("")),i.forEach(a=>{typeof a!="object"&&(k0.error(`Invalid remote native package data: ${a}, expected object, got ${typeof a}`),cx.error(""));let{name:n,version:o}=a;(!n||typeof n!="string")&&(k0.error(`Invalid remote native package name: ${n}, expected string, got ${typeof n}`),cx.error("")),(!o||typeof o!="string")&&(k0.error(`Invalid remote native package version: ${o}, expected string, got ${typeof o}`),cx.error(""))}),new Map(i.map(a=>[a.name,a]))}async function UN(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
|
|
275
|
+
`)}function ze(i=!1){let r=(0,Al.homedir)(),a,n=`${r}/.capgo`;return(0,M6.existsSync)(n)&&(i||k0.info(`Use global API key ${n}`),a=(0,M6.readFileSync)(n,"utf8").trim()),n=".capgo",!a&&(0,M6.existsSync)(n)&&(i||k0.info(`Use local API key ${n}`),a=(0,M6.readFileSync)(n,"utf8").trim()),a||(k0.error(`Cannot find API key in local folder or global, please login first with ${bt().runner} @capacitor/cli login`),ox.error("")),a}async function*vb(i){let r=await(0,M6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,L6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*vb(n):yield n}}function q2(i){let r=/\.(jpg|jpeg|png|gif|bmp|webp)$/i,a=i.match(r);if(a)switch(a[1].toLowerCase()){case"jpg":case"jpeg":return"image/jpeg";case"png":return"image/png";case"webp":return"image/webp"}return null}async function Ab(){let i=(0,lt.cwd)(),r=!1,a=(0,L6.resolve)(i,"tsconfig.json");(0,M6.existsSync)(a)&&(r=!0);for await(let n of vb(i)){if(n.includes("angular.json"))return k0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return k0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return k0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return k0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return k0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return k0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(ht)){let o=(0,L6.dirname)(n),e=await J6(o);if(e){if(e.get("react"))return k0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return k0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function PN(i,r){return i==="angular-js"||i==="angular-ts"?r?"src/main.ts":"src/main.js":i==="nextjs-js"||i==="nextjs-ts"?r?"src/app/layout.tsx":"src/app/layout.js":i==="svelte-js"||i==="svelte-ts"||i==="vue-js"||i==="vue-ts"?r?"src/main.ts":"src/main.js":i==="react-js"||i==="react-ts"?r?"src/index.tsx":"src/index.js":null}async function IN(i){return i==="angular"?(k0.info("Angular project detected"),"build"):i==="nuxtjs"?(k0.info("Nuxtjs project detected"),"generate"):i==="nextjs"?(k0.info("Nextjs project detected"),k0.warn("Please make sure you have configured static export in your next.config.js: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports"),k0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await n6({message:"Do you want to continue?"})||(k0.error("Aborted"),ox.error("")),"build"):(i==="sveltekit"&&(k0.info("Sveltekit project detected"),k0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),k0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await n6({message:"Do you want to continue?"})||(k0.error("Aborted"),ox.error(""))),"build")}async function BN(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,lt.cwd)(),n=a.split("/").length;for await(let o of vb(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,k0.info(`Found main file here ${o}`);break}return r}async function Eb(i,r){return i.from("app_versions").upsert(r,{onConflict:"name,app_id"}).eq("app_id",r.app_id).eq("name",r.name)}async function TN(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("files/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof M2.FunctionsHttpError){let s=await e.error.context.json();k0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else k0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){k0.error(`Cannot get upload url ${ge(o)}`)}return""}async function*RN(i){let r=(0,M6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,L6.join)(i,a.name);a.isDirectory()?yield*RN(n):yield n}}async function _N(i){let r=[],a=[".DS_Store",".git",".gitignore","node_modules","package-lock.json","tsconfig.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json"];for await(let n of RN(i)){if(a.some(_=>n.includes(_))){k0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,M6.readFileSync)(n);if(o.length===0){k0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,pN.checksum)(o,"sha256"),s=(0,L6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function Fl(i){return(0,Al.platform)()==="win32"?Oc0(i):Fc0(i)}function Fc0(i){let r=new yb.default;return r.addLocalFolder(i),r.toBuffer()}async function Oc0(i){k0.info("Zipping file windows mode");let r=new yb.default,a=(n,o)=>{let e=(0,M6.readdirSync)(n);for(let s of e){let _=(0,L6.join)(n,s),o0=(0,M6.statSync)(_);if(o0.isFile()){let r0=(0,M6.readFileSync)(_);r.addFile((0,L6.join)(o,s).split(L6.sep).join("/"),r0)}else o0.isDirectory()&&a(_,(0,L6.join)(o,s))}};return a(i,""),r.toBuffer()}async function NN(i,r,a,n,o,e,s,_){return new Promise((o0,r0)=>{u6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new El.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:_,metadataForPartialUploads:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/zip"},headers:{Authorization:i},onError(c0){if(k0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof El.DetailedError){let g0=c0.originalResponse?.getBody(),p0=JSON.parse(g0||'{"error": "unknown error"}');r0(p0.status||p0.error||p0.message||"unknown error")}else r0(c0.message||c0.toString()||"unknown error")},onProgress(c0,g0){let p0=(c0/g0*100).toFixed(2);e.message(`Uploaded ${p0}%`)},async onSuccess(){await u6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),o0(!0)}}).start()})}async function LN(i,r,a){let n={app_id:r,name:a};try{let e=await i.functions.invoke("private/delete_failed_version",{body:JSON.stringify(n),method:"DELETE"});if(e.error){if(e.error instanceof M2.FunctionsHttpError){let s=await e.error.context.json();k0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else k0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof M2.FunctionsHttpError){let e=await o.context.json();k0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else k0.error(`Cannot delete failed version: ${ge(o)}`)}}async function Ol(i,r){if(!r.app_id||!r.name||!r.created_by)return k0.error("missing app_id, name, or created_by"),Promise.reject(new Error("missing app_id, name, or created_by"));let{data:a,error:n}=await i.from("channels").select().eq("app_id",r.app_id).eq("name",r.name).single();return a&&!n?i.from("channels").update(r).eq("app_id",r.app_id).eq("name",r.name).select().single():i.from("channels").insert(r).select().single()}async function u6(i,r){try{let a=await kl(),n=await Yr.post(`${a.hostApi}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();n.error&&k0.error(`Failed to send LogSnag event: ${n.error}`)}catch{}}async function G2(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");a&&(k0.error("Cannot get the list of organizations - exiting"),k0.error(`Error ${JSON.stringify(a)}`),ox.error(""));let o=n.filter(o0=>!!r.find(r0=>r0===o0.role));n.length===0&&(k0.error("Could not get organization please create an organization first"),ox.error("")),o.length===0&&(k0.error(`Could not find organization with roles: ${r.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),ox.error(""));let e=o.length>1?await jn({message:"Please pick the organization that you want to insert to",options:o.map(o0=>({value:o0.gid,label:o0.name}))}):o[0].gid;K6(e)&&(k0.error("Canceled organization selection, exiting"),ox.error(""));let s=e,_=n.find(o0=>o0.gid===s);return k0.info(`Using the organization "${_.name}" as the app owner`),_}var Ns=i=>i.replace(/\./g,"--");async function Ve(i,r,a=["all"]){await Cc0(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();return(!e||o)&&(k0.error("Cannot auth user with apikey"),ox.error("")),e}async function vr(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();return(!a||n)&&(k0.error(`Cannot get organization id for app id ${r}`),ge(n),ox.error("")),a.owner_org}function j2(i){return new Date(i||"").toLocaleString()}var hN=!1,L2="npm",pu="install",mb="npx";function bt(){if(hN)return{pm:L2,command:pu,installCommand:`${L2} ${pu}`,runner:mb};let i=pt((0,lt.cwd)());return L2=S7(i,"npm"),pu=yf(L2),hN=!0,mb=Fy(i),{pm:L2,command:pu,installCommand:`${L2} ${pu}`,runner:mb}}function MN(i){return(0,M6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,L6.join)(i,n.name);return n.isDirectory()?MN(o):o.split(`node_modules${L6.sep}`)[1]||o})}async function Cb(i,r){let a=r?r.split(","):[],n;try{n=await J6("",i)}catch(i0){k0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",i0),ox.error("")}let o=i?.split(",")[0],e=o?L6.default.resolve(o).replace(ht,""):pt((0,lt.cwd)());n||(k0.error("Missing dependencies section in package.json"),ox.error(""));for(let[i0,c0]of Object.entries(n))typeof c0!="string"&&(k0.error(`Invalid dependency ${i0}: ${c0}, expected string, got ${typeof c0}`),ox.error(""));let s=a.length===0?[(0,L6.join)((0,lt.cwd)(),"node_modules")]:a;if(!s.some(i0=>(0,M6.existsSync)(i0))){let i0=S7(e,"npm"),c0=yf(i0);k0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${i0} ${c0}`),ox.error("")}let o0=!1,r0=await Promise.all(Array.from(n.entries()).map(async([i0,c0])=>{let g0=!1,p0=!1;for(let E0 of s){let P0=(0,L6.join)(E0,i0);if((0,M6.existsSync)(P0)){g0=!0;try{if(MN(P0).some(N0=>Ec0.test(N0))){p0=!0;break}}catch(F0){k0.error(`Error reading node_modules files for ${i0} package in ${E0}`),console.error(F0),ox.error("")}}}if(!g0){o0=!0;let E0=S7(e,"npm"),P0=yf(E0);return k0.error(`Missing dependency ${i0}, please run ${E0} ${P0}`),{name:i0,version:c0}}return{name:i0,version:c0,native:p0}})).catch(()=>[]);return(o0||r0.find(i0=>i0.native===void 0))&&(k0.error("Missing dependencies or invalid dependencies"),k0.error("If you use monorepo, workspace or any special package manager you can use the --package-json [path,] and --node-modules [path,] options to make the command work properly"),ox.error("")),r0}async function Pc0(i,r,a){let{data:n,error:o}=await i.from("channels").select("version(checksum)").eq("name",a).eq("app_id",r).single(),e=n;return o||e===null||!e.version||!e.version.checksum?null:e.version.checksum}function Ic0(i){return i||(k0.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),ox.error("")),i.forEach(a=>{typeof a!="object"&&(k0.error(`Invalid remote native package data: ${a}, expected object, got ${typeof a}`),ox.error(""));let{name:n,version:o}=a;(!n||typeof n!="string")&&(k0.error(`Invalid remote native package name: ${n}, expected string, got ${typeof n}`),ox.error("")),(!o||typeof o!="string")&&(k0.error(`Invalid remote native package version: ${o}, expected string, got ${typeof o}`),ox.error(""))}),new Map(i.map(a=>[a.name,a]))}async function UN(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
|
|
276
276
|
native_packages
|
|
277
|
-
)`).eq("name",a).eq("app_id",r).single();return o&&(k0.error(`Error fetching native packages: ${o.message}`),
|
|
277
|
+
)`).eq("name",a).eq("app_id",r).single();return o&&(k0.error(`Error fetching native packages: ${o.message}`),ox.error("")),Ic0(n.version.native_packages??[])}async function HN(i,r,a,n){let o=x6();o.start(`Checking bundle checksum compatibility with channel ${a}`);let e=await Pc0(i,r,a);if(!e){o.stop(`No checksum found for channel ${a}, the bundle will be uploaded`);return}e&&e===n&&(k0.error(`Cannot upload the same bundle content.
|
|
278
278
|
Current bundle checksum matches remote bundle for channel ${a}
|
|
279
279
|
Did you builded your app before uploading?
|
|
280
|
-
PS: You can ignore this check with "--ignore-checksum-check"`),
|
|
281
|
-
Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}async function Mu0(i,r,a=!0){await Wb(i,r,void 0,a)}async function Wb(i,r,a,n=!0){n&&Pe("Adding"),await f6(),r.apikey=r.apikey||ze();let o=await Te();i=We(i,o?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),
|
|
280
|
+
PS: You can ignore this check with "--ignore-checksum-check"`),ox.error("")),o.stop(`Checksum compatible with ${a} channel`)}function We(i,r){return i||r?.plugins?.CapacitorUpdater?.appId||r?.appId}function Ls(i){if(!i.localVersion)return!0;if(!i.remoteVersion)return!1;try{return(0,yN.default)(i.localVersion,i.remoteVersion)}catch{return!1}}async function Pl(i,r,a,n,o){let e=await Cb(n,o),s=await UN(i,r,a),_=e.filter(r0=>!!r0.native).map(r0=>{let i0=s.get(r0.name);return i0?{name:r0.name,localVersion:r0.version,remoteVersion:i0.version}:{name:r0.name,localVersion:r0.version,remoteVersion:void 0}}),o0=[...s].filter(([r0])=>e.find(i0=>i0.name===r0)===void 0).map(([r0,i0])=>({name:r0,localVersion:void 0,remoteVersion:i0.version}));return _.push(...o0),{finalCompatibility:_,localDependencies:e}}async function kb(i,r,a,n){let o=await UN(i,r,a),e=n.map(_=>{let o0=o.get(_.name);return o0?{name:_.name,localVersion:_.version,remoteVersion:o0.version}:{name:_.name,localVersion:_.version,remoteVersion:void 0}}),s=[...o].filter(([_])=>n.find(o0=>o0.name===_)===void 0).map(([_,o0])=>({name:_,localVersion:void 0,remoteVersion:o0.version}));return e.push(...s),{finalCompatibility:e,localDependencies:n}}async function qN(i,r){let{data:a}=await i.rpc("exist_app_v2",{appid:r}).single();return!!a}async function D6(i,r,a,n){let o=bt(),e=await SN(i,r,a);if(!e.okay)switch(e.error){case"INVALID_APIKEY":{k0.error("Invalid apikey, such apikey does not exists!"),ox.error("");break}case"NO_APP":{k0.error(`App ${a} does not exist, run first \`${o.runner} @capgo/cli app add ${a}\` to create it`),ox.error("");break}case"NO_ORG":{k0.error("Could not find organization, please contact support to resolve this!"),ox.error("");break}}let s=e.data;return n>s&&(k0.error(`Insuficcent permissions for app ${a}. Current permission: ${Et[e.data]}, required for this action: ${Et[n]}.`),ox.error("")),e.data}var Ar="assets/icon.png";var fL=Oe(uL(),1);function Pb(i){let r=(0,fL.default)("npm",{registry:"https://registry.npmjs.org/"}),a=r[`${i}:registry`]||r.config_registry||r.registry;return a.slice(-1)==="/"?a:`${a}/`}var cM=Oe(oM(),1),uM=Oe(G9(),1),Vb=class extends Error{constructor(r){super(`Package \`${r}\` could not be found`),this.name="PackageNotFoundError"}},Qb=class extends Error{constructor(r,a){super(`Version \`${a}\` for package \`${r}\` could not be found`),this.name="VersionNotFoundError"}};async function zb(i,r={}){let{version:a="latest"}=r,{omitDeprecated:n=!0}=r,o=i.split("/")[0],e=r.registryUrl??Pb(o),s=new URL(encodeURIComponent(i).replace(/^%40/,"@"),e),_=(0,cM.default)(e.toString(),{recursive:!0}),o0={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};r.fullMetadata&&delete o0.accept,_&&(o0.authorization=`${_.type} ${_.token}`);let r0;try{r0=await Yr(s,{headers:o0,keepalive:!0}).json()}catch(c0){throw c0?.response?.status===404?new Vb(i):c0}if(r.allVersions)return r0;let i0=new Qb(i,a);if(r0["dist-tags"][a]){let{time:c0}=r0;r0=r0.versions[r0["dist-tags"][a]],r0.time=c0}else if(a){let c0=!!r0.versions[a];if(n&&!c0)for(let[p0,E0]of Object.entries(r0.versions))E0.deprecated&&delete r0.versions[p0];if(!c0){let p0=Object.keys(r0.versions);if(a=uM.default.maxSatisfying(p0,a),!a)throw i0}let{time:g0}=r0;if(r0=r0.versions[a],r0.time=g0,!r0)throw i0}return r0}async function vu(i,r){let{version:a}=await zb(i.toLowerCase(),r);return a}async function f6(){let i=await vu("@capgo/cli").catch(()=>""),r=i?.split(".")[0];i!==Fr.version&&k0.warning(`\u{1F6A8} You are using @capgo/cli@${Fr.version} it's not the latest version.
|
|
281
|
+
Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}async function Mu0(i,r,a=!0){await Wb(i,r,void 0,a)}async function Wb(i,r,a,n=!0){n&&Pe("Adding"),await f6(),r.apikey=r.apikey||ze();let o=await Te();i=We(i,o?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error("")),i.includes("--")&&(k0.error('The app id includes illegal symbols. You cannot use "--" in the app id'),ox.error(""));let e=await je(r.apikey,r.supaHost,r.supaAnon),s=await Ve(e,r.apikey,["write","all"]);await qN(e,i)&&(i==="io.ionic.starter"?k0.error(`This appId ${i} cannot be used it's reserved, please change it in your capacitor config.`):k0.error(`App ${i} already exist`),ox.error("")),a||(a=await G2(e,["admin","super_admin"]));let o0=a.gid;await Sl(e,o0,r.apikey,void 0,!1);let{name:r0,icon:i0}=r;r0=r0||o.config?.appName||"Unknown",i0=i0||"resources/icon.png",(!i0||!r0)&&(k0.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),ox.error("")),n&&k0.info(`Adding ${i} to Capgo`);let c0=null,g0=null;i0&&(0,J2.existsSync)(i0)?(c0=(0,J2.readFileSync)(i0),g0=q2(i0)||"image/png",k0.warn(`Found app icon ${i0}`)):(0,J2.existsSync)(Ar)?(c0=(0,J2.readFileSync)(Ar),g0=q2(Ar)||"image/png",k0.warn(`Found app icon ${Ar}`)):k0.warn(`Cannot find app icon in any of the following locations: ${i0}, ${Ar}`);let p0="icon",E0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(c0&&g0){let{error:N0}=await e.storage.from(`images/org/${o0}/${i}`).upload(p0,c0,{contentType:g0});N0&&(console.error(N0),k0.error(`Could not add app ${ge(N0)}`),ox.error(""));let{data:Y0}=await e.storage.from(`images/org/${o0}/${i}`).getPublicUrl(p0);E0=Y0?.publicUrl||E0}let{error:P0}=await e.from("apps").insert({icon_url:E0,owner_org:o0,user_id:s,name:r0,app_id:i});P0&&(k0.error(`Could not add app ${ge(P0)}`),ox.error(""));let{error:F0}=await e.from("app_versions").insert([{owner_org:o0,deleted:!0,name:"unknown",app_id:i},{owner_org:o0,deleted:!0,name:"builtin",app_id:i}]);return F0&&(k0.error(`Could not add app ${ge(F0)}`),ox.error("")),k0.success(`App ${i} added to Capgo. ${n?"You can upload a bundle now":""}`),n&&(Ae("Done \u2705"),(0,fM.exit)()),!0}async function dM(i,r){Mu0(i,r,!0)}var Yb=require("node:process");function Uu0(i){return new Promise(r=>{setTimeout(r,i)})}async function Gi(i,r,a,n,o,e="\u2705"){await u6(a,{channel:i,event:n,icon:e,user_id:r,...o?{tags:{"app-id":o}}:{},notify:!1})}async function Hu0(i,r,a,n){K6(r)&&(await Gi(i,a,n,"canceled","\u{1F937}"),(0,Yb.exit)())}async function qu0(i,r,a){try{let n=await Dr(),o=await Yr.post(`${n.hostApi}/private/stats`,{headers:{"Content-Type":"application/json",capgkey:i},body:JSON.stringify(r)}).then(e=>e.json()).catch(e=>(console.error("Cannot get devices",e),[]));if(o?.length>0&&(a===null||a!==o[0].created_at))return o}catch(n){k0.error(`Cannot get stats ${ge(n)}`)}return[]}async function Gu0(i,r,a,n,o,e){if(k0.info(`Log from Device: ${i.device_id}`),i.action==="get")k0.info("Update Sent your your device, wait until event download complete"),await Gi(r,a,n,"done");else if(i.action.startsWith("download_")){let s=i.action.split("_")[1];s==="complete"?(k0.info("Your bundle has been downloaded on your device, background the app now and open it again to see the update"),await Gi(r,a,n,"downloaded")):s==="fail"?(k0.error("Your bundle has failed to download on your device."),k0.error("Please check if you have network connection and try again")):k0.info(`Your bundle is downloading ${s}% ...`)}else{if(i.action==="set")return k0.info("Your bundle has been set on your device \u2764\uFE0F"),await Gi(r,a,n,"set"),!1;i.action==="NoChannelOrOverride"?k0.error(`No default channel or override (channel/device) found, please create it here ${o}`):i.action==="needPlanUpgrade"?k0.error(`Your are out of quota, please upgrade your plan here ${e}/dashboard/settings/plans`):i.action==="missingBundle"?k0.error("Your bundle is missing, please check how you build your app"):i.action==="noNew"?(k0.error(`The version number you uploaded to your default channel in Capgo, is the same as the present in the device ${i.device_id}.`),k0.error(`To fix it, ensure the variable:
|
|
282
282
|
- iOS: keyCFBundleShortVersionString or MARKETING_VERSION
|
|
283
283
|
- Android: versionName
|
|
284
284
|
Are lower than the version number you uploaded to Capgo.`),k0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disablePlatformIos"?k0.error(`iOS is disabled in the default channel and your device ${i.device_id} is an iOS device ${o}`):i.action==="disablePlatformAndroid"?k0.error(`Android is disabled in the default channel and your device ${i.device_id} is an Android device ${o}`):i.action==="disableAutoUpdateToMajor"?(k0.error(`The version number you uploaded to your default channel in Capgo, is a major version higher (ex: 1.0.0 in device to 2.0.0 in Capgo) than the present in the device ${i.device_id}.`),k0.error("Capgo is set by default to protect you from this, and avoid sending breaking changes incompatible with the native code present in the device."),k0.error(`To fix it, ensure the variable:
|
|
@@ -287,9 +287,9 @@ Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the lates
|
|
|
287
287
|
Are lower than the version number you uploaded to Capgo.`),k0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableAutoUpdateUnderNative"?(k0.error(`The version number you uploaded to your default channel in Capgo, is lower than the present in the device ${i.device_id}.`),k0.error(`To fix it, ensure the variable:
|
|
288
288
|
- iOS: keyCFBundleShortVersionString or MARKETING_VERSION
|
|
289
289
|
- Android: versionName
|
|
290
|
-
Are lower than the version number you uploaded to Capgo.`),k0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableDevBuild"?(k0.error(`Dev build is disabled in the default channel. ${o}`),k0.error("Set your channel to allow it if you wanna test your app")):i.action==="disableEmulator"?(k0.error(`Emulator is disabled in the default channel. ${o}`),k0.error("Set your channel to allow it if you wanna test your app")):i.action==="cannotGetBundle"?(k0.error(`We cannot get your bundle from the default channel. ${o}`),k0.error("Are you sure your default channel has a bundle set?")):i.action==="set_fail"?k0.error(`Your bundle seems to be corrupted, try to download from ${o} to identify the issue`):i.action==="reset"?k0.error("Your device has been reset to the builtin bundle, did notifyAppReady() is present in the code builded and uploaded to Capgo ?"):i.action==="update_fail"?(k0.error("Your bundle has been installed but failed to call notifyAppReady()"),k0.error("Please check if you have network connection and try again")):i.action==="checksum_fail"?k0.error("Your bundle has failed to validate checksum, please check your code and send it again to Capgo"):k0.error(`Log from Capgo ${i.action}`)}return!0}async function Kb(i,r,a,n,o){let e=!0,s=Ns(a),_=await Dr(),o0=`${_.hostWeb}/app/p/${s}`;await Gi(i,n,r,"Use waitlog",a);let r0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},i0=null,c0=x6();for(c0.start("Waiting for logs (Expect delay of 30 sec)");e;){await Uu0(5e3);let g0=await qu0(r,r0,i0);if(g0.length>0){i0=g0[0].created_at;for(let p0 of g0)if(e=await Gu0(p0,i,n,r,o0,_.hostWeb),!e)break}}return c0.stop("Stop watching logs"),Promise.resolve()}async function lM(i,r){Pe("Debug Live update in Capgo"),await f6(),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config);let n=r.device;r.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),
|
|
291
|
-
`)}};function Qu0(i){i.length||(k0.error("No apps found"),(0,Xb.exit)(1));let r=new sr;r.headers=["Name","id","Created"],r.rows=[],i.reverse().forEach(a=>{r.rows.push([a.name??"",a.app_id,j2(a.created_at)])}),k0.success("Apps"),k0.success(r.toString())}async function zu0(i){let{data:r,error:a}=await i.from("apps").select().order("created_at",{ascending:!1});return a&&(k0.error("Apps not found"),
|
|
292
|
-
${ge(n)}`),
|
|
290
|
+
Are lower than the version number you uploaded to Capgo.`),k0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableDevBuild"?(k0.error(`Dev build is disabled in the default channel. ${o}`),k0.error("Set your channel to allow it if you wanna test your app")):i.action==="disableEmulator"?(k0.error(`Emulator is disabled in the default channel. ${o}`),k0.error("Set your channel to allow it if you wanna test your app")):i.action==="cannotGetBundle"?(k0.error(`We cannot get your bundle from the default channel. ${o}`),k0.error("Are you sure your default channel has a bundle set?")):i.action==="set_fail"?k0.error(`Your bundle seems to be corrupted, try to download from ${o} to identify the issue`):i.action==="reset"?k0.error("Your device has been reset to the builtin bundle, did notifyAppReady() is present in the code builded and uploaded to Capgo ?"):i.action==="update_fail"?(k0.error("Your bundle has been installed but failed to call notifyAppReady()"),k0.error("Please check if you have network connection and try again")):i.action==="checksum_fail"?k0.error("Your bundle has failed to validate checksum, please check your code and send it again to Capgo"):k0.error(`Log from Capgo ${i.action}`)}return!0}async function Kb(i,r,a,n,o){let e=!0,s=Ns(a),_=await Dr(),o0=`${_.hostWeb}/app/p/${s}`;await Gi(i,n,r,"Use waitlog",a);let r0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},i0=null,c0=x6();for(c0.start("Waiting for logs (Expect delay of 30 sec)");e;){await Uu0(5e3);let g0=await qu0(r,r0,i0);if(g0.length>0){i0=g0[0].created_at;for(let p0 of g0)if(e=await Gu0(p0,i,n,r,o0,_.hostWeb),!e)break}}return c0.stop("Stop watching logs"),Promise.resolve()}async function lM(i,r){Pe("Debug Live update in Capgo"),await f6(),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config);let n=r.device;r.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let o=await je(r.apikey,r.supaHost,r.supaAnon),e=await vr(o,i),s=await n6({message:"Automatic check if update working in device ?"});await Hu0("debug",s,e,r.apikey),s?(k0.info(`Wait logs sent to Capgo from ${i} device, Please open your app \u{1F4AA}`),await Kb("debug",r.apikey,i,e,n),Ae("Done \u2705")):Ae("Canceled \u274C"),Ae("Done \u2705"),(0,Yb.exit)()}var hM=require("node:process");async function pM(i,r){Pe("Deleting"),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let n=await je(r.apikey,r.supaHost,r.supaAnon),o=await Ve(n,r.apikey,["write","all"]);await D6(n,r.apikey,i,5);let{data:e,error:s}=await n.from("apps").select("owner_org ( created_by, id )").eq("app_id",i).single(),_=e;if(!s&&(_?.owner_org.created_by??"")!==o){k0.warn("Deleting the app is not recomended for users that are not the organization owner"),k0.warn("You are invited as a super_admin but your are not the owner"),k0.warn("It's strongly recomended that you do not continue!");let g0=await jn({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});(K6(g0)||g0==="no")&&(k0.error("Canceled deleting the app, exiting"),ox.error(""))}else s&&k0.warn(`Cannot get the app owner ${ge(s)}`);let{error:o0}=await n.storage.from("images").remove([`org/${_?.owner_org.id}/${i}/icon`]);o0&&(console.error(o0,`images/org/${_?.owner_org.id}/${i}`),k0.error("Could not delete app logo"));let{error:r0}=await n.storage.from(`apps/${i}/${o}`).remove(["versions"]);r0&&k0.error("Could not delete app version");let{error:i0}=await n.from("apps").delete().eq("app_id",i);i0&&(k0.error("Could not delete app"),ox.error(""));let c0=await vr(n,i);await u6(r.apikey,{channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:c0,tags:{"app-id":i},notify:!1}).catch(),k0.success("App deleted in Capgo"),Ae("Done \u2705"),(0,hM.exit)()}var jl=require("node:os"),Z2=require("node:process");async function ju0(i){let r={},a=[];for(let n in i)Object.prototype.hasOwnProperty.call(i,n)&&a.push(vu(n));return await Promise.all(a).then(n=>{let o=Object.keys(i);for(let e=0;e<n.length;e+=1){let s=n[e];s&&(r[o[e]]=s)}}),r}async function Vu0(){let i=await J6(),r={"@capgo/cli":Fr.version};return i.forEach((a,n)=>{(n.startsWith("@capgo/")||n.startsWith("@capawesome/")||n.startsWith("capacitor"))&&(r[n]=a)}),r}async function bM(i){k0.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let r=await Te(),a=fi("",i.packageJson),n=r?.config?.plugins?.CapacitorUpdater?.version||a,o=r?.config?.appName||"";k0.info(` App Name: ${o}`);let e=We("",r?.config);k0.info(` App ID: ${e}`),k0.info(` App Version: ${n}`);let s=r?.config?.webDir||"";k0.info(` Web Dir: ${s}`),k0.info(` OS: ${(0,jl.platform)()} ${(0,jl.version)()}`),k0.info(` Node: ${Z2.version}`),k0.info(" Installed Dependencies:");let _=await Vu0();Object.keys(_).length===0&&(k0.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),(0,Z2.exit)(1));for(let i0 in _)if(Object.prototype.hasOwnProperty.call(_,i0)){let c0=_[i0];k0.info(` ${i0}: ${c0}`)}let o0=x6();o0.start("Running: Loading latest dependencies");let r0=await ju0(_);o0.stop("Latest Dependencies:");for(let i0 in r0)if(Object.prototype.hasOwnProperty.call(r0,i0)){let c0=r0[i0];k0.info(` ${i0}: ${c0}`)}JSON.stringify(_)!==JSON.stringify(r0)&&(k0.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),(0,Z2.exit)(1)),k0.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),(0,Z2.exit)()}var Xb=require("node:process");function gM(i,r){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(i),o="\x1B[";return o+n+"m"+r+o+"0m"}var sr=class i{title=null;headers=[];rows=[];static narrowTheme={top:["\u2554","\u2550","\u2564","\u2557"],row:["\u2551"," ","\u2502","\u2551"],div:["\u255F","\u2500","\u253C","\u2562"],bot:["\u255A","\u2550","\u2567","\u255D"]};static wideTheme={top:["\u2554\u2550","\u2550","\u2550\u2564\u2550","\u2550\u2557"],row:["\u2551 "," "," \u2502 "," \u2551"],div:["\u255F\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2562"],bot:["\u255A\u2550","\u2550","\u2550\u2567\u2550","\u2550\u255D"]};static roundTheme={top:["\u256D\u2500","\u2500","\u2500\u252C\u2500","\u2500\u256E"],row:["\u2502 "," "," \u2502 "," \u2502"],div:["\u251C\u2500","\u2500","\u2500\u253C\u2500","\u2500\u2524"],bot:["\u2570\u2500","\u2500","\u2500\u2534\u2500","\u2500\u256F"]};theme=i.wideTheme;columnWidth(){let r=[this.headers,...this.rows].filter(n=>n.length>0),a=r[0].map(n=>this.cast(n).length);for(let n of r.slice(1))for(let o=0;o<a.length;o++){let e=this.cast(n[o]).length;e>a[o]&&(a[o]=e)}return a}cast(r){return typeof r=="object"?"obj":r!==void 0&&typeof r.toString=="function"?r.toString():""}renderTitle(){return"[ "+this.title+" ]"}renderLine(r){let a=this.columnWidth();return r[0]+a.map(n=>r[1].repeat(n)).join(r[2])+r[3]}renderCell(r,a,n=!1){let o=this.cast(r),e=n?gM("bold",o):o,s=a-o.length,_=this.theme.row[1];switch(typeof r){case"number":return _.repeat(s)+e;case"string":return e+_.repeat(s);case"boolean":case"object":return _.repeat(Math.ceil(s/2))+gM("italic",o)+_.repeat(Math.floor(s/2));default:return _.repeat(s)}}renderRow(r,a=!1){let n=this.theme.row,o=this.columnWidth();return n[0]+r.map((e,s)=>this.renderCell(e,o[s],a)).join(n[2])+n[3]}toString(){let r=this.theme,a=this.headers.length>0,n=this.rows.length>0;return[this.title?this.renderTitle():"",a||n?this.renderLine(r.top):"",a?this.renderRow(this.headers,!0):"",a&&n?this.renderLine(r.div):"",...this.rows.map(o=>this.renderRow(o)),a||n?this.renderLine(r.bot):""].filter(o=>o.length>0).join(`
|
|
291
|
+
`)}};function Qu0(i){i.length||(k0.error("No apps found"),(0,Xb.exit)(1));let r=new sr;r.headers=["Name","id","Created"],r.rows=[],i.reverse().forEach(a=>{r.rows.push([a.name??"",a.app_id,j2(a.created_at)])}),k0.success("Apps"),k0.success(r.toString())}async function zu0(i){let{data:r,error:a}=await i.from("apps").select().order("created_at",{ascending:!1});return a&&(k0.error("Apps not found"),ox.error("")),r}async function mM(i){Pe("List apps in Capgo"),await f6(),i.apikey=i.apikey||ze();let r=await je(i.apikey,i.supaHost,i.supaAnon);await Ve(r,i.apikey,["write","all","read","upload"]),k0.info("Getting active bundle in Capgo");let a=await zu0(r);k0.info(`Active app in Capgo: ${a?.length}`),Qu0(a),Ae("Done \u2705"),(0,Xb.exit)()}var yM=require("node:crypto"),$2=require("node:fs"),wM=require("node:process");async function DM(i,r){Pe("Set app"),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let n=await je(r.apikey,r.supaHost,r.supaAnon),e=(await G2(n,["admin","super_admin"])).gid,s=await Ve(n,r.apikey,["write","all"]);await D6(n,r.apikey,i,4);let{name:_,icon:o0,retention:r0}=r;r0&&Number.isNaN(Number(r0))?(k0.error("retention value must be a number"),ox.error("")):r0&&r0<0&&(k0.error("retention value cannot be less than 0"),ox.error(""));let i0,c0,g0=`icon_${(0,yM.randomUUID)()}`,p0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(o0&&(0,$2.existsSync)(o0)?(i0=(0,$2.readFileSync)(o0),c0=q2(o0)||"image/png",k0.warn(`Found app icon ${o0}`)):(0,$2.existsSync)(Ar)?(i0=(0,$2.readFileSync)(Ar),c0=q2(Ar)||"image/png",k0.warn(`Found app icon ${Ar}`)):k0.warn(`Cannot find app icon in any of the following locations: ${o0}, ${Ar}`),i0&&c0){let{error:P0}=await n.storage.from(`images/org/${e}/${i}`).upload(g0,i0,{contentType:c0});P0&&(k0.error(`Could not set app ${ge(P0)}`),ox.error(""));let{data:F0}=await n.storage.from(`images/org/${e}/${i}`).getPublicUrl(g0);p0=F0?.publicUrl||p0}let{error:E0}=await n.from("apps").update({icon_url:p0,name:_,retention:r0?r0*24*60*60:void 0}).eq("app_id",i).eq("user_id",s);E0&&(k0.error(`Could not set app ${ge(E0)}`),ox.error("")),Ae("Done \u2705"),(0,wM.exit)()}var x7=require("node:process");async function vM(i,r){Pe("Set a specific setting in capacitor config"),r.bool&&r.string&&(k0.error("Bool and string CANNOT be set at the same time"),(0,x7.exit)(1)),!r.bool&&!r.string&&(k0.error("You MUST provide either bool or string as the value"),(0,x7.exit)(1)),r.bool&&r.bool!=="true"&&r.bool!=="false"&&(k0.error("Invalid bool"),(0,x7.exit)(1));try{let a=await Te(),n=a.config,o=i.split(".");o.length===0&&(k0.error("Invalid path"),(0,x7.exit)(1));for(let s of o.slice(0,-1))Object.prototype.hasOwnProperty.call(n,s)||(n[s]={}),n=n[s];let e=r.bool?r.bool==="true":r.string;n[o.at(-1)]=e,await Cn(a,!0),k0.success(`Set "${i}" to "${e}"`)}catch(a){k0.error(`Cannot set config in capacitor settings ${ge(a)}`),(0,x7.exit)(1)}Ae("Done \u2705")}var og=require("node:process");function Vl(i,r){if(isNaN(i)||isNaN(r))throw new Error("Cannot compare against non-numbers");return i===r?0:i<r?-1:1}function CM(i=[],r=[]){return i.length&&!r.length?-1:!i.length&&r.length?1:0}function Zb(i=[],r=[]){let a=Math.max(i.length,r.length);for(let n=0;n<a;n++){let o=i[n],e=r[n];if(o===void 0&&e===void 0)return 0;if(e===void 0)return 1;if(o===void 0)return-1;if(typeof o=="string"&&typeof e=="number")return 1;if(typeof o=="number"&&typeof e=="string"||o<e)return-1;if(o>e)return 1}return 0}var e7="0|[1-9]\\d*",Wu0="\\d*[a-zA-Z-][a-zA-Z0-9-]*",Yu0=`(?<major>${e7})\\.(?<minor>${e7})\\.(?<patch>${e7})`,AM=`(?:${e7}|${Wu0})`,kM=`(?:-(?<prerelease>${AM}(?:\\.${AM})*))`,EM="[0-9A-Za-z-]+",SM=`(?:\\+(?<buildmetadata>${EM}(?:\\.${EM})*))`,FM=`v?${Yu0}${kM}?${SM}?`,OM=new RegExp(`^${FM}$`),PM="(?:<|>)?=?",Ku0="x|X|\\*",Jb=`${e7}|${Ku0}`,IM=`[v=\\s]*(?<major>${Jb})(?:\\.(?<minor>${Jb})(?:\\.(?<patch>${Jb})${kM}?${SM}?)?)?`,Xu0=new RegExp(`^(?<operator>~>?|\\^|${PM})\\s*${IM}$`),Ju0=new RegExp(`^(?<operator>${PM})\\s*(${FM})$|^$`);function $b(i){return typeof i=="number"&&!Number.isNaN(i)&&(!Number.isFinite(i)||0<=i&&i<=Number.MAX_SAFE_INTEGER)}var xg=256;var Zu0=new RegExp(`^${e7}$`);function eg(i){return i.split(".").filter(Boolean).map(r=>{if(Zu0.test(r)){let a=Number(r);if($b(a))return a}return r})}function Au(i){return i.split(".").filter(Boolean)}function Eu(i,r){let a=Number(i);if(!$b(a))throw new TypeError(r);return a}function Er(i,r){return i===r?0:Vl(i.major,r.major)||Vl(i.minor,r.minor)||Vl(i.patch,r.patch)||CM(i.prerelease,r.prerelease)||Zb(i.prerelease,r.prerelease)}function tg(i){return i.toFixed(0)}function t7(i){let r=tg(i.major),a=tg(i.minor),n=tg(i.patch),o=i.prerelease?.join(".")??"",e=i.build?.join(".")??"";return[[`${r}.${a}.${n}`,o].filter(o0=>o0).join("-"),e].filter(o0=>o0).join("+")}function $u0(i=[]){let r=[...i],a=r.length;for(;a>=0;){let n=r[a];if(typeof n=="number"){r[a]=n+1;break}a-=1}return a===-1&&r.push(0),r}function Cu(i=[],r){let a=$u0(i);return r&&(a[0]!==r||isNaN(a[1]))&&(a=[r,0]),a}function TM(i,r,a={}){let n=a.build!==void 0?Au(a.build):i.build??[];switch(r){case"premajor":return{major:i.major+1,minor:0,patch:0,prerelease:Cu(i.prerelease,a.prerelease),build:n};case"preminor":return{major:i.major,minor:i.minor+1,patch:0,prerelease:Cu(i.prerelease,a.prerelease),build:n};case"prepatch":return{major:i.major,minor:i.minor,patch:i.patch+1,prerelease:Cu(i.prerelease,a.prerelease),build:n};case"prerelease":{let e=(i.prerelease??[]).length===0?i.patch+1:i.patch;return{major:i.major,minor:i.minor,patch:e,prerelease:Cu(i.prerelease,a.prerelease),build:n}}case"major":return{major:(i.prerelease??[]).length===0||i.minor!==0||i.patch!==0?i.major+1:i.major,minor:0,patch:0,prerelease:[],build:n};case"minor":{let e=(i.prerelease??[]).length===0||i.patch!==0?i.minor+1:i.minor;return{major:i.major,minor:e,patch:0,prerelease:[],build:n}}case"patch":{let e=(i.prerelease??[]).length===0?i.patch+1:i.patch;return{major:i.major,minor:i.minor,patch:e,prerelease:[],build:n}}case"pre":return{major:i.major,minor:i.minor,patch:i.patch,prerelease:Cu(i.prerelease,a.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${r}`)}}var rg={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},RM={operator:void 0,...rg};function ig(i,r){return Er(i,r)>0}function ng(i,r){return Er(i,r)<0}function ku(i){if(typeof i!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof i}`);if(i.length>xg)throw new TypeError(`Cannot parse version as version length is too long: length is ${i.length}, max length is ${xg}`);i=i.trim();let r=i.match(OM)?.groups;if(!r)throw new TypeError(`Cannot parse version: ${i}`);let a=Eu(r.major,`Cannot parse version ${i}: invalid major version`),n=Eu(r.minor,`Cannot parse version ${i}: invalid minor version`),o=Eu(r.patch,`Cannot parse version ${i}: invalid patch version`),e=r.prerelease?eg(r.prerelease):[],s=r.buildmetadata?Au(r.buildmetadata):[];return{major:a,minor:n,patch:o,prerelease:e,build:s}}var QM=require("node:process");var NM=require("node:process");async function LM(i,r,a){let{data:n,error:o}=await i.from("channels").select().eq("app_id",r).eq("version",a.id);if(o&&(k0.error(`Cannot check Version ${r}@${a.name}`),ox.error("")),n&&n.length>0){if(Pe(`\u274C Version ${r}@${a.name} is used in ${n.length} channel`),await n6({message:"unlink it?"}))for(let e of n){let s=x6();s.start(`Unlinking channel ${e.name}`);let{error:_}=await i.from("channels").update({version:(await ag(i,r))?.id}).eq("id",e.id);_&&(s.stop(`Cannot update channel ${e.name} ${ge(_)}`),(0,NM.exit)(1)),s.stop(`\u2705 Channel ${e.name} unlinked`)}else k0.error("Unlink it first"),ox.error("");Ae(`Version unlinked from ${n.length} channel`)}}function ag(i,r){return i.from("app_versions").select("id").eq("app_id",r).eq("name","unknown").throwOnError().single().then(({data:a,error:n})=>(n&&(k0.error(`Cannot call findUnknownVersion as it returned an error.
|
|
292
|
+
${ge(n)}`),ox.error("")),a))}function MM(i,r){return i.from("channels").insert(r).select().single()}function UM(i,r,a,n){return i.from("channels").delete().eq("name",r).eq("app_id",a).single()}function HM(i,r,a){return i.from("channels").select().eq("app_id",r).eq("name",a).single()}function qM(i,r,a){return i.from("channel_devices").delete().eq("app_id",r).eq("channel_id",a)}function GM(i,r,a){return i.from("channels").select(`
|
|
293
293
|
id,
|
|
294
294
|
version (id, name)
|
|
295
295
|
`).eq("app_id",r).eq("name",a).single().throwOnError().then(({data:n})=>n?.version)}function jM(i){let r=new sr;r.theme=sr.roundTheme,r.headers=["Name","Version","Public","iOS","Android","Auto Update","Native Auto Update","Device Self Set","Progressive Deploy","Secondary Version","Secondary Version Percentage","AB Testing","AB Testing Version","AB Testing Percentage","Emulator","Dev"],r.rows=[["a",0,!0],["bb",10,!1]],i.reverse().forEach(a=>{r.rows.push([a.name,a.version?.name,a.public?"\u2705":"\u274C",a.ios?"\u2705":"\u274C",a.android?"\u2705":"\u274C",a.disable_auto_update,a.disable_auto_update_under_native?"\u274C":"\u2705",a.allow_device_self_set?"\u2705":"\u274C",a.allow_emulator?"\u2705":"\u274C",a.allow_dev?"\u2705":"\u274C"])}),k0.success("Channels"),k0.success(r.toString())}async function VM(i,r){let{data:a,error:n}=await i.from("channels").select(`
|
|
@@ -307,7 +307,7 @@ ${ge(n)}`),cx.error("")),a))}function MM(i,r){return i.from("channels").insert(r
|
|
|
307
307
|
created_by,
|
|
308
308
|
app_id,
|
|
309
309
|
version (id, name)
|
|
310
|
-
`).eq("app_id",r).order("created_at",{ascending:!1});return n&&(k0.error(`App ${r} not found in database`),cx.error("")),a}async function sg(i,r,a){let{error:n}=await i.from("app_versions").update({deleted:!0}).eq("app_id",r).eq("deleted",!1).eq("name",a);n&&(k0.error(`App Version ${r}@${a} not found in database`),cx.error(""))}async function zl(i,r,a){let n=await xf0(i,r,a);await LM(i,r,n),await sg(i,r,a)}function Wl(i){i.length||(k0.error("No bundle found"),(0,QM.exit)(1));let r=new sr;r.theme=sr.roundTheme,r.headers=["Version","Created","Keep"],i.reverse().forEach(a=>{r.rows.push([a.name,j2(a.created_at),a.keep!=null?a.keep:""])}),k0.success("Bundles"),k0.success(r.toString())}async function Yl(i,r){let{data:a,error:n}=await i.from("app_versions").select().eq("app_id",r).eq("deleted",!1).order("created_at",{ascending:!1});return n&&(k0.error(`App ${r} not found in database`),cx.error("")),a}async function zM(i,r){let{data:a,error:n}=await i.from("channels").select("version").eq("app_id",r);return n&&(k0.error(`App ${r} not found in database`),cx.error("")),a.map(o=>o.version)}async function xf0(i,r,a){let{data:n,error:o}=await i.from("app_versions").select().eq("app_id",r).eq("name",a).eq("deleted",!1).single();return(!n||o)&&(k0.error(`App Version ${r}@${a} doesn't exist`),cx.error("")),n}async function ef0(i,r,a){for await(let n of i)k0.warn(`Removing ${n.name} created on ${j2(n.created_at)}`),await zl(r,a,n.name)}function tf0(i,r,a){let n=[];return i?.forEach(o=>{let e=ku(o.name);ig(e,r)&&ng(e,a)&&n.push(o)}),n}async function WM(i,r){Pe("Cleanup versions in Capgo");try{await f6(),r.apikey=r.apikey||ze();let{bundle:a,keep:n=4}=r,o=r.force||!1,e=r.ignoreChannel||!1,s=await Te();i=We(i,s?.config),r.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),cx.error("")),i||(k0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),cx.error(""));let _=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(_,r.apikey,["write","all"]),await D6(_,r.apikey,i,3),k0.info("Querying all available versions in Capgo");let o0=await Yl(_,i),r0=await zM(_,i);if(k0.info(`Total active versions in Capgo: ${o0?.length}`),o0?.length===0){k0.error("No versions found, aborting cleanup");return}if(a){let g0=ku(a),p0=TM(g0,"major");k0.info(`Querying available versions in Capgo between ${t7(g0)} and ${t7(p0)}`),o0=tf0(o0,g0,p0),k0.info(`Active versions in Capgo between ${t7(g0)} and ${t7(p0)}: ${o0?.length}`)}let i0=[],c0=0;if(o0.forEach(g0=>{let p0=r0.find(E0=>E0===g0.id);c0<n||p0&&!e?(p0?g0.keep="\u2705 (Linked to channel)":g0.keep="\u2705",c0+=1):(g0.keep="\u274C",i0.push(g0))}),i0.length===0){k0.warn("Nothing to be removed, aborting removal...");return}if(Wl(o0),!o){let g0=await n6({message:"Do you want to continue removing the versions specified?"});(K6(g0)||!g0)&&(k0.warn("Not confirmed, aborting removal..."),(0,og.exit)())}k0.success("You have confirmed removal, removing versions now"),await ef0(i0,_,i),Ae("Done \u2705"),(0,og.exit)()}catch(a){k0.error(`Error cleaning up versions ${ge(a)}`),cx.error("")}}async function YM(i,r){Pe("Check compatibility");try{r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config);let{channel:n}=r;n||(k0.error("Missing argument, you need to provide a channel"),cx.error("")),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),cx.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),cx.error(""));let o=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(o,r.apikey,["write","all","read","upload"]),await D6(o,r.apikey,i,1);let{finalCompatibility:e}=await Pl(o,i,n,r.packageJson,r.nodeModules),s=new sr;s.headers=["Package","Local version","Remote version","Compatible"],s.theme=sr.roundTheme,s.rows=[];let _=r.text?"Yes":"\u2705",o0=r.text?"No":"\u274C";e.forEach(r0=>{let{name:i0,localVersion:c0,remoteVersion:g0}=r0,p0=Ls(r0)?_:o0;s.rows.push([i0,c0,g0,p0])}),k0.success("Compatibility"),k0.success(s.toString())}catch(a){k0.error(`Error checking compatibility ${ge(a)}`),cx.error("")}}var di=require("node:fs"),$M=require("node:process");var xU=Oe(nc());var Pn=require("node:buffer"),mt=require("node:crypto"),KM="aes-128-cbc",ji="base64",Kl=mt.constants.RSA_PKCS1_PADDING;function Xl(i){let r=(0,mt.randomBytes)(16),a=(0,mt.randomBytes)(16),n=r.toString(ji),o=(0,mt.privateEncrypt)({key:i,padding:Kl},a).toString(ji);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function r7(i,r,a){let[n]=a.split(":"),o=Pn.Buffer.from(n,ji),e=(0,mt.createCipheriv)(KM,r,o);return e.setAutoPadding(!0),Pn.Buffer.concat([e.update(i),e.final()])}function XM(i,r,a){let[n,o]=r.split(":"),e=(0,mt.publicDecrypt)({key:a,padding:Kl},Pn.Buffer.from(o,ji)),s=Pn.Buffer.from(n,ji),_=(0,mt.createDecipheriv)(KM,e,s);return _.setAutoPadding(!0),Pn.Buffer.concat([_.update(i),_.final()])}function i7(i,r){return(0,mt.privateEncrypt)({key:r,padding:Kl},Pn.Buffer.from(i,ji)).toString(ji)}function JM(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,mt.generateKeyPairSync)("rsa",{modulusLength:r});return i==="pem"?{publicKey:a.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:a.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function ZM(i,r){return(0,mt.publicDecrypt)({key:r,padding:Kl},Pn.Buffer.from(i,ji)).toString(ji)}async function eU(i,r,a){Pe("Decrypt zip file");try{await f6(),(0,di.existsSync)(i)||(k0.error(`Zip not found at the path ${i}`),cx.error(""));let n=await Te();!a.key&&!(0,di.existsSync)(Ui)&&!n.config.plugins?.CapacitorUpdater?.privateKey&&(k0.error(`Private Key not found at the path ${Ui} or in ${n.path}`),cx.error(""));let o=a.key||Ui,e=n.config.plugins?.CapacitorUpdater?.publicKey;!(0,di.existsSync)(o)&&!e?(k0.error(`Cannot find public key ${o} or as keyData option or in ${n.path}`),cx.error("")):(0,di.existsSync)(o)&&(e=(0,di.readFileSync)(o).toString());let s=(0,di.readFileSync)(i),_=XM(s,r,a.keyData??e??"");if((0,di.writeFileSync)(`${i}_decrypted.zip`,_),k0.info(`Decrypted zip file at ${i}_decrypted.zip`),a.checksum){let o0=await(0,xU.checksum)(_,"sha256"),r0=ZM(a.checksum,a.keyData??e??"");o0!==r0?(k0.error(`Checksum does not match ${o0} !== ${r0}`),cx.error("")):k0.info("Checksum matches")}Ae("\u2705 done"),(0,$M.exit)()}catch(n){k0.error(`Error decrypting zip file ${ge(n)}`),cx.error("")}}var tU=require("node:process");async function rU(i,r,a){Pe("Delete bundle");try{a.apikey=a.apikey||ze();let n=await Te();r=We(r,n?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),cx.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),cx.error(""));let o=await je(a.apikey,a.supaHost,a.supaAnon);await Ve(o,a.apikey,["write","all"]),await D6(o,a.apikey,r,3),a.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),cx.error("")),i||(k0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),cx.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),cx.error("")),k0.info(`Deleting bundle ${r}@${i} from Capgo`),k0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever"),await zl(o,r,i),k0.success(`Bundle ${r}@${i} deleted in Capgo`),Ae("Done"),(0,tU.exit)()}catch(n){k0.error(`Error deleting bundle ${ge(n)}`),cx.error("")}}var Vi=require("node:fs"),iU=require("node:process");async function nU(i,r,a){let{json:n}=a;n||(Pe("Encryption"),await f6());try{let o=await Te(),e=!!o.config.plugins?.CapacitorUpdater?.privateKey,s=!!o.config.plugins?.CapacitorUpdater?.publicKey;e&&!n&&k0.warning("There is still a privateKey in the config"),(0,Vi.existsSync)(i)||(n?console.error(ge({error:"zip_not_found"})):k0.error(`Error: Zip not found at the path ${i}`),cx.error("")),s||(n?console.error(ge({error:"missing_public_key"})):k0.warning("Warning: Missing Public Key in config"),cx.error(""));let _=a.key||ar,o0=a.keyData||"";!(0,Vi.existsSync)(_)&&!o0?(n?console.error(ge({error:"missing_key"})):(k0.warning(`Cannot find a private key at ${_} or as a keyData option`),k0.error("Error: Missing key")),cx.error("")):(0,Vi.existsSync)(_)&&(o0=(0,Vi.readFileSync)(_).toString()),o0&&!o0.startsWith("-----BEGIN RSA PRIVATE KEY-----")&&(n?console.error(ge({error:"invalid_private_key"})):k0.error("the private key provided is not a valid RSA Private key"),cx.error(""));let r0=(0,Vi.readFileSync)(i),{sessionKey:i0,ivSessionKey:c0}=Xl(o0),g0=r7(r0,i0,c0),p0=i7(r,o0),E0=`${i}_encrypted.zip`;n?console.log(JSON.stringify({checksum:p0,filename:E0,ivSessionKey:c0},null,2)):(k0.success(`Encoded Checksum: ${p0}`),k0.success(`ivSessionKey: ${c0}`)),(0,Vi.writeFileSync)(E0,g0),n||(k0.success(`Encrypted zip saved at ${E0}`),Ae("Done \u2705")),(0,iU.exit)()}catch(o){k0.error(`Error encrypting zip file ${ge(o)}`),cx.error("")}}var aU=require("node:process");async function sU(i,r){Pe("List bundles");try{await f6(),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),cx.error("")),i||(k0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),cx.error(""));let n=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(n,r.apikey,["write","all","read","upload"]),k0.info(`Querying available versions of: ${i} in Capgo`),await D6(n,r.apikey,i,1);let o=await Yl(n,i);k0.info(`Active versions in Capgo: ${o?.length}`),Wl(o),Ae("Done \u2705"),(0,aU.exit)()}catch(a){k0.error(`Error listing bundles ${ge(a)}`),cx.error("")}}var mq=require("node:crypto"),no=require("node:fs"),Yg=require("node:path/posix"),g7=require("node:process");var Jl=class extends TransformStream{outChunkSize;constructor(r){let a=new Uint8Array(r),n=0;super({transform(o,e){let s=0;for(;s<o.length;){let _=r-n,o0=Math.min(_,o.length-s);a.set(o.subarray(s,s+o0),n),s+=o0,n+=o0,n===r&&(e.enqueue(a),a=new Uint8Array(r),n=0)}},flush(o){n>0&&o.enqueue(a.subarray(0,n))}}),this.outChunkSize=r}};function In(i){return i=i.trim(),i=i.replace(/<!--[\s\S]*?-->/g,""),r();function r(){return{declaration:a(),root:n()}}function a(){if(!o0(/^<\?xml\s*/))return;let g0={attributes:{}};for(;!(r0()||i0("?>"));){let p0=e();if(!p0)return g0;g0.attributes[p0.name]=p0.value}return o0(/\?>\s*/),g0}function n(){let c0=o0(/^<([\w-:.]+)\s*/);if(!c0)return;let g0={name:c0[1],attributes:{},children:[]};for(;!(r0()||i0(">")||i0("?>")||i0("/>"));){let E0=e();if(!E0)return g0;g0.attributes[E0.name]=E0.value}if(o0(/^\s*\/>\s*/))return g0;o0(/\??>\s*/),g0.content=o();let p0;for(;p0=n();)g0.children.push(p0);return o0(/^<\/[\w-:.]+>\s*/),g0}function o(){let c0=o0(/^([^<]*)/);return c0?_(c0[1]):""}function e(){let c0=o0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:_(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function _(c0){return c0.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function o0(c0){let g0=i.match(c0);if(g0)return i=i.slice(g0[0].length),g0}function r0(){return i.length==0}function i0(c0){return i.indexOf(c0)==0}}var li=class extends Error{constructor(r){super(r)}};var kt=class extends li{},Su=class extends li{},Zl=class extends li{},hi=class extends li{},Bn=class extends li{},n7=class extends li{},Ws=class extends li{},Qi=class extends li{statusCode;code;key;bucketName;resource;region;constructor(r,a,n,o={}){super(n),this.statusCode=r,this.code=a,this.key=o.key,this.bucketName=o.bucketName,this.resource=o.resource,this.region=o.region}};async function oU(i){try{let a=In(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(r0=>r0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(r0=>r0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(r0=>r0.name==="Key")?.content,s=a.children.find(r0=>r0.name==="BucketName")?.content,_=a.children.find(r0=>r0.name==="Resource")?.content,o0=a.children.find(r0=>r0.name==="Region")?.content;return new Qi(i.status,n,o,{key:e,bucketName:s,resource:_,region:o0})}catch{return new Qi(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function cU(i){return typeof i!="number"||isNaN(i)||i<=0?!1:i>=1&&i<=65535}function uU(i){return typeof i!="string"||i.length<3||i.length>63||i.indexOf("..")>-1||i.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!i.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function Tn(i){return!(!rf0(i)||i.length===0)}function rf0(i){return!(typeof i!="string"||i.length>1024)}function Fu(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function Ys(i=""){let r={'"':"",""":"",""":"",""":"",""":""};return i.replace(/^("|"|")|("|"|")$/g,a=>r[a])}function ug(i){return i.get("x-amz-version-id")??null}function a7(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,5)+r.substr(14,2)+r.substr(17,2)+"Z"}function $l(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,2)}function fg(i,r){return`${$l(r)}/${i}/s3/aws4_request`}async function x4(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),Fu(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var if0=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],e4=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,_=1,o0,r0=[],i0=[];super({start(){},async write(c0,g0){let p0="PUT",E0=_++;try{if(E0==1&&c0.length<o){let N0=await r.makeRequest({method:p0,headers:new Headers({...e,"Content-Length":String(c0.length)}),bucketName:a,objectName:n,payload:c0});s={etag:Ys(N0.headers.get("etag")??void 0),versionId:ug(N0.headers)};return}E0===1&&(o0=(await nf0({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let P0={"Content-Length":String(c0.length)};for(let N0 of if0){let Y0=e[N0];Y0&&(P0[N0]=Y0)}let F0=r.makeRequest({method:p0,query:{partNumber:E0.toString(),uploadId:o0},headers:new Headers(P0),bucketName:a,objectName:n,payload:c0});F0.then(N0=>{let Y0=N0.headers.get("etag")??"";Y0&&(Y0=Y0.replace(/^"/,"").replace(/"$/,"")),r0.push({part:E0,etag:Y0})}),i0.push(F0)}catch(P0){throw P0}},async close(){if(!s)if(o0)await Promise.all(i0),r0.sort((c0,g0)=>c0.part>g0.part?1:-1),s=await af0({client:r,bucketName:a,objectName:n,uploadId:o0,etags:r0});else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(s===void 0)throw new Error("Result is not ready. await the stream first.");return s}}};async function nf0(i){let r="POST",a=new Headers(i.metadata),e=await(await i.client.makeRequest({method:r,bucketName:i.bucketName,objectName:i.objectName,query:"uploads",headers:a,returnBody:!0})).text(),s=In(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let _=s.children.find(o0=>o0.name==="UploadId")?.content;if(!_)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:_}}async function af0({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
|
|
310
|
+
`).eq("app_id",r).order("created_at",{ascending:!1});return n&&(k0.error(`App ${r} not found in database`),ox.error("")),a}async function sg(i,r,a){let{error:n}=await i.from("app_versions").update({deleted:!0}).eq("app_id",r).eq("deleted",!1).eq("name",a);n&&(k0.error(`App Version ${r}@${a} not found in database`),ox.error(""))}async function zl(i,r,a){let n=await xf0(i,r,a);await LM(i,r,n),await sg(i,r,a)}function Wl(i){i.length||(k0.error("No bundle found"),(0,QM.exit)(1));let r=new sr;r.theme=sr.roundTheme,r.headers=["Version","Created","Keep"],i.reverse().forEach(a=>{r.rows.push([a.name,j2(a.created_at),a.keep!=null?a.keep:""])}),k0.success("Bundles"),k0.success(r.toString())}async function Yl(i,r){let{data:a,error:n}=await i.from("app_versions").select().eq("app_id",r).eq("deleted",!1).order("created_at",{ascending:!1});return n&&(k0.error(`App ${r} not found in database`),ox.error("")),a}async function zM(i,r){let{data:a,error:n}=await i.from("channels").select("version").eq("app_id",r);return n&&(k0.error(`App ${r} not found in database`),ox.error("")),a.map(o=>o.version)}async function xf0(i,r,a){let{data:n,error:o}=await i.from("app_versions").select().eq("app_id",r).eq("name",a).eq("deleted",!1).single();return(!n||o)&&(k0.error(`App Version ${r}@${a} doesn't exist`),ox.error("")),n}async function ef0(i,r,a){for await(let n of i)k0.warn(`Removing ${n.name} created on ${j2(n.created_at)}`),await zl(r,a,n.name)}function tf0(i,r,a){let n=[];return i?.forEach(o=>{let e=ku(o.name);ig(e,r)&&ng(e,a)&&n.push(o)}),n}async function WM(i,r){Pe("Cleanup versions in Capgo");try{await f6(),r.apikey=r.apikey||ze();let{bundle:a,keep:n=4}=r,o=r.force||!1,e=r.ignoreChannel||!1,s=await Te();i=We(i,s?.config),r.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),ox.error(""));let _=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(_,r.apikey,["write","all"]),await D6(_,r.apikey,i,3),k0.info("Querying all available versions in Capgo");let o0=await Yl(_,i),r0=await zM(_,i);if(k0.info(`Total active versions in Capgo: ${o0?.length}`),o0?.length===0){k0.error("No versions found, aborting cleanup");return}if(a){let g0=ku(a),p0=TM(g0,"major");k0.info(`Querying available versions in Capgo between ${t7(g0)} and ${t7(p0)}`),o0=tf0(o0,g0,p0),k0.info(`Active versions in Capgo between ${t7(g0)} and ${t7(p0)}: ${o0?.length}`)}let i0=[],c0=0;if(o0.forEach(g0=>{let p0=r0.find(E0=>E0===g0.id);c0<n||p0&&!e?(p0?g0.keep="\u2705 (Linked to channel)":g0.keep="\u2705",c0+=1):(g0.keep="\u274C",i0.push(g0))}),i0.length===0){k0.warn("Nothing to be removed, aborting removal...");return}if(Wl(o0),!o){let g0=await n6({message:"Do you want to continue removing the versions specified?"});(K6(g0)||!g0)&&(k0.warn("Not confirmed, aborting removal..."),(0,og.exit)())}k0.success("You have confirmed removal, removing versions now"),await ef0(i0,_,i),Ae("Done \u2705"),(0,og.exit)()}catch(a){k0.error(`Error cleaning up versions ${ge(a)}`),ox.error("")}}async function YM(i,r){Pe("Check compatibility");try{r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config);let{channel:n}=r;n||(k0.error("Missing argument, you need to provide a channel"),ox.error("")),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let o=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(o,r.apikey,["write","all","read","upload"]),await D6(o,r.apikey,i,1);let{finalCompatibility:e}=await Pl(o,i,n,r.packageJson,r.nodeModules),s=new sr;s.headers=["Package","Local version","Remote version","Compatible"],s.theme=sr.roundTheme,s.rows=[];let _=r.text?"Yes":"\u2705",o0=r.text?"No":"\u274C";e.forEach(r0=>{let{name:i0,localVersion:c0,remoteVersion:g0}=r0,p0=Ls(r0)?_:o0;s.rows.push([i0,c0,g0,p0])}),k0.success("Compatibility"),k0.success(s.toString())}catch(a){k0.error(`Error checking compatibility ${ge(a)}`),ox.error("")}}var di=require("node:fs"),$M=require("node:process");var xU=Oe(nc());var Pn=require("node:buffer"),mt=require("node:crypto"),KM="aes-128-cbc",ji="base64",Kl=mt.constants.RSA_PKCS1_PADDING;function Xl(i){let r=(0,mt.randomBytes)(16),a=(0,mt.randomBytes)(16),n=r.toString(ji),o=(0,mt.privateEncrypt)({key:i,padding:Kl},a).toString(ji);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function r7(i,r,a){let[n]=a.split(":"),o=Pn.Buffer.from(n,ji),e=(0,mt.createCipheriv)(KM,r,o);return e.setAutoPadding(!0),Pn.Buffer.concat([e.update(i),e.final()])}function XM(i,r,a){let[n,o]=r.split(":"),e=(0,mt.publicDecrypt)({key:a,padding:Kl},Pn.Buffer.from(o,ji)),s=Pn.Buffer.from(n,ji),_=(0,mt.createDecipheriv)(KM,e,s);return _.setAutoPadding(!0),Pn.Buffer.concat([_.update(i),_.final()])}function i7(i,r){return(0,mt.privateEncrypt)({key:r,padding:Kl},Pn.Buffer.from(i,ji)).toString(ji)}function JM(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,mt.generateKeyPairSync)("rsa",{modulusLength:r});return i==="pem"?{publicKey:a.export({type:"pkcs1",format:"pem"}),privateKey:n.export({type:"pkcs1",format:"pem"})}:{publicKey:a.export({type:"spki",format:"der"}).toString("base64"),privateKey:n.export({type:"pkcs1",format:"pem"}).toString("base64")}}function ZM(i,r){return(0,mt.publicDecrypt)({key:r,padding:Kl},Pn.Buffer.from(i,ji)).toString(ji)}async function eU(i,r,a){Pe("Decrypt zip file");try{await f6(),(0,di.existsSync)(i)||(k0.error(`Zip not found at the path ${i}`),ox.error(""));let n=await Te();!a.key&&!(0,di.existsSync)(Ui)&&!n.config.plugins?.CapacitorUpdater?.privateKey&&(k0.error(`Private Key not found at the path ${Ui} or in ${n.path}`),ox.error(""));let o=a.key||Ui,e=n.config.plugins?.CapacitorUpdater?.publicKey;!(0,di.existsSync)(o)&&!e?(k0.error(`Cannot find public key ${o} or as keyData option or in ${n.path}`),ox.error("")):(0,di.existsSync)(o)&&(e=(0,di.readFileSync)(o).toString());let s=(0,di.readFileSync)(i),_=XM(s,r,a.keyData??e??"");if((0,di.writeFileSync)(`${i}_decrypted.zip`,_),k0.info(`Decrypted zip file at ${i}_decrypted.zip`),a.checksum){let o0=await(0,xU.checksum)(_,"sha256"),r0=ZM(a.checksum,a.keyData??e??"");o0!==r0?(k0.error(`Checksum does not match ${o0} !== ${r0}`),ox.error("")):k0.info("Checksum matches")}Ae("\u2705 done"),(0,$M.exit)()}catch(n){k0.error(`Error decrypting zip file ${ge(n)}`),ox.error("")}}var tU=require("node:process");async function rU(i,r,a){Pe("Delete bundle");try{a.apikey=a.apikey||ze();let n=await Te();r=We(r,n?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let o=await je(a.apikey,a.supaHost,a.supaAnon);await Ve(o,a.apikey,["write","all"]),await D6(o,a.apikey,r,3),a.apikey||(k0.error("Missing API key, you need to provide an API key to delete your app"),ox.error("")),i||(k0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error("")),k0.info(`Deleting bundle ${r}@${i} from Capgo`),k0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever"),await zl(o,r,i),k0.success(`Bundle ${r}@${i} deleted in Capgo`),Ae("Done"),(0,tU.exit)()}catch(n){k0.error(`Error deleting bundle ${ge(n)}`),ox.error("")}}var Vi=require("node:fs"),iU=require("node:process");async function nU(i,r,a){let{json:n}=a;n||(Pe("Encryption"),await f6());try{let o=await Te(),e=!!o.config.plugins?.CapacitorUpdater?.privateKey,s=!!o.config.plugins?.CapacitorUpdater?.publicKey;e&&!n&&k0.warning("There is still a privateKey in the config"),(0,Vi.existsSync)(i)||(n?console.error(ge({error:"zip_not_found"})):k0.error(`Error: Zip not found at the path ${i}`),ox.error("")),s||(n?console.error(ge({error:"missing_public_key"})):k0.warning("Warning: Missing Public Key in config"),ox.error(""));let _=a.key||ar,o0=a.keyData||"";!(0,Vi.existsSync)(_)&&!o0?(n?console.error(ge({error:"missing_key"})):(k0.warning(`Cannot find a private key at ${_} or as a keyData option`),k0.error("Error: Missing key")),ox.error("")):(0,Vi.existsSync)(_)&&(o0=(0,Vi.readFileSync)(_).toString()),o0&&!o0.startsWith("-----BEGIN RSA PRIVATE KEY-----")&&(n?console.error(ge({error:"invalid_private_key"})):k0.error("the private key provided is not a valid RSA Private key"),ox.error(""));let r0=(0,Vi.readFileSync)(i),{sessionKey:i0,ivSessionKey:c0}=Xl(o0),g0=r7(r0,i0,c0),p0=i7(r,o0),E0=`${i}_encrypted.zip`;n?console.log(JSON.stringify({checksum:p0,filename:E0,ivSessionKey:c0},null,2)):(k0.success(`Encoded Checksum: ${p0}`),k0.success(`ivSessionKey: ${c0}`)),(0,Vi.writeFileSync)(E0,g0),n||(k0.success(`Encrypted zip saved at ${E0}`),Ae("Done \u2705")),(0,iU.exit)()}catch(o){k0.error(`Error encrypting zip file ${ge(o)}`),ox.error("")}}var aU=require("node:process");async function sU(i,r){Pe("List bundles");try{await f6(),r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config),r.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),i||(k0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),ox.error(""));let n=await je(r.apikey,r.supaHost,r.supaAnon);await Ve(n,r.apikey,["write","all","read","upload"]),k0.info(`Querying available versions of: ${i} in Capgo`),await D6(n,r.apikey,i,1);let o=await Yl(n,i);k0.info(`Active versions in Capgo: ${o?.length}`),Wl(o),Ae("Done \u2705"),(0,aU.exit)()}catch(a){k0.error(`Error listing bundles ${ge(a)}`),ox.error("")}}var mq=require("node:crypto"),no=require("node:fs"),Yg=require("node:path/posix"),g7=require("node:process");var Jl=class extends TransformStream{outChunkSize;constructor(r){let a=new Uint8Array(r),n=0;super({transform(o,e){let s=0;for(;s<o.length;){let _=r-n,o0=Math.min(_,o.length-s);a.set(o.subarray(s,s+o0),n),s+=o0,n+=o0,n===r&&(e.enqueue(a),a=new Uint8Array(r),n=0)}},flush(o){n>0&&o.enqueue(a.subarray(0,n))}}),this.outChunkSize=r}};function In(i){return i=i.trim(),i=i.replace(/<!--[\s\S]*?-->/g,""),r();function r(){return{declaration:a(),root:n()}}function a(){if(!o0(/^<\?xml\s*/))return;let g0={attributes:{}};for(;!(r0()||i0("?>"));){let p0=e();if(!p0)return g0;g0.attributes[p0.name]=p0.value}return o0(/\?>\s*/),g0}function n(){let c0=o0(/^<([\w-:.]+)\s*/);if(!c0)return;let g0={name:c0[1],attributes:{},children:[]};for(;!(r0()||i0(">")||i0("?>")||i0("/>"));){let E0=e();if(!E0)return g0;g0.attributes[E0.name]=E0.value}if(o0(/^\s*\/>\s*/))return g0;o0(/\??>\s*/),g0.content=o();let p0;for(;p0=n();)g0.children.push(p0);return o0(/^<\/[\w-:.]+>\s*/),g0}function o(){let c0=o0(/^([^<]*)/);return c0?_(c0[1]):""}function e(){let c0=o0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:_(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function _(c0){return c0.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function o0(c0){let g0=i.match(c0);if(g0)return i=i.slice(g0[0].length),g0}function r0(){return i.length==0}function i0(c0){return i.indexOf(c0)==0}}var li=class extends Error{constructor(r){super(r)}};var kt=class extends li{},Su=class extends li{},Zl=class extends li{},hi=class extends li{},Bn=class extends li{},n7=class extends li{},Ws=class extends li{},Qi=class extends li{statusCode;code;key;bucketName;resource;region;constructor(r,a,n,o={}){super(n),this.statusCode=r,this.code=a,this.key=o.key,this.bucketName=o.bucketName,this.resource=o.resource,this.region=o.region}};async function oU(i){try{let a=In(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(r0=>r0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(r0=>r0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(r0=>r0.name==="Key")?.content,s=a.children.find(r0=>r0.name==="BucketName")?.content,_=a.children.find(r0=>r0.name==="Resource")?.content,o0=a.children.find(r0=>r0.name==="Region")?.content;return new Qi(i.status,n,o,{key:e,bucketName:s,resource:_,region:o0})}catch{return new Qi(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function cU(i){return typeof i!="number"||isNaN(i)||i<=0?!1:i>=1&&i<=65535}function uU(i){return typeof i!="string"||i.length<3||i.length>63||i.indexOf("..")>-1||i.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!i.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function Tn(i){return!(!rf0(i)||i.length===0)}function rf0(i){return!(typeof i!="string"||i.length>1024)}function Fu(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function Ys(i=""){let r={'"':"",""":"",""":"",""":"",""":""};return i.replace(/^("|"|")|("|"|")$/g,a=>r[a])}function ug(i){return i.get("x-amz-version-id")??null}function a7(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,5)+r.substr(14,2)+r.substr(17,2)+"Z"}function $l(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,2)}function fg(i,r){return`${$l(r)}/${i}/s3/aws4_request`}async function x4(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),Fu(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var if0=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],e4=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,_=1,o0,r0=[],i0=[];super({start(){},async write(c0,g0){let p0="PUT",E0=_++;try{if(E0==1&&c0.length<o){let N0=await r.makeRequest({method:p0,headers:new Headers({...e,"Content-Length":String(c0.length)}),bucketName:a,objectName:n,payload:c0});s={etag:Ys(N0.headers.get("etag")??void 0),versionId:ug(N0.headers)};return}E0===1&&(o0=(await nf0({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let P0={"Content-Length":String(c0.length)};for(let N0 of if0){let Y0=e[N0];Y0&&(P0[N0]=Y0)}let F0=r.makeRequest({method:p0,query:{partNumber:E0.toString(),uploadId:o0},headers:new Headers(P0),bucketName:a,objectName:n,payload:c0});F0.then(N0=>{let Y0=N0.headers.get("etag")??"";Y0&&(Y0=Y0.replace(/^"/,"").replace(/"$/,"")),r0.push({part:E0,etag:Y0})}),i0.push(F0)}catch(P0){throw P0}},async close(){if(!s)if(o0)await Promise.all(i0),r0.sort((c0,g0)=>c0.part>g0.part?1:-1),s=await af0({client:r,bucketName:a,objectName:n,uploadId:o0,etags:r0});else throw new Error("Stream was closed without uploading any data.")}}),this.getResult=()=>{if(s===void 0)throw new Error("Result is not ready. await the stream first.");return s}}};async function nf0(i){let r="POST",a=new Headers(i.metadata),e=await(await i.client.makeRequest({method:r,bucketName:i.bucketName,objectName:i.objectName,query:"uploads",headers:a,returnBody:!0})).text(),s=In(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let _=s.children.find(o0=>o0.name==="UploadId")?.content;if(!_)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:_}}async function af0({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
|
|
311
311
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
312
312
|
${o.map(c0=>` <Part><PartNumber>${c0.part}</PartNumber><ETag>${c0.etag}</ETag></Part>`).join(`
|
|
313
313
|
`)}
|
|
@@ -316,20 +316,20 @@ ${ge(n)}`),cx.error("")),a))}function MM(i,r){return i.from("channels").insert(r
|
|
|
316
316
|
`)+`
|
|
317
317
|
`),o0.push(n.join(";").toLowerCase()),o0.push(o),o0.join(`
|
|
318
318
|
`)}async function pU(i,r,a){let n=await x4(i),o=fg(a,r),e=[];return e.push(Ou),e.push(a7(r)),e.push(o),e.push(n),e.join(`
|
|
319
|
-
`)}async function bU(i,r,a){let n=$l(i),o=await _r("AWS4"+a,n),e=await _r(o,r),s=await _r(e,"s3");return await _r(s,"aws4_request")}function dg(i,r,a){return`${i}/${fg(r,a)}`}async function _r(i,r){let a=new TextEncoder,n=await crypto.subtle.importKey("raw",i instanceof Uint8Array?i:a.encode(i),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),o=await crypto.subtle.sign("HMAC",n,r instanceof Uint8Array?r:a.encode(r));return new Uint8Array(o)}async function gU(i){if(!i.accessKey)throw new Bn("accessKey is required for signing");if(!i.secretKey)throw new n7("secretKey is required for signing");if(i.expirySeconds<1)throw new Ws("expirySeconds cannot be less than 1 seconds");if(i.expirySeconds>604800)throw new Ws("expirySeconds cannot be greater than 7 days");let r=new Date(i.date);r.setSeconds(r.getSeconds()+i.expirySeconds);let a=r.toISOString(),n=dg(i.accessKey,i.region,i.date),o=a7(i.date),e={"X-Amz-Algorithm":Ou,"X-Amz-Credential":n,"X-Amz-Date":o,key:i.objectKey,...i.fields||{}},s=[{bucket:i.bucket},{key:i.objectKey},{"X-Amz-Algorithm":Ou},{"X-Amz-Credential":n},{"X-Amz-Date":o}];i.conditions&&s.push(...i.conditions);for(let[Y0,S0]of Object.entries(i.fields||{}))["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(Y0)||s.push({[Y0]:S0});let _={expiration:a,conditions:s},r0=new TextEncoder().encode(JSON.stringify(_)),i0=btoa(String.fromCharCode(...r0));e.policy=i0;let c0=i0,g0=await _r("AWS4"+i.secretKey,$l(i.date)),p0=await _r(g0,i.region),E0=await _r(p0,"s3"),P0=await _r(E0,"aws4_request"),F0=Fu(await _r(P0,c0)).toLowerCase();return e["X-Amz-Signature"]=F0,{url:`${i.protocol}//${i.host}/${i.bucket}`,fields:e}}var cf0=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],uf0=5*1024*1024,ff0=5*1024*1024*1024,lg=5*1024*1024*1024*1024,Pu=class{host;port;protocol;accessKey;#x;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:r,useSSL:a,port:n,pathPrefix:o,...e}){if(/^https?:\/\//i.test(r)){if(a!==void 0||n!==void 0||o!==void 0)throw new kt("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let _=new URL(r);r=_.hostname,a=_.protocol==="https:",n=_.port?parseInt(_.port,10):a?443:80,_.pathname&&_.pathname!=="/"&&(o=_.pathname.endsWith("/")?_.pathname.slice(0,-1):_.pathname)}catch{throw new Su(`Invalid endPoint URL: ${r}`)}}if(typeof r!="string"||r.length===0)throw new Su(`Invalid endPoint: ${r}`);if(a===void 0&&(a=!0),n!==void 0&&!cU(n))throw new kt(`Invalid port: ${n}`);if(e.accessKey&&!e.secretKey)throw new kt("If specifying access key, secret key must also be provided.");if(e.accessKey&&e.accessKey.startsWith("ASIA")&&!e.sessionToken)throw new kt("If specifying temporary access key, session token must also be provided.");let s=a?443:80;if(this.port=n??s,this.host=r.toLowerCase()+(this.port!==s?`:${this.port}`:""),this.protocol=a?"https:":"http:",this.accessKey=e.accessKey,this.#x=e.secretKey??"",this.sessionToken=e.sessionToken,this.pathStyle=e.pathStyle??!0,this.pathPrefix=o??"",this.defaultBucket=e.bucket,this.region=e.region,this.pathPrefix){if(!this.pathStyle)throw new kt("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new kt("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new kt("pathPrefix should not end with /")}}getBucketName(r){let a=r?.bucketName??this.defaultBucket;if(a===void 0||!uU(a))throw new Zl(`Invalid bucket name: ${a}`);return a}buildRequestOptions(r){let a=this.getBucketName(r),n=this.pathStyle?this.host:`${a}.${this.host}`,o=r.headers??new Headers;o.set("host",n);let e=typeof r.query=="object"?new URLSearchParams(r.query).toString().replace("+","%20"):r.query,s=(this.pathStyle?`${this.pathPrefix}/${a}/${r.objectName}`:`/${r.objectName}`)+(e?`?${e}`:"");return{headers:o,host:n,path:s}}async makeRequest({method:r,payload:a,...n}){let o=new Date,{headers:e,host:s,path:_}=this.buildRequestOptions(n),o0=n.statusCode??200;if(r==="POST"||r==="PUT"||r==="DELETE")a===void 0?a=new Uint8Array:typeof a=="string"&&(a=new TextEncoder().encode(a)),e.set("Content-Length",String(a.length));else if(a)throw new Error(`Unexpected payload on ${r} request.`);let r0=await x4(a??new Uint8Array);e.set("x-amz-date",a7(o)),e.set("x-amz-content-sha256",r0),this.accessKey&&(this.sessionToken&&e.set("x-amz-security-token",this.sessionToken),e.set("authorization",await fU({headers:e,method:r,path:_,accessKey:this.accessKey,secretKey:this.#x,region:this.region,date:o})));let i0=`${this.protocol}//${s}${_}`,c0=await fetch(i0,{method:r,headers:e,body:a});if(c0.status!==o0)throw c0.status>=400?await oU(c0):c0.status===301?new Qi(c0.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"'):new Qi(c0.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${o0}, got ${c0.status} ${c0.statusText}).`);return n.returnBody||await c0.body?.getReader().read(),c0}async deleteObject(r,a={}){let n=this.getBucketName(a);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let o=a.versionId?{versionId:a.versionId}:{},e=new Headers;a.governanceBypass&&e.set("X-Amz-Bypass-Governance-Retention","true"),await this.makeRequest({method:"DELETE",bucketName:n,objectName:r,headers:e,query:o,statusCode:204})}async exists(r,a){try{return await this.statObject(r,a),!0}catch(n){if(n instanceof Qi&&n.statusCode===404)return!1;throw n}}getObject(r,a){return this.getPartialObject(r,{...a,offset:0,length:0})}async getPartialObject(r,{offset:a,length:n,...o}){let e=this.getBucketName(o);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let s=new Headers(Object.entries(o.metadata??{})),_=200;if(a||n){let r0="";a?r0=`bytes=${+a}-`:(r0="bytes=0-",a=0),n&&(r0+=`${+n+a-1}`),s.set("Range",r0),_=206}let o0={...o.responseParams,...o.versionId?{versionId:o.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:e,objectName:r,headers:s,query:o0,statusCode:_,returnBody:!0})}getPresignedUrl(r,a,n={}){if(!this.accessKey)throw new Bn(`Presigned ${r} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!Tn(a))throw new hi(`Invalid object name: ${a}`);let{headers:o,path:e}=this.buildRequestOptions({objectName:a,bucketName:n.bucketName,query:n.parameters}),s=n.requestDate??new Date,_=n.expirySeconds??24*60*60*7;return dU({protocol:this.protocol,headers:o,method:r,path:e,accessKey:this.accessKey,secretKey:this.#x,sessionToken:this.sessionToken,region:this.region,date:s,expirySeconds:_})}presignedGetObject(r,a={}){let{versionId:n,responseParams:o,...e}=a,s={...o,...n?{versionId:n}:{}};return this.getPresignedUrl("GET",r,{parameters:s,...e})}async*listObjects(r={}){for await(let a of this.listObjectsGrouped({...r,delimiter:""}))if(a.type==="Object")yield a;else throw new Error(`Unexpected result from listObjectsGrouped(): ${a}`)}async*listObjectsGrouped(r){let a=this.getBucketName(r),n="",o=r.pageSize??1e3;if(o<1||o>1e3)throw new kt("pageSize must be between 1 and 1,000.");let e=0;for(;;){let s=r.maxResults?Math.min(o,r.maxResults-e):o;if(s===0)return;let o0=await(await this.makeRequest({method:"GET",bucketName:a,objectName:"",query:{"list-type":"2",prefix:r.prefix??"",delimiter:r.delimiter,"max-keys":String(s),...n?{"continuation-token":n}:{}},returnBody:!0})).text(),r0=In(o0).root;if(!r0||r0.name!=="ListBucketResult")throw new Error(`Unexpected response: ${o0}`);let i0=r0.children.filter(p0=>p0.name==="CommonPrefixes").flatMap(p0=>p0.children),c0=[];for(let p0 of i0)c0.push({type:"CommonPrefix",prefix:p0.content??""}),e++;for(let p0 of r0.children.filter(E0=>E0.name==="Contents"))c0.push({type:"Object",key:p0.children.find(E0=>E0.name==="Key")?.content??"",etag:Ys(p0.children.find(E0=>E0.name==="ETag")?.content??""),size:parseInt(p0.children.find(E0=>E0.name==="Size")?.content??"",10),lastModified:new Date(p0.children.find(E0=>E0.name==="LastModified")?.content??"invalid")}),e++;c0.sort((p0,E0)=>{let P0=p0.type==="Object"?p0.key:p0.prefix,F0=E0.type==="Object"?E0.key:E0.prefix;return P0>F0?1:P0<F0?-1:0});for(let p0 of c0)yield p0;if(r0.children.find(p0=>p0.name==="IsTruncated")?.content==="true"){let p0=r0.children.find(E0=>E0.name==="NextContinuationToken")?.content;if(!p0)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");n=p0}else return}}async putObject(r,a,n){let o=this.getBucketName(n);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let e,s;if(typeof a=="string"){let i0=new TextEncoder().encode(a);typeof ReadableStream.from<"u"?s=ReadableStream.from([i0]):s=new ReadableStream({start(c0){c0.enqueue(i0),c0.close()}}),e=i0.length}else if(a instanceof Uint8Array)typeof ReadableStream.from<"u"?s=ReadableStream.from([a]):s=new ReadableStream({start(i0){i0.enqueue(a),i0.close()}}),e=a.byteLength;else if(a instanceof ReadableStream)s=a;else throw new kt("Invalid stream/data type provided.");if(n?.size!==void 0){if(e!==void 0&&n?.size!==e)throw new kt(`size was specified (${n.size}) but doesn't match auto-detected size (${e}).`);if(typeof n.size!="number"||n.size<0||isNaN(n.size))throw new kt(`invalid size specified: ${n.size}`);e=n.size}let _=n?.partSize??this.calculatePartSize(e);if(_<uf0)throw new kt("Part size should be greater than 5MB");if(_>ff0)throw new kt("Part size should be less than 6MB");let o0=new Jl(_),r0=new e4({client:this,bucketName:o,objectName:r,partSize:_,metadata:n?.metadata??{}});return await s.pipeThrough(o0).pipeTo(r0),r0.getResult()}calculatePartSize(r){if(r===void 0&&(r=lg),r>lg)throw new TypeError(`size should not be more than ${lg}`);let a=64*1024*1024;for(;;){if(a*1e4>r)return a;a+=16*1024*1024}}async statObject(r,a){let n=this.getBucketName(a);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let o={};a?.versionId&&(o.versionId=a.versionId);let e=await this.makeRequest({method:"HEAD",bucketName:n,objectName:r,query:o,headers:new Headers(a?.headers)}),s={};for(let _ of cf0)e.headers.has(_)&&(s[_]=e.headers.get(_));return e.headers.forEach((_,o0)=>{o0.startsWith("x-amz-meta-")&&(s[o0]=e.headers.get(o0))}),{type:"Object",key:r,size:parseInt(e.headers.get("content-length")??"",10),metadata:s,lastModified:new Date(e.headers.get("Last-Modified")??"error: missing last modified"),versionId:e.headers.get("x-amz-version-id")||null,etag:Ys(e.headers.get("ETag")??"")}}async copyObject(r,a,n){let o=this.getBucketName(n),e=r.sourceBucketName??o;if(!Tn(a))throw new hi(`Invalid object name: ${a}`);let s=`${e}/${r.sourceKey}`;r.sourceVersionId&&(s+=`?versionId=${r.sourceVersionId}`);let _=new Headers(n?.metadata);n?.metadata!==void 0&&_.set("x-amz-metadata-directive","REPLACE"),_.set("x-amz-copy-source",s);let o0=await this.makeRequest({method:"PUT",bucketName:o,objectName:a,headers:_,returnBody:!0}),r0=await o0.text(),i0=In(r0).root;if(!i0||i0.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${r0}`);let c0=i0.children.find(p0=>p0.name==="ETag")?.content??"",g0=i0.children.find(p0=>p0.name==="LastModified")?.content;if(g0===void 0)throw new Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:o0.headers.get("x-amz-copy-source-version-id")||null,etag:Ys(c0),lastModified:new Date(g0),versionId:o0.headers.get("x-amz-version-id")||null}}async bucketExists(r){try{return await this.listObjects({bucketName:r}).next(),!0}catch(a){if(a instanceof Qi&&a.statusCode===404)return!1;throw a}}async makeBucket(r){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:r}),objectName:"",statusCode:200})}async removeBucket(r){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:r}),objectName:"",statusCode:204})}presignedPostObject(r,a={}){if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let n=this.getBucketName(a);if(!n)throw new Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let o=a.requestDate||new Date,e=a.expirySeconds??3600;return gU({protocol:this.protocol,host:this.host,bucket:n,objectKey:r,accessKey:this.accessKey||"",secretKey:this.#x||"",region:this.region,date:o,expirySeconds:e,conditions:a.conditions,fields:a.fields})}};var Wg=Oe(nc());var Kg=Oe(cu()),Xg=Oe(ts());var Xs=require("node:fs"),t4=require("node:path");function df0(i,r){return(0,Xs.readFileSync)(i,"utf8").includes(r)}function Iu(i,r){let a=(0,Xs.readdirSync)(i);for(let n of a){let o=(0,t4.join)(i,n),e=(0,Xs.statSync)(o);if(e.isDirectory()){if(Iu(o,r))return!0}else if(e.isFile()&&(0,t4.extname)(o)===".js"&&df0(o,r))return!0}return!1}function r4(i){return(0,Xs.readdirSync)(i).indexOf("index.html")>-1}var g4=require("node:buffer"),Wi=require("node:fs"),cq=require("node:os"),Yi=require("node:path"),Vg=require("node:process"),b7=require("node:stream/consumers"),Qg=require("node:zlib");var uq=Oe(xH()),fq=Oe(oq()),zg=Oe(cu()),dq=Oe(ts()),lq=Oe(jo()),hq=Oe(G8());async function g10(i,r){try{return(await fetch(`${i.hostFilesApi}/files/read/attachments/${encodeURIComponent(r)}`,{method:"HEAD"})).ok}catch{return!1}}var m10=4096,pq=8192,Lu="7.0.37",y10=g4.Buffer.from([27,0,6]);async function w10(i){let r=(0,Yi.join)(pt((0,Vg.cwd)()),ht),n=(await J6(void 0,i.packageJson||r)).get("@capgo/capacitor-updater"),o=(0,zg.default)(n);if(!n||!o)return{version:null,supportsBrotliV2:!1};let e=(0,dq.default)(o.version,Lu);return{version:o.version,supportsBrotliV2:e}}function D10(i,r){if(!r)return!1;let a=r.split(",").map(n=>n.trim()).filter(n=>!!n);return a.length===0?!1:fq.isMatch(i,a)}async function v10(i,r){let n=(0,Wi.statSync)(i).size;if(n===0)return y10;let o=await(0,b7.buffer)((0,Wi.createReadStream)(i)),e=await(0,b7.buffer)((0,Wi.createReadStream)(i).pipe((0,Qg.createBrotliCompress)({})));if(n<m10||e.length>=n-10){let s=uq.compress(o,{mode:0,quality:0});if(s)return g4.Buffer.from(s);let _=(0,Yi.join)(pt((0,Vg.cwd)()),ht),r0=(await J6(void 0,r.packageJson||_)).get("@capgo/capacitor-updater"),i0=(0,zg.default)(r0);if(!r0||!i0)throw k0.warn("Cannot find @capgo/capacitor-updater in package.json, please provide the package.json path to the command with --package-json"),new Error("Updater version not found");if(!(0,lq.default)(i0,">=6.14.12 <7.0.0 || >=7.0.23"))throw k0.warn(`Brotli library failed for ${i}, falling back to zlib output or minimal stream, this require updater 6.14.12 for Capacitor 6 or 7.0.23 for Capacitor 7`),new Error("To use partial update, you need to upgrade @capgo/capacitor-updater to version >=6.14.12 <7.0.0 or >=7.0.23");return e.length>0&&e.length<n+10?e:g4.Buffer.from([27,0,6,...o,3])}return e}async function A10(i,r,a){let o=(0,Wi.statSync)(i).size,e=await(0,b7.buffer)((0,Wi.createReadStream)(i));if(o===0)return{buffer:e,useBrotli:!1};if(D10(r,a.noBrotliPatterns))return k0.info(`Skipping brotli for excluded file: ${r}`),{buffer:e,useBrotli:!1};if(o<pq)return{buffer:e,useBrotli:!1};try{let s=await(0,b7.buffer)((0,Wi.createReadStream)(i).pipe((0,Qg.createBrotliCompress)({})));return s.length>=o-10?(k0.info(`Brotli not effective for ${r} (${o} bytes), using original file`),{buffer:e,useBrotli:!1}):{buffer:s,useBrotli:!0}}catch(s){return k0.warn(`Brotli compression failed for ${i}: ${s}, using original file`),{buffer:e,useBrotli:!1}}}async function bq(i,r,a,n,o,e){let s=x6();s.start(o!=="v2"?"Generating the update manifest":"Generating the update manifest with v2 encryption");let _=await _N(i);return o==="v2"&&_.forEach(o0=>{o0.hash=i7(o0.hash,e)}),s.stop("Manifest generated successfully"),await u6(r,{channel:"partial-update",event:"Generate manifest",icon:"\u{1F4C2}",user_id:a,tags:{"app-id":n},notify:!1}),_}function E10(i){return(0,cq.platform)()!=="win32"?i:Yi.win32.normalize(i).split(Yi.win32.sep).join(Yi.posix.sep)}function C10(i){let r=i.split("/").map(a=>encodeURIComponent(a)).join("/");return i.includes(" ")&&k0.warn(`File "${i}" contains spaces in its name.`),r}async function gq(i,r,a,n,o,e,s,_){let o0=x6();o0.start("Preparing partial update with TUS protocol");let r0=performance.now(),i0=await Dr(),{version:c0,supportsBrotliV2:g0}=await w10(_);if(g0)_.disableBrotli?k0.info("Brotli compression disabled by user request"):(o0.message(`Using .br extension for compatible files (updater ${c0} >= ${Lu})`),_.noBrotliPatterns&&k0.info(`Files matching patterns (${_.noBrotliPatterns}) will be excluded from brotli compression`),k0.info(`Files smaller than ${pq} bytes will be excluded from brotli compression (Brotli RFC minimum)`));else{if(_.disableBrotli&&k0.warn(`--disable-brotli option has no effect with updater version ${c0||"unknown"} (requires ${Lu}+)`),_.noBrotliPatterns)throw new Error(`--no-brotli-patterns option requires updater version ${Lu} or higher, but you have ${c0||"unknown"}`);k0.info(`Using legacy compression (updater ${c0||"unknown"} < ${Lu})`)}let p0=r.filter(N0=>N0.file.includes(" "));if(p0.length>0)throw new Error(`Files with spaces in their names (${p0.map(N0=>N0.file).join(", ")}). Please rename the files.`);let E0=0,P0=r.length,F0=0;try{let N0=r.map(async Q0=>{let sx=(0,Yi.join)(a,Q0.file),J0=E10(Q0.file),Cx,z0=!1;if(!g0)Cx=await v10(sx,_);else if(_.disableBrotli)Cx=await(0,b7.buffer)((0,Wi.createReadStream)(sx)),z0=!1;else{let ee=await A10(sx,J0,_);Cx=ee.buffer,z0=ee.useBrotli}let yx=Cx;s&&(yx=r7(Cx,s.sessionKey,s.ivSessionKey));let $0=J0;z0&&($0=`${J0}.br`,F0++);let qx=C10($0),zx=`orgs/${e}/apps/${n}/delta/${Q0.hash}_${qx}`;return await g10(i0,zx)?(E0++,Promise.resolve({file_name:qx,s3_path:zx,file_hash:Q0.hash})):new Promise((ee,v0)=>{new hq.Upload(yx,{endpoint:`${i0.hostFilesApi}/files/upload/attachments/`,chunkSize:_.tusChunkSize,metadata:{filename:zx},headers:{Authorization:i},onError(L0){k0.info(`Failed to upload ${J0}: ${L0}`),v0(L0)},onProgress(){let L0=(E0/P0*100).toFixed(2);o0.message(`Uploading partial update: ${L0}%`)},onSuccess(){E0++,ee({file_name:qx,s3_path:zx,file_hash:Q0.hash})}}).start()})}),Y0=await Promise.all(N0),W0=((performance.now()-r0)/1e3).toFixed(2);return o0.stop(`Partial update uploaded successfully \u{1F4AA} in (${W0} seconds)`),F0>0&&k0.info(`${F0} of ${P0} files were compressed with brotli and use .br extension`),await u6(i,{channel:"app",event:`App Partial TUS done${F0>0?" with .br extension":""}`,icon:"\u23EB",user_id:e,tags:{"app-id":n},notify:!1}),await u6(i,{channel:"performance",event:"Partial upload performance",icon:"\u{1F684}",user_id:e,tags:{"app-id":n,time:W0},notify:!1}),Y0}catch(N0){let S0=((performance.now()-r0)/1e3).toFixed(2);return o0.stop(`Failed to upload Partial bundle (after ${S0} seconds)`),k0.info(`Error uploading partial update: ${N0}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}async function k10(i,r){let a=fi("",r.packageJson),n=r.bundle||i?.plugins?.CapacitorUpdater?.version||a||`0.0.1-beta.${(0,mq.randomUUID)().split("-")[0]}`;return H2.test(n)||(k0.error(`Your bundle name ${n}, is not valid it should follow semver convention : https://semver.org/`),cx.error("")),n}function S10(i){let r=i.apikey||ze();return r||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),cx.error("")),r}function F10(i,r,a){let n=We(i,a),o=r.path||a?.webDir;return n||(k0.error("Missing argument, you need to provide a appid or be in a capacitor project"),cx.error("")),o||(k0.error("Missing argument, you need to provide a path (--path), or be in a capacitor project"),cx.error("")),(0,no.existsSync)(o)||(k0.error(`Path ${o} does not exist, build your app first, or provide a valid path`),cx.error("")),{appid:n,path:o}}function O10(i,r){let a=i.codeCheck;(typeof a>"u"||a)&&(Iu(r,"notifyAppReady")||(k0.error(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
320
|
-
If you are sure your app has this code, you can use the --no-code-check option`),
|
|
321
|
-
Trial expires in ${n} days`),k0.warn(`Upgrade here: ${a.hostWeb}/dashboard/settings/plans?oid=${r}`))}async function B10(i,r,a,n=!1){let{data:o,error:e}=await i.rpc("exist_app_versions",{appid:r,apikey:"",name_version:a}).single();(o||e)&&(n&&(k0.warn(`Version ${a} already exists - exiting gracefully due to --silent-fail option`),Ae("Bundle version already exists - exiting gracefully \u{1F389}"),(0,g7.exit)(0)),k0.error(`Version ${a} already exists ${ge(e)}`),
|
|
319
|
+
`)}async function bU(i,r,a){let n=$l(i),o=await _r("AWS4"+a,n),e=await _r(o,r),s=await _r(e,"s3");return await _r(s,"aws4_request")}function dg(i,r,a){return`${i}/${fg(r,a)}`}async function _r(i,r){let a=new TextEncoder,n=await crypto.subtle.importKey("raw",i instanceof Uint8Array?i:a.encode(i),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),o=await crypto.subtle.sign("HMAC",n,r instanceof Uint8Array?r:a.encode(r));return new Uint8Array(o)}async function gU(i){if(!i.accessKey)throw new Bn("accessKey is required for signing");if(!i.secretKey)throw new n7("secretKey is required for signing");if(i.expirySeconds<1)throw new Ws("expirySeconds cannot be less than 1 seconds");if(i.expirySeconds>604800)throw new Ws("expirySeconds cannot be greater than 7 days");let r=new Date(i.date);r.setSeconds(r.getSeconds()+i.expirySeconds);let a=r.toISOString(),n=dg(i.accessKey,i.region,i.date),o=a7(i.date),e={"X-Amz-Algorithm":Ou,"X-Amz-Credential":n,"X-Amz-Date":o,key:i.objectKey,...i.fields||{}},s=[{bucket:i.bucket},{key:i.objectKey},{"X-Amz-Algorithm":Ou},{"X-Amz-Credential":n},{"X-Amz-Date":o}];i.conditions&&s.push(...i.conditions);for(let[Y0,S0]of Object.entries(i.fields||{}))["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(Y0)||s.push({[Y0]:S0});let _={expiration:a,conditions:s},r0=new TextEncoder().encode(JSON.stringify(_)),i0=btoa(String.fromCharCode(...r0));e.policy=i0;let c0=i0,g0=await _r("AWS4"+i.secretKey,$l(i.date)),p0=await _r(g0,i.region),E0=await _r(p0,"s3"),P0=await _r(E0,"aws4_request"),F0=Fu(await _r(P0,c0)).toLowerCase();return e["X-Amz-Signature"]=F0,{url:`${i.protocol}//${i.host}/${i.bucket}`,fields:e}}var cf0=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],uf0=5*1024*1024,ff0=5*1024*1024*1024,lg=5*1024*1024*1024*1024,Pu=class{host;port;protocol;accessKey;#x;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:r,useSSL:a,port:n,pathPrefix:o,...e}){if(/^https?:\/\//i.test(r)){if(a!==void 0||n!==void 0||o!==void 0)throw new kt("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let _=new URL(r);r=_.hostname,a=_.protocol==="https:",n=_.port?parseInt(_.port,10):a?443:80,_.pathname&&_.pathname!=="/"&&(o=_.pathname.endsWith("/")?_.pathname.slice(0,-1):_.pathname)}catch{throw new Su(`Invalid endPoint URL: ${r}`)}}if(typeof r!="string"||r.length===0)throw new Su(`Invalid endPoint: ${r}`);if(a===void 0&&(a=!0),n!==void 0&&!cU(n))throw new kt(`Invalid port: ${n}`);if(e.accessKey&&!e.secretKey)throw new kt("If specifying access key, secret key must also be provided.");if(e.accessKey&&e.accessKey.startsWith("ASIA")&&!e.sessionToken)throw new kt("If specifying temporary access key, session token must also be provided.");let s=a?443:80;if(this.port=n??s,this.host=r.toLowerCase()+(this.port!==s?`:${this.port}`:""),this.protocol=a?"https:":"http:",this.accessKey=e.accessKey,this.#x=e.secretKey??"",this.sessionToken=e.sessionToken,this.pathStyle=e.pathStyle??!0,this.pathPrefix=o??"",this.defaultBucket=e.bucket,this.region=e.region,this.pathPrefix){if(!this.pathStyle)throw new kt("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new kt("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new kt("pathPrefix should not end with /")}}getBucketName(r){let a=r?.bucketName??this.defaultBucket;if(a===void 0||!uU(a))throw new Zl(`Invalid bucket name: ${a}`);return a}buildRequestOptions(r){let a=this.getBucketName(r),n=this.pathStyle?this.host:`${a}.${this.host}`,o=r.headers??new Headers;o.set("host",n);let e=typeof r.query=="object"?new URLSearchParams(r.query).toString().replace("+","%20"):r.query,s=(this.pathStyle?`${this.pathPrefix}/${a}/${r.objectName}`:`/${r.objectName}`)+(e?`?${e}`:"");return{headers:o,host:n,path:s}}async makeRequest({method:r,payload:a,...n}){let o=new Date,{headers:e,host:s,path:_}=this.buildRequestOptions(n),o0=n.statusCode??200;if(r==="POST"||r==="PUT"||r==="DELETE")a===void 0?a=new Uint8Array:typeof a=="string"&&(a=new TextEncoder().encode(a)),e.set("Content-Length",String(a.length));else if(a)throw new Error(`Unexpected payload on ${r} request.`);let r0=await x4(a??new Uint8Array);e.set("x-amz-date",a7(o)),e.set("x-amz-content-sha256",r0),this.accessKey&&(this.sessionToken&&e.set("x-amz-security-token",this.sessionToken),e.set("authorization",await fU({headers:e,method:r,path:_,accessKey:this.accessKey,secretKey:this.#x,region:this.region,date:o})));let i0=`${this.protocol}//${s}${_}`,c0=await fetch(i0,{method:r,headers:e,body:a});if(c0.status!==o0)throw c0.status>=400?await oU(c0):c0.status===301?new Qi(c0.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"'):new Qi(c0.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${o0}, got ${c0.status} ${c0.statusText}).`);return n.returnBody||await c0.body?.getReader().read(),c0}async deleteObject(r,a={}){let n=this.getBucketName(a);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let o=a.versionId?{versionId:a.versionId}:{},e=new Headers;a.governanceBypass&&e.set("X-Amz-Bypass-Governance-Retention","true"),await this.makeRequest({method:"DELETE",bucketName:n,objectName:r,headers:e,query:o,statusCode:204})}async exists(r,a){try{return await this.statObject(r,a),!0}catch(n){if(n instanceof Qi&&n.statusCode===404)return!1;throw n}}getObject(r,a){return this.getPartialObject(r,{...a,offset:0,length:0})}async getPartialObject(r,{offset:a,length:n,...o}){let e=this.getBucketName(o);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let s=new Headers(Object.entries(o.metadata??{})),_=200;if(a||n){let r0="";a?r0=`bytes=${+a}-`:(r0="bytes=0-",a=0),n&&(r0+=`${+n+a-1}`),s.set("Range",r0),_=206}let o0={...o.responseParams,...o.versionId?{versionId:o.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:e,objectName:r,headers:s,query:o0,statusCode:_,returnBody:!0})}getPresignedUrl(r,a,n={}){if(!this.accessKey)throw new Bn(`Presigned ${r} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!Tn(a))throw new hi(`Invalid object name: ${a}`);let{headers:o,path:e}=this.buildRequestOptions({objectName:a,bucketName:n.bucketName,query:n.parameters}),s=n.requestDate??new Date,_=n.expirySeconds??24*60*60*7;return dU({protocol:this.protocol,headers:o,method:r,path:e,accessKey:this.accessKey,secretKey:this.#x,sessionToken:this.sessionToken,region:this.region,date:s,expirySeconds:_})}presignedGetObject(r,a={}){let{versionId:n,responseParams:o,...e}=a,s={...o,...n?{versionId:n}:{}};return this.getPresignedUrl("GET",r,{parameters:s,...e})}async*listObjects(r={}){for await(let a of this.listObjectsGrouped({...r,delimiter:""}))if(a.type==="Object")yield a;else throw new Error(`Unexpected result from listObjectsGrouped(): ${a}`)}async*listObjectsGrouped(r){let a=this.getBucketName(r),n="",o=r.pageSize??1e3;if(o<1||o>1e3)throw new kt("pageSize must be between 1 and 1,000.");let e=0;for(;;){let s=r.maxResults?Math.min(o,r.maxResults-e):o;if(s===0)return;let o0=await(await this.makeRequest({method:"GET",bucketName:a,objectName:"",query:{"list-type":"2",prefix:r.prefix??"",delimiter:r.delimiter,"max-keys":String(s),...n?{"continuation-token":n}:{}},returnBody:!0})).text(),r0=In(o0).root;if(!r0||r0.name!=="ListBucketResult")throw new Error(`Unexpected response: ${o0}`);let i0=r0.children.filter(p0=>p0.name==="CommonPrefixes").flatMap(p0=>p0.children),c0=[];for(let p0 of i0)c0.push({type:"CommonPrefix",prefix:p0.content??""}),e++;for(let p0 of r0.children.filter(E0=>E0.name==="Contents"))c0.push({type:"Object",key:p0.children.find(E0=>E0.name==="Key")?.content??"",etag:Ys(p0.children.find(E0=>E0.name==="ETag")?.content??""),size:parseInt(p0.children.find(E0=>E0.name==="Size")?.content??"",10),lastModified:new Date(p0.children.find(E0=>E0.name==="LastModified")?.content??"invalid")}),e++;c0.sort((p0,E0)=>{let P0=p0.type==="Object"?p0.key:p0.prefix,F0=E0.type==="Object"?E0.key:E0.prefix;return P0>F0?1:P0<F0?-1:0});for(let p0 of c0)yield p0;if(r0.children.find(p0=>p0.name==="IsTruncated")?.content==="true"){let p0=r0.children.find(E0=>E0.name==="NextContinuationToken")?.content;if(!p0)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");n=p0}else return}}async putObject(r,a,n){let o=this.getBucketName(n);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let e,s;if(typeof a=="string"){let i0=new TextEncoder().encode(a);typeof ReadableStream.from<"u"?s=ReadableStream.from([i0]):s=new ReadableStream({start(c0){c0.enqueue(i0),c0.close()}}),e=i0.length}else if(a instanceof Uint8Array)typeof ReadableStream.from<"u"?s=ReadableStream.from([a]):s=new ReadableStream({start(i0){i0.enqueue(a),i0.close()}}),e=a.byteLength;else if(a instanceof ReadableStream)s=a;else throw new kt("Invalid stream/data type provided.");if(n?.size!==void 0){if(e!==void 0&&n?.size!==e)throw new kt(`size was specified (${n.size}) but doesn't match auto-detected size (${e}).`);if(typeof n.size!="number"||n.size<0||isNaN(n.size))throw new kt(`invalid size specified: ${n.size}`);e=n.size}let _=n?.partSize??this.calculatePartSize(e);if(_<uf0)throw new kt("Part size should be greater than 5MB");if(_>ff0)throw new kt("Part size should be less than 6MB");let o0=new Jl(_),r0=new e4({client:this,bucketName:o,objectName:r,partSize:_,metadata:n?.metadata??{}});return await s.pipeThrough(o0).pipeTo(r0),r0.getResult()}calculatePartSize(r){if(r===void 0&&(r=lg),r>lg)throw new TypeError(`size should not be more than ${lg}`);let a=64*1024*1024;for(;;){if(a*1e4>r)return a;a+=16*1024*1024}}async statObject(r,a){let n=this.getBucketName(a);if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let o={};a?.versionId&&(o.versionId=a.versionId);let e=await this.makeRequest({method:"HEAD",bucketName:n,objectName:r,query:o,headers:new Headers(a?.headers)}),s={};for(let _ of cf0)e.headers.has(_)&&(s[_]=e.headers.get(_));return e.headers.forEach((_,o0)=>{o0.startsWith("x-amz-meta-")&&(s[o0]=e.headers.get(o0))}),{type:"Object",key:r,size:parseInt(e.headers.get("content-length")??"",10),metadata:s,lastModified:new Date(e.headers.get("Last-Modified")??"error: missing last modified"),versionId:e.headers.get("x-amz-version-id")||null,etag:Ys(e.headers.get("ETag")??"")}}async copyObject(r,a,n){let o=this.getBucketName(n),e=r.sourceBucketName??o;if(!Tn(a))throw new hi(`Invalid object name: ${a}`);let s=`${e}/${r.sourceKey}`;r.sourceVersionId&&(s+=`?versionId=${r.sourceVersionId}`);let _=new Headers(n?.metadata);n?.metadata!==void 0&&_.set("x-amz-metadata-directive","REPLACE"),_.set("x-amz-copy-source",s);let o0=await this.makeRequest({method:"PUT",bucketName:o,objectName:a,headers:_,returnBody:!0}),r0=await o0.text(),i0=In(r0).root;if(!i0||i0.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${r0}`);let c0=i0.children.find(p0=>p0.name==="ETag")?.content??"",g0=i0.children.find(p0=>p0.name==="LastModified")?.content;if(g0===void 0)throw new Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:o0.headers.get("x-amz-copy-source-version-id")||null,etag:Ys(c0),lastModified:new Date(g0),versionId:o0.headers.get("x-amz-version-id")||null}}async bucketExists(r){try{return await this.listObjects({bucketName:r}).next(),!0}catch(a){if(a instanceof Qi&&a.statusCode===404)return!1;throw a}}async makeBucket(r){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:r}),objectName:"",statusCode:200})}async removeBucket(r){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:r}),objectName:"",statusCode:204})}presignedPostObject(r,a={}){if(!Tn(r))throw new hi(`Invalid object name: ${r}`);let n=this.getBucketName(a);if(!n)throw new Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let o=a.requestDate||new Date,e=a.expirySeconds??3600;return gU({protocol:this.protocol,host:this.host,bucket:n,objectKey:r,accessKey:this.accessKey||"",secretKey:this.#x||"",region:this.region,date:o,expirySeconds:e,conditions:a.conditions,fields:a.fields})}};var Wg=Oe(nc());var Kg=Oe(cu()),Xg=Oe(ts());var Xs=require("node:fs"),t4=require("node:path");function df0(i,r){return(0,Xs.readFileSync)(i,"utf8").includes(r)}function Iu(i,r){let a=(0,Xs.readdirSync)(i);for(let n of a){let o=(0,t4.join)(i,n),e=(0,Xs.statSync)(o);if(e.isDirectory()){if(Iu(o,r))return!0}else if(e.isFile()&&(0,t4.extname)(o)===".js"&&df0(o,r))return!0}return!1}function r4(i){return(0,Xs.readdirSync)(i).indexOf("index.html")>-1}var g4=require("node:buffer"),Wi=require("node:fs"),cq=require("node:os"),Yi=require("node:path"),Vg=require("node:process"),b7=require("node:stream/consumers"),Qg=require("node:zlib");var uq=Oe(xH()),fq=Oe(oq()),zg=Oe(cu()),dq=Oe(ts()),lq=Oe(jo()),hq=Oe(G8());async function g10(i,r){try{return(await fetch(`${i.hostFilesApi}/files/read/attachments/${encodeURIComponent(r)}`,{method:"HEAD"})).ok}catch{return!1}}var m10=4096,pq=8192,Lu="7.0.37",y10=g4.Buffer.from([27,0,6]);async function w10(i){let r=(0,Yi.join)(pt((0,Vg.cwd)()),ht),n=(await J6(void 0,i.packageJson||r)).get("@capgo/capacitor-updater"),o=(0,zg.default)(n);if(!n||!o)return{version:null,supportsBrotliV2:!1};let e=(0,dq.default)(o.version,Lu);return{version:o.version,supportsBrotliV2:e}}function D10(i,r){if(!r)return!1;let a=r.split(",").map(n=>n.trim()).filter(n=>!!n);return a.length===0?!1:fq.isMatch(i,a)}async function v10(i,r){let n=(0,Wi.statSync)(i).size;if(n===0)return y10;let o=await(0,b7.buffer)((0,Wi.createReadStream)(i)),e=await(0,b7.buffer)((0,Wi.createReadStream)(i).pipe((0,Qg.createBrotliCompress)({})));if(n<m10||e.length>=n-10){let s=uq.compress(o,{mode:0,quality:0});if(s)return g4.Buffer.from(s);let _=(0,Yi.join)(pt((0,Vg.cwd)()),ht),r0=(await J6(void 0,r.packageJson||_)).get("@capgo/capacitor-updater"),i0=(0,zg.default)(r0);if(!r0||!i0)throw k0.warn("Cannot find @capgo/capacitor-updater in package.json, please provide the package.json path to the command with --package-json"),new Error("Updater version not found");if(!(0,lq.default)(i0,">=6.14.12 <7.0.0 || >=7.0.23"))throw k0.warn(`Brotli library failed for ${i}, falling back to zlib output or minimal stream, this require updater 6.14.12 for Capacitor 6 or 7.0.23 for Capacitor 7`),new Error("To use partial update, you need to upgrade @capgo/capacitor-updater to version >=6.14.12 <7.0.0 or >=7.0.23");return e.length>0&&e.length<n+10?e:g4.Buffer.from([27,0,6,...o,3])}return e}async function A10(i,r,a){let o=(0,Wi.statSync)(i).size,e=await(0,b7.buffer)((0,Wi.createReadStream)(i));if(o===0)return{buffer:e,useBrotli:!1};if(D10(r,a.noBrotliPatterns))return k0.info(`Skipping brotli for excluded file: ${r}`),{buffer:e,useBrotli:!1};if(o<pq)return{buffer:e,useBrotli:!1};try{let s=await(0,b7.buffer)((0,Wi.createReadStream)(i).pipe((0,Qg.createBrotliCompress)({})));return s.length>=o-10?(k0.info(`Brotli not effective for ${r} (${o} bytes), using original file`),{buffer:e,useBrotli:!1}):{buffer:s,useBrotli:!0}}catch(s){return k0.warn(`Brotli compression failed for ${i}: ${s}, using original file`),{buffer:e,useBrotli:!1}}}async function bq(i,r,a,n,o,e){let s=x6();s.start(o!=="v2"?"Generating the update manifest":"Generating the update manifest with v2 encryption");let _=await _N(i);return o==="v2"&&_.forEach(o0=>{o0.hash=i7(o0.hash,e)}),s.stop("Manifest generated successfully"),await u6(r,{channel:"partial-update",event:"Generate manifest",icon:"\u{1F4C2}",user_id:a,tags:{"app-id":n},notify:!1}),_}function E10(i){return(0,cq.platform)()!=="win32"?i:Yi.win32.normalize(i).split(Yi.win32.sep).join(Yi.posix.sep)}function C10(i){let r=i.split("/").map(a=>encodeURIComponent(a)).join("/");return i.includes(" ")&&k0.warn(`File "${i}" contains spaces in its name.`),r}async function gq(i,r,a,n,o,e,s,_){let o0=x6();o0.start("Preparing partial update with TUS protocol");let r0=performance.now(),i0=await Dr(),{version:c0,supportsBrotliV2:g0}=await w10(_);if(g0)_.disableBrotli?k0.info("Brotli compression disabled by user request"):(o0.message(`Using .br extension for compatible files (updater ${c0} >= ${Lu})`),_.noBrotliPatterns&&k0.info(`Files matching patterns (${_.noBrotliPatterns}) will be excluded from brotli compression`),k0.info(`Files smaller than ${pq} bytes will be excluded from brotli compression (Brotli RFC minimum)`));else{if(_.disableBrotli&&k0.warn(`--disable-brotli option has no effect with updater version ${c0||"unknown"} (requires ${Lu}+)`),_.noBrotliPatterns)throw new Error(`--no-brotli-patterns option requires updater version ${Lu} or higher, but you have ${c0||"unknown"}`);k0.info(`Using legacy compression (updater ${c0||"unknown"} < ${Lu})`)}let p0=r.filter(N0=>N0.file.includes(" "));if(p0.length>0)throw new Error(`Files with spaces in their names (${p0.map(N0=>N0.file).join(", ")}). Please rename the files.`);let E0=0,P0=r.length,F0=0;try{let N0=r.map(async Q0=>{let sx=(0,Yi.join)(a,Q0.file),J0=E10(Q0.file),Cx,z0=!1;if(!g0)Cx=await v10(sx,_);else if(_.disableBrotli)Cx=await(0,b7.buffer)((0,Wi.createReadStream)(sx)),z0=!1;else{let ee=await A10(sx,J0,_);Cx=ee.buffer,z0=ee.useBrotli}let yx=Cx;s&&(yx=r7(Cx,s.sessionKey,s.ivSessionKey));let $0=J0;z0&&($0=`${J0}.br`,F0++);let qx=C10($0),zx=`orgs/${e}/apps/${n}/delta/${Q0.hash}_${qx}`;return await g10(i0,zx)?(E0++,Promise.resolve({file_name:qx,s3_path:zx,file_hash:Q0.hash})):new Promise((ee,v0)=>{new hq.Upload(yx,{endpoint:`${i0.hostFilesApi}/files/upload/attachments/`,chunkSize:_.tusChunkSize,metadata:{filename:zx},headers:{Authorization:i},onError(L0){k0.info(`Failed to upload ${J0}: ${L0}`),v0(L0)},onProgress(){let L0=(E0/P0*100).toFixed(2);o0.message(`Uploading partial update: ${L0}%`)},onSuccess(){E0++,ee({file_name:qx,s3_path:zx,file_hash:Q0.hash})}}).start()})}),Y0=await Promise.all(N0),W0=((performance.now()-r0)/1e3).toFixed(2);return o0.stop(`Partial update uploaded successfully \u{1F4AA} in (${W0} seconds)`),F0>0&&k0.info(`${F0} of ${P0} files were compressed with brotli and use .br extension`),await u6(i,{channel:"app",event:`App Partial TUS done${F0>0?" with .br extension":""}`,icon:"\u23EB",user_id:e,tags:{"app-id":n},notify:!1}),await u6(i,{channel:"performance",event:"Partial upload performance",icon:"\u{1F684}",user_id:e,tags:{"app-id":n,time:W0},notify:!1}),Y0}catch(N0){let S0=((performance.now()-r0)/1e3).toFixed(2);return o0.stop(`Failed to upload Partial bundle (after ${S0} seconds)`),k0.info(`Error uploading partial update: ${N0}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}async function k10(i,r){let a=fi("",r.packageJson),n=r.bundle||i?.plugins?.CapacitorUpdater?.version||a||`0.0.1-beta.${(0,mq.randomUUID)().split("-")[0]}`;return H2.test(n)||(k0.error(`Your bundle name ${n}, is not valid it should follow semver convention : https://semver.org/`),ox.error("")),n}function S10(i){let r=i.apikey||ze();return r||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r}function F10(i,r,a){let n=We(i,a),o=r.path||a?.webDir;return n||(k0.error("Missing argument, you need to provide a appid or be in a capacitor project"),ox.error("")),o||(k0.error("Missing argument, you need to provide a path (--path), or be in a capacitor project"),ox.error("")),(0,no.existsSync)(o)||(k0.error(`Path ${o} does not exist, build your app first, or provide a valid path`),ox.error("")),{appid:n,path:o}}function O10(i,r){let a=i.codeCheck;(typeof a>"u"||a)&&(Iu(r,"notifyAppReady")||(k0.error(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
320
|
+
If you are sure your app has this code, you can use the --no-code-check option`),ox.error("")),r4(r)||(k0.error(`index.html is missing in the root folder of ${r}`),ox.error("")))}async function P10(i,r,a,n,o,e){let s=a.ignoreMetadataCheck,_=a.autoMinUpdateVersion,o0=a.minUpdateVersion,{data:r0,error:i0}=await i.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",n).eq("app_id",o).single(),c0=!!r0&&r0.disable_auto_update==="version_number",g0,p0;if(!i0&&r0&&r0.version&&r0.version.native_packages&&!s){let F0=x6();F0.start(`Checking bundle compatibility with channel ${n}`);let{finalCompatibility:N0,localDependencies:Y0}=await Pl(i,o,n,a.packageJson,a.nodeModules);if(p0=N0,g0=Y0,p0.find(S0=>!Ls(S0)))F0.stop(`Bundle NOT compatible with ${n} channel`),k0.warn(`You can check compatibility with "${r.runner} @capgo/cli bundle compatibility"`),_&&(o0=e,k0.info(`Auto set min-update-version to ${o0}`));else if(_)try{let{min_update_version:S0}=r0.version;(!S0||!H2.test(S0))&&(k0.error("Invalid remote min update version, skipping auto setting compatibility"),ox.error("")),o0=S0,F0.stop(`Auto set min-update-version to ${o0}`)}catch{k0.error(`Cannot auto set compatibility, invalid data ${r0}`),ox.error("")}else F0.stop(`Bundle compatible with ${n} channel`)}else s||(k0.warn(`Channel ${n} is new or it's your first upload with compatibility check, it will be ignored this time`),g0=await Cb(a.packageJson,a.nodeModules),_&&(o0=e,k0.info(`Auto set min-update-version to ${o0}`)));c0&&!o0&&!s&&(k0.error("You need to provide a min-update-version to upload a bundle to this channel"),ox.error("")),o0&&(H2.test(o0)||(k0.error(`Your minimal version update ${o0}, is not valid it should follow semver convention : https://semver.org/`),ox.error("")));let E0=g0?new Map(g0.filter(F0=>!!F0.native&&F0.native!==void 0).map(F0=>[F0.name,F0])):new Map;return{nativePackages:E0.size>0||!a.ignoreMetadataCheck?Array.from(E0,([F0,N0])=>({name:F0,version:N0.version})):void 0,minUpdateVersion:o0}}async function I10(i,r,a){let{data:n,error:o}=await i.rpc("is_trial_org",{orgid:r}).single();(n&&n>0||o)&&(k0.warn(`WARNING !!
|
|
321
|
+
Trial expires in ${n} days`),k0.warn(`Upgrade here: ${a.hostWeb}/dashboard/settings/plans?oid=${r}`))}async function B10(i,r,a,n=!1){let{data:o,error:e}=await i.rpc("exist_app_versions",{appid:r,apikey:"",name_version:a}).single();(o||e)&&(n&&(k0.warn(`Version ${a} already exists - exiting gracefully due to --silent-fail option`),Ae("Bundle version already exists - exiting gracefully \u{1F389}"),(0,g7.exit)(0)),k0.error(`Version ${a} already exists ${ge(e)}`),ox.error(""))}async function T10(i,r,a,n,o,e,s){let _,o0,r0="",i0=null,c0="none",g0="",p0=r.keyV2,E0=r.key===!1;i0=await Fl(i);let P0=x6();P0.start("Calculating checksum");let F0=(0,Yg.join)(pt((0,g7.cwd)()),ht),Y0=(await J6(void 0,r.packageJson||F0)).get("@capgo/capacitor-updater"),S0=!1,W0=(0,Kg.default)(Y0);if(Y0)W0?S0=(0,Xg.default)(W0.version,"7.0.0"):Y0==="link:@capgo/capacitor-updater"&&(k0.warn("Using local @capgo/capacitor-updater. Assuming v7"),S0=!0);else{k0.warn("Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work"),ox.error("");return}if((p0||r.keyDataV2||(0,no.existsSync)(ar))&&!E0||S0?r0=await(0,Wg.checksum)(i0,"sha256"):r0=await(0,Wg.checksum)(i0,"crc32"),P0.stop(`Checksum: ${r0}`),E0)k0.info("Encryption ignored");else if((p0||(0,no.existsSync)(ar)||r.keyDataV2)&&!r.oldEncryption){let J0=typeof p0=="string"?p0:ar,Cx=r.keyDataV2||"";!Cx&&!(0,no.existsSync)(J0)&&(k0.error(`Cannot find private key ${J0}`),ox.error("")),await u6(a,{channel:"app",event:"App encryption v2",icon:"\u{1F511}",user_id:n,tags:{"app-id":o},notify:!1}),Cx||(Cx=(0,no.readFileSync)(J0).toString()),k0.info("Encrypting your bundle with V2");let{sessionKey:z0,ivSessionKey:yx}=Xl(Cx),$0=r7(i0,z0,yx);r0=i7(r0,Cx),_=yx,o0=z0,c0="v2",g0=Cx,r.displayIvSession&&k0.info(`Your Iv Session key is ${_},
|
|
322
322
|
keep it safe, you will need it to decrypt your bundle.
|
|
323
323
|
It will be also visible in your dashboard
|
|
324
|
-
`),i0=$0}let Q0=Math.floor((i0?.byteLength??0)/1024/1024),sx=Math.floor(e/1024/1024);return i0?.byteLength>e?(k0.error(`The bundle size is ${Q0} Mb, this is greater than the maximum upload length ${sx} Mb, please reduce the size of your bundle`),
|
|
324
|
+
`),i0=$0}let Q0=Math.floor((i0?.byteLength??0)/1024/1024),sx=Math.floor(e/1024/1024);return i0?.byteLength>e?(k0.error(`The bundle size is ${Q0} Mb, this is greater than the maximum upload length ${sx} Mb, please reduce the size of your bundle`),ox.error("")):i0?.byteLength>s&&(k0.warn(`WARNING !!
|
|
325
325
|
The bundle size is ${Q0} Mb, this may take a while to download for users
|
|
326
326
|
`),k0.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
327
327
|
`),await u6(a,{channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":o},notify:!1})),{zipped:i0,ivSessionKey:_,sessionKey:o0,checksum:r0,encryptionMethod:c0,finalKeyData:g0}}async function R10(i,r,a,n,o,e,s,_){let o0=x6();o0.start("Uploading Bundle");let r0=performance.now(),i0=!1;if(s.dryUpload){o0.stop(`Dry run, bundle not uploaded
|
|
328
|
-
Bundle uploaded \u{1F4AA} in 0 seconds`);return}try{let p0=await Dr();if(s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?k0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):k0.info("Uploading bundle with TUS protocol"),await NN(i,e,o,a,n,o0,p0,_),i0=!0;let E0=`orgs/${o}/apps/${a}/${n}.zip`,{error:P0}=await r.from("app_versions").update({r2_path:E0}).eq("name",n).eq("app_id",a);if(P0)return k0.error(`Cannot finish TUS upload ${ge(P0)}`),Promise.reject(new Error("Cannot finish TUS upload"))}else{let E0=await TN(r,a,n);if(!E0)return k0.error("Cannot get upload url"),Promise.reject(new Error("Cannot get upload url"));await Yr.put(E0,{timeout:s.timeout||wN,retry:5,body:e,headers:{"Content-Type":"application/zip"}})}}catch(p0){let P0=((performance.now()-r0)/1e3).toFixed(2);if(o0.stop(`Failed to upload bundle ( after ${P0} seconds)`),p0 instanceof on)try{let F0=await p0.response.text();if(F0.startsWith("<?xml")){let N0=F0.match(/<Message>(.*?)<\/Message>/s),Y0=N0?N0[1]:"Unknown S3 error";k0.error(`S3 Upload Error: ${Y0}`)}else{let N0=JSON.parse(F0);k0.error(`Response Error: ${N0.error||N0.status||N0.message}`)}}catch{k0.error(`Upload failed with status ${p0.response.status}: ${p0.message}`)}else s.tus?k0.error(`Cannot upload bundle please contact support if the issue persists ${ge(p0)}`):k0.error(`Cannot upload bundle ( try again with --tus option) ${ge(p0)}`);await LN(r,a,n),cx.error("")}let g0=((performance.now()-r0)/1e3).toFixed(2);o0.stop(`Bundle uploaded \u{1F4AA} in (${g0} seconds)`),await u6(i,{channel:"performance",event:i0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:g0},notify:!1})}async function _10(i,r,a){let{data:n,error:o}=await i.from("channels").select("version ( id, name, deleted )").eq("app_id",r).eq("name",a);if(o){k0.error(`Cannot delete linked bundle on upload ${ge(o)}`);return}if(n.length===0){k0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){k0.warn("The linked bundle is already deleted");return}let{error:s}=await i.from("app_versions").update({deleted:!0}).eq("id",e.id);if(s){k0.error(`Cannot delete linked bundle on upload ${ge(s)}`);return}k0.info("Linked bundle deleted")}async function N10(i,r,a,n,o,e,s,_,o0,r0){let{data:i0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:_}).single();i0||(k0.warn("Cannot get version id, cannot set channel"),cx.error(""));let{data:c0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(c0){let{error:g0,data:p0}=await Ol(i,{name:o,app_id:_,created_by:e,version:i0,owner_org:s,...r0?{allow_device_self_set:!0}:{}});g0&&(k0.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${ge(g0)}`),cx.error(""));let E0=Ns(_),P0=`${o0.hostWeb}/app/p/${E0}/channel/${p0.id}`;p0?.public?k0.info("Your update is now available in your public channel \u{1F389}"):p0?.id&&k0.info(`Link device to this bundle to try it: ${P0}`),a?k0.info(`Bundle url: ${P0}`):i0||(k0.warn("Cannot set bundle with upload key, use key with more rights for that"),cx.error(""))}else k0.warn("The upload key is not allowed to set the version in the channel")}async function L10(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").single();if(n){k0.warn("Cannot find default upload channel");let e=Ns(i);return k0.info(`You can set it here: ${a}/app/p/${e}/settings`),null}return o.default_upload_channel}async function Jg(i,r,a=!0){Pe(`Uploading with CLI version ${Fr.version}`);let n,o=bt();await f6();let{s3Region:e,s3Apikey:s,s3Apisecret:_,s3BucketName:o0,s3Endpoint:r0,s3Port:i0,s3SSL:c0}=r,g0=S10(r),p0=await Te(),E0=await EN(),{appid:P0,path:F0}=F10(i,r,p0.config),N0=await k10(p0.config,r);r.autoSetBundle&&await bu({version:N0}),O10(r,F0),k0.info(`Upload ${P0}@${N0} started from path "${F0}" to Capgo cloud`);let Y0=await Dr();r.supaHost&&r.supaAnon&&(k0.info("Using custom supabase instance from provided options"),Y0.supaHost=r.supaHost,Y0.supaKey=r.supaAnon);let S0=await je(g0,r.supaHost,r.supaAnon),W0=await Ve(S0,g0,["write","all","upload"]),Q0=r.channel||await L10(P0,S0,Y0.hostWeb)||"dev",sx=await vr(S0,P0);await FN(S0,sx,Fr.version),await ON(S0,sx,g0,P0,!0),await I10(S0,sx,Y0);let{nativePackages:J0,minUpdateVersion:Cx}=await P10(S0,o,r,Q0,P0,N0);await B10(S0,P0,N0,r.versionExistsOk),r.external&&!r.external.startsWith("https://")&&(k0.error(`External link should should start with "https://" current is "${r.external}"`),cx.error("")),r.deleteLinkedBundleOnUpload&&(k0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),k0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let z0={name:N0,app_id:P0,session_key:void 0,external_url:r.external,storage_provider:r.external?"external":"r2-direct",min_update_version:Cx,native_packages:J0,owner_org:sx,user_id:W0,checksum:void 0,link:r.link||null,comment:r.comment||null},yx=null,$0="none",qx="";if(r.external)await u6(g0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:sx,tags:{"app-id":P0},notify:!1}),z0.session_key=r.ivSessionKey,z0.checksum=r.encryptedChecksum;else{let{zipped:R0,ivSessionKey:L0,checksum:q0,sessionKey:ix,encryptionMethod:_x,finalKeyData:kx}=await T10(F0,r,g0,sx,P0,E0.maxUploadLength,E0.alertUploadSize);z0.session_key=L0,z0.checksum=q0,n=ix,yx=R0,$0=_x,qx=kx,r.ignoreChecksumCheck||await HN(S0,P0,Q0,q0)}if(r.zip||!E0.TUSUpload||r.external?r.tus=!1:r.tus=r.tus||E0.TUSUploadForced,!E0.partialUpload||r.external?r.delta=!1:r.delta=r.partial||r.deltaOnly||r.partialOnly||E0.partialUploadForced,r.encryptPartial&&$0==="v1"&&(k0.error("You cannot encrypt the partial update if you are not using the v2 encryption method"),cx.error("")),r.delta&&$0==="v2"&&!r.encryptPartial){let R0=(0,Yg.join)(pt((0,g7.cwd)()),ht),q0=(await J6(void 0,r.packageJson||R0)).get("@capgo/capacitor-updater"),ix=(0,Kg.default)(q0);q0&&ix&&(0,Xg.default)(ix.version,"6.14.4")&&(k0.info(`Auto-enabling partial update encryption for updater version ${ix.version} (> 6.14.4)`),r.encryptPartial=!0)}let zx=r.delta?await bq(F0,g0,sx,P0,r.encryptPartial?$0:"none",qx):[],{error:ee}=await Eb(S0,z0);if(ee&&(k0.error(`Cannot add bundle ${ge(ee)}`),cx.error("")),r.tusChunkSize&&r.tusChunkSize>E0.maxChunkSize?(k0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${E0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=E0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=E0.maxChunkSize),yx&&(o0||r0||e||s||_||i0||c0)){(!o0||!r0||!e||!s||!_||!i0)&&(k0.error("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),cx.error("")),k0.info("Uploading to S3");let R0=c0?`https://${r0}`:`http://${r0}`,L0=new Pu({endPoint:r0,region:e,port:i0,pathStyle:!0,bucket:o0,accessKey:s,secretKey:_}),q0=`${P0}-${N0}`,ix=encodeURIComponent(q0);await L0.putObject(q0,Uint8Array.from(yx)),z0.external_url=`${R0}/${ix}`,z0.storage_provider="external"}else if(yx){!r.partialOnly&&!r.deltaOnly&&await R10(g0,S0,P0,N0,sx,yx,r,r.tusChunkSize);let R0=null;try{r.dryUpload&&(r.delta=!1);let q0=z0.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:z0.session_key}:void 0;R0=r.delta?await gq(g0,zx,F0,P0,N0,sx,q0,r):null}catch(q0){k0.info(`Failed to upload partial files to capgo cloud. Error: ${ge(q0)}. This is not a critical error, the bundle has been uploaded without the partial files`)}z0.storage_provider="r2",z0.manifest=R0;let{error:L0}=await Eb(S0,z0);L0&&(k0.error(`Cannot update bundle ${ge(L0)}`),cx.error(""))}let v0=await D6(S0,g0,P0,2);return r.deleteLinkedBundleOnUpload&&Db(v0,3)?await _10(S0,P0,Q0):r.deleteLinkedBundleOnUpload&&k0.warn("Cannot delete linked bundle on upload as a upload organization member"),Db(v0,3)?await N10(S0,g0,!!r.bundleUrl,N0,Q0,W0,sx,P0,Y0,r.selfAssign):k0.warn("Cannot set channel as a upload organization member"),await u6(g0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:sx,tags:{"app-id":P0},notify:!1}),a&&(Ae("Time to share your update to the world \u{1F30D}"),(0,g7.exit)()),!0}function M10(i){i.ivSessionKey&&!i.external&&(k0.error("You need to provide an external url if you want to use the --iv-session-key option"),cx.error("")),i.encryptedChecksum&&!i.external&&(k0.error("You need to provide an external url if you want to use the --encrypted-checksum option"),cx.error("")),(i.partial||i.delta||i.partialOnly||i.deltaOnly)&&i.external&&(k0.error("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url"),cx.error("")),i.tus&&i.external&&(k0.error("You cannot use the --tus option with an external url"),cx.error("")),i.dryUpload&&i.external&&(k0.error("You cannot use the --dry-upload option with an external url"),cx.error("")),i.multipart&&i.external&&(k0.error("You cannot use the --multipart option with an external url"),cx.error("")),i.external&&(i.keyV2||i.keyDataV2)&&(k0.error("You cannot set a key if you are uploading to an external url"),cx.error("")),i.keyV2&&i.keyDataV2&&(k0.error("You cannot set both key-v2 and key-data-v2"),cx.error("")),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&(k0.error("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),cx.error("")),i.encryptedChecksum&&!i.external&&(k0.error("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),cx.error("")),i.minUpdateVersion&&i.autoMinUpdateVersion&&(k0.error("You cannot set both min-update-version and auto-min-update-version, use only one of them"),cx.error(""))}async function yq(i,r){try{M10(r),await Jg(i,r,!0)}catch(a){k0.error(ge(a)),cx.error("")}}var wq=require("node:crypto"),m4=require("node:fs"),Dq=require("node:path"),y4=require("node:process");var Zg=Oe(nc());var vq=Oe(cu()),Aq=Oe(ts());var U10=20;async function Eq(i,r){try{let{bundle:a,path:n}=r,{json:o}=r;o||await f6();let e=await Te();i=We(i,e?.config);let s=(0,wq.randomUUID)().split("-")[0],_=fi("",r.packageJson);a=a||_||`0.0.1-beta.${s}`,o||Pe(`Zipping ${i}@${a}`),a&&!H2.test(a)&&(o?console.error(ge({error:"invalid_semver"})):k0.error(`Your bundle name ${a}, is not valid it should follow semver convention : https://semver.org/`),cx.error("")),n=n||e?.config?.webDir,(!i||!a||!n)&&(o?console.error(ge({error:"missing_argument"})):k0.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project"),cx.error("")),o||k0.info(`Started from path "${n}"`);let o0=r.codeCheck;(typeof o0>"u"||o0)&&(Iu(n,"notifyAppReady")||(o?console.error(ge({error:"notifyAppReady_not_in_source_code"})):k0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),cx.error("")),r4(n)||(o?console.error(ge({error:"index_html_not_found"})):k0.error(`index.html is missing in the root folder of ${n}`),cx.error("")));let r0=await Fl(n);o||k0.info(`Zipped ${r0.byteLength} bytes`);let i0=x6();o||i0.start("Calculating checksum");let c0="",g0=(0,Dq.join)(pt((0,y4.cwd)()),ht),E0=(await J6(void 0,r.packageJson||g0)).get("@capgo/capacitor-updater"),P0=!1,F0=(0,vq.default)(E0);if(E0)F0?P0=(0,Aq.default)(F0.version,"7.0.0"):E0==="link:@capgo/capacitor-updater"&&(k0.warn("Using local @capgo/capacitor-updater. Assuming v7"),P0=!0);else{k0.warn("Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work"),cx.error("");return}r.keyV2||(0,m4.existsSync)(ar)||P0?c0=await(0,Zg.checksum)(r0,"sha256"):c0=await(0,Zg.checksum)(r0,"crc32"),o||i0.stop(`Checksum: ${c0}`);let N0=Math.floor(r0.byteLength/1024/1024);N0>U10&&!o&&(k0.warn(`WARNING !!
|
|
328
|
+
Bundle uploaded \u{1F4AA} in 0 seconds`);return}try{let p0=await Dr();if(s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?k0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):k0.info("Uploading bundle with TUS protocol"),await NN(i,e,o,a,n,o0,p0,_),i0=!0;let E0=`orgs/${o}/apps/${a}/${n}.zip`,{error:P0}=await r.from("app_versions").update({r2_path:E0}).eq("name",n).eq("app_id",a);if(P0)return k0.error(`Cannot finish TUS upload ${ge(P0)}`),Promise.reject(new Error("Cannot finish TUS upload"))}else{let E0=await TN(r,a,n);if(!E0)return k0.error("Cannot get upload url"),Promise.reject(new Error("Cannot get upload url"));await Yr.put(E0,{timeout:s.timeout||wN,retry:5,body:e,headers:{"Content-Type":"application/zip"}})}}catch(p0){let P0=((performance.now()-r0)/1e3).toFixed(2);if(o0.stop(`Failed to upload bundle ( after ${P0} seconds)`),p0 instanceof on)try{let F0=await p0.response.text();if(F0.startsWith("<?xml")){let N0=F0.match(/<Message>(.*?)<\/Message>/s),Y0=N0?N0[1]:"Unknown S3 error";k0.error(`S3 Upload Error: ${Y0}`)}else{let N0=JSON.parse(F0);k0.error(`Response Error: ${N0.error||N0.status||N0.message}`)}}catch{k0.error(`Upload failed with status ${p0.response.status}: ${p0.message}`)}else s.tus?k0.error(`Cannot upload bundle please contact support if the issue persists ${ge(p0)}`):k0.error(`Cannot upload bundle ( try again with --tus option) ${ge(p0)}`);await LN(r,a,n),ox.error("")}let g0=((performance.now()-r0)/1e3).toFixed(2);o0.stop(`Bundle uploaded \u{1F4AA} in (${g0} seconds)`),await u6(i,{channel:"performance",event:i0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:g0},notify:!1})}async function _10(i,r,a){let{data:n,error:o}=await i.from("channels").select("version ( id, name, deleted )").eq("app_id",r).eq("name",a);if(o){k0.error(`Cannot delete linked bundle on upload ${ge(o)}`);return}if(n.length===0){k0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){k0.warn("The linked bundle is already deleted");return}let{error:s}=await i.from("app_versions").update({deleted:!0}).eq("id",e.id);if(s){k0.error(`Cannot delete linked bundle on upload ${ge(s)}`);return}k0.info("Linked bundle deleted")}async function N10(i,r,a,n,o,e,s,_,o0,r0){let{data:i0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:_}).single();i0||(k0.warn("Cannot get version id, cannot set channel"),ox.error(""));let{data:c0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(c0){let{error:g0,data:p0}=await Ol(i,{name:o,app_id:_,created_by:e,version:i0,owner_org:s,...r0?{allow_device_self_set:!0}:{}});g0&&(k0.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${ge(g0)}`),ox.error(""));let E0=Ns(_),P0=`${o0.hostWeb}/app/p/${E0}/channel/${p0.id}`;p0?.public?k0.info("Your update is now available in your public channel \u{1F389}"):p0?.id&&k0.info(`Link device to this bundle to try it: ${P0}`),a?k0.info(`Bundle url: ${P0}`):i0||(k0.warn("Cannot set bundle with upload key, use key with more rights for that"),ox.error(""))}else k0.warn("The upload key is not allowed to set the version in the channel")}async function L10(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").single();if(n){k0.warn("Cannot find default upload channel");let e=Ns(i);return k0.info(`You can set it here: ${a}/app/p/${e}/settings`),null}return o.default_upload_channel}async function Jg(i,r,a=!0){Pe(`Uploading with CLI version ${Fr.version}`);let n,o=bt();await f6();let{s3Region:e,s3Apikey:s,s3Apisecret:_,s3BucketName:o0,s3Endpoint:r0,s3Port:i0,s3SSL:c0}=r,g0=S10(r),p0=await Te(),E0=await EN(),{appid:P0,path:F0}=F10(i,r,p0.config),N0=await k10(p0.config,r);r.autoSetBundle&&await bu({version:N0}),O10(r,F0),k0.info(`Upload ${P0}@${N0} started from path "${F0}" to Capgo cloud`);let Y0=await Dr();r.supaHost&&r.supaAnon&&(k0.info("Using custom supabase instance from provided options"),Y0.supaHost=r.supaHost,Y0.supaKey=r.supaAnon);let S0=await je(g0,r.supaHost,r.supaAnon),W0=await Ve(S0,g0,["write","all","upload"]),Q0=r.channel||await L10(P0,S0,Y0.hostWeb)||"dev",sx=await vr(S0,P0);await FN(S0,sx,Fr.version),await ON(S0,sx,g0,P0,!0),await I10(S0,sx,Y0);let{nativePackages:J0,minUpdateVersion:Cx}=await P10(S0,o,r,Q0,P0,N0);await B10(S0,P0,N0,r.versionExistsOk),r.external&&!r.external.startsWith("https://")&&(k0.error(`External link should should start with "https://" current is "${r.external}"`),ox.error("")),r.deleteLinkedBundleOnUpload&&(k0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),k0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let z0={name:N0,app_id:P0,session_key:void 0,external_url:r.external,storage_provider:r.external?"external":"r2-direct",min_update_version:Cx,native_packages:J0,owner_org:sx,user_id:W0,checksum:void 0,link:r.link||null,comment:r.comment||null},yx=null,$0="none",qx="";if(r.external)await u6(g0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:sx,tags:{"app-id":P0},notify:!1}),z0.session_key=r.ivSessionKey,z0.checksum=r.encryptedChecksum;else{let{zipped:R0,ivSessionKey:L0,checksum:q0,sessionKey:ix,encryptionMethod:_x,finalKeyData:kx}=await T10(F0,r,g0,sx,P0,E0.maxUploadLength,E0.alertUploadSize);z0.session_key=L0,z0.checksum=q0,n=ix,yx=R0,$0=_x,qx=kx,r.ignoreChecksumCheck||await HN(S0,P0,Q0,q0)}if(r.zip||!E0.TUSUpload||r.external?r.tus=!1:r.tus=r.tus||E0.TUSUploadForced,!E0.partialUpload||r.external?r.delta=!1:r.delta=r.partial||r.deltaOnly||r.partialOnly||E0.partialUploadForced,r.encryptPartial&&$0==="v1"&&(k0.error("You cannot encrypt the partial update if you are not using the v2 encryption method"),ox.error("")),r.delta&&$0==="v2"&&!r.encryptPartial){let R0=(0,Yg.join)(pt((0,g7.cwd)()),ht),q0=(await J6(void 0,r.packageJson||R0)).get("@capgo/capacitor-updater"),ix=(0,Kg.default)(q0);q0&&ix&&(0,Xg.default)(ix.version,"6.14.4")&&(k0.info(`Auto-enabling partial update encryption for updater version ${ix.version} (> 6.14.4)`),r.encryptPartial=!0)}let zx=r.delta?await bq(F0,g0,sx,P0,r.encryptPartial?$0:"none",qx):[],{error:ee}=await Eb(S0,z0);if(ee&&(k0.error(`Cannot add bundle ${ge(ee)}`),ox.error("")),r.tusChunkSize&&r.tusChunkSize>E0.maxChunkSize?(k0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${E0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=E0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=E0.maxChunkSize),yx&&(o0||r0||e||s||_||i0||c0)){(!o0||!r0||!e||!s||!_||!i0)&&(k0.error("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),ox.error("")),k0.info("Uploading to S3");let R0=c0?`https://${r0}`:`http://${r0}`,L0=new Pu({endPoint:r0,region:e,port:i0,pathStyle:!0,bucket:o0,accessKey:s,secretKey:_}),q0=`${P0}-${N0}`,ix=encodeURIComponent(q0);await L0.putObject(q0,Uint8Array.from(yx)),z0.external_url=`${R0}/${ix}`,z0.storage_provider="external"}else if(yx){!r.partialOnly&&!r.deltaOnly&&await R10(g0,S0,P0,N0,sx,yx,r,r.tusChunkSize);let R0=null;try{r.dryUpload&&(r.delta=!1);let q0=z0.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:z0.session_key}:void 0;R0=r.delta?await gq(g0,zx,F0,P0,N0,sx,q0,r):null}catch(q0){k0.info(`Failed to upload partial files to capgo cloud. Error: ${ge(q0)}. This is not a critical error, the bundle has been uploaded without the partial files`)}z0.storage_provider="r2",z0.manifest=R0;let{error:L0}=await Eb(S0,z0);L0&&(k0.error(`Cannot update bundle ${ge(L0)}`),ox.error(""))}let v0=await D6(S0,g0,P0,2);return r.deleteLinkedBundleOnUpload&&Db(v0,3)?await _10(S0,P0,Q0):r.deleteLinkedBundleOnUpload&&k0.warn("Cannot delete linked bundle on upload as a upload organization member"),Db(v0,3)?await N10(S0,g0,!!r.bundleUrl,N0,Q0,W0,sx,P0,Y0,r.selfAssign):k0.warn("Cannot set channel as a upload organization member"),await u6(g0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:sx,tags:{"app-id":P0},notify:!1}),a&&(Ae("Time to share your update to the world \u{1F30D}"),(0,g7.exit)()),!0}function M10(i){i.ivSessionKey&&!i.external&&(k0.error("You need to provide an external url if you want to use the --iv-session-key option"),ox.error("")),i.encryptedChecksum&&!i.external&&(k0.error("You need to provide an external url if you want to use the --encrypted-checksum option"),ox.error("")),(i.partial||i.delta||i.partialOnly||i.deltaOnly)&&i.external&&(k0.error("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url"),ox.error("")),i.tus&&i.external&&(k0.error("You cannot use the --tus option with an external url"),ox.error("")),i.dryUpload&&i.external&&(k0.error("You cannot use the --dry-upload option with an external url"),ox.error("")),i.multipart&&i.external&&(k0.error("You cannot use the --multipart option with an external url"),ox.error("")),i.external&&(i.keyV2||i.keyDataV2)&&(k0.error("You cannot set a key if you are uploading to an external url"),ox.error("")),i.keyV2&&i.keyDataV2&&(k0.error("You cannot set both key-v2 and key-data-v2"),ox.error("")),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&(k0.error("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),ox.error("")),i.encryptedChecksum&&!i.external&&(k0.error("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),ox.error("")),i.minUpdateVersion&&i.autoMinUpdateVersion&&(k0.error("You cannot set both min-update-version and auto-min-update-version, use only one of them"),ox.error(""))}async function yq(i,r){try{M10(r),await Jg(i,r,!0)}catch(a){k0.error(ge(a)),ox.error("")}}var wq=require("node:crypto"),m4=require("node:fs"),Dq=require("node:path"),y4=require("node:process");var Zg=Oe(nc());var vq=Oe(cu()),Aq=Oe(ts());var U10=20;async function Eq(i,r){try{let{bundle:a,path:n}=r,{json:o}=r;o||await f6();let e=await Te();i=We(i,e?.config);let s=(0,wq.randomUUID)().split("-")[0],_=fi("",r.packageJson);a=a||_||`0.0.1-beta.${s}`,o||Pe(`Zipping ${i}@${a}`),a&&!H2.test(a)&&(o?console.error(ge({error:"invalid_semver"})):k0.error(`Your bundle name ${a}, is not valid it should follow semver convention : https://semver.org/`),ox.error("")),n=n||e?.config?.webDir,(!i||!a||!n)&&(o?console.error(ge({error:"missing_argument"})):k0.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project"),ox.error("")),o||k0.info(`Started from path "${n}"`);let o0=r.codeCheck;(typeof o0>"u"||o0)&&(Iu(n,"notifyAppReady")||(o?console.error(ge({error:"notifyAppReady_not_in_source_code"})):k0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),ox.error("")),r4(n)||(o?console.error(ge({error:"index_html_not_found"})):k0.error(`index.html is missing in the root folder of ${n}`),ox.error("")));let r0=await Fl(n);o||k0.info(`Zipped ${r0.byteLength} bytes`);let i0=x6();o||i0.start("Calculating checksum");let c0="",g0=(0,Dq.join)(pt((0,y4.cwd)()),ht),E0=(await J6(void 0,r.packageJson||g0)).get("@capgo/capacitor-updater"),P0=!1,F0=(0,vq.default)(E0);if(E0)F0?P0=(0,Aq.default)(F0.version,"7.0.0"):E0==="link:@capgo/capacitor-updater"&&(k0.warn("Using local @capgo/capacitor-updater. Assuming v7"),P0=!0);else{k0.warn("Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work"),ox.error("");return}r.keyV2||(0,m4.existsSync)(ar)||P0?c0=await(0,Zg.checksum)(r0,"sha256"):c0=await(0,Zg.checksum)(r0,"crc32"),o||i0.stop(`Checksum: ${c0}`);let N0=Math.floor(r0.byteLength/1024/1024);N0>U10&&!o&&(k0.warn(`WARNING !!
|
|
329
329
|
The bundle size is ${N0} Mb, this may take a while to download for users
|
|
330
330
|
`),k0.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
331
|
-
`));let Y0=x6(),S0=r.name||`${i}_${a}.zip`;o||Y0.start(`Saving to ${S0}`),(0,m4.writeFileSync)(S0,r0),o||Y0.stop(`Saved to ${S0}`),o||Ae("Done \u2705"),o&&console.log(JSON.stringify({bundle:a,filename:S0,checksum:c0},null,2)),(0,y4.exit)()}catch(a){k0.error(ge(a)),
|
|
332
|
-
${ge(r0.error)}`),
|
|
331
|
+
`));let Y0=x6(),S0=r.name||`${i}_${a}.zip`;o||Y0.start(`Saving to ${S0}`),(0,m4.writeFileSync)(S0,r0),o||Y0.stop(`Saved to ${S0}`),o||Ae("Done \u2705"),o&&console.log(JSON.stringify({bundle:a,filename:S0,checksum:c0},null,2)),(0,y4.exit)()}catch(a){k0.error(ge(a)),ox.error("")}}var Cq=require("node:process");async function $g(i,r,a,n=!0){Pe("Create channel");try{a.apikey=a.apikey||ze();let o=await Te().catch(()=>{});r=We(r,o?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let e=await je(a.apikey,a.supaHost,a.supaAnon);await Ve(e,a.apikey,["write","all"]),await D6(e,a.apikey,r,4),k0.info(`Creating channel ${r}#${i} to Capgo`);let s=await ag(e,r),_=await vr(e,r),o0=await Ve(e,a.apikey,["write","all"]);s||(k0.error("Cannot find default version for channel creation, please contact Capgo support \u{1F928}"),ox.error(""));let r0=await MM(e,{name:i,app_id:r,version:s.id,created_by:o0,owner_org:_,allow_device_self_set:a.selfAssign??!1});r0.error&&(k0.error(`Cannot create Channel \u{1F640}
|
|
332
|
+
${ge(r0.error)}`),ox.error("")),k0.success("Channel created \u2705"),await u6(a.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:_,tags:{"app-id":r,channel:i},notify:!1}).catch()}catch(o){return k0.error(`Cannot create Channel \u{1F640} ${ge(o)}`),!1}return n&&(Ae("Done \u2705"),(0,Cq.exit)()),!0}async function kq(i,r,a){$g(i,r,a,!0)}var Sq=require("node:process");async function Fq(i,r,a){let{quiet:n}=a;try{n||Pe("List current bundle"),a.apikey=a.apikey||ze(n);let o=await Te();r=We(r,o?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let e=await je(a.apikey,a.supaHost,a.supaAnon),s=await Ve(e,a.apikey,["write","all","read"]);await D6(e,a.apikey,r,1),i||(k0.error("Please provide a channel to get the bundle from."),ox.error(""));let{data:_,error:o0}=await e.from("channels").select("version ( name )").eq("name",i).eq("app_id",r).limit(1);(o0||_.length===0)&&(k0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),ox.error(""));let{version:r0}=_[0];r0||(k0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),ox.error("")),n?k0.info(r0.name):k0.info(`Current bundle for channel ${i} is ${r0.name}`),(0,Sq.exit)()}catch{k0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),ox.error("")}}var xm=require("node:process");async function Oq(i,r,a){Pe("Delete channel");try{a.apikey=a.apikey||ze();let n=await Te();r=We(r,n?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let o=await je(a.apikey,a.supaHost,a.supaAnon),e=await Ve(o,a.apikey,["all"]);if(await D6(o,a.apikey,r,4),a.deleteBundle){k0.info(`Deleting bundle ${r}#${i} from Capgo`);let c0=await GM(o,r,i);c0&&c0.name&&(k0.info(`Deleting bundle ${c0.name} from Capgo`),await sg(o,r,c0.name))}let{data:s,error:_}=await HM(o,r,i);(_||!s)&&(k0.error(`Channel ${i} not found`),a.successIfNotFound&&(k0.success(`Channel ${i} not found and successIfNotFound is true`),(0,xm.exit)()),ox.error(""));let{error:o0}=await qM(o,r,s.id);o0&&(k0.error(`Cannot delete channel devices: ${ge(o0)}`),ox.error("")),k0.info(`Deleting channel ${r}#${i} from Capgo`);let r0=await UM(o,i,r,e);r0.error&&(k0.error(`Cannot delete Channel \u{1F640} ${ge(r0.error)}`),ox.error(""));let i0=await vr(o,r);k0.success("Channel deleted"),await u6(a.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:i0,tags:{"app-id":r,channel:i},notify:!1}).catch()}catch(n){k0.error(`Cannot delete Channel \u{1F640} ${ge(n)}`)}Ae("Done \u2705"),(0,xm.exit)()}var Pq=require("node:process");async function Iq(i,r){Pe("List channels");try{r.apikey=r.apikey||ze();let a=await Te();i=We(i,a?.config),r.apikey||k0.error("Missing API key, you need to provide a API key to upload your bundle"),i||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let n=await je(r.apikey,r.supaHost,r.supaAnon),o=await Ve(n,r.apikey,["write","all","read","upload"]);await D6(n,r.apikey,i,1),k0.info("Querying available channels in Capgo");let e=await VM(n,i);k0.info(`Active channels in Capgo: ${e?.length}`),jM(e),await u6(r.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:o,tags:{"app-id":i},notify:!1}).catch(),Ae("Done \u2705"),(0,Pq.exit)()}catch{k0.error("Error listing channels"),ox.error("")}}var Tq=require("node:process");var Bq=["major","minor","metadata","patch","none"];async function Rq(i,r,a){Pe("Set channel");try{a.apikey=a.apikey||ze();let n=await Te();r=We(r,n?.config),a.apikey||(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),r||(k0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),ox.error(""));let o=await je(a.apikey,a.supaHost,a.supaAnon),e=await Ve(o,a.apikey,["write","all"]);await D6(o,a.apikey,r,4);let s=await vr(o,r),{bundle:_,state:o0,downgrade:r0,latest:i0,latestRemote:c0,ios:g0,android:p0,selfAssign:E0,disableAutoUpdate:P0,dev:F0,emulator:N0}=a;i||(k0.error("Missing argument, you need to provide a channel"),ox.error("")),i0&&_&&(k0.error("Cannot set latest and bundle at the same time"),ox.error("")),c0&&_&&(k0.error("Cannot set latest remote and bundle at the same time"),ox.error("")),c0&&i0&&(k0.error("Cannot set latest remote and latest at the same time"),ox.error("")),_==null&&o0==null&&i0==null&&c0==null&&r0==null&&g0==null&&p0==null&&E0==null&&F0==null&&N0==null&&P0==null&&(k0.error("Missing argument, you need to provide a option to set"),ox.error("")),await Sl(o,s,a.apikey,r);let Y0={created_by:e,app_id:r,name:i,owner_org:s,version:void 0},{error:S0}=await o.from("channels").select().eq("app_id",r).eq("name",i).single();S0&&(k0.error(`Cannot find channel ${i}`),ox.error(""));let W0=i0?n?.config?.plugins?.CapacitorUpdater?.version||fi("",a.packageJson):_;if(W0!=null){let{data:Q0,error:sx}=await o.from("app_versions").select().eq("app_id",r).eq("name",W0).eq("user_id",e).eq("deleted",!1).single();if((sx||!Q0)&&(k0.error(`Cannot find version ${W0}`),ox.error("")),!a.ignoreMetadataCheck){let{finalCompatibility:J0,localDependencies:Cx}=await kb(o,r,i,Q0.native_packages??[]),z0=bt();Cx.length>0&&J0.find(yx=>!Ls(yx))?(k0.warn(`Bundle NOT compatible with ${i} channel`),k0.warn(`You can check compatibility with "${z0.runner} @capgo/cli bundle compatibility"`),ox.error("")):Cx.length===0&&J0.length>0?k0.info(`Ignoring check compatibility with ${i} channel because the bundle does not contain any native packages`):k0.info(`Bundle is compatible with ${i} channel`)}k0.info(`Set ${r} channel: ${i} to @${W0}`),Y0.version=Q0.id}if(c0){let{data:Q0,error:sx}=await o.from("app_versions").select().eq("app_id",r).eq("user_id",e).eq("deleted",!1).order("created_at",{ascending:!1}).single();if((sx||!Q0)&&(k0.error("Cannot find latest remote version"),ox.error("")),!a.ignoreMetadataCheck){let{finalCompatibility:J0}=await kb(o,r,i,Q0.native_packages??[]),Cx=J0,z0=bt();Cx.find(yx=>!Ls(yx))&&(k0.warn(`Bundle NOT compatible with ${i} channel`),k0.warn(`You can check compatibility with "${z0.runner} @capgo/cli bundle compatibility"`),ox.error(""))}k0.info(`Set ${r} channel: ${i} to @${Q0.name}`),Y0.version=Q0.id}if(o0!=null&&(o0!=="normal"&&o0!=="default"&&(k0.error(`State ${o0} is not known. The possible values are: normal, default.`),ox.error("")),k0.info(`Set ${r} channel: ${i} to ${o0}`),Y0.public=o0==="default"),r0!=null&&(k0.info(`Set ${r} channel: ${i} to ${r0?"allow":"disallow"} downgrade`),Y0.disable_auto_update_under_native=!r0),g0!=null&&(k0.info(`Set ${r} channel: ${i} to ${g0?"allow":"disallow"} ios update`),Y0.ios=!!g0),p0!=null&&(k0.info(`Set ${r} channel: ${i} to ${p0?"allow":"disallow"} android update`),Y0.android=!!p0),E0!=null&&(k0.info(`Set ${r} channel: ${i} to ${E0?"allow":"disallow"} self assign to this channel`),Y0.allow_device_self_set=!!E0),F0!=null&&(k0.info(`Set ${r} channel: ${i} to ${F0?"allow":"disallow"} dev devices`),Y0.allow_dev=!!F0),N0!=null&&(k0.info(`Set ${r} channel: ${i} to ${N0?"allow":"disallow"} emulator devices`),Y0.allow_emulator=!!N0),P0!=null){let Q0=P0.toLocaleLowerCase();Bq.includes(Q0)||(k0.error(`Channel strategy ${Q0} is not known. The possible values are: ${Bq.join(", ")}.`),ox.error("")),Q0==="metadata"&&(Q0="version_number"),Y0.disable_auto_update=Q0,k0.info(`Set ${r} channel: ${i} to ${Q0} disable update strategy to this channel`)}try{let{error:Q0}=await Ol(o,Y0);Q0&&(k0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),ox.error(""))}catch{k0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),ox.error("")}await u6(a.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:s,tags:{"app-id":r},notify:!1}).catch()}catch(n){k0.error(`Unknow error ${ge(n)}`),ox.error("")}Ae("Done \u2705"),(0,Tq.exit)()}var mi=require("node:fs");function em(i){let r="\u{1F539}";return i.includes("upload")?r="\u2B06\uFE0F":i.includes("delete")?r="\u{1F5D1}\uFE0F":i.includes("list")?r="\u{1F4CB}":i.includes("add")?r="\u2795":i.includes("set")?r="\u2699\uFE0F":i.includes("create")?r="\u{1F528}":i.includes("encrypt")?r="\u{1F512}":i.includes("decrypt")?r="\u{1F513}":i.includes("debug")?r="\u{1F41E}":i.includes("doctor")?r="\u{1F468}\u200D\u2695\uFE0F":i.includes("login")?r="\u{1F511}":i.includes("init")?r="\u{1F680}":i.includes("compatibility")?r="\u{1F9EA}":i.includes("cleanup")?r="\u{1F9F9}":i.includes("currentBundle")?r="\u{1F4E6}":i.includes("setting")?r="\u2699\uFE0F":i==="app"?r="\u{1F4F1}":i==="bundle"?r="\u{1F4E6}":i==="channel"?r="\u{1F4E2}":i==="key"?r="\u{1F510}":i==="account"&&(r="\u{1F464}"),r}function _q(i="./README.md",r){let a=ox.commands.map(o=>{let e=o,s=e._actionHandler!==null&&e._actionHandler!==void 0,o0=o.commands&&o.commands.length>0&&!s;return{name:o.name(),alias:o.alias()||"",description:o.description(),options:o.options.map(r0=>({flags:r0.flags,description:r0.description||""})),subcommands:o.commands?o.commands.map(r0=>{let i0=r0,c0=i0._actionHandler!==null&&i0._actionHandler!==void 0;return{name:r0.name(),alias:r0.alias()||"",description:r0.description(),options:r0.options.map(g0=>({flags:g0.flags,description:g0.description||""})),subcommands:[],hasAction:c0,isCommandGroup:!1}}):[],hasAction:s,isCommandGroup:o0}}),n=(o,e=!1,s,_=!1)=>{let o0=o.name,r0=o0.charAt(0).toUpperCase()+o0.slice(1),i0;e?i0=s?`${s}-${o0}`:o0:i0=_?"options":o0;let c0=e?"###":"##",g0="",p0=em(o0);_&&!e||(g0+=`${c0} <a id="${i0}"></a> ${p0} **${r0}**
|
|
333
333
|
|
|
334
334
|
`),o.alias&&(g0+=`**Alias:** \`${o.alias}\`
|
|
335
335
|
|
|
@@ -376,7 +376,7 @@ sidebar:
|
|
|
376
376
|
`),i0.subcommands.forEach(c0=>{o+=n(c0,!0,i0.name)})),o+=`
|
|
377
377
|
`)});let e="<!-- AUTO-GENERATED-DOCS-START -->",s="<!-- AUTO-GENERATED-DOCS-END -->",_="";try{_=(0,mi.readFileSync)(i,"utf8")}catch{_=""}let o0=_.indexOf(e),r0=_.indexOf(s,o0);if(o0!==-1&&r0!==-1){let i0=_.substring(0,o0+e.length),c0=_.substring(r0),g0=`${i0}
|
|
378
378
|
${o}
|
|
379
|
-
${c0}`;(0,mi.writeFileSync)(i,g0,"utf8"),k0.success(`Documentation updated in ${i}`)}else(0,mi.writeFileSync)(i,o,"utf8"),k0.success(`Documentation written to ${i}`)}}var Hu=require("node:child_process"),g6=require("node:fs"),Nn=require("node:path"),d6=require("node:process");var A4=Oe(lc()),v4=Oe(Jq());var _t=require("node:fs");async function tl0(i,r=!0){r&&Pe("Save keys \u{1F511}");let a=await Te(),n=i.key||Ui,o=i.keyData||"";if(!(0,_t.existsSync)(n)&&!o)if(k0)k0.error(`Cannot find a public key at ${n} or as keyData option or in ${a.path}`),
|
|
379
|
+
${c0}`;(0,mi.writeFileSync)(i,g0,"utf8"),k0.success(`Documentation updated in ${i}`)}else(0,mi.writeFileSync)(i,o,"utf8"),k0.success(`Documentation written to ${i}`)}}var Hu=require("node:child_process"),g6=require("node:fs"),Nn=require("node:path"),d6=require("node:process");var A4=Oe(lc()),v4=Oe(Jq());var _t=require("node:fs");async function tl0(i,r=!0){r&&Pe("Save keys \u{1F511}");let a=await Te(),n=i.key||Ui,o=i.keyData||"";if(!(0,_t.existsSync)(n)&&!o)if(k0)k0.error(`Cannot find a public key at ${n} or as keyData option or in ${a.path}`),ox.error("");else return!1;else(0,_t.existsSync)(n)&&(o=(0,_t.readFileSync)(n).toString());if(o&&!o.startsWith("-----BEGIN RSA PUBLIC KEY-----"))if(k0)k0.error("the public key provided is not a valid RSA Public key"),ox.error("");else return!1;return a?.config&&(a.config.plugins||(a.config.plugins={extConfig:{},CapacitorUpdater:{}}),a.config.plugins.CapacitorUpdater||(a.config.plugins.CapacitorUpdater={}),a.config.plugins.CapacitorUpdater.privateKey&&(delete a.config.plugins.CapacitorUpdater.privateKey,k0.info("Old private key deleted from config file"),await n6({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"})&&(a.config.plugins.CapacitorUpdater.defaultChannel="encryption_v2")),a.config.plugins.CapacitorUpdater.publicKey=o,await Cn(a)),r&&(k0.success(`public key saved into ${a.path} file in local directory`),k0.success("your app will decode the zip archive with this key")),!0}async function rl0(i,r=!0){r&&Pe("Deleting old private key \u{1F5D1}\uFE0F");let a=await Te();if(a?.config?.plugins?.CapacitorUpdater?.privateKey){if(delete a.config.plugins.CapacitorUpdater.privateKey,await Cn(a),(0,_t.existsSync)(U2))try{(0,_t.unlinkSync)(U2),r&&k0.success(`Old private key file deleted: ${U2}`)}catch{r&&k0.error(`Failed to delete old private key file: ${U2}`)}if((0,_t.existsSync)(Cl))try{(0,_t.unlinkSync)(Cl),r&&k0.success(`Old public key file deleted: ${Cl}`)}catch{r&&k0.error(`Failed to delete old public key file: ${Ui}`)}return r&&k0.success(`Old private key deleted from ${a.path} file`),!0}else return r&&k0.info("No old private key found in config file"),!1}async function Zq(i){Pe("Save keys \u{1F511}"),await f6(),await tl0(i)}async function cm(i,r=!0){r&&Pe("Create keys \u{1F511}");let{publicKey:a,privateKey:n}=JM();if((0,_t.existsSync)(Ui)&&!i.force)if(k0.error("Public Key already exists, use --force to overwrite"),r)ox.error("");else return!1;if((0,_t.writeFileSync)(Ui,a),(0,_t.existsSync)(ar)&&!i.force)if(k0.error("Private Key already exists, use --force to overwrite"),r)ox.error("");else return!1;(0,_t.writeFileSync)(ar,n);let o=await Te();return o&&(o.config.plugins||(o.config.plugins={extConfig:{},CapacitorUpdater:{}}),o.config.plugins.CapacitorUpdater||(o.config.plugins.CapacitorUpdater={}),o.config.plugins.CapacitorUpdater.privateKey&&(delete o.config.plugins.CapacitorUpdater.privateKey,k0.info("Old private key deleted from config file"),await n6({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"})&&(o.config.plugins.CapacitorUpdater.defaultChannel="encryption_v2")),o.config.plugins.CapacitorUpdater.publicKey=a,Cn(o)),k0&&(k0.success("Your RSA key has been generated"),k0.success(`Private key saved in ${ar}`),k0.success("This key will be use to encrypt your bundle before sending it to Capgo"),k0.success("Keep it safe"),k0.success("Than make it unreadable by Capgo and unmodifiable by anyone"),k0.success(`Public key saved in ${o.path}`),k0.success("Your app will be the only one having it"),k0.success("Only your users can decrypt your update"),k0.success("Only you can send them an update"),Ae("Done \u2705")),!0}async function $q(i){await f6(),await cm(i)}async function xG(i){await f6(),await rl0(i)}var Xi=require("node:fs"),fm=require("node:os"),um=require("node:process");async function eG(){let i=(0,fm.homedir)();return(0,Xi.existsSync)(`${i}/.capgo`)||(0,Xi.existsSync)(".capgo")}async function dm(i,r,a=!0){if(a&&Pe("Login to Capgo"),!i)return a&&(k0.error("Missing API key, you need to provide a API key to upload your bundle"),ox.error("")),!1;await f6();try{let{local:n}=r;if(n)(0,Xi.existsSync)(".git")||(k0.error("To use local you should be in a git repository"),ox.error("")),(0,Xi.writeFileSync)(".capgo",`${i}
|
|
380
380
|
`),(0,Xi.appendFileSync)(".gitignore",`.capgo
|
|
381
381
|
`);else{let s=(0,fm.homedir)();(0,Xi.writeFileSync)(`${s}/.capgo`,`${i}
|
|
382
382
|
`)}let o=await je(i,r.supaHost,r.supaAnon),e=await Ve(o,i,["write","all","upload"]);await u6(i,{channel:"user-login",event:"User CLI login",icon:"\u2705",user_id:e,notify:!1}).catch(),k0.success(`login saved into .capgo file in ${n?"local":"home"} directory`)}catch{k0.error("Error while saving login"),(0,um.exit)(1)}return a&&(Ae("Done \u2705"),(0,um.exit)()),!0}async function tG(i,r){dm(i,r,!0)}var rG="import { CapacitorUpdater } from '@capgo/capacitor-updater'",D4="CapacitorUpdater.notifyAppReady()",il0=/import.*from.*/g,Mu="production",iG={stdio:"pipe"},Uu,ao;function nG(){Uu??=(0,g6.readdirSync)(v4.default.tmpdir).map(i=>({name:i,full:`${v4.default.tmpdir}/${i}`})).find(i=>i.name.startsWith("capgocli"))?.full??v4.default.fileSync({prefix:"capgocli"}).name}function wi(i,r){try{nG(),(0,g6.writeFileSync)(Uu,JSON.stringify(r?{step_done:i,pathToPackageJson:r}:{step_done:i,pathToPackageJson:ao})),r&&(ao=r)}catch(a){k0.error(`Cannot mark step as done in the CLI, error:
|
|
@@ -399,19 +399,19 @@ ${rG};
|
|
|
399
399
|
${D4};
|
|
400
400
|
`)}async function hl0(i,r,a){let o=(await J6()).get("@capacitor/core");o||k0.warn("Cannot find @capacitor/core in package.json. It is likely that you are using a monorepo. Please NOTE that encryption is not supported in Capacitor V5.");let e=bt(),s=await n6({message:`Automatic configure end-to-end encryption in ${a} updates?`});if(await Nr(s,i,r),s){if(o&&(0,A4.default)(o,"6.0.0")){k0.warn("Encryption is not supported in Capacitor V5.");return}let _=x6();_.start(`Running: ${e.runner} @capgo/cli@latest key create`),await cm({force:!0},!1)?_.stop("key created \u{1F511}"):(_.stop("Error"),k0.warn("Cannot create key \u274C"),Ae("Bye \u{1F44B}"),(0,d6.exit)(1)),Gi("onboarding-v2",i,r,"Use encryption v2",a)}await Lr(i,r,6,a)}async function pl0(i,r,a){let n=bt(),o=await n6({message:`Automatic build ${a} with "${n.pm} run build" ?`});if(await Nr(o,i,r),o){let e=x6(),s=await Ab(),_=await IN(s);e.start(`Running: ${n.pm} run ${_} && ${n.runner} cap sync`),(await AN())[_]||(e.stop("Error"),k0.warn(`Cannot find ${_} script in package.json, please add it and run \`capgo init\` again`),Ae("Bye \u{1F44B}"),(0,d6.exit)()),(0,Hu.execSync)(`${n.pm} run ${_} && ${n.runner} cap sync`,iG),e.stop("Build & Sync Done \u2705")}else k0.info(`Build yourself with command: ${n.pm} run build && ${n.runner} cap sync`);await Lr(i,r,7,a)}async function bl0(i,r,a){let n=bt(),o=await n6({message:`Automatic upload ${a} bundle to Capgo?`});if(await Nr(o,i,r),o){let e=x6(),s;e.start(`Running: ${n.runner} @capgo/cli@latest bundle upload`);let _=DN((0,d6.cwd)());ao&&_&&(k0.warn("You are most likely using a monorepo, please provide the path to your package.json file AND node_modules path folder when uploading your bundle"),k0.warn(`Example: ${n.runner} @capgo/cli@latest bundle upload --package-json ./packages/my-app/package.json --node-modules ./packages/my-app/node_modules`),s=(0,Nn.join)(pt((0,d6.cwd)()),"node_modules"),k0.warn(`Guessed node modules path at: ${s}`),(0,g6.existsSync)(s)||(k0.error("Node modules path does not exist, upload skipped"),Ae("Bye \u{1F44B}"),(0,d6.exit)(1))),await Jg(a,{channel:Mu,apikey:r,packageJson:_?ao:void 0,nodeModules:_?s:void 0},!1)?e.stop("Upload Done \u2705"):(e.stop("Error"),k0.warn("Upload failed \u274C"),Ae("Bye \u{1F44B}"),(0,d6.exit)())}else k0.info(`Upload yourself with command: ${n.runner} @capgo/cli@latest bundle upload`);await Lr(i,r,8,a)}async function gl0(i,r,a){let n=bt(),o=await n6({message:"Run in device now ?"});if(await Nr(o,i,r),o){let e=await jn({message:"Pick a platform to run your app",options:[{value:"ios",label:"IOS"},{value:"android",label:"Android"}]});K6(e)&&(Ae("Bye \u{1F44B}"),(0,d6.exit)());let s=e,_=x6();_.start(`Running: ${n.runner} cap run ${s}`),await(0,Hu.spawnSync)(n.runner,["cap","run",s],{stdio:"inherit"}),_.stop("Started Done \u2705")}else k0.info(`If you change your mind, run it for yourself with: ${n.runner} cap run <ios|android>`);await Lr(i,r,9,a)}async function ml0(i,r,a,n){let o=await n6({message:"Automatic check if update working in device ?"});if(await Nr(o,i,r),o)k0.info(`Wait logs sent to Capgo from ${a} device, Please open your app \u{1F4AA}`),await Kb("onboarding-v2",r,a,r,i);else{let e=Ns(a);k0.info(`Check logs in ${n}/app/p/${e}/logs to see if update works.`)}await Lr(i,r,10,a)}async function aG(i,r,a){let n=bt();Pe("Capgo onboarding \u{1F6EB}"),await f6();let o=!a.supaAnon||!a.supaHost?await Te():await bu({statsUrl:`${a.supaHost}/functions/v1/stats`,channelUrl:`${a.supaHost}/functions/v1/channel_self`,updateUrl:`${a.supaHost}/functions/v1/updates`,localApiFiles:`${a.supaHost}/functions/v1`,localS3:!0,localSupa:a.supaHost,localSupaAnon:a.supaAnon}),e=await Dr();r=We(r,o?.config),a.apikey=i||ze(),r===void 0&&(r=await bf({message:"Enter your appId:"}),K6(r)&&(Vn("Operation cancelled."),(0,d6.exit)(1)));let s=x6();(!eG()||i)&&(s.start(`Running: ${n.runner} @capgo/cli@latest login ***`),await dm(a.apikey,a,!1),s.stop("Login Done \u2705"));let _=await je(a.apikey,a.supaHost,a.supaAnon);await Ve(_,a.apikey,["upload","all","read","write"]);let o0=await G2(_,["admin","super_admin"]),r0=o0.gid,i0=await nl0(r0,a.apikey)??0;try{i0<1&&await Lr(r0,a.apikey,1,r),i0<2&&(await sl0(o0,a.apikey,r,a),wi(2)),i0<3&&(await ol0(r0,a.apikey,r),wi(3)),i0<4&&(await dl0(r0,a.apikey,r),wi(4)),i0<5&&(await ll0(r0,a.apikey,r),wi(5)),i0<6&&(await hl0(r0,a.apikey,r),wi(6)),i0<7&&(await pl0(r0,a.apikey,r),wi(7)),i0<8&&(await bl0(r0,a.apikey,r),wi(8)),i0<9&&(await gl0(r0,a.apikey,r),wi(9)),await ml0(r0,a.apikey,r,e.hostWeb),await Lr(r0,a.apikey,0,r),al0()}catch(c0){console.error(c0),k0.error(`Error during onboarding.
|
|
401
401
|
if the error persists please contact support@capgo.app
|
|
402
|
-
Or use manual installation: https://capgo.app/docs/plugin/cloud-mode/auto-update/`),(0,d6.exit)(1)}k0.info("Welcome onboard \u2708\uFE0F!"),k0.info("Your Capgo update system is setup"),k0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),k0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),Ae("Bye \u{1F44B}"),(0,d6.exit)()}async function sG(i){Pe("Getting user id"),i.apikey=i.apikey||ze();try{let r=await je(i.apikey,i.supaHost,i.supaAnon),a=await Ve(r,i.apikey,["read","all","write"]);Ae(`Done \u2705: ${a}`)}catch(r){k0.error(`Error getting user id ${ge(r)}`),
|
|
402
|
+
Or use manual installation: https://capgo.app/docs/plugin/cloud-mode/auto-update/`),(0,d6.exit)(1)}k0.info("Welcome onboard \u2708\uFE0F!"),k0.info("Your Capgo update system is setup"),k0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),k0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),Ae("Bye \u{1F44B}"),(0,d6.exit)()}async function sG(i){Pe("Getting user id"),i.apikey=i.apikey||ze();try{let r=await je(i.apikey,i.supaHost,i.supaAnon),a=await Ve(r,i.apikey,["read","all","write"]);Ae(`Done \u2705: ${a}`)}catch(r){k0.error(`Error getting user id ${ge(r)}`),ox.error("")}}ox.name(Fr.name).description("\u{1F4E6} Manage packages and bundle versions in Capgo Cloud").version(Fr.version,"-v, --version","output the current version");ox.command("init [apikey] [appId]").alias("i").description(`\u{1F680} Initialize a new app in Capgo Cloud with step-by-step guidance.
|
|
403
403
|
|
|
404
404
|
This includes adding code for updates, building, uploading your app, and verifying update functionality.
|
|
405
405
|
|
|
406
|
-
Example: npx @capgo/cli@latest init YOUR_API_KEY com.example.app`).action(aG).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");
|
|
406
|
+
Example: npx @capgo/cli@latest init YOUR_API_KEY com.example.app`).action(aG).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");ox.command("doctor").description(`\u{1F468}\u200D\u2695\uFE0F Check if your Capgo app installation is up-to-date and gather information useful for bug reports.
|
|
407
407
|
|
|
408
408
|
This command helps diagnose issues with your setup.
|
|
409
409
|
|
|
410
|
-
Example: npx @capgo/cli@latest doctor`).option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)").action(bM);
|
|
410
|
+
Example: npx @capgo/cli@latest doctor`).option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)").action(bM);ox.command("login [apikey]").alias("l").description(`\u{1F511} Save your Capgo API key to your machine or local folder for easier access to Capgo Cloud services.
|
|
411
411
|
|
|
412
412
|
Use --apikey=******** in any command to override it.
|
|
413
413
|
|
|
414
|
-
Example: npx @capgo/cli@latest login YOUR_API_KEY`).action(tG).option("--local","Only save in local folder, git ignored for security.").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");var Ln=
|
|
414
|
+
Example: npx @capgo/cli@latest login YOUR_API_KEY`).action(tG).option("--local","Only save in local folder, git ignored for security.").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");var Ln=ox.command("bundle").description("\u{1F4E6} Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.");Ln.command("upload [appId]").alias("u").description(`\u2B06\uFE0F Upload a new app bundle to Capgo Cloud for distribution, optionally linking to a channel or external URL.
|
|
415
415
|
|
|
416
416
|
External option supports privacy concerns or large apps (>200MB) by storing only the link.
|
|
417
417
|
|
|
@@ -455,7 +455,7 @@ Useful for preparing bundles before encryption or upload.
|
|
|
455
455
|
|
|
456
456
|
The command will return the checksum of the zip file, you can use it to encrypt the zip file with the --key-v2 option.
|
|
457
457
|
|
|
458
|
-
Example: npx @capgo/cli@latest bundle zip com.example.app --path ./dist`).action(Eq).option("-p, --path <path>","Path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-b, --bundle <bundle>","Bundle version number to name the zip file").option("-n, --name <name>","Name of the zip file").option("-j, --json","Output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in source code and index present in root folder").option("--key-v2","Use encryption v2").option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)");var w7=
|
|
458
|
+
Example: npx @capgo/cli@latest bundle zip com.example.app --path ./dist`).action(Eq).option("-p, --path <path>","Path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-b, --bundle <bundle>","Bundle version number to name the zip file").option("-n, --name <name>","Name of the zip file").option("-j, --json","Output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in source code and index present in root folder").option("--key-v2","Use encryption v2").option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)");var w7=ox.command("app").description("\u{1F4F1} Manage your Capgo app settings and configurations in Capgo Cloud.");w7.command("add [appId]").alias("a").description(`\u2795 Add a new app to Capgo Cloud with a unique app ID in the format com.test.app.
|
|
459
459
|
|
|
460
460
|
All options can be guessed from config if not provided.
|
|
461
461
|
|
|
@@ -475,7 +475,7 @@ Example: npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChann
|
|
|
475
475
|
|
|
476
476
|
Retention of 0 means infinite storage.
|
|
477
477
|
|
|
478
|
-
Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(DM).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>","API key to link to your account").option("-r, --retention <retention>","Retention period of app bundle in days, 0 by default = infinite").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");var qu=
|
|
478
|
+
Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(DM).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>","API key to link to your account").option("-r, --retention <retention>","Retention period of app bundle in days, 0 by default = infinite").option("--supa-host <supaHost>","Supabase host URL for custom setups").option("--supa-anon <supaAnon>","Supabase anon token for custom setups");var qu=ox.command("channel").description("\u{1F4E2} Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.");qu.command("add [channelId] [appId]").alias("a").description(`\u2795 Create a new channel for app distribution in Capgo Cloud to manage update delivery.
|
|
479
479
|
|
|
480
480
|
Example: npx @capgo/cli@latest channel add production com.example.app --default`).action(kq).option("-d, --default","Set the channel as default").option("--self-assign","Allow device to self-assign to this channel").option("-a, --apikey <apikey>","API key to link to your account").option("--supa-host <supaHost>","Supabase host URL, for self-hosted Capgo or testing").option("--supa-anon <supaAnon>","Supabase anon token, for self-hosted Capgo or testing");qu.command("delete [channelId] [appId]").alias("d").description(`\u{1F5D1}\uFE0F Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
|
|
481
481
|
|
|
@@ -487,7 +487,7 @@ Example: npx @capgo/cli@latest channel currentBundle production com.example.app`
|
|
|
487
487
|
|
|
488
488
|
One channel must be default.
|
|
489
489
|
|
|
490
|
-
Example: npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default`).action(Rq).option("-a, --apikey <apikey>","API key to link to your account").option("-b, --bundle <bundle>","Bundle version number of the file to set").option("-s, --state <state>","Set the state of the channel, default or normal").option("--latest-remote","Get the latest bundle uploaded in capgo cloud and set it to the channel").option("--latest","Get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--ios","Allow sending update to iOS devices").option("--no-ios","Disable sending update to iOS devices").option("--android","Allow sending update to Android devices").option("--no-android","Disable sending update to Android devices").option("--self-assign","Allow device to self-assign to this channel").option("--no-self-assign","Disable devices to self-assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Disable auto update strategy for this channel. The possible options are: major, minor, metadata, patch, none").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices").option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)").option("--ignore-metadata-check","Ignore checking node_modules compatibility if present in the bundle").option("--supa-host <supaHost>","Supabase host URL, for self-hosted Capgo or testing").option("--supa-anon <supaAnon>","Supabase anon token, for self-hosted Capgo or testing");var lm=
|
|
490
|
+
Example: npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default`).action(Rq).option("-a, --apikey <apikey>","API key to link to your account").option("-b, --bundle <bundle>","Bundle version number of the file to set").option("-s, --state <state>","Set the state of the channel, default or normal").option("--latest-remote","Get the latest bundle uploaded in capgo cloud and set it to the channel").option("--latest","Get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--ios","Allow sending update to iOS devices").option("--no-ios","Disable sending update to iOS devices").option("--android","Allow sending update to Android devices").option("--no-android","Disable sending update to Android devices").option("--self-assign","Allow device to self-assign to this channel").option("--no-self-assign","Disable devices to self-assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Disable auto update strategy for this channel. The possible options are: major, minor, metadata, patch, none").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices").option("--package-json <packageJson>","A list of paths to package.json. Useful for monorepos (comma separated ex: ../../package.json,./package.json)").option("--ignore-metadata-check","Ignore checking node_modules compatibility if present in the bundle").option("--supa-host <supaHost>","Supabase host URL, for self-hosted Capgo or testing").option("--supa-anon <supaAnon>","Supabase anon token, for self-hosted Capgo or testing");var lm=ox.command("key").description("\u{1F510} Manage encryption keys for secure bundle distribution in Capgo Cloud, supporting end-to-end encryption with RSA and AES combination.");lm.command("save").description(`\u{1F4BE} Save the public key in the Capacitor config, useful for CI environments.
|
|
491
491
|
|
|
492
492
|
Recommended not to commit the key for security.
|
|
493
493
|
|
|
@@ -503,9 +503,9 @@ The private key is used to encrypt the zip file in the CLI.
|
|
|
503
503
|
|
|
504
504
|
Example: npx @capgo/cli@latest key create`).action($q).option("-f, --force","Force generate a new one");lm.command("delete_old").description(`\u{1F9F9} Delete the old encryption key from the Capacitor config to ensure only the current key is used.
|
|
505
505
|
|
|
506
|
-
Example: npx @capgo/cli@latest key delete_old`).action(xG);var yl0=
|
|
506
|
+
Example: npx @capgo/cli@latest key delete_old`).action(xG);var yl0=ox.command("account").description("\u{1F464} Manage your Capgo account details and retrieve information for support or collaboration.");yl0.command("id").description(`\u{1FAAA} Retrieve your account ID, safe to share for collaboration or support purposes in Discord or other platforms.
|
|
507
507
|
|
|
508
|
-
Example: npx @capgo/cli@latest account id`).action(sG).option("-a, --apikey <apikey>","API key to link to your account");
|
|
508
|
+
Example: npx @capgo/cli@latest account id`).action(sG).option("-a, --apikey <apikey>","API key to link to your account");ox.command("generate-docs [filePath]").description("Generate Markdown documentation for CLI commands - either for README or individual files").option("--folder <folderPath>","Generate individual markdown files for each command in the specified folder (instead of updating README)").action((i,r)=>{_q(i,r.folder)});ox.parseAsync();
|
|
509
509
|
/*! Bundled license information:
|
|
510
510
|
|
|
511
511
|
safe-buffer/index.js:
|