@capgo/cli 7.1.19 → 7.1.20
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 +13 -13
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -211,8 +211,8 @@ GFS4: `),console.error(i)});E6[tt]||(kN=global[tt]||[],FN(E6,kN),E6.close=functi
|
|
|
211
211
|
`),new Ux("",uc0,""),new Ux("",he,"]"),new Ux("",he," for "),new Ux("",gc0,""),new Ux("",cc0,""),new Ux("",he," a "),new Ux("",he," that "),new Ux(" ",T6,""),new Ux("",he,". "),new Ux(".",he,""),new Ux(" ",he,", "),new Ux("",mc0,""),new Ux("",he," with "),new Ux("",he,"'"),new Ux("",he," from "),new Ux("",he," by "),new Ux("",wc0,""),new Ux("",yc0,""),new Ux(" the ",he,""),new Ux("",fc0,""),new Ux("",he,". The "),new Ux("",N6,""),new Ux("",he," on "),new Ux("",he," as "),new Ux("",he," is "),new Ux("",hc0,""),new Ux("",RL,"ing "),new Ux("",he,`
|
|
212
212
|
`),new Ux("",he,":"),new Ux(" ",he,". "),new Ux("",he,"ed "),new Ux("",vc0,""),new Ux("",Dc0,""),new Ux("",lc0,""),new Ux("",he,"("),new Ux("",T6,", "),new Ux("",pc0,""),new Ux("",he," at "),new Ux("",he,"ly "),new Ux(" the ",he," of "),new Ux("",dc0,""),new Ux("",NL,""),new Ux(" ",T6,", "),new Ux("",T6,'"'),new Ux(".",he,"("),new Ux("",N6," "),new Ux("",T6,'">'),new Ux("",he,'="'),new Ux(" ",he,"."),new Ux(".com/",he,""),new Ux(" the ",he," of the "),new Ux("",T6,"'"),new Ux("",he,". This "),new Ux("",he,","),new Ux(".",he," "),new Ux("",T6,"("),new Ux("",T6,"."),new Ux("",he," not "),new Ux(" ",he,'="'),new Ux("",he,"er "),new Ux(" ",N6," "),new Ux("",he,"al "),new Ux(" ",N6,""),new Ux("",he,"='"),new Ux("",N6,'"'),new Ux("",T6,". "),new Ux(" ",he,"("),new Ux("",he,"ful "),new Ux(" ",T6,". "),new Ux("",he,"ive "),new Ux("",he,"less "),new Ux("",N6,"'"),new Ux("",he,"est "),new Ux(" ",T6,"."),new Ux("",N6,'">'),new Ux(" ",he,"='"),new Ux("",T6,","),new Ux("",he,"ize "),new Ux("",N6,"."),new Ux("\xC2\xA0",he,""),new Ux(" ",he,","),new Ux("",T6,'="'),new Ux("",N6,'="'),new Ux("",he,"ous "),new Ux("",N6,", "),new Ux("",T6,"='"),new Ux(" ",T6,","),new Ux(" ",N6,'="'),new Ux(" ",N6,", "),new Ux("",N6,","),new Ux("",N6,"("),new Ux("",N6,". "),new Ux(" ",N6,"."),new Ux("",N6,"='"),new Ux(" ",N6,". "),new Ux(" ",T6,'="'),new Ux(" ",N6,"='"),new Ux(" ",T6,"='")];R4.kTransforms=du;R4.kNumTransforms=du.length;function _L(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)}R4.transformDictionaryWord=function(i,r,a,n,o){var e=du[o].prefix,s=du[o].suffix,j=du[o].transform,o0=j<Hb?0:j-(Hb-1),a0=0,s0=r,c0;o0>n&&(o0=n);for(var A0=0;A0<e.length;)i[r++]=e[A0++];for(a+=o0,n-=o0,j<=NL&&(n-=j),a0=0;a0<n;a0++)i[r++]=oc0.dictionary[a+a0];if(c0=r-n,j===T6)_L(i,c0);else if(j===N6)for(;n>0;){var b0=_L(i,c0);c0+=b0,n-=b0}for(var C0=0;C0<s.length;)i[r++]=s[C0++];return r-s0}});var zb=T0(M4=>{var jL=Nb().BrotliInput,Ac0=Nb().BrotliOutput,Vo=FL(),jo=Mb(),M6=Ub().HuffmanCode,VL=Ub().BrotliBuildHuffmanTable,Go=IL(),fn=TL(),LL=ML(),Ec0=8,UL=16,Cc0=256,kc0=704,Sc0=26,qL=6,HL=2,jb=8,Fc0=255,dn=1080,Vb=18,Oc0=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),Qb=16,Pc0=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),Bc0=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),Ic0=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 QL(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 zL(i){if(i.readBits(1)){var r=i.readBits(3);return r===0?1:i.readBits(r)+(1<<r)}return 0}function Tc0(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function YL(i){var r=new Tc0,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 Qo(i,r,a){var n=r,o;return a.fillBitWindow(),r+=a.val_>>>a.bit_pos_&Fc0,o=i[r].bits-jb,o>0&&(a.bit_pos_+=jb,r+=i[r].value,r+=a.val_>>>a.bit_pos_&(1<<o)-1),a.bit_pos_+=i[r].bits,i[r].value}function Rc0(i,r,a,n){for(var o=0,e=Ec0,s=0,j=0,o0=32768,a0=[],s0=0;s0<32;s0++)a0.push(new M6(0,0));for(VL(a0,0,5,i,Vb);o<r&&o0>0;){var c0=0,A0;if(n.readMoreInput(),n.fillBitWindow(),c0+=n.val_>>>n.bit_pos_&31,n.bit_pos_+=a0[c0].bits,A0=a0[c0].value&255,A0<UL)s=0,a[o++]=A0,A0!==0&&(e=A0,o0-=32768>>A0);else{var b0=A0-14,C0,R0,I0=0;if(A0===UL&&(I0=e),j!==I0&&(s=0,j=I0),C0=s,s>0&&(s-=2,s<<=b0),s+=n.readBits(b0)+3,R0=s-C0,o+R0>r)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var U0=0;U0<R0;U0++)a[o+U0]=j;o+=R0,j!==0&&(o0-=R0<<15-j)}}if(o0!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+o0);for(;o<r;o++)a[o]=0}function N4(i,r,a,n){var o=0,e,s=new Uint8Array(i);if(n.readMoreInput(),e=n.readBits(2),e===1){for(var j,o0=i-1,a0=0,s0=new Int32Array(4),c0=n.readBits(2)+1;o0;)o0>>=1,++a0;for(j=0;j<c0;++j)s0[j]=n.readBits(a0)%i,s[s0[j]]=2;switch(s[s0[0]]=1,c0){case 1:break;case 3:if(s0[0]===s0[1]||s0[0]===s0[2]||s0[1]===s0[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(s0[0]===s0[1])throw new Error("[ReadHuffmanCode] invalid symbols");s[s0[1]]=1;break;case 4:if(s0[0]===s0[1]||s0[0]===s0[2]||s0[0]===s0[3]||s0[1]===s0[2]||s0[1]===s0[3]||s0[2]===s0[3])throw new Error("[ReadHuffmanCode] invalid symbols");n.readBits(1)?(s[s0[2]]=3,s[s0[3]]=3):s[s0[0]]=2;break}}else{var j,A0=new Uint8Array(Vb),b0=32,C0=0,R0=[new M6(2,0),new M6(2,4),new M6(2,3),new M6(3,2),new M6(2,0),new M6(2,4),new M6(2,3),new M6(4,1),new M6(2,0),new M6(2,4),new M6(2,3),new M6(3,2),new M6(2,0),new M6(2,4),new M6(2,3),new M6(4,5)];for(j=e;j<Vb&&b0>0;++j){var I0=Oc0[j],U0=0,Z0;n.fillBitWindow(),U0+=n.val_>>>n.bit_pos_&15,n.bit_pos_+=R0[U0].bits,Z0=R0[U0].value,A0[I0]=Z0,Z0!==0&&(b0-=32>>Z0,++C0)}if(!(C0===1||b0===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");Rc0(A0,i,s,n)}if(o=VL(r,a,jb,s,i),o===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return o}function _4(i,r,a){var n,o;return n=Qo(i,r,a),o=fn.kBlockLengthPrefixCode[n].nbits,fn.kBlockLengthPrefixCode[n].offset+a.readBits(o)}function _c0(i,r,a){var n;return i<Qb?(a+=Pc0[i],a&=3,n=r[a]+Bc0[i]):n=i-Qb+1,n}function Nc0(i,r){for(var a=i[r],n=r;n;--n)i[n]=i[n-1];i[0]=a}function Mc0(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&&Nc0(a,o)}}function I2(i,r){this.alphabet_size=i,this.num_htrees=r,this.codes=new Array(r+r*Ic0[i+31>>>5]),this.htrees=new Uint32Array(r)}I2.prototype.decode=function(i){var r,a,n=0;for(r=0;r<this.num_htrees;++r)this.htrees[r]=n,a=N4(this.alphabet_size,this.codes,n,i),n+=a};function GL(i,r){var a={num_htrees:null,context_map:null},n,o=0,e,s;r.readMoreInput();var j=a.num_htrees=zL(r)+1,o0=a.context_map=new Uint8Array(i);if(j<=1)return a;for(n=r.readBits(1),n&&(o=r.readBits(4)+1),e=[],s=0;s<dn;s++)e[s]=new M6(0,0);for(N4(j+o,e,0,r),s=0;s<i;){var a0;if(r.readMoreInput(),a0=Qo(e,0,r),a0===0)o0[s]=0,++s;else if(a0<=o)for(var s0=1+(1<<a0)+r.readBits(a0);--s0;){if(s>=i)throw new Error("[DecodeContextMap] i >= context_map_size");o0[s]=0,++s}else o0[s]=a0-o,++s}return r.readBits(1)&&Mc0(o0,i),a}function Gb(i,r,a,n,o,e,s){var j=a*2,o0=a,a0=Qo(r,a*dn,s),s0;a0===0?s0=o[j+(e[o0]&1)]:a0===1?s0=o[j+(e[o0]-1&1)]+1:s0=a0-2,s0>=i&&(s0-=i),n[a]=s0,o[j+(e[o0]&1)]=s0,++e[o0]}function Lc0(i,r,a,n,o,e){var s=o+1,j=a&o,o0=e.pos_&Vo.IBUF_MASK,a0;if(r<8||e.bit_pos_+(r<<3)<e.bit_end_pos_){for(;r-- >0;)e.readMoreInput(),n[j++]=e.readBits(8),j===s&&(i.write(n,s),j=0);return}if(e.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;e.bit_pos_<32;)n[j]=e.val_>>>e.bit_pos_,e.bit_pos_+=8,++j,--r;if(a0=e.bit_end_pos_-e.bit_pos_>>3,o0+a0>Vo.IBUF_MASK){for(var s0=Vo.IBUF_MASK+1-o0,c0=0;c0<s0;c0++)n[j+c0]=e.buf_[o0+c0];a0-=s0,j+=s0,r-=s0,o0=0}for(var c0=0;c0<a0;c0++)n[j+c0]=e.buf_[o0+c0];if(j+=a0,r-=a0,j>=s){i.write(n,s),j-=s;for(var c0=0;c0<j;c0++)n[c0]=n[s+c0]}for(;j+r>=s;){if(a0=s-j,e.input_.read(n,j,a0)<a0)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");i.write(n,s),r-=a0,j=0}if(e.input_.read(n,j,r)<r)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");e.reset()}function Uc0(i){var r=i.bit_pos_+7&-8,a=i.readBits(r-i.bit_pos_);return a==0}function WL(i){var r=new jL(i),a=new Vo(r);QL(a);var n=YL(a);return n.meta_block_length}M4.BrotliDecompressedSize=WL;function qc0(i,r){var a=new jL(i);r==null&&(r=WL(i));var n=new Uint8Array(r),o=new Ac0(n);return KL(a,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer}M4.BrotliDecompressBuffer=qc0;function KL(i,r){var a,n=0,o=0,e=0,s,j=0,o0,a0,s0,c0,A0=[16,15,11,4],b0=0,C0=0,R0=0,I0=[new I2(0,0),new I2(0,0),new I2(0,0)],U0,Z0,F0,W0=128+Vo.READ_SIZE;F0=new Vo(i),e=QL(F0),s=(1<<e)-16,o0=1<<e,a0=o0-1,s0=new Uint8Array(o0+W0+jo.maxDictionaryWordLength),c0=o0,U0=[],Z0=[];for(var X0=0;X0<3*dn;X0++)U0[X0]=new M6(0,0),Z0[X0]=new M6(0,0);for(;!o;){var gx=0,tx,Qx=[1<<28,1<<28,1<<28],J0=[0],Ox=[1,1,1],Tx=[0,1,0,1,0,1],Xx=[0],ee,ue,S0,V0,M0=null,G0=null,nx,Nx=null,Ix,ne=0,Ax=null,Vx=0,Fe=0,Pe=null,Le=0,vt=0,Oi=0,Zt,gu;for(a=0;a<3;++a)I0[a].codes=null,I0[a].htrees=null;F0.readMoreInput();var Xo=YL(F0);if(gx=Xo.meta_block_length,n+gx>r.buffer.length){var z4=new Uint8Array(n+gx);z4.set(r.buffer),r.buffer=z4}if(o=Xo.input_end,tx=Xo.is_uncompressed,Xo.is_metadata){for(Uc0(F0);gx>0;--gx)F0.readMoreInput(),F0.readBits(8);continue}if(gx!==0){if(tx){F0.bit_pos_=F0.bit_pos_+7&-8,Lc0(r,gx,n,s0,a0,F0),n+=gx;continue}for(a=0;a<3;++a)Ox[a]=zL(F0)+1,Ox[a]>=2&&(N4(Ox[a]+2,U0,a*dn,F0),N4(Sc0,Z0,a*dn,F0),Qx[a]=_4(Z0,a*dn,F0),Xx[a]=1);for(F0.readMoreInput(),ee=F0.readBits(2),ue=Qb+(F0.readBits(4)<<ee),S0=(1<<ee)-1,V0=ue+(48<<ee),G0=new Uint8Array(Ox[0]),a=0;a<Ox[0];++a)F0.readMoreInput(),G0[a]=F0.readBits(2)<<1;var Y4=GL(Ox[0]<<qL,F0);nx=Y4.num_htrees,M0=Y4.context_map;var W4=GL(Ox[2]<<HL,F0);for(Ix=W4.num_htrees,Nx=W4.context_map,I0[0]=new I2(Cc0,nx),I0[1]=new I2(kc0,Ox[1]),I0[2]=new I2(V0,Ix),a=0;a<3;++a)I0[a].decode(F0);for(Ax=0,Pe=0,Zt=G0[J0[0]],vt=Go.lookupOffsets[Zt],Oi=Go.lookupOffsets[Zt+1],gu=I0[1].htrees[0];gx>0;){var Jo,M2,mu,ex,wu,Dx,it,vr,L2,bn,U2;for(F0.readMoreInput(),Qx[1]===0&&(Gb(Ox[1],U0,1,J0,Tx,Xx,F0),Qx[1]=_4(Z0,dn,F0),gu=I0[1].htrees[J0[1]]),--Qx[1],Jo=Qo(I0[1].codes,gu,F0),M2=Jo>>6,M2>=2?(M2-=2,it=-1):it=0,mu=fn.kInsertRangeLut[M2]+(Jo>>3&7),ex=fn.kCopyRangeLut[M2]+(Jo&7),wu=fn.kInsertLengthPrefixCode[mu].offset+F0.readBits(fn.kInsertLengthPrefixCode[mu].nbits),Dx=fn.kCopyLengthPrefixCode[ex].offset+F0.readBits(fn.kCopyLengthPrefixCode[ex].nbits),C0=s0[n-1&a0],R0=s0[n-2&a0],bn=0;bn<wu;++bn)F0.readMoreInput(),Qx[0]===0&&(Gb(Ox[0],U0,0,J0,Tx,Xx,F0),Qx[0]=_4(Z0,0,F0),ne=J0[0]<<qL,Ax=ne,Zt=G0[J0[0]],vt=Go.lookupOffsets[Zt],Oi=Go.lookupOffsets[Zt+1]),L2=Go.lookup[vt+C0]|Go.lookup[Oi+R0],Vx=M0[Ax+L2],--Qx[0],R0=C0,C0=Qo(I0[0].codes,I0[0].htrees[Vx],F0),s0[n&a0]=C0,(n&a0)===a0&&r.write(s0,o0),++n;if(gx-=wu,gx<=0)break;if(it<0){var L2;if(F0.readMoreInput(),Qx[2]===0&&(Gb(Ox[2],U0,2,J0,Tx,Xx,F0),Qx[2]=_4(Z0,2*dn,F0),Fe=J0[2]<<HL,Pe=Fe),--Qx[2],L2=(Dx>4?3:Dx-2)&255,Le=Nx[Pe+L2],it=Qo(I0[2].codes,I0[2].htrees[Le],F0),it>=ue){var Zo,xe,q2;it-=ue,xe=it&S0,it>>=ee,Zo=(it>>1)+1,q2=(2+(it&1)<<Zo)-4,it=ue+(q2+F0.readBits(Zo)<<ee)+xe}}if(vr=_c0(it,A0,b0),vr<0)throw new Error("[BrotliDecompress] invalid distance");if(n<s&&j!==s?j=n:j=s,U2=n&a0,vr>j)if(Dx>=jo.minDictionaryWordLength&&Dx<=jo.maxDictionaryWordLength){var q2=jo.offsetsByLength[Dx],yu=vr-j-1,Ar=jo.sizeBitsByLength[Dx],K4=(1<<Ar)-1,X4=yu&K4,Pi=yu>>Ar;if(q2+=X4*Dx,Pi<LL.kNumTransforms){var kx=LL.transformDictionaryWord(s0,U2,q2,Dx,Pi);if(U2+=kx,n+=kx,gx-=kx,U2>=c0){r.write(s0,o0);for(var j0=0;j0<U2-c0;j0++)s0[j0]=s0[c0+j0]}}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+vr+" len: "+Dx+" bytes left: "+gx)}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+vr+" len: "+Dx+" bytes left: "+gx);else{if(it>0&&(A0[b0&3]=vr,++b0),Dx>gx)throw new Error("Invalid backward reference. pos: "+n+" distance: "+vr+" len: "+Dx+" bytes left: "+gx);for(bn=0;bn<Dx;++bn)s0[n&a0]=s0[n-vr&a0],(n&a0)===a0&&r.write(s0,o0),++n,--gx}C0=s0[n-1&a0],R0=s0[n-2&a0]}n&=1073741823}}r.write(s0,n&a0)}M4.BrotliDecompress=KL;jo.init()});var JL=T0((em0,XL)=>{XL.exports=zb().BrotliDecompressBuffer});var xU=T0(L4=>{"use strict";L4.byteLength=Gc0;L4.toByteArray=Vc0;L4.fromByteArray=Yc0;var $r=[],lr=[],Hc0=typeof Uint8Array<"u"?Uint8Array:Array,Yb="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(T2=0,ZL=Yb.length;T2<ZL;++T2)$r[T2]=Yb[T2],lr[Yb.charCodeAt(T2)]=T2;var T2,ZL;lr[45]=62;lr[95]=63;function $L(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 Gc0(i){var r=$L(i),a=r[0],n=r[1];return(a+n)*3/4-n}function jc0(i,r,a){return(r+a)*3/4-a}function Vc0(i){var r,a=$L(i),n=a[0],o=a[1],e=new Hc0(jc0(i,n,o)),s=0,j=o>0?n-4:n,o0;for(o0=0;o0<j;o0+=4)r=lr[i.charCodeAt(o0)]<<18|lr[i.charCodeAt(o0+1)]<<12|lr[i.charCodeAt(o0+2)]<<6|lr[i.charCodeAt(o0+3)],e[s++]=r>>16&255,e[s++]=r>>8&255,e[s++]=r&255;return o===2&&(r=lr[i.charCodeAt(o0)]<<2|lr[i.charCodeAt(o0+1)]>>4,e[s++]=r&255),o===1&&(r=lr[i.charCodeAt(o0)]<<10|lr[i.charCodeAt(o0+1)]<<4|lr[i.charCodeAt(o0+2)]>>2,e[s++]=r>>8&255,e[s++]=r&255),e}function Qc0(i){return $r[i>>18&63]+$r[i>>12&63]+$r[i>>6&63]+$r[i&63]}function zc0(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(Qc0(n));return o.join("")}function Yc0(i){for(var r,a=i.length,n=a%3,o=[],e=16383,s=0,j=a-n;s<j;s+=e)o.push(zc0(i,s,s+e>j?j:s+e));return n===1?(r=i[a-1],o.push($r[r>>2]+$r[r<<4&63]+"==")):n===2&&(r=(i[a-2]<<8)+i[a-1],o.push($r[r>>10]+$r[r>>4&63]+$r[r<<2&63]+"=")),o.join("")}});var tU=T0((rm0,eU)=>{eU.exports="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"});var rU=T0((exports,module)=>{var b={},aa=JL(),ba=xU();b.readBinary=function(){var i=ba.toByteArray(tU());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+`
|
|
213
213
|
`)}),b.printErr||(b.printErr=function(i){process.stderr.write(i+`
|
|
214
|
-
`)}),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 j,o0;n<e;){var a0=i[n];if(typeof a0=="function"&&(a0=A.aa(a0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var s0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[s0>>0]=a0;break;case"i8":I[s0>>0]=a0;break;case"i16":J[s0>>1]=a0;break;case"i32":K[s0>>2]=a0;break;case"i64":H=[a0>>>0,(G=a0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[s0>>2]=H[0],K[s0+4>>2]=H[1];break;case"float":L[s0>>2]=a0;break;case"double":N[s0>>3]=a0;break;default:E("invalid type for setValue: "+c0)}o0!==o&&(j=A.D(o),o0=o),n+=j}}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(s0,c0,A0){c0=c0||1/0;var b0="",C0=[],R0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,R0=[];i[e]!=="E";)if(i[e]==="S"){e++;var I0=i.indexOf("_",e);R0.push(j[i.substring(e,I0)||0]||"?"),e=I0+1}else if(i[e]==="C")R0.push(R0[R0.length-1]),e+=2;else{var I0=parseInt(i.substr(e)),U0=I0.toString().length;if(!I0||!U0){e--;break}var Z0=i.substr(e+U0,I0);R0.push(Z0),j.push(Z0),e+=U0+I0}if(e++,R0=R0.join("::"),c0--,c0===0)return s0?[R0]:R0}else(i[e]==="K"||o0&&i[e]==="L")&&e++,(I0=parseInt(i.substr(e)))&&(U0=I0.toString().length,R0=i.substr(e+U0,I0),e+=U0+I0);o0=!1,i[e]==="I"?(e++,I0=r(!0),U0=r(!0,1,!0),b0+=U0[0]+" "+R0+"<"+I0.join(", ")+">"):b0=R0;x:for(;e<i.length&&0<c0--;)if(R0=i[e++],R0 in s)C0.push(s[R0]);else switch(R0){case"P":C0.push(r(!0,1,!0)[0]+"*");break;case"R":C0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,I0=i.indexOf("E",e)-e,C0.push(i.substr(e,I0)),e+=I0+2;break;case"A":if(I0=parseInt(i.substr(e)),e+=I0.toString().length,i[e]!=="_")throw"?";e++,C0.push(r(!0,1,!0)[0]+" ["+I0+"]");break;case"E":break x;default:b0+="?"+R0;break x}return A0||C0.length!==1||C0[0]!=="void"||(C0=[]),s0?(b0&&C0.push(b0+"?"),C0):b0+("("+C0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var a0=ia(i.length);ga(i.substr(1),a0);var n=ia(4),o=b.___cxa_demangle(a0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{a0&&pa(a0),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:"..."},j=[],o0=!0,a0=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()"}a0=r()}catch{a0+="?"}return 0<=a0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),a0}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 j=i.charCodeAt(s);if(55296<=j&&57343>=j&&(j=65536+((j&1023)<<10)|i.charCodeAt(++s)&1023),127>=j){if(e>=o)break;a[e++]=j}else{if(2047>=j){if(e+1>=o)break;a[e++]=192|j>>6}else{if(65535>=j){if(e+2>=o)break;a[e++]=224|j>>12}else{if(2097151>=j){if(e+3>=o)break;a[e++]=240|j>>18}else{if(67108863>=j){if(e+4>=o)break;a[e++]=248|j>>24}else{if(e+5>=o)break;a[e++]=252|j>>30,a[e++]=128|j>>24&63}a[e++]=128|j>>18&63}a[e++]=128|j>>12&63}a[e++]=128|j>>6&63}a[e++]=128|j&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),j=new i.Uint16Array(a),o0=new i.Uint32Array(a),a0=new i.Float32Array(a),s0=new i.Float64Array(a),c0=r.STACKTOP|0,A0=r.STACK_MAX|0,b0=r.tempDoublePtr|0,C0=r.ABORT|0,R0=r.cttz_i8|0,I0=0,U0=0,Z0=0,F0=0,W0=i.NaN,X0=i.Infinity,gx=0,tx=0,Qx=0,J0=0,Ox=0,Tx=0,Xx=0,ee=0,ue=0,S0=0,V0=0,M0=0,G0=0,nx=0,Nx=0,Ix=0,ne=0,Ax=0,Vx=0,Fe=i.Math.floor,Pe=i.Math.abs,Le=i.Math.sqrt,vt=i.Math.pow,Oi=i.Math.cos,Zt=i.Math.sin,gu=i.Math.tan,Xo=i.Math.acos,z4=i.Math.asin,Y4=i.Math.atan,W4=i.Math.atan2,Jo=i.Math.exp,M2=i.Math.log,mu=i.Math.ceil,ex=i.Math.imul,wu=i.Math.min,Dx=i.Math.clz32,it=r.abort,vr=r.assert,L2=r.invoke_vii,bn=r.invoke_iii,U2=r.__exit,Zo=r._pthread_self,xe=r._abort,q2=r.___setErrNo,yu=r._sysconf,Ar=r._sbrk,K4=r._time,X4=r._emscripten_memcpy_big,Pi=r._llvm_trap,kx=r._exit,j0=r.___assert_fail,Yu0=0;function H2(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0;for(p0=c0,c0=c0+16|0,w0=p0,e[w0>>2]=0,e[w0+4>>2]=0,e[w0+8>>2]=0,e[w0+12>>2]=0,y0=0,g0=0;f;)e0=e[h+(g0<<2)>>2]|0,e0?(y0>>>0<4&&(e[w0+(y0<<2)>>2]=g0),i0=y0+1|0,f=f-e0|0):i0=y0,y0=i0,g0=g0+1|0;if(y0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Sx(1,0,e0&7|0)|0,i0=S0,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]=i0,n[$+1>>0]=i0>>8,n[$+2>>0]=i0>>16,n[$+3>>0]=i0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,i0=e[w0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=wx(i0|0,0,l|0)|0,(k|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),g0=Sx(i0|0,0,$&7|0)|0,w0=S0,g0=e0|g0,k=f,y0=k,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>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+i0>>0]=0,o[w+(i0<<1)>>1]=0,c0=p0;return}for(Hx(d|0,0,g0|0)|0,l0=c+8|0,u0=Px[e[c>>2]&1](e[l0>>2]|0,g0<<4|8)|0,d0=u0,u0||kx(1),v0=1;;){f=g0,e0=d0;x:for(;;){do{if(!f)break x;f=f+-1|0,i0=e[h+(f<<2)>>2]|0}while((i0|0)==0);$=f&65535,i0>>>0<v0>>>0?(e[e0>>2]=v0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=i0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-d0|0,n0=f0>>3,t0=n0+1|0;x:do if(n0>>>0<13)for(_=1;;){if(_>>>0>=n0>>>0)break x;for(r0=u0+(_<<3)|0,x0=e[r0>>2]|0,r0=e[r0+4>>2]|0,$=_;f=$,$=$+-1|0,i0=u0+($<<3)|0,!!(lg(x0,e[i0>>2]|0)|0);)if(M=e[i0+4>>2]|0,q=u0+(f<<3)|0,e[q>>2]=e[i0>>2],e[q+4>>2]=M,!$){f=0;break}q=u0+(f<<3)|0,e[q>>2]=x0,e[q+4>>2]=r0,_=_+1|0}else for(M=n0>>>0<57?2:0;;){if((M|0)>=6)break x;for(f=e[19428+(M<<2)>>2]|0,q=f;!(q>>>0>=n0>>>0);){for($=u0+(q<<3)|0,i0=e[$>>2]|0,$=e[$+4>>2]|0,_=q;!(_>>>0<f>>>0||(x0=_-f|0,r0=u0+(x0<<3)|0,!(lg(i0,e[r0>>2]|0)|0)));)h0=r0,m0=e[h0+4>>2]|0,r0=u0+(_<<3)|0,e[r0>>2]=e[h0>>2],e[r0+4>>2]=m0,_=x0;h0=u0+(_<<3)|0,e[h0>>2]=i0,e[h0+4>>2]=$,q=q+1|0}M=M+1|0}while(!1);for(q=e0,i0=e0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=q+8|0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=0,$=t0,q=q+16|0,M=n0;!((M|0)<=1);)e0=e[u0+(i0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(_=$+1|0,f=e[u0+(_<<3)>>2]|0,r0=i0,x0=$):(r0=i0+1|0,e0=e[u0+(r0<<3)>>2]|0,_=$,x0=i0),e0>>>0>f>>>0?(i0=r0,$=_+1|0,e0=_):(f=e0,i0=r0+1|0,$=_,e0=r0),e[q+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[q+-4>>1]=x0,o[q+-2>>1]=e0,h0=q,e[h0>>2]=-1,e[h0+4>>2]=-1,q=q+8|0,M=M+-1|0;if(Rg((f0>>2)+-1|0,u0,d,14)|0)break;v0=v0<<1}if(yx[e[c+4>>2]&1](e[l0>>2]|0,u0),wn(d,g0,w),f0=e[p>>2]|0,t0=k+(f0>>>3)|0,n0=s[t0>>0]|0,f0=f0&7,y0>>>0>=5){h0=Sx(1431655764,255,f0|0)|0,e0=S0,h0=n0|h0,f=t0,M=f,n[M>>0]=h0,n[M+1>>0]=h0>>8,n[M+2>>0]=h0>>16,n[M+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,M=8;x:for(;;){for(;;){if(e0>>>0>=g0>>>0){f=114;break x}for(q=n[d+e0>>0]|0,_=1,i0=e0;i0=i0+1|0,!(i0>>>0>=g0>>>0||(n[d+i0>>0]|0)!=q<<24>>24);)_=_+1|0;if(e0=e0+_|0,q<<24>>24)break;if(r0=e[11564+(_<<2)>>2]|0,$=8+(_<<3)|0,i0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,h0=wx(i0|0,$|0,r0|0)|0,!((h0|0)==0&(S0|0)==0)){f=99;break x}h0=s[x0>>0]|0,c=Sx(i0|0,$|0,f&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,h0=(e[p>>2]|0)+r0|0,e[p>>2]=h0,f=h0}if(M<<24>>24==q<<24>>24)i0=_;else{if($=q&255,i0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,h0=wx($|0,0,i0&255|0)|0,!((h0|0)==0&(S0|0)==0)){f=103;break}m0=s[x0>>0]|0,w=Sx($|0,0,f&7|0)|0,h0=S0,w=m0|w,f=x0,m0=f,n[m0>>0]=w,n[m0+1>>0]=w>>8,n[m0+2>>0]=w>>16,n[m0+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)+(i0&255)|0,e[p>>2]=f,i0=_+-1|0}if(i0>>>0>=3){if(x0=i0+-3|0,i0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,r0=k+(f>>>3)|0,h0=wx($|0,x0|0,i0|0)|0,!((h0|0)==0&(S0|0)==0)){f=112;break}h0=s[r0>>0]|0,m0=Sx($|0,x0|0,f&7|0)|0,M=S0,m0=h0|m0,f=r0,h0=f,n[h0>>0]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>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,f=(e[p>>2]|0)+i0|0,e[p>>2]=f,M=q;continue}for(M=q&255,_=404394+M|0,M=14380+(M<<2)|0;;){if(!i0){M=q;continue x}if($=n[_>>0]|0,x0=e[M>>2]|0,r0=k+(f>>>3)|0,h0=wx(x0|0,0,$&255|0)|0,!((h0|0)==0&(S0|0)==0)){f=109;break x}h0=s[r0>>0]|0,c=Sx(x0|0,0,f&7|0)|0,m0=S0,c=h0|c,h0=r0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,h0=(e[p>>2]|0)+($&255)|0,e[p>>2]=h0,f=h0,i0=i0+-1|0}}if((f|0)==99)j0(406196,406218,54,406251);else if((f|0)==103)j0(406196,406218,54,406251);else if((f|0)==109)j0(406196,406218,54,406251);else if((f|0)==112)j0(406196,406218,54,406251);else if((f|0)==114){c0=p0;return}}for(h0=Sx(1,0,f0|0)|0,e0=S0,h0=n0|h0,f=t0,i0=f,n[i0>>0]=h0,n[i0+1>>0]=h0>>8,n[i0+2>>0]=h0>>16,n[i0+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=y0+-1|0,i0=k+(f>>>3)|0,(e0&-4|0)==0&!0||j0(406196,406218,54,406251),M=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,$=S0,h0=M|h0,M=i0,r0=M,n[r0>>0]=h0,n[r0+1>>0]=h0>>8,n[r0+2>>0]=h0>>16,n[r0+3>>0]=h0>>24,M=M+4|0,n[M>>0]=$,n[M+1>>0]=$>>8,n[M+2>>0]=$>>16,n[M+3>>0]=$>>24,M=(e[p>>2]|0)+2|0,e[p>>2]=M,$=y0+-1|0,r0=0;(r0|0)!=(y0|0);){for(x0=w0+(r0<<2)|0,f=r0;_=f+1|0,(f|0)!=($|0);){if(f=w0+(_<<2)|0,e0=e[f>>2]|0,i0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+i0>>0]|0)){f=_;continue}e[f>>2]=i0,e[x0>>2]=e0,f=_}r0=r0+1|0}switch(y0|0){case 2:{f=e[w0>>2]|0,e0=k+(M>>>3)|0,i0=s[e0>>0]|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),h0=Sx(f|0,0,M&7|0)|0,f=S0,h0=i0|h0,i0=e0,e0=i0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+3>>0]=f>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,e0=e[w0+4>>2]|0,f=k+(i0>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Sx(e0|0,0,i0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=p0;return}case 3:{f=e[w0>>2]|0,e0=k+(M>>>3)|0,i0=s[e0>>0]|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),f=Sx(f|0,0,M&7|0)|0,h0=S0,i0=i0|f,f=e0,e0=f,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,e0=S0,h0=m0|h0,f=i0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+3>>0]=e0>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,e0=e[w0+8>>2]|0,f=k+(i0>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Sx(e0|0,0,i0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=p0;return}default:{$=e[w0>>2]|0,f=k+(M>>>3)|0,e0=s[f>>0]|0,(wx($|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),h0=Sx($|0,0,M&7|0)|0,i0=S0,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]=i0,n[f+1>>0]=i0>>8,n[f+2>>0]=i0>>16,n[f+3>>0]=i0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,e0=S0,h0=m0|h0,f=i0,i0=f,n[i0>>0]=h0,n[i0+1>>0]=h0>>8,n[i0+2>>0]=h0>>16,n[i0+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,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,f=S0,h0=m0|h0,e0=i0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+3>>0]=f>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,f=e[w0+12>>2]|0,e0=k+(i0>>>3)|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[e0>>0]|0,y0=Sx(f|0,0,i0&7|0)|0,h0=S0,y0=m0|y0,m0=e0,w0=m0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,m0=m0+4|0,n[m0>>0]=h0,n[m0+1>>0]=h0>>8,n[m0+2>>0]=h0>>16,n[m0+3>>0]=h0>>24,m0=(e[p>>2]|0)+l|0,e[p>>2]=m0,h0=k+(m0>>>3)|0,l=s[h0>>0]|0,k=Sx((n[d+$>>0]|0)==1|0,0,m0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=p0;return}}}function dg(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0,_,M,q){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0,_=_|0,M=M|0,q=q|0;var t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0;for(ax=c0,c0=c0+2704|0,hx=ax+1800|0,Bx=ax+900|0,mx=ax,J4(k,l,M,q),z0=c+8|0,u0=Px[e[c>>2]&1](e[z0>>2]|0,11272)|0,u0||kx(1),q0=e[_>>2]|0,L0=e[_+8>>2]|0,l=e[_+12>>2]|0,K0=e[_+4>>2]|0,e[hx>>2]=256,e[hx+4>>2]=q0,e[hx+8>>2]=L0,e[hx+12>>2]=l,e[hx+16>>2]=K0,e[hx+20>>2]=1,e[hx+24>>2]=0,e[hx+880>>2]=0,K0?l=e[l>>2]|0:l=0,e[hx+884>>2]=l,e[hx+888>>2]=0,L0=hx+892|0,e[L0>>2]=0,K0=hx+896|0,e[K0>>2]=0,O0=e[_+24>>2]|0,N0=e[_+32>>2]|0,l=e[_+36>>2]|0,q0=e[_+28>>2]|0,e[Bx>>2]=704,e[Bx+4>>2]=O0,e[Bx+8>>2]=N0,e[Bx+12>>2]=l,e[Bx+16>>2]=q0,e[Bx+20>>2]=1,e[Bx+24>>2]=0,e[Bx+880>>2]=0,q0?l=e[l>>2]|0:l=0,e[Bx+884>>2]=l,e[Bx+888>>2]=0,N0=Bx+892|0,e[N0>>2]=0,q0=Bx+896|0,e[q0>>2]=0,k0=e[_+48>>2]|0,P0=e[_+56>>2]|0,l=e[_+60>>2]|0,O0=e[_+52>>2]|0,e[mx>>2]=e0+16+(48<<i0),e[mx+4>>2]=k0,e[mx+8>>2]=P0,e[mx+12>>2]=l,e[mx+16>>2]=O0,e[mx+20>>2]=1,e[mx+24>>2]=0,e[mx+880>>2]=0,O0?l=e[l>>2]|0:l=0,e[mx+884>>2]=l,e[mx+888>>2]=0,P0=mx+892|0,e[P0>>2]=0,O0=mx+896|0,e[O0>>2]=0,Z4(hx,u0,M,q),Z4(Bx,u0,M,q),Z4(mx,u0,M,q),l=e[M>>2]|0,t0=q+(l>>>3)|0,n0=s[t0>>0]|0,(i0&-4|0)==0&!0||j0(406196,406218,54,406251),f0=Sx(i0|0,0,l&7|0)|0,l=S0,n0=n0|f0,f0=t0,t0=f0,n[t0>>0]=n0,n[t0+1>>0]=n0>>8,n[t0+2>>0]=n0>>16,n[t0+3>>0]=n0>>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[M>>2]|0)+2|0,e[M>>2]=f0,l=e0>>>i0,t0=q+(f0>>>3)|0,n0=s[t0>>0]|0,(l&-16|0)==0&!0||j0(406196,406218,54,406251),k0=Sx(l|0,0,f0&7|0)|0,l=S0,k0=n0|k0,i0=t0,n[i0>>0]=k0,n[i0+1>>0]=k0>>8,n[i0+2>>0]=k0>>16,n[i0+3>>0]=k0>>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[M>>2]|0)+4|0,e[M>>2]=t0,l=($&-4|0)==0&!0,i0=0;!(i0>>>0>=(e[_>>2]|0)>>>0);){if(n0=q+(t0>>>3)|0,f0=s[n0>>0]|0,!l){l0=16;break}p0=Sx($|0,0,t0&7|0)|0,h0=S0,p0=f0|p0,k0=n0,m0=k0,n[m0>>0]=p0,n[m0+1>>0]=p0>>8,n[m0+2>>0]=p0>>16,n[m0+3>>0]=p0>>24,k0=k0+4|0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,k0=(e[M>>2]|0)+2|0,e[M>>2]=k0,t0=k0,i0=i0+1|0}for((l0|0)==16&&j0(406196,406218,54,406251),k0=_+76|0,l=e[k0>>2]|0,n0=_+92|0,t0=e[n0>>2]|0,l?pg(c,e[_+72>>2]|0,l,t0,u0,M,q):hg(t0,6,u0,M,q),h0=_+84|0,l=e[h0>>2]|0,e0=_+108|0,t0=e[e0>>2]|0,l?pg(c,e[_+80>>2]|0,l,t0,u0,M,q):hg(t0,2,u0,M,q),f0=e[_+88>>2]|0,n0=e[n0>>2]|0,i0=e[hx>>2]|0,l=ex(n0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[L0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[K0>>2]=l,l=f0,t0=0;(t0|0)!=(n0|0);)m0=ex(t0,i0)|0,Er(l+(t0*1040|0)|0,i0,u0,(e[L0>>2]|0)+m0|0,(e[K0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;for(n0=e[_+96>>2]|0,f0=e[_+100>>2]|0,i0=e[Bx>>2]|0,l=ex(f0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[N0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[q0>>2]=l,l=n0,t0=0;(t0|0)!=(f0|0);)m0=ex(t0,i0)|0,Er(l+(t0*2832|0)|0,i0,u0,(e[N0>>2]|0)+m0|0,(e[q0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;for(n0=e[_+104>>2]|0,f0=e[e0>>2]|0,i0=e[mx>>2]|0,l=ex(f0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[P0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[O0>>2]=l,l=n0,t0=0;(t0|0)!=(f0|0);)m0=ex(t0,i0)|0,Er(l+(t0*2096|0)|0,i0,u0,(e[P0>>2]|0)+m0|0,(e[O0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;m0=c+4|0,yx[e[m0>>2]&1](e[z0>>2]|0,u0),p0=_+80|0,w0=_+72|0,t0=w,l=p,y0=0;x:for(;;){if(y0>>>0>=r0>>>0){l0=87;break}c=e[x0+(y0<<4)>>2]|0,i0=e[x0+(y0<<4)+4>>2]|0,g0=e[x0+(y0<<4)+8>>2]|0,p=e[x0+(y0<<4)+12>>2]|0,w=p&65535,v0=p>>>16,d0=p&65535,$4(Bx,d0,M,q),_=i0&16777215,i0=_^i0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Dx(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Dx(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(i0>>>0<10)n0=i0+65534|0;else{if(i0>>>0<134){u0=i0+-6|0,n0=((Dx(u0|0)|0)^31)+-1|0,n0=(n0<<1)+(u0>>>n0)+4|0;break}if(i0>>>0>=2118){n0=23;break}n0=((Dx(i0+-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=n0&65535,i0=Sx(i0-(e[17364+(e0<<2)>>2]|0)|0,0,l0|0)|0,n0=S0,f0=i0|f0,i0=l0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[M>>2]|0,l0=q+(e0>>>3)|0,u0=s[l0>>0]|0,sx=wx(f0|0,n0|0,i0|0)|0,!((sx|0)==0&(S0|0)==0)){l0=61;break}if(i0>>>0>=57){l0=63;break}f0=Sx(f0|0,n0|0,e0&7|0)|0,e0=S0,f0=u0|f0,sx=l0,u0=sx,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,sx=sx+4|0,n[sx>>0]=e0,n[sx+1>>0]=e0>>8,n[sx+2>>0]=e0>>16,n[sx+3>>0]=e0>>24,e[M>>2]=(e[M>>2]|0)+i0;e:do if(e[k0>>2]|0)for(n0=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}sx=n[h+(n0&d)>>0]|0,bg(hx,sx&255,l&255,e[w0>>2]|0,M,q,6),l=t0,t0=sx,n0=n0+1|0,f0=f0+-1|0}else for(n0=f,f0=c;;){if(!f0)break e;$4(hx,s[h+(n0&d)>>0]|0,M,q),n0=n0+1|0,f0=f0+-1|0}while(!1);u0=f+c+_|0;do if(_){if(l=n[h+(u0+-2&d)>>0]|0,t0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=g0>>>24,l0=g0&16777215,!(e[h0>>2]|0))$4(mx,v0,M,q);else{switch(n0=p&7,d0>>>6|0){case 7:case 4:case 2:case 0:{n0=n0>>>0<3?n0:3;break}default:n0=3}bg(mx,v0,n0,e[p0>>2]|0,M,q,2)}if(n0=e[M>>2]|0,f0=q+(n0>>>3)|0,i0=s[f0>>0]|0,sx=wx(l0|0,0,e0|0)|0,!((sx|0)==0&(S0|0)==0)){l0=82;break x}if(g0>>>0>=956301312){l0=84;break x}d0=Sx(l0|0,0,n0&7|0)|0,g0=S0,d0=i0|d0,sx=f0,v0=sx,n[v0>>0]=d0,n[v0+1>>0]=d0>>8,n[v0+2>>0]=d0>>16,n[v0+3>>0]=d0>>24,sx=sx+4|0,n[sx>>0]=g0,n[sx+1>>0]=g0>>8,n[sx+2>>0]=g0>>16,n[sx+3>>0]=g0>>24,e[M>>2]=(e[M>>2]|0)+e0}while(!1);f=u0,y0=y0+1|0}if((l0|0)==61)j0(406196,406218,54,406251);else if((l0|0)==63)j0(406267,406218,55,406251);else if((l0|0)==82)j0(406196,406218,54,406251);else if((l0|0)==84)j0(406267,406218,55,406251);else if((l0|0)==87){if(yx[e[m0>>2]&1](e[z0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[O0>>2]|0),e[O0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[N0>>2]|0),e[N0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[q0>>2]|0),e[q0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[L0>>2]|0),e[L0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[K0>>2]|0),e[K0>>2]=0,!k){c0=ax;return}sx=(e[M>>2]|0)+7|0,e[M>>2]=sx&-8,n[q+(sx>>>3)>>0]=0,c0=ax;return}}function Du(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+32|0,_=q+8|0,r0=q+16|0,k=q,M=f&l,f=p+((e[w>>2]|0)>>>3)|0,i0=s[f>>0]|0,e0=f,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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,mg(d,_,r0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,i0=p+(e0>>>3)|0,$=s[i0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||j0(406196,406218,54,406251),f=Sx(f|0,k|0,e0&7|0)|0,k=S0,f=$|f,x0=i0,$=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[r0>>2]|0,k=_,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,i0=s[e0>>0]|0,_=wx(f|0,k|0,$|0)|0,(_|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$>>>0>=57&&j0(406267,406218,55,406251),_=Sx(f|0,k|0,x0&7|0)|0,f=S0,_=i0|_,x0=e0,r0=x0,n[r0>>0]=_,n[r0+1>>0]=_>>8,n[r0+2>>0]=_>>16,n[r0+3>>0]=_>>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,r0=s[f>>0]|0,x0=Sx(1,0,x0&7|0)|0,_=S0,x0=r0|x0,r0=f,n[r0>>0]=x0,n[r0+1>>0]=x0>>8,n[r0+2>>0]=x0>>16,n[r0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=_,n[f+1>>0]=_>>8,n[f+2>>0]=_>>16,n[f+3>>0]=_>>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,(M+d|0)>>>0>f>>>0?(f=f-M|0,Zx(p+((e[w>>2]|0)>>>3)|0,h+M|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=M),Zx(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&j0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=q;return}h=e[w>>2]|0,l=p+(h>>>3)|0,M=s[l>>0]|0,h=Sx(1,0,h&7|0)|0,c=S0,h=M|h,M=l,n[M>>0]=h,n[M+1>>0]=h>>8,n[M+2>>0]=h>>16,n[M+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,M=s[c>>0]|0,l=Sx(1,0,l&7|0)|0,h=S0,l=M|l,M=c,n[M>>0]=l,n[M+1>>0]=l>>8,n[M+2>>0]=l>>16,n[M+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=q}function lg(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function J4(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,i0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,i0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Sx(c&1|0,0,e[f>>2]&7|0)|0,e0=S0,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),mg(h,$,i0,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||j0(406196,406218,54,406251),d=Sx(d|0,h|0,w&7|0)|0,h=S0,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[i0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=wx(d|0,h|0,k|0)|0,($|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k>>>0>=57&&j0(406267,406218,55,406251),e0=Sx(d|0,h|0,e0&7|0)|0,$=S0,e0=p|e0,d=w,i0=d,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+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 Z4(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0;t0=c0,c0=c0+1136|0,q=t0+104|0,M=t0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,r0=e[c+16>>2]|0,_=e[c+4>>2]|0,Hx(q|0,0,(_<<2)+8|0)|0,w=M,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)!=(r0|0);){for(i0=s[d+$>>0]|0,(i0|0)==(x0+1|0)?w=1:w=(i0|0)==(w|0)?0:i0+2|0,$&&(e0=q+(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=M+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=i0}if(el(_+-1|0,f,l),_>>>0<=1){c0=t0;return}for(r0=c+20|0,Er(q,_+2|0,h,c+28|0,c+286|0,f,l),Er(M,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,q=s[d>>0]|0,e[c+24>>2]=e[r0>>2],e[r0>>2]=q,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,i0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=j[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=wx(d|0,0,e0&255|0)|0,(c|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)>=57&&j0(406267,406218,55,406251),c=Sx(d|0,0,w&7|0)|0,d=S0,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=wx(i0|0,0,$|0)|0,(l|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h=Sx(i0|0,0,p&7|0)|0,c=S0,h=w|h,l=d,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,e[f>>2]=(e[f>>2]|0)+$,c0=t0}function hg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0;if(f0=c0,c0=c0+1904|0,$=f0,n0=f0+1632|0,t0=f0+1088|0,el(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(M=h+-1|0,q=(1<<M)+-1|0,i0=M+c|0,Hx($|0,0,i0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Sx(1,0,e0&7|0)|0,p=S0,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||j0(406196,406218,54,406251),x0=Sx(p|0,0,w&7|0)|0,_=S0,x0=e0|x0,w=k,r0=w,n[r0>>0]=x0,n[r0+1>>0]=x0>>8,n[r0+2>>0]=x0>>16,n[r0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=_,n[w+1>>0]=_>>8,n[w+2>>0]=_>>16,n[w+3>>0]=_>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(M<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=i0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(Er($,i0,f,n0,t0,l,d),$=n0+M|0,f=t0+(M<<1)|0,x0=wx(q|0,0,M|0)|0,x0=(x0|0)==0&(S0|0)==0,r0=M>>>0<57,_=0;;){if(_>>>0>=c>>>0){w=22;break}if(p=(_|0)==0?0:_+h+-1|0,w=n[n0+p>>0]|0,p=j[t0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,i0=s[e0>>0]|0,l0=wx(p|0,0,w&255|0)|0,!((l0|0)==0&(S0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Sx(p|0,0,k&7|0)|0,k=S0,i0=i0|p,p=e0,e0=p,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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=j[f>>1]|0,e0=d+(w>>>3)|0,i0=s[e0>>0]|0,l0=wx(k|0,0,p&255|0)|0,!((l0|0)==0&(S0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Sx(k|0,0,w&7|0)|0,k=S0,i0=i0|w,w=e0,l0=w,n[l0>>0]=i0,n[l0+1>>0]=i0>>8,n[l0+2>>0]=i0>>16,n[l0+3>>0]=i0>>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(!r0){w=20;break}l0=Sx(q|0,0,w&7|0)|0,i0=S0,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]=i0,n[l0+1>>0]=i0>>8,n[l0+2>>0]=i0>>16,n[l0+3>>0]=i0>>24,e[l>>2]=(e[l>>2]|0)+M,_=_+1|0}if((w|0)==10)j0(406196,406218,54,406251);else if((w|0)==12)j0(406267,406218,55,406251);else if((w|0)==14)j0(406196,406218,54,406251);else if((w|0)==16)j0(406267,406218,55,406251);else if((w|0)==18)j0(406196,406218,54,406251);else if((w|0)==20)j0(406267,406218,55,406251);else if((w|0)==22){n0=e[l>>2]|0,l0=d+(n0>>>3)|0,c=s[l0>>0]|0,n0=Sx(1,0,n0&7|0)|0,d=S0,n0=c|n0,c=l0,n[c>>0]=n0,n[c+1>>0]=n0>>8,n[c+2>>0]=n0>>16,n[c+3>>0]=n0>>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 pg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0;if(v0=c0,c0=c0+2160|0,r0=v0+1088|0,t0=v0,d0=v0+1888|0,u0=v0+1344|0,el(l+-1|0,w,p),(l|0)==1){c0=v0;return}f0=c+8|0,l0=Px[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,l0||kx(1);x:do if(!f)n0=l0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)q=e[h+(e0<<2)>>2]|0,k=q>>>0>k>>>0?q:k,e0=e0+1|0;for(k>>>0<256?i0=0:j0(405316,404333,616,405333);!(i0>>>0>k>>>0);)n[r0+i0>>0]=i0,i0=i0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){n0=l0;break x}for(k=e[h+(x0<<2)>>2]&255,i0=0;;){if(i0>>>0>=$>>>0)break e;if((n[r0+i0>>0]|0)==k<<24>>24)break;i0=i0+1|0}for(e[l0+(x0<<2)>>2]=i0,e0=n[r0+i0>>0]|0,k=i0;k;)q=k+-1|0,n[r0+k>>0]=n[r0+q>>0]|0,k=q;n[r0>>0]=e0,x0=x0+1|0}j0(405354,404333,624,405333)}while(!1);for(e[r0>>2]=0,k=0,i0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[n0+(k<<2)>>2]|0)){e0=0;break}q=k+1|0,e[r0>>2]=q,k=q}for(;!(k>>>0>=f>>>0||e[n0+(k<<2)>>2]|0);)q=k+1|0,e[r0>>2]=q,k=q,e0=e0+1|0;i0=e0>>>0>i0>>>0?e0:i0}for(i0?(q=(Dx(i0|0)|0)^31,q=q>>>0<6?q:6):q=0,e[r0>>2]=0,$=2<<q,x0=q+((512<<q)+-512)|0,h=$+-1|0,i0=0,_=0;!(i0>>>0>=f>>>0);){if(_>>>0>i0>>>0){M=38;break}k=e[n0+(i0<<2)>>2]|0;x:do if(k)e[n0+(_<<2)>>2]=k+q,e[r0>>2]=(e[r0>>2]|0)+1,k=_+1|0;else{for(k=i0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[n0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[r0>>2]=i0+e0,k=_;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[n0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}_=(Dx(e0|0)|0)^31,e[n0+(k<<2)>>2]=_|e0-(1<<_)<<9,k=k+1|0}while(!1);i0=e[r0>>2]|0,_=k}for((M|0)==38&&j0(405282,404333,656,405297),Hx(t0|0,0,1088)|0,k=0;(k|0)!=(_|0);)M=t0+((e[n0+(k<<2)>>2]&511)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,k=k+1|0;M=(q|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Sx(M&1|0,0,h&7|0)|0,r0=S0,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]=r0,n[k+1>>0]=r0>>8,n[k+2>>0]=r0>>16,n[k+3>>0]=r0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(M)if(e0=q+-1|0,i0=p+(k>>>3)|0,$=s[i0>>0]|0,(e0&-16|0)==0&!0){h=Sx(e0|0,0,k&7|0)|0,r0=S0,h=$|h,M=i0,f=M,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,M=M+4|0,n[M>>0]=r0,n[M+1>>0]=r0>>8,n[M+2>>0]=r0>>16,n[M+3>>0]=r0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else j0(406196,406218,54,406251);while(!1);for(Er(t0,q+l|0,d,d0,u0,w,p),r0=0;;){if(r0>>>0>=_>>>0){M=70;break}if(f=e[n0+(r0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[d0+h>>0]|0,e0=j[u0+(h<<1)>>1]|0,i0=e[w>>2]|0,$=p+(i0>>>3)|0,x0=s[$>>0]|0,d=wx(e0|0,0,k&255|0)|0,!((d|0)==0&(S0|0)==0)){M=60;break}if((k&255)>=57){M=62;break}if(M=Sx(e0|0,0,i0&7|0)|0,l=S0,M=x0|M,d=$,t0=d,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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>q>>>0)){if(e0=p+(k>>>3)|0,i0=s[e0>>0]|0,d=wx(f|0,0,h|0)|0,!((d|0)==0&(S0|0)==0)){M=65;break}if(h>>>0>=57){M=67;break}M=Sx(f|0,0,k&7|0)|0,l=S0,M=i0|M,d=e0,t0=d,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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}r0=r0+1|0}if((M|0)==60)j0(406196,406218,54,406251);else if((M|0)==62)j0(406267,406218,55,406251);else if((M|0)==65)j0(406196,406218,54,406251);else if((M|0)==67)j0(406267,406218,55,406251);else if((M|0)==70){n0=e[w>>2]|0,p=p+(n0>>>3)|0,u0=s[p>>0]|0,n0=Sx(1,0,n0&7|0)|0,d0=S0,n0=u0|n0,u0=p,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>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,yx[e[c+4>>2]&1](e[f0>>2]|0,l0),c0=v0;return}}function $4(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;M=c+884|0,d=e[M>>2]|0;do if(d)_=c+888|0,q=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[M>>2]=x0,w=w&255,r0=c+888|0,e[r0>>2]=ex(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,i0=n[c+28+e0>>0]|0,d=j[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=wx(d|0,0,i0&255|0)|0,($|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(i0&255)>=57&&j0(406267,406218,55,406251),w=Sx(d|0,0,w&7|0)|0,e0=S0,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)+(i0&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,i0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=j[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=wx(d|0,0,e0&255|0)|0,(x0|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)>=57&&j0(406267,406218,55,406251),x0=Sx(d|0,0,w&7|0)|0,d=S0,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=wx(i0|0,0,$|0)|0,(x0|0)==0&(S0|0)==0){i0=Sx(i0|0,0,w&7|0)|0,q=S0,i0=d|i0,_=p,x0=_,n[x0>>0]=i0,n[x0+1>>0]=i0>>8,n[x0+2>>0]=i0>>16,n[x0+3>>0]=i0>>24,_=_+4|0,n[_>>0]=q,n[_+1>>0]=q>>8,n[_+2>>0]=q>>16,n[_+3>>0]=q>>24,e[f>>2]=(e[f>>2]|0)+$,_=r0,q=e[M>>2]|0;break}else j0(406196,406218,54,406251)}while(!1);if(e[M>>2]=q+-1,p=(e[_>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=j[(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=wx(p|0,0,e0&255|0)|0,(l|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)<57){q=Sx(p|0,0,k&7|0)|0,c=S0,q=w|q,l=d,h=l,n[h>>0]=q,n[h+1>>0]=q>>8,n[h+2>>0]=q>>16,n[h+3>>0]=q>>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 j0(406267,406218,55,406251)}function bg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0;t0=c+884|0,k=e[t0>>2]|0;do if(k)q=c+888|0,n0=k;else{for(_=c+880|0,i0=(e[_>>2]|0)+1|0,e[_>>2]=i0,_=e[(e[c+12>>2]|0)+(i0<<2)>>2]|0,i0=n[(e[c+8>>2]|0)+i0>>0]|0,e[t0>>2]=_,i0=i0&255,M=c+888|0,e[M>>2]=i0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(i0|0)==(e0+1|0)?$=1:$=(i0|0)==(e[k>>2]|0)?0:i0+2|0,e[k>>2]=e0,e[p>>2]=i0,x0=n[c+28+$>>0]|0,k=j[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,i0=s[e0>>0]|0,r0=wx(k|0,0,x0&255|0)|0,(r0|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(x0&255)>=57&&j0(406267,406218,55,406251),p=Sx(k|0,0,p&7|0)|0,$=S0,p=i0|p,r0=e0,i0=r0,n[i0>>0]=p,n[i0+1>>0]=p>>8,n[i0+2>>0]=p>>16,n[i0+3>>0]=p>>24,r0=r0+4|0,n[r0>>0]=$,n[r0+1>>0]=$>>8,n[r0+2>>0]=$>>16,n[r0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),_>>>0>176?p=_>>>0>752?20:14:p=_>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,_>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(r0=e[17556+(p<<3)+4>>2]|0,x0=_-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=j[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,i0=s[e0>>0]|0,_=wx(k|0,0,$&255|0)|0,(_|0)==0&(S0|0)==0||j0(406196,406218,54,406251),($&255)>=57&&j0(406267,406218,55,406251),_=Sx(k|0,0,p&7|0)|0,p=S0,_=i0|_,k=e0,e0=k,n[e0>>0]=_,n[e0+1>>0]=_>>8,n[e0+2>>0]=_>>16,n[e0+3>>0]=_>>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,_=wx(x0|0,0,r0|0)|0,(_|0)==0&(S0|0)==0){x0=Sx(x0|0,0,k&7|0)|0,n0=S0,x0=e0|x0,q=p,_=q,n[_>>0]=x0,n[_+1>>0]=x0>>8,n[_+2>>0]=x0>>16,n[_+3>>0]=x0>>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[d>>2]=(e[d>>2]|0)+r0,q=M,n0=e[t0>>2]|0;break}else j0(406196,406218,54,406251)}while(!1);if(e[t0>>2]=n0+-1,e0=(ex(e[l+((e[q>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=j[(e[c+896>>2]|0)+(e0<<1)>>1]|0,i0=e[d>>2]|0,k=w+(i0>>>3)|0,p=s[k>>0]|0,w=wx(e0|0,0,$&255|0)|0,(w|0)==0&(S0|0)==0||j0(406196,406218,54,406251),($&255)<57){l=Sx(e0|0,0,i0&7|0)|0,c=S0,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 j0(406267,406218,55,406251)}function gg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;for(q=p+2816|0,t0=w+1024|0,n0=k+2080|0,M=0;(M|0)!=(d|0);){for(r0=e[l+(M<<4)>>2]|0,e0=e[l+(M<<4)+4>>2]|0,i0=e[l+(M<<4)+12>>2]|0,_=i0&65535,x0=i0>>>16,i0=p+((i0&65535)<<2)|0,e[i0>>2]=(e[i0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,i0=h,$=r0;$;)f0=w+((s[c+(i0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[t0>>2]=(e[t0>>2]|0)+1,i0=i0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(_&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[n0>>2]=(e[n0>>2]|0)+1),h=h+r0+e0|0,M=M+1|0}}function Er(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,i0=0,$=0,x0=0,r0=0,_=0;for(_=c0,c0=c0+16|0,x0=_,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(r0=0,k=h+-1|0;k;)r0=r0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Sx(1,0,e0&7|0)|0,h=S0,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=wx(h|0,0,r0|0)|0,(p|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),f=Sx(h|0,0,c&7|0)|0,$=S0,f=e0|f,p=k,i0=p,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+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)+r0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=_;return}if(Hx(l|0,0,h|0)|0,j2(c,h,15,f,l),wn(l,h,d),$>>>0>=5){$o(l,h,f,w,p),c0=_;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Sx(1,0,e[w>>2]&7|0)|0,e0=S0,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||j0(406196,406218,54,406251),f=Sx(e0|0,0,k&7|0)|0,d=S0,f=h|f,h=c,i0=h,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+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;i0=k+1|0,(k|0)!=(h|0);){if(k=x0+(i0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=i0;continue}e[k>>2]=c,e[f>>2]=e0,k=i0}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,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),e0=Sx(k|0,0,e0&7|0)|0,k=S0,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)+r0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(wx(c|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$=Sx(c|0,0,h&7|0)|0,x0=S0,$=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)+r0,c0=_;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),k=Sx(k|0,0,e0&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),e0=Sx(e0|0,0,k&7|0)|0,k=S0,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)+r0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(wx(c|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$=Sx(c|0,0,h&7|0)|0,x0=S0,$=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)+r0,c0=_;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),k=Sx(k|0,0,e0&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k=Sx(e0|0,0,k&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k=Sx(e0|0,0,k&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),f=Sx(e0|0,0,k&7|0)|0,$=S0,f=h|f,i0=c,d=i0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,i0=i0+4|0,n[i0>>0]=$,n[i0+1>>0]=$>>8,n[i0+2>>0]=$>>16,n[i0+3>>0]=$>>24,i0=(e[w>>2]|0)+r0|0,e[w>>2]=i0,r0=p+(i0>>>3)|0,$=s[r0>>0]|0,l=Sx((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,i0&7|0)|0,p=S0,l=$|l,x0=r0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,r0=r0+4|0,n[r0>>0]=p,n[r0+1>>0]=p>>8,n[r0+2>>0]=p>>16,n[r0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=_;return}}}function xl(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=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,y0=e[l+(w0<<4)+8>>2]|0,M=e[l+(w0<<4)+12>>2]|0,v0=M&65535,g0=M>>>16,M=M&65535,_=n[k+M>>0]|0,M=j[e0+(M<<1)>>1]|0,q=e[x0>>2]|0,t0=r0+(q>>>3)|0,n0=s[t0>>0]|0,d0=wx(M|0,0,_&255|0)|0,!((d0|0)==0&(S0|0)==0)){h=4;break}if((_&255)>=57){h=6;break}l0=Sx(M|0,0,q&7|0)|0,d0=S0,n0=n0|l0,l0=t0,q=l0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>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)+(_&255)|0,e[x0>>2]=l0,d0=f0&16777215,q=d0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,M=((Dx(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+2|0;break}if(u0>>>0<2114){M=((Dx(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?M=21:M=u0>>>0<22594?22:23}else M=u0;while(!1);do if(q>>>0>=10){if(q>>>0<134){f0=q+-6|0,_=((Dx(f0|0)|0)^31)+-1|0,_=(_<<1)+(f0>>>_)+4|0;break}q>>>0<2118?_=((Dx(q+-70|0)|0)^31)+12|0:_=23}else _=q+65534|0;while(!1);if(M=M&65535,n0=e[17268+(M<<2)>>2]|0,M=u0-(e[18788+(M<<2)>>2]|0)|0,t0=_&65535,q=Sx(q-(e[17364+(t0<<2)>>2]|0)|0,0,n0|0)|0,_=S0,M=q|M,q=n0+(e[17460+(t0<<2)>>2]|0)|0,t0=r0+(l0>>>3)|0,n0=s[t0>>0]|0,f0=wx(M|0,_|0,q|0)|0,!((f0|0)==0&(S0|0)==0)){h=21;break}if(q>>>0>=57){h=23;break}for(M=Sx(M|0,_|0,l0&7|0)|0,f0=S0,M=n0|M,l0=t0,n0=l0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>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)+q|0,e[x0>>2]=l0,n0=u0;n0;){if(M=s[c+(h&f)>>0]|0,_=n[w+M>>0]|0,M=j[p+(M<<1)>>1]|0,q=r0+(l0>>>3)|0,t0=s[q>>0]|0,u0=wx(M|0,0,_&255|0)|0,!((u0|0)==0&(S0|0)==0)){h=27;break x}if((_&255)>=57){h=29;break x}M=Sx(M|0,0,l0&7|0)|0,f0=S0,M=t0|M,u0=q,t0=u0,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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)+(_&255)|0,e[x0>>2]=u0,l0=u0,h=h+1|0,n0=n0+-1|0}if(h=h+d0|0,(d0|0)!=0&(v0&65535)>127){if(n0=y0>>>24,f0=y0&16777215,t0=n[i0+g0>>0]|0,_=j[$+(g0<<1)>>1]|0,M=r0+(l0>>>3)|0,q=s[M>>0]|0,g0=wx(_|0,0,t0&255|0)|0,!((g0|0)==0&(S0|0)==0)){h=33;break}if((t0&255)>=57){h=35;break}if(_=Sx(_|0,0,l0&7|0)|0,g0=S0,q=q|_,_=M,M=_,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,_=_+4|0,n[_>>0]=g0,n[_+1>>0]=g0>>8,n[_+2>>0]=g0>>16,n[_+3>>0]=g0>>24,_=(e[x0>>2]|0)+(t0&255)|0,e[x0>>2]=_,M=r0+(_>>>3)|0,q=s[M>>0]|0,g0=wx(f0|0,0,n0|0)|0,!((g0|0)==0&(S0|0)==0)){h=37;break}if(y0>>>0>=956301312){h=39;break}d0=Sx(f0|0,0,_&7|0)|0,g0=S0,d0=q|d0,y0=M,v0=y0,n[v0>>0]=d0,n[v0+1>>0]=d0>>8,n[v0+2>>0]=d0>>16,n[v0+3>>0]=d0>>24,y0=y0+4|0,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>24,e[x0>>2]=(e[x0>>2]|0)+n0}w0=w0+1|0}switch(h|0){case 4:{j0(406196,406218,54,406251);break}case 6:{j0(406267,406218,55,406251);break}case 21:{j0(406196,406218,54,406251);break}case 23:{j0(406267,406218,55,406251);break}case 27:{j0(406196,406218,54,406251);break}case 29:{j0(406267,406218,55,406251);break}case 33:{j0(406196,406218,54,406251);break}case 35:{j0(406267,406218,55,406251);break}case 37:{j0(406196,406218,54,406251);break}case 39:{j0(406267,406218,55,406251);break}case 42:return}}function mg(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,i0=0,$=0;(c|0)!=1?(k=(Dx(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,i0=e0):j0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=i0):j0(405253,404333,87,405236),$>>>0<25?d=p:j0(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 el(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=(Dx(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Sx(1,0,p&7|0)|0,d=S0,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||j0(406196,406218,54,406251),e0=Sx(k|0,0,l&7|0)|0,l=S0,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=wx(w|0,0,k|0)|0,(f|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k>>>0>=57&&j0(406267,406218,55,406251),p=Sx(w|0,0,p&7|0)|0,f=S0,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 wg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+1040|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*1040|0)+1032>>3],$=+s0[c+(n0*1040|0)+1032>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*1040|0)+1024>>2]|0){if(f=e[c+(n0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*1040|0)|0,1040)|0,h=q+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+gn(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function vu(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)wg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*1040|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*1040|0)+1032>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)wg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|0}function yg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+2832|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*2832|0)+2824>>3],$=+s0[c+(n0*2832|0)+2824>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*2832|0)+2816>>2]|0){if(f=e[c+(n0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*2832|0)|0,2832)|0,h=q+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Cu(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Dg(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)yg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*2832|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*2832|0)+2824>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)yg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+2096|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*2096|0)+2088>>3],$=+s0[c+(n0*2096|0)+2088>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*2096|0)+2080>>2]|0){if(f=e[c+(n0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*2096|0)|0,2096)|0,h=q+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+mn(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Au(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)vg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*2096|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*2096|0)+2088>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)vg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|0}function Ag(c,h,f,l,d,w,p,k,e0,i0,$,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,i0=i0|0,$=$|0,x0=x0|0;var r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0;if(ge=c0,c0=c0+2304|0,te=ge+512|0,_x=ge,lx=ge+2048|0,Cx=ge+1536|0,t0=h,u0=f>>>0<98304?f:98304,d0=e[$>>2]|0,cx=64-((Dx(w|0)|0)^31)|0,w||j0(405532,405401,464,405439),w>>>0>=2147483649&&j0(405605,405401,465,405439),r0=w+-1|0,r0&w&&j0(405630,405401,467,405439),rx=wx(16777215,-1,cx|0)|0,(r0|0)!=(rx|0)&&j0(405667,405401,469,405439),!f){l||j0(405466,405401,472,405439),c=x0+(d0>>>3)|0,d=s[c>>0]|0,lx=Sx(1,0,d0&7|0)|0,ix=S0,lx=d|lx,d=c,n[d>>0]=lx,n[d+1>>0]=lx>>8,n[d+2>>0]=lx>>16,n[d+3>>0]=lx>>24,c=c+4|0,n[c>>0]=ix,n[c+1>>0]=ix>>8,n[c+2>>0]=ix>>16,n[c+3>>0]=ix>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ix=x0+(c>>>3)|0,x0=s[ix>>0]|0,c=Sx(1,0,c&7|0)|0,d=S0,c=x0|c,x0=ix,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ix=ix+4|0,n[ix>>0]=d,n[ix+1>>0]=d>>8,n[ix+2>>0]=d>>16,n[ix+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=ge;return}for(Eu(u0,0,$,x0),n0=x0+((e[$>>2]|0)>>>3)|0,rx=s[n0>>0]|0,r0=n0,n[r0>>0]=rx,n[r0+1>>0]=rx>>8,n[r0+2>>0]=rx>>16,n[r0+3>>0]=rx>>24,n0=n0+4|0,n[n0>>0]=0,n[n0+1>>0]=0,n[n0+2>>0]=0,n[n0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,n0=Eg(c,h,u0,lx,Cx,$,x0)|0,r0=0;w=e[e0>>2]|0,!((r0|7)>>>0>=w>>>0);)Gx=e[$>>2]|0,rx=x0+(Gx>>>3)|0,Rx=s[rx>>0]|0,Gx=Sx(s[i0+(r0>>>3)>>0]|0,0,Gx&7|0)|0,ox=S0,Gx=Rx|Gx,Rx=rx,n[Rx>>0]=Gx,n[Rx+1>>0]=Gx>>8,n[Rx+2>>0]=Gx>>16,n[Rx+3>>0]=Gx>>24,rx=rx+4|0,n[rx>>0]=ox,n[rx+1>>0]=ox>>8,n[rx+2>>0]=ox>>16,n[rx+3>>0]=ox>>24,e[$>>2]=(e[$>>2]|0)+8,r0=r0+8|0;q=w&7,r0=s[i0+(w>>>3)>>0]|0,w=e[$>>2]|0,_=x0+(w>>>3)|0,M=s[_>>0]|0,rx=wx(r0|0,0,q|0)|0,(rx|0)==0&(S0|0)==0||j0(406196,406218,54,406251),Fx=Sx(r0|0,0,w&7|0)|0,zx=S0,Fx=M|Fx,jx=_,qx=jx,n[qx>>0]=Fx,n[qx+1>>0]=Fx>>8,n[qx+2>>0]=Fx>>16,n[qx+3>>0]=Fx>>24,jx=jx+4|0,n[jx>>0]=zx,n[jx+1>>0]=zx>>8,n[jx+2>>0]=zx>>16,n[jx+3>>0]=zx>>24,e[$>>2]=(e[$>>2]|0)+q,jx=h,zx=p+61|0,qx=k+122|0,Fx=_x+84|0,Mx=p+64|0,fx=k+128|0,Ex=_x+256|0,px=p+39|0,$0=k+78|0,Y0=_x+188|0,Wx=_x+256|0,$x=p+62|0,ae=k+124|0,Gx=_x+88|0,Rx=p+63|0,ox=k+126|0,rx=_x+92|0,w=f,r0=t0,M=u0,_=n0;x:for(;;){Q0=d0+3|0,H0=_>>>0>980,mx=r0,ax=M,q=r0,sx=M;e:for(;;){Zx(_x|0,17764,512)|0,hx=mx,_=hx+ax|0,vx=_;t:do if(ax>>>0>15)for(t0=ax+-5|0,Bx=w+-16|0,Bx=hx+(t0>>>0<Bx>>>0?t0:Bx)|0,t0=hx+1|0,f=t0,M=f,f=f+4|0,M=s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,O0=-1;;){if(M=ye(M|0,f|0,-1124073472,1979815)|0,M=wx(M|0,S0|0,cx|0)|0,k0=q,k0>>>0>=t0>>>0){ix=24;break x}for(w0=0-O0|0,K0=t0,y0=32;;){if(p0=K0,f=y0,y0=y0+1|0,z0=K0,L0=z0,z0=z0+4|0,z0=ye(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,s[z0>>0]|s[z0+1>>0]<<8|s[z0+2>>0]<<16|s[z0+3>>0]<<24|0,-1124073472,1979815)|0,z0=wx(z0|0,S0|0,cx|0)|0,(M|0)!=(z0|0)){ix=26;break x}if(n0=K0+(f>>>5)|0,n0>>>0>Bx>>>0)break t;if(u0=n0,f=u0,u0=u0+4|0,u0=ye(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=wx(u0|0,S0|0,cx|0)|0,f=K0+w0|0,(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+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[K0+4>>0]|0)==(n[K0+(4-O0)>>0]|0)){ix=30;break}if(M=d+(M<<2)|0,t0=e[M>>2]|0,f=h+t0|0,(t0|0)<0){ix=32;break x}if(f>>>0>=K0>>>0){ix=34;break x}if(e[M>>2]=p0-jx,(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){M=u0,K0=n0;continue}if((n[K0+4>>0]|0)==(n[h+(t0+4)>>0]|0))break;M=u0,K0=n0}for((ix|0)==30&&(ix=0,e[d+(M<<2)>>2]=p0-jx),n0=f,z0=hx+(ax+-4)|0,M=0,t0=K0+5|0;;){if(t0>>>0>z0>>>0){L0=M,M=t0;break}if(L0=f+(M+5)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0)){L0=M,M=t0;break}M=M+4|0,t0=t0+4|0}for(;!(M>>>0>=_>>>0||(n[f+(L0+5)>>0]|0)!=(n[M>>0]|0));)L0=L0+1|0,M=M+1|0;P0=L0+5|0,m0=p0-n0|0,h0=p0-q|0,N0=K0+P0|0,q0=N0;r:do if(P0){for(n0=P0,u0=K0;M=n[u0>>0]|0,t0=n[f>>0]|0,M<<24>>24==t0<<24>>24;)if(n0=n0+-1|0,n0)u0=u0+1|0,f=f+1|0;else break r;if(M<<24>>24!=t0<<24>>24){ix=48;break x}}while(!1);do if(h0>>>0>=6210){if(!(((q-r0|0)*50|0)>>>0>h0>>>0|H0^1)){ix=84;break e}if(h0>>>0<22594){if(M=n[$x>>0]|0,q=j[ae>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,p0=wx(q|0,0,M&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=87;break x}if((M&255)>=57){ix=89;break x}if(p0=Sx(q|0,0,f&7|0)|0,f=S0,p0=n0|p0,q=t0,t0=q,n[t0>>0]=p0,n[t0+1>>0]=p0>>8,n[t0+2>>0]=p0>>16,n[t0+3>>0]=p0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-6210|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16384|0)==0&!0)){ix=91;break x}y0=Sx(q|0,0,M&7|0)|0,p0=S0,y0=t0|y0,u0=f,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Gx>>2]=(e[Gx>>2]|0)+1,u0=0;break}else{if(M=n[Rx>>0]|0,q=j[ox>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,p0=wx(q|0,0,M&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=94;break x}if((M&255)>=57){ix=96;break x}if(p0=Sx(q|0,0,f&7|0)|0,f=S0,p0=n0|p0,q=t0,t0=q,n[t0>>0]=p0,n[t0+1>>0]=p0>>8,n[t0+2>>0]=p0>>16,n[t0+3>>0]=p0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-22594|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16777216|0)==0&!0)){ix=98;break x}y0=Sx(q|0,0,M&7|0)|0,p0=S0,y0=t0|y0,u0=f,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+24,e[rx>>2]=(e[rx>>2]|0)+1,u0=0;break}}else{if(h0>>>0<6){if(M=h0+40|0,q=n[p+M>>0]|0,f=j[k+(M<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,p0=wx(f|0,0,q&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=52;break x}if((q&255)>=57){ix=54;break x}y0=Sx(f|0,0,t0&7|0)|0,p0=S0,y0=u0|y0,u0=n0,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=_x+(M<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0<130){if(u0=h0+-2|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0,p0=(w0<<1)+y0+42|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=58;break x}if((M&255)>=57){ix=60;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(y0<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=62;break x}if(w0>>>0>=57){ix=64;break x}n0=Sx(M|0,0,t0&7|0)|0,D0=S0,n0=f|n0,u0=q,y0=u0,n[y0>>0]=n0,n[y0+1>>0]=n0>>8,n[y0+2>>0]=n0>>16,n[y0+3>>0]=n0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+w0,u0=_x+(p0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0>=2114){if(M=n[zx>>0]|0,q=j[qx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=77;break x}if((M&255)>=57){ix=79;break x}if(D0=Sx(q|0,0,f&7|0)|0,f=S0,D0=n0|D0,q=t0,t0=q,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-2114|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-4096|0)==0&!0)){ix=81;break x}w0=Sx(q|0,0,M&7|0)|0,D0=S0,w0=t0|w0,u0=f,p0=u0,n[p0>>0]=w0,n[p0+1>>0]=w0>>8,n[p0+2>>0]=w0>>16,n[p0+3>>0]=w0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Fx>>2]=(e[Fx>>2]|0)+1,u0=0;break}if(u0=h0+-66|0,y0=(Dx(u0|0)|0)^31,w0=y0+50|0,M=n[p+w0>>0]|0,q=j[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=68;break x}if((M&255)>=57){ix=70;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(1<<y0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,y0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=72;break x}if(y0>>>0>=57){ix=74;break x}n0=Sx(M|0,0,t0&7|0)|0,D0=S0,n0=f|n0,u0=q,p0=u0,n[p0>>0]=n0,n[p0+1>>0]=n0>>8,n[p0+2>>0]=n0>>16,n[p0+3>>0]=n0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+y0,u0=_x+(w0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=h0>>>0);){if(q=s[k0+u0>>0]|0,M=n[lx+q>>0]|0,q=j[Cx+(q<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=102;break x}if((M&255)>=57){ix=104;break x}y0=Sx(q|0,0,f&7|0)|0,p0=S0,y0=n0|y0,D0=t0,w0=D0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,D0=D0+4|0,n[D0>>0]=p0,n[D0+1>>0]=p0>>8,n[D0+2>>0]=p0>>16,n[D0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),u0=u0+1|0}if((m0|0)==(O0|0)){if(M=n[Mx>>0]|0,q=j[fx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=108;break x}if((M&255)>=57){ix=110;break x}h0=Sx(q|0,0,f&7|0)|0,D0=S0,h0=n0|h0,m0=t0,k0=m0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,m0=m0+4|0,n[m0>>0]=D0,n[m0+1>>0]=D0>>8,n[m0+2>>0]=D0>>16,n[m0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),e[Ex>>2]=(e[Ex>>2]|0)+1,m0=O0}else{if(u0=m0+3|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0&1,p0=((w0<<1)+-2|y0)+80|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=113;break x}if((M&255)>=57){ix=115;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-((y0|2)<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=117;break x}if(w0>>>0>=57){ix=119;break x}h0=Sx(M|0,0,t0&7|0)|0,O0=S0,h0=f|h0,D0=q,k0=D0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+w0,D0=_x+(p0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}do if(P0>>>0<12){if(M=L0+1|0,q=n[p+M>>0]|0,f=j[k+(M<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=123;break x}if((q&255)>=57){ix=125;break x}k0=Sx(f|0,0,t0&7|0)|0,O0=S0,k0=u0|k0,D0=n0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(M<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}else{if(P0>>>0<72){if(u0=L0+-3|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0,p0=(w0<<1)+y0+4|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=129;break x}if((M&255)>=57){ix=131;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(y0<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=133;break x}if(w0>>>0>=57){ix=135;break x}k0=Sx(M|0,0,t0&7|0)|0,O0=S0,k0=f|k0,D0=q,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+w0,D0=_x+(p0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1;break}if(P0>>>0<136){if(M=L0+-3|0,y0=(M>>>5)+30|0,q=n[p+y0>>0]|0,f=j[k+(y0<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=139;break x}if((q&255)>=57){ix=141;break x}if(D0=Sx(f|0,0,t0&7|0)|0,f=S0,D0=u0|D0,t0=n0,n0=t0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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)+(q&255)|0,e[$>>2]=t0,f=x0+(t0>>>3)|0,n0=s[f>>0]|0,t0=Sx(M&31|0,0,t0&7|0)|0,q=S0,t0=n0|t0,M=f,f=M,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>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,M=(e[$>>2]|0)+5|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=143;break x}if((q&255)>=57){ix=145;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(y0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1;break}if(P0>>>0>=2120){if(M=n[px>>0]|0,q=j[$0>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=162;break x}if((M&255)>=57){ix=164;break x}if(D0=Sx(q|0,0,f&7|0)|0,f=S0,D0=n0|D0,q=t0,t0=q,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=L0+-2115|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16777216|0)==0&!0)){ix=166;break x}if(M=Sx(q|0,0,M&7|0)|0,q=S0,t0=t0|M,M=f,f=M,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>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,M=(e[$>>2]|0)+24|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=168;break x}if((q&255)>=57){ix=170;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[Y0>>2]=(e[Y0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1;break}if(u0=L0+-67|0,y0=(Dx(u0|0)|0)^31,w0=y0+28|0,M=n[p+w0>>0]|0,q=j[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=149;break x}if((M&255)>=57){ix=151;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(1<<y0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,y0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=153;break x}if(y0>>>0>=57){ix=155;break x}if(M=Sx(M|0,0,t0&7|0)|0,t0=S0,f=f|M,M=q,q=M,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=M+4|0,n[M>>0]=t0,n[M+1>>0]=t0>>8,n[M+2>>0]=t0>>16,n[M+3>>0]=t0>>24,M=(e[$>>2]|0)+y0|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=157;break x}if((q&255)>=57){ix=159;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(w0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1}while(!1);if(N0>>>0>=Bx>>>0){q=q0;break t}for(q=K0+(L0+2)|0,D0=q,D0=s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,q=q+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,K0=ye(D0|0,q|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,n0=wx(D0|0,q|0,24)|0,n0=ye(n0|0,S0|0,-1124073472,1979815)|0,n0=wx(n0|0,S0|0,cx|0)|0,u0=N0-jx|0,e[d+(K0<<2)>>2]=u0+-3,K0=wx(D0|0,q|0,8)|0,K0=ye(K0|0,S0|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,e[d+(K0<<2)>>2]=u0+-2,q=wx(D0|0,q|0,16)|0,q=ye(q|0,S0|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,cx|0)|0,e[d+(q<<2)>>2]=u0+-1,n0=d+(n0<<2)|0,q=e[n0>>2]|0,e[n0>>2]=u0,n0=m0,u0=q0;p0=h+q|0,D0=u0,M=u0,!((s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)||(n[M+4>>0]|0)!=(n[h+(q+4)>>0]|0));){for(t0=q+5|0,q=0,f=M+5|0;!(f>>>0>z0>>>0||(D0=h+(t0+q)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)q=q+4|0,f=f+4|0;for(;!(f>>>0>=_>>>0||(n[h+(t0+q)>>0]|0)!=(n[f>>0]|0));)q=q+1|0,f=f+1|0;w0=q+5|0,k0=M+w0|0,O0=k0,P0=u0-p0|0;do if(!w0)ix=189;else{for(u0=w0,y0=M,n0=p0;;){if(f=n[y0>>0]|0,t0=n[n0>>0]|0,f<<24>>24!=t0<<24>>24){ix=186;break}if(u0=u0+-1|0,u0)y0=y0+1|0,n0=n0+1|0;else break}if((ix|0)==186&&(ix=0,f<<24>>24!=t0<<24>>24)){ix=187;break x}if(w0>>>0<10){ix=189;break}if(w0>>>0<134){if(w0=q+-1|0,m0=((Dx(w0|0)|0)^31)+-1|0,p0=w0>>>m0,h0=(m0<<1)+p0+20|0,f=n[p+h0>>0]|0,t0=j[k+(h0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=196;break x}if((f&255)>=57){ix=198;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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-(p0<<m0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,m0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=200;break x}if(m0>>>0>=57){ix=202;break x}q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+m0,D0=_x+(h0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1;break}if(w0>>>0>=2118){if(f=n[px>>0]|0,t0=j[$0>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=215;break x}if((f&255)>=57){ix=217;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,n0=S0,D0=y0|D0,t0=u0,u0=t0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=n0,n[t0+1>>0]=n0>>8,n[t0+2>>0]=n0>>16,n[t0+3>>0]=n0>>24,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,t0=q+-2113|0,n0=x0+(f>>>3)|0,u0=s[n0>>0]|0,!((t0&-16777216|0)==0&!0)){ix=219;break x}q0=Sx(t0|0,0,f&7|0)|0,K0=S0,q0=u0|q0,D0=n0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+24,e[Y0>>2]=(e[Y0>>2]|0)+1;break}if(w0=q+-65|0,p0=(Dx(w0|0)|0)^31,m0=p0+28|0,f=n[p+m0>>0]|0,t0=j[k+(m0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=206;break x}if((f&255)>=57){ix=208;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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<<p0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,p0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=210;break x}if(p0>>>0>=57){ix=212;break x}q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+p0,D0=_x+(m0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}while(!1);if((ix|0)==189){if(ix=0,f=q+19|0,t0=n[p+f>>0]|0,n0=j[k+(f<<1)>>1]|0,u0=e[$>>2]|0,y0=x0+(u0>>>3)|0,w0=s[y0>>0]|0,D0=wx(n0|0,0,t0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=190;break x}if((t0&255)>=57){ix=192;break x}q0=Sx(n0|0,0,u0&7|0)|0,K0=S0,q0=w0|q0,D0=y0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+(t0&255),D0=_x+(f<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}if(w0=P0+3|0,m0=((Dx(w0|0)|0)^31)+-1|0,p0=w0>>>m0&1,h0=((m0<<1)+-2|p0)+80|0,f=n[p+h0>>0]|0,t0=j[k+(h0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=222;break x}if((f&255)>=57){ix=224;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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-((p0|2)<<m0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,m0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=226;break x}if(m0>>>0>=57){ix=228;break x}if(q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+m0,D0=_x+(h0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,k0>>>0>=Bx>>>0){q=O0;break t}q=M+(q+2)|0,D0=q,D0=s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,q=q+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,K0=ye(D0|0,q|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,n0=wx(D0|0,q|0,24)|0,n0=ye(n0|0,S0|0,-1124073472,1979815)|0,n0=wx(n0|0,S0|0,cx|0)|0,u0=k0-jx|0,e[d+(K0<<2)>>2]=u0+-3,K0=wx(D0|0,q|0,8)|0,K0=ye(K0|0,S0|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,e[d+(K0<<2)>>2]=u0+-2,q=wx(D0|0,q|0,16)|0,q=ye(q|0,S0|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,cx|0)|0,e[d+(q<<2)>>2]=u0+-1,n0=d+(n0<<2)|0,q=e[n0>>2]|0,e[n0>>2]=u0,n0=P0,u0=O0}t0=M+1|0,f=t0,M=f,f=f+4|0,M=s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,O0=n0,q=u0}while(!1);if(w0=q,w0>>>0>_>>>0){ix=233;break x}if(f=w-ax|0,t0=f>>>0<65536?f:65536,(w|0)==(ax|0)){w=0,ix=254;break}if(n0=sx+t0|0,n0>>>0>=1048577){w=f,ix=254;break}for(Hx(te|0,0,1024)|0,w=0;!(w>>>0>=t0>>>0);)D0=te+(s[hx+(ax+w)>>0]<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,w=w+43|0;for(D0=t0+42|0,w=(D0>>>0)/43|0,D0>>>0<11008?(l0=+(w>>>0),f0=+a0[19516+(w<<2)>>2]):(f0=+(w>>>0),l0=f0,f0=+Kx(f0)),g0=(f0+.5)*l0+200,M=0;(M|0)!=256;)w=e[te+(M<<2)>>2]|0,l0=+(w>>>0),v0=+(s[lx+M>>0]|0),w>>>0<256?f0=+a0[19516+(w<<2)>>2]:f0=+Kx(l0),g0=g0-l0*(v0+f0),M=M+1|0;if(!(g0>=0)){w=f,ix=254;break}if(sx>>>0<=65536){ix=250;break x}for(w=20,_=n0+-1|0,M=Q0;;){if(!w){w=f,mx=vx,ax=t0,sx=n0;continue e}ax=M&7,D0=8-ax|0,D0=w>>>0<D0>>>0?w:D0,sx=x0+(M>>>3)|0,n[sx>>0]=(_&(1<<D0)+-1)<<ax|s[sx>>0]&(-1<<ax+D0|(1<<ax)+255),w=w-D0|0,_=_>>>D0,M=M+D0|0}}e:do if((ix|0)==84)ix=0,D0=p0-r0|0,vx=x0+(d0>>>3)|0,n[vx>>0]=s[vx>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Eu(D0,1,$,x0),vx=(e[$>>2]|0)+7|0,e[$>>2]=vx&-8,Zx(x0+(vx>>>3)|0,r0|0,D0|0)|0,r0=(e[$>>2]|0)+(D0<<3)|0,e[$>>2]=r0,n[x0+(r0>>>3)>>0]=0,w=w+(mx-p0)|0,r0=p0;else if((ix|0)==254)if(ix=0,w0>>>0<_>>>0){if(y0=_-q|0,y0>>>0>=6210){if(!(((q-r0|0)*50|0)>>>0>y0>>>0|H0^1)){D0=_-r0|0,H0=x0+(d0>>>3)|0,n[H0>>0]=s[H0>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Eu(D0,1,$,x0),H0=(e[$>>2]|0)+7|0,e[$>>2]=H0&-8,Zx(x0+(H0>>>3)|0,r0|0,D0|0)|0,r0=(e[$>>2]|0)+(D0<<3)|0,e[$>>2]=r0,n[x0+(r0>>>3)>>0]=0,r0=vx;break}if(y0>>>0<22594){if(r0=n[$x>>0]|0,_=j[ae>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=299;break x}if((r0&255)>=57){ix=301;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-6210|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-16384|0)==0&!0)){ix=303;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Gx>>2]=(e[Gx>>2]|0)+1,t0=0}else{if(r0=n[Rx>>0]|0,_=j[ox>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=306;break x}if((r0&255)>=57){ix=308;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-22594|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-16777216|0)==0&!0)){ix=310;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+24,e[rx>>2]=(e[rx>>2]|0)+1,t0=0}for(;;){if(t0>>>0>=y0>>>0){r0=vx;break e}if(_=s[w0+t0>>0]|0,r0=n[lx+_>>0]|0,_=j[Cx+(_<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=314;break x}if((r0&255)>=57){ix=316;break x}sx=Sx(_|0,0,M&7|0)|0,H0=S0,sx=f|sx,D0=q,Q0=D0,n[Q0>>0]=sx,n[Q0+1>>0]=sx>>8,n[Q0+2>>0]=sx>>16,n[Q0+3>>0]=sx>>24,D0=D0+4|0,n[D0>>0]=H0,n[D0+1>>0]=H0>>8,n[D0+2>>0]=H0>>16,n[D0+3>>0]=H0>>24,e[$>>2]=(e[$>>2]|0)+(r0&255),t0=t0+1|0}}do if(y0>>>0<6){if(r0=y0+40|0,_=n[p+r0>>0]|0,M=j[k+(r0<<1)>>1]|0,q=e[$>>2]|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,D0=wx(M|0,0,_&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=258;break x}if((_&255)>=57){ix=260;break x}Q0=Sx(M|0,0,q&7|0)|0,D0=S0,Q0=t0|Q0,t0=f,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+(_&255),t0=_x+(r0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}else{if(y0>>>0<130){if(t0=y0+-2|0,u0=((Dx(t0|0)|0)^31)+-1|0,n0=t0>>>u0,d0=(u0<<1)+n0+42|0,r0=n[p+d0>>0]|0,_=j[k+(d0<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=264;break x}if((r0&255)>=57){ix=266;break x}if(D0=Sx(_|0,0,M&7|0)|0,_=S0,D0=f|D0,M=q,n[M>>0]=D0,n[M+1>>0]=D0>>8,n[M+2>>0]=D0>>16,n[M+3>>0]=D0>>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[$>>2]|0)+(r0&255)|0,e[$>>2]=q,r0=t0-(n0<<u0)|0,_=x0+(q>>>3)|0,M=s[_>>0]|0,D0=wx(r0|0,0,u0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=268;break x}if(u0>>>0>=57){ix=270;break x}Q0=Sx(r0|0,0,q&7|0)|0,D0=S0,Q0=M|Q0,t0=_,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+u0,t0=_x+(d0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0;break}if(y0>>>0>=2114){if(r0=n[zx>>0]|0,_=j[qx>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=283;break x}if((r0&255)>=57){ix=285;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-2114|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-4096|0)==0&!0)){ix=287;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Fx>>2]=(e[Fx>>2]|0)+1,t0=0;break}if(t0=y0+-66|0,n0=(Dx(t0|0)|0)^31,u0=n0+50|0,r0=n[p+u0>>0]|0,_=j[k+(u0<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=274;break x}if((r0&255)>=57){ix=276;break x}if(D0=Sx(_|0,0,M&7|0)|0,_=S0,D0=f|D0,M=q,n[M>>0]=D0,n[M+1>>0]=D0>>8,n[M+2>>0]=D0>>16,n[M+3>>0]=D0>>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[$>>2]|0)+(r0&255)|0,e[$>>2]=q,r0=t0-(1<<n0)|0,_=x0+(q>>>3)|0,M=s[_>>0]|0,D0=wx(r0|0,0,n0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=278;break x}if(n0>>>0>=57){ix=280;break x}Q0=Sx(r0|0,0,q&7|0)|0,D0=S0,Q0=M|Q0,t0=_,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+n0,t0=_x+(u0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}while(!1);for(;;){if(t0>>>0>=y0>>>0){r0=vx;break e}if(_=s[w0+t0>>0]|0,r0=n[lx+_>>0]|0,_=j[Cx+(_<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=291;break x}if((r0&255)>=57){ix=293;break x}sx=Sx(_|0,0,M&7|0)|0,H0=S0,sx=f|sx,D0=q,Q0=D0,n[Q0>>0]=sx,n[Q0+1>>0]=sx>>8,n[Q0+2>>0]=sx>>16,n[Q0+3>>0]=sx>>24,D0=D0+4|0,n[D0>>0]=H0,n[D0+1>>0]=H0>>8,n[D0+2>>0]=H0>>16,n[D0+3>>0]=H0>>24,e[$>>2]=(e[$>>2]|0)+(r0&255),t0=t0+1|0}}else r0=vx;while(!1);if(!w){ix=320;break}M=w>>>0<98304?w:98304,d0=e[$>>2]|0,Eu(M,0,$,x0),_=x0+((e[$>>2]|0)>>>3)|0,vx=s[_>>0]|0,D0=_,n[D0>>0]=vx,n[D0+1>>0]=vx>>8,n[D0+2>>0]=vx>>16,n[D0+3>>0]=vx>>24,_=_+4|0,n[_>>0]=0,n[_+1>>0]=0,n[_+2>>0]=0,n[_+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,_=Eg(c,r0,M,lx,Cx,$,x0)|0,Cg(_x,p,k,$,x0)}switch(ix|0){case 24:{j0(405740,405401,539,405439);break}case 26:{j0(405474,405401,544,405439);break}case 32:{j0(405779,405401,559,405439);break}case 34:{j0(405800,405401,560,405439);break}case 48:{j0(405815,405401,579,405439);break}case 52:{j0(406196,406218,54,406251);break}case 54:{j0(406267,406218,55,406251);break}case 58:{j0(406196,406218,54,406251);break}case 60:{j0(406267,406218,55,406251);break}case 62:{j0(406196,406218,54,406251);break}case 64:{j0(406267,406218,55,406251);break}case 68:{j0(406196,406218,54,406251);break}case 70:{j0(406267,406218,55,406251);break}case 72:{j0(406196,406218,54,406251);break}case 74:{j0(406267,406218,55,406251);break}case 77:{j0(406196,406218,54,406251);break}case 79:{j0(406267,406218,55,406251);break}case 81:{j0(406196,406218,54,406251);break}case 87:{j0(406196,406218,54,406251);break}case 89:{j0(406267,406218,55,406251);break}case 91:{j0(406196,406218,54,406251);break}case 94:{j0(406196,406218,54,406251);break}case 96:{j0(406267,406218,55,406251);break}case 98:{j0(406196,406218,54,406251);break}case 102:{j0(406196,406218,54,406251);break}case 104:{j0(406267,406218,55,406251);break}case 108:{j0(406196,406218,54,406251);break}case 110:{j0(406267,406218,55,406251);break}case 113:{j0(406196,406218,54,406251);break}case 115:{j0(406267,406218,55,406251);break}case 117:{j0(406196,406218,54,406251);break}case 119:{j0(406267,406218,55,406251);break}case 123:{j0(406196,406218,54,406251);break}case 125:{j0(406267,406218,55,406251);break}case 129:{j0(406196,406218,54,406251);break}case 131:{j0(406267,406218,55,406251);break}case 133:{j0(406196,406218,54,406251);break}case 135:{j0(406267,406218,55,406251);break}case 139:{j0(406196,406218,54,406251);break}case 141:{j0(406267,406218,55,406251);break}case 143:{j0(406196,406218,54,406251);break}case 145:{j0(406267,406218,55,406251);break}case 149:{j0(406196,406218,54,406251);break}case 151:{j0(406267,406218,55,406251);break}case 153:{j0(406196,406218,54,406251);break}case 155:{j0(406267,406218,55,406251);break}case 157:{j0(406196,406218,54,406251);break}case 159:{j0(406267,406218,55,406251);break}case 162:{j0(406196,406218,54,406251);break}case 164:{j0(406267,406218,55,406251);break}case 166:{j0(406196,406218,54,406251);break}case 168:{j0(406196,406218,54,406251);break}case 170:{j0(406267,406218,55,406251);break}case 187:{j0(405815,405401,638,405439);break}case 190:{j0(406196,406218,54,406251);break}case 192:{j0(406267,406218,55,406251);break}case 196:{j0(406196,406218,54,406251);break}case 198:{j0(406267,406218,55,406251);break}case 200:{j0(406196,406218,54,406251);break}case 202:{j0(406267,406218,55,406251);break}case 206:{j0(406196,406218,54,406251);break}case 208:{j0(406267,406218,55,406251);break}case 210:{j0(406196,406218,54,406251);break}case 212:{j0(406267,406218,55,406251);break}case 215:{j0(406196,406218,54,406251);break}case 217:{j0(406267,406218,55,406251);break}case 219:{j0(406196,406218,54,406251);break}case 222:{j0(406196,406218,54,406251);break}case 224:{j0(406267,406218,55,406251);break}case 226:{j0(406196,406218,54,406251);break}case 228:{j0(406267,406218,55,406251);break}case 233:{j0(405853,405401,671,405439);break}case 250:{j0(405503,405401,681,405439);break}case 258:{j0(406196,406218,54,406251);break}case 260:{j0(406267,406218,55,406251);break}case 264:{j0(406196,406218,54,406251);break}case 266:{j0(406267,406218,55,406251);break}case 268:{j0(406196,406218,54,406251);break}case 270:{j0(406267,406218,55,406251);break}case 274:{j0(406196,406218,54,406251);break}case 276:{j0(406267,406218,55,406251);break}case 278:{j0(406196,406218,54,406251);break}case 280:{j0(406267,406218,55,406251);break}case 283:{j0(406196,406218,54,406251);break}case 285:{j0(406267,406218,55,406251);break}case 287:{j0(406196,406218,54,406251);break}case 291:{j0(406196,406218,54,406251);break}case 293:{j0(406267,406218,55,406251);break}case 299:{j0(406196,406218,54,406251);break}case 301:{j0(406267,406218,55,406251);break}case 303:{j0(406196,406218,54,406251);break}case 306:{j0(406196,406218,54,406251);break}case 308:{j0(406267,406218,55,406251);break}case 310:{j0(406196,406218,54,406251);break}case 314:{j0(406196,406218,54,406251);break}case 316:{j0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ix=x0+(c>>>3)|0,d=s[ix>>0]|0,c=Sx(1,0,c&7|0)|0,D0=S0,c=d|c,d=ix,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ix=ix+4|0,n[ix>>0]=D0,n[ix+1>>0]=D0>>8,n[ix+2>>0]=D0>>16,n[ix+3>>0]=D0>>24,ix=(e[$>>2]|0)+1|0,e[$>>2]=ix,D0=x0+(ix>>>3)|0,d=s[D0>>0]|0,x0=Sx(1,0,ix&7|0)|0,ix=S0,x0=d|x0,d=D0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,D0=D0+4|0,n[D0>>0]=ix,n[D0+1>>0]=ix>>8,n[D0+2>>0]=ix>>16,n[D0+3>>0]=ix>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=ge;return}else{n[i0>>0]=0,e[e0>>2]=0,Cg(_x,p,k,e0,i0),c0=ge;return}}}function Eu(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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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=Sx(1,0,d&7|0)|0,d=S0,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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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 Eg(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,i0=0,$=0,x0=0;$=c0,c0=c0+1024|0,i0=$,Hx(i0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=i0+((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=i0+(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=i0+((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=i0+(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(H2(c,i0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[i0+(h<<2)>>2]|0,k&&(f=f+(ex(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function Cg(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,i0=0,$=0,x0=0,r0=0,_=0;_=c0,c0=c0+1872|0,r0=_+704|0,x0=_,i0=_+1736|0,Hx(x0|0,0,704)|0,j2(c,64,15,r0,h),$=h+64|0,j2(c+256|0,64,14,r0,$),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,wn(x0,64,i0),p=f,k=i0,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=i0+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=i0+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=i0+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=i0+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=i0+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,wn($,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,i0=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[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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,i0=x0+64|0,e[i0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[i0+4>>2]=e0,i0=h+16|0,e0=i0,i0=i0+4|0,i0=s[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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]=i0,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,i0=x0+192|0,e[i0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[i0+4>>2]=f,i0=w,f=i0,i0=i0+4|0,i0=s[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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]=i0,c=0;(c|0)!=8;)i0=c<<3,n[x0+(i0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(i0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(i0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;$o(x0,704,r0,l,d),$o($,64,r0,l,d),c0=_}function kg(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0,Lt=0,ze=0,b6=0,Jx=0,me=0,At=0,X6=0,dt=0,Ue=0,ke=0,Ut=0;Ut=c0,c0=c0+4560|0,Ue=Ut+2376|0,ze=Ut+128|0,Lt=Ut+4176|0,X6=Ut+4304|0,At=Ut+3664|0,b6=Ut,_0=Ut+3408|0,Jx=Ut+1864|0,dt=Ut+840|0,me=Ut+832|0,De=d,ie=w,dx=64-((Dx(k|0)|0)^31)|0,B0=(k|0)==0,xx=k>>>0<2147483649,Bx=k+-1|0,Lx=(Bx&k|0)==0,z0=wx(16777215,-1,dx|0)|0,z0=(Bx|0)==(z0|0),Bx=h,mx=w,hx=d,ax=Jx+4|0,sx=Jx+8|0,Q0=Jx+256|0,H0=Jx+336|0,vx=Jx+256|0,jx=b6+64|0,zx=b6+24|0,qx=ze+24|0,Fx=ze+32|0,Mx=b6+48|0,fx=ze+40|0,Ex=b6+8|0,px=ze+48|0,$0=b6+56|0,Y0=ze+56|0,Wx=b6+16|0,$x=Lt+48|0,ae=_0+16|0,Gx=Lt+80|0,Rx=_0+32|0,ox=Lt+112|0,rx=_0+48|0,cx=_0+96|0,_x=Lt+64|0,te=_0+112|0,Cx=Lt+96|0,lx=_0+128|0,ix=ze+64|0,ge=b6+32|0,D0=ze+128|0,re=b6+40|0,Yx=ze+192|0,ux=ze+384|0,K0=dt,be=dt+1024|0,N0=h;x:for(;;){if(!f){ke=155;break}if(q0=f>>>0<131072?f:131072,e[me>>2]=De,L0=N0+q0|0,k=N0,B0){ke=4;break}if(!xx){ke=6;break}if(!Lx){ke=8;break}if(!z0){ke=10;break}e:do if(q0>>>0>15)for(l0=q0+-6|0,O0=f+-16|0,O0=N0+(l0>>>0<O0>>>0?l0:O0)|0,l0=N0+1|0,r0=l0,x0=r0,r0=r0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=-1,t0=ie;;){if(x0=ye(x0|0,r0|0,-1480785920,7733)|0,x0=wx(x0|0,S0|0,dx|0)|0,m0=k,m0>>>0>=l0>>>0){ke=15;break x}for(g0=0-k0|0,h0=l0,d0=32;;){if(y0=h0,r0=d0,d0=d0+1|0,P0=h0,p0=P0,P0=P0+4|0,P0=ye(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,-1480785920,7733)|0,P0=wx(P0|0,S0|0,dx|0)|0,(x0|0)!=(P0|0)){ke=17;break x}if(l0=h0+(r0>>>5)|0,l0>>>0>O0>>>0)break e;if(u0=l0,r0=u0,u0=u0+4|0,u0=ye(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+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=wx(u0|0,S0|0,dx|0)|0,r0=h0+g0|0,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)==(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)&&(n[h0+4>>0]|0)==(n[h0+(4-k0)>>0]|0)&&(g0|0)<0&&(n[h0+5>>0]|0)==(n[h0+(5-k0)>>0]|0)){ke=22;break}if(x0=p+(x0<<2)|0,n0=e[x0>>2]|0,r0=h+n0|0,(n0|0)<0){ke=24;break x}if(r0>>>0>=h0>>>0){ke=26;break x}if(e[x0>>2]=y0-Bx,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)!=(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)){x0=u0,h0=l0;continue}if((n[h0+4>>0]|0)!=(n[h+(n0+4)>>0]|0)){x0=u0,h0=l0;continue}if((n[h0+5>>0]|0)==(n[h+(n0+5)>>0]|0))break;x0=u0,h0=l0}for((ke|0)==22&&(ke=0,e[p+(x0<<2)>>2]=y0-Bx),l0=r0,P0=N0+(q0+-4)|0,x0=0,n0=h0+6|0;;){if(n0>>>0>P0>>>0){p0=x0,x0=n0;break}if(p0=r0+(x0+6)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)){p0=x0,x0=n0;break}x0=x0+4|0,n0=n0+4|0}for(;!(x0>>>0>=L0>>>0||(n[r0+(p0+6)>>0]|0)!=(n[x0>>0]|0));)p0=p0+1|0,x0=x0+1|0;w0=p0+6|0,n0=y0-l0|0,g0=y0-k|0,y0=h0+w0|0,k=y0;t:do if(w0){for(u0=w0,d0=h0;x0=n[d0>>0]|0,l0=n[r0>>0]|0,x0<<24>>24==l0<<24>>24;)if(u0=u0+-1|0,u0)d0=d0+1|0,r0=r0+1|0;else break t;if(x0<<24>>24!=l0<<24>>24){ke=41;break x}}while(!1);do if(g0>>>0>=6){if(g0>>>0<130){l0=g0+-2|0,d0=((Dx(l0|0)|0)^31)+-1|0,u0=l0>>>d0,e[e[me>>2]>>2]=(d0<<1)+u0+2|l0-(u0<<d0)<<8;break}if(g0>>>0<2114){u0=g0+-66|0,d0=(Dx(u0|0)|0)^31,e[e[me>>2]>>2]=d0+10|u0-(1<<d0)<<8;break}if(g0>>>0<6210){e[e[me>>2]>>2]=(g0<<8)+-541184|21;break}if(x0=g0<<8,g0>>>0<22594){e[e[me>>2]>>2]=x0+-1589760|22;break}else{e[e[me>>2]>>2]=x0+-5784064|23;break}}else e[e[me>>2]>>2]=g0;while(!1);e[me>>2]=(e[me>>2]|0)+4,Zx(t0|0,m0|0,g0|0)|0,t0=t0+g0|0,(n0|0)==(k0|0)?(e[e[me>>2]>>2]=64,x0=e[me>>2]|0,n0=k0):(m0=n0+3|0,x0=((Dx(m0|0)|0)^31)+-1|0,k0=m0>>>x0&1,e[e[me>>2]>>2]=((x0<<1)+-2|k0)+80|m0-((k0|2)<<x0)<<8,x0=e[me>>2]|0),x0=x0+4|0,e[me>>2]=x0;do if(w0>>>0>=12){if(w0>>>0<72){w0=p0+-2|0,k0=((Dx(w0|0)|0)^31)+-1|0,m0=w0>>>k0,e[x0>>2]=(k0<<1)+m0+28|w0-(m0<<k0)<<8,e[me>>2]=(e[me>>2]|0)+4;break}if(w0>>>0<136){k0=p0+-2|0,e[x0>>2]=(k0>>>5)+54|k0<<8&7936,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}if(w0>>>0<2120){m0=p0+-66|0,k0=(Dx(m0|0)|0)^31,e[x0>>2]=k0+52|m0-(1<<k0)<<8,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}else{e[x0>>2]=(w0<<8)+-542720|63,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}}else e[x0>>2]=p0+26,e[me>>2]=(e[me>>2]|0)+4;while(!1);if(y0>>>0>=O0>>>0)break e;for(r0=h0+(p0+1)|0,k0=r0,k0=s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,w0=ye(k0|0,r0|0,-1480785920,7733)|0,w0=wx(w0|0,S0|0,dx|0)|0,m0=y0-Bx|0,e[p+(w0<<2)>>2]=m0+-5,w0=wx(k0|0,r0|0,8)|0,w0=ye(w0|0,S0|0,-1480785920,7733)|0,w0=wx(w0|0,S0|0,dx|0)|0,e[p+(w0<<2)>>2]=m0+-4,r0=wx(k0|0,r0|0,16)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=m0+-3,r0=h0+(p0+4)|0,h0=r0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=wx(h0|0,r0|0,16)|0,k0=ye(k0|0,S0|0,-1480785920,7733)|0,k0=wx(k0|0,S0|0,dx|0)|0,p0=ye(h0|0,r0|0,-1480785920,7733)|0,p0=wx(p0|0,S0|0,dx|0)|0,e[p+(p0<<2)>>2]=m0+-2,r0=wx(h0|0,r0|0,8)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=m0+-1,k0=p+(k0<<2)|0,r0=e[k0>>2]|0,e[k0>>2]=m0;u0=h+r0|0,k0=k,x0=k,!((s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+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+(r0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(r0+5)>>0]|0));){for(l0=r0+6|0,r0=0,n0=x0+6|0;!(n0>>>0>P0>>>0||(k0=h+(l0+r0)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24|0)));)r0=r0+4|0,n0=n0+4|0;for(;!(n0>>>0>=L0>>>0||(n[h+(l0+r0)>>0]|0)!=(n[n0>>0]|0));)r0=r0+1|0,n0=n0+1|0;y0=r0+6|0,w0=x0+y0|0,p0=w0,n0=k-u0|0;do if(y0){for(d0=y0,g0=x0;;){if(k=n[g0>>0]|0,l0=n[u0>>0]|0,k<<24>>24!=l0<<24>>24){ke=80;break}if(d0=d0+-1|0,d0)g0=g0+1|0,u0=u0+1|0;else break}if((ke|0)==80&&(ke=0,k<<24>>24!=l0<<24>>24)){ke=81;break x}if(y0>>>0<10){ke=83;break}if(y0>>>0<134){k0=((Dx(r0|0)|0)^31)+-1|0,h0=r0>>>k0,e[e[me>>2]>>2]=(k0<<1)+h0+44|r0-(h0<<k0)<<8;break}if(y0>>>0<2118){h0=r0+-64|0,k0=(Dx(h0|0)|0)^31,e[e[me>>2]>>2]=k0+52|h0-(1<<k0)<<8;break}else{e[e[me>>2]>>2]=(y0<<8)+-542208|63;break}}else ke=83;while(!1);if((ke|0)==83&&(ke=0,e[e[me>>2]>>2]=r0+44),k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,y0=n0+3|0,h0=((Dx(y0|0)|0)^31)+-1|0,m0=y0>>>h0&1,e[k0>>2]=((h0<<1)+-2|m0)+80|y0-((m0|2)<<h0)<<8,e[me>>2]=(e[me>>2]|0)+4,w0>>>0>=O0>>>0){k=p0;break e}h0=x0+(r0+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,m0=ye(k|0,h0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,k0=w0-Bx|0,e[p+(m0<<2)>>2]=k0+-5,m0=wx(k|0,h0|0,8)|0,m0=ye(m0|0,S0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,e[p+(m0<<2)>>2]=k0+-4,h0=wx(k|0,h0|0,16)|0,h0=ye(h0|0,S0|0,-1480785920,7733)|0,h0=wx(h0|0,S0|0,dx|0)|0,e[p+(h0<<2)>>2]=k0+-3,r0=x0+(r0+4)|0,h0=r0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k=wx(h0|0,r0|0,16)|0,k=ye(k|0,S0|0,-1480785920,7733)|0,k=wx(k|0,S0|0,dx|0)|0,m0=ye(h0|0,r0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,e[p+(m0<<2)>>2]=k0+-2,r0=wx(h0|0,r0|0,8)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=k0+-1,k=p+(k<<2)|0,r0=e[k>>2]|0,e[k>>2]=k0,k=p0}l0=x0+1|0,r0=l0,x0=r0,r0=r0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=n0}else t0=ie;while(!1);if(r0=k,r0>>>0>L0>>>0){ke=93;break}if(r0>>>0<L0>>>0){k=L0-k|0;do if(k>>>0>=6){if(k>>>0<130){k0=k+-2|0,O0=((Dx(k0|0)|0)^31)+-1|0,P0=k0>>>O0,e[e[me>>2]>>2]=(O0<<1)+P0+2|k0-(P0<<O0)<<8;break}if(k>>>0<2114){P0=k+-66|0,O0=(Dx(P0|0)|0)^31,e[e[me>>2]>>2]=O0+10|P0-(1<<O0)<<8;break}if(k>>>0<6210){e[e[me>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[me>>2]>>2]=x0+-1589760|22;break}else{e[e[me>>2]>>2]=x0+-5784064|23;break}}else e[e[me>>2]>>2]=k;while(!1);e[me>>2]=(e[me>>2]|0)+4,Zx(t0|0,r0|0,k|0)|0,t0=t0+k|0}if(l0=t0-mx|0,$=+(q0>>>0),+(l0>>>0)<$*.98)ke=126;else{for(Hx(dt|0,0,1024)|0,v0=$*8*.98,k=0;;){if(k>>>0>=q0>>>0){k=K0,$=0,n0=0;break}O0=dt+(s[N0+k>>0]<<2)|0,e[O0>>2]=(e[O0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=be>>>0);)x0=e[k>>2]|0,_=+(x0>>>0),x0>>>0<256?f0=+a0[19516+(x0<<2)>>2]:f0=+Kx(_),r0=e[k+4>>2]|0,M=+(r0>>>0),r0>>>0<256?q=+a0[19516+(r0<<2)>>2]:q=+Kx(M),k=k+8|0,$=$-_*f0-M*q,n0=n0+x0+r0|0;f0=v0/43,M=+(n0>>>0),n0?(n0>>>0<256?_=+a0[19516+(n0<<2)>>2]:_=+Kx(M),q=M,$=$+M*_):q=M,($<q?q:$)<f0?ke=126:(Sg(q0,1,e0,i0),O0=(e[e0>>2]|0)+7|0,e[e0>>2]=O0&-8,Zx(i0+(O0>>>3)|0,N0|0,q0|0)|0,N0=(e[e0>>2]|0)+(q0<<3)|0,e[e0>>2]=N0,n[i0+(N0>>>3)>>0]=0)}if((ke|0)==126){ke=0,y0=(e[me>>2]|0)-hx>>2,Sg(q0,0,e0,i0),x0=i0+((e[e0>>2]|0)>>>3)|0,N0=s[x0>>0]|0,r0=x0,n[r0>>0]=N0,n[r0+1>>0]=N0>>8,n[r0+2>>0]=N0>>16,n[r0+3>>0]=N0>>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,Hx(dt|0,0,1024)|0,x0=b6,r0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(r0|0));for(Hx(_0|0,0,256)|0,Hx(Jx|0,0,512)|0,k=t0-mx|0,x0=0;(x0|0)!=(k|0);)N0=dt+(s[w+x0>>0]<<2)|0,e[N0>>2]=(e[N0>>2]|0)+1,x0=x0+1|0;for(H2(c,dt,l0,8,X6,At,e0,i0),k=0;(k|0)!=(y0|0);)N0=Jx+((e[d+(k<<2)>>2]&255)<<2)|0,e[N0>>2]=(e[N0>>2]|0)+1,k=k+1|0;e[ax>>2]=(e[ax>>2]|0)+1,e[sx>>2]=(e[sx>>2]|0)+1,e[Q0>>2]=(e[Q0>>2]|0)+1,e[H0>>2]=(e[H0>>2]|0)+1,Hx(ze|0,0,704)|0,j2(Jx,64,15,Ue,b6),j2(vx,64,14,Ue,jx),e[ze>>2]=e[zx>>2],e[ze+4>>2]=e[zx+4>>2],e[ze+8>>2]=e[zx+8>>2],e[ze+12>>2]=e[zx+12>>2],e[ze+16>>2]=e[zx+16>>2],e[ze+20>>2]=e[zx+20>>2],r0=b6,k=e[r0+4>>2]|0,x0=qx,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,x0=Mx,k=e[x0+4>>2]|0,r0=Fx,e[r0>>2]=e[x0>>2],e[r0+4>>2]=k,r0=Ex,k=e[r0+4>>2]|0,x0=fx,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,x0=$0,k=e[x0+4>>2]|0,r0=px,e[r0>>2]=e[x0>>2],e[r0+4>>2]=k,r0=Wx,k=e[r0+4>>2]|0,x0=Y0,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,wn(ze,64,Lt),o[_0>>1]=o[$x>>1]|0,o[_0+2>>1]=o[$x+2>>1]|0,o[_0+4>>1]=o[$x+4>>1]|0,o[_0+6>>1]=o[$x+6>>1]|0,o[_0+8>>1]=o[$x+8>>1]|0,o[_0+10>>1]=o[$x+10>>1]|0,o[_0+12>>1]=o[$x+12>>1]|0,o[_0+14>>1]=o[$x+14>>1]|0,o[ae>>1]=o[Gx>>1]|0,o[ae+2>>1]=o[Gx+2>>1]|0,o[ae+4>>1]=o[Gx+4>>1]|0,o[ae+6>>1]=o[Gx+6>>1]|0,o[ae+8>>1]=o[Gx+8>>1]|0,o[ae+10>>1]=o[Gx+10>>1]|0,o[ae+12>>1]=o[Gx+12>>1]|0,o[ae+14>>1]=o[Gx+14>>1]|0,o[Rx>>1]=o[ox>>1]|0,o[Rx+2>>1]=o[ox+2>>1]|0,o[Rx+4>>1]=o[ox+4>>1]|0,o[Rx+6>>1]=o[ox+6>>1]|0,o[Rx+8>>1]=o[ox+8>>1]|0,o[Rx+10>>1]=o[ox+10>>1]|0,o[Rx+12>>1]=o[ox+12>>1]|0,o[Rx+14>>1]=o[ox+14>>1]|0,x0=rx,k=Lt,r0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(r0|0));o[cx>>1]=o[_x>>1]|0,o[cx+2>>1]=o[_x+2>>1]|0,o[cx+4>>1]=o[_x+4>>1]|0,o[cx+6>>1]=o[_x+6>>1]|0,o[cx+8>>1]=o[_x+8>>1]|0,o[cx+10>>1]=o[_x+10>>1]|0,o[cx+12>>1]=o[_x+12>>1]|0,o[cx+14>>1]=o[_x+14>>1]|0,o[te>>1]=o[Cx>>1]|0,o[te+2>>1]=o[Cx+2>>1]|0,o[te+4>>1]=o[Cx+4>>1]|0,o[te+6>>1]=o[Cx+6>>1]|0,o[te+8>>1]=o[Cx+8>>1]|0,o[te+10>>1]=o[Cx+10>>1]|0,o[te+12>>1]=o[Cx+12>>1]|0,o[te+14>>1]=o[Cx+14>>1]|0,wn(jx,64,lx),x0=ze,r0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(r0|0));for(O0=zx,N0=e[O0+4>>2]|0,k=ze,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=ge,N0=e[k+4>>2]|0,O0=ix,e[O0>>2]=e[k>>2],e[O0+4>>2]=N0,O0=re,N0=e[O0+4>>2]|0,k=D0,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=Mx,N0=e[k+4>>2]|0,O0=Yx,e[O0>>2]=e[k>>2],e[O0+4>>2]=N0,O0=$0,N0=e[O0+4>>2]|0,k=ux,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=0;(k|0)!=8;)N0=k<<3,n[ze+(N0+128)>>0]=n[b6+k>>0]|0,n[ze+(N0+256)>>0]=n[b6+(k+8)>>0]|0,n[ze+(N0+448)>>0]=n[b6+(k+16)>>0]|0,k=k+1|0;for($o(ze,704,Ue,e0,i0),$o(jx,64,Ue,e0,i0),k=ie,g0=0;!(g0>>>0>=y0>>>0);){if(d0=e[d+(g0<<2)>>2]|0,u0=d0&255,d0=d0>>>8,x0=n[b6+u0>>0]|0,r0=j[_0+(u0<<1)>>1]|0,t0=e[e0>>2]|0,n0=i0+(t0>>>3)|0,l0=s[n0>>0]|0,N0=wx(r0|0,0,x0&255|0)|0,!((N0|0)==0&(S0|0)==0)){ke=138;break x}if((x0&255)>=57){ke=140;break x}if(N0=Sx(r0|0,0,t0&7|0)|0,t0=S0,N0=l0|N0,r0=n0,n0=r0,n[n0>>0]=N0,n[n0+1>>0]=N0>>8,n[n0+2>>0]=N0>>16,n[n0+3>>0]=N0>>24,r0=r0+4|0,n[r0>>0]=t0,n[r0+1>>0]=t0>>8,n[r0+2>>0]=t0>>16,n[r0+3>>0]=t0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,r0=e[18276+(u0<<2)>>2]|0,t0=i0+(x0>>>3)|0,n0=s[t0>>0]|0,N0=wx(d0|0,0,r0|0)|0,!((N0|0)==0&(S0|0)==0)){ke=142;break x}P0=Sx(d0|0,0,x0&7|0)|0,N0=S0,P0=n0|P0,x0=t0,O0=x0,n[O0>>0]=P0,n[O0+1>>0]=P0>>8,n[O0+2>>0]=P0>>16,n[O0+3>>0]=P0>>24,x0=x0+4|0,n[x0>>0]=N0,n[x0+1>>0]=N0>>8,n[x0+2>>0]=N0>>16,n[x0+3>>0]=N0>>24,x0=(e[e0>>2]|0)+r0|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,r0=n[X6+t0>>0]|0,t0=j[At+(t0<<1)>>1]|0,n0=i0+(x0>>>3)|0,l0=s[n0>>0]|0,N0=wx(t0|0,0,r0&255|0)|0,!((N0|0)==0&(S0|0)==0)){ke=147;break x}if((r0&255)>=57){ke=149;break x}k0=Sx(t0|0,0,x0&7|0)|0,O0=S0,k0=l0|k0,N0=n0,P0=N0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,N0=N0+4|0,n[N0>>0]=O0,n[N0+1>>0]=O0>>8,n[N0+2>>0]=O0>>16,n[N0+3>>0]=O0>>24,N0=(e[e0>>2]|0)+(r0&255)|0,e[e0>>2]=N0,k=k+1|0,x0=N0,u0=u0+1|0}while(!1);g0=g0+1|0}}f=f-q0|0,N0=L0}switch(ke|0){case 4:{j0(405532,405543,251,405590);break}case 6:{j0(405605,405543,252,405590);break}case 8:{j0(405630,405543,254,405590);break}case 10:{j0(405667,405543,256,405590);break}case 15:{j0(405740,405543,289,405590);break}case 17:{j0(405755,405543,295,405590);break}case 24:{j0(405779,405543,309,405590);break}case 26:{j0(405800,405543,310,405590);break}case 41:{j0(405815,405543,329,405590);break}case 81:{j0(405815,405543,378,405590);break}case 93:{j0(405853,405543,415,405590);break}case 138:{j0(406196,406218,54,406251);break}case 140:{j0(406267,406218,55,406251);break}case 142:{j0(406196,406218,54,406251);break}case 147:{j0(406196,406218,54,406251);break}case 149:{j0(406267,406218,55,406251);break}case 155:{if(!l){c0=Ut;return}c=e[e0>>2]|0,Ue=i0+(c>>>3)|0,p=s[Ue>>0]|0,c=Sx(1,0,c&7|0)|0,ke=S0,c=p|c,p=Ue,n[p>>0]=c,n[p+1>>0]=c>>8,n[p+2>>0]=c>>16,n[p+3>>0]=c>>24,Ue=Ue+4|0,n[Ue>>0]=ke,n[Ue+1>>0]=ke>>8,n[Ue+2>>0]=ke>>16,n[Ue+3>>0]=ke>>24,Ue=(e[e0>>2]|0)+1|0,e[e0>>2]=Ue,ke=i0+(Ue>>>3)|0,p=s[ke>>0]|0,i0=Sx(1,0,Ue&7|0)|0,Ue=S0,i0=p|i0,p=ke,n[p>>0]=i0,n[p+1>>0]=i0>>8,n[p+2>>0]=i0>>16,n[p+3>>0]=i0>>24,ke=ke+4|0,n[ke>>0]=Ue,n[ke+1>>0]=Ue>>8,n[ke+2>>0]=Ue>>16,n[ke+3>>0]=Ue>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=Ut;return}}}function Sg(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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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=Sx(1,0,d&7|0)|0,d=S0,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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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 sq(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0,Lt=0,ze=0,b6=0,Jx=0,me=0,At=0,X6=0,dt=0,Ue=0;if(Ue=c0,c0=c0+16|0,X6=Ue+8|0,dt=Ue+4|0,b6=Ue,!(G2(c)|0)||(me=c+5232|0,(e[me>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=Ue,w|0;if(At=c+4|0,p=e[At>>2]|0,p>>>0<2){N0=1<<e[c+8>>2],i0=e[h>>2]|0,i0=i0>>>0<N0>>>0?i0:N0,i0=i0>>>0>131072?131072:i0,q0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,O0=0,P0=0,Jx=20;break}case 1:{e0=c+5208|0,Jx=e[e0>>2]|0,p=Jx;e:do if(Jx)$=p;else{do if((i0|0)==131072)if(p=c+24|0,k=Px[e[q0>>2]&1](e[p>>2]|0,524288)|0,k||kx(1),e[e0>>2]=k,p=Px[e[q0>>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 kx(1);while(!1);if(p=c+24|0,k=Px[e[q0>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),p=Px[e[q0>>2]&1](e[p>>2]|0,i0)|0,!p)kx(1);else{$=k,e0=p,O0=k,P0=p,Jx=20;break x}}while(!1);e0=e[c+5212>>2]|0,O0=0,P0=0,Jx=20;break}default:L0=0}while(!1);do if((Jx|0)==20){t0=c+193|0,n0=c+5220|0,f0=c+196|0,l0=c+200|0,u0=c+20|0,d0=c+24|0,v0=c+192|0,g0=c+4308|0,y0=c+4436|0,w0=c+5204|0,p0=c+4692|0,m0=c+5216|0,h0=c+5224|0,k0=(w|0)==0;x:for(;;){for(p=e[me>>2]|0;;){if((p|0)==1&&(n[t0>>0]|0)!=0){Jx=24;break}if(k=e[n0>>2]|0,k)break;if(p){Jx=49;break x}if(q=e[h>>2]|0,_=N0>>>0<q>>>0?N0:q,q=(q|0)==(_|0)?1:0,p=(_<<1)+502|0,e[X6>>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(yx[e[u0>>2]&1](e[d0>>2]|0,k),e[l0>>2]=0,k=Px[e[q0>>2]&1](e[d0>>2]|0,p)|0,!k){Jx=34;break x}e[l0>>2]=k,e[f0>>2]=p,M=0}else M=0;else M=1,k=e[d>>2]|0;if(n[k>>0]=n[v0>>0]|0,p=Fg(c,e[At>>2]|0,_,dt)|0,i0=e[f>>2]|0,x0=q<<24>>24!=0,r0=e[dt>>2]|0,e[At>>2]|0?kg(q0,i0,_,x0,$,e0,p,r0,X6,k):Ag(q0,i0,_,x0,p,r0,g0,y0,w0,p0,X6,k),e[f>>2]=(e[f>>2]|0)+_,e[h>>2]=(e[h>>2]|0)-_,i0=e[X6>>2]|0,x0=i0>>>3,M<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Jx=41;break x}if(!((i0&7|0)==0|x0>>>0<p>>>0)){Jx=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,k0||(e[w>>2]=p)}else e[m0>>2]=k,e[n0>>2]=x0;if(n[v0>>0]=n[k+((e[X6>>2]|0)>>>3)>>0]|0,n[t0>>0]=e[X6>>2]&7,!(q<<24>>24))continue x;e[me>>2]=2,p=2}if((Jx|0)==24){Jx=0,Ig(c);continue}if(p=e[l>>2]|0,!p){Jx=49;break}p=k>>>0<p>>>0?k:p,Zx(e[d>>2]|0,e[m0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[m0>>2]=(e[m0>>2]|0)+p,e[n0>>2]=(e[n0>>2]|0)-p,p=(e[h0>>2]|0)+p|0,e[h0>>2]=p,!k0&&(e[w>>2]=p)}if((Jx|0)==34)kx(1);else if((Jx|0)==41)j0(406280,406053,1436,406308);else if((Jx|0)==43)j0(406340,406053,1437,406308);else if((Jx|0)==49){if(yx[e[u0>>2]&1](e[d0>>2]|0,O0),yx[e[u0>>2]&1](e[d0>>2]|0,P0),(e[me>>2]|0)!=1){L0=1;break}if(e[n0>>2]|0){L0=1;break}e[me>>2]=0,e[m0>>2]=0,L0=1;break}}while(!1);return w=L0,c0=Ue,w|0}xx=c+80|0,_0=c+152|0,f0=c+12|0,l0=c+193|0,u0=c+5220|0,d0=c+5216|0,v0=c+16|0,g0=c+116|0,y0=c+92|0,w0=c+5236|0,p0=c+5208|0,m0=c+24|0,h0=c+5212|0,k0=c+196|0,P0=c+200|0,O0=c+20|0,N0=c+24|0,q0=c+192|0,L0=c+4308|0,K0=c+4436|0,z0=c+5204|0,Bx=c+4692|0,mx=c+128|0,hx=c+120|0,ax=c+124|0,sx=c+20|0,Q0=c+160|0,H0=c+136|0,vx=c+132|0,jx=c+4|0,zx=c+72|0,qx=c+8|0,Fx=c+144|0,Mx=c+28|0,fx=c+32|0,Ex=c+36|0,px=c+40|0,$0=c+44|0,Y0=c+48|0,Wx=c+52|0,$x=c+56|0,ae=c+60|0,Gx=c+64|0,Rx=c+68|0,ox=c+8|0,rx=c+194|0,cx=c+195|0,_x=c+176|0,te=c+176|0,Cx=c+160|0,lx=c+8|0,ix=c+5224|0,ge=(w|0)==0,D0=c+108|0,re=c+96|0,Yx=c+112|0,ux=c+104|0,be=c+116|0,Lx=c+116|0,De=c+92|0,ie=c+104|0,dx=c+100|0,B0=c+88|0;x:for(;;){if(k=xx,p=_0,p=Mt(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=S0,G2(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&(Lt=e0-p|0,(Lt|0)!=0)&&(ze=e[h>>2]|0,(ze|0)!=0)){if($=Lt>>>0<ze>>>0?Lt:ze,i0=e[f>>2]|0,G2(c)|0){if(p=e[D0>>2]|0,(p|0)==0&&$>>>0<(e[re>>2]|0)>>>0){if(e[D0>>2]=$,p=Px[e[v0>>2]&1](e[m0>>2]|0,$+9|0)|0,!p){Jx=62;break}for(k=e[Yx>>2]|0,k&&(Zx(p|0,k|0,(e[ux>>2]|0)+9|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[ux>>2]=$,e[be>>2]=p+2,n[p+1>>0]=0,n[(e[be>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[be>>2]|0)+((e[ux>>2]|0)+p)>>0]=0,p=p+1|0;Zx(e[Lx>>2]|0,i0|0,$|0)|0}else{if(e0=e[dx>>2]|0,(e[ie>>2]|0)>>>0<e0>>>0){if(p=Px[e[v0>>2]&1](e[m0>>2]|0,e0+9|0)|0,!p){Jx=71;break}for(k=e[Yx>>2]|0,k&&(Zx(p|0,k|0,(e[ux>>2]|0)+9|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[ux>>2]=e0,e[be>>2]=p+2,n[p+1>>0]=0,n[(e[be>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[be>>2]|0)+((e[ux>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Lx>>2]|0)+((e[B0>>2]|0)+-2)>>0]=0,n[(e[Lx>>2]|0)+((e[B0>>2]|0)+-1)>>0]=0,p=e[D0>>2]|0}e0=p&e[De>>2],p=e[re>>2]|0,p>>>0>e0>>>0&&(Jx=p-e0|0,Zx((e[Lx>>2]|0)+((e[B0>>2]|0)+e0)|0,i0|0,($>>>0<Jx>>>0?$:Jx)|0)|0),k=(e[Lx>>2]|0)+e0|0,p=i0,(e0+$|0)>>>0>(e[B0>>2]|0)>>>0?(Jx=(e[dx>>2]|0)-e0|0,Zx(k|0,p|0,($>>>0<Jx>>>0?$:Jx)|0)|0,Jx=e[B0>>2]|0,Zx(e[Lx>>2]|0,p+(Jx-e0)|0,$+(e0-Jx)|0)|0):Zx(k|0,p|0,$|0)|0,p=e[Lx>>2]|0,n[p+-2>>0]=n[p+((e[B0>>2]|0)+-2)>>0]|0,p=e[Lx>>2]|0,n[p+-1>>0]=n[p+((e[B0>>2]|0)+-1)>>0]|0,p=(e[D0>>2]|0)+$|0,e[D0>>2]=p,p>>>0>1073741824&&(e[D0>>2]=p&1073741823|1073741824)}Jx=xx,Jx=Ou(e[Jx>>2]|0,e[Jx+4>>2]|0,$|0,0)|0,p=xx,e[p>>2]=Jx,e[p+4>>2]=S0,p=e[D0>>2]|0,p>>>0<=(e[De>>2]|0)>>>0&&(Jx=(e[Lx>>2]|0)+p|0,n[Jx>>0]=0,n[Jx+1>>0]=0,n[Jx+2>>0]=0,n[Jx+3>>0]=0,n[Jx+4>>0]=0,n[Jx+5>>0]=0,n[Jx+6>>0]=0)}e[f>>2]=(e[f>>2]|0)+$,e[h>>2]=(e[h>>2]|0)-$;continue}if(p=e[me>>2]|0,e0=(p|0)==1,e0&&(n[l0>>0]|0)!=0){Ig(c);continue}if(k=e[u0>>2]|0,i0=(k|0)==0,!i0){if(p=e[l>>2]|0,!p){Jx=234;break}if(p=k>>>0<p>>>0?k:p,Zx(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[ix>>2]|0)+p|0,e[ix>>2]=p,ge)continue;e[w>>2]=p;continue}if(p){Jx=234;break}if(n0=(e[h>>2]|0)==0?1:0,i0=xx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,x0=_0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,_=Mt(e0|0,i0|0,$|0,x0|0)|0,p=S0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(r0=wx($|0,x0|0,30)|0,r0=$&1073741823|((r0&1^1)<<30)+1073741824):r0=$,!(G2(c)|0)){Jx=231;break}if(q=e[g0>>2]|0,t0=e[y0>>2]|0,n[w0>>0]&1){Jx=231;break}if(M=n0<<24>>24==0,M||(n[w0>>0]=1),G2(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&_>>>0>k>>>0){Jx=231;break}if(p=e[At>>2]|0,(p|0)==1)if(e[p0>>2]|0)Jx=114;else{if(p=Px[e[v0>>2]&1](e[m0>>2]|0,524288)|0,!p){Jx=108;break}if(e[p0>>2]=p,p=Px[e[v0>>2]&1](e[m0>>2]|0,131072)|0,!p){Jx=110;break}e[h0>>2]=p,p=e[At>>2]|0,Jx=112}else Jx=112;e:do if((Jx|0)==112)if(Jx=0,(p|0)!=0&&(p|0)!=1){if(k=e[mx>>2]|0,p=k+(_>>>1)+1|0,p>>>0>(e[hx>>2]|0)>>>0){if(p=p+((_>>>2)+16)|0,e[hx>>2]=p,p=Px[e[v0>>2]&1](e[m0>>2]|0,p<<4)|0,!p){Jx=127;break x}k=e[ax>>2]|0,k&&(Zx(p|0,k|0,e[mx>>2]<<4|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[ax>>2]|0),e[ax>>2]=0),e[ax>>2]=p,k=e[mx>>2]|0}else p=e[ax>>2]|0;k=p+(k<<4)|0,p=e[jx>>2]|0;t:do switch(p|0){case 10:{vq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[zx>>2]|0,Q0,H0,k,mx,vx);break}case 11:{Aq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[zx>>2]|0,Q0,H0,k,mx,vx);break}default:{if((p|0)>9)break t;do if((p|0)<5)Jx=139;else{if((e[lx>>2]|0)>=17){Jx=139;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=139}while(!1);r:do if((Jx|0)==139){Jx=0;do switch(p|0){case 40:break r;case 2:{Eq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Mx>>2]|0,Q0,H0,k,mx,vx);break t}case 3:{Cq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[fx>>2]|0,Q0,H0,k,mx,vx);break t}case 4:{kq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Ex>>2]|0,Q0,H0,k,mx,vx);break t}case 5:{Sq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[px>>2]|0,Q0,H0,k,mx,vx);break t}case 6:{Fq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[$0>>2]|0,Q0,H0,k,mx,vx);break t}case 7:{Oq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Y0>>2]|0,Q0,H0,k,mx,vx);break t}case 8:{oq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Wx>>2]|0,Q0,H0,k,mx,vx);break t}case 9:{cq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[$x>>2]|0,Q0,H0,k,mx,vx);break t}case 41:{fq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Gx>>2]|0,Q0,H0,k,mx,vx);break t}case 42:{dq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Rx>>2]|0,Q0,H0,k,mx,vx);break t}default:break t}while(!1)}while(!1);uq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[ae>>2]|0,Q0,H0,k,mx,vx)}}while(!1);e0=e[qx>>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,_=xx,i0=Fx,i0=Mt(e[_>>2]|0,e[_+4>>2]|0,e[i0>>2]|0,e[i0+4>>2]|0)|0,G2(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[At>>2]|0,(p|0)<4?$=((e[vx>>2]|0)+(e[mx>>2]|0)|0)>>>0>12286:$=0;do if(!(M^1|$|(i0+x0|0)>>>0>k>>>0)){if((e[vx>>2]|0)>>>0>=e0>>>0||(e[mx>>2]|0)>>>0>=e0>>>0)break;e0=_0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(t0=wx(k|0,e0|0,30)|0,k=k&1073741823|((t0&1^1)<<30)+1073741824),i0=xx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,i0>>>0>0|(i0|0)==0&e0>>>0>3221225471?($=wx(e0|0,i0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,t0=_0,e[t0>>2]=e0,e[t0+4>>2]=i0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Jx=168;else{if((e[ox>>2]|0)>=17){Jx=168;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=168}while(!1);i:do if((Jx|0)==168){Jx=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[fx>>2]|0,n[t0+262152>>0]=1,e[t0+262156>>2]=0,e[t0+262160>>2]=0;break t}case 4:{t0=e[Ex>>2]|0,n[t0+524304>>0]=1,e[t0+524308>>2]=0,e[t0+524312>>2]=0;break t}case 5:{t0=e[px>>2]|0,n[t0+1081344>>0]=1,e[t0+1081348>>2]=0,e[t0+1081352>>2]=0;break t}case 6:{t0=e[$0>>2]|0,n[t0+2129920>>0]=1,e[t0+2129924>>2]=0,e[t0+2129928>>2]=0;break t}case 7:{t0=e[Y0>>2]|0,n[t0+8454144>>0]=1,e[t0+8454148>>2]=0,e[t0+8454152>>2]=0;break t}case 8:{t0=e[Wx>>2]|0,n[t0+16842752>>0]=1,e[t0+16842756>>2]=0,e[t0+16842760>>2]=0;break t}case 9:{t0=e[$x>>2]|0,n[t0+33619968>>0]=1,e[t0+33619972>>2]=0,e[t0+33619976>>2]=0;break t}case 41:{t0=e[Gx>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}case 42:{t0=e[Rx>>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[ae>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}while(!1);n[(e[zx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[H0>>2]|0,p){k=e[mx>>2]|0,e[mx>>2]=k+1,_=e[ax>>2]|0,e[_+(k<<4)>>2]=p,e[_+(k<<4)+4>>2]=67108864,e[_+(k<<4)+8>>2]=0,o[_+(k<<4)+14>>1]=16,k=_+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){_=p+-2|0,p=((Dx(_|0)|0)^31)+-1|0,p=(p<<1)+(_>>>p)+2|0;break}if(p>>>0<2114){p=((Dx(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);_=p&65535,o[k>>1]=o[88156+((_>>>3)*3<<1)>>1]|(_<<3&56|2)&65535,e[vx>>2]=(e[vx>>2]|0)+(e[H0>>2]|0),e[H0>>2]=0}if(k=xx,p=e[k>>2]|0,k=e[k+4>>2]|0,i0=Fx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,M&((p|0)==(e0|0)&(k|0)==(i0|0))){e[u0>>2]=0;break}if(k>>>0<i0>>>0|(k|0)==(i0|0)&p>>>0<e0>>>0){Jx=194;break x}if(!(k>>>0>i0>>>0|(k|0)==(i0|0)&p>>>0>e0>>>0|M^1)){Jx=196;break x}if(e0=Mt(p|0,k|0,e0|0,i0|0)|0,M=S0,!(M>>>0<0|(M|0)==0&e0>>>0<16777217)){Jx=198;break x}if(p=(e0<<1)+502|0,(e[k0>>2]|0)>>>0<p>>>0){if(yx[e[O0>>2]&1](e[N0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,M=Px[e[v0>>2]&1](e[N0>>2]|0,p)|0,k=M,!M){Jx=202;break x}e[P0>>2]=k,e[k0>>2]=p}else k=e[P0>>2]|0;e[b6>>2]=s[l0>>0],$=k,n[$>>0]=n[q0>>0]|0,x0=q,i0=Fx,Pq(v0,x0,t0,e[i0>>2]|0,e[i0+4>>2]|0,e0,n0<<24>>24!=0,c,n[rx>>0]|0,n[cx>>0]|0,e[vx>>2]|0,e[mx>>2]|0,e[ax>>2]|0,_x,Q0,b6,$),n[q0>>0]=n[$+((e[b6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[b6>>2]&7,$=xx,i0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Fx,e[e0>>2]=i0,e[e0+4>>2]=$,e0=_0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(q=wx(p|0,e0|0,30)|0,p=p&1073741823|((q&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&i0>>>0>3221225471?(e0=wx(i0|0,$|0,30)|0,e0=i0&1073741823|((e0&1^1)<<30)+1073741824):e0=i0,q=_0,e[q>>2]=i0,e[q+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[At>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Jx=214;else{if((e[ox>>2]|0)>=17){Jx=214;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=214}while(!1);i:do if((Jx|0)==214){Jx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{q=e[Mx>>2]|0,n[q+262148>>0]=1,e[q+262152>>2]=0,e[q+262156>>2]=0;break t}case 3:{q=e[fx>>2]|0,n[q+262152>>0]=1,e[q+262156>>2]=0,e[q+262160>>2]=0;break t}case 4:{q=e[Ex>>2]|0,n[q+524304>>0]=1,e[q+524308>>2]=0,e[q+524312>>2]=0;break t}case 5:{q=e[px>>2]|0,n[q+1081344>>0]=1,e[q+1081348>>2]=0,e[q+1081352>>2]=0;break t}case 6:{q=e[$0>>2]|0,n[q+2129920>>0]=1,e[q+2129924>>2]=0,e[q+2129928>>2]=0;break t}case 7:{q=e[Y0>>2]|0,n[q+8454144>>0]=1,e[q+8454148>>2]=0,e[q+8454152>>2]=0;break t}case 8:{q=e[Wx>>2]|0,n[q+16842752>>0]=1,e[q+16842756>>2]=0,e[q+16842760>>2]=0;break t}case 9:{q=e[$x>>2]|0,n[q+33619968>>0]=1,e[q+33619972>>2]=0,e[q+33619976>>2]=0;break t}case 41:{q=e[Gx>>2]|0,n[q+524290>>0]=1,e[q+524292>>2]=0,e[q+524296>>2]=0;break t}case 42:{q=e[Rx>>2]|0,n[q+1311744>>0]=1,e[q+1311748>>2]=0,e[q+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);q=e[ae>>2]|0,n[q+524290>>0]=1,e[q+524292>>2]=0,e[q+524296>>2]=0;break t}while(!1);n[(e[zx>>2]|0)+524304>>0]=1}while(!1);e0=Fx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[rx>>0]=n[x0+(p+-1&t0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;q=Ou(p|0,e0|0,-2,0)|0,n[cx>>0]=n[x0+(q&t0)>>0]|0}while(!1);e[mx>>2]=0,e[vx>>2]=0,e[te>>2]=e[Cx>>2],e[te+4>>2]=e[Cx+4>>2],e[te+8>>2]=e[Cx+8>>2],e[te+12>>2]=e[Cx+12>>2],e[d0>>2]=k,e[u0>>2]=(e[b6>>2]|0)>>>3}else Jx=114;while(!1);do if((Jx|0)==114){if(e[X6>>2]=s[l0>>0],!((e0|0)==($|0)&(i0|0)==(x0|0)^1|M^1)){e[u0>>2]=0;break}if(k=(_<<1)+502|0,p=e[P0>>2]|0,(e[k0>>2]|0)>>>0<k>>>0){if(yx[e[O0>>2]&1](e[N0>>2]|0,p),e[P0>>2]=0,p=Px[e[v0>>2]&1](e[N0>>2]|0,k)|0,!p){Jx=118;break x}e[P0>>2]=p,e[k0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[q0>>0]|0,i0=Fg(c,e[At>>2]|0,_,dt)|0,p=q+(r0&t0)|0,k=n0<<24>>24!=0,e[At>>2]|0?kg(v0,p,_,k,e[p0>>2]|0,e[h0>>2]|0,i0,e[dt>>2]|0,X6,e0):Ag(v0,p,_,k,i0,e[dt>>2]|0,L0,K0,z0,Bx,X6,e0),n[q0>>0]=n[e0+((e[X6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[X6>>2]&7,q=xx,t0=e[q+4>>2]|0,Jx=_0,e[Jx>>2]=e[q>>2],e[Jx+4>>2]=t0,e[d0>>2]=e0,e[u0>>2]=(e[X6>>2]|0)>>>3}while(!1);n0<<24>>24&&(e[me>>2]=2)}switch(Jx|0){case 62:{kx(1);break}case 71:{kx(1);break}case 108:{kx(1);break}case 110:{kx(1);break}case 118:{kx(1);break}case 127:{kx(1);break}case 194:{j0(406017,406053,906,406080);break}case 196:{j0(406103,406053,907,406080);break}case 198:{j0(406149,406053,908,406080);break}case 202:{kx(1);break}case 231:return w=0,c0=Ue,w|0;case 234:return e0^1|i0^1?(w=1,c0=Ue,w|0):(e[me>>2]=0,e[d0>>2]=0,w=1,c0=Ue,w|0)}return 0}function G2(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));Zx(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=Px[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)kx(1);else{e[d>>2]=h,h=l,p=69;break r}break}case 3:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,262164)|0,!h)kx(1);else{e[c+32>>2]=h,h=l,p=70;break r}break}case 4:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,524316)|0,!h)kx(1);else{e[c+36>>2]=h,h=l,p=71;break r}break}case 5:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,1081356)|0,!h)kx(1);else{e[c+40>>2]=h,h=l,p=72;break r}break}case 6:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,2129932)|0,!h)kx(1);else{e[c+44>>2]=h,h=l,p=73;break r}break}case 7:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,8454156)|0,!h)kx(1);else{e[c+48>>2]=h,h=l,p=74;break r}break}case 8:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,16842764)|0,!h)kx(1);else{e[c+52>>2]=h,h=l,p=75;break r}break}case 9:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,33619980)|0,!h)kx(1);else{e[c+56>>2]=h,h=l,p=76;break r}break}case 41:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)kx(1);else{e[c+64>>2]=h,h=l,p=78;break r}break}case 42:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,1311760)|0,!h)kx(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=Px[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)kx(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=Px[e[f>>2]&1](e[c+24>>2]|0,524308)|0,!f)kx(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 Fg(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,yx[e[c+20>>2]&1](e[h>>2]|0,e[f>>2]|0),e[f>>2]=0,c=Px[e[c+16>>2]&1](e[h>>2]|0,d<<2)|0,h=c,!c)kx(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Hx(w|0,0,d<<2|0)|0,w|0}function oq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,_=8)}else c=k+16842752|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&127|$0<<7)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&127|$0<<7)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&127|$0<<7)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+16842760|0,Q0=k+16842756|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=10;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<7,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>128?_+-128|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&127)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&127)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=10;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<7,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>128?l+-128|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&127)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&127)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function cq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,_=8)}else c=k+33619968|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&255|$0<<8)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&255|$0<<8)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&255|$0<<8)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+33619976|0,Q0=k+33619972|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=16;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<8,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>256?_+-256|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&255)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&255)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=16;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<8,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>256?l+-256|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&255)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&255)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function uq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(te=c0,c0=c0+32|0,rx=te+16|0,cx=te,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+524300|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,_x=8)}else c=k+524290|0,n[c>>0]&1&&(Hx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Hx(k+131072|0,0,131072)|0),_x=8;(_x|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,px=d+(Mx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,fx=k+524288|0,Ex=o[fx>>1]|0,o[fx>>1]=Ex+1<<16>>16,$0=Ex&65535,Y0=k+(px<<2)|0,Fx=Mx-(e[Y0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=px,o[k+262144+($0<<2)>>1]=Fx>>>0>65535?65535:Fx,px=k+131072+(px<<1)|0,o[k+262144+($0<<2)+2>>1]=o[px>>1]|0,e[Y0>>2]=Mx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Mx=Y0&65535,$0=k+(Ex<<2)|0,Fx=px-(e[$0>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+(Mx<<2)>>1]=Fx>>>0>65535?65535:Fx,Ex=k+131072+(Ex<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Ex>>1]|0,e[$0>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,$0=o[fx>>1]|0,o[fx>>1]=$0+1<<16>>16,fx=$0&65535,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),L0=rx+4|0,K0=rx+8|0,z0=rx+12|0,Bx=rx+4|0,mx=rx+8|0,hx=rx+12|0,ax=k+524288|0,sx=k+524296|0,Q0=k+524292|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,q0=$,c=M;x:for(;;){O0=q0,N0=_+H0|0;e:for(;;){if(P0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(h0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[L0>>2]=0,e[K0>>2]=0,e[z0>>2]=4240,k0=p&w,l0=e[rx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[rx>>2]=0,e[Bx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(n0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-n0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>h0>>>0?h=l0:_x=17:h>>>0>=p>>>0|n0>>>0>h0>>>0?h=l0:_x=17,(_x|0)==17){for(_x=0,t0=h&w,h=0,M=y0;q=M,!(q>>>0>p0>>>0||(v0=M,g0=d+(t0+h)|0,(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(Cx=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Cx>>>0)?(e[rx>>2]=h,e[mx>>2]=n0,e[hx>>2]=Cx,f=Cx,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,u0=q,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>h0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,f0=j[k+262144+(f0<<2)>>1]|0,!v0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=y0;else continue;for(;M=h,!(M>>>0>p0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[mx>>2]=n0,e[hx>>2]=h,t0=n0,l0=q,f=h,M=f0,q=u0,l=1,h=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,w0=dx&65535,p0=k+(B0<<2)|0,y0=p-(e[p0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(w0<<2)>>1]=y0>>>0>65535?65535:y0,B0=k+131072+(B0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[B0>>1]|0,e[p0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(lx=h&31,ix=h>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=P0>>>0)){for(f=ge+lx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ge|0;!(h>>>0>f>>>0||(B0=d+(k0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(k0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(D0=h0+ix+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,re=(M*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[hx>>2]|0)>>>0)&&(e[rx>>2]=M,e[Bx>>2]=lx^M,e[mx>>2]=D0,e[hx>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){O0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>N0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,k0=f0&w,l0=e[cx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[cx>>2]=0,e[Mx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(q=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-q|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>h0>>>0?l=l0:_x=71:l>>>0>=f0>>>0|q>>>0>h0>>>0?l=l0:_x=71,(_x|0)==71){for(_x=0,M=l&w,l=0,_=y0;f=_,!(f>>>0>p0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=w0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=Yx,h=Yx,c=1):l=l0}l0=l,u0=u0+1|0}M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,u0=f,d0=l;;){if(B0=u0,u0=u0+-1|0,!B0||(q=q+t0|0,q>>>0>h0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,t0=j[k+262144+(t0<<2)>>1]|0,!v0&&(l=M+l0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=y0;else continue;for(;_=l,!(_>>>0>p0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,l0=f,h=l,_=t0,f=u0,c=1,l=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,p0=dx&65535,N0=k+(B0<<2)|0,w0=f0-(e[N0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<2)+2>>1]=o[B0>>1]|0,e[N0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(ux=l&31,be=l>>>5,Lx=(e[11272+(ux<<2)>>2]|0)+(ex(ux,be)|0)|0,ux>>>0<=P0>>>0)){for(h=Lx+ux|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+Lx|0;!(l>>>0>h>>>0||(B0=d+(k0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(k0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=ux>>>0|(_|0)==0)&&(De=h0+be+1+(s[407930+(ux-_)>>0]<<s[280786+ux>>0])|0,ie=(_*540|0)+3840+(ex((Dx(De|0)|0)^31,-120)|0)|0,ie>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=ux^_,e[fx>>2]=De,e[Ex>>2]=ie,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[z0>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],O0=O0+1|0,(O0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[K0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[K0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=q0+16|0,B0=e[L0>>2]|0,l=p^B0,e[q0>>2]=n0,e[q0+4>>2]=p|B0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(N0=c+-12|0,B0=((Dx(N0|0)|0)^31)+-1|0,dx=N0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|N0-((dx|2)<<B0)),e[q0+8>>2]=p,M=c<<16>>16==0,q=q0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,N0=dx&65535,q0=k+(B0<<2)|0,O0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(N0<<2)>>1]=O0>>>0>65535?65535:O0,B0=k+131072+(B0<<1)|0,o[k+262144+(N0<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,q0=t0,c=0}e[i0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(O0-$>>4),c0=te}function fq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(te=c0,c0=c0+32|0,rx=te+16|0,cx=te,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+524300|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,_x=8)}else c=k+524290|0,n[c>>0]&1&&(Hx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Hx(k+131072|0,0,131072)|0),_x=8;(_x|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,px=d+(Mx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,fx=k+524288|0,Ex=o[fx>>1]|0,o[fx>>1]=Ex+1<<16>>16,$0=Ex&65535,Y0=k+(px<<2)|0,Fx=Mx-(e[Y0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=px,o[k+262144+($0<<2)>>1]=Fx>>>0>65535?65535:Fx,px=k+131072+(px<<1)|0,o[k+262144+($0<<2)+2>>1]=o[px>>1]|0,e[Y0>>2]=Mx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Mx=Y0&65535,$0=k+(Ex<<2)|0,Fx=px-(e[$0>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+(Mx<<2)>>1]=Fx>>>0>65535?65535:Fx,Ex=k+131072+(Ex<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Ex>>1]|0,e[$0>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,$0=o[fx>>1]|0,o[fx>>1]=$0+1<<16>>16,fx=$0&65535,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),L0=rx+4|0,K0=rx+8|0,z0=rx+12|0,Bx=rx+4|0,mx=rx+8|0,hx=rx+12|0,ax=k+524288|0,sx=k+524296|0,Q0=k+524292|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,q0=$,c=M;x:for(;;){O0=q0,N0=_+H0|0;e:for(;;){if(P0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(h0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[L0>>2]=0,e[K0>>2]=0,e[z0>>2]=4240,k0=p&w,l0=e[rx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[rx>>2]=0,e[Bx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(n0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-n0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>h0>>>0?h=l0:_x=17:h>>>0>=p>>>0|n0>>>0>h0>>>0?h=l0:_x=17,(_x|0)==17){for(_x=0,t0=h&w,h=0,M=y0;q=M,!(q>>>0>p0>>>0||(v0=M,g0=d+(t0+h)|0,(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(Cx=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Cx>>>0)?(e[rx>>2]=h,e[mx>>2]=n0,e[hx>>2]=Cx,f=Cx,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,u0=q,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>h0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,f0=j[k+262144+(f0<<2)>>1]|0,!v0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=y0;else continue;for(;M=h,!(M>>>0>p0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[mx>>2]=n0,e[hx>>2]=h,t0=n0,l0=q,f=h,M=f0,q=u0,l=1,h=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,w0=dx&65535,p0=k+(B0<<2)|0,y0=p-(e[p0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(w0<<2)>>1]=y0>>>0>65535?65535:y0,B0=k+131072+(B0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[B0>>1]|0,e[p0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(lx=h&31,ix=h>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=P0>>>0)){for(f=ge+lx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ge|0;!(h>>>0>f>>>0||(B0=d+(k0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(k0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(D0=h0+ix+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,re=(M*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[hx>>2]|0)>>>0)&&(e[rx>>2]=M,e[Bx>>2]=lx^M,e[mx>>2]=D0,e[hx>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){O0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>N0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,k0=f0&w,l0=e[cx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[cx>>2]=0,e[Mx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(q=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-q|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>h0>>>0?l=l0:_x=71:l>>>0>=f0>>>0|q>>>0>h0>>>0?l=l0:_x=71,(_x|0)==71){for(_x=0,M=l&w,l=0,_=y0;f=_,!(f>>>0>p0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=w0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=Yx,h=Yx,c=1):l=l0}l0=l,u0=u0+1|0}M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,u0=f,d0=l;;){if(B0=u0,u0=u0+-1|0,!B0||(q=q+t0|0,q>>>0>h0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,t0=j[k+262144+(t0<<2)>>1]|0,!v0&&(l=M+l0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=y0;else continue;for(;_=l,!(_>>>0>p0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,l0=f,h=l,_=t0,f=u0,c=1,l=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,p0=dx&65535,N0=k+(B0<<2)|0,w0=f0-(e[N0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<2)+2>>1]=o[B0>>1]|0,e[N0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(ux=l&31,be=l>>>5,Lx=(e[11272+(ux<<2)>>2]|0)+(ex(ux,be)|0)|0,ux>>>0<=P0>>>0)){for(h=Lx+ux|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+Lx|0;!(l>>>0>h>>>0||(B0=d+(k0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(k0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=ux>>>0|(_|0)==0)&&(De=h0+be+1+(s[407930+(ux-_)>>0]<<s[280786+ux>>0])|0,ie=(_*540|0)+3840+(ex((Dx(De|0)|0)^31,-120)|0)|0,ie>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=ux^_,e[fx>>2]=De,e[Ex>>2]=ie,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[z0>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],O0=O0+1|0,(O0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[K0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[K0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=q0+16|0,B0=e[L0>>2]|0,l=p^B0,e[q0>>2]=n0,e[q0+4>>2]=p|B0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(N0=c+-12|0,B0=((Dx(N0|0)|0)^31)+-1|0,dx=N0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|N0-((dx|2)<<B0)),e[q0+8>>2]=p,M=c<<16>>16==0,q=q0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,N0=dx&65535,q0=k+(B0<<2)|0,O0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(N0<<2)>>1]=O0>>>0>65535?65535:O0,B0=k+131072+(B0<<1)|0,o[k+262144+(N0<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,q0=t0,c=0}e[i0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(O0-$>>4),c0=te}function dq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(_x=c0,c0=c0+32|0,rx=_x+16|0,cx=_x,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+1311756|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,Hx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,ie=8)}else n[k+1311744>>0]&1&&(Hx(k|0,-52,131072)|0,Hx(k+131072|0,0,131072)|0,Hx(k+1310720|0,0,1025)|0),ie=8;(ie|0)==8&&h>>>0>2&f>>>0>2&&(fx=f+-3|0,px=d+(fx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,Y0=px&511,$0=k+1310720+(Y0<<1)|0,Ex=o[$0>>1]|0,o[$0>>1]=Ex+1<<16>>16,Ex=Ex&511,$0=k+(px<<2)|0,Mx=fx-(e[$0>>2]|0)|0,n[(fx&65535)+(k+196608)>>0]=px,o[k+262144+(Y0<<11)+(Ex<<2)>>1]=Mx>>>0>65535?65535:Mx,px=k+131072+(px<<1)|0,o[k+262144+(Y0<<11)+(Ex<<2)+2>>1]=o[px>>1]|0,e[$0>>2]=fx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,$0=Ex&511,fx=k+1310720+($0<<1)|0,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Y0=Y0&511,fx=k+(Ex<<2)|0,Mx=px-(e[fx>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+($0<<11)+(Y0<<2)>>1]=Mx>>>0>65535?65535:Mx,Ex=k+131072+(Ex<<1)|0,o[k+262144+($0<<11)+(Y0<<2)+2>>1]=o[Ex>>1]|0,e[fx>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,fx=Y0&511,px=k+1310720+(fx<<1)|0,$0=o[px>>1]|0,o[px>>1]=$0+1<<16>>16,$0=$0&511,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<11)+($0<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<11)+($0<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),K0=rx+4|0,z0=rx+8|0,Bx=rx+12|0,mx=rx+4|0,hx=rx+8|0,ax=rx+12|0,sx=k+1311752|0,Q0=k+1311748|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=M;x:for(;;){N0=L0,q0=_+H0|0;e:for(;;){if(O0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(k0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,u0=e[rx>>2]|0,h0=d+P0|0,d0=(ex(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[rx>>2]=0,e[mx>>2]=0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f=4240,l=0,l0=0;(l0|0)!=16;){if(n0=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,h=p-n0|0,l0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>k0>>>0?h=u0:ie=17:h>>>0>=p>>>0|n0>>>0>k0>>>0?h=u0:ie=17,(ie|0)==17){for(ie=0,t0=h&w,h=0,M=w0;q=M,!(q>>>0>m0>>>0||(g0=M,y0=d+(t0+h)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=p0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(te=(h*540|0)+(e[11500+(l0<<2)>>2]|0)|0,f>>>0<te>>>0)?(e[rx>>2]=h,e[hx>>2]=n0,e[ax>>2]=te,f=te,l=1):h=u0}u0=h,l0=l0+1|0}y0=d0&511,t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=P0+u0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,l0=q,d0=h;;){if(t0=l0,l0=l0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>k0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(y0<<11)+(d0<<2)+2>>1]|0,f0=j[k+262144+(y0<<11)+(f0<<2)>>1]|0,!v0&&(h=t0+u0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[hx>>2]=n0,e[ax>>2]=h,t0=n0,u0=q,f=h,M=f0,q=l0,l=1,h=d0}if(B0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,p0=B0&511,m0=k+1310720+(p0<<1)|0,dx=o[m0>>1]|0,o[m0>>1]=dx+1<<16>>16,dx=dx&511,m0=k+(B0<<2)|0,w0=p-(e[m0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<11)+(dx<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[m0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(Cx=h&31,lx=h>>>5,ix=(e[11272+(Cx<<2)>>2]|0)+(ex(Cx,lx)|0)|0,Cx>>>0<=O0>>>0)){for(f=ix+Cx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ix|0;!(h>>>0>f>>>0||(B0=d+(P0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(P0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=Cx>>>0|(M|0)==0)&&(ge=k0+lx+1+(s[407930+(Cx-M)>>0]<<s[280786+Cx>>0])|0,D0=(M*540|0)+3840+(ex((Dx(ge|0)|0)^31,-120)|0)|0,D0>>>0>=(e[ax>>2]|0)>>>0)&&(e[rx>>2]=M,e[mx>>2]=Cx^M,e[hx>>2]=ge,e[ax>>2]=D0,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,P0=B0&511,O0=k+1310720+(P0<<1)|0,dx=o[O0>>1]|0,o[O0>>1]=dx+1<<16>>16,dx=dx&511,O0=k+(B0<<2)|0,k0=p-(e[O0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(P0<<11)+(dx<<2)>>1]=k0>>>0>65535?65535:k0,B0=k+131072+(B0<<1)|0,o[k+262144+(P0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[O0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,P0=B0&511,O0=k+1310720+(P0<<1)|0,dx=o[O0>>1]|0,o[O0>>1]=dx+1<<16>>16,dx=dx&511,O0=k+(B0<<2)|0,k0=p-(e[O0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(P0<<11)+(dx<<2)>>1]=k0>>>0>65535?65535:k0,B0=k+131072+(B0<<1)|0,o[k+262144+(P0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[O0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Rx>>>0?f0:Rx,P0=f0&w,u0=e[cx>>2]|0,h0=d+P0|0,d0=(ex(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[cx>>2]=0,e[Mx>>2]=0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,h=4240,c=0,l0=0;(l0|0)!=16;){if(q=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,l=f0-q|0,l0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>k0>>>0?l=u0:ie=71:l>>>0>=f0>>>0|q>>>0>k0>>>0?l=u0:ie=71,(ie|0)==71){for(ie=0,M=l&w,l=0,_=w0;f=_,!(f>>>0>m0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(re=(l*540|0)+(e[11500+(l0<<2)>>2]|0)|0,h>>>0<re>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=re,h=re,c=1):l=u0}u0=l,l0=l0+1|0}y0=d0&511,M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=P0+u0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,l0=f,d0=l;;){if(B0=l0,l0=l0+-1|0,!B0||(q=q+t0|0,q>>>0>k0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(y0<<11)+(d0<<2)+2>>1]|0,t0=j[k+262144+(y0<<11)+(t0<<2)>>1]|0,!v0&&(l=M+u0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=w0;else continue;for(;_=l,!(_>>>0>m0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,u0=f,h=l,_=t0,f=l0,c=1,l=d0}if(B0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,m0=B0&511,q0=k+1310720+(m0<<1)|0,dx=o[q0>>1]|0,o[q0>>1]=dx+1<<16>>16,dx=dx&511,q0=k+(B0<<2)|0,p0=f0-(e[q0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(m0<<11)+(dx<<2)>>1]=p0>>>0>65535?65535:p0,B0=k+131072+(B0<<1)|0,o[k+262144+(m0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(Yx=l&31,ux=l>>>5,be=(e[11272+(Yx<<2)>>2]|0)+(ex(Yx,ux)|0)|0,Yx>>>0<=O0>>>0)){for(h=be+Yx|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+be|0;!(l>>>0>h>>>0||(B0=d+(P0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(P0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=Yx>>>0|(_|0)==0)&&(Lx=k0+ux+1+(s[407930+(Yx-_)>>0]<<s[280786+Yx>>0])|0,De=(_*540|0)+3840+(ex((Dx(Lx|0)|0)^31,-120)|0)|0,De>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=Yx^_,e[fx>>2]=Lx,e[Ex>>2]=De,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,B0=e[K0>>2]|0,l=p^B0,e[L0>>2]=n0,e[L0+4>>2]=p|B0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,B0=((Dx(q0|0)|0)^31)+-1|0,dx=q0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|q0-((dx|2)<<B0)),e[L0+8>>2]=p,M=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,q0=B0&511,L0=k+1310720+(q0<<1)|0,dx=o[L0>>1]|0,o[L0>>1]=dx+1<<16>>16,dx=dx&511,L0=k+(B0<<2)|0,N0=p-(e[L0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(q0<<11)+(dx<<2)>>1]=N0>>>0>65535?65535:N0,B0=k+131072+(B0<<1)|0,o[k+262144+(q0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[L0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=_x}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;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,yx[e[c+4>>2]&1](e[f>>2]|0,e[p>>2]|0),e[p>>2]=0,f=Px[e[c>>2]&1](e[f>>2]|0,d<<3)|0,!f)kx(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function tl(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=+a0[19516+(w<<2)>>2]:l=+Kx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+a0[19516+(d<<2)>>2]:p=+Kx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,a0[d>>2]=p,p<1&&(a0[d>>2]=1)):a0[f+(w<<2)>>2]=k,w=w+1|0}function gn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+1024>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function Cu(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+2816>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function mn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+2080>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function lq(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0;for(vx=c0,c0=c0+6688|0,Q0=vx+2832|0,sx=vx,mx=vx+6432|0,z0=vx+6176|0,hx=vx+5920|0,Bx=vx+5664|0,$=0,m0=0;($|0)!=(f|0);)H0=m0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,m0=H0;for(H0=c+8|0,L0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,L0||kx(1),M=w+1|0,r0=0,_=0;$=d&w,(_|0)!=(f|0);)d=e[h+(_<<4)>>2]|0,($+d|0)>>>0>w>>>0?(q0=M-$|0,Zx(L0+r0|0,l+$|0,q0|0)|0,$=0,x0=d-q0|0,d=r0+q0|0):(x0=d,d=r0),x0&&(Zx(L0+d|0,l+$|0,x0|0)|0,d=d+x0|0),r0=d,d=$+x0+(e[h+(_<<4)+4>>2]&16777215)|0,_=_+1|0;f0=((m0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(m0){if(m0>>>0<128){if(_=k+16|0,d=e[_>>2]|0,M=k+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=k+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[c+4>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=k+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=k+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[c+4>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>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[M>>2]<<2)>>2]=m0,e[M>>2]=(e[M>>2]|0)+1;break}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,f0*1040|0)|0,p0||kx(1),$=0;($|0)!=(f0|0);)Hx(p0+($*1040|0)|0,0,1024)|0,e[p0+($*1040|0)+1024>>2]=0,s0[p0+($*1040|0)+1032>>3]=X0,$=$+1|0;for(_=(m0>>>0)/(f0>>>0)|0,M=m0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((ex(m0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(_>>>0)|0)|0),x0=p0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,r0=L0+(($+70|0)>>>0<m0>>>0?$:M)|0;$=x0+-1|0,!!$;)x0=p0+(l*1040|0)+(s[r0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,r0=r0+1|0;l=l+1|0}for(e[Q0>>2]=7,x0=((m0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,r0=sx+1024|0,_=sx+1032|0,M=m0>>>0>70,l=m0+-69|0,w=sx+1024|0,n0=0;!(n0>>>0>=x0>>>0);){for(Hx(sx|0,0,1028)|0,s0[_>>3]=X0,M?(d=(e[Q0>>2]|0)*16807|0,q0=(d|0)==0,e[Q0>>2]=q0?1:d,$=70,d=((q0?1:d)>>>0)%(l>>>0)|0):($=m0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=L0+d|0;$=$+-1|0,!!$;)q0=sx+(s[d>>0]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,d=d+1|0;for($=(n0>>>0)%(f0>>>0)|0,d=p0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[r0>>2]|0),d=0;(d|0)!=256;)q0=p0+($*1040|0)+(d<<2)|0,e[q0>>2]=(e[q0>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;n0=n0+1|0}q0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,q0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<11)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<3)|0,g0||kx(1),y0=ex(m0,(f0+7|0)>>>3)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<1)|0,w0||kx(1),l0=(e[p+4>>2]|0)<11?3:10,u0=m0+-1|0,d0=q0+u0|0,O0=0,n0=0;x:for(;;){if(n0>>>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)==(m0|0)){r0=1;break e}n[q0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[p0+(d*1040|0)+1024>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,f0)|0,r0=0;;){if((r0|0)==(f0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,f0<<3|0)|0,Hx(y0|0,0,ex(m0,w)|0)|0,r0=0;!(r0>>>0>=m0>>>0);){for($=ex(s[L0+r0>>0]|0,f0)|0,d=q0+r0|0,t0=1e99,x0=0;(x0|0)!=(f0|0);)O0=g0+(x0<<3)|0,q=+s0[O0>>3]+ +s0[v0+($+x0<<3)>>3],s0[O0>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*28.1:q=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}O0=y0+(d+$)|0,n[O0>>0]=n[O0>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=111;break x}l=r0+-1|0,d=d-w|0,r0=q0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(P0=n[r0>>0]|0,O0=$<<24>>24==P0<<24>>24,$=O0?$:P0,x0=O0?x0:x0+1|0),n[r0>>0]=$,r0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=m0>>>0){d=0;break}if(d=s[q0+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>=m0>>>0);){if(P0=q0+d|0,O0=o[w0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=O0,(O0&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}Hx(p0+(d*1040|0)|0,0,1024)|0,e[p0+(d*1040|0)+1024>>2]=0,s0[p0+(d*1040|0)+1032>>3]=X0,d=d+1|0}for(;($|0)!=(m0|0);)O0=s[q0+$>>0]|0,P0=p0+(O0*1040|0)+(s[L0+$>>0]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,O0=p0+(O0*1040|0)+1024|0,e[O0>>2]=(e[O0>>2]|0)+1,$=$+1|0;O0=r0,f0=x0,n0=n0+1|0}if((l|0)==73)j0(404083,403848,80,404281);else if((l|0)==104)j0(404124,403848,130,404281);else if((l|0)==111)j0(404145,403848,141,404281);else if((l|0)==120)j0(404005,403848,165,404260);else if((l|0)==126)j0(404005,403848,172,404260);else if((l|0)==129)j0(404057,403848,174,404260);else if((l|0)==136){for(P0=c+4|0,yx[e[P0>>2]&1](e[H0>>2]|0,v0),yx[e[P0>>2]&1](e[H0>>2]|0,g0),yx[e[P0>>2]&1](e[H0>>2]|0,y0),yx[e[P0>>2]&1](e[H0>>2]|0,w0),yx[e[P0>>2]&1](e[H0>>2]|0,p0),$=O0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((O0<<4)+1008|0)>>>6,p0=Px[e[c>>2]&1](e[H0>>2]|0,M*1040|0)|0,r0=p0,p0||kx(1),p0=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=p0,p0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(O0>>>0<64?O0:64)*1040|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=m0>>>0);){if(d>>>0>=O0>>>0){l=151;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(m0|0)&&(n[q0+x0>>0]|0)==(n[q0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&j0(403825,403848,231,404239),(d|0)!=(O0|0)&&j0(403911,403848,237,404239),l0=M,f0=M,p0=0,$=0,v0=0;;){if(O0>>>0<=v0>>>0){l=193;break}for(d0=O0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*1040|0)|0,Hx(x0|0,0,1024)|0,M=g0+(w*1040|0)+1024|0,e[M>>2]=0,s0[g0+(w*1040|0)+1032>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)m0=g0+(w*1040|0)+(s[L0+$>>0]<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*1040|0)+1032>>3]=+gn(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=vu(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=p0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*1040|0)|0,!d){l=170;break}x0||Zx(d|0,r0|0,l0*1040|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=p0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=179;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+p0|0,M=p0,l=p0,w=0;;){if((w|0)==(u0|0)){d=0;break}m0=z0+(w<<2)|0,w0=e[m0>>2]|0,Zx(d+(M*1040|0)|0,g0+(w0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[mx+(w0<<2)>>2],e[Bx+(e[m0>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=p0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+p0|0,(p0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(n0|0)){l=191;break}p0=d,v0=v0+64|0}if((l|0)==170)kx(1);else if((l|0)==179)kx(1);else if((l|0)==189)j0(403935,403848,273,404239);else if((l|0)==191)j0(403969,403848,274,404239);else if((l|0)==193){yx[e[P0>>2]&1](e[H0>>2]|0,g0),m0=p0<<6,x0=ex(p0>>>1,p0)|0,x0=m0>>>0<x0>>>0?m0:x0;do if((x0+1|0)>>>0>2049){if(yx[e[P0>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){N0=$;break}kx(1)}else N0=y0;while(!1);for(d=p0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(p0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=vu(y0,_,h0,w0,N0,p0,O0,256,x0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,N0),yx[e[P0>>2]&1](e[H0>>2]|0,_),m0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,m0||kx(1),$=0;($|0)!=(p0|0);)e[m0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+1024|0,l0=sx+1032|0,u0=Q0+1024|0,d0=Q0+1024|0,$=0,d=0,v0=0;(v0|0)!=(O0|0);){for(Hx(sx|0,0,1028)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(s[L0+n0>>0]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,1040)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)N0=Q0+(d<<2)|0,e[N0>>2]=(e[N0>>2]|0)+(e[y0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;q=+gn(Q0),q=q-+s0[y0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*1040|0)+1024>>2]|0),_=0;(_|0)!=256;)N0=Q0+(_<<2)|0,e[N0>>2]=(e[N0>>2]|0)+(e[y0+(x0*1040|0)+(_<<2)>>2]|0),_=_+1|0;t0=+gn(Q0),t0=t0-+s0[y0+(x0*1040|0)+1032>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=m0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[P0>>2]&1](e[H0>>2]|0,w0),yx[e[P0>>2]&1](e[H0>>2]|0,r0),_=k+16|0,$=e[_>>2]|0,$>>>0<O0>>>0){for(r0=($|0)==0?O0:$;!(r0>>>0>=O0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=k+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=k+20|0,$=e[_>>2]|0,$>>>0<O0>>>0){for(r0=($|0)==0?O0:$;!(r0>>>0>=O0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=k+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=k+12|0;for(_=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(O0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(O0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[m0+(d<<2)>>2]|0,N0=x0&255,n[(e[_>>2]|0)+l>>0]=N0,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(N0&255)?w&255:x0&255)&255,x0=M}e[k+4>>2]=l,e[k>>2]=(w&255)+1,yx[e[P0>>2]&1](e[H0>>2]|0,m0),yx[e[P0>>2]&1](e[H0>>2]|0,k0),yx[e[P0>>2]&1](e[H0>>2]|0,h0),yx[e[P0>>2]&1](e[H0>>2]|0,q0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,yx[e[k>>2]&1](e[H0>>2]|0,L0),N0=f<<1,q0=Px[e[c>>2]&1](e[H0>>2]|0,N0)|0,q0||kx(1),$=0;($|0)!=(f|0);)o[q0+($<<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(_=e0+16|0,d=e[_>>2]|0,M=e0+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=e0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=e0+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=e0+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>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[M>>2]<<2)>>2]=f,e[M>>2]=(e[M>>2]|0)+1;break}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,l0*2832|0)|0,p0||kx(1),$=0;($|0)!=(l0|0);)Hx(p0+($*2832|0)|0,0,2816)|0,e[p0+($*2832|0)+2816>>2]=0,s0[p0+($*2832|0)+2824>>3]=X0,$=$+1|0;for(r0=(f>>>0)/(l0>>>0)|0,_=f+-41|0,d=7,M=0;(M|0)!=(l0|0);){for($=((ex(M,f)|0)>>>0)/(l0>>>0)|0,M&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(r0>>>0)|0)|0),x0=p0+(M*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=q0+((($+40|0)>>>0<f>>>0?$:_)<<1)|0,$=41;$=$+-1|0,!!$;)L0=p0+(M*2832|0)+(j[x0>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,x0=x0+2|0;M=M+1|0}for(e[Q0>>2]=7,r0=((N0>>>0)/40|0)+100+l0+-1|0,r0=r0-((r0>>>0)%(l0>>>0)|0)|0,_=sx+2816|0,M=sx+2824|0,l=f>>>0>40,w=f+-39|0,n0=sx+2816|0,f0=0;!(f0>>>0>=r0>>>0);){for(Hx(sx|0,0,2820)|0,s0[M>>3]=X0,l?($=(e[Q0>>2]|0)*16807|0,L0=($|0)==0,e[Q0>>2]=L0?1:$,d=40,$=((L0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[n0>>2]=(e[n0>>2]|0)+d,x0=q0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)L0=sx+(j[x0>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=p0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[_>>2]|0),d=0;(d|0)!=704;)L0=p0+($*2832|0)+(d<<2)|0,e[L0>>2]=(e[L0>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}O0=Px[e[c>>2]&1](e[H0>>2]|0,f)|0,O0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,l0*5632|0)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<3)|0,g0||kx(1),y0=ex((l0+7|0)>>>3,f)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<1)|0,w0||kx(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,d0=O0+u0|0,P0=0,n0=0;x:for(;;){if(n0>>>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)){r0=1;break e}n[O0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,l0*5632|0)|0,d=0;;){if((d|0)==(l0|0)){$=704;break}$=e[p0+(d*2832|0)+2816>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,l0)|0,r0=0;;){if((r0|0)==(l0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,l0<<3|0)|0,Hx(y0|0,0,ex(w,f)|0)|0,r0=0;!(r0>>>0>=f>>>0);){for($=ex(j[q0+(r0<<1)>>1]|0,l0)|0,d=O0+r0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)L0=g0+(x0<<3)|0,q=+s0[L0>>3]+ +s0[v0+($+x0<<3)>>3],s0[L0>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*13.5:q=13.5,x0=0;!(x0>>>0>=l0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}L0=y0+(d+$)|0,n[L0>>0]=n[L0>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=357;break x}l=r0+-1|0,d=d-w|0,r0=O0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(P0=n[r0>>0]|0,L0=$<<24>>24==P0<<24>>24,$=L0?$:P0,x0=L0?x0:x0+1|0),n[r0>>0]=$,r0=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[O0+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(P0=O0+d|0,L0=o[w0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=L0,(L0&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}Hx(p0+(d*2832|0)|0,0,2816)|0,e[p0+(d*2832|0)+2816>>2]=0,s0[p0+(d*2832|0)+2824>>3]=X0,d=d+1|0}for(;($|0)!=(f|0);)L0=s[O0+$>>0]|0,P0=p0+(L0*2832|0)+(j[q0+($<<1)>>1]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,L0=p0+(L0*2832|0)+2816|0,e[L0>>2]=(e[L0>>2]|0)+1,$=$+1|0;P0=r0,l0=x0,n0=n0+1|0}if((l|0)==319)j0(404083,403848,80,404221);else if((l|0)==350)j0(404124,403848,130,404221);else if((l|0)==357)j0(404145,403848,141,404221);else if((l|0)==366)j0(404005,403848,165,404200);else if((l|0)==372)j0(404005,403848,172,404200);else if((l|0)==375)j0(404057,403848,174,404200);else if((l|0)==382){for(yx[e[k>>2]&1](e[H0>>2]|0,v0),yx[e[k>>2]&1](e[H0>>2]|0,g0),yx[e[k>>2]&1](e[H0>>2]|0,y0),yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,p0),$=P0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((P0<<4)+1008|0)>>>6,L0=Px[e[c>>2]&1](e[H0>>2]|0,M*2832|0)|0,r0=L0,L0||kx(1),L0=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=L0,L0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(P0>>>0<64?P0:64)*2832|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=P0>>>0){l=397;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[O0+x0>>0]|0)==(n[O0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&j0(403825,403848,231,404179),(d|0)!=(P0|0)&&j0(403911,403848,237,404179),l0=M,f0=M,p0=0,$=0,v0=0;;){if(P0>>>0<=v0>>>0){l=439;break}for(d0=P0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*2832|0)|0,Hx(x0|0,0,2816)|0,M=g0+(w*2832|0)+2816|0,e[M>>2]=0,s0[g0+(w*2832|0)+2824>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)L0=g0+(w*2832|0)+(j[q0+($<<1)>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*2832|0)+2824>>3]=+Cu(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=Dg(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=p0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*2832|0)|0,!d){l=416;break}x0||Zx(d|0,r0|0,l0*2832|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=p0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=425;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+p0|0,M=p0,l=p0,w=0;;){if((w|0)==(u0|0)){d=0;break}L0=z0+(w<<2)|0,m0=e[L0>>2]|0,Zx(d+(M*2832|0)|0,g0+(m0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[mx+(m0<<2)>>2],e[Bx+(e[L0>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=p0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+p0|0,(p0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(n0|0)){l=437;break}p0=d,v0=v0+64|0}if((l|0)==416)kx(1);else if((l|0)==425)kx(1);else if((l|0)==435)j0(403935,403848,273,404179);else if((l|0)==437)j0(403969,403848,274,404179);else if((l|0)==439){yx[e[k>>2]&1](e[H0>>2]|0,g0),L0=p0<<6,x0=ex(p0>>>1,p0)|0,x0=L0>>>0<x0>>>0?L0:x0;do if((x0+1|0)>>>0>2049){if(yx[e[k>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){K0=$;break}kx(1)}else K0=y0;while(!1);for(d=p0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(p0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=Dg(y0,_,h0,w0,K0,p0,P0,256,x0)|0,yx[e[k>>2]&1](e[H0>>2]|0,K0),yx[e[k>>2]&1](e[H0>>2]|0,_),m0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,m0||kx(1),$=0;($|0)!=(p0|0);)e[m0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+2816|0,l0=sx+2824|0,u0=Q0+2816|0,d0=Q0+2816|0,$=0,d=0,v0=0;(v0|0)!=(P0|0);){for(Hx(sx|0,0,2820)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(j[q0+(n0<<1)>>1]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,2832)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)K0=Q0+(d<<2)|0,e[K0>>2]=(e[K0>>2]|0)+(e[y0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;q=+Cu(Q0),q=q-+s0[y0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*2832|0)+2816>>2]|0),_=0;(_|0)!=704;)K0=Q0+(_<<2)|0,e[K0>>2]=(e[K0>>2]|0)+(e[y0+(x0*2832|0)+(_<<2)>>2]|0),_=_+1|0;t0=+Cu(Q0),t0=t0-+s0[y0+(x0*2832|0)+2824>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=m0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,r0),_=e0+16|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=e0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=e0+20|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=e0+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=e0+12|0;for(_=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(P0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[m0+(d<<2)>>2]|0,K0=x0&255,n[(e[_>>2]|0)+l>>0]=K0,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(K0&255)?w&255:x0&255)&255,x0=M}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,yx[e[k>>2]&1](e[H0>>2]|0,m0),yx[e[k>>2]&1](e[H0>>2]|0,k0),yx[e[k>>2]&1](e[H0>>2]|0,h0),yx[e[k>>2]&1](e[H0>>2]|0,O0);break}}}else e[e0>>2]=1;while(!1);for(yx[e[k>>2]&1](e[H0>>2]|0,q0),N0=Px[e[c>>2]&1](e[H0>>2]|0,N0)|0,N0||kx(1),m0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(j[h+(d<<4)+12>>1]|0)>127?(o[N0+(m0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=m0+1|0):$=m0,m0=$,d=d+1|0;if(l0=((m0>>>0)/544|0)+1|0,l0=l0>>>0>50?50:l0,!m0){e[i0>>2]=1,c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}if(m0>>>0<128){if(_=i0+16|0,d=e[_>>2]|0,M=i0+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=i0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=i0+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=i0+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>2]|0}else d=i0+12|0;e[i0>>2]=1,n[(e[i0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[M>>2]<<2)>>2]=m0,e[M>>2]=(e[M>>2]|0)+1,c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,l0*2096|0)|0,p0||kx(1),$=0;($|0)!=(l0|0);)Hx(p0+($*2096|0)|0,0,2080)|0,e[p0+($*2096|0)+2080>>2]=0,s0[p0+($*2096|0)+2088>>3]=X0,$=$+1|0;for(r0=(m0>>>0)/(l0>>>0)|0,_=m0+-41|0,d=7,M=0;(M|0)!=(l0|0);){for($=((ex(m0,M)|0)>>>0)/(l0>>>0)|0,M&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(r0>>>0)|0)|0),x0=p0+(M*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=N0+((($+40|0)>>>0<m0>>>0?$:_)<<1)|0,$=41;$=$+-1|0,!!$;)f=p0+(M*2096|0)+(j[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;M=M+1|0}for(e[Q0>>2]=7,r0=((m0<<1>>>0)/40|0)+100+l0+-1|0,r0=r0-((r0>>>0)%(l0>>>0)|0)|0,_=sx+2080|0,M=sx+2088|0,l=m0>>>0>40,w=m0+-39|0,n0=sx+2080|0,f0=0;!(f0>>>0>=r0>>>0);){for(Hx(sx|0,0,2084)|0,s0[M>>3]=X0,l?($=(e[Q0>>2]|0)*16807|0,f=($|0)==0,e[Q0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=m0,$=0),e[n0>>2]=(e[n0>>2]|0)+d,x0=N0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=sx+(j[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=p0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[_>>2]|0),d=0;(d|0)!=520;)f=p0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}O0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,O0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,l0*4160|0)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<3)|0,g0||kx(1),y0=ex(m0,(l0+7|0)>>>3)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<1)|0,w0||kx(1),f0=(e[p+4>>2]|0)<11?3:10,u0=m0+-1|0,d0=O0+u0|0,P0=0,n0=0;x:for(;;){if(n0>>>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)==(m0|0)){r0=1;break e}n[O0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,l0*4160|0)|0,d=0;;){if((d|0)==(l0|0)){$=520;break}$=e[p0+(d*2096|0)+2080>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,l0)|0,r0=0;;){if((r0|0)==(l0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,l0<<3|0)|0,Hx(y0|0,0,ex(m0,w)|0)|0,r0=0;!(r0>>>0>=m0>>>0);){for($=ex(j[N0+(r0<<1)>>1]|0,l0)|0,d=O0+r0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)p=g0+(x0<<3)|0,q=+s0[p>>3]+ +s0[v0+($+x0<<3)>>3],s0[p>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*14.6:q=14.6,x0=0;!(x0>>>0>=l0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=y0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=606;break x}l=r0+-1|0,d=d-w|0,r0=O0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(f=n[r0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[r0>>0]=$,r0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=m0>>>0){d=0;break}if(d=s[O0+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>=m0>>>0);){if(f=O0+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}Hx(p0+(d*2096|0)|0,0,2080)|0,e[p0+(d*2096|0)+2080>>2]=0,s0[p0+(d*2096|0)+2088>>3]=X0,d=d+1|0}for(;($|0)!=(m0|0);)p=s[O0+$>>0]|0,f=p0+(p*2096|0)+(j[N0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=p0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;P0=r0,l0=x0,n0=n0+1|0}if((l|0)==568)j0(404083,403848,80,404105);else if((l|0)==599)j0(404124,403848,130,404105);else if((l|0)==606)j0(404145,403848,141,404105);else if((l|0)==615)j0(404005,403848,165,404035);else if((l|0)==621)j0(404005,403848,172,404035);else if((l|0)==624)j0(404057,403848,174,404035);else if((l|0)==631){for(yx[e[k>>2]&1](e[H0>>2]|0,v0),yx[e[k>>2]&1](e[H0>>2]|0,g0),yx[e[k>>2]&1](e[H0>>2]|0,y0),yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,p0),$=P0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((P0<<4)+1008|0)>>>6,p=Px[e[c>>2]&1](e[H0>>2]|0,M*2096|0)|0,r0=p,p||kx(1),p=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=p,p||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(P0>>>0<64?P0:64)*2096|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=m0>>>0);){if(d>>>0>=P0>>>0){l=646;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(m0|0)&&(n[O0+x0>>0]|0)==(n[O0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&j0(403825,403848,231,403889),(d|0)!=(P0|0)&&j0(403911,403848,237,403889),l0=M,f0=M,m0=0,$=0,v0=0;;){if(P0>>>0<=v0>>>0){l=688;break}for(d0=P0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*2096|0)|0,Hx(x0|0,0,2080)|0,M=g0+(w*2096|0)+2080|0,e[M>>2]=0,s0[g0+(w*2096|0)+2088>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=g0+(w*2096|0)+(j[N0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*2096|0)+2088>>3]=+mn(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=Au(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=m0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*2096|0)|0,!d){l=665;break}x0||Zx(d|0,r0|0,l0*2096|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=m0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=674;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+m0|0,M=m0,l=m0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=z0+(w<<2)|0,f=e[p>>2]|0,Zx(d+(M*2096|0)|0,g0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[mx+(f<<2)>>2],e[Bx+(e[p>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=m0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+m0|0,(m0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(n0|0)){l=686;break}m0=d,v0=v0+64|0}if((l|0)==665)kx(1);else if((l|0)==674)kx(1);else if((l|0)==684)j0(403935,403848,273,403889);else if((l|0)==686)j0(403969,403848,274,403889);else if((l|0)==688){yx[e[k>>2]&1](e[H0>>2]|0,g0),hx=m0<<6,x0=ex(m0>>>1,m0)|0,x0=hx>>>0<x0>>>0?hx:x0;do if((x0+1|0)>>>0>2049){if(yx[e[k>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){ax=$;break}kx(1)}else ax=y0;while(!1);for(d=m0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(m0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=Au(y0,_,h0,w0,ax,m0,P0,256,x0)|0,yx[e[k>>2]&1](e[H0>>2]|0,ax),yx[e[k>>2]&1](e[H0>>2]|0,_),p0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,p0||kx(1),$=0;($|0)!=(m0|0);)e[p0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+2080|0,l0=sx+2088|0,u0=Q0+2080|0,d0=Q0+2080|0,$=0,d=0,v0=0;(v0|0)!=(P0|0);){for(Hx(sx|0,0,2084)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(j[N0+(n0<<1)>>1]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,2096)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)ax=Q0+(d<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[y0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;q=+mn(Q0),q=q-+s0[y0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*2096|0)+2080>>2]|0),_=0;(_|0)!=520;)ax=Q0+(_<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[y0+(x0*2096|0)+(_<<2)>>2]|0),_=_+1|0;t0=+mn(Q0),t0=t0-+s0[y0+(x0*2096|0)+2088>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=p0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,r0),_=i0+16|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=i0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=i0+20|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=i0+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=i0+12|0;for(_=i0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(P0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[p0+(d<<2)>>2]|0,c=x0&255,n[(e[_>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=M}e[i0+4>>2]=l,e[i0>>2]=(w&255)+1,yx[e[k>>2]&1](e[H0>>2]|0,p0),yx[e[k>>2]&1](e[H0>>2]|0,k0),yx[e[k>>2]&1](e[H0>>2]|0,h0),yx[e[k>>2]&1](e[H0>>2]|0,O0),c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}}}function $o(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0;d0=c0,c0=c0+1552|0,l0=d0+840|0,u0=d0+136|0,t0=d0+72|0,n0=d0+112|0,f0=d0+76|0,M=d0,e[t0>>2]=0,p=n0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=M,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(_=h,w=0):j0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)_=_+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,i0=0;!(x0>>>0>=_>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=_>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(r0=p<<24>>24==0,h=r0?h+1|0:h,w=r0?i0+$|0:i0,$>>>0>3&&!r0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=i0),x0=x0+$|0,e0=p,i0=w}w=e0>>>0>k<<1>>>0&1,h=i0>>>0>h<<1>>>0&1}else w=0,h=0;r0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=_>>>0);){i0=n[c+x0>>0]|0,p=i0<<24>>24==0,p?r0?(h=1,q=30):(w=x0,h=1,q=23):$?(h=1,q=43):(w=x0,h=1,q=23);e:do if((q|0)==23){for(;q=0,w=w+1|0,!(w>>>0>=_>>>0||(n[c+w>>0]|0)!=i0<<24>>24);)h=h+1|0,q=23;if(!p)if(h){q=43;break}else{q=42;break x}if((h|0)!=11)if(h>>>0<3){q=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);)g0=l0+k|0,v0=n[g0>>0]|0,i0=l0+w|0,n[g0>>0]=n[i0>>0]|0,n[i0>>0]=v0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}i0=u0+p|0,v0=n[i0>>0]|0,g0=u0+w|0,n[i0>>0]=n[g0>>0]|0,n[g0>>0]=v0,p=p+1|0}}while(!1);e:do if((q|0)==30)for(q=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((q|0)==43){if(q=0,e0<<24>>24==i0<<24>>24?w=h:(n[l0+(e[t0>>2]|0)>>0]=i0,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]=i0,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=i0;break e}n[l0+(e[t0>>2]|0)>>0]=i0,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,v0=n[e0>>0]|0,g0=l0+w|0,n[e0>>0]=n[g0>>0]|0,n[g0>>0]=v0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=i0;break e}e0=u0+p|0,v0=n[e0>>0]|0,g0=u0+w|0,n[e0>>0]=n[g0>>0]|0,n[g0>>0]=v0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((q|0)==42&&j0(406724,406674,168,406740),h=e[t0>>2]|0,w=0;;){if((w|0)==(h|0)){r0=0,w=0,p=0;break}g0=M+(s[l0+w>>0]<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[M+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=r0;else h=p,w=1;else h=r0;r0=h,p=p+1|0}j2(M,18,5,f,n0),wn(n0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[n0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[n0+1>>0]|0)==0&&(n[n0+2>>0]|0)==0?h=(n[n0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,v0=s[$>>0]|0,f=Sx(h|0,0,f&7|0)|0,g0=S0,f=v0|f,v0=$,n[v0>>0]=f,n[v0+1>>0]=f>>8,n[v0+2>>0]=f>>16,n[v0+3>>0]=f>>24,$=$+4|0,n[$>>0]=g0,n[$+1>>0]=g0>>8,n[$+2>>0]=g0>>16,n[$+3>>0]=g0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[n0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,i0=s[e0>>0]|0,g0=wx(k|0,0,p&255|0)|0,!((g0|0)==0&(S0|0)==0)){q=76;break}M=Sx(k|0,0,$&7|0)|0,v0=S0,M=i0|M,g0=e0,f=g0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>24,g0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=g0,$=g0,h=h+1|0}(q|0)==76&&j0(406196,406218,54,406251),(x0|0)==1&&(n[n0+r0>>0]=0),$=e[t0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){q=94;break}if(i0=s[l0+x0>>0]|0,h=n[n0+i0>>0]|0,w=j[f0+(i0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,g0=wx(w|0,0,h&255|0)|0,!((g0|0)==0&(S0|0)==0)){q=83;break}if((h&255)>=57){q=85;break}switch(t0=Sx(w|0,0,p&7|0)|0,g0=S0,t0=e0|t0,v0=k,n[v0>>0]=t0,n[v0+1>>0]=t0>>8,n[v0+2>>0]=t0>>16,n[v0+3>>0]=t0>>24,k=k+4|0,n[k>>0]=g0,n[k+1>>0]=g0>>8,n[k+2>>0]=g0>>16,n[k+3>>0]=g0>>24,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,i0|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)){q=88;break x}q=Sx(h|0,0,k&7|0)|0,v0=S0,q=p|q,g0=w,t0=g0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>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)){q=91;break x}q=Sx(h|0,0,k&7|0)|0,v0=S0,q=p|q,g0=w,t0=g0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((q|0)==83)j0(406196,406218,54,406251);else if((q|0)==85)j0(406267,406218,55,406251);else if((q|0)==88)j0(406196,406218,54,406251);else if((q|0)==91)j0(406196,406218,54,406251);else if((q|0)==94){c0=d0;return}}function hq(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function pq(){return c0|0}function bq(c){c=c|0,c0=c}function gq(c,h){c=c|0,h=h|0,c0=c,A0=h}function mq(c,h){c=c|0,h=h|0,I0||(I0=c,U0=h)}function Wu0(c){c=c|0,n[b0>>0]=n[c>>0],n[b0+1>>0]=n[c+1>>0],n[b0+2>>0]=n[c+2>>0],n[b0+3>>0]=n[c+3>>0]}function Ku0(c){c=c|0,n[b0>>0]=n[c>>0],n[b0+1>>0]=n[c+1>>0],n[b0+2>>0]=n[c+2>>0],n[b0+3>>0]=n[c+3>>0],n[b0+4>>0]=n[c+4>>0],n[b0+5>>0]=n[c+5>>0],n[b0+6>>0]=n[c+6>>0],n[b0+7>>0]=n[c+7>>0]}function wq(c){c=c|0,S0=c}function yq(){return S0|0}function Dq(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(dx=c0,c0=c0+224|0,re=dx+200|0,ix=dx+184|0,be=dx+168|0,ux=dx+152|0,ge=dx+144|0,Yx=dx+140|0,Lx=dx+136|0,D0=dx+24|0,$=dx+20|0,_=dx+16|0,x0=dx+12|0,M=dx+8|0,q=dx+4|0,ie=dx,e[ie>>2]=w,i0=d,f0=p,De=l>>>24,De=(De<<2|2)+((l-(De<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,De=k?1:De>>>0<l>>>0?0:De,!w)return d=0,ie=e[ie>>2]|0,ie=d?ie:-1,c0=dx,ie|0;if(k)return e[ie>>2]=1,n[p>>0]=6,d=1,ie=e[ie>>2]|0,ie=d?ie:-1,c0=dx,ie|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:t0=7:(h=16,t0=7),$=1<<h,ox=$+-16|0,e[ix>>2]=e[4721],e[ix+4>>2]=e[4722],e[ix+8>>2]=e[4723],e[ix+12>>2]=e[4724],e[be>>2]=e[4721],e[be+4>>2]=e[4722],e[be+8>>2]=e[4723],e[be+12>>2]=e[4724],rx=e[ie>>2]|0,$=$>>>0>l>>>0?l:$,cx=1<<((h|0)>23?24:h+1|0),_x=cx>>>3,e[ux>>2]=0,te=ux+4|0,e[te>>2]=10,k=ux+8|0,e[k>>2]=h,Cx=ux+12|0,e[Cx>>2]=0,e[te>>2]=10,te=(h|0)>16?(h|0)>18?18:h:16,e[Cx>>2]=te,te=1<<te,e[re>>2]=1,Cx=re+4|0,e[Cx>>2]=1,lx=re+8|0,e[lx>>2]=0,l>>>0>=2147483649&&j0(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),Rx=Ng(0,524308)|0,Rx||kx(1),e[Rx+524292>>2]=0,e[Rx+524300>>2]=0,n[Rx+524304>>0]=1,i0=Rx+524304|0,h=1<<e[k>>2],e[Rx>>2]=h+-1,h=1-h|0,Gx=Rx+524296|0,e[Gx>>2]=h,k=0;(k|0)!=131072;)e[Rx+4+(k<<2)>>2]=h,k=k+1|0;h=Rx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Rx+524292|0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Px[e[re>>2]&1](e[lx>>2]|0,$<<3)|0,!e0)kx(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[i0>>0]=0,ax=Rx+524292|0,sx=D0+8|0,Q0=D0+12|0,H0=D0+28|0,vx=D0+32|0,jx=D0+36|0,zx=D0+48|0,qx=D0+52|0,Fx=D0+56|0,Mx=D0+60|0,fx=D0+72|0,Ex=D0+80|0,px=D0+88|0,$0=D0+96|0,Y0=D0+104|0,Wx=D0+8|0,$x=D0+32|0,ae=D0+56|0,k=f0,mx=0,hx=1,Bx=0,r0=0,_=0;x:for(;;){if(h=(hx&1)==0,!((h^1)&mx>>>0<l>>>0)){t0=93;break}for(K0=mx+cx|0,K0=K0>>>0>l>>>0?l:K0,q0=(((K0-mx|0)>>>0)/12|0)+16|0,e[ge>>2]=0,e[Yx>>2]=0,h=0,L0=mx,k0=0,O0=0,M=0,z0=0;;){if(K0>>>0<=L0>>>0){i0=h,f0=O0,c=M,e0=z0;break}if(N0=K0-L0|0,N0=N0>>>0<te>>>0?N0:te,P0=Px[e[re>>2]&1](e[lx>>2]|0,(N0<<4)+16|0)|0,!P0){t0=27;break x}for(h=N0+1|0,e0=0;(e0|0)!=(h|0);)e[P0+(e0<<4)>>2]=1,e[P0+(e0<<4)+4>>2]=0,e[P0+(e0<<4)+8>>2]=0,a0[P0+(e0<<4)+12>>2]=X0,e0=e0+1|0;e:do if(N0>>>0>2&L0>>>0>127)for(h0=L0+-127|0,m0=h0+N0|0,m0=L0>>>0<m0>>>0?L0:m0;;){if(h0>>>0>=m0>>>0)break e;for(i0=e[Rx>>2]|0,g0=L0-h0|0,g0=i0-(g0>>>0<15?15:g0)|0,y0=h0&2147483647,w0=d+y0|0,d0=Rx+4+((ex(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,i0=(h0&i0)<<1,e[d0>>2]=h0,d0=0,$=0,v0=0,e0=i0,i0=i0|1,p0=64;;){if(l0=u0&2147483647,(h0|0)==(u0|0)|(h0-u0|0)>>>0>g0>>>0|(p0|0)==0){t0=36;break}if(f0=$>>>0<v0>>>0?$:v0,f0>>>0>=129){t0=38;break x}for(t0=y0+f0|0,n0=d+(l0+128)|0,c=d+(l0+124)|0,q=0,h=d+(l0+f0)|0;!(h>>>0>c>>>0||(B0=d+(t0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=n0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;f0=f0+q|0;t:do if(f0){for(h=f0,t0=w0,n0=d+l0|0;c=n[t0>>0]|0,q=n[n0>>0]|0,c<<24>>24==q<<24>>24;)if(h=h+-1|0,h)t0=t0+1|0,n0=n0+1|0;else break t;if(c<<24>>24!=q<<24>>24){t0=51;break x}}while(!1);if(d0){t0=53;break x}if(f0>>>0>=128){t0=55;break}h=e[ax>>2]|0,(s[d+(y0+f0)>>0]|0)>(s[d+(l0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Rx>>2])<<1|1,$=f0,h=v0,e0=c,c=(e[ax>>2]|0)+(c<<2)|0):(e[h+(i0<<2)>>2]=u0,c=(u0&e[Rx>>2])<<1,h=f0,i0=c,c=(e[ax>>2]|0)+(c<<2)|0),d0=0,v0=h,u0=e[c>>2]|0,p0=p0+-1|0}(t0|0)==36?(e[(e[ax>>2]|0)+(e0<<2)>>2]=e[Gx>>2],e[(e[ax>>2]|0)+(i0<<2)>>2]=e[Gx>>2]):(t0|0)==55&&(B0=e[ax>>2]|0,e[B0+(e0<<2)>>2]=e[B0+((u0&e[Rx>>2])<<1<<2)>>2],B0=e[ax>>2]|0,e[B0+(i0<<2)>>2]=e[B0+(((u0&e[Rx>>2])<<1|1)<<2)>>2]),h0=h0+1|0}while(!1);if(e0=z0+(Pg(re,N0,L0,d,2147483647,ux,ox,ix,Rx,P0)|0)|0,i0=e0+1|0,i0=q0>>>0>i0>>>0?q0:i0,(k0|0)!=(i0|0)){if(h=Px[e[re>>2]&1](e[lx>>2]|0,i0<<4)|0,$=h,!h){t0=63;break x}O0&&(B0=O0,Zx(h|0,B0|0,z0<<4|0)|0,yx[e[Cx>>2]&1](e[lx>>2]|0,B0))}else i0=k0,$=O0;if(rl(N0,L0,ox,P0,ix,ge,$+(z0<<4)|0,Yx),M=M+N0|0,yx[e[Cx>>2]&1](e[lx>>2]|0,P0),h=e[Yx>>2]|0,h>>>0>_x>>>0){i0=h,f0=$,c=M;break}if(e0>>>0>_x>>>0){i0=h,f0=$,c=M;break}else L0=L0+N0|0,k0=i0,O0=$,z0=e0}if(h=e[ge>>2]|0,!h)h=i0;else{i0=e0+1|0,B0=f0,e[B0+(e0<<4)>>2]=h,e[B0+(e0<<4)+4>>2]=67108864,e[B0+(e0<<4)+8>>2]=0,o[B0+(e0<<4)+14>>1]=16,e0=B0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){B0=h+-2|0,h=((Dx(B0|0)|0)^31)+-1|0,h=(h<<1)+(B0>>>h)+2|0;break}if(h>>>0<2114){h=((Dx(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[Yx>>2]|0)+(e[ge>>2]|0)|0,e[Yx>>2]=h,e0=i0}q=mx+c|0,M=(q|0)==(l|0),f=f&255,e[Lx>>2]=f;do if(c){if(!(Tg(d,2147483647,mx,0,c,h,e0)|0)){if(e[ix>>2]=e[be>>2],e[ix+4>>2]=e[be+4>>2],e[ix+8>>2]=e[be+8>>2],e[ix+12>>2]=e[be+12>>2],h=Px[e[re>>2]&1](e[lx>>2]|0,c+16|0)|0,!h){t0=83;break x}n[h>>0]=x0,Du(M,d,mx,2147483647,c,Lx,h);break}e[D0>>2]=0,e[D0+4>>2]=0,e[D0+8>>2]=0,e[D0+12>>2]=0,e[D0+16>>2]=0,e[D0+20>>2]=0,e[D0+24>>2]=0,e[H0>>2]=0,e[H0+4>>2]=0,e[H0+8>>2]=0,e[H0+12>>2]=0,e[H0+16>>2]=0,e[zx>>2]=0,e[qx>>2]=0,e[qx+4>>2]=0,e[qx+8>>2]=0,e[qx+12>>2]=0,e[qx+16>>2]=0,t0=fx,n0=t0+40|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(n0|0));if(i0=nl(d,mx,2147483647,c)|0,i0=i0?2:3,$=f0,Mg(re,d,mx,2147483647,ux,Bx,r0,$,e0,i0,D0),Lg(0,0,D0),h=Px[e[re>>2]&1](e[lx>>2]|0,(c<<1)+502|0)|0,!h){t0=86;break x}n[h>>0]=x0,dg(re,d,mx,c,2147483647,Bx,r0,M,0,0,i0,$,e0,D0,Lx,h),(c+4|0)>>>0<(e[Lx>>2]|0)>>>3>>>0&&(e[ix>>2]=e[be>>2],e[ix+4>>2]=e[be+4>>2],e[ix+8>>2]=e[be+8>>2],e[ix+12>>2]=e[be+12>>2],n[h>>0]=x0,e[Lx>>2]=f,Du(M,d,mx,2147483647,c,Lx,h)),yx[e[Cx>>2]&1](e[lx>>2]|0,e[Wx>>2]|0),e[sx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Q0>>2]|0),e[Q0>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[$x>>2]|0),e[vx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[jx>>2]|0),e[jx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[ae>>2]|0),e[Fx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Mx>>2]|0),e[Mx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[fx>>2]|0),e[fx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Ex>>2]|0),e[Ex>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[px>>2]|0),e[px>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[$0>>2]|0),e[$0>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Y0>>2]|0),e[Y0>>2]=0}else{if(h=Px[e[re>>2]&1](e[lx>>2]|0,16)|0,!h){t0=79;break x}n[h>>0]=x0,B0=e[Lx>>2]|0,mx=h+(B0>>>3)|0,z0=s[mx>>0]|0,K0=Sx(3,0,B0&7|0)|0,Bx=S0,K0=z0|K0,z0=mx,n[z0>>0]=K0,n[z0+1>>0]=K0>>8,n[z0+2>>0]=K0>>16,n[z0+3>>0]=K0>>24,mx=mx+4|0,n[mx>>0]=Bx,n[mx+1>>0]=Bx>>8,n[mx+2>>0]=Bx>>16,n[mx+3>>0]=Bx>>24,e[Lx>>2]=B0+9&-8}while(!1);i0=e[Lx>>2]|0,e0=i0>>>3,x0=n[h+e0>>0]|0,$=n[d+(q+-1)>>0]|0,r0=n[d+(q+-2)>>0]|0,e[be>>2]=e[ix>>2],e[be+4>>2]=e[ix+4>>2],e[be+8>>2]=e[ix+8>>2],e[be+12>>2]=e[ix+12>>2],_=_+e0|0,_>>>0>rx>>>0?e0=0:(Zx(k|0,h|0,e0|0)|0,k=k+e0|0,e0=hx),yx[e[Cx>>2]&1](e[lx>>2]|0,h),yx[e[Cx>>2]&1](e[lx>>2]|0,f0),f=i0&7,mx=q,hx=e0,Bx=$}if((t0|0)==27)kx(1);else if((t0|0)==38)j0(405873,405905,373,405932);else if((t0|0)==51)j0(405955,405905,378,405932);else if((t0|0)==53)Pi();else if((t0|0)==63)kx(1);else if((t0|0)==79)kx(1);else if((t0|0)==83)kx(1);else if((t0|0)==86)kx(1);else if((t0|0)==93){if(e[ie>>2]=_,yx[e[Cx>>2]&1](e[lx>>2]|0,e[ax>>2]|0),e[ax>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,Rx),h){t0=107;break}if((De|0)!=0&&(e[ie>>2]|0)>>>0>De>>>0){t0=106;break}else h=1;return B0=e[ie>>2]|0,B0=h?B0:-1,c0=dx,B0|0}}else{if(r0=al(5240)|0,!r0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;e[r0+16>>2]=1,e[r0+20>>2]=1,e[r0+24>>2]=0,e[r0>>2]=0,e[r0+4>>2]=11,e[r0+8>>2]=22,e[r0+12>>2]=0,t0=r0+80|0,e[t0>>2]=0,e[t0+4>>2]=0,e[r0+128>>2]=0,e[r0+132>>2]=0,e[r0+136>>2]=0,t0=r0+144|0,e[r0+4300>>2]=0,e[r0+4304>>2]=0,k=r0+5204|0,e[r0+5232>>2]=0,n[r0+5236>>0]=0,n[r0+5237>>0]=0,e[r0+28>>2]=0,e0=r0+32|0,e[t0>>2]=0,e[t0+4>>2]=0,e[t0+8>>2]=0,e[t0+12>>2]=0,t0=r0+194|0,n0=t0+10|0;do n[t0>>0]=0,t0=t0+1|0;while((t0|0)<(n0|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=r0+104|0,t0=e0,n0=t0+44|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(n0|0));if(e[k>>2]=0,e[r0+108>>2]=0,e[r0+112>>2]=0,e[r0+116>>2]=0,e[r0+124>>2]=0,e[r0+120>>2]=0,e[r0+160>>2]=4,e[r0+164>>2]=11,e[r0+168>>2]=15,e[r0+172>>2]=16,B0=r0+176|0,Lx=r0+160|0,e[B0>>2]=e[Lx>>2],e[B0+4>>2]=e[Lx+4>>2],e[B0+8>>2]=e[Lx+8>>2],e[B0+12>>2]=e[Lx+12>>2],!r0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;if(e[$>>2]=l,e[_>>2]=i0,e[x0>>2]=e[ie>>2],e[M>>2]=f0,e[q>>2]=0,n[r0+5237>>0]&1||(e[r0+4>>2]=c,e[r0+8>>2]=h,e[r0>>2]=f),h=sq(r0,$,_,x0,M,q)|0,(e[r0+5232>>2]|0)==2&&(e[r0+5220>>2]|0)==0?f=h&1:f=0,e[ie>>2]=e[q>>2],$=r0+200|0,h=e[r0+20>>2]|0,k=e[r0+24>>2]|0,yx[h&1](k,e[$>>2]|0),e[$>>2]=0,$=r0+124|0,e0=r0+20|0,i0=r0+24|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[$>>2]|0),e[$>>2]=0,yx[e[e0>>2]&1](e[i0>>2]|0,e[r0+112>>2]|0),e[r0+112>>2]=0,$=r0+28|0,x0=e[r0+72>>2]|0,x0&&(B0=x0+524292|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0),B0=r0+72|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[$>>2]|0),e[$>>2]=0,Lx=r0+32|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+36|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+40|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+44|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+48|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+52|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+56|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+60|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+64|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+68|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+4300|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+5208|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+5212|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,yx[h&1](k,r0),f<<24>>24)if((De|0)!=0&&(e[ie>>2]|0)>>>0>De>>>0)t0=106;else return d=1,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;else t0=107}while(!1);if((t0|0)==106){if(e[ie>>2]=0,De>>>0>w>>>0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0}else if((t0|0)==107&&(e[ie>>2]=0,(De|0)==0|De>>>0>w>>>0))return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|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:i0=1):(h=x0,i0=0):(h=16777216,t0=113),(t0|0)==113&&(t0=0,i0=2),e0=i0<<1|(h<<3)+-8|1<<(i0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(i0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),Zx(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[ie>>2]=$+1,d=1,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0}function rl(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0;for(d0=d+8|0,v0=d+12|0,g0=d+4|0,e0=e[l+12>>2]|0,i0=0,w0=0;(e0|0)!=-1;){x0=i0+e0|0,r0=l+(x0<<4)|0,_=e[r0>>2]|0,y0=_&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=i0+$|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,r0=e[r0>>2]|0,r0=(r0&16777215)+9-(r0>>>24)|0,n0=u0+h|0,n0=l0>>>0>(n0>>>0<f>>>0?n0: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]=y0|(r0^_)<<24,i0=p+(w0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[i0>>1]=x0,i0=x0,x0=0):(q=f0+-12|0,x0=((Dx(q|0)|0)^31)+-1|0,t0=q>>>x0&1,M=((x0<<1)+65534|t0)+16&65535,o[i0>>1]=M,i0=M,x0=x0<<24|q-((t0|2)<<x0)),e[p+(w0<<4)+8>>2]=x0,q=i0<<16>>16==0,t0=p+(w0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){_=$+-2|0,M=((Dx(_|0)|0)^31)+-1|0,M=(M<<1)+(_>>>M)+2&65535;break}if($>>>0<2114){M=((Dx($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?M=21:M=$>>>0<22594?22:23}else M=$&65535;while(!1);do if(r0>>>0>=10){if(r0>>>0<134){_=r0+-6|0,i0=((Dx(_|0)|0)^31)+-1|0,i0=(i0<<1)+(_>>>i0)+4&65535;break}r0>>>0<2118?i0=((Dx(r0+-70|0)|0)^31)+12&65535:i0=23}else i0=r0+65534&65535;while(!1);x0=i0&65535,r0=M&65535,_=x0&7|r0<<3&56,q&(M&65535)<8&(i0&65535)<16?i0=((i0&65535)<8?_:_|64)&65535:i0=o[88156+((x0>>>3)+((r0>>>3)*3|0)<<1)>>1]|_&65535,o[t0>>1]=i0,n0|(f0|0)==0||(e[v0>>2]=e[d0>>2],e[d0>>2]=e[g0>>2],e[g0>>2]=e[d>>2],e[d>>2]=l0),e[k>>2]=(e[k>>2]|0)+$,i0=u0+y0|0,w0=w0+1|0}e[w>>2]=(e[w>>2]|0)+(c-i0)}function Pg(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0;Mx=c0,c0=c0+6320|0,jx=Mx+6160|0,qx=Mx+1252|0,Fx=Mx+1024|0,zx=Mx,H0=(e[w+4>>2]|0)<11?150:325,vx=h>>>0>127?f+h+-127|0:f,e[i0>>2]=0,a0[i0+12>>2]=0,e[qx+4904>>2]=h,sx=c+8|0,$=Px[e[c>>2]&1](e[sx>>2]|0,(h<<2)+8|0)|0,$||kx(1),Q0=qx+4896|0,e[Q0>>2]=$,Bg(qx,f,l,d),L0=Fx+224|0,e[L0>>2]=0,K0=zx,z0=w+4|0,Bx=e0+524292|0,mx=e0+524296|0,hx=zx,ax=zx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){n0=98;break}for(q0=$+f|0,N0=q0>>>0<p>>>0?q0:p,P0=h-$|0,k0=q0&d,d0=(e[z0>>2]|0)!=11?16:64,d0=q0>>>0<d0>>>0?0:q0-d0|0,O0=l+k0|0,f0=l+(k0+1)|0,u0=k0+P0|0,l0=l+u0|0,u0=l+(u0+-4)|0,x0=K0,_=1,r0=q0;r0=r0+-1|0,!(!(r0>>>0>d0>>>0&_>>>0<3)||(t0=q0-r0|0,t0>>>0>N0>>>0));){if(n0=r0&d,(n[O0>>0]|0)!=(n[l+n0>>0]|0)){m0=_,h0=x0,_=m0,x0=h0;continue}if((n[f0>>0]|0)==(n[l+(n0+1)>>0]|0))M=0,q=O0;else{m0=_,h0=x0,_=m0,x0=h0;continue}for(;!(q>>>0>u0>>>0||(h0=l+(n0+M)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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,q=q+4|0;for(;!(q>>>0>=l0>>>0||(n[l+(n0+M)>>0]|0)!=(n[q>>0]|0));)M=M+1|0,q=q+1|0;if(M>>>0<=_>>>0){m0=_,h0=x0,_=m0,x0=h0;continue}_=x0,e[_>>2]=t0,e[_+4>>2]=M<<5,x0=_+8|0,_=M}do if(_>>>0<P0>>>0){for(m0=P0>>>0<128?P0:128,h0=P0>>>0>127,r0=e0+4+((ex(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,506832829)|0)>>>15<<2)|0,t0=e[r0>>2]|0,M=(q0&e[e0>>2])<<1,q=M|1,h0?(e[r0>>2]=q0,w0=0,p0=0,y0=64):(w0=0,p0=0,y0=64);;){if(v0=q0-t0|0,g0=t0&d,(q0|0)==(t0|0)|v0>>>0>N0>>>0|(y0|0)==0){n0=22;break}if(d0=w0>>>0<p0>>>0?w0:p0,d0>>>0>=129){n0=25;break x}for(l0=k0+d0|0,n0=g0+P0|0,u0=l+n0|0,n0=l+(n0+-4)|0,f0=0,r0=l+(g0+d0)|0;!(r0>>>0>n0>>>0||(fx=l+(l0+f0)|0,(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)f0=f0+4|0,r0=r0+4|0;for(;!(r0>>>0>=u0>>>0||(n[l+(l0+f0)>>0]|0)!=(n[r0>>0]|0));)f0=f0+1|0,r0=r0+1|0;d0=d0+f0|0;e:do if(d0){for(r0=d0,l0=O0,u0=l+g0|0;n0=n[l0>>0]|0,f0=n[u0>>0]|0,n0<<24>>24==f0<<24>>24;)if(r0=r0+-1|0,r0)l0=l0+1|0,u0=u0+1|0;else break e;if(n0<<24>>24!=f0<<24>>24){n0=38;break x}}while(!1);if(r0=x0,(x0|0)!=0&d0>>>0>_>>>0&&(e[r0>>2]=v0,e[r0+4>>2]=d0<<5,x0=r0+8|0,_=d0),d0>>>0>=m0>>>0){n0=42;break}(s[l+(k0+d0)>>0]|0)>(s[l+(g0+d0)>>0]|0)?(h0&&(e[(e[Bx>>2]|0)+(M<<2)>>2]=t0),n0=(t0&e[e0>>2])<<1|1,t0=d0,r0=p0,M=n0,n0=(e[Bx>>2]|0)+(n0<<2)|0):(h0&&(e[(e[Bx>>2]|0)+(q<<2)>>2]=t0),n0=(t0&e[e0>>2])<<1,t0=w0,r0=d0,q=n0,n0=(e[Bx>>2]|0)+(n0<<2)|0),w0=t0,p0=r0,t0=e[n0>>2]|0,y0=y0+-1|0}if((n0|0)==22){if(!h0)break;e[(e[Bx>>2]|0)+(M<<2)>>2]=e[mx>>2],e[(e[Bx>>2]|0)+(q<<2)>>2]=e[mx>>2];break}else if((n0|0)==42){if(!h0)break;fx=e[Bx>>2]|0,e[fx+(M<<2)>>2]=e[fx+((t0&e[e0>>2])<<1<<2)>>2],fx=e[Bx>>2]|0,e[fx+(q<<2)>>2]=e[fx+(((t0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(r0=0;(r0|0)!=38;)e[jx+(r0<<2)>>2]=268435455,r0=r0+1|0;_=_+1|0,_=_>>>0<4?4:_;e:do if(jg(O0,_,P0,jx)|0)for(M=P0>>>0>37?37:P0;;){if(_>>>0>M>>>0)break e;r0=e[jx+(_<<2)>>2]|0,r0>>>0<268435455&&(fx=r0&31,e[x0>>2]=N0+(r0>>>5)+1,e[x0+4>>2]=_<<5|((_|0)==(fx|0)?0:fx),x0=x0+8|0),_=_+1|0}while(!1);x0=x0-hx>>3;do if(x0){if(r0=x0+-1|0,(e[zx+(r0<<3)+4>>2]|0)>>>5>>>0<=H0>>>0){if(fx=x0,ku(h,f,$,l,d,w,p,k,fx,zx,qx,Fx,i0),(fx|0)!=1)break}else O0=zx+(r0<<3)|0,N0=e[O0+4>>2]|0,fx=zx,e[fx>>2]=e[O0>>2],e[fx+4>>2]=N0,ku(h,f,$,l,d,w,p,k,1,zx,qx,Fx,i0);if(x0=(e[ax>>2]|0)>>>5,x0>>>0>H0>>>0){for(k0=q0+x0|0,k0=k0>>>0<vx>>>0?k0:vx,h0=(q0+64|0)>>>0>k0>>>0?q0+1|0:k0+-63|0;!(h0>>>0>=k0>>>0);){for(_=e[e0>>2]|0,y0=_+-15|0,w0=h0&d,p0=l+w0|0,v0=e0+4+((ex(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24,506832829)|0)>>>15<<2)|0,d0=e[v0>>2]|0,_=(h0&_)<<1,e[v0>>2]=h0,v0=0,M=0,g0=0,r0=_,_=_|1,m0=64;;){if(u0=d0&d,(h0|0)==(d0|0)|(h0-d0|0)>>>0>y0>>>0|(m0|0)==0){n0=71;break}if(l0=M>>>0<g0>>>0?M:g0,l0>>>0>=129){n0=73;break x}for(n0=w0+l0|0,f0=l+(u0+128)|0,q=l+(u0+124)|0,t0=0,x0=l+(u0+l0)|0;!(x0>>>0>q>>>0||(fx=l+(n0+t0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)t0=t0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(n0+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,n0=p0,f0=l+u0|0;q=n[n0>>0]|0,t0=n[f0>>0]|0,q<<24>>24==t0<<24>>24;)if(x0=x0+-1|0,x0)n0=n0+1|0,f0=f0+1|0;else break e;if(q<<24>>24!=t0<<24>>24){n0=86;break x}}while(!1);if(v0){n0=88;break x}if(l0>>>0>=128){n0=90;break}x0=e[Bx>>2]|0,(s[l+(w0+l0)>>0]|0)>(s[l+(u0+l0)>>0]|0)?(e[x0+(r0<<2)>>2]=d0,q=(d0&e[e0>>2])<<1|1,M=l0,x0=g0,r0=q,q=(e[Bx>>2]|0)+(q<<2)|0):(e[x0+(_<<2)>>2]=d0,q=(d0&e[e0>>2])<<1,x0=l0,_=q,q=(e[Bx>>2]|0)+(q<<2)|0),v0=0,g0=x0,d0=e[q>>2]|0,m0=m0+-1|0}(n0|0)==71?(e[(e[Bx>>2]|0)+(r0<<2)>>2]=e[mx>>2],e[(e[Bx>>2]|0)+(_<<2)>>2]=e[mx>>2]):(n0|0)==90&&(fx=e[Bx>>2]|0,e[fx+(r0<<2)>>2]=e[fx+((d0&e[e0>>2])<<1<<2)>>2],fx=e[Bx>>2]|0,e[fx+(_<<2)>>2]=e[fx+(((d0&e[e0>>2])<<1|1)<<2)>>2]),h0=h0+1|0}$=$+(((e[ax>>2]|0)>>>5)+-1)|0,e[L0>>2]=0}}else ku(h,f,$,l,d,w,p,k,0,zx,qx,Fx,i0);while(!1);$=$+1|0}if((n0|0)==25)j0(405873,405905,373,405932);else if((n0|0)==38)j0(405955,405905,378,405932);else if((n0|0)==73)j0(405873,405905,373,405932);else if((n0|0)==86)j0(405955,405905,378,405932);else if((n0|0)==88)Pi();else if((n0|0)==98){for(yx[e[c+4>>2]&1](e[sx>>2]|0,e[Q0>>2]|0),e[Q0>>2]=0;!(e[i0+(h<<4)+8>>2]|0||(e[i0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[i0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[i0+(h<<4)>>2]&16777215)+(e[i0+(h<<4)+8>>2]|0)|0,fx=h-d|0,e[i0+(fx<<4)+12>>2]=d,h=fx,$=$+1|0;return c0=Mx,$|0}return 0}function Bg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;n0=c0,c0=c0+4128|0,$=n0+4112|0,_=n0+1040|0,M=n0+1024|0,i0=n0,q=e[c+4904>>2]|0,t0=e[c+4896>>2]|0;x:do if(nl(f,h,l,q)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,i0=0;(i0|0)!=(q|0);)d=n[f+(i0+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,i0=i0+1|0;for(r0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Hx(_|0,0,3072)|0,e0=q>>>0>495?495:q,e[M>>2]=0,e[M+4>>2]=0,e[M+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){i0=0;break}p=n[f+(x0+h&l)>>0]|0,i0=p&255,f0=_+(d<<10)+(i0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=M+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=r0:d=$>>>0<224?0:r0:d=0,$=i0,x0=x0+1|0}for(;(i0|0)!=(q|0);)i0>>>0>=495&&(i0>>>0>=496?(d=i0+h|0,p=s[f+(d+-496&l)>>0]|0,i0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=r0:d=d>>>0<224?0:r0:d=0):d=0,f0=_+(d<<10)+((s[f+(i0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=M+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(i0+495|0)>>>0<q>>>0&&(p=i0+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=r0:d=(p&255)<224?0:r0:d=0,f0=_+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=M+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),i0?(d=i0+h|0,p=s[f+(d+-1&l)>>0]|0,i0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=r0:d=d>>>0<224?0:r0:d=0):d=0,p=e[_+(d<<10)+((s[f+(i0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[M+(d<<2)>>2]|0,d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(+(d>>>0)),p>>>0<256?w=+a0[19516+(p<<2)>>2]:w=+Kx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,i0>>>0<2e3&&(w=w+(.7-+((2e3-i0|0)>>>0)/2e3*.35)),a0[t0+(i0+1<<2)>>2]=w,i0=i0+1|0}else{for(Hx(i0|0,0,1024)|0,d=q>>>0>2e3?2e3:q,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=i0+((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)==(q|0))break x;e0>>>0>=2e3&&(f0=i0+((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<q>>>0&&(f0=i0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[i0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(+(d>>>0)),p>>>0<256?w=+a0[19516+(p<<2)>>2]:w=+Kx(+(p>>>0)),k=k-w+.029,a0[t0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(a0[t0>>2]=0,w=0,d=0;;){if((d|0)==(q|0)){p=0;break}f0=d+1|0,l=t0+(f0<<2)|0,k=+a0[l>>2]+w,a0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+a0[19516+(d<<2)>>2]:w=+Kx(+(d>>>0)),a0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+a0[19516+(d<<2)>>2]:w=+Kx(+(d>>>0)),a0[c+2816+(p<<2)>>2]=w,p=p+1|0;a0[c+4900>>2]=3.4594316482543945,c0=n0}function ku(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0;if(vx=c0,c0=c0+64|0,l0=vx+36|0,f0=vx+8|0,H0=vx,Bx=h+f|0,mx=Bx&d,z0=Bx>>>0<p>>>0?Bx:p,hx=c-f|0,K0=(e[w+4>>2]|0)<11,L0=K0?150:325,K0=K0?1:5,n0=e[r0+(f<<4)+12>>2]|0,h=e[r0+(f<<4)>>2]&16777215,w=e[r0+(f<<4)+8>>2]|0,M=e[r0+(f<<4)+4>>2]|0,q=M&33554431,f?(q+h|0)>>>0>Bx>>>0|q>>>0>p>>>0|(M>>>25|0)==1?h=e[r0+(f-h-w<<4)+12>>2]|0:h=f:h=0,M=r0+(f<<4)+12|0,e[M>>2]=h,t0=(e[b0>>2]=n0,+a0[b0>>2]),q0=$+4896|0,w=e[q0>>2]|0,_=+a0[w+(f<<2)>>2],!(t0<=_-+a0[w>>2]))n0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=n0,h=e[q0>>2]|0,a0[f0+20>>2]=t0-(+a0[h+(f<<2)>>2]-+a0[h>>2]),h=0,w=M;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}N0=e[r0+(w<<4)+8>>2]|0,O0=e[r0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[r0+(w<<4)+4>>2]&33554431,h=h+1|0,w=r0+(w-O0-N0<<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(n0=x0+224|0,h=e[n0>>2]|0,p=h+1|0,e[n0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,q=x0+(h*28|0)|0,e[q>>2]=e[f0>>2],e[q+4>>2]=e[f0+4>>2],e[q+8>>2]=e[f0+8>>2],e[q+12>>2]=e[f0+12>>2],e[q+16>>2]=e[f0+16>>2],e[q+20>>2]=e[f0+20>>2],e[q+24>>2]=e[f0+24>>2],q=1;!(q>>>0>=p>>>0);)M=h&7,h=h+1|0,w=h&7,+a0[x0+(M*28|0)+20>>2]>+a0[x0+(w*28|0)+20>>2]&&(O0=x0+(M*28|0)|0,e[l0>>2]=e[O0>>2],e[l0+4>>2]=e[O0+4>>2],e[l0+8>>2]=e[O0+8>>2],e[l0+12>>2]=e[O0+12>>2],e[l0+16>>2]=e[O0+16>>2],e[l0+20>>2]=e[O0+20>>2],e[l0+24>>2]=e[O0+24>>2],N0=x0+(w*28|0)|0,e[O0>>2]=e[N0>>2],e[O0+4>>2]=e[N0+4>>2],e[O0+8>>2]=e[N0+8>>2],e[O0+12>>2]=e[N0+12>>2],e[O0+16>>2]=e[N0+16>>2],e[O0+20>>2]=e[N0+20>>2],e[O0+24>>2]=e[N0+24>>2],e[N0>>2]=e[l0>>2],e[N0+4>>2]=e[l0+4>>2],e[N0+8>>2]=e[l0+8>>2],e[N0+12>>2]=e[l0+12>>2],e[N0+16>>2]=e[l0+16>>2],e[N0+20>>2]=e[l0+20>>2],e[N0+24>>2]=e[l0+24>>2]),q=q+1|0;N0=e[q0>>2]|0,w=N0,_=+a0[N0+(f<<2)>>2]}M=0-(e[n0>>2]|0)&7,h=2,_=+a0[x0+(M*28|0)+24>>2]+ +a0[$+4900>>2]+(_-+a0[w+(e[x0+(M*28|0)>>2]<<2)>>2]),M=4,q=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+a0[r0+(w<<4)+12>>2]<=_))break x;h=h+1|0}while((h|0)!=(q|0));N0=q+M|0,h=q,_=_+1,M=M<<1,q=N0}for(p0=h+-1|0,m0=l+mx|0,k0=mx+hx|0,h0=l+k0|0,k0=l+(k0+-4)|0,P0=H0+4|0,O0=H0+4|0,N0=0;;){if(N0>>>0>=K0>>>0){h=82;break}if(w=e[n0>>2]|0,N0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}d0=N0-w&7,v0=f-(e[x0+(d0*28|0)>>2]|0)|0;do if(v0>>>0>=6){if(v0>>>0<130){w0=v0+-2|0,w=((Dx(w0|0)|0)^31)+-1|0,w=(w<<1)+(w0>>>w)+2&65535;break}if(v0>>>0<2114){w=((Dx(v0+-66|0)|0)^31)+10&65535;break}v0>>>0<6210?w=21:w=v0>>>0<22594?22:23}else w=v0&65535;while(!1);for(w0=w&65535,y0=e[q0>>2]|0,g0=+a0[x0+(d0*28|0)+20>>2]+ +((e[17268+(w0<<2)>>2]|0)>>>0)+(+a0[y0+(f<<2)>>2]-+a0[y0>>2]),y0=w0<<3&56,w0=(w0>>>3)*3|0,c=(w&65535)<8,w=p0,u0=0;u0>>>0<16&w>>>0<hx>>>0;){p=(e[x0+(d0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,M=Bx-p|0;x:do if(!(M>>>0>=Bx>>>0|p>>>0>z0>>>0)&&(ax=M&d,sx=mx+w|0,sx>>>0<=d>>>0)&&(Q0=ax+w|0,Q0>>>0<=d>>>0)&&(n[l+sx>>0]|0)==(n[l+Q0>>0]|0)){for(M=0,q=m0;!(q>>>0>k0>>>0||(l0=l+(ax+M)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)M=M+4|0,q=q+4|0;for(;!(q>>>0>=h0>>>0||(n[l+(ax+M)>>0]|0)!=(n[q>>0]|0));)M=M+1|0,q=q+1|0;for(t0=g0+ +a0[$+2816+(u0<<2)>>2],l0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>M>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Dx(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Dx(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,q=p&7|y0,((l0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?q:q|64)&65535:w=o[88156+((p>>>3)+w0<<1)>>1]|q&65535,_=((w&65535)<128?g0:t0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +a0[$+((w&65535)<<2)>>2],w=k+f|0,!(_<+a0[r0+(w<<4)+12>>2])){w=k;continue}e[r0+(w<<4)>>2]=k|150994944,e[r0+(w<<4)+4>>2]=f0,e[r0+(w<<4)+8>>2]=v0,a0[r0+(w<<4)+12>>2]=_,w=k}}while(!1);u0=u0+1|0}x:do if(N0>>>0<=1)for(k=h,d0=0;;){if((d0|0)==(e0|0))break x;for(f0=i0+(d0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=H0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>z0>>>0,w=p&1,M=c+15|0,u0=wx(c|0,f0|0,37)|0,M>>>0<16?q=0:(jx=c+3|0,q=((Dx(jx|0)|0)^31)+-1|0,l0=jx>>>q&1,M=((q<<1)+65534|l0)+16|0,q=q<<24|jx-((l0|2)<<q)),t0=g0+ +(q>>>24>>>0)+ +a0[$+2816+((M&65535)<<2)>>2],k>>>0<u0>>>0&&(jx=p|u0>>>0>L0>>>0,w=jx?w:0,k=jx?u0:k),l0=w<<24>>24==0,q=wx(c|0,f0|0,37)|0,q=q+1|0,p=k>>>0>q>>>0,f0=k;!(f0>>>0>u0>>>0);){l0?w=f0:(w=e[P0>>2]&31,w||(w=(e[O0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){jx=w+-6|0,M=((Dx(jx|0)|0)^31)+-1|0,M=(M<<1)+(jx>>>M)+4|0;break}w>>>0<2118?M=((Dx(w+-70|0)|0)^31)+12|0:M=23}else M=w+65534|0;while(!1);jx=M&65535,_=t0+ +((e[17460+(jx<<2)>>2]|0)>>>0)+ +a0[$+(((o[88156+((jx>>>3)+w0<<1)>>1]|(M&7|y0)&65535)&65535)<<2)>>2],M=f0+f|0,_<+a0[r0+(M<<4)+12>>2]&&(e[r0+(M<<4)>>2]=f0|f0+9-w<<24,e[r0+(M<<4)+4>>2]=c,e[r0+(M<<4)+8>>2]=v0,a0[r0+(M<<4)+12>>2]=_),f0=f0+1|0}k=p?k:q,d0=d0+1|0}while(!1);N0=N0+1|0}if((h|0)==82){c0=vx;return}}function vq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0;q0=(1<<e[p+8>>2])+-16|0,Og(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){N0=f+-127|0,O0=N0+h|0,O0=O0>>>0>f>>>0?f:O0,P0=k+524292|0,k0=k+524296|0;e:for(;;){if(N0>>>0>=O0>>>0)break x;for(M=e[k>>2]|0,w0=f-N0|0,w0=M-(w0>>>0<15?15:w0)|0,p0=N0&w,m0=d+p0|0,g0=k+4+((ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>15<<2)|0,v0=e[g0>>2]|0,M=(N0&M)<<1,e[g0>>2]=N0,g0=0,q=0,y0=0,_=M,M=M|1,h0=64;;){if(d0=v0&w,(N0|0)==(v0|0)|(N0-v0|0)>>>0>w0>>>0|(h0|0)==0){l=6;break}if(u0=q>>>0<y0>>>0?q:y0,u0>>>0>=129){l=8;break e}for(f0=p0+u0|0,l0=d+(d0+128)|0,t0=d+(d0+124)|0,n0=0,l=d+(d0+u0)|0;!(l>>>0>t0>>>0||(L0=d+(f0+n0)|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)));)n0=n0+4|0,l=l+4|0;for(;!(l>>>0>=l0>>>0||(n[d+(f0+n0)>>0]|0)!=(n[l>>0]|0));)n0=n0+1|0,l=l+1|0;u0=u0+n0|0;t:do if(u0){for(l=u0,f0=m0,l0=d+d0|0;t0=n[f0>>0]|0,n0=n[l0>>0]|0,t0<<24>>24==n0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,l0=l0+1|0;else break t;if(t0<<24>>24!=n0<<24>>24){l=21;break e}}while(!1);if(g0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[P0>>2]|0,(s[d+(p0+u0)>>0]|0)>(s[d+(d0+u0)>>0]|0)?(e[l+(_<<2)>>2]=v0,t0=(v0&e[k>>2])<<1|1,q=u0,l=y0,_=t0,t0=(e[P0>>2]|0)+(t0<<2)|0):(e[l+(M<<2)>>2]=v0,t0=(v0&e[k>>2])<<1,l=u0,M=t0,t0=(e[P0>>2]|0)+(t0<<2)|0),g0=0,y0=l,v0=e[t0>>2]|0,h0=h0+-1|0}(l|0)==6?(e[(e[P0>>2]|0)+(_<<2)>>2]=e[k0>>2],e[(e[P0>>2]|0)+(M<<2)>>2]=e[k0>>2]):(l|0)==25&&(L0=e[P0>>2]|0,e[L0+(_<<2)>>2]=e[L0+((v0&e[k>>2])<<1<<2)>>2],L0=e[P0>>2]|0,e[L0+(M<<2)>>2]=e[L0+(((v0&e[k>>2])<<1|1)<<2)>>2]),N0=N0+1|0}(l|0)==8?j0(405873,405905,373,405932):(l|0)==21?j0(405955,405905,378,405932):(l|0)==23&&Pi()}while(!1);for(l=c+8|0,_=Px[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,_||kx(1),M=h+1|0,q=0;(q|0)!=(M|0);)e[_+(q<<4)>>2]=1,e[_+(q<<4)+4>>2]=0,e[_+(q<<4)+8>>2]=0,a0[_+(q<<4)+12>>2]=X0,q=q+1|0;L0=Pg(c,h,f,d,w,p,q0,e0,k,_)|0,e[x0>>2]=(e[x0>>2]|0)+L0,rl(h,f,q0,_,e0,i0,$,r0),yx[e[c+4>>2]&1](e[l>>2]|0,_)}function Aq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0;rx=c0,c0=c0+12256|0,fx=rx+12028|0,Mx=rx+12024|0,Gx=rx+11e3|0,$x=rx+8184|0,ae=rx+6104|0,Wx=rx+5080|0,jx=rx+4928|0,ox=rx+4912|0,Rx=rx,Ex=(1<<e[p+8>>2])+-16|0,Fx=h<<2,$0=c+8|0,Y0=Px[e[c>>2]&1](e[$0>>2]|0,Fx)|0,Y0||kx(1),vx=h>>>0>127?f+h+-127|0:f,qx=Px[e[c>>2]&1](e[$0>>2]|0,h<<5)|0,L0=qx,qx||kx(1),Og(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){q0=f+-127|0,N0=q0+h|0,N0=N0>>>0>f>>>0?f:N0,P0=k+524292|0,O0=k+524296|0;e:for(;;){if(q0>>>0>=N0>>>0)break x;for(M=e[k>>2]|0,p0=f-q0|0,p0=M-(p0>>>0<15?15:p0)|0,m0=q0&w,h0=d+m0|0,y0=k+4+((ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>15<<2)|0,g0=e[y0>>2]|0,M=(q0&M)<<1,e[y0>>2]=q0,y0=0,q=0,w0=0,_=M,M=M|1,k0=64;;){if(v0=g0&w,(q0|0)==(g0|0)|(q0-g0|0)>>>0>p0>>>0|(k0|0)==0){q=11;break}if(d0=q>>>0<w0>>>0?q:w0,d0>>>0>=129){q=13;break e}for(l0=m0+d0|0,u0=d+(v0+128)|0,n0=d+(v0+124)|0,f0=0,l=d+(v0+d0)|0;!(l>>>0>n0>>>0||(qx=d+(l0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+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+v0|0;n0=n[l0>>0]|0,f0=n[u0>>0]|0,n0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)l0=l0+1|0,u0=u0+1|0;else break t;if(n0<<24>>24!=f0<<24>>24){q=26;break e}}while(!1);if(y0){q=28;break e}if(d0>>>0>=128){q=30;break}l=e[P0>>2]|0,(s[d+(m0+d0)>>0]|0)>(s[d+(v0+d0)>>0]|0)?(e[l+(_<<2)>>2]=g0,n0=(g0&e[k>>2])<<1|1,q=d0,l=w0,_=n0,n0=(e[P0>>2]|0)+(n0<<2)|0):(e[l+(M<<2)>>2]=g0,n0=(g0&e[k>>2])<<1,l=d0,M=n0,n0=(e[P0>>2]|0)+(n0<<2)|0),y0=0,w0=l,g0=e[n0>>2]|0,k0=k0+-1|0}(q|0)==11?(e[(e[P0>>2]|0)+(_<<2)>>2]=e[O0>>2],e[(e[P0>>2]|0)+(M<<2)>>2]=e[O0>>2]):(q|0)==30&&(qx=e[P0>>2]|0,e[qx+(_<<2)>>2]=e[qx+((g0&e[k>>2])<<1<<2)>>2],qx=e[P0>>2]|0,e[qx+(M<<2)>>2]=e[qx+(((g0&e[k>>2])<<1|1)<<2)>>2]),q0=q0+1|0}(q|0)==13?j0(405873,405905,373,405932):(q|0)==26?j0(405955,405905,378,405932):(q|0)==28&&Pi()}while(!1);zx=c+4|0,qx=p+4|0,Q0=k+524292|0,H0=k+524296|0,ax=0,f0=Fx,_=0;x:for(;;){if((_+3|0)>>>0>=h>>>0){q=142;break}if(hx=_+f|0,mx=hx>>>0<Ex>>>0?hx:Ex,K0=h-_|0,l=ax+128|0,f0>>>0<l>>>0){for(q=(f0|0)==0,n0=q?l:f0;!(n0>>>0>=l>>>0);)n0=n0<<1;if(M=Px[e[c>>2]&1](e[$0>>2]|0,n0<<3)|0,!M){q=42;break}l=L0,q||Zx(M|0,l|0,f0<<3|0)|0,yx[e[zx>>2]&1](e[$0>>2]|0,l),sx=n0}else M=L0,sx=f0;for(z0=M,Bx=z0+(ax<<3)|0,q0=hx&w,v0=(e[qx>>2]|0)!=11?16:64,v0=hx>>>0<v0>>>0?0:hx-v0|0,L0=d+q0|0,g0=d+(q0+1)|0,w0=q0+K0|0,y0=d+w0|0,w0=d+(w0+-4)|0,l=Bx,n0=1,q=hx;q=q+-1|0,!(!(q>>>0>v0>>>0&n0>>>0<3)||(u0=hx-q|0,u0>>>0>mx>>>0));){if(d0=q&w,(n[L0>>0]|0)!=(n[d+d0>>0]|0)){O0=n0,N0=l,n0=O0,l=N0;continue}if((n[g0>>0]|0)==(n[d+(d0+1)>>0]|0))f0=0,l0=L0;else{O0=n0,N0=l,n0=O0,l=N0;continue}for(;!(l0>>>0>w0>>>0||(N0=d+(d0+f0)|0,(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)!=(s[N0>>0]|s[N0+1>>0]<<8|s[N0+2>>0]<<16|s[N0+3>>0]<<24|0)));)f0=f0+4|0,l0=l0+4|0;for(;!(l0>>>0>=y0>>>0||(n[d+(d0+f0)>>0]|0)!=(n[l0>>0]|0));)f0=f0+1|0,l0=l0+1|0;if(f0>>>0<=n0>>>0){O0=n0,N0=l,n0=O0,l=N0;continue}n0=l,e[n0>>2]=u0,e[n0+4>>2]=f0<<5,l=n0+8|0,n0=f0}do if(n0>>>0<K0>>>0){for(O0=K0>>>0<128?K0:128,N0=K0>>>0>127,q=k+4+((ex(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[q>>2]|0,f0=(hx&e[k>>2])<<1,l0=f0|1,N0?(e[q>>2]=hx,k0=0,P0=0,h0=64):(k0=0,P0=0,h0=64);;){if(p0=hx-u0|0,m0=u0&w,(hx|0)==(u0|0)|p0>>>0>mx>>>0|(h0|0)==0){q=63;break}if(w0=k0>>>0<P0>>>0?k0:P0,w0>>>0>=129){q=66;break x}for(g0=q0+w0|0,d0=m0+K0|0,y0=d+d0|0,d0=d+(d0+-4)|0,v0=0,q=d+(m0+w0)|0;!(q>>>0>d0>>>0||(cx=d+(g0+v0)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[cx>>0]|s[cx+1>>0]<<8|s[cx+2>>0]<<16|s[cx+3>>0]<<24|0)));)v0=v0+4|0,q=q+4|0;for(;!(q>>>0>=y0>>>0||(n[d+(g0+v0)>>0]|0)!=(n[q>>0]|0));)v0=v0+1|0,q=q+1|0;w0=w0+v0|0;e:do if(w0){for(q=w0,g0=L0,y0=d+m0|0;d0=n[g0>>0]|0,v0=n[y0>>0]|0,d0<<24>>24==v0<<24>>24;)if(q=q+-1|0,q)g0=g0+1|0,y0=y0+1|0;else break e;if(d0<<24>>24!=v0<<24>>24){q=79;break x}}while(!1);if(q=l,(l|0)!=0&w0>>>0>n0>>>0&&(e[q>>2]=p0,e[q+4>>2]=w0<<5,l=q+8|0,n0=w0),w0>>>0>=O0>>>0){q=83;break}(s[d+(q0+w0)>>0]|0)>(s[d+(m0+w0)>>0]|0)?(N0&&(e[(e[Q0>>2]|0)+(f0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1|1,u0=w0,q=P0,f0=d0,d0=(e[Q0>>2]|0)+(d0<<2)|0):(N0&&(e[(e[Q0>>2]|0)+(l0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1,u0=k0,q=w0,l0=d0,d0=(e[Q0>>2]|0)+(d0<<2)|0),k0=u0,P0=q,u0=e[d0>>2]|0,h0=h0+-1|0}if((q|0)==63){if(!N0)break;e[(e[Q0>>2]|0)+(f0<<2)>>2]=e[H0>>2],e[(e[Q0>>2]|0)+(l0<<2)>>2]=e[H0>>2];break}else if((q|0)==83){if(!N0)break;cx=e[Q0>>2]|0,e[cx+(f0<<2)>>2]=e[cx+((u0&e[k>>2])<<1<<2)>>2],cx=e[Q0>>2]|0,e[cx+(l0<<2)>>2]=e[cx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(q=0;(q|0)!=38;)e[jx+(q<<2)>>2]=268435455,q=q+1|0;n0=n0+1|0,n0=n0>>>0<4?4:n0;e:do if(jg(L0,n0,K0,jx)|0)for(f0=K0>>>0>37?37:K0;;){if(n0>>>0>f0>>>0)break e;q=e[jx+(n0<<2)>>2]|0,q>>>0<268435455&&(cx=q&31,e[l>>2]=mx+(q>>>5)+1,e[l+4>>2]=n0<<5|((n0|0)==(cx|0)?0:cx),l=l+8|0),n0=n0+1|0}while(!1);for(f0=l-Bx>>3,l=ax+f0|0,n0=ax;q=n0,n0=n0+1|0,!(n0>>>0>=l>>>0);){if((e[z0+(q<<3)+4>>2]|0)>>>5>>>0>=(e[z0+(n0<<3)+4>>2]|0)>>>5>>>0){q=105;break x}if(q=e[z0+(q<<3)>>2]|0,!(q>>>0>mx>>>0)&&q>>>0>(e[z0+(n0<<3)>>2]|0)>>>0){q=108;break x}}if(l0=Y0+(_<<2)|0,e[l0>>2]=f0,f0){if(q=l+-1|0,cx=e[z0+(q<<3)+4>>2]|0,n0=cx>>>5,cx>>>0>10431){for(K0=n0+-1|0,l=ax+1|0,cx=z0+(q<<3)|0,q0=e[cx+4>>2]|0,L0=Bx,e[L0>>2]=e[cx>>2],e[L0+4>>2]=q0,e[l0>>2]=1,L0=hx+n0|0,L0=L0>>>0<vx>>>0?L0:vx,q0=(hx+64|0)>>>0>L0>>>0?hx+1|0:L0+-63|0;!(q0>>>0>=L0>>>0);){for(f0=e[k>>2]|0,k0=f0+-15|0,P0=q0&w,O0=d+P0|0,m0=k+4+((ex(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,506832829)|0)>>>15<<2)|0,p0=e[m0>>2]|0,f0=(q0&f0)<<1,e[m0>>2]=q0,m0=0,l0=0,h0=0,n0=f0,f0=f0|1,N0=64;;){if(w0=p0&w,(q0|0)==(p0|0)|(q0-p0|0)>>>0>k0>>>0|(N0|0)==0){q=115;break}if(y0=l0>>>0<h0>>>0?l0:h0,y0>>>0>=129){q=117;break x}for(v0=P0+y0|0,g0=d+(w0+128)|0,u0=d+(w0+124)|0,d0=0,q=d+(w0+y0)|0;!(q>>>0>u0>>>0||(cx=d+(v0+d0)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[cx>>0]|s[cx+1>>0]<<8|s[cx+2>>0]<<16|s[cx+3>>0]<<24|0)));)d0=d0+4|0,q=q+4|0;for(;!(q>>>0>=g0>>>0||(n[d+(v0+d0)>>0]|0)!=(n[q>>0]|0));)d0=d0+1|0,q=q+1|0;y0=y0+d0|0;e:do if(y0){for(q=y0,v0=O0,g0=d+w0|0;u0=n[v0>>0]|0,d0=n[g0>>0]|0,u0<<24>>24==d0<<24>>24;)if(q=q+-1|0,q)v0=v0+1|0,g0=g0+1|0;else break e;if(u0<<24>>24!=d0<<24>>24){q=130;break x}}while(!1);if(m0){q=132;break x}if(y0>>>0>=128){q=134;break}q=e[Q0>>2]|0,(s[d+(P0+y0)>>0]|0)>(s[d+(w0+y0)>>0]|0)?(e[q+(n0<<2)>>2]=p0,u0=(p0&e[k>>2])<<1|1,l0=y0,q=h0,n0=u0,u0=(e[Q0>>2]|0)+(u0<<2)|0):(e[q+(f0<<2)>>2]=p0,u0=(p0&e[k>>2])<<1,q=y0,f0=u0,u0=(e[Q0>>2]|0)+(u0<<2)|0),m0=0,h0=q,p0=e[u0>>2]|0,N0=N0+-1|0}(q|0)==115?(e[(e[Q0>>2]|0)+(n0<<2)>>2]=e[H0>>2],e[(e[Q0>>2]|0)+(f0<<2)>>2]=e[H0>>2]):(q|0)==134&&(cx=e[Q0>>2]|0,e[cx+(n0<<2)>>2]=e[cx+((p0&e[k>>2])<<1<<2)>>2],cx=e[Q0>>2]|0,e[cx+(f0<<2)>>2]=e[cx+(((p0&e[k>>2])<<1|1)<<2)>>2]),q0=q0+1|0}Hx(Y0+(_+1<<2)|0,0,K0<<2|0)|0,_=_+K0|0}}else l=ax;ax=l,L0=M,f0=sx,_=_+1|0}if((q|0)==42)kx(1);else if((q|0)==66)j0(405873,405905,373,405932);else if((q|0)==79)j0(405955,405905,378,405932);else if((q|0)==105)j0(403595,403667,793,403707);else if((q|0)==108)j0(403740,403667,795,403707);else if((q|0)==117)j0(405873,405905,373,405932);else if((q|0)==130)j0(405955,405905,378,405932);else if((q|0)==132)Pi();else if((q|0)==142){for(h0=e[r0>>2]|0,k0=e[i0>>2]|0,e[ox>>2]=e[e0>>2],e[ox+4>>2]=e[e0+4>>2],e[ox+8>>2]=e[e0+8>>2],e[ox+12>>2]=e[e0+12>>2],P0=e[x0>>2]|0,O0=Px[e[c>>2]&1](e[$0>>2]|0,(h<<4)+16|0)|0,O0||kx(1),N0=Rx+4904|0,e[N0>>2]=h,l=Px[e[c>>2]&1](e[$0>>2]|0,Fx+8|0)|0,l||kx(1),m0=Rx+4896|0,e[m0>>2]=l,l0=O0+12|0,u0=fx+224|0,d0=L0,v0=f-k0|0,g0=Rx+2816|0,y0=Rx+4900|0,w0=h+1|0,p0=0;(p0|0)!=2;){for(l=0;(l|0)!=(w0|0);)e[O0+(l<<4)>>2]=1,e[O0+(l<<4)+4>>2]=0,e[O0+(l<<4)+8>>2]=0,a0[O0+(l<<4)+12>>2]=X0,l=l+1|0;if(!p0)Bg(Rx,f,d,w);else{for(_=e[x0>>2]|0,Hx(Gx|0,0,1024)|0,Hx($x|0,0,2816)|0,Hx(ae|0,0,2080)|0,_=_-P0|0,n0=v0,f0=0;(f0|0)!=(_|0);){for(M=e[$+(f0<<4)>>2]|0,q=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,cx=o[$+(f0<<4)+12>>1]|0,c=$x+((cx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(cx&65535)>127&&(l=ae+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(M|0);)cx=Gx+(s[d+(n0+l&w)>>0]<<2)|0,e[cx>>2]=(e[cx>>2]|0)+1,l=l+1|0;n0=n0+(M+q)|0,f0=f0+1|0}for(tl(Gx,256,Wx),tl($x,704,Rx),tl(ae,520,g0),l=2139095040,_=0;(_|0)!=704;)cx=e[Rx+(_<<2)>>2]|0,e[fx>>2]=l,e[Mx>>2]=cx,t0=(e[b0>>2]=l,+a0[b0>>2]),l=e[(t0<(e[b0>>2]=cx,+a0[b0>>2])?fx:Mx)>>2]|0,_=_+1|0;for(e[y0>>2]=l,_=e[N0>>2]|0,l=e[m0>>2]|0,a0[l>>2]=0,t0=0,M=0;(M|0)!=(_|0);)_x=t0+ +a0[Wx+(s[d+(M+f&w)>>0]<<2)>>2],cx=M+1|0,a0[l+(cx<<2)>>2]=_x,t0=_x,M=cx}for(e[x0>>2]=P0,e[r0>>2]=h0,e[i0>>2]=k0,e[e0>>2]=e[ox>>2],e[e0+4>>2]=e[ox+4>>2],e[e0+8>>2]=e[ox+8>>2],e[e0+12>>2]=e[ox+12>>2],M=(e[qx>>2]|0)<11?150:325,e[O0>>2]=0,a0[l0>>2]=0,e[u0>>2]=0,l=0,_=0;;){if((_+3|0)>>>0>=h>>>0){l=h;break}cx=Y0+(_<<2)|0,ku(h,f,_,d,w,p,Ex,e0,e[cx>>2]|0,d0+(l<<3)|0,Rx,fx,O0),cx=e[cx>>2]|0,l=l+cx|0,(cx|0)==1&&(px=(e[d0+(l+-1<<3)+4>>2]|0)>>>5,px>>>0>M>>>0)&&(e[u0>>2]=0,_=_+(px+-1)|0),_=_+1|0}for(;!(e[O0+(l<<4)+8>>2]|0||(e[O0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[O0+(l<<4)+12>>2]=-1,_=0;l;)c=(e[O0+(l<<4)>>2]&16777215)+(e[O0+(l<<4)+8>>2]|0)|0,cx=l-c|0,e[O0+(cx<<4)+12>>2]=c,l=cx,_=_+1|0;e[x0>>2]=(e[x0>>2]|0)+_,rl(h,f,Ex,O0,e0,i0,$,r0),p0=p0+1|0}yx[e[zx>>2]&1](e[$0>>2]|0,e[m0>>2]|0),e[m0>>2]=0,yx[e[zx>>2]&1](e[$0>>2]|0,O0),yx[e[zx>>2]&1](e[$0>>2]|0,L0),yx[e[zx>>2]&1](e[$0>>2]|0,Y0),c0=rx;return}}function Eq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0;if(px=c0,c0=c0+32|0,fx=px+16|0,Ex=px,Fx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,Mx=f+h|0,qx=h>>>0>7?Mx+-7|0:f,zx=p+4|0,jx=(e[zx>>2]|0)<9?64:512,_=jx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)vx=d+c|0,H0=vx,vx=vx+4|0,vx=ye(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Cx=8)}else n[k+262148>>0]&1&&Hx(k|0,0,262149)|0,Cx=8;(Cx|0)==8&&h>>>0>6&f>>>0>2&&(H0=f+-3|0,vx=d+(H0&w)|0,Q0=vx,vx=vx+4|0,vx=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=H0,vx=f+-2|0,H0=d+(vx&w)|0,Q0=H0,H0=H0+4|0,H0=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+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=wx(H0|0,S0|0,48)|0,e[k+(H0<<2)>>2]=vx,H0=f+-1|0,vx=d+(H0&w)|0,Q0=vx,vx=vx+4|0,vx=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=H0),p0=fx+4|0,m0=fx+8|0,h0=fx+12|0,k0=fx+4|0,P0=k+262156|0,O0=k+262152|0,N0=fx+12|0,q0=fx+8|0,L0=jx<<2,K0=Mx+-7|0,z0=Ex+4|0,Bx=Ex+8|0,mx=Ex+12|0,hx=Ex+4|0,ax=Ex+8|0,sx=Ex+12|0,Q0=e0+8|0,H0=e0+12|0,vx=e0+4|0,p=f,w0=$,c=M;x:for(;;){v0=w0,y0=_+L0|0;e:for(;;){if(g0=Mx-p|0,(p+8|0)>>>0>=Mx>>>0)break x;if(u0=p>>>0<Fx>>>0?p:Fx,e[fx>>2]=0,e[p0>>2]=0,e[m0>>2]=0,e[h0>>2]=4240,d0=p&w,f0=d+d0|0,q=f0,n0=q,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,q=q+4|0,q=ye(n0|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,48)|0,t0=e[e0>>2]|0,l=p-t0|0,e[k0>>2]=0,l>>>0<p>>>0&&($0=l&w,(n[d+$0>>0]|0)==(n0&255)<<24>>24)){for(h=d0+g0|0,M=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(l0=d+($0+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>=M>>>0||(n[d+($0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Cx=22;break}}if(l0=k+(q<<2)|0,M=e[l0>>2]|0,e[l0>>2]=p,q=p-M|0,t0=M&w,!(((p|0)==(M|0)?1:(n[d+t0>>0]|0)!=(n0&255)<<24>>24)|q>>>0>u0>>>0)){for(h=d0+g0|0,M=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(n0=d+(t0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(t0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Cx=32;break}if((e[P0>>2]|0)>>>0<(e[O0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(f0=o[21084+(t0<<1)>>1]|0,h=f0&65535,e[O0>>2]=(e[O0>>2]|0)+1,f0<<16>>16!=0&&(Y0=h&31,Wx=h>>>5,$x=(e[11272+(Y0<<2)>>2]|0)+(ex(Y0,Wx)|0)|0,Y0>>>0<=g0>>>0)){for(f=$x+Y0|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+$x|0;!(h>>>0>f>>>0||(f0=d+(d0+M)|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)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(d0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=Y0>>>0|(M|0)==0)&&(ae=u0+Wx+1+(s[407930+(Y0-M)>>0]<<s[280786+Y0>>0])|0,Gx=(M*540|0)+3840+(ex((Dx(ae|0)|0)^31,-120)|0)|0,Gx>>>0>=(e[N0>>2]|0)>>>0)&&(e[fx>>2]=M,e[k0>>2]=Y0^M,e[q0>>2]=ae,e[N0>>2]=Gx,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}if(e[l0>>2]=p,l&1){y0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>y0>>>0)for(l=p+17|0,l=l>>>0<K0>>>0?l:K0,p=h;;){if(p>>>0>=l>>>0)continue e;g0=d+(p&w)|0,d0=g0,g0=g0+4|0,g0=ye(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=wx(g0|0,S0|0,48)|0,e[k+(g0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<K0>>>0?l:K0,p=h;;){if(p>>>0>=l>>>0)continue e;g0=d+(p&w)|0,d0=g0,g0=g0+4|0,g0=ye(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=wx(g0|0,S0|0,48)|0,e[k+(g0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Cx|0)==22?(Cx=0,e[fx>>2]=f,e[q0>>2]=t0,e[N0>>2]=(f*540|0)+3900,e[k+(q<<2)>>2]=p,y0=0):(Cx|0)==32&&(Cx=0,e[fx>>2]=f,e[q0>>2]=q,e[N0>>2]=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0),y0=0);e:for(;;){if(g0=g0+-1|0,(e[zx>>2]|0)<5?(t0=(e[fx>>2]|0)+-1|0,t0=t0>>>0<g0>>>0?t0:g0):t0=0,e[Ex>>2]=t0,e[z0>>2]=0,e[Bx>>2]=0,e[mx>>2]=4240,f0=p+1|0,d0=f0>>>0<Fx>>>0?f0:Fx,v0=f0&w,l0=d+v0|0,M=l0,n0=M,M=M+4|0,M=ye(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0,s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0,-1124073472,1979815)|0,M=wx(M|0,S0|0,48)|0,n0=n[d+(v0+t0)>>0]|0,q=e[e0>>2]|0,l=f0-q|0,e[hx>>2]=0,l>>>0<f0>>>0&&(Rx=l&w,n0<<24>>24==(n[d+(Rx+t0)>>0]|0))){for(h=v0+g0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=l0;!(l>>>0>h>>>0||(u0=d+(Rx+_)|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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Rx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(e[Ex>>2]=_,e[ax>>2]=q,e[sx>>2]=(_*540|0)+3900,e[k+(M<<2)>>2]=f0):Cx=64}else Cx=64;do if((Cx|0)==64){if(Cx=0,u0=k+(M<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,M=f0-f|0,q=f&w,((f0|0)==(f|0)?1:n0<<24>>24!=(n[d+(q+t0)>>0]|0))|M>>>0>d0>>>0){f0=p,n0=c;break e}for(h=v0+g0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=l0;!(l>>>0>h>>>0||(n0=d+(q+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(q+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;if(_>>>0>3){e[Ex>>2]=_,e[ax>>2]=M,e[sx>>2]=(_*540|0)+3840+(ex((Dx(M|0)|0)^31,-120)|0);break}if((e[P0>>2]|0)>>>0<(e[O0>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,q=(ex(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+(q<<1)>>1]|0,h=l0&65535,e[O0>>2]=(e[O0>>2]|0)+1,l0<<16>>16!=0&&(ox=h&31,rx=h>>>5,cx=(e[11272+(ox<<2)>>2]|0)+(ex(ox,rx)|0)|0,ox>>>0<=g0>>>0)){for(_=cx+ox|0,M=280811+_|0,_=280811+(_+-4)|0,f=0,h=280811+cx|0;!(h>>>0>_>>>0||(l0=d+(v0+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>=M>>>0||(n[d+(v0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ox>>>0|(f|0)==0)&&(_x=d0+rx+1+(s[407930+(ox-f)>>0]<<s[280786+ox>>0])|0,te=(f*540|0)+3840+(ex((Dx(_x|0)|0)^31,-120)|0)|0,te>>>0>=(e[sx>>2]|0)>>>0)&&(e[Ex>>2]=f,e[hx>>2]=ox^f,e[ax>>2]=_x,e[sx>>2]=te,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}t0=t0+1|0,q=q+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,n0=c;break e}}while(!1);if((e[mx>>2]|0)>>>0<((e[h0>>2]|0)+700|0)>>>0){f0=p,n0=c;break}if(c=c+1|0,e[fx>>2]=e[Ex>>2],e[fx+4>>2]=e[Ex+4>>2],e[fx+8>>2]=e[Ex+8>>2],e[fx+12>>2]=e[Ex+12>>2],y0=y0+1|0,(y0|0)<4&(p+9|0)>>>0<Mx>>>0)p=f0;else{n0=c;break}}p=e[fx>>2]|0,_=f0+(p<<1)+jx|0,c=e[m0>>2]|0;e:do if(c>>>0<=(f0>>>0<Fx>>>0?f0:Fx)>>>0)if(f=c+3|0,y0=e[e0>>2]|0,l=f-y0|0,h=e[vx>>2]|0,f=f-h|0,(c|0)==(y0|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[Q0>>2]|0)){c=2;break t}if((c|0)==(e[H0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[H0>>2]=e[Q0>>2],e[Q0>>2]=e[vx>>2],e[vx>>2]=e[e0>>2],e[e0>>2]=e[m0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=w0+16|0,y0=e[p0>>2]|0,l=p^y0,e[w0>>2]=n0,e[w0+4>>2]=p|y0<<24,p=w0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(v0=c+-12|0,y0=((Dx(v0|0)|0)^31)+-1|0,g0=v0>>>y0&1,c=((y0<<1)+65534|g0)+16&65535,o[p>>1]=c,p=y0<<24|v0-((g0|2)<<y0)),e[w0+8>>2]=p,M=c<<16>>16==0,q=w0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){w0=n0+-2|0,f=((Dx(w0|0)|0)^31)+-1|0,f=(f<<1)+(w0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){w0=l+-6|0,c=((Dx(w0|0)|0)^31)+-1|0,c=(c<<1)+(w0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<qx>>>0?c:qx,p=f0+2|0;!(p>>>0>=c>>>0);)w0=d+(p&w)|0,y0=w0,w0=w0+4|0,w0=ye(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+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=wx(w0|0,S0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+1|0;p=f0+(e[fx>>2]|0)|0,w0=t0,c=0}e[i0>>2]=c+g0,e[x0>>2]=(e[x0>>2]|0)+(v0-$>>4),c0=px}function Cq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0;if(vx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,jx=f+h|0,H0=h>>>0>7?jx+-7|0:f,Q0=p+4|0,sx=(e[Q0>>2]|0)<9?64:512,p=sx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)ax=d+c|0,hx=ax,ax=ax+4|0,ax=ye(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0,s[ax>>0]|s[ax+1>>0]<<8|s[ax+2>>0]<<16|s[ax+3>>0]<<24|0,-1124073472,1979815)|0,ax=wx(ax|0,S0|0,48)|0,ax=k+(ax<<2)|0,e[ax>>2]=0,e[ax+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,_=8)}else n[k+262152>>0]&1&&Hx(k|0,0,262153)|0,_=8;(_|0)==8&&h>>>0>6&f>>>0>2&&(ax=f+-3|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax,ax=f+-2|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax,ax=f+-1|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax),z0=sx<<2,Bx=jx+-7|0,mx=e0+8|0,hx=e0+12|0,ax=e0+4|0,l=f,K0=$,n0=p,c=M;x:for(;;){P0=K0,O0=n0+z0|0;e:for(;;){if(q0=jx-l|0,(l+8|0)>>>0>=jx>>>0)break x;if(p0=l>>>0<vx>>>0?l:vx,m0=l&w,h0=d+m0|0,k0=h0,p=k0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,k0=k0+4|0,k0=ye(p|0,s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24|0,-1124073472,1979815)|0,k0=wx(k0|0,S0|0,48)|0,q=p&255,h=e[e0>>2]|0,_=l-h|0,_>>>0<l>>>0&&(zx=_&w,(n[d+zx>>0]|0)==(p&255)<<24>>24)){for(_=m0+q0|0,M=d+_|0,_=d+(_+-4)|0,f=0,p=h0;!(p>>>0>_>>>0||(L0=d+(zx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+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,p=p+4|0;for(;!(p>>>0>=M>>>0||(n[d+(zx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(q=s[d+(m0+f)>>0]|0,p=1,M=f,f=(f*540|0)+3900|0):(p=0,M=0,h=0,f=4240)}else p=0,M=0,h=0,f=4240;for(y0=m0+q0|0,g0=d+y0|0,y0=d+(y0+-4)|0,l0=M,t0=f,w0=k+(k0+1<<2)|0,u0=0,_=k+(k0<<2)|0,d0=M,v0=f;_=e[_>>2]|0,(u0|0)!=2;){if(f0=l-_|0,M=_&w,((l|0)==(_|0)?1:(q|0)!=(s[d+(M+l0)>>0]|0))|f0>>>0>p0>>>0)M=l0,f=d0,_=v0;else{for(_=0,f=h0;!(f>>>0>y0>>>0||(L0=d+(M+_)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0)));)_=_+4|0,f=f+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(M+_)>>0]|0)!=(n[f>>0]|0));)_=_+1|0,f=f+1|0;_>>>0>3&&(qx=(_*540|0)+3840+(ex((Dx(f0|0)|0)^31,-120)|0)|0,t0>>>0<qx>>>0)?(M=_,t0=qx,q=s[d+(m0+_)>>0]|0,p=1,f=_,h=f0,_=qx):(M=l0,f=d0,_=v0)}L0=w0,l0=M,w0=w0+4|0,u0=u0+1|0,d0=f,v0=_,_=L0}if(e[k+(k0+(l>>>3&1)<<2)>>2]=l,p&1){L0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=n0>>>0){l=h;continue}if(h>>>0>O0>>>0)for(p=l+17|0,p=p>>>0<Bx>>>0?p:Bx,l=h;;){if(l>>>0>=p>>>0)continue e;L0=d+(l&w)|0,q0=L0,L0=L0+4|0,L0=ye(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,-1124073472,1979815)|0,L0=wx(L0|0,S0|0,48)|0,e[k+(L0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<Bx>>>0?p:Bx,l=h;;){if(l>>>0>=p>>>0)continue e;L0=d+(l&w)|0,q0=L0,L0=L0+4|0,L0=ye(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,-1124073472,1979815)|0,L0=wx(L0|0,S0|0,48)|0,e[k+(L0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(q0=q0+-1|0,(e[Q0>>2]|0)<5?(t0=d0+-1|0,t0=t0>>>0<q0>>>0?t0:q0):t0=0,l0=l+1|0,k0=l0>>>0<vx>>>0?l0:vx,P0=l0&w,O0=d+P0|0,N0=O0,p=N0,N0=N0+4|0,N0=ye(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[N0>>0]|s[N0+1>>0]<<8|s[N0+2>>0]<<16|s[N0+3>>0]<<24|0,-1124073472,1979815)|0,N0=wx(N0|0,S0|0,48)|0,p=n[d+(P0+t0)>>0]|0,q=p&255,n0=e[e0>>2]|0,_=l0-n0|0,_>>>0<l0>>>0&&(Fx=_&w,p<<24>>24==(n[d+(Fx+t0)>>0]|0))){for(_=P0+q0|0,M=d+_|0,_=d+(_+-4)|0,f=0,p=O0;!(p>>>0>_>>>0||(h0=d+(Fx+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>=M>>>0||(n[d+(Fx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(q=s[d+(P0+f)>>0]|0,p=1,t0=f,_=(f*540|0)+3900|0):(p=0,_=4240,n0=0)}else p=0,_=4240,n0=0;for(m0=P0+q0|0,p0=d+m0|0,m0=d+(m0+-4)|0,g0=t0,y0=_,h0=k+(N0+1<<2)|0,w0=0,M=p,p=k+(N0<<2)|0,u0=_;p=e[p>>2]|0,(w0|0)!=2;){if(f0=l0-p|0,f=p&w,((l0|0)==(p|0)?1:(q|0)!=(s[d+(f+g0)>>0]|0))|f0>>>0>k0>>>0)_=g0,f=y0,p=u0;else{for(p=0,_=O0;!(_>>>0>m0>>>0||(fx=d+(f+p)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)p=p+4|0,_=_+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(f+p)>>0]|0)!=(n[_>>0]|0));)p=p+1|0,_=_+1|0;p>>>0>3&&(Mx=(p*540|0)+3840+(ex((Dx(f0|0)|0)^31,-120)|0)|0,y0>>>0<Mx>>>0)?(_=p,f=Mx,q=s[d+(P0+p)>>0]|0,M=1,t0=p,p=Mx,n0=f0):(_=g0,f=y0,p=u0)}fx=h0,g0=_,y0=f,h0=h0+4|0,w0=w0+1|0,u0=p,p=fx}if(e[k+(N0+(l0>>>3&1)<<2)>>2]=l0,(M&1)==0|u0>>>0<(v0+700|0)>>>0){l0=l,f0=c,t0=d0;break}if(c=c+1|0,L0=L0+1|0,(L0|0)<4&(l+9|0)>>>0<jx>>>0)l=l0,d0=t0,h=n0,v0=u0;else{f0=c,h=n0;break}}n0=l0+(t0<<1)+sx|0;e:do if(h>>>0<=(l0>>>0<vx>>>0?l0:vx)>>>0)if(l=h+3|0,fx=e[e0>>2]|0,c=l-fx|0,p=e[ax>>2]|0,l=l-p|0,(h|0)==(fx|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[mx>>2]|0)){c=2;break t}if((h|0)==(e[hx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[hx>>2]=e[mx>>2],e[mx>>2]=e[ax>>2],e[ax>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);q=K0+16|0,e[K0>>2]=f0,e[K0+4>>2]=t0,p=K0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,fx=((Dx(q0|0)|0)^31)+-1|0,L0=q0>>>fx&1,c=((fx<<1)+65534|L0)+16&65535,o[p>>1]=c,p=fx<<24|q0-((L0|2)<<fx)),e[K0+8>>2]=p,f=c<<16>>16==0,M=K0+12|0;do if(f0>>>0>=6){if(f0>>>0<130){fx=f0+-2|0,p=((Dx(fx|0)|0)^31)+-1|0,p=(p<<1)+(fx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Dx(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){fx=t0+-6|0,c=((Dx(fx|0)|0)^31)+-1|0,c=(c<<1)+(fx>>>c)+4&65535;break}t0>>>0<2118?c=((Dx(t0+-70|0)|0)^31)+12&65535:c=23}else c=t0+65534&65535;while(!1);for(l=c&65535,h=p&65535,_=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|_&65535,o[M>>1]=c,e[r0>>2]=(e[r0>>2]|0)+f0,l=l0+t0|0,p=l>>>0<H0>>>0?l:H0,c=l0+2|0;;){if(c>>>0>=p>>>0){K0=q,c=0;continue x}fx=d+(c&w)|0,K0=fx,fx=fx+4|0,fx=ye(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0,-1124073472,1979815)|0,fx=wx(fx|0,S0|0,48)|0,e[k+(fx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[i0>>2]=c+q0,e[x0>>2]=(e[x0>>2]|0)+(P0-$>>4)}function kq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0;if(ae=c0,c0=c0+32|0,Wx=ae+16|0,$x=ae,$0=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Y0=f+h|0,px=h>>>0>7?Y0+-7|0:f,Ex=p+4|0,fx=(e[Ex>>2]|0)<9?64:512,M=fx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Mx=d+c|0,Fx=Mx,Mx=Mx+4|0,Mx=ye(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+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=wx(Mx|0,S0|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,_=8)}else n[k+524304>>0]&1&&Hx(k|0,0,524305)|0,_=8;(_|0)==8&&h>>>0>6&f>>>0>2&&(Mx=f+-3|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-2|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-1|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx),Bx=Wx+4|0,mx=Wx+8|0,hx=Wx+12|0,ax=Wx+12|0,sx=Wx+4|0,Q0=Wx+8|0,H0=k+524312|0,vx=k+524308|0,jx=fx<<2,zx=Y0+-7|0,qx=$x+12|0,Fx=$x+4|0,Mx=$x+8|0,O0=$x+12|0,N0=$x+4|0,q0=$x+8|0,L0=e0+8|0,K0=e0+12|0,z0=e0+4|0,p=f,P0=$,c=q;x:for(;;){h0=P0,k0=M+jx|0;e:for(;;){if(m0=Y0-p|0,(p+8|0)>>>0>=Y0>>>0)break x;if(y0=p>>>0<$0>>>0?p:$0,e[Wx>>2]=0,e[Bx>>2]=0,e[mx>>2]=0,e[hx>>2]=4240,w0=p&w,g0=d+w0|0,p0=g0,l=p0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,p0=p0+4|0,p0=ye(l|0,s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,-1124073472,1979815)|0,p0=wx(p0|0,S0|0,47)|0,n0=l&255,t0=e[ax>>2]|0,q=e[e0>>2]|0,h=p-q|0,e[sx>>2]=0,h>>>0<p>>>0&&(Gx=h&w,(n[d+Gx>>0]|0)==(l&255)<<24>>24)){for(h=w0+m0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=g0;!(l>>>0>h>>>0||(v0=d+(Gx+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Gx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(f=(_*540|0)+3900|0,e[Wx>>2]=_,e[Q0>>2]=q,e[ax>>2]=f,h=_,_=s[d+(w0+_)>>0]|0,l=1):(h=0,f=t0,_=n0,l=0)}else h=0,f=t0,_=n0,l=0;for(v0=w0+m0|0,d0=d+v0|0,v0=d+(v0+-4)|0,u0=k+(p0+1<<2)|0,l0=0,q=k+(p0<<2)|0;q=e[q>>2]|0,(l0|0)!=4;){if(n0=p-q|0,f0=q&w,!(((p|0)==(q|0)?1:(_|0)!=(s[d+(f0+h)>>0]|0))|n0>>>0>y0>>>0)){for(q=0,t0=g0;!(t0>>>0>v0>>>0||(ux=d+(f0+q)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)q=q+4|0,t0=t0+4|0;for(;!(t0>>>0>=d0>>>0||(n[d+(f0+q)>>0]|0)!=(n[t0>>0]|0));)q=q+1|0,t0=t0+1|0;q>>>0>3&&(Rx=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<Rx>>>0)&&(e[Wx>>2]=q,e[Q0>>2]=n0,e[ax>>2]=Rx,h=q,f=Rx,_=s[d+(w0+q)>>0]|0,l=1)}q=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[H0>>2]|0)>>>0<(e[vx>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(ux=o[21084+(t0<<1)>>1]|0,h=ux&65535,e[vx>>2]=(e[vx>>2]|0)+1,ux<<16>>16!=0&&(ox=h&31,rx=h>>>5,cx=(e[11272+(ox<<2)>>2]|0)+(ex(ox,rx)|0)|0,ox>>>0<=m0>>>0)){for(_=cx+ox|0,q=280811+_|0,_=280811+(_+-4)|0,f=0,h=280811+cx|0;!(h>>>0>_>>>0||(ux=d+(w0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(w0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ox>>>0|(f|0)==0)&&(_x=y0+rx+1+(s[407930+(ox-f)>>0]<<s[280786+ox>>0])|0,te=(f*540|0)+3840+(ex((Dx(_x|0)|0)^31,-120)|0)|0,te>>>0>=(e[ax>>2]|0)>>>0)&&(e[Wx>>2]=f,e[sx>>2]=ox^f,e[Q0>>2]=_x,e[ax>>2]=te,e[H0>>2]=(e[H0>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(p0+(p>>>3&3)<<2)>>2]=p,l&1){h0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>k0>>>0)for(l=p+17|0,l=l>>>0<zx>>>0?l:zx,p=h;;){if(p>>>0>=l>>>0)continue e;ux=d+(p&w)|0,m0=ux,ux=ux+4|0,ux=ye(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<zx>>>0?l:zx,p=h;;){if(p>>>0>=l>>>0)continue e;ux=d+(p&w)|0,m0=ux,ux=ux+4|0,ux=ye(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(m0=m0+-1|0,(e[Ex>>2]|0)<5?(q=(e[Wx>>2]|0)+-1|0,q=q>>>0<m0>>>0?q:m0):q=0,e[$x>>2]=q,e[Fx>>2]=0,e[Mx>>2]=0,e[qx>>2]=4240,f0=p+1|0,y0=f0>>>0<$0>>>0?f0:$0,w0=f0&w,g0=d+w0|0,p0=g0,l=p0,p0=p0+4|0,p0=ye(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0,s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,-1124073472,1979815)|0,p0=wx(p0|0,S0|0,47)|0,l=n[d+(w0+q)>>0]|0,n0=l&255,M=e[O0>>2]|0,t0=e[e0>>2]|0,h=f0-t0|0,e[N0>>2]=0,h>>>0<f0>>>0&&(Cx=h&w,l<<24>>24==(n[d+(Cx+q)>>0]|0))){for(h=w0+m0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=g0;!(l>>>0>h>>>0||(ux=d+(Cx+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Cx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(M=(_*540|0)+3900|0,e[$x>>2]=_,e[q0>>2]=t0,e[O0>>2]=M,h=_,_=s[d+(w0+_)>>0]|0,l=1):(h=q,_=n0,l=0)}else h=q,_=n0,l=0;for(v0=w0+m0|0,d0=d+v0|0,v0=d+(v0+-4)|0,u0=k+(p0+1<<2)|0,l0=0,f=k+(p0<<2)|0;f=e[f>>2]|0,(l0|0)!=4;){if(t0=f0-f|0,n0=f&w,!(((f0|0)==(f|0)?1:(_|0)!=(s[d+(n0+h)>>0]|0))|t0>>>0>y0>>>0)){for(f=0,q=g0;!(q>>>0>v0>>>0||(ux=d+(n0+f)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)f=f+4|0,q=q+4|0;for(;!(q>>>0>=d0>>>0||(n[d+(n0+f)>>0]|0)!=(n[q>>0]|0));)f=f+1|0,q=q+1|0;f>>>0>3&&(lx=(f*540|0)+3840+(ex((Dx(t0|0)|0)^31,-120)|0)|0,M>>>0<lx>>>0)&&(e[$x>>2]=f,e[q0>>2]=t0,e[O0>>2]=lx,h=f,M=lx,_=s[d+(w0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[H0>>2]|0)>>>0<(e[vx>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,q=(ex(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(ux=o[21084+(q<<1)>>1]|0,h=ux&65535,e[vx>>2]=(e[vx>>2]|0)+1,ux<<16>>16!=0&&(ix=h&31,ge=h>>>5,D0=(e[11272+(ix<<2)>>2]|0)+(ex(ix,ge)|0)|0,ix>>>0<=m0>>>0)){for(_=D0+ix|0,f=280811+_|0,_=280811+(_+-4)|0,M=0,h=280811+D0|0;!(h>>>0>_>>>0||(ux=d+(w0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(w0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=ix>>>0|(M|0)==0)&&(re=y0+ge+1+(s[407930+(ix-M)>>0]<<s[280786+ix>>0])|0,Yx=(M*540|0)+3840+(ex((Dx(re|0)|0)^31,-120)|0)|0,Yx>>>0>=(e[O0>>2]|0)>>>0)&&(e[$x>>2]=M,e[N0>>2]=ix^M,e[q0>>2]=re,e[O0>>2]=Yx,e[H0>>2]=(e[H0>>2]|0)+1,l=1)}t0=t0+1|0,q=q+1|0}l=(l&1)!=0}l=l&1}if(e[k+(p0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,n0=c;break}if((e[qx>>2]|0)>>>0<((e[hx>>2]|0)+700|0)>>>0){f0=p,n0=c;break}if(c=c+1|0,e[Wx>>2]=e[$x>>2],e[Wx+4>>2]=e[$x+4>>2],e[Wx+8>>2]=e[$x+8>>2],e[Wx+12>>2]=e[$x+12>>2],h0=h0+1|0,(h0|0)<4&(p+9|0)>>>0<Y0>>>0)p=f0;else{n0=c;break}}p=e[Wx>>2]|0,M=f0+(p<<1)+fx|0,c=e[mx>>2]|0;e:do if(c>>>0<=(f0>>>0<$0>>>0?f0:$0)>>>0)if(_=c+3|0,ux=e[e0>>2]|0,l=_-ux|0,h=e[z0>>2]|0,_=_-h|0,(c|0)==(ux|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(_>>>0<7){c=266017486>>>(_<<2)&15;break}if((c|0)==(e[L0>>2]|0)){c=2;break t}if((c|0)==(e[K0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[K0>>2]=e[L0>>2],e[L0>>2]=e[z0>>2],e[z0>>2]=e[e0>>2],e[e0>>2]=e[mx>>2],p=e[Wx>>2]|0}else c=c+15|0;while(!1);t0=P0+16|0,ux=e[Bx>>2]|0,l=p^ux,e[P0>>2]=n0,e[P0+4>>2]=p|ux<<24,p=P0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(h0=c+-12|0,ux=((Dx(h0|0)|0)^31)+-1|0,k0=h0>>>ux&1,c=((ux<<1)+65534|k0)+16&65535,o[p>>1]=c,p=ux<<24|h0-((k0|2)<<ux)),e[P0+8>>2]=p,f=c<<16>>16==0,q=P0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){ux=n0+-2|0,_=((Dx(ux|0)|0)^31)+-1|0,_=(_<<1)+(ux>>>_)+2&65535;break}if(n0>>>0<2114){_=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?_=21:_=n0>>>0<22594?22:23}else _=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){ux=l+-6|0,c=((Dx(ux|0)|0)^31)+-1|0,c=(c<<1)+(ux>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=_&65535,h=p&7|l<<3&56,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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[Wx>>2]|0)|0,c=c>>>0<px>>>0?c:px,p=f0+2|0;!(p>>>0>=c>>>0);)ux=d+(p&w)|0,P0=ux,ux=ux+4|0,ux=ye(s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Wx>>2]|0)|0,P0=t0,c=0}e[i0>>2]=c+m0,e[x0>>2]=(e[x0>>2]|0)+(h0-$>>4),c0=ae}function Sq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,_=8)}else c=k+1081344|0,n[c>>0]&1&&(Hx(k|0,0,32768)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&15|$0<<4)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,px=k+($0<<1)|0,e[k+32768+((j[px>>1]&15|$0<<4)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&15|$0<<4)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+1081352|0,Q0=k+1081348|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=4;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<4,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>16?_+-16|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+32768+((v0|_&15)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&15)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=4;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<4,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>16?l+-16|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+32768+((v0|l&15)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&15)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Fq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,_=8)}else c=k+2129920|0,n[c>>0]&1&&(Hx(k|0,0,32768)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&31|$0<<5)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,px=k+($0<<1)|0,e[k+32768+((j[px>>1]&31|$0<<5)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&31|$0<<5)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+2129928|0,Q0=k+2129924|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=4;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<5,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>32?_+-32|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+32768+((v0|_&31)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&31)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=4;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<5,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>32?l+-32|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+32768+((v0|l&31)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&31)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Oq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,_=8)}else c=k+8454144|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&63|$0<<6)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&63|$0<<6)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&63|$0<<6)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+8454152|0,Q0=k+8454148|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=10;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<6,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>64?_+-64|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&63)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&63)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=10;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<6,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>64?l+-64|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&63)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&63)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Pq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0,_,M,q,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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0,_=_|0,M=M|0,q=q|0,t0=t0|0;var n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0;if(re=c0,c0=c0+12768|0,lx=re+7760|0,cx=re+4928|0,_x=re+2096|0,P0=re+12504|0,k0=re+10968|0,f0=re,u0=re+12248|0,l0=re+10456|0,w0=re+11544|0,y0=re+9048|0,m0=re+11480|0,p0=re+8920|0,Cx=re+8808|0,N0=re+8804|0,O0=re+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(D0=wx(l|0,d|0,30)|0,D0=l&1073741823|((D0&1^1)<<30)+1073741824):D0=l,!w){f=e[q>>2]|0,t0=t0+(f>>>3)|0,x0=s[t0>>0]|0,f=Sx(3,0,f&7|0)|0,_=S0,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]=_,n[t0+1>>0]=_>>8,n[t0+2>>0]=_>>16,n[t0+3>>0]=_>>24,e[q>>2]=(e[q>>2]|0)+9&-8,c0=re;return}if(!(Tg(h,f,l,d,w,$,x0)|0)){e[M>>2]=e[_>>2],e[M+4>>2]=e[_+4>>2],e[M+8>>2]=e[_+8>>2],e[M+12>>2]=e[_+12>>2],Du(p,h,D0,f,w,q,t0),c0=re;return}if(ix=n[t0>>0]|0,ge=e[q>>2]|0,te=k+4|0,l=e[te>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(n0=0;(n0|0)!=(x0|0);){do if((e[r0+(n0<<4)+4>>2]&16777215|0)!=0&&(j[r0+(n0<<4)+12>>1]|0)>127){if($=r0+(n0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=r0+(n0<<4)+8|0,rx=e[d>>2]|0,ox=rx>>>24,l=((l&65535)+-12-(ox<<1)<<ox)+(rx&16777215)+12|0,l>>>0>=28){Rx=l+-20|0,Gx=(Dx(Rx|0)|0)^31,rx=Gx+-1|0,ox=Rx>>>rx&1,Gx=Gx+-2|0,o[$>>1]=(((Gx<<1)+32766|ox)<<1)+28|Rx&1,e[d>>2]=Gx<<24|(Rx-((ox|2)<<rx)|0)>>>1;break}}else d=r0+(n0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);n0=n0+1|0}l=e[te>>2]|0,d=1,$=12,g0=19}else rx=0,ox=0,g0=38;else d=0,$=0,g0=19;do if((g0|0)==19){if((l|0)>=3){if((l|0)>=4){rx=d,ox=$,g0=38;break}J4(p,w,q,t0),Hx(lx|0,0,1028)|0,s0[lx+1032>>3]=X0,Hx(cx|0,0,2820)|0,s0[cx+2824>>3]=X0,Hx(_x|0,0,2084)|0,s0[_x+2088>>3]=X0,gg(h,D0,f,r0,x0,lx,cx,_x),l=t0+((e[q>>2]|0)>>>3)|0,i0=s[l>>0]|0,d=l,n[d>>0]=i0,n[d+1>>0]=i0>>8,n[d+2>>0]=i0>>16,n[d+3>>0]=i0>>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[q>>2]=(e[q>>2]|0)+13,l=c+8|0,d=Px[e[c>>2]&1](e[l>>2]|0,11272)|0,d||kx(1),Er(lx,256,d,P0,k0,q,t0),Er(cx,704,d,w0,y0,q,t0),Er(_x,64,d,m0,p0,q,t0),yx[e[c+4>>2]&1](e[l>>2]|0,d),xl(h,D0,f,r0,x0,P0,k0,w0,y0,m0,p0,q,t0),p&&(x0=(e[q>>2]|0)+7|0,e[q>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0);break}if(J4(p,w,q,t0),i0=t0+((e[q>>2]|0)>>>3)|0,Cx=s[i0>>0]|0,e0=i0,n[e0>>0]=Cx,n[e0+1>>0]=Cx>>8,n[e0+2>>0]=Cx>>16,n[e0+3>>0]=Cx>>24,i0=i0+4|0,n[i0>>0]=0,n[i0+1>>0]=0,n[i0+2>>0]=0,n[i0+3>>0]=0,e[q>>2]=(e[q>>2]|0)+13,x0>>>0<129){for(Hx(lx|0,0,1024)|0,$=0,n0=D0,l0=0;(l0|0)!=(x0|0);){for(l=e[r0+(l0<<4)>>2]|0,d=e[r0+(l0<<4)+4>>2]|0,f0=n0,u0=l;u0;)i0=lx+((s[h+(f0&f)>>0]|0)<<2)|0,e[i0>>2]=(e[i0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,n0=n0+l+(d&16777215)|0,l0=l0+1|0}H2(c,lx,$,8,P0,k0,q,t0),lx=e[q>>2]|0,e0=t0+(lx>>>3)|0,c=s[e0>>0]|0,lx=Sx(372273155,9593412,lx&7|0)|0,i0=S0,lx=c|lx,c=e0,n[c>>0]=lx,n[c+1>>0]=lx>>8,n[c+2>>0]=lx>>16,n[c+3>>0]=lx>>24,e0=e0+4|0,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>24,e0=(e[q>>2]|0)+56|0,e[q>>2]=e0,e0=t0+(e0>>>3)|0,i0=s[e0>>0]|0,c=e0,n[c>>0]=i0,n[c+1>>0]=i0>>8,n[c+2>>0]=i0>>16,n[c+3>>0]=i0>>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[q>>2]|0)+3|0,e[q>>2]=e0,c=t0+(e0>>>3)|0,i0=s[c>>0]|0,e0=Sx(57269251,0,e0&7|0)|0,lx=S0,e0=i0|e0,i0=c,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=lx,n[c+1>>0]=lx>>8,n[c+2>>0]=lx>>16,n[c+3>>0]=lx>>24,e[q>>2]=(e[q>>2]|0)+28,xl(h,D0,f,r0,x0,P0,k0,404412,86620,405116,88028,q,t0)}else Hx(cx|0,0,1028)|0,s0[cx+1032>>3]=X0,Hx(_x|0,0,2820)|0,s0[_x+2824>>3]=X0,Hx(f0|0,0,2084)|0,s0[f0+2088>>3]=X0,gg(h,D0,f,r0,x0,cx,_x,f0),H2(c,cx,e[cx+1024>>2]|0,8,u0,l0,q,t0),H2(c,_x,e[_x+2816>>2]|0,10,w0,y0,q,t0),H2(c,f0,e[f0+2080>>2]|0,6,m0,p0,q,t0),xl(h,D0,f,r0,x0,u0,l0,w0,y0,m0,p0,q,t0);p&&(x0=(e[q>>2]|0)+7|0,e[q>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0)}while(!1);if((g0|0)==38){Mx=Cx+8|0,fx=Cx+12|0,p0=Cx+24|0,Fx=Cx+28|0,e[Cx>>2]=0,e[Cx+4>>2]=0,e[Cx+8>>2]=0,e[Cx+12>>2]=0,e[Cx+16>>2]=0,e[Cx+20>>2]=0,e[Cx+24>>2]=0,Ex=Cx+32|0,px=Cx+36|0,m0=Cx+48|0,e[Fx>>2]=0,e[Fx+4>>2]=0,e[Fx+8>>2]=0,e[Fx+12>>2]=0,e[Fx+16>>2]=0,e[m0>>2]=0,Fx=Cx+52|0,$0=Cx+56|0,Y0=Cx+60|0,Wx=Cx+72|0,e[Fx>>2]=0,e[Fx+4>>2]=0,e[Fx+8>>2]=0,e[Fx+12>>2]=0,e[Fx+16>>2]=0,Fx=Cx+76|0,$x=Cx+80|0,ae=Cx+88|0,w0=Cx+92|0,Gx=Cx+96|0,k0=Cx+100|0,Rx=Cx+104|0,P0=Cx+108|0,d=(l|0)<10,$=Wx,n0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(n0|0));do if(d){if(e[N0>>2]=1,e[O0>>2]=0,!((l|0)<5|w>>>0<64)){l0=D0+w|0,$=_x,n0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(n0|0));for(f0=D0;n0=f0+64|0,!(n0>>>0>l0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=n0>>>0);)qx=s[h+(d&f)>>0]|0,zx=_x+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(qx>>>6<<2)>>2]|0)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+1,$=qx;f0=f0+4096|0}for(e[lx>>2]=0,e[lx+4>>2]=0,e[lx+8>>2]=0,e[cx>>2]=0,e[cx+4>>2]=0,e[cx+8>>2]=0,e[cx+12>>2]=0,e[cx+16>>2]=0,e[cx+20>>2]=0,d=0,y0=0;(d|0)!=9;)qx=e[_x+(d<<2)>>2]|0,zx=lx+(((d>>>0)%3|0)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+qx,zx=cx+((d>>>0>5?d+-6|0:d)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+qx,d=d+1|0,y0=y0+qx|0;for(l0=lx+12|0,f0=lx,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=l0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=u0+d|0;for(u0?(v0=+(u0>>>0),u0>>>0<256?d0=+a0[19516+(u0<<2)>>2]:d0=+Kx(v0),H0=h0+v0*d0):H0=h0,g0=cx+12|0,f0=cx,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=g0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=l0+d|0;for(l0?(v0=+(l0>>>0),l0>>>0<256?d0=+a0[19516+(l0<<2)>>2]:d0=+Kx(v0),sx=h0+v0*d0):sx=h0,u0=cx+24|0,f0=g0,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=u0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=l0+d|0;for(l0?(v0=+(l0>>>0),l0>>>0<256?d0=+a0[19516+(l0<<2)>>2]:d0=+Kx(v0),q0=h0+v0*d0):q0=h0,L0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,n0=_x+($+3<<2)|0,$=_x+($<<2)|0,h0=0,d=0;f0=$+4|0,$=e[$>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),d0=h0-v0*d0,!(f0>>>0>=n0>>>0);)d=e[f0>>2]|0,v0=+(d>>>0),d>>>0<256?h0=+a0[19516+(d<<2)>>2]:h0=+Kx(v0),$=f0+4|0,h0=d0-v0*h0,d=l0+d|0;l0&&(h0=+(l0>>>0),l0>>>0<256?v0=+a0[19516+(l0<<2)>>2]:v0=+Kx(h0),d0=d0+h0*v0),L0=L0+d0,u0=u0+1|0}y0||j0(406445,406053,339,406456),d0=1/+(y0>>>0),H0=H0*d0,v0=(sx+q0)*d0,d0=(l|0)<7?H0*10:L0*d0;do if(H0-v0<.2&H0-d0<.2)e[N0>>2]=1;else if(v0-d0<.02){e[N0>>2]=2,e[O0>>2]=18916;break}else{e[N0>>2]=3,e[O0>>2]=19172;break}while(!1);if(qx=e[O0>>2]|0,mx=qx,qx){for(qx=e[N0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[r0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[lx>>2]=256,e[lx+4>>2]=qx,g0=256/(qx>>>0)|0,e[lx+8>>2]=g0,e[lx+12>>2]=512,s0[lx+16>>3]=400,e[lx+24>>2]=0,e[lx+28>>2]=Cx,e[lx+36>>2]=w0,vx=lx+40|0,e[vx>>2]=512,jx=lx+44|0,e[jx>>2]=0,zx=lx+48|0,e[zx>>2]=0,e[lx+64>>2]=0,g0=g0+1|0,g0=u0>>>0<g0>>>0?u0:g0,l0=Cx+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,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+8|0,n0&&Zx($|0,e[l>>2]|0,n0|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(f0=Cx+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(n0=(l|0)==0?u0:l;!(n0>>>0>=u0>>>0);)n0=n0<<1;l0=c+8|0,d=Px[e[c>>2]&1](e[l0>>2]|0,n0<<2)|0,d||kx(1),$=e[f0>>2]|0,l=Cx+12|0,$&&Zx(d|0,e[l>>2]|0,$<<2|0)|0,yx[e[c+4>>2]&1](e[l0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=n0,Q0=c}else Q0=c,l0=c+8|0;for(e[Cx+4>>2]=u0,l=Px[e[Q0>>2]&1](e[l0>>2]|0,qx<<4)|0,l||kx(1),ax=lx+60|0,e[ax>>2]=l,e[ae>>2]|0&&j0(407776,406802,255,407793),d=ex(g0,qx)|0,e[w0>>2]=d,d=Px[e[Q0>>2]&1](e[l0>>2]|0,d*1040|0)|0,l=d,d||kx(1),e[ae>>2]=l,hx=lx+32|0,e[hx>>2]=l,l=0;(l|0)!=(qx|0);)Hx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,s0[d+(l*1040|0)+1032>>3]=X0,l=l+1|0;for(e[lx+56>>2]=0,e[lx+52>>2]=0,Ug(c,cx,x0,p0,Gx,k0),qg(c,_x,x0,m0,Rx,P0),N0=cx+40|0,K0=cx+24|0,z0=cx+36|0,Bx=cx+32|0,m0=_x+40|0,k0=_x+24|0,P0=_x+36|0,k=_x+32|0,$=D0,d=e0,l=i0,O0=0;(O0|0)!=(x0|0);){for(g0=e[r0+(O0<<4)>>2]|0,y0=e[r0+(O0<<4)+4>>2]|0,n0=e[r0+(O0<<4)+12>>2]|0,w0=n0&65535,p0=n0>>>16,u0=e[N0>>2]|0,f0=e[K0>>2]|0,n0=f0+(u0*2832|0)+((n0&65535)<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[z0>>2]|0)+1|0,e[z0>>2]=u0,(u0|0)==(e[Bx>>2]|0)?(Su(cx,0),u0=$,f0=g0):(u0=$,f0=g0);f0;)n0=n[h+(u0&f)>>0]|0,l=(e[zx>>2]|0)+(e[mx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Yx=e[hx>>2]|0,ux=Yx+(l*1040|0)+((n0&255)<<2)|0,e[ux>>2]=(e[ux>>2]|0)+1,l=Yx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[jx>>2]|0)+1|0,e[jx>>2]=l,(l|0)==(e[vx>>2]|0)&&Gg(c,lx,0),l=d,u0=u0+1|0,d=n0,f0=f0+-1|0;ux=y0&16777215,$=$+g0+ux|0;do if(ux){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(w0&65535)<=127||(ux=e[m0>>2]|0,Yx=e[k0>>2]|0,p0=Yx+(ux*2096|0)+(p0<<2)|0,e[p0>>2]=(e[p0>>2]|0)+1,ux=Yx+(ux*2096|0)+2080|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[P0>>2]|0)+1|0,e[P0>>2]=ux,(ux|0)!=(e[k>>2]|0)))break;Fu(_x,0)}while(!1);O0=O0+1|0}for(Gg(c,lx,1),yx[e[c+4>>2]&1](e[l0>>2]|0,e[ax>>2]|0),e[ax>>2]=0,Su(cx,1),Fu(_x,1),e[Wx>>2]|0&&j0(406853,406802,473,407737),l=e[Cx>>2]|0,e[Fx>>2]=l<<6,l=Px[e[Q0>>2]&1](e[l0>>2]|0,l<<8)|0,l||kx(1),e[Wx>>2]=l,$=0;!($>>>0>=(e[Cx>>2]|0)>>>0);){for(l=ex($,qx)|0,d=$<<6,n0=0;(n0|0)!=64;)e[(e[Wx>>2]|0)+(d+n0<<2)>>2]=l+(e[mx+(n0<<2)>>2]|0),n0=n0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[r0+(d<<4)>>2]|0)|0,d=d+1|0;if(g0=(l>>>9)+1|0,u0=g0>>>0<257?g0:257,e[lx>>2]=256,e[lx+4>>2]=512,s0[lx+8>>3]=400,e[lx+16>>2]=0,y0=lx+20|0,e[y0>>2]=Cx,e[lx+28>>2]=w0,K0=lx+32|0,e[K0>>2]=512,z0=lx+36|0,e[z0>>2]=0,Bx=lx+40|0,e[Bx>>2]=0,e[lx+72>>2]=0,l0=Cx+16|0,l=e[l0>>2]|0,l>>>0<g0>>>0){for(f0=(l|0)==0?g0:l;!(f0>>>0>=g0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+8|0,n0&&Zx($|0,e[l>>2]|0,n0|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(l0=Cx+20|0,l=e[l0>>2]|0,l>>>0<g0>>>0){for(f0=(l|0)==0?g0:l;!(f0>>>0>=g0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+12|0,n0&&Zx($|0,e[l>>2]|0,n0<<2|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}for(e[(e[y0>>2]|0)+4>>2]=g0,e[ae>>2]|0&&j0(407776,407818,70,407905),e[w0>>2]=u0,l=Px[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||kx(1),e[ae>>2]=d,N0=lx+24|0,e[N0>>2]=d,Hx(l|0,0,1024)|0,e[l+1024>>2]=0,s0[l+1032>>3]=X0,e[lx+48>>2]=0,e[lx+44>>2]=0,Ug(c,cx,x0,p0,Gx,k0),qg(c,_x,x0,m0,Rx,P0),l0=cx+40|0,u0=cx+24|0,g0=cx+36|0,y0=cx+32|0,w0=_x+40|0,p0=_x+24|0,m0=_x+36|0,k0=_x+32|0,l=D0,O0=0;(O0|0)!=(x0|0);){for($=e[r0+(O0<<4)>>2]|0,n0=e[r0+(O0<<4)+4>>2]|0,Fx=e[r0+(O0<<4)+12>>2]|0,P0=Fx&65535,k=Fx>>>16,ux=e[l0>>2]|0,Yx=e[u0>>2]|0,Fx=Yx+(ux*2832|0)+((Fx&65535)<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*2832|0)+2816|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[g0>>2]|0)+1|0,e[g0>>2]=ux,(ux|0)==(e[y0>>2]|0)?(Su(cx,0),d=l,f0=$):(d=l,f0=$);f0;)ux=e[Bx>>2]|0,Yx=e[N0>>2]|0,Fx=Yx+(ux*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*1040|0)+1024|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[z0>>2]|0)+1|0,e[z0>>2]=ux,(ux|0)==(e[K0>>2]|0)&&Hg(lx,0),d=d+1|0,f0=f0+-1|0;ux=n0&16777215,l=l+$+ux|0,(ux|0)!=0&(P0&65535)>127&&(ux=e[w0>>2]|0,Yx=e[p0>>2]|0,Fx=Yx+(ux*2096|0)+(k<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*2096|0)+2080|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[m0>>2]|0)+1|0,e[m0>>2]=ux,(ux|0)==(e[k0>>2]|0))&&Fu(_x,0),O0=O0+1|0}Hg(lx,1),Su(cx,1),Fu(_x,1),l=2}else l=nl(h,D0,f,w)|0,l=l?2:3,Mg(c,h,D0,f,k,e0,i0,r0,x0,l,Cx);while(!1);(e[te>>2]|0)>3&&Lg(ox,rx,Cx),dg(c,h,D0,w,f,e0,i0,p,ox,rx,l,r0,x0,Cx,q,t0),Yx=c+4|0,ux=c+8|0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+8>>2]|0),e[Mx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[fx>>2]|0),e[fx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+32>>2]|0),e[Ex>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[px>>2]|0),e[px>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+56>>2]|0),e[$0>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Y0>>2]|0),e[Y0>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Wx>>2]|0),e[Wx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[$x>>2]|0),e[$x>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[ae>>2]|0),e[ae>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Gx>>2]|0),e[Gx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Rx>>2]|0),e[Rx>>2]=0}if((w+4|0)>>>0>=(e[q>>2]|0)>>>3>>>0){c0=re;return}e[M>>2]=e[_>>2],e[M+4>>2]=e[_+4>>2],e[M+8>>2]=e[_+8>>2],e[M+12>>2]=e[_+12>>2],n[t0>>0]=ix,e[q>>2]=ge&255,Du(p,h,D0,f,w,q,t0),c0=re}function Ig(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 Tg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0;if(M=c0,c0=c0+1024|0,r0=M,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Hx(r0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=r0+((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(_=k/13,d=r0+1024|0,l=r0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+a0[19516+(p<<2)>>2]:x0=+Kx(e0),w=e[l+4>>2]|0,i0=+(w>>>0),w>>>0<256?$=+a0[19516+(w<<2)>>2]:$=+Kx(i0),l=l+8|0,k=k-e0*x0-i0*$,f=f+p+w|0;if(i0=+(f>>>0),f?(f>>>0<256?e0=+a0[19516+(f<<2)>>2]:e0=+Kx(i0),$=i0,k=k+i0*e0):$=i0,(k<$?$:k)>_)return r0=0,c0=M,r0|0}return r0=1,c0=M,r0|0}function Rg(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&&j0(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 j2(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0;for(l0=c0,c0=c0+16|0,t0=l0+8|0,n0=l0,q=1;;){w=h,M=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+(M<<3)>>2]=p>>>0>q>>>0?p:q,o[l+(M<<3)+4>>1]=-1,o[l+(M<<3)+6>>1]=w,M=M+1|0}if((M|0)==1)break;x:do if(M>>>0<13)for($=1;;){if($>>>0>=M>>>0)break x;for(i0=l+($<<3)|0,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,k=t0,e[k>>2]=e0,e[k+4>>2]=i0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(_g(t0,p)|0);)if(x0=p,r0=e[x0+4>>2]|0,_=l+(w<<3)|0,e[_>>2]=e[x0>>2],e[_+4>>2]=r0,!k){w=0;break}_=l+(w<<3)|0,e[_>>2]=e0,e[_+4>>2]=i0,$=$+1|0}else for(x0=M>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,r0=w;!(r0>>>0>=M>>>0);){for(k=l+(r0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=n0,e[$>>2]=p,e[$+4>>2]=k,$=r0;!($>>>0<w>>>0||(e0=$-w|0,i0=l+(e0<<3)|0,!(_g(n0,i0)|0)));)u0=i0,i0=e[u0+4>>2]|0,_=l+($<<3)|0,e[_>>2]=e[u0>>2],e[_+4>>2]=i0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,r0=r0+1|0}x0=x0+1|0}while(!1);for(i0=l+(M<<3)|0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=M+1|0,_=l+(i0<<3)|0,e[_>>2]=-1,e[_+4>>2]=-1,_=M<<1,e0=0,w=M;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(i0<<3)>>2]|0,k>>>0>p>>>0?(r0=i0+1|0,p=e[l+(r0<<3)>>2]|0,x0=e0,$=i0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,r0=i0,$=e0),k>>>0>p>>>0?(e0=x0,i0=r0+1|0,k=r0):(p=k,e0=x0+1|0,i0=r0,k=x0),u0=_-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(Rg(_+-1|0,l,d,f)|0){f0=36;break}q=q<<1}if((f0|0)==36){c0=l0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=l0}function il(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,i0=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){i0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((i0|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(Hx(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,i0=29):c>>>0>4&&(w=0,i0=29);x:do if((i0|0)==29)for(;;){if(i0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,i0=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){i0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(i0=42)}else i0=42;while(!1);do if((i0|0)==42){i0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(i0=44);x:do if((i0|0)==44)for(i0=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 wn(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,i0=0,$=0;i0=c0,c0=c0+64|0,w=i0+32|0,e0=i0,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+(j[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=i0}function _g(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 Ng(c,h){return c=c|0,h=h|0,al(h)|0}function Bq(c,h){c=c|0,h=h|0,Vg(h)}function Mg(c,h,f,l,d,w,p,k,e0,i0,$){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,i0=i0|0,$=$|0;var x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0;for(H0=c0,c0=c0+2096|0,ax=H0,lq(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),Q0=c+8|0,K0=Px[e[c>>2]&1](e[Q0>>2]|0,e[$>>2]<<2)|0,K0||kx(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[K0+(d<<2)>>2]=i0,d=d+1|0;for(mx=$+48|0,r0=e[mx>>2]|0,Bx=Px[e[c>>2]&1](e[Q0>>2]|0,x0*66560|0)|0,Bx||kx(1),d=x0<<6,i0=0;(i0|0)!=(d|0);)Hx(Bx+(i0*1040|0)|0,0,1024)|0,e[Bx+(i0*1040|0)+1024>>2]=0,s0[Bx+(i0*1040|0)+1032>>3]=X0,i0=i0+1|0;for(_=$+96|0,e[_>>2]|0&&j0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Px[e[c>>2]&1](e[Q0>>2]|0,x0*2832|0)|0,x0||kx(1),e[_>>2]=x0,d=e[d>>2]|0,i0=0;(i0|0)!=(d|0);)Hx(x0+(i0*2832|0)|0,0,2816)|0,e[x0+(i0*2832|0)+2816>>2]=0,s0[x0+(i0*2832|0)+2824>>3]=X0,i0=i0+1|0;for(sx=Px[e[c>>2]&1](e[Q0>>2]|0,r0*8384|0)|0,sx||kx(1),d=r0<<2,i0=0;(i0|0)!=(d|0);)Hx(sx+(i0*2096|0)|0,0,2080)|0,e[sx+(i0*2096|0)+2080>>2]=0,s0[sx+(i0*2096|0)+2088>>3]=X0,i0=i0+1|0;for(d=e[$+12>>2]|0,d?r0=e[d>>2]|0:r0=0,d=e[$+36>>2]|0,d?i0=e[d>>2]|0:i0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,q0=$+32|0,L0=$+36|0,h0=e[_>>2]|0,k0=$+8|0,P0=$+12|0,O0=$+56|0,N0=$+60|0,_=p,n0=0,x0=0,f0=0,t0=0,u0=0,l0=0,m0=0;(m0|0)!=(e0|0);){for(i0?p0=f0:(t0=t0+1|0,p0=s[(e[q0>>2]|0)+t0>>0]|0,i0=e[(e[L0>>2]|0)+(t0<<2)>>2]|0),y0=k+(m0<<4)+12|0,g0=h0+(p0*2832|0)+((j[y0>>1]|0)<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,g0=h0+(p0*2832|0)+2816|0,e[g0>>2]=(e[g0>>2]|0)+1,g0=e[k+(m0<<4)>>2]|0,v0=_,w0=u0,p=r0,u0=f,d0=g0;d0;){switch(p?(f0=w0,r0=p):(l0=l0+1|0,f0=s[(e[k0>>2]|0)+l0>>0]|0,r0=e[(e[P0>>2]|0)+(l0<<2)>>2]|0),p=r0+-1|0,_=f0<<6,e[K0+(f0<<2)>>2]|0){case 0:{r0=w&63;break}case 1:{r0=(w&255)>>>2;break}case 2:{r0=n[406969+(w&255)>>0]|n[406969+(v0&255|256)>>0];break}case 3:{r0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(v0&255)>>0]|0)&255;break}default:r0=0}v0=_+(r0&255)|0,w0=h+(u0&l)|0,_=Bx+(v0*1040|0)+((s[w0>>0]|0)<<2)|0,e[_>>2]=(e[_>>2]|0)+1,v0=Bx+(v0*1040|0)+1024|0,e[v0>>2]=(e[v0>>2]|0)+1,v0=w,w=n[w0>>0]|0,w0=f0,u0=u0+1|0,d0=d0+-1|0}if(i0=i0+-1|0,d0=e[k+(m0<<4)+4>>2]&16777215,f=f+g0+d0|0,d0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,_=o[y0>>1]|0,(_&65535)>127){switch(d?f0=x0:(f0=x0+1|0,n0=s[(e[O0>>2]|0)+f0>>0]|0,d=e[(e[N0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,r0=n0<<2,y0=_&65535,x0=y0&7,y0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}_=r0+x0|0,r0=sx+(_*2096|0)+((j[k+(m0<<4)+14>>1]|0)<<2)|0,e[r0>>2]=(e[r0>>2]|0)+1,_=sx+(_*2096|0)+2080|0,e[_>>2]=(e[_>>2]|0)+1,_=u0,r0=n0,x0=f0}else _=u0,r0=n0;else _=v0,r0=n0;n0=r0,f0=p0,u0=w0,r0=p,m0=m0+1|0}for(w0=c+4|0,yx[e[w0>>2]&1](e[Q0>>2]|0,K0),x0=$+72|0,e[x0>>2]|0&&j0(406853,406802,86,406832),d=e[$>>2]|0,i0=$+76|0,e[i0>>2]=d<<6,d=Px[e[c>>2]&1](e[Q0>>2]|0,d<<8)|0,d||kx(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&j0(406882,406802,92,406832),f=e[i0>>2]|0,y0=$+92|0,e[y0>>2]=f,f=Px[e[c>>2]&1](e[Q0>>2]|0,f*1040|0)|0,f||kx(1),e[d>>2]=f,g0=e[i0>>2]|0,d=e[x0>>2]|0,u0=g0<<2,p=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,p||kx(1),d0=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,d0||kx(1),_=Px[e[c>>2]&1](e[Q0>>2]|0,49176)|0,_||kx(1),i0=0;(i0|0)!=(g0|0);)e[p+(i0<<2)>>2]=1,i0=i0+1|0;for(v0=d,d=0;(d|0)!=(g0|0);)h=Bx+(d*1040|0)|0,Zx(f+(d*1040|0)|0,h|0,1040)|0,s0[f+(d*1040|0)+1032>>3]=+gn(h),e[v0+(d<<2)>>2]=d,d=d+1|0;for(r0=0,i0=0;!(g0>>>0<=i0>>>0);){for(d=g0-i0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(r0+x0<<2)>>2]=i0+x0,x0=x0+1|0;r0=r0+(vu(f,p,v0+(i0<<2)|0,d0+(r0<<2)|0,_,d,d,256,2048)|0)|0,i0=i0+64|0}d=r0<<6,x0=ex(r0>>>1,r0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(i0=2048;!(i0>>>0>=d>>>0);)i0=i0<<1;if(d=Px[e[c>>2]&1](e[Q0>>2]|0,i0*24|0)|0,!d)kx(1);else{Zx(d|0,_|0,49152)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,_),z0=d;break}}else z0=_;while(!1);for(l0=vu(f,p,v0,d0,z0,r0,g0,256,x0)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,z0),yx[e[w0>>2]&1](e[Q0>>2]|0,p),w=ax+1024|0,t0=ax+1024|0,f0=0;;){if((f0|0)==(g0|0)){d=0;break}if(x0=e[((f0|0)==0?v0:v0+(f0+-1<<2)|0)>>2]|0,d=Bx+(f0*1040|0)|0,n0=Bx+(f0*1040|0)+1024|0,!(e[n0>>2]|0))M=0;else{for(Zx(ax|0,d|0,1040)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),i0=0;(i0|0)!=256;)z0=ax+(i0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[f+(x0*1040|0)+(i0<<2)>>2]|0),i0=i0+1|0;M=+gn(ax),M=M-+s0[f+(x0*1040|0)+1032>>3]}for(i0=x0,p=0;(p|0)!=(l0|0);){if(_=d0+(p<<2)|0,x0=e[_>>2]|0,!(e[n0>>2]|0))q=0;else{for(Zx(ax|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),r0=0;(r0|0)!=256;)z0=ax+(r0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[f+(x0*1040|0)+(r0<<2)>>2]|0),r0=r0+1|0;q=+gn(ax),q=q-+s0[f+(x0*1040|0)+1032>>3]}q<M&&(M=q,i0=e[_>>2]|0),p=p+1|0}e[v0+(f0<<2)>>2]=i0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){i0=0;break}z0=e[d0+(d<<2)>>2]|0,Hx(f+(z0*1040|0)|0,0,1024)|0,e[f+(z0*1040|0)+1024>>2]=0,s0[f+(z0*1040|0)+1032>>3]=X0,d=d+1|0}for(;(i0|0)!=(g0|0);){for(d=e[v0+(i0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[Bx+(i0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)z0=f+(d*1040|0)+(x0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[Bx+(i0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;i0=i0+1|0}for(yx[e[w0>>2]&1](e[Q0>>2]|0,d0),w=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,w||kx(1),d=0;;){if((d|0)==(g0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(g0|0);)i0=w+(e[v0+(x0<<2)>>2]<<2)|0,(e[i0>>2]|0)==-1&&(e[i0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[Q0>>2]|0,d*1040|0)|0,p||kx(1),r0=0,_=0;(_|0)!=(g0|0);)x0=v0+(_<<2)|0,d=e[x0>>2]|0,i0=e[w+(d<<2)>>2]|0,(i0|0)==(r0|0)?(Zx(p+(r0*1040|0)|0,f+(d*1040|0)|0,1040)|0,i0=e[w+(e[x0>>2]<<2)>>2]|0,d=r0+1|0):d=r0,e[x0>>2]=i0,r0=d,_=_+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,w),d=0;(d|0)!=(r0|0);)Zx(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,p),e[y0>>2]=r0,yx[e[w0>>2]&1](e[Q0>>2]|0,Bx),x0=$+80|0,e[x0>>2]|0&&j0(406910,406802,106,406832),d=e[mx>>2]|0,i0=$+84|0,e[i0>>2]=d<<2,d=Px[e[c>>2]&1](e[Q0>>2]|0,d<<4)|0,d||kx(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&j0(406940,406802,112,406832),f=e[i0>>2]|0,y0=$+108|0,e[y0>>2]=f,f=Px[e[c>>2]&1](e[Q0>>2]|0,f*2096|0)|0,f||kx(1),e[d>>2]=f,g0=e[i0>>2]|0,d=e[x0>>2]|0,u0=g0<<2,p=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,p||kx(1),d0=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,d0||kx(1),_=Px[e[c>>2]&1](e[Q0>>2]|0,49176)|0,_||kx(1),i0=0;(i0|0)!=(g0|0);)e[p+(i0<<2)>>2]=1,i0=i0+1|0;for(v0=d,d=0;(d|0)!=(g0|0);)$=sx+(d*2096|0)|0,Zx(f+(d*2096|0)|0,$|0,2096)|0,s0[f+(d*2096|0)+2088>>3]=+mn($),e[v0+(d<<2)>>2]=d,d=d+1|0;for(r0=0,i0=0;!(g0>>>0<=i0>>>0);){for(d=g0-i0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(r0+x0<<2)>>2]=i0+x0,x0=x0+1|0;r0=r0+(Au(f,p,v0+(i0<<2)|0,d0+(r0<<2)|0,_,d,d,256,2048)|0)|0,i0=i0+64|0}d=r0<<6,x0=ex(r0>>>1,r0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(i0=2048;!(i0>>>0>=d>>>0);)i0=i0<<1;if(d=Px[e[c>>2]&1](e[Q0>>2]|0,i0*24|0)|0,!d)kx(1);else{Zx(d|0,_|0,49152)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,_),hx=d;break}}else hx=_;while(!1);for(l0=Au(f,p,v0,d0,hx,r0,g0,256,x0)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,hx),yx[e[w0>>2]&1](e[Q0>>2]|0,p),w=ax+2080|0,t0=ax+2080|0,f0=0;;){if((f0|0)==(g0|0)){d=0;break}if(x0=e[((f0|0)==0?v0:v0+(f0+-1<<2)|0)>>2]|0,d=sx+(f0*2096|0)|0,n0=sx+(f0*2096|0)+2080|0,!(e[n0>>2]|0))M=0;else{for(Zx(ax|0,d|0,2096)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),i0=0;(i0|0)!=520;)hx=ax+(i0<<2)|0,e[hx>>2]=(e[hx>>2]|0)+(e[f+(x0*2096|0)+(i0<<2)>>2]|0),i0=i0+1|0;M=+mn(ax),M=M-+s0[f+(x0*2096|0)+2088>>3]}for(i0=x0,p=0;(p|0)!=(l0|0);){if(_=d0+(p<<2)|0,x0=e[_>>2]|0,!(e[n0>>2]|0))q=0;else{for(Zx(ax|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),r0=0;(r0|0)!=520;)hx=ax+(r0<<2)|0,e[hx>>2]=(e[hx>>2]|0)+(e[f+(x0*2096|0)+(r0<<2)>>2]|0),r0=r0+1|0;q=+mn(ax),q=q-+s0[f+(x0*2096|0)+2088>>3]}q<M&&(M=q,i0=e[_>>2]|0),p=p+1|0}e[v0+(f0<<2)>>2]=i0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){i0=0;break}ax=e[d0+(d<<2)>>2]|0,Hx(f+(ax*2096|0)|0,0,2080)|0,e[f+(ax*2096|0)+2080>>2]=0,s0[f+(ax*2096|0)+2088>>3]=X0,d=d+1|0}for(;(i0|0)!=(g0|0);){for(d=e[v0+(i0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[sx+(i0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)ax=f+(d*2096|0)+(x0<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[sx+(i0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;i0=i0+1|0}for(yx[e[w0>>2]&1](e[Q0>>2]|0,d0),w=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,w||kx(1),d=0;;){if((d|0)==(g0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(g0|0);)i0=w+(e[v0+(x0<<2)>>2]<<2)|0,(e[i0>>2]|0)==-1&&(e[i0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[Q0>>2]|0,d*2096|0)|0,p||kx(1),r0=0,_=0;(_|0)!=(g0|0);)x0=v0+(_<<2)|0,d=e[x0>>2]|0,i0=e[w+(d<<2)>>2]|0,(i0|0)==(r0|0)?(Zx(p+(r0*2096|0)|0,f+(d*2096|0)|0,2096)|0,i0=e[w+(e[x0>>2]<<2)>>2]|0,d=r0+1|0):d=r0,e[x0>>2]=i0,r0=d,_=_+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,w),d=0;(d|0)!=(r0|0);)Zx(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;yx[e[w0>>2]&1](e[Q0>>2]|0,p),e[y0>>2]=r0,yx[e[w0>>2]&1](e[Q0>>2]|0,sx),c0=H0}function Lg(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);)il(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);)il(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);)il(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function Ug(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,i0=0,$=0,x0=0,r0=0,_=0;if(r0=(f>>>10)+1|0,x0=r0>>>0<257?r0:257,e[h>>2]=704,e[h+4>>2]=1024,s0[h+8>>3]=500,e[h+16>>2]=0,_=h+20|0,e[_>>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<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0)|0,k||kx(1),e0=e[$>>2]|0,f=l+8|0,e0&&Zx(k|0,e[f>>2]|0,e0|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if($=l+20|0,f=e[$>>2]|0,f>>>0<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),e0=e[$>>2]|0,f=l+12|0,e0&&Zx(k|0,e[f>>2]|0,e0<<2|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if(e[(e[_>>2]|0)+4>>2]=r0,e[d>>2]|0&&j0(407776,407818,70,407880),e[w>>2]=x0,f=Px[e[c>>2]&1](e[c+8>>2]|0,x0*2832|0)|0,p=f,!f)kx(1);else{e[d>>2]=p,e[h+24>>2]=p,Hx(f|0,0,2816)|0,e[f+2816>>2]=0,s0[f+2824>>3]=X0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function qg(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,i0=0,$=0,x0=0,r0=0,_=0;if(r0=(f>>>9)+1|0,x0=r0>>>0<257?r0:257,e[h>>2]=64,e[h+4>>2]=512,s0[h+8>>3]=100,e[h+16>>2]=0,_=h+20|0,e[_>>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<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0)|0,k||kx(1),e0=e[$>>2]|0,f=l+8|0,e0&&Zx(k|0,e[f>>2]|0,e0|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if($=l+20|0,f=e[$>>2]|0,f>>>0<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),e0=e[$>>2]|0,f=l+12|0,e0&&Zx(k|0,e[f>>2]|0,e0<<2|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if(e[(e[_>>2]|0)+4>>2]=r0,e[d>>2]|0&&j0(407776,407818,70,407854),e[w>>2]=x0,f=Px[e[c>>2]&1](e[c+8>>2]|0,x0*2096|0)|0,p=f,!f)kx(1);else{e[d>>2]=p,e[h+24>>2]=p,Hx(f|0,0,2080)|0,e[f+2080>>2]=0,s0[f+2088>>3]=X0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function Hg(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+2112|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*1040|0)|0,i0=v0+(M*1040|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*1040|0)|0,v0+(M*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)i0=f0+($*1040|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,i0=f0+($*1040|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*1040|0)|0,0,1024)|0,e[v0+(f*1040|0)+1024>>2]=0,s0[v0+(f*1040|0)+1032>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*1040|0)|0,f0+1040|0,1040)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*1040|0)|0,0,1024)|0,e[v0+(h0*1040|0)+1024>>2]=0,s0[v0+(h0*1040|0)+1032>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*1040|0)|0,0,1024)|0,e[v0+(w0*1040|0)+1024>>2]=0,s0[v0+(w0*1040|0)+1032>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,s0[x0+(f*1040|0)+1032>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Su(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+5696|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*2832|0)|0,i0=v0+(M*2832|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*2832|0)|0,v0+(M*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)i0=f0+($*2832|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,i0=f0+($*2832|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*2832|0)|0,0,2816)|0,e[v0+(f*2832|0)+2816>>2]=0,s0[v0+(f*2832|0)+2824>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*2832|0)|0,f0+2832|0,2832)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*2832|0)|0,0,2816)|0,e[v0+(h0*2832|0)+2816>>2]=0,s0[v0+(h0*2832|0)+2824>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*2832|0)|0,0,2816)|0,e[v0+(w0*2832|0)+2816>>2]=0,s0[v0+(w0*2832|0)+2824>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,s0[x0+(f*2832|0)+2824>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Fu(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+4224|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*2096|0)|0,i0=v0+(M*2096|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*2096|0)|0,v0+(M*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)i0=f0+($*2096|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,i0=f0+($*2096|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*2096|0)|0,0,2080)|0,e[v0+(f*2096|0)+2080>>2]=0,s0[v0+(f*2096|0)+2088>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*2096|0)|0,f0+2096|0,2096)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*2096|0)|0,0,2080)|0,e[v0+(h0*2096|0)+2080>>2]=0,s0[v0+(h0*2096|0)+2088>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*2096|0)|0,0,2080)|0,e[v0+(w0*2096|0)+2080>>2]=0,s0[v0+(w0*2096|0)+2088>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,s0[x0+(f*2096|0)+2088>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Gg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0;if(q0=c0,c0=c0+16|0,l0=q0,P0=e[h+28>>2]|0,h0=h+4|0,O0=e[h0>>2]|0,p=e[h+60>>2]|0,m0=h+32|0,w=e[m0>>2]|0,N0=h+44|0,d=e[N0>>2]|0,w0=h+12|0,l=e[w0>>2]|0,d>>>0<l>>>0?e[N0>>2]=l:l=d,k0=h+24|0,e[k0>>2]|0){if(l){for(v0=c+8|0,g0=Px[e[c>>2]&1](e[v0>>2]|0,O0<<3)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[v0>>2]|0,O0*2080|0)|0,y0||kx(1),d0=Px[e[c>>2]&1](e[v0>>2]|0,O0<<4)|0,d0||kx(1),e[l0>>2]=0,e[l0+4>>2]=0,e[l0+8>>2]=0,e[l0+12>>2]=0,u0=h+48|0,n0=0;(n0|0)!=(O0|0);){for(_=(e[u0>>2]|0)+n0|0,t0=e[h>>2]|0,l=w+(_*1040|0)|0,r0=w+(_*1040|0)+(t0<<2)|0,t0&1?(i0=0,x0=0,p0=42):(k=0,x0=0);(p0|0)==42&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,x0=x0+d|0),!(l>>>0>=r0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,x0=x0+d|0,p0=42;for(i0=+(x0>>>0),x0?(x0>>>0<256?e0=+a0[19516+(x0<<2)>>2]:e0=+Kx(i0),$=i0,k=k+i0*e0):$=i0,t0=g0+(n0<<3)|0,s0[t0>>3]=k<$?$:k,_=w+(_*1040|0)|0,q=0;(q|0)!=2;){for(M=(ex(q,O0)|0)+n0|0,l=(e[h+52+(q<<2)>>2]|0)+n0|0,Zx(y0+(M*1040|0)|0,_|0,1040)|0,d=y0+(M*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)r0=y0+(M*1040|0)+(d<<2)|0,e[r0>>2]=(e[r0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=y0+(M*1040|0)|0,r0=y0+(M*1040|0)+(x0<<2)|0,x0&1?(i0=0,x0=0,p0=62):(k=0,x0=0);(p0|0)==62&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,x0=x0+d|0),!(l>>>0>=r0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,x0=x0+d|0,p0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+a0[19516+(x0<<2)>>2]:e0=+Kx($),i0=$,k=k+$*e0):i0=$,$=k<i0?i0:k,s0[d0+(M<<3)>>3]=$,r0=l0+(q<<3)|0,s0[r0>>3]=+s0[r0>>3]+($-+s0[t0>>3]-+s0[p+(M<<3)>>3]),q=q+1|0}n0=n0+1|0}if(x0=P0,k=+s0[l0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+s0[h+16>>3],k>f0)&&+s0[l0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[k0>>2]<<2)>>2]=e[N0>>2],n[(e[x0+8>>2]|0)+(e[k0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=ex(e[x0>>2]|0,O0)|0,l=0;(l|0)!=(O0|0);)l0=p+(l<<3)|0,s0[p+(O0+l<<3)>>3]=+s0[l0>>3],s0[l0>>3]=+s0[g0+(l<<3)>>3],l=l+1|0;e[k0>>2]=(e[k0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+O0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[m0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0}while(!1);e[N0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2]}else p0=84;do if((p0|0)==84){if(l=e[N0>>2]|0,d=e[k0>>2]|0,+s0[l0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[k0>>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)!=(O0|0);)m0=O0+d|0,Zx(w+(((e[l>>2]|0)+d|0)*1040|0)|0,y0+(m0*1040|0)|0,1040)|0,h0=p+(d<<3)|0,s0[p+(m0<<3)>>3]=+s0[h0>>3],s0[h0>>3]=+s0[d0+(m0<<3)>>3],h0=(e[u0>>2]|0)+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0;e[k0>>2]=(e[k0>>2]|0)+1,e[N0>>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)!=(O0|0);)Zx(w+(((e[l>>2]|0)+d|0)*1040|0)|0,y0+(d*1040|0)|0,1040)|0,k=+s0[d0+(d<<3)>>3],s0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(s0[p+(O0+d<<3)>>3]=k),h0=(e[u0>>2]|0)+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0;e[N0>>2]=0,h0=h+64|0,N0=(e[h0>>2]|0)+1|0,e[h0>>2]=N0,N0>>>0>1&&(N0=h+40|0,e[N0>>2]=(e[N0>>2]|0)+(e[w0>>2]|0))}while(!1);N0=c+4|0,yx[e[N0>>2]&1](e[v0>>2]|0,d0),yx[e[N0>>2]&1](e[v0>>2]|0,y0),yx[e[N0>>2]&1](e[v0>>2]|0,g0)}}else{for(M=P0,e[e[M+12>>2]>>2]=l,n[e[M+8>>2]>>0]=0,_=w,r0=0;(r0|0)!=(O0|0);){for(c=e[h>>2]|0,l=_+(r0*1040|0)|0,x0=_+(r0*1040|0)+(c<<2)|0,c&1?(i0=0,w=0,p0=12):(k=0,w=0);(p0|0)==12&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,w=w+d|0,p0=12;$=+(w>>>0),w?(w>>>0<256?e0=+a0[19516+(w<<2)>>2]:e0=+Kx($),i0=$,k=k+$*e0):i0=$,f0=k<i0?i0:k,s0[p+(r0<<3)>>3]=f0,s0[p+(O0+r0<<3)>>3]=f0,r0=r0+1|0}e[k0>>2]=(e[k0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,p0=h+48|0,p=(e[p0>>2]|0)+O0|0,e[p0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[m0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0}while(!1);e[N0>>2]=0}if(!f){c0=q0;return}f=P0,N0=ex(e[f>>2]|0,O0)|0,e[e[h+36>>2]>>2]=N0,e[f+4>>2]=e[k0>>2],c0=q0}function jg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0;t0=c,w=o[88430+((ex(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,y0=c+1|0,v0=y0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(n0=w+1|0,k=153966+(w<<2)|0,k=j[k>>1]|j[k+2>>1]<<16,w=k>>>8&255,_=k>>>16,M=k&127,q=s[280786+M>>0]|0,r0=1<<q,p=(k&255)>>>7,w<<24>>24){if(r0=w<<24>>24!=10,M>>>0>f>>>0){d0=d,w=n0,d=d0;continue}x0=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+M|0,k=c+(M+-4)|0,i0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+(x0+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){d0=d,w=n0,d=d0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){d0=d,w=n0,d=d0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){d0=d,w=n0,d=d0;continue x}for($=x0+1|0,x0=c+M|0,k=c+(M+-4)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M+-1|0)){d0=d,w=n0,d=d0;continue x}break}default:for(k=0;;){if(k>>>0>=M>>>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=n0,d=d0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){d0=d,w=n0,d=d0;continue x}k=k+1|0}}while(!1);if(d0=(_+((r0?44:9)<<q)<<5)+M|0,d=l+(M<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=M+1|0,d>>>0>=f>>>0){d=1,w=n0;continue}switch(n[c+M>>0]|0){case 32:{w=(_+(((r0&1)<<6|4)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 34:{if(u0=(_+((r0?87:66)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=62){d=1,w=n0;continue x}w=(_+((r0?97:69)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 46:{if(u0=(_+((r0?101:79)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){d=1,w=n0;continue x}w=(_+((r0?114:88)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 44:{if(u0=(_+((r0?112:99)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){d=1,w=n0;continue x}w=(_+((r0?107:58)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 39:{w=(_+((r0?94:74)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 40:{w=(_+((r0?113:78)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 61:switch(n[c+(M+1)>>0]|0){case 34:{w=(_+((r0&1|104)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 39:{w=(_+(((r0&1)<<3)+108<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}default:{d=1,w=n0;continue x}}default:{d=1,w=n0;continue x}}}for($=(e[11272+(M<<2)>>2]|0)+(ex(M,_)|0)|0,k=M>>>0<f>>>0?M:f,x0=c+k|0,k=c+(k+-4)|0,i0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;for((i0|0)==(M|0)&&(d0=(_<<5)+M|0,d=l+(M<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1),w=M+-1|0,i0>>>0>=w>>>0&&(u0=(_+(12<<q)<<5)+M|0,d0=l+(w<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,d0=M+2|0,d0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+M>>0]|0)==110&&(n[c+(M+1)>>0]|0)==103&&(n[c+d0>>0]|0)==32&&(d0=(_+(49<<q)<<5)+M|0,d=l+(M+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0),d=1),M>>>0>9?(w=M+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=M+-2|0,k=i0>>>0<k>>>0?i0:k;!(w>>>0>k>>>0);)d0=(_+(s[407930+(M-w)>>0]<<q)<<5)+M|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(i0>>>0<M>>>0){w=n0;continue}if(w=M+6|0,w>>>0>=f>>>0){w=n0;continue}do switch(n[c+M>>0]|0){case 32:switch(u0=(_+r0<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,n[c+(M+1)>>0]|0){case 97:switch(n[c+(M+2)>>0]|0){case 32:{d0=(_+(28<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(46<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 116:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(60<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 110:{if((n[c+(M+3)>>0]|0)!=100){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(10<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 98:{if((n[c+(M+2)>>0]|0)!=121){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(38<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:switch(n[c+(M+2)>>0]|0){case 110:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(r0<<4)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(47<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 102:{switch(n[c+(M+2)>>0]|0){case 111:{if((n[c+(M+3)>>0]|0)!=114){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(25<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 114:break;default:{w=n0;continue x}}if((n[c+(M+3)>>0]|0)!=111){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=109){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(37<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 111:switch(n[c+(M+2)>>0]|0){case 102:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(r0<<3)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 110:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(45<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 110:{if((n[c+(M+2)>>0]|0)!=111){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(80<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 116:{switch(n[c+(M+2)>>0]|0){case 104:break;case 111:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(17<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}switch(n[c+(M+3)>>0]|0){case 101:{if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(5<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 97:break;default:{w=n0;continue x}}if((n[c+(M+4)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(29<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 119:{if((n[c+(M+2)>>0]|0)!=105){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=104){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(35<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 34:{if(u0=(_+(19<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=62){w=n0;continue x}d0=(_+(21<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 46:{if(u0=(_+(20<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){w=n0;continue x}if(u0=(_+(31<<q)<<5)+M|0,d0=l+(M+2<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+2)>>0]|0)!=84){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=104){w=n0;continue x}switch(n[c+(M+4)>>0]|0){case 101:{if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(43<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:break;default:{w=n0;continue x}}if((n[c+(M+5)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+6)>>0]|0)!=32){w=n0;continue x}d0=(_+(75<<q)<<5)+M|0,w=l+(M+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 44:{if(u0=(_+(76<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){w=n0;continue x}d0=(_+(14<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 10:{if(u0=(_+(22<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=9){w=n0;continue x}d0=(_+(50<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 93:{d0=(_+(24<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 39:{d0=(_+(36<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 58:{d0=(_+(51<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 40:{d0=(_+(57<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 61:switch(n[c+(M+1)>>0]|0){case 34:{d0=(_+(70<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 39:{d0=(_+(86<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 97:{if((n[c+(M+1)>>0]|0)!=108){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(84<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 101:switch(n[c+(M+1)>>0]|0){case 100:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(53<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 114:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(82<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+2)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(95<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 102:{if((n[c+(M+1)>>0]|0)!=117){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=108){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(90<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:switch(n[c+(M+1)>>0]|0){case 118:{if((n[c+(M+2)>>0]|0)!=101){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(92<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 122:{if((n[c+(M+2)>>0]|0)!=101){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(100<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 108:{switch(n[c+(M+1)>>0]|0){case 101:break;case 121:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(61<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}if((n[c+(M+2)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(93<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 111:{if((n[c+(M+1)>>0]|0)!=117){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(106<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;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,n0=d0<<24>>24==32;x:do switch(d0<<24>>24){case 32:case 46:{w=o[88430+((ex(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=n0?6:32,l0=n0?2:77,u0=n0?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=j[k>>1]|j[k+2>>1]<<16,w=k>>>8&255,_=k>>>16,M=k&127,q=s[280786+M>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(M>>>0>h>>>0){q=d,w=t0,d=q;continue}for($=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,x0=c+(M+1)|0,k=c+(M+-3)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(w0=w,r0=280811+($+i0)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){w0=d,w=t0,d=w0;continue}if(d=M+1|0,w0=(_+(f0<<q)<<5)+M|0,w=l+(d<<2)|0,r0=e[w>>2]|0,e[w>>2]=r0>>>0<w0>>>0?r0:w0,w=M+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{w0=(_+(l0<<q)<<5)+M|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=(_+(u0<<q)<<5)+M|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(!n0){d=1,w=t0;continue e}switch(d<<24>>24){case 44:{if(r0=(_+(103<<q)<<5)+M|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<r0>>>0?x0:r0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+(33<<q)<<5)+M|0,d=l+(M+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(r0=(_+(71<<q)<<5)+M|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<r0>>>0?x0:r0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+(52<<q)<<5)+M|0,d=l+(M+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+(M+2)>>0]|0){case 34:{w=(_+(81<<q)<<5)+M|0,d=l+(M+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=(_+(98<<q)<<5)+M|0,d=l+(M+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(!n0){w0=d,w=t0,d=w0;continue}if(r0=w<<24>>24!=10,M>>>0>h>>>0){w0=d,w=t0,d=w0;continue}x0=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(M+1)|0,k=c+(M+-3)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(p0=w,w0=280811+(x0+i0)|0,(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){p0=d,w=t0,d=p0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){p0=d,w=t0,d=p0;continue e}if((w&255^32|0)!=(s[y0>>0]|0)){p0=d,w=t0,d=p0;continue e}for(i0=x0+1|0,$=c+(M+1)|0,k=c+(M+-3)|0,e0=0,w=d0;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(M+-1|0)){p0=d,w=t0,d=p0;continue e}break}default:for(k=0;;){if(k>>>0>=M>>>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)){p0=d,w=t0,d=p0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){p0=d,w=t0,d=p0;continue e}k=k+1|0}}while(!1);if(d=M+1|0,p0=(_+((r0?85:30)<<q)<<5)+M|0,w=l+(d<<2)|0,w0=e[w>>2]|0,e[w>>2]=w0>>>0<p0>>>0?w0:p0,w=M+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(n[c+d>>0]|0){case 32:{p0=(_+((r0?83:15)<<q)<<5)+M|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<p0>>>0?w:p0,d=1,w=t0;continue e}case 44:{if(r0||(w0=(_+(109<<q)<<5)+M|0,p0=l+(w<<2)|0,x0=e[p0>>2]|0,e[p0>>2]=x0>>>0<w0>>>0?x0:w0),(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+((r0?111:65)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 46:{if(w0=(_+((r0?115:96)<<q)<<5)+M|0,p0=l+(w<<2)|0,x0=e[p0>>2]|0,e[p0>>2]=x0>>>0<w0>>>0?x0:w0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+((r0?117:91)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 61:switch(n[c+(M+2)>>0]|0){case 34:{w=(_+(((r0&1)<<3^8)+110<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 39:{w=(_+(120-(r0&1)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0: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 p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;w=n[y0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{g0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(g0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(g0=241);while(!1);x:do if((g0|0)==241)for(q=c+2|0,w=o[88430+((ex(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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(M=w+1|0,w=153966+(w<<2)|0,w=j[w>>1]|j[w+2>>1]<<16,x0=w>>>16,r0=w&127,_=s[280786+r0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|r0>>>0>t0>>>0){p0=d,w=M,d=p0;continue}for(i0=(e[11272+(r0<<2)>>2]|0)+(ex(r0,w>>>16)|0)|0,$=c+(r0+2)|0,k=c+(r0+-2)|0,e0=0,w=q;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(r0|0)){p0=d,w=M,d=p0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<_)<<5)+r0|0,d=l+(r0+2<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M;continue}if(k=r0+2|0,k>>>0>=f>>>0){p0=d,w=M,d=p0;continue}if((n[c+k>>0]|0)!=32){p0=d,w=M,d=p0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<_)<<5)+r0|0,d=l+(r0+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M}while(!1);if(f>>>0<=8)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;switch(n[c>>0]|0){case 32:{if((n[y0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;break}case 46:{if((n[y0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;break}default:return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0}for(q=c+5|0,w=o[88430+((ex(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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(M=w+1|0,w=153966+(w<<2)|0,w=j[w>>1]|j[w+2>>1]<<16,x0=w>>>16,r0=w&127,_=s[280786+r0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|r0>>>0>t0>>>0){p0=d,w=M,d=p0;continue}for(i0=(e[11272+(r0<<2)>>2]|0)+(ex(r0,w>>>16)|0)|0,$=c+(r0+5)|0,k=c+(r0+1)|0,e0=0,w=q;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(r0|0)){p0=d,w=M,d=p0;continue}if(d=r0+5|0,w0=(x0+(((n[c>>0]|0)==32?41:72)<<_)<<5)+r0|0,p0=l+(d<<2)|0,y0=e[p0>>2]|0,e[p0>>2]=y0>>>0<w0>>>0?y0:w0,d>>>0>=f>>>0){d=1,w=M;continue}if(!((n[c>>0]|0)==32&(r0+8|0)>>>0<f>>>0)){d=1,w=M;continue}if((n[c+d>>0]|0)!=32){d=1,w=M;continue}if((n[c+(r0+6)>>0]|0)!=111){d=1,w=M;continue}if((n[c+(r0+7)>>0]|0)!=102){d=1,w=M;continue}if((n[c+(r0+8)>>0]|0)!=32){d=1,w=M;continue}if(w0=(x0+(62<<_)<<5)+r0|0,p0=l+(r0+9<<2)|0,y0=e[p0>>2]|0,e[p0>>2]=y0>>>0<w0>>>0?y0:w0,(r0+12|0)>>>0>=f>>>0){d=1,w=M;continue}if((n[c+(r0+9)>>0]|0)!=116){d=1,w=M;continue}if((n[c+(r0+10)>>0]|0)!=104){d=1,w=M;continue}if((n[c+(r0+11)>>0]|0)!=101){d=1,w=M;continue}if((n[c+(r0+12)>>0]|0)!=32){d=1,w=M;continue}w=(x0+(73<<_)<<5)+r0|0,d=l+(r0+13<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M}return p0=d&1,p0=p0<<24>>24!=0,p0|0}function nl(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=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,n0=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)&&(i0=(k&255)<<6&1984|e0&63,i0>>>0>127)){p=2,w=i0;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)&&(r0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,r0>>>0>2047)){p=3,w=r0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(_=n[c+(w+1)>>0]|0,(_&-64)<<24>>24==-128)&&(M=n[c+(w+2)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+3)>>0]|0,(q&-64)<<24>>24==-128)&&(n0=(k&255)<<18&1835008|(_&255)<<12&258048|(M&255)<<6&4032|q&63,n0>>>0>65535&n0>>>0<1114112)){w=4,n0=20;break e}else n0=19}else n0=19}else n0=19;while(!1);(n0|0)==19&&(n0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(n0|0)==20&&(n0=0,p=w,d=d+w|0),t0=t0+p|0}return+(t0>>>0)>+(l>>>0)*.75|0}function Kx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0;s0[b0>>3]=c,f=e[b0>>2]|0,h=e[b0+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{s0[b0>>3]=c*0x40000000000000,h=e[b0+4>>2]|0,l=e[b0>>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[b0>>2]=l,e[b0+4>>2]=(d&1048575)+1072079006,e0=+s0[b0>>3]+-1,c=e0*(e0*.5),i0=e0/(e0+2),p=i0*i0,k=p*p,s0[b0>>3]=e0-c,l=e[b0+4>>2]|0,e[b0>>2]=0,e[b0+4>>2]=l,w=+s0[b0>>3],c=i0*(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 al(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0;do if(c>>>0<245){if(_=c>>>0<11?16:c+11&-8,c=_>>>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&&xe(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else xe();else e[5147]=k&~(1<<h);while(!1);return z0=h<<3,e[d+4>>2]=z0|3,z0=d+(z0|4)|0,e[z0>>2]=e[z0>>2]|1,z0=w,z0|0}if(p=e[5149]|0,_>>>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&&xe(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,i0=e[5149]|0;break}else xe();else e[5147]=k&~(1<<h),i0=p;while(!1);return z0=h<<3,p=z0-_|0,e[w+4>>2]=_|3,k=w+_|0,e[w+(_|4)>>2]=p|1,e[w+z0>>2]=p,i0&&(d=e[5152]|0,f=i0>>>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?xe():($=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,z0=e0,z0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,K0=k>>>12&16,k=k>>>K0,L0=k>>>5&8,k=k>>>L0,z0=k>>>2&4,k=k>>>z0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((L0|K0|z0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-_|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-_|0,z0=h>>>0<k>>>0,k=z0?h:k,h=c,e0=z0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&xe(),p=e0+_|0,e0>>>0>=p>>>0&&xe(),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)){r0=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)xe();else{e[h>>2]=0,r0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&xe(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&xe(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,r0=f;break}else xe();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]=r0,!r0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&xe(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=r0:e[w+20>>2]=r0,!r0)break;h=e[5151]|0,r0>>>0<h>>>0&&xe(),e[r0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)xe();else{e[r0+16>>2]=c,e[c+24>>2]=r0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)xe();else{e[r0+20>>2]=c,e[c+24>>2]=r0;break}}while(!1);return k>>>0<16?(z0=k+_|0,e[e0+4>>2]=z0|3,z0=e0+(z0+4)|0,e[z0>>2]=e[z0>>2]|1):(e[e0+4>>2]=_|3,e[e0+(_|4)>>2]=k|1,e[e0+(k+_)>>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?xe():(M=c,q=h)):(e[5147]=h|f,M=20628+(c+2<<2)|0,q=l),e[M>>2]=d,e[q+12>>2]=d,e[d+8>>2]=q,e[d+12>>2]=l),e[5149]=k,e[5152]=p),z0=e0+8|0,z0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,_=c&-8,e0=e[5148]|0,e0){h=0-_|0,c=c>>>8,c?_>>>0>16777215?k=31:(q=(c+1048320|0)>>>16&8,v0=c<<q,M=(v0+520192|0)>>>16&4,v0=v0<<M,k=(v0+245760|0)>>>16&2,k=14-(M|q|k)+(v0<<k>>>15)|0,k=_>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,v0=86;else for(d=h,f=0,w=_<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-_|0,h>>>0<d>>>0)if((l|0)==(_|0)){l=p,c=p,v0=90;break x}else c=p;else h=d;if(v0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(v0|0)==0|(v0|0)==(p|0)?f:v0,p)d=h,w=w<<1;else{v0=86;break}}while(!1);if((v0|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,r0=c>>>12&16,c=c>>>r0,x0=c>>>5&8,c=c>>>x0,M=c>>>2&4,c=c>>>M,q=c>>>1&2,c=c>>>q,f=c>>>1&1,f=e[20892+((x0|r0|M|q|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,v0=90):(k=h,e0=c)}if((v0|0)==90)for(;;){if(v0=0,q=(e[l+4>>2]&-8)-_|0,f=q>>>0<h>>>0,h=f?q:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,v0=90;continue}if(l=e[l+20>>2]|0,l)v0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-_|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&xe(),p=e0+_|0,e0>>>0>=p>>>0&&xe(),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)xe();else{e[h>>2]=0,n0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&xe(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&xe(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,n0=f;break}else xe();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&&xe(),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&&xe(),e[n0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)xe();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)xe();else{e[n0+20>>2]=c,e[c+24>>2]=n0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=_|3,e[e0+(_|4)>>2]=k|1,e[e0+(k+_)>>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?xe():(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+(_+8)>>2]=l0,e[e0+(_+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(K0=(c+1048320|0)>>>16&8,z0=c<<K0,L0=(z0+520192|0)>>>16&4,z0=z0<<L0,l=(z0+245760|0)>>>16&2,l=14-(L0|K0|l)+(z0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(_+28)>>2]=l,e[e0+(_+20)>>2]=0,e[e0+(_+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(_+24)>>2]=c,e[e0+(_+12)>>2]=p,e[e0+(_+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)xe();else{e[f>>2]=p,e[e0+(_+24)>>2]=c,e[e0+(_+12)>>2]=p,e[e0+(_+8)>>2]=p;break x}}else d0=c;while(!1);if(c=d0+8|0,h=e[c>>2]|0,z0=e[5151]|0,h>>>0>=z0>>>0&d0>>>0>=z0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(_+8)>>2]=h,e[e0+(_+12)>>2]=d0,e[e0+(_+24)>>2]=0;break}else xe()}else z0=k+_|0,e[e0+4>>2]=z0|3,z0=e0+(z0+4)|0,e[z0>>2]=e[z0>>2]|1;while(!1);return z0=e0+8|0,z0|0}}}else _=-1;while(!1);if(f=e[5149]|0,f>>>0>=_>>>0)return c=f-_|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+_,e[5149]=c,e[h+(_+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=_|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,z0=h+(f+4)|0,e[z0>>2]=e[z0>>2]|1),z0=h+8|0,z0|0;if(c=e[5150]|0,c>>>0>_>>>0)return K0=c-_|0,e[5150]=K0,z0=e[5153]|0,e[5153]=z0+_,e[z0+(_+4)>>2]=K0|1,e[z0+4>>2]=_|3,z0=z0+8|0,z0|0;do if(!(e[5265]|0))if(c=yu(30)|0,c+-1&c)xe();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(K4(0)|0)&-16^1431655768;break}while(!1);if(w=_+48|0,d=e[5267]|0,p=_+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=_>>>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 z0=0,z0|0;x:do if(e[5258]&4)c=0,v0=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){v0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=Ar(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,q=c,v0=194;break x}}else v0=184;else c=0}else v0=174;while(!1);do if((v0|0)==174)if(l=Ar(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>_>>>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=Ar(h|0)|0,v0=(f|0)==(l|0),c=v0?h:0,v0){t0=l,q=c,v0=194;break x}else v0=184}else c=0;else c=0;while(!1);e:do if((v0|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((Ar(u0|0)|0)==-1){Ar(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){t0=f,q=h,v0=194;break x}}while(!1);e[5258]=e[5258]|4,v0=191}while(!1);if((v0|0)==191&&k>>>0<2147483647&&(g0=Ar(k|0)|0,y0=Ar(0)|0,g0>>>0<y0>>>0&((g0|0)!=-1&(y0|0)!=-1))&&(w0=y0-g0|0,p0=w0>>>0>(_+40|0)>>>0,p0)&&(t0=g0,q=p0?w0:c,v0=194),(v0|0)==194){c=(e[5255]|0)+q|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)){v0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((v0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<t0>>>0&p>>>0>=c>>>0){e[h>>2]=f+q,z0=(e[5150]|0)+q|0,K0=p+8|0,K0=(K0&7|0)==0?0:0-K0&7,L0=z0-K0|0,e[5153]=p+K0,e[5150]=L0,e[p+(K0+4)>>2]=L0|1,e[p+(z0+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+q|0,c=21036;;){if((e[c>>2]|0)==(h|0)){v0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((v0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=t0,r0=c+4|0,e[r0>>2]=(e[r0>>2]|0)+q,r0=t0+8|0,r0=(r0&7|0)==0?0:0-r0&7,i0=t0+(q+8)|0,i0=(i0&7|0)==0?0:0-i0&7,c=t0+(i0+q)|0,x0=r0+_|0,M=t0+x0|0,$=c-(t0+r0)-_|0,e[t0+(r0+4)>>2]=_|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){z0=(e[5149]|0)+$|0,e[5149]=z0,e[5152]=M,e[t0+(x0+4)>>2]=z0|1,e[t0+(z0+x0)>>2]=z0;break}if(p=q+4|0,h=e[t0+(p+i0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[t0+((i0|24)+q)>>2]|0,l=e[t0+(q+12+i0)>>2]|0;do if((l|0)==(c|0)){if(f=i0|16,l=t0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=t0+(f+q)|0,h=e[f>>2]|0,!h){q0=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)xe();else{e[f>>2]=0,q0=h;break}}else if(d=e[t0+((i0|8)+q)>>2]|0,d>>>0<e0>>>0&&xe(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&xe(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,q0=l;break}else xe();while(!1);if(!w)break;h=e[t0+(q+28+i0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&xe(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=q0:e[w+20>>2]=q0,!q0)break t}else{if(e[f>>2]=q0,q0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,q0>>>0<f>>>0&&xe(),e[q0+24>>2]=w,c=i0|16,h=e[t0+(c+q)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[q0+16>>2]=h,e[h+24>>2]=q0;break}while(!1);if(c=e[t0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)xe();else{e[q0+20>>2]=c,e[c+24>>2]=q0;break}}else{f=e[t0+((i0|8)+q)>>2]|0,l=e[t0+(q+12+i0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&xe(),(e[f+12>>2]|0)==(c|0))break;xe()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))k0=l+8|0;else{if(l>>>0<e0>>>0&&xe(),h=l+8|0,(e[h>>2]|0)==(c|0)){k0=h;break}xe()}while(!1);e[f+12>>2]=l,e[k0>>2]=f}while(!1);c=t0+((k|i0)+q)|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,L0=20628+(h+2<<2)|0,K0=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){L0=c,K0=h;break}xe()}while(!1);e[L0>>2]=M,e[K0+12>>2]=M,e[t0+(x0+8)>>2]=K0,e[t0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}L0=(c+1048320|0)>>>16&8,K0=c<<L0,q0=(K0+520192|0)>>>16&4,K0=K0<<q0,l=(K0+245760|0)>>>16&2,l=14-(q0|L0|l)+(K0<<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]=M,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=M,e[t0+(x0+8)>>2]=M;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)){z0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)xe();else{e[f>>2]=M,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=M,e[t0+(x0+8)>>2]=M;break e}}else z0=c;while(!1);if(c=z0+8|0,h=e[c>>2]|0,K0=e[5151]|0,h>>>0>=K0>>>0&z0>>>0>=K0>>>0){e[h+12>>2]=M,e[c>>2]=M,e[t0+(x0+8)>>2]=h,e[t0+(x0+12)>>2]=z0,e[t0+(x0+24)>>2]=0;break}else xe()}else z0=(e[5150]|0)+$|0,e[5150]=z0,e[5153]=M,e[t0+(x0+4)>>2]=z0|1;while(!1);return z0=t0+(r0|8)|0,z0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(m0=e[h+4>>2]|0,h0=c+m0|0,h0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(m0+-39)|0,h=c+(m0+-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,z0=q+-40-f|0,e[5153]=t0+f,e[5150]=z0,e[t0+(f+4)>>2]=z0|1,e[t0+(q+-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]=q,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<h0>>>0)do z0=c,c=c+4|0,e[c>>2]=7;while((z0+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?xe():(P0=c,O0=h)):(e[5147]=f|c,P0=20628+(h+2<<2)|0,O0=l),e[P0>>2]=p,e[O0+12>>2]=p,e[p+8>>2]=O0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(K0=(c+1048320|0)>>>16&8,z0=c<<K0,L0=(z0+520192|0)>>>16&4,z0=z0<<L0,l=(z0+245760|0)>>>16&2,l=14-(L0|K0|l)+(z0<<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)){N0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)xe();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else N0=c;while(!1);if(c=N0+8|0,h=e[c>>2]|0,z0=e[5151]|0,h>>>0>=z0>>>0&N0>>>0>=z0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=N0,e[p+24>>2]=0;break}else xe()}}else{z0=e[5151]|0,(z0|0)==0|t0>>>0<z0>>>0&&(e[5151]=t0),e[5259]=t0,e[5260]=q,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do z0=c<<1,K0=20628+(z0<<2)|0,e[20628+(z0+3<<2)>>2]=K0,e[20628+(z0+2<<2)>>2]=K0,c=c+1|0;while((c|0)!=32);z0=t0+8|0,z0=(z0&7|0)==0?0:0-z0&7,K0=q+-40-z0|0,e[5153]=t0+z0,e[5150]=K0,e[t0+(z0+4)>>2]=K0|1,e[t0+(q+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>_>>>0)return K0=c-_|0,e[5150]=K0,z0=e[5153]|0,e[5153]=z0+_,e[z0+(_+4)>>2]=K0|1,e[z0+4>>2]=_|3,z0=z0+8|0,z0|0}return e[5135]|0?c=e[(Zo()|0)+60>>2]|0:c=20584,e[c>>2]=12,z0=0,z0|0}function Vg(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&xe(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&xe(),_=f&-8,q=c+(_+-8)|0;do if(f&1)l0=h,w=_;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+_|0,$>>>0<k>>>0&&xe(),($|0)==(e[5152]|0)){if(h=c+(_+-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[q>>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&&xe(),(e[l+12>>2]|0)!=($|0)&&xe()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),l0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&xe(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:xe()):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)){i0=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)xe();else{e[f>>2]=0,i0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&xe(),h=d+12|0,(e[h>>2]|0)!=($|0)&&xe(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,i0=l;break}else xe();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]=i0,!i0){e[5148]=e[5148]&~(1<<h),l0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&xe(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=i0:e[p+20>>2]=i0,!i0){l0=$,w=x0;break}f=e[5151]|0,i0>>>0<f>>>0&&xe(),e[i0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[i0+16>>2]=h,e[h+24>>2]=i0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)xe();else{e[i0+20>>2]=h,e[h+24>>2]=i0,l0=$,w=x0;break}else l0=$,w=x0}else l0=$,w=x0}while(!1);if(l0>>>0>=q>>>0&&xe(),h=c+(_+-4)|0,f=e[h>>2]|0,f&1||xe(),f&2)e[h>>2]=f&-2,e[l0+4>>2]=w|1,e[l0+w>>2]=w;else{if((q|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((q|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+(_+16)>>2]|0,h=e[c+(_|4)>>2]|0;do if((h|0)==(q|0)){if(f=c+(_+12)|0,h=e[f>>2]|0,!h&&(f=c+(_+8)|0,h=e[f>>2]|0,!h)){M=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)xe();else{e[f>>2]=0,M=h;break}}else if(f=e[c+_>>2]|0,f>>>0<(e[5151]|0)>>>0&&xe(),l=f+12|0,(e[l>>2]|0)!=(q|0)&&xe(),d=h+8|0,(e[d>>2]|0)==(q|0)){e[l>>2]=h,e[d>>2]=f,M=h;break}else xe();while(!1);if(p){if(h=e[c+(_+20)>>2]|0,f=20892+(h<<2)|0,(q|0)==(e[f>>2]|0)){if(e[f>>2]=M,!M){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&xe(),h=p+16|0,(e[h>>2]|0)==(q|0)?e[h>>2]=M:e[p+20>>2]=M,!M)break;f=e[5151]|0,M>>>0<f>>>0&&xe(),e[M+24>>2]=p,h=e[c+(_+8)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[M+16>>2]=h,e[h+24>>2]=M;break}while(!1);if(h=e[c+(_+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)xe();else{e[M+20>>2]=h,e[h+24>>2]=M;break}}}else{if(l=e[c+_>>2]|0,f=e[c+(_|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&xe(),(e[l+12>>2]|0)!=(q|0)&&xe()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&xe(),h=f+8|0,(e[h>>2]|0)==(q|0)?r0=h:xe()):r0=f+8|0,e[l+12>>2]=f,e[r0>>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?xe():(t0=h,n0=f)):(e[5147]=l|h,t0=20628+(f+2<<2)|0,n0=d),e[t0>>2]=l0,e[n0+12>>2]=l0,e[l0+8>>2]=n0,e[l0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(t0=(h+1048320|0)>>>16&8,n0=h<<t0,q=(n0+520192|0)>>>16&4,n0=n0<<q,d=(n0+245760|0)>>>16&2,d=14-(q|t0|d)+(n0<<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)xe();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,n0=e[5151]|0,f>>>0>=n0>>>0&f0>>>0>=n0>>>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 xe()}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 Iq(){}function Mt(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,S0=l,c-f>>>0|0|0}function Hx(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 wx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(S0=0,h>>>f-32|0)}function Sx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(S0=c<<f-32,0)}function Zx(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return X4(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 Ou(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,S0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function Pu(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 Zx(c,h,f)|0;return c|0}function Xu0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(S0=(h|0)<0?-1:0,h>>f-32|0)}function Qg(c){c=c|0;var h=0;return h=n[R0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[R0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[R0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[R0+(c>>>24)>>0]|0)+24|0))}function Tq(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=ex(d,w)|0,l=c>>>16,c=(f>>>16)+(ex(d,l)|0)|0,d=h>>>16,h=ex(d,w)|0,S0=(c>>>16)+(ex(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function Ju0(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,i0=0;return i0=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=Mt(i0^c,e0^h,i0,e0)|0,p=S0,c=w^i0,h=d^e0,Mt((Bu(k,p,Mt(w^f,d^l,w,d)|0,S0,0)|0)^c,S0^h,c,h)|0}function Zu0(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,i0=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,i0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=Mt(p^c,w^h,p,w)|0,h=S0,Bu(c,h,Mt(i0^f,e0^l,i0,e0)|0,S0,k)|0,l=Mt(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=S0,c0=d,S0=f,l|0}function ye(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=Tq(d,w)|0,c=S0,S0=(ex(h,w)|0)+(ex(l,d)|0)+c|c&0,f|0|0|0}function $u0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,Bu(c,h,f,l,0)|0}function xf0(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,Bu(c,h,f,l,d)|0,c0=w,S0=e[d+4>>2]|0,e[d>>2]|0|0}function Bu(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,i0=0,$=0,x0=0,r0=0,_=0,M=0;if($=c,e0=h,i0=e0,p=f,r0=l,k=r0,!i0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,r0=0,d=0,S0=r0,d|0):(r0=0,d=0,S0=r0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),r0=0,d=($>>>0)/(p>>>0)>>>0,S0=r0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Dx(k|0)|0)-(Dx(i0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|i0<<k,h=i0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,r0=0,d=0,S0=r0,d|0):(r0=0,d=0,S0=r0,d|0)}if(w=p-1|0,w&p){k=(Dx(p|0)|0)+33-(Dx(i0|0)|0)|0,M=64-k|0,x0=32-k|0,e0=x0>>31,_=k-32|0,h=_>>31,p=k,c=x0-1>>31&i0>>>(_>>>0)|(i0<<x0|$>>>(k>>>0))&h,h=h&i0>>>(k>>>0),w=$<<M&e0,k=(i0<<M|$>>>(_>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(_=e0|h&0,M=c|0|0,S0=_,M|0):(M=Qg(p|0)|0,_=i0>>>(M>>>0)|0,M=i0<<32-M|$>>>(M>>>0)|0,S0=_,M|0)}else{if(w)return d&&(e[d>>2]=(i0>>>0)%(p>>>0),e[d+4>>2]=0),_=0,M=(i0>>>0)/(p>>>0)>>>0,S0=_,M|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(i0>>>0)%(k>>>0)),_=0,M=(i0>>>0)/(k>>>0)>>>0,S0=_,M|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&i0|h&0),_=0,M=i0>>>((Qg(k|0)|0)>>>0),S0=_,M|0;if(w=(Dx(k|0)|0)-(Dx(i0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=i0<<k|$>>>(h>>>0),h=i0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,_=0,M=0,S0=_,M|0):(_=0,M=0,S0=_,M|0)}while(!1);if(!p)i0=k,e0=0,k=0;else{x0=f|0|0,$=r0|l&0,i0=Ou(x0|0,$|0,-1,-1)|0,f=S0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,r0=c>>>31|h<<1|0,Mt(i0,f,l,r0)|0,M=S0,_=M>>31|((M|0)<0?-1:0)<<1,k=_&1,c=Mt(l,r0,_&x0,(((M|0)<0?-1:0)>>31|((M|0)<0?-1:0)<<1)&$)|0,h=S0,p=p-1|0;while((p|0)!=0);i0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),_=(w|0)>>>31|(i0|p)<<1|(p<<1|w>>>31)&0|e0,M=(w<<1|0)&-2|k,S0=_,M|0}function Rq(c,h,f){c=c|0,h=h|0,f=f|0,yx[c&1](h|0,f|0)}function _q(c,h,f){return c=c|0,h=h|0,f=f|0,Px[c&1](h|0,f|0)|0}function Nq(c,h){c=c|0,h=h|0,it(0)}function Mq(c,h){return c=c|0,h=h|0,it(1),0}var yx=[Nq,Bq],Px=[Mq,Ng];return{_i64Subtract:Mt,_free:Vg,_i64Add:Ou,_memmove:Pu,_memset:Hx,_malloc:al,_encode:Dq,_memcpy:Zx,_bitshift64Lshr:wx,_bitshift64Shl:Sx,runPostSets:Iq,stackAlloc:hq,stackSave:pq,stackRestore:bq,establishStackSpace:gq,setThrew:mq,setTempRet0:wq,getTempRet0:yq,dynCall_vii:Rq,dynCall_iii:_q}}(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()+`
|
|
215
|
-
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 nU=T0((im0,iU)=>{var R2=rU();iU.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=R2._malloc(i.length);R2.HEAPU8.set(i,e);var s=R2._malloc(i.length+1024),j=R2._encode(a,o,n,i.length,e,i.length,s),o0=null;return j!==-1&&(o0=new Uint8Array(j),o0.set(R2.HEAPU8.subarray(s,s+j))),R2._free(e),R2._free(s),o0}});var aU=T0(Wb=>{Wb.compress=nU();Wb.decompress=zb().BrotliDecompressBuffer});var XU=T0((rw0,Si)=>{var L6=require("fs"),ig=require("os"),Jt=require("path"),_U=require("crypto"),xi={fs:L6.constants,os:ig.constants},NU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",LU=/XXXXXX/,lu0=3,UU=(xi.O_CREAT||xi.fs.O_CREAT)|(xi.O_EXCL||xi.fs.O_EXCL)|(xi.O_RDWR||xi.fs.O_RDWR),hu0=ig.platform()==="win32",pu0=xi.EBADF||xi.os.errno.EBADF,bu0=xi.ENOENT||xi.os.errno.ENOENT,qU=448,HU=384,gu0="exit",zo=[],GU=L6.rmdirSync.bind(L6),jU=!1;function mu0(i,r){return L6.rm(i,{recursive:!0},r)}function VU(i){return L6.rmSync(i,{recursive:!0})}function ng(i,r){let a=Yo(i,r),n=a[0],o=a[1];try{YU(n)}catch(s){return o(s)}let e=n.tries;(function s(){try{let j=zU(n);L6.stat(j,function(o0){if(!o0)return e-- >0?s():o(new Error("Could not get a unique tmp filename, max tries reached "+j));o(null,j)})}catch(j){o(j)}})()}function ag(i){let r=Yo(i),a=r[0];YU(a);let n=a.tries;do{let o=zU(a);try{L6.statSync(o)}catch{return o}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function wu0(i,r){let a=Yo(i,r),n=a[0],o=a[1];ng(n,function(s,j){if(s)return o(s);L6.open(j,UU,n.mode||HU,function(a0,s0){if(a0)return o(a0);if(n.discardDescriptor)return L6.close(s0,function(A0){return o(A0,j,void 0,eg(j,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,j,s0,eg(j,c0?-1:s0,n,!1))}})})}function yu0(i){let r=Yo(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=ag(a);var e=L6.openSync(o,UU,a.mode||HU);return a.discardDescriptor&&(L6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:eg(o,n?-1:e,a,!0)}}function Du0(i,r){let a=Yo(i,r),n=a[0],o=a[1];ng(n,function(s,j){if(s)return o(s);L6.mkdir(j,n.mode||qU,function(a0){if(a0)return o(a0);o(null,j,QU(j,n,!1))})})}function vu0(i){let r=Yo(i),a=r[0],n=ag(a);return L6.mkdirSync(n,a.mode||qU),{name:n,removeCallback:QU(n,a,!0)}}function Au0(i,r){let a=function(n){if(n&&!rg(n))return r(n);r()};0<=i[0]?L6.close(i[0],function(){L6.unlink(i[1],a)}):L6.unlink(i[1],a)}function Eu0(i){let r=null;try{0<=i[0]&&L6.closeSync(i[0])}catch(a){if(!Su0(a)&&!rg(a))throw a}finally{try{L6.unlinkSync(i[1])}catch(a){rg(a)||(r=a)}}if(r!==null)throw r}function eg(i,r,a,n){let o=G4(Eu0,[r,i],n),e=G4(Au0,[r,i],n,o);return a.keep||zo.unshift(o),n?o:e}function QU(i,r,a){let n=r.unsafeCleanup?mu0:L6.rmdir.bind(L6),o=r.unsafeCleanup?VU:GU,e=G4(o,i,a),s=G4(n,i,a,e);return r.keep||zo.unshift(e),a?e:s}function G4(i,r,a,n){let o=!1;return function e(s){if(!o){let j=n||e,o0=zo.indexOf(j);return o0>=0&&zo.splice(o0,1),o=!0,a||i===GU||i===VU?i(r):i(r,s||function(){})}}}function Cu0(){if(jU)for(;zo.length;)try{zo[0]()}catch{}}function MU(i){let r=[],a=null;try{a=_U.randomBytes(i)}catch{a=_U.pseudoRandomBytes(i)}for(var n=0;n<i;n++)r.push(NU[a[n]%NU.length]);return r.join("")}function ku0(i){return i===null||Nt(i)||!i.trim()}function Nt(i){return typeof i>"u"}function Yo(i,r){if(typeof i=="function")return[{},i];if(Nt(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function zU(i){let r=i.tmpdir;if(!Nt(i.name))return Jt.join(r,i.dir,i.name);if(!Nt(i.template))return Jt.join(r,i.dir,i.template).replace(LU,MU(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",MU(12),i.postfix?"-"+i.postfix:""].join("");return Jt.join(r,i.dir,a)}function YU(i){i.tmpdir=KU(i);let r=i.tmpdir;if(Nt(i.name)||xg(i.name,"name",r),Nt(i.dir)||xg(i.dir,"dir",r),!Nt(i.template)&&(xg(i.template,"template",r),!i.template.match(LU)))throw new Error(`Invalid template, found "${i.template}".`);if(!Nt(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=Nt(i.name)?i.tries||lu0:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.dir=Nt(i.dir)?"":Jt.relative(r,tg(i.dir,r)),i.template=Nt(i.template)?void 0:Jt.relative(r,tg(i.template,r)),i.template=ku0(i.template)?void 0:Jt.relative(i.dir,i.template),i.name=Nt(i.name)?void 0:i.name,i.prefix=Nt(i.prefix)?"":i.prefix,i.postfix=Nt(i.postfix)?"":i.postfix}function tg(i,r){return i.startsWith(r)?Jt.resolve(i):Jt.resolve(Jt.join(r,i))}function xg(i,r,a){if(r==="name"){if(Jt.isAbsolute(i))throw new Error(`${r} option must not contain an absolute path, found "${i}".`);let n=Jt.basename(i);if(n===".."||n==="."||n!==i)throw new Error(`${r} option must not contain a path, found "${i}".`)}else{if(Jt.isAbsolute(i)&&!i.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${i}".`);let n=tg(i,a);if(!n.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${n}".`)}}function Su0(i){return WU(i,-pu0,"EBADF")}function rg(i){return WU(i,-bu0,"ENOENT")}function WU(i,r,a){return hu0?i.code===a:i.code===a&&i.errno===r}function Fu0(){jU=!0}function KU(i){return Jt.resolve(i&&i.tmpdir||ig.tmpdir())}process.addListener(gu0,Cu0);Object.defineProperty(Si.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return KU()}});Si.exports.dir=Du0;Si.exports.dirSync=vu0;Si.exports.file=wu0;Si.exports.fileSync=yu0;Si.exports.tmpName=ng;Si.exports.tmpNameSync=ag;Si.exports.setGracefulCleanup=Fu0});var nm=Oe(im(),1),{program:bx,createCommand:cf0,createArgument:uf0,createOption:ff0,CommanderError:df0,InvalidArgumentError:lf0,InvalidOptionArgumentError:hf0,Command:pf0,Argument:bf0,Option:gf0,Help:mf0}=nm.default;var hr={name:"@capgo/cli",version:"7.1.19",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"],main:"dist/index.js",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",test:"npx --yes ts-node -T src/index.ts","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",test_rls:"ts-node ./test/test_headers_rls.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js"},devDependencies:{"@antfu/eslint-config":"^4.3.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.0","@capacitor/cli":"^7.0.1","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.10.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver","@supabase/supabase-js":"^2.49.1","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^22.13.8","@types/prettyjson":"^0.0.33","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.3","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.1.0",commander:"^13.1.0",esbuild:"^0.25.0",eslint:"9.22.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.0",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.1",tmp:"^0.2.3","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"4.2.0","tus-js-client":"^4.3.1",typescript:"^5.8.2"}};var Oo=require("node:fs"),mM=require("node:process");var at=Oe(n6(),1),V2=require("node:process"),Bi=Oe(require("node:readline"),1),Pl=Oe(require("node:readline"),1),bm=require("node:tty"),gm=Oe(Sl(),1);function fH({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 dH=fH();function mm(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(dH,"")}function wm(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var ym={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="",j=0,o0=a(n),a0=0;a0<o0.length;a0++){var s0=o0[a0],c0=r.length(s0);if(j>=o-(c0==2?1:0))if(j+c0<=e)s+=s0;else break;j+=c0}return s}})(ym);var lH=ym.exports,hH=wm(lH),pH=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},bH=wm(pH);function e7(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=mm(i),i.length===0))return 0;i=i.replace(bH()," ");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(hH.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var Fl=10,cm=(i=0)=>r=>`\x1B[${r+i}m`,um=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,fm=(i=0)=>(r,a,n)=>`\x1B[${38+i};2;${r};${a};${n}m`,f6={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(f6.modifier);var gH=Object.keys(f6.color),mH=Object.keys(f6.bgColor);[...gH,...mH];function wH(){let i=new Map;for(let[r,a]of Object.entries(f6)){for(let[n,o]of Object.entries(a))f6[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},a[n]=f6[n],i.set(o[0],o[1]);Object.defineProperty(f6,r,{value:a,enumerable:!1})}return Object.defineProperty(f6,"codes",{value:i,enumerable:!1}),f6.color.close="\x1B[39m",f6.bgColor.close="\x1B[49m",f6.color.ansi=cm(),f6.color.ansi256=um(),f6.color.ansi16m=fm(),f6.bgColor.ansi=cm(Fl),f6.bgColor.ansi256=um(Fl),f6.bgColor.ansi16m=fm(Fl),Object.defineProperties(f6,{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=>f6.rgbToAnsi256(...f6.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 j=r%36;a=Math.floor(r/36)/5,n=Math.floor(j/6)/5,o=j%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)=>f6.ansi256ToAnsi(f6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>f6.ansi256ToAnsi(f6.hexToAnsi256(r)),enumerable:!1}}),f6}var yH=wH(),ju=new Set(["\x1B","\x9B"]),DH=39,Il="\x07",Dm="[",vH="]",vm="m",Tl=`${vH}8;;`,dm=i=>`${ju.values().next().value}${Dm}${i}${vm}`,lm=i=>`${ju.values().next().value}${Tl}${i}${Il}`,AH=i=>i.split(" ").map(r=>e7(r)),Ol=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=e7(mm(i[i.length-1]));for(let[j,o0]of n.entries()){let a0=e7(o0);if(s+a0<=a?i[i.length-1]+=o0:(i.push(o0),s=0),ju.has(o0)&&(o=!0,e=n.slice(j+1).join("").startsWith(Tl)),o){e?o0===Il&&(o=!1,e=!1):o0===vm&&(o=!1);continue}s+=a0,s===a&&j<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},EH=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("")},CH=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=AH(i),j=[""];for(let[a0,s0]of i.split(" ").entries()){a.trim!==!1&&(j[j.length-1]=j[j.length-1].trimStart());let c0=e7(j[j.length-1]);if(a0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(j.push(""),c0=0),(c0>0||a.trim===!1)&&(j[j.length-1]+=" ",c0++)),a.hard&&s[a0]>r){let A0=r-c0,b0=1+Math.floor((s[a0]-A0-1)/r);Math.floor((s[a0]-1)/r)<b0&&j.push(""),Ol(j,s0,r);continue}if(c0+s[a0]>r&&c0>0&&s[a0]>0){if(a.wordWrap===!1&&c0<r){Ol(j,s0,r);continue}j.push("")}if(c0+s[a0]>r&&a.wordWrap===!1){Ol(j,s0,r);continue}j[j.length-1]+=s0}a.trim!==!1&&(j=j.map(a0=>EH(a0)));let o0=[...j.join(`
|
|
214
|
+
`)}),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 j,o0;n<e;){var a0=i[n];if(typeof a0=="function"&&(a0=A.aa(a0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var s0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[s0>>0]=a0;break;case"i8":I[s0>>0]=a0;break;case"i16":J[s0>>1]=a0;break;case"i32":K[s0>>2]=a0;break;case"i64":H=[a0>>>0,(G=a0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[s0>>2]=H[0],K[s0+4>>2]=H[1];break;case"float":L[s0>>2]=a0;break;case"double":N[s0>>3]=a0;break;default:E("invalid type for setValue: "+c0)}o0!==o&&(j=A.D(o),o0=o),n+=j}}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(s0,c0,A0){c0=c0||1/0;var b0="",C0=[],R0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,R0=[];i[e]!=="E";)if(i[e]==="S"){e++;var I0=i.indexOf("_",e);R0.push(j[i.substring(e,I0)||0]||"?"),e=I0+1}else if(i[e]==="C")R0.push(R0[R0.length-1]),e+=2;else{var I0=parseInt(i.substr(e)),U0=I0.toString().length;if(!I0||!U0){e--;break}var Z0=i.substr(e+U0,I0);R0.push(Z0),j.push(Z0),e+=U0+I0}if(e++,R0=R0.join("::"),c0--,c0===0)return s0?[R0]:R0}else(i[e]==="K"||o0&&i[e]==="L")&&e++,(I0=parseInt(i.substr(e)))&&(U0=I0.toString().length,R0=i.substr(e+U0,I0),e+=U0+I0);o0=!1,i[e]==="I"?(e++,I0=r(!0),U0=r(!0,1,!0),b0+=U0[0]+" "+R0+"<"+I0.join(", ")+">"):b0=R0;x:for(;e<i.length&&0<c0--;)if(R0=i[e++],R0 in s)C0.push(s[R0]);else switch(R0){case"P":C0.push(r(!0,1,!0)[0]+"*");break;case"R":C0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,I0=i.indexOf("E",e)-e,C0.push(i.substr(e,I0)),e+=I0+2;break;case"A":if(I0=parseInt(i.substr(e)),e+=I0.toString().length,i[e]!=="_")throw"?";e++,C0.push(r(!0,1,!0)[0]+" ["+I0+"]");break;case"E":break x;default:b0+="?"+R0;break x}return A0||C0.length!==1||C0[0]!=="void"||(C0=[]),s0?(b0&&C0.push(b0+"?"),C0):b0+("("+C0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var a0=ia(i.length);ga(i.substr(1),a0);var n=ia(4),o=b.___cxa_demangle(a0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{a0&&pa(a0),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:"..."},j=[],o0=!0,a0=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()"}a0=r()}catch{a0+="?"}return 0<=a0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),a0}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 j=i.charCodeAt(s);if(55296<=j&&57343>=j&&(j=65536+((j&1023)<<10)|i.charCodeAt(++s)&1023),127>=j){if(e>=o)break;a[e++]=j}else{if(2047>=j){if(e+1>=o)break;a[e++]=192|j>>6}else{if(65535>=j){if(e+2>=o)break;a[e++]=224|j>>12}else{if(2097151>=j){if(e+3>=o)break;a[e++]=240|j>>18}else{if(67108863>=j){if(e+4>=o)break;a[e++]=248|j>>24}else{if(e+5>=o)break;a[e++]=252|j>>30,a[e++]=128|j>>24&63}a[e++]=128|j>>18&63}a[e++]=128|j>>12&63}a[e++]=128|j>>6&63}a[e++]=128|j&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),j=new i.Uint16Array(a),o0=new i.Uint32Array(a),a0=new i.Float32Array(a),s0=new i.Float64Array(a),c0=r.STACKTOP|0,A0=r.STACK_MAX|0,b0=r.tempDoublePtr|0,C0=r.ABORT|0,R0=r.cttz_i8|0,I0=0,U0=0,Z0=0,F0=0,W0=i.NaN,X0=i.Infinity,gx=0,tx=0,Qx=0,J0=0,Ox=0,Tx=0,Xx=0,ee=0,ue=0,S0=0,V0=0,M0=0,G0=0,nx=0,Nx=0,Ix=0,ne=0,Ax=0,Vx=0,Fe=i.Math.floor,Pe=i.Math.abs,Le=i.Math.sqrt,vt=i.Math.pow,Oi=i.Math.cos,Zt=i.Math.sin,gu=i.Math.tan,Xo=i.Math.acos,z4=i.Math.asin,Y4=i.Math.atan,W4=i.Math.atan2,Jo=i.Math.exp,M2=i.Math.log,mu=i.Math.ceil,ex=i.Math.imul,wu=i.Math.min,Dx=i.Math.clz32,it=r.abort,vr=r.assert,L2=r.invoke_vii,bn=r.invoke_iii,U2=r.__exit,Zo=r._pthread_self,xe=r._abort,q2=r.___setErrNo,yu=r._sysconf,Ar=r._sbrk,K4=r._time,X4=r._emscripten_memcpy_big,Pi=r._llvm_trap,kx=r._exit,j0=r.___assert_fail,Yu0=0;function H2(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0;for(p0=c0,c0=c0+16|0,w0=p0,e[w0>>2]=0,e[w0+4>>2]=0,e[w0+8>>2]=0,e[w0+12>>2]=0,y0=0,g0=0;f;)e0=e[h+(g0<<2)>>2]|0,e0?(y0>>>0<4&&(e[w0+(y0<<2)>>2]=g0),i0=y0+1|0,f=f-e0|0):i0=y0,y0=i0,g0=g0+1|0;if(y0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Sx(1,0,e0&7|0)|0,i0=S0,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]=i0,n[$+1>>0]=i0>>8,n[$+2>>0]=i0>>16,n[$+3>>0]=i0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,i0=e[w0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=wx(i0|0,0,l|0)|0,(k|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),g0=Sx(i0|0,0,$&7|0)|0,w0=S0,g0=e0|g0,k=f,y0=k,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>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+i0>>0]=0,o[w+(i0<<1)>>1]=0,c0=p0;return}for(Hx(d|0,0,g0|0)|0,l0=c+8|0,u0=Px[e[c>>2]&1](e[l0>>2]|0,g0<<4|8)|0,d0=u0,u0||kx(1),v0=1;;){f=g0,e0=d0;x:for(;;){do{if(!f)break x;f=f+-1|0,i0=e[h+(f<<2)>>2]|0}while((i0|0)==0);$=f&65535,i0>>>0<v0>>>0?(e[e0>>2]=v0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=i0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-d0|0,n0=f0>>3,t0=n0+1|0;x:do if(n0>>>0<13)for(_=1;;){if(_>>>0>=n0>>>0)break x;for(r0=u0+(_<<3)|0,x0=e[r0>>2]|0,r0=e[r0+4>>2]|0,$=_;f=$,$=$+-1|0,i0=u0+($<<3)|0,!!(lg(x0,e[i0>>2]|0)|0);)if(M=e[i0+4>>2]|0,q=u0+(f<<3)|0,e[q>>2]=e[i0>>2],e[q+4>>2]=M,!$){f=0;break}q=u0+(f<<3)|0,e[q>>2]=x0,e[q+4>>2]=r0,_=_+1|0}else for(M=n0>>>0<57?2:0;;){if((M|0)>=6)break x;for(f=e[19428+(M<<2)>>2]|0,q=f;!(q>>>0>=n0>>>0);){for($=u0+(q<<3)|0,i0=e[$>>2]|0,$=e[$+4>>2]|0,_=q;!(_>>>0<f>>>0||(x0=_-f|0,r0=u0+(x0<<3)|0,!(lg(i0,e[r0>>2]|0)|0)));)h0=r0,m0=e[h0+4>>2]|0,r0=u0+(_<<3)|0,e[r0>>2]=e[h0>>2],e[r0+4>>2]=m0,_=x0;h0=u0+(_<<3)|0,e[h0>>2]=i0,e[h0+4>>2]=$,q=q+1|0}M=M+1|0}while(!1);for(q=e0,i0=e0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=q+8|0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=0,$=t0,q=q+16|0,M=n0;!((M|0)<=1);)e0=e[u0+(i0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(_=$+1|0,f=e[u0+(_<<3)>>2]|0,r0=i0,x0=$):(r0=i0+1|0,e0=e[u0+(r0<<3)>>2]|0,_=$,x0=i0),e0>>>0>f>>>0?(i0=r0,$=_+1|0,e0=_):(f=e0,i0=r0+1|0,$=_,e0=r0),e[q+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[q+-4>>1]=x0,o[q+-2>>1]=e0,h0=q,e[h0>>2]=-1,e[h0+4>>2]=-1,q=q+8|0,M=M+-1|0;if(Rg((f0>>2)+-1|0,u0,d,14)|0)break;v0=v0<<1}if(yx[e[c+4>>2]&1](e[l0>>2]|0,u0),wn(d,g0,w),f0=e[p>>2]|0,t0=k+(f0>>>3)|0,n0=s[t0>>0]|0,f0=f0&7,y0>>>0>=5){h0=Sx(1431655764,255,f0|0)|0,e0=S0,h0=n0|h0,f=t0,M=f,n[M>>0]=h0,n[M+1>>0]=h0>>8,n[M+2>>0]=h0>>16,n[M+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,M=8;x:for(;;){for(;;){if(e0>>>0>=g0>>>0){f=114;break x}for(q=n[d+e0>>0]|0,_=1,i0=e0;i0=i0+1|0,!(i0>>>0>=g0>>>0||(n[d+i0>>0]|0)!=q<<24>>24);)_=_+1|0;if(e0=e0+_|0,q<<24>>24)break;if(r0=e[11564+(_<<2)>>2]|0,$=8+(_<<3)|0,i0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,h0=wx(i0|0,$|0,r0|0)|0,!((h0|0)==0&(S0|0)==0)){f=99;break x}h0=s[x0>>0]|0,c=Sx(i0|0,$|0,f&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,h0=(e[p>>2]|0)+r0|0,e[p>>2]=h0,f=h0}if(M<<24>>24==q<<24>>24)i0=_;else{if($=q&255,i0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,h0=wx($|0,0,i0&255|0)|0,!((h0|0)==0&(S0|0)==0)){f=103;break}m0=s[x0>>0]|0,w=Sx($|0,0,f&7|0)|0,h0=S0,w=m0|w,f=x0,m0=f,n[m0>>0]=w,n[m0+1>>0]=w>>8,n[m0+2>>0]=w>>16,n[m0+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)+(i0&255)|0,e[p>>2]=f,i0=_+-1|0}if(i0>>>0>=3){if(x0=i0+-3|0,i0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,r0=k+(f>>>3)|0,h0=wx($|0,x0|0,i0|0)|0,!((h0|0)==0&(S0|0)==0)){f=112;break}h0=s[r0>>0]|0,m0=Sx($|0,x0|0,f&7|0)|0,M=S0,m0=h0|m0,f=r0,h0=f,n[h0>>0]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>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,f=(e[p>>2]|0)+i0|0,e[p>>2]=f,M=q;continue}for(M=q&255,_=404394+M|0,M=14380+(M<<2)|0;;){if(!i0){M=q;continue x}if($=n[_>>0]|0,x0=e[M>>2]|0,r0=k+(f>>>3)|0,h0=wx(x0|0,0,$&255|0)|0,!((h0|0)==0&(S0|0)==0)){f=109;break x}h0=s[r0>>0]|0,c=Sx(x0|0,0,f&7|0)|0,m0=S0,c=h0|c,h0=r0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,h0=(e[p>>2]|0)+($&255)|0,e[p>>2]=h0,f=h0,i0=i0+-1|0}}if((f|0)==99)j0(406196,406218,54,406251);else if((f|0)==103)j0(406196,406218,54,406251);else if((f|0)==109)j0(406196,406218,54,406251);else if((f|0)==112)j0(406196,406218,54,406251);else if((f|0)==114){c0=p0;return}}for(h0=Sx(1,0,f0|0)|0,e0=S0,h0=n0|h0,f=t0,i0=f,n[i0>>0]=h0,n[i0+1>>0]=h0>>8,n[i0+2>>0]=h0>>16,n[i0+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=y0+-1|0,i0=k+(f>>>3)|0,(e0&-4|0)==0&!0||j0(406196,406218,54,406251),M=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,$=S0,h0=M|h0,M=i0,r0=M,n[r0>>0]=h0,n[r0+1>>0]=h0>>8,n[r0+2>>0]=h0>>16,n[r0+3>>0]=h0>>24,M=M+4|0,n[M>>0]=$,n[M+1>>0]=$>>8,n[M+2>>0]=$>>16,n[M+3>>0]=$>>24,M=(e[p>>2]|0)+2|0,e[p>>2]=M,$=y0+-1|0,r0=0;(r0|0)!=(y0|0);){for(x0=w0+(r0<<2)|0,f=r0;_=f+1|0,(f|0)!=($|0);){if(f=w0+(_<<2)|0,e0=e[f>>2]|0,i0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+i0>>0]|0)){f=_;continue}e[f>>2]=i0,e[x0>>2]=e0,f=_}r0=r0+1|0}switch(y0|0){case 2:{f=e[w0>>2]|0,e0=k+(M>>>3)|0,i0=s[e0>>0]|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),h0=Sx(f|0,0,M&7|0)|0,f=S0,h0=i0|h0,i0=e0,e0=i0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+3>>0]=f>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,e0=e[w0+4>>2]|0,f=k+(i0>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Sx(e0|0,0,i0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=p0;return}case 3:{f=e[w0>>2]|0,e0=k+(M>>>3)|0,i0=s[e0>>0]|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),f=Sx(f|0,0,M&7|0)|0,h0=S0,i0=i0|f,f=e0,e0=f,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,e0=S0,h0=m0|h0,f=i0,n[f>>0]=h0,n[f+1>>0]=h0>>8,n[f+2>>0]=h0>>16,n[f+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+3>>0]=e0>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,e0=e[w0+8>>2]|0,f=k+(i0>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h0=s[f>>0]|0,w0=Sx(e0|0,0,i0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=p0;return}default:{$=e[w0>>2]|0,f=k+(M>>>3)|0,e0=s[f>>0]|0,(wx($|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),l>>>0>=57&&j0(406267,406218,55,406251),h0=Sx($|0,0,M&7|0)|0,i0=S0,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]=i0,n[f+1>>0]=i0>>8,n[f+2>>0]=i0>>16,n[f+3>>0]=i0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[w0+4>>2]|0,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,e0=S0,h0=m0|h0,f=i0,i0=f,n[i0>>0]=h0,n[i0+1>>0]=h0>>8,n[i0+2>>0]=h0>>16,n[i0+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,i0=k+(f>>>3)|0,(wx(e0|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[i0>>0]|0,h0=Sx(e0|0,0,f&7|0)|0,f=S0,h0=m0|h0,e0=i0,n[e0>>0]=h0,n[e0+1>>0]=h0>>8,n[e0+2>>0]=h0>>16,n[e0+3>>0]=h0>>24,i0=i0+4|0,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+3>>0]=f>>24,i0=(e[p>>2]|0)+l|0,e[p>>2]=i0,f=e[w0+12>>2]|0,e0=k+(i0>>>3)|0,(wx(f|0,0,l|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),m0=s[e0>>0]|0,y0=Sx(f|0,0,i0&7|0)|0,h0=S0,y0=m0|y0,m0=e0,w0=m0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,m0=m0+4|0,n[m0>>0]=h0,n[m0+1>>0]=h0>>8,n[m0+2>>0]=h0>>16,n[m0+3>>0]=h0>>24,m0=(e[p>>2]|0)+l|0,e[p>>2]=m0,h0=k+(m0>>>3)|0,l=s[h0>>0]|0,k=Sx((n[d+$>>0]|0)==1|0,0,m0&7|0)|0,m0=S0,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]=m0,n[h0+1>>0]=m0>>8,n[h0+2>>0]=m0>>16,n[h0+3>>0]=m0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=p0;return}}}function dg(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0,_,M,q){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0,_=_|0,M=M|0,q=q|0;var t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0;for(ax=c0,c0=c0+2704|0,hx=ax+1800|0,Bx=ax+900|0,mx=ax,J4(k,l,M,q),z0=c+8|0,u0=Px[e[c>>2]&1](e[z0>>2]|0,11272)|0,u0||kx(1),q0=e[_>>2]|0,L0=e[_+8>>2]|0,l=e[_+12>>2]|0,K0=e[_+4>>2]|0,e[hx>>2]=256,e[hx+4>>2]=q0,e[hx+8>>2]=L0,e[hx+12>>2]=l,e[hx+16>>2]=K0,e[hx+20>>2]=1,e[hx+24>>2]=0,e[hx+880>>2]=0,K0?l=e[l>>2]|0:l=0,e[hx+884>>2]=l,e[hx+888>>2]=0,L0=hx+892|0,e[L0>>2]=0,K0=hx+896|0,e[K0>>2]=0,O0=e[_+24>>2]|0,N0=e[_+32>>2]|0,l=e[_+36>>2]|0,q0=e[_+28>>2]|0,e[Bx>>2]=704,e[Bx+4>>2]=O0,e[Bx+8>>2]=N0,e[Bx+12>>2]=l,e[Bx+16>>2]=q0,e[Bx+20>>2]=1,e[Bx+24>>2]=0,e[Bx+880>>2]=0,q0?l=e[l>>2]|0:l=0,e[Bx+884>>2]=l,e[Bx+888>>2]=0,N0=Bx+892|0,e[N0>>2]=0,q0=Bx+896|0,e[q0>>2]=0,k0=e[_+48>>2]|0,P0=e[_+56>>2]|0,l=e[_+60>>2]|0,O0=e[_+52>>2]|0,e[mx>>2]=e0+16+(48<<i0),e[mx+4>>2]=k0,e[mx+8>>2]=P0,e[mx+12>>2]=l,e[mx+16>>2]=O0,e[mx+20>>2]=1,e[mx+24>>2]=0,e[mx+880>>2]=0,O0?l=e[l>>2]|0:l=0,e[mx+884>>2]=l,e[mx+888>>2]=0,P0=mx+892|0,e[P0>>2]=0,O0=mx+896|0,e[O0>>2]=0,Z4(hx,u0,M,q),Z4(Bx,u0,M,q),Z4(mx,u0,M,q),l=e[M>>2]|0,t0=q+(l>>>3)|0,n0=s[t0>>0]|0,(i0&-4|0)==0&!0||j0(406196,406218,54,406251),f0=Sx(i0|0,0,l&7|0)|0,l=S0,n0=n0|f0,f0=t0,t0=f0,n[t0>>0]=n0,n[t0+1>>0]=n0>>8,n[t0+2>>0]=n0>>16,n[t0+3>>0]=n0>>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[M>>2]|0)+2|0,e[M>>2]=f0,l=e0>>>i0,t0=q+(f0>>>3)|0,n0=s[t0>>0]|0,(l&-16|0)==0&!0||j0(406196,406218,54,406251),k0=Sx(l|0,0,f0&7|0)|0,l=S0,k0=n0|k0,i0=t0,n[i0>>0]=k0,n[i0+1>>0]=k0>>8,n[i0+2>>0]=k0>>16,n[i0+3>>0]=k0>>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[M>>2]|0)+4|0,e[M>>2]=t0,l=($&-4|0)==0&!0,i0=0;!(i0>>>0>=(e[_>>2]|0)>>>0);){if(n0=q+(t0>>>3)|0,f0=s[n0>>0]|0,!l){l0=16;break}p0=Sx($|0,0,t0&7|0)|0,h0=S0,p0=f0|p0,k0=n0,m0=k0,n[m0>>0]=p0,n[m0+1>>0]=p0>>8,n[m0+2>>0]=p0>>16,n[m0+3>>0]=p0>>24,k0=k0+4|0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,k0=(e[M>>2]|0)+2|0,e[M>>2]=k0,t0=k0,i0=i0+1|0}for((l0|0)==16&&j0(406196,406218,54,406251),k0=_+76|0,l=e[k0>>2]|0,n0=_+92|0,t0=e[n0>>2]|0,l?pg(c,e[_+72>>2]|0,l,t0,u0,M,q):hg(t0,6,u0,M,q),h0=_+84|0,l=e[h0>>2]|0,e0=_+108|0,t0=e[e0>>2]|0,l?pg(c,e[_+80>>2]|0,l,t0,u0,M,q):hg(t0,2,u0,M,q),f0=e[_+88>>2]|0,n0=e[n0>>2]|0,i0=e[hx>>2]|0,l=ex(n0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[L0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[K0>>2]=l,l=f0,t0=0;(t0|0)!=(n0|0);)m0=ex(t0,i0)|0,Er(l+(t0*1040|0)|0,i0,u0,(e[L0>>2]|0)+m0|0,(e[K0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;for(n0=e[_+96>>2]|0,f0=e[_+100>>2]|0,i0=e[Bx>>2]|0,l=ex(f0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[N0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[q0>>2]=l,l=n0,t0=0;(t0|0)!=(f0|0);)m0=ex(t0,i0)|0,Er(l+(t0*2832|0)|0,i0,u0,(e[N0>>2]|0)+m0|0,(e[q0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;for(n0=e[_+104>>2]|0,f0=e[e0>>2]|0,i0=e[mx>>2]|0,l=ex(f0,i0)|0,t0=Px[e[c>>2]&1](e[z0>>2]|0,l)|0,t0||kx(1),e[P0>>2]=t0,l=Px[e[c>>2]&1](e[z0>>2]|0,l<<1)|0,l||kx(1),e[O0>>2]=l,l=n0,t0=0;(t0|0)!=(f0|0);)m0=ex(t0,i0)|0,Er(l+(t0*2096|0)|0,i0,u0,(e[P0>>2]|0)+m0|0,(e[O0>>2]|0)+(m0<<1)|0,M,q),t0=t0+1|0;m0=c+4|0,yx[e[m0>>2]&1](e[z0>>2]|0,u0),p0=_+80|0,w0=_+72|0,t0=w,l=p,y0=0;x:for(;;){if(y0>>>0>=r0>>>0){l0=87;break}c=e[x0+(y0<<4)>>2]|0,i0=e[x0+(y0<<4)+4>>2]|0,g0=e[x0+(y0<<4)+8>>2]|0,p=e[x0+(y0<<4)+12>>2]|0,w=p&65535,v0=p>>>16,d0=p&65535,$4(Bx,d0,M,q),_=i0&16777215,i0=_^i0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Dx(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Dx(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(i0>>>0<10)n0=i0+65534|0;else{if(i0>>>0<134){u0=i0+-6|0,n0=((Dx(u0|0)|0)^31)+-1|0,n0=(n0<<1)+(u0>>>n0)+4|0;break}if(i0>>>0>=2118){n0=23;break}n0=((Dx(i0+-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=n0&65535,i0=Sx(i0-(e[17364+(e0<<2)>>2]|0)|0,0,l0|0)|0,n0=S0,f0=i0|f0,i0=l0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[M>>2]|0,l0=q+(e0>>>3)|0,u0=s[l0>>0]|0,sx=wx(f0|0,n0|0,i0|0)|0,!((sx|0)==0&(S0|0)==0)){l0=61;break}if(i0>>>0>=57){l0=63;break}f0=Sx(f0|0,n0|0,e0&7|0)|0,e0=S0,f0=u0|f0,sx=l0,u0=sx,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,sx=sx+4|0,n[sx>>0]=e0,n[sx+1>>0]=e0>>8,n[sx+2>>0]=e0>>16,n[sx+3>>0]=e0>>24,e[M>>2]=(e[M>>2]|0)+i0;e:do if(e[k0>>2]|0)for(n0=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}sx=n[h+(n0&d)>>0]|0,bg(hx,sx&255,l&255,e[w0>>2]|0,M,q,6),l=t0,t0=sx,n0=n0+1|0,f0=f0+-1|0}else for(n0=f,f0=c;;){if(!f0)break e;$4(hx,s[h+(n0&d)>>0]|0,M,q),n0=n0+1|0,f0=f0+-1|0}while(!1);u0=f+c+_|0;do if(_){if(l=n[h+(u0+-2&d)>>0]|0,t0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=g0>>>24,l0=g0&16777215,!(e[h0>>2]|0))$4(mx,v0,M,q);else{switch(n0=p&7,d0>>>6|0){case 7:case 4:case 2:case 0:{n0=n0>>>0<3?n0:3;break}default:n0=3}bg(mx,v0,n0,e[p0>>2]|0,M,q,2)}if(n0=e[M>>2]|0,f0=q+(n0>>>3)|0,i0=s[f0>>0]|0,sx=wx(l0|0,0,e0|0)|0,!((sx|0)==0&(S0|0)==0)){l0=82;break x}if(g0>>>0>=956301312){l0=84;break x}d0=Sx(l0|0,0,n0&7|0)|0,g0=S0,d0=i0|d0,sx=f0,v0=sx,n[v0>>0]=d0,n[v0+1>>0]=d0>>8,n[v0+2>>0]=d0>>16,n[v0+3>>0]=d0>>24,sx=sx+4|0,n[sx>>0]=g0,n[sx+1>>0]=g0>>8,n[sx+2>>0]=g0>>16,n[sx+3>>0]=g0>>24,e[M>>2]=(e[M>>2]|0)+e0}while(!1);f=u0,y0=y0+1|0}if((l0|0)==61)j0(406196,406218,54,406251);else if((l0|0)==63)j0(406267,406218,55,406251);else if((l0|0)==82)j0(406196,406218,54,406251);else if((l0|0)==84)j0(406267,406218,55,406251);else if((l0|0)==87){if(yx[e[m0>>2]&1](e[z0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[O0>>2]|0),e[O0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[N0>>2]|0),e[N0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[q0>>2]|0),e[q0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[L0>>2]|0),e[L0>>2]=0,yx[e[m0>>2]&1](e[z0>>2]|0,e[K0>>2]|0),e[K0>>2]=0,!k){c0=ax;return}sx=(e[M>>2]|0)+7|0,e[M>>2]=sx&-8,n[q+(sx>>>3)>>0]=0,c0=ax;return}}function Du(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+32|0,_=q+8|0,r0=q+16|0,k=q,M=f&l,f=p+((e[w>>2]|0)>>>3)|0,i0=s[f>>0]|0,e0=f,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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,mg(d,_,r0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,i0=p+(e0>>>3)|0,$=s[i0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||j0(406196,406218,54,406251),f=Sx(f|0,k|0,e0&7|0)|0,k=S0,f=$|f,x0=i0,$=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[r0>>2]|0,k=_,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,i0=s[e0>>0]|0,_=wx(f|0,k|0,$|0)|0,(_|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$>>>0>=57&&j0(406267,406218,55,406251),_=Sx(f|0,k|0,x0&7|0)|0,f=S0,_=i0|_,x0=e0,r0=x0,n[r0>>0]=_,n[r0+1>>0]=_>>8,n[r0+2>>0]=_>>16,n[r0+3>>0]=_>>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,r0=s[f>>0]|0,x0=Sx(1,0,x0&7|0)|0,_=S0,x0=r0|x0,r0=f,n[r0>>0]=x0,n[r0+1>>0]=x0>>8,n[r0+2>>0]=x0>>16,n[r0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=_,n[f+1>>0]=_>>8,n[f+2>>0]=_>>16,n[f+3>>0]=_>>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,(M+d|0)>>>0>f>>>0?(f=f-M|0,Zx(p+((e[w>>2]|0)>>>3)|0,h+M|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=M),Zx(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&j0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=q;return}h=e[w>>2]|0,l=p+(h>>>3)|0,M=s[l>>0]|0,h=Sx(1,0,h&7|0)|0,c=S0,h=M|h,M=l,n[M>>0]=h,n[M+1>>0]=h>>8,n[M+2>>0]=h>>16,n[M+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,M=s[c>>0]|0,l=Sx(1,0,l&7|0)|0,h=S0,l=M|l,M=c,n[M>>0]=l,n[M+1>>0]=l>>8,n[M+2>>0]=l>>16,n[M+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=q}function lg(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function J4(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,i0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,i0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Sx(c&1|0,0,e[f>>2]&7|0)|0,e0=S0,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),mg(h,$,i0,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||j0(406196,406218,54,406251),d=Sx(d|0,h|0,w&7|0)|0,h=S0,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[i0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=wx(d|0,h|0,k|0)|0,($|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k>>>0>=57&&j0(406267,406218,55,406251),e0=Sx(d|0,h|0,e0&7|0)|0,$=S0,e0=p|e0,d=w,i0=d,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+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 Z4(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0;t0=c0,c0=c0+1136|0,q=t0+104|0,M=t0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,r0=e[c+16>>2]|0,_=e[c+4>>2]|0,Hx(q|0,0,(_<<2)+8|0)|0,w=M,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)!=(r0|0);){for(i0=s[d+$>>0]|0,(i0|0)==(x0+1|0)?w=1:w=(i0|0)==(w|0)?0:i0+2|0,$&&(e0=q+(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=M+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=i0}if(el(_+-1|0,f,l),_>>>0<=1){c0=t0;return}for(r0=c+20|0,Er(q,_+2|0,h,c+28|0,c+286|0,f,l),Er(M,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,q=s[d>>0]|0,e[c+24>>2]=e[r0>>2],e[r0>>2]=q,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,i0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=j[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=wx(d|0,0,e0&255|0)|0,(c|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)>=57&&j0(406267,406218,55,406251),c=Sx(d|0,0,w&7|0)|0,d=S0,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=wx(i0|0,0,$|0)|0,(l|0)==0&(S0|0)==0||j0(406196,406218,54,406251),h=Sx(i0|0,0,p&7|0)|0,c=S0,h=w|h,l=d,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,e[f>>2]=(e[f>>2]|0)+$,c0=t0}function hg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0;if(f0=c0,c0=c0+1904|0,$=f0,n0=f0+1632|0,t0=f0+1088|0,el(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(M=h+-1|0,q=(1<<M)+-1|0,i0=M+c|0,Hx($|0,0,i0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Sx(1,0,e0&7|0)|0,p=S0,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||j0(406196,406218,54,406251),x0=Sx(p|0,0,w&7|0)|0,_=S0,x0=e0|x0,w=k,r0=w,n[r0>>0]=x0,n[r0+1>>0]=x0>>8,n[r0+2>>0]=x0>>16,n[r0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=_,n[w+1>>0]=_>>8,n[w+2>>0]=_>>16,n[w+3>>0]=_>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(M<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=i0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(Er($,i0,f,n0,t0,l,d),$=n0+M|0,f=t0+(M<<1)|0,x0=wx(q|0,0,M|0)|0,x0=(x0|0)==0&(S0|0)==0,r0=M>>>0<57,_=0;;){if(_>>>0>=c>>>0){w=22;break}if(p=(_|0)==0?0:_+h+-1|0,w=n[n0+p>>0]|0,p=j[t0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,i0=s[e0>>0]|0,l0=wx(p|0,0,w&255|0)|0,!((l0|0)==0&(S0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Sx(p|0,0,k&7|0)|0,k=S0,i0=i0|p,p=e0,e0=p,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>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=j[f>>1]|0,e0=d+(w>>>3)|0,i0=s[e0>>0]|0,l0=wx(k|0,0,p&255|0)|0,!((l0|0)==0&(S0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Sx(k|0,0,w&7|0)|0,k=S0,i0=i0|w,w=e0,l0=w,n[l0>>0]=i0,n[l0+1>>0]=i0>>8,n[l0+2>>0]=i0>>16,n[l0+3>>0]=i0>>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(!r0){w=20;break}l0=Sx(q|0,0,w&7|0)|0,i0=S0,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]=i0,n[l0+1>>0]=i0>>8,n[l0+2>>0]=i0>>16,n[l0+3>>0]=i0>>24,e[l>>2]=(e[l>>2]|0)+M,_=_+1|0}if((w|0)==10)j0(406196,406218,54,406251);else if((w|0)==12)j0(406267,406218,55,406251);else if((w|0)==14)j0(406196,406218,54,406251);else if((w|0)==16)j0(406267,406218,55,406251);else if((w|0)==18)j0(406196,406218,54,406251);else if((w|0)==20)j0(406267,406218,55,406251);else if((w|0)==22){n0=e[l>>2]|0,l0=d+(n0>>>3)|0,c=s[l0>>0]|0,n0=Sx(1,0,n0&7|0)|0,d=S0,n0=c|n0,c=l0,n[c>>0]=n0,n[c+1>>0]=n0>>8,n[c+2>>0]=n0>>16,n[c+3>>0]=n0>>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 pg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0;if(v0=c0,c0=c0+2160|0,r0=v0+1088|0,t0=v0,d0=v0+1888|0,u0=v0+1344|0,el(l+-1|0,w,p),(l|0)==1){c0=v0;return}f0=c+8|0,l0=Px[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,l0||kx(1);x:do if(!f)n0=l0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)q=e[h+(e0<<2)>>2]|0,k=q>>>0>k>>>0?q:k,e0=e0+1|0;for(k>>>0<256?i0=0:j0(405316,404333,616,405333);!(i0>>>0>k>>>0);)n[r0+i0>>0]=i0,i0=i0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){n0=l0;break x}for(k=e[h+(x0<<2)>>2]&255,i0=0;;){if(i0>>>0>=$>>>0)break e;if((n[r0+i0>>0]|0)==k<<24>>24)break;i0=i0+1|0}for(e[l0+(x0<<2)>>2]=i0,e0=n[r0+i0>>0]|0,k=i0;k;)q=k+-1|0,n[r0+k>>0]=n[r0+q>>0]|0,k=q;n[r0>>0]=e0,x0=x0+1|0}j0(405354,404333,624,405333)}while(!1);for(e[r0>>2]=0,k=0,i0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[n0+(k<<2)>>2]|0)){e0=0;break}q=k+1|0,e[r0>>2]=q,k=q}for(;!(k>>>0>=f>>>0||e[n0+(k<<2)>>2]|0);)q=k+1|0,e[r0>>2]=q,k=q,e0=e0+1|0;i0=e0>>>0>i0>>>0?e0:i0}for(i0?(q=(Dx(i0|0)|0)^31,q=q>>>0<6?q:6):q=0,e[r0>>2]=0,$=2<<q,x0=q+((512<<q)+-512)|0,h=$+-1|0,i0=0,_=0;!(i0>>>0>=f>>>0);){if(_>>>0>i0>>>0){M=38;break}k=e[n0+(i0<<2)>>2]|0;x:do if(k)e[n0+(_<<2)>>2]=k+q,e[r0>>2]=(e[r0>>2]|0)+1,k=_+1|0;else{for(k=i0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[n0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[r0>>2]=i0+e0,k=_;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[n0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}_=(Dx(e0|0)|0)^31,e[n0+(k<<2)>>2]=_|e0-(1<<_)<<9,k=k+1|0}while(!1);i0=e[r0>>2]|0,_=k}for((M|0)==38&&j0(405282,404333,656,405297),Hx(t0|0,0,1088)|0,k=0;(k|0)!=(_|0);)M=t0+((e[n0+(k<<2)>>2]&511)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,k=k+1|0;M=(q|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Sx(M&1|0,0,h&7|0)|0,r0=S0,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]=r0,n[k+1>>0]=r0>>8,n[k+2>>0]=r0>>16,n[k+3>>0]=r0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(M)if(e0=q+-1|0,i0=p+(k>>>3)|0,$=s[i0>>0]|0,(e0&-16|0)==0&!0){h=Sx(e0|0,0,k&7|0)|0,r0=S0,h=$|h,M=i0,f=M,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,M=M+4|0,n[M>>0]=r0,n[M+1>>0]=r0>>8,n[M+2>>0]=r0>>16,n[M+3>>0]=r0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else j0(406196,406218,54,406251);while(!1);for(Er(t0,q+l|0,d,d0,u0,w,p),r0=0;;){if(r0>>>0>=_>>>0){M=70;break}if(f=e[n0+(r0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[d0+h>>0]|0,e0=j[u0+(h<<1)>>1]|0,i0=e[w>>2]|0,$=p+(i0>>>3)|0,x0=s[$>>0]|0,d=wx(e0|0,0,k&255|0)|0,!((d|0)==0&(S0|0)==0)){M=60;break}if((k&255)>=57){M=62;break}if(M=Sx(e0|0,0,i0&7|0)|0,l=S0,M=x0|M,d=$,t0=d,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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>q>>>0)){if(e0=p+(k>>>3)|0,i0=s[e0>>0]|0,d=wx(f|0,0,h|0)|0,!((d|0)==0&(S0|0)==0)){M=65;break}if(h>>>0>=57){M=67;break}M=Sx(f|0,0,k&7|0)|0,l=S0,M=i0|M,d=e0,t0=d,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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}r0=r0+1|0}if((M|0)==60)j0(406196,406218,54,406251);else if((M|0)==62)j0(406267,406218,55,406251);else if((M|0)==65)j0(406196,406218,54,406251);else if((M|0)==67)j0(406267,406218,55,406251);else if((M|0)==70){n0=e[w>>2]|0,p=p+(n0>>>3)|0,u0=s[p>>0]|0,n0=Sx(1,0,n0&7|0)|0,d0=S0,n0=u0|n0,u0=p,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>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,yx[e[c+4>>2]&1](e[f0>>2]|0,l0),c0=v0;return}}function $4(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;M=c+884|0,d=e[M>>2]|0;do if(d)_=c+888|0,q=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[M>>2]=x0,w=w&255,r0=c+888|0,e[r0>>2]=ex(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,i0=n[c+28+e0>>0]|0,d=j[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=wx(d|0,0,i0&255|0)|0,($|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(i0&255)>=57&&j0(406267,406218,55,406251),w=Sx(d|0,0,w&7|0)|0,e0=S0,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)+(i0&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,i0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=j[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=wx(d|0,0,e0&255|0)|0,(x0|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)>=57&&j0(406267,406218,55,406251),x0=Sx(d|0,0,w&7|0)|0,d=S0,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=wx(i0|0,0,$|0)|0,(x0|0)==0&(S0|0)==0){i0=Sx(i0|0,0,w&7|0)|0,q=S0,i0=d|i0,_=p,x0=_,n[x0>>0]=i0,n[x0+1>>0]=i0>>8,n[x0+2>>0]=i0>>16,n[x0+3>>0]=i0>>24,_=_+4|0,n[_>>0]=q,n[_+1>>0]=q>>8,n[_+2>>0]=q>>16,n[_+3>>0]=q>>24,e[f>>2]=(e[f>>2]|0)+$,_=r0,q=e[M>>2]|0;break}else j0(406196,406218,54,406251)}while(!1);if(e[M>>2]=q+-1,p=(e[_>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=j[(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=wx(p|0,0,e0&255|0)|0,(l|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(e0&255)<57){q=Sx(p|0,0,k&7|0)|0,c=S0,q=w|q,l=d,h=l,n[h>>0]=q,n[h+1>>0]=q>>8,n[h+2>>0]=q>>16,n[h+3>>0]=q>>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 j0(406267,406218,55,406251)}function bg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0;t0=c+884|0,k=e[t0>>2]|0;do if(k)q=c+888|0,n0=k;else{for(_=c+880|0,i0=(e[_>>2]|0)+1|0,e[_>>2]=i0,_=e[(e[c+12>>2]|0)+(i0<<2)>>2]|0,i0=n[(e[c+8>>2]|0)+i0>>0]|0,e[t0>>2]=_,i0=i0&255,M=c+888|0,e[M>>2]=i0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(i0|0)==(e0+1|0)?$=1:$=(i0|0)==(e[k>>2]|0)?0:i0+2|0,e[k>>2]=e0,e[p>>2]=i0,x0=n[c+28+$>>0]|0,k=j[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,i0=s[e0>>0]|0,r0=wx(k|0,0,x0&255|0)|0,(r0|0)==0&(S0|0)==0||j0(406196,406218,54,406251),(x0&255)>=57&&j0(406267,406218,55,406251),p=Sx(k|0,0,p&7|0)|0,$=S0,p=i0|p,r0=e0,i0=r0,n[i0>>0]=p,n[i0+1>>0]=p>>8,n[i0+2>>0]=p>>16,n[i0+3>>0]=p>>24,r0=r0+4|0,n[r0>>0]=$,n[r0+1>>0]=$>>8,n[r0+2>>0]=$>>16,n[r0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),_>>>0>176?p=_>>>0>752?20:14:p=_>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,_>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(r0=e[17556+(p<<3)+4>>2]|0,x0=_-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=j[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,i0=s[e0>>0]|0,_=wx(k|0,0,$&255|0)|0,(_|0)==0&(S0|0)==0||j0(406196,406218,54,406251),($&255)>=57&&j0(406267,406218,55,406251),_=Sx(k|0,0,p&7|0)|0,p=S0,_=i0|_,k=e0,e0=k,n[e0>>0]=_,n[e0+1>>0]=_>>8,n[e0+2>>0]=_>>16,n[e0+3>>0]=_>>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,_=wx(x0|0,0,r0|0)|0,(_|0)==0&(S0|0)==0){x0=Sx(x0|0,0,k&7|0)|0,n0=S0,x0=e0|x0,q=p,_=q,n[_>>0]=x0,n[_+1>>0]=x0>>8,n[_+2>>0]=x0>>16,n[_+3>>0]=x0>>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[d>>2]=(e[d>>2]|0)+r0,q=M,n0=e[t0>>2]|0;break}else j0(406196,406218,54,406251)}while(!1);if(e[t0>>2]=n0+-1,e0=(ex(e[l+((e[q>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=j[(e[c+896>>2]|0)+(e0<<1)>>1]|0,i0=e[d>>2]|0,k=w+(i0>>>3)|0,p=s[k>>0]|0,w=wx(e0|0,0,$&255|0)|0,(w|0)==0&(S0|0)==0||j0(406196,406218,54,406251),($&255)<57){l=Sx(e0|0,0,i0&7|0)|0,c=S0,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 j0(406267,406218,55,406251)}function gg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;for(q=p+2816|0,t0=w+1024|0,n0=k+2080|0,M=0;(M|0)!=(d|0);){for(r0=e[l+(M<<4)>>2]|0,e0=e[l+(M<<4)+4>>2]|0,i0=e[l+(M<<4)+12>>2]|0,_=i0&65535,x0=i0>>>16,i0=p+((i0&65535)<<2)|0,e[i0>>2]=(e[i0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,i0=h,$=r0;$;)f0=w+((s[c+(i0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[t0>>2]=(e[t0>>2]|0)+1,i0=i0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(_&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[n0>>2]=(e[n0>>2]|0)+1),h=h+r0+e0|0,M=M+1|0}}function Er(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,i0=0,$=0,x0=0,r0=0,_=0;for(_=c0,c0=c0+16|0,x0=_,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(r0=0,k=h+-1|0;k;)r0=r0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Sx(1,0,e0&7|0)|0,h=S0,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=wx(h|0,0,r0|0)|0,(p|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),f=Sx(h|0,0,c&7|0)|0,$=S0,f=e0|f,p=k,i0=p,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+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)+r0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=_;return}if(Hx(l|0,0,h|0)|0,j2(c,h,15,f,l),wn(l,h,d),$>>>0>=5){$o(l,h,f,w,p),c0=_;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Sx(1,0,e[w>>2]&7|0)|0,e0=S0,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||j0(406196,406218,54,406251),f=Sx(e0|0,0,k&7|0)|0,d=S0,f=h|f,h=c,i0=h,n[i0>>0]=f,n[i0+1>>0]=f>>8,n[i0+2>>0]=f>>16,n[i0+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;i0=k+1|0,(k|0)!=(h|0);){if(k=x0+(i0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=i0;continue}e[k>>2]=c,e[f>>2]=e0,k=i0}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,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),e0=Sx(k|0,0,e0&7|0)|0,k=S0,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)+r0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(wx(c|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$=Sx(c|0,0,h&7|0)|0,x0=S0,$=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)+r0,c0=_;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),k=Sx(k|0,0,e0&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),e0=Sx(e0|0,0,k&7|0)|0,k=S0,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)+r0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(wx(c|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),$=Sx(c|0,0,h&7|0)|0,x0=S0,$=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)+r0,c0=_;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(wx(k|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),r0>>>0>=57&&j0(406267,406218,55,406251),k=Sx(k|0,0,e0&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k=Sx(e0|0,0,k&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k=Sx(e0|0,0,k&7|0)|0,e0=S0,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)+r0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(wx(e0|0,0,r0|0)|0)==0&(S0|0)==0||j0(406196,406218,54,406251),f=Sx(e0|0,0,k&7|0)|0,$=S0,f=h|f,i0=c,d=i0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,i0=i0+4|0,n[i0>>0]=$,n[i0+1>>0]=$>>8,n[i0+2>>0]=$>>16,n[i0+3>>0]=$>>24,i0=(e[w>>2]|0)+r0|0,e[w>>2]=i0,r0=p+(i0>>>3)|0,$=s[r0>>0]|0,l=Sx((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,i0&7|0)|0,p=S0,l=$|l,x0=r0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,r0=r0+4|0,n[r0>>0]=p,n[r0+1>>0]=p>>8,n[r0+2>>0]=p>>16,n[r0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=_;return}}}function xl(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=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,y0=e[l+(w0<<4)+8>>2]|0,M=e[l+(w0<<4)+12>>2]|0,v0=M&65535,g0=M>>>16,M=M&65535,_=n[k+M>>0]|0,M=j[e0+(M<<1)>>1]|0,q=e[x0>>2]|0,t0=r0+(q>>>3)|0,n0=s[t0>>0]|0,d0=wx(M|0,0,_&255|0)|0,!((d0|0)==0&(S0|0)==0)){h=4;break}if((_&255)>=57){h=6;break}l0=Sx(M|0,0,q&7|0)|0,d0=S0,n0=n0|l0,l0=t0,q=l0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>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)+(_&255)|0,e[x0>>2]=l0,d0=f0&16777215,q=d0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,M=((Dx(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+2|0;break}if(u0>>>0<2114){M=((Dx(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?M=21:M=u0>>>0<22594?22:23}else M=u0;while(!1);do if(q>>>0>=10){if(q>>>0<134){f0=q+-6|0,_=((Dx(f0|0)|0)^31)+-1|0,_=(_<<1)+(f0>>>_)+4|0;break}q>>>0<2118?_=((Dx(q+-70|0)|0)^31)+12|0:_=23}else _=q+65534|0;while(!1);if(M=M&65535,n0=e[17268+(M<<2)>>2]|0,M=u0-(e[18788+(M<<2)>>2]|0)|0,t0=_&65535,q=Sx(q-(e[17364+(t0<<2)>>2]|0)|0,0,n0|0)|0,_=S0,M=q|M,q=n0+(e[17460+(t0<<2)>>2]|0)|0,t0=r0+(l0>>>3)|0,n0=s[t0>>0]|0,f0=wx(M|0,_|0,q|0)|0,!((f0|0)==0&(S0|0)==0)){h=21;break}if(q>>>0>=57){h=23;break}for(M=Sx(M|0,_|0,l0&7|0)|0,f0=S0,M=n0|M,l0=t0,n0=l0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>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)+q|0,e[x0>>2]=l0,n0=u0;n0;){if(M=s[c+(h&f)>>0]|0,_=n[w+M>>0]|0,M=j[p+(M<<1)>>1]|0,q=r0+(l0>>>3)|0,t0=s[q>>0]|0,u0=wx(M|0,0,_&255|0)|0,!((u0|0)==0&(S0|0)==0)){h=27;break x}if((_&255)>=57){h=29;break x}M=Sx(M|0,0,l0&7|0)|0,f0=S0,M=t0|M,u0=q,t0=u0,n[t0>>0]=M,n[t0+1>>0]=M>>8,n[t0+2>>0]=M>>16,n[t0+3>>0]=M>>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)+(_&255)|0,e[x0>>2]=u0,l0=u0,h=h+1|0,n0=n0+-1|0}if(h=h+d0|0,(d0|0)!=0&(v0&65535)>127){if(n0=y0>>>24,f0=y0&16777215,t0=n[i0+g0>>0]|0,_=j[$+(g0<<1)>>1]|0,M=r0+(l0>>>3)|0,q=s[M>>0]|0,g0=wx(_|0,0,t0&255|0)|0,!((g0|0)==0&(S0|0)==0)){h=33;break}if((t0&255)>=57){h=35;break}if(_=Sx(_|0,0,l0&7|0)|0,g0=S0,q=q|_,_=M,M=_,n[M>>0]=q,n[M+1>>0]=q>>8,n[M+2>>0]=q>>16,n[M+3>>0]=q>>24,_=_+4|0,n[_>>0]=g0,n[_+1>>0]=g0>>8,n[_+2>>0]=g0>>16,n[_+3>>0]=g0>>24,_=(e[x0>>2]|0)+(t0&255)|0,e[x0>>2]=_,M=r0+(_>>>3)|0,q=s[M>>0]|0,g0=wx(f0|0,0,n0|0)|0,!((g0|0)==0&(S0|0)==0)){h=37;break}if(y0>>>0>=956301312){h=39;break}d0=Sx(f0|0,0,_&7|0)|0,g0=S0,d0=q|d0,y0=M,v0=y0,n[v0>>0]=d0,n[v0+1>>0]=d0>>8,n[v0+2>>0]=d0>>16,n[v0+3>>0]=d0>>24,y0=y0+4|0,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>24,e[x0>>2]=(e[x0>>2]|0)+n0}w0=w0+1|0}switch(h|0){case 4:{j0(406196,406218,54,406251);break}case 6:{j0(406267,406218,55,406251);break}case 21:{j0(406196,406218,54,406251);break}case 23:{j0(406267,406218,55,406251);break}case 27:{j0(406196,406218,54,406251);break}case 29:{j0(406267,406218,55,406251);break}case 33:{j0(406196,406218,54,406251);break}case 35:{j0(406267,406218,55,406251);break}case 37:{j0(406196,406218,54,406251);break}case 39:{j0(406267,406218,55,406251);break}case 42:return}}function mg(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,i0=0,$=0;(c|0)!=1?(k=(Dx(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,i0=e0):j0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=i0):j0(405253,404333,87,405236),$>>>0<25?d=p:j0(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 el(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=(Dx(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Sx(1,0,p&7|0)|0,d=S0,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||j0(406196,406218,54,406251),e0=Sx(k|0,0,l&7|0)|0,l=S0,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=wx(w|0,0,k|0)|0,(f|0)==0&(S0|0)==0||j0(406196,406218,54,406251),k>>>0>=57&&j0(406267,406218,55,406251),p=Sx(w|0,0,p&7|0)|0,f=S0,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 wg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+1040|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*1040|0)+1032>>3],$=+s0[c+(n0*1040|0)+1032>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*1040|0)+1024>>2]|0){if(f=e[c+(n0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*1040|0)|0,1040)|0,h=q+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+gn(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function vu(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)wg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*1040|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*1040|0)+1032>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)wg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|0}function yg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+2832|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*2832|0)+2824>>3],$=+s0[c+(n0*2832|0)+2824>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*2832|0)+2816>>2]|0){if(f=e[c+(n0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*2832|0)|0,2832)|0,h=q+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+Cu(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Dg(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)yg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*2832|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*2832|0)+2824>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)yg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;if(f0=c0,c0=c0+2096|0,q=f0,(f|0)==(l|0)){c0=f0;return}if(t0=l>>>0<f>>>0,n0=t0?f:l,t0=t0?l:f,f=e[h+(t0<<2)>>2]|0,l=e[h+(n0<<2)>>2]|0,h=f+l|0,M=+(f>>>0),f>>>0<256?_=+a0[19516+(f<<2)>>2]:_=+Kx(M),r0=+(l>>>0),l>>>0<256?x0=+a0[19516+(l<<2)>>2]:x0=+Kx(r0),i0=+(h>>>0),h>>>0<256?e0=+a0[19516+(h<<2)>>2]:e0=+Kx(i0),k=+s0[c+(t0*2096|0)+2088>>3],$=+s0[c+(n0*2096|0)+2088>>3],i0=(M*_+r0*x0-i0*e0)*.5-k-$,e[c+(t0*2096|0)+2080>>2]|0){if(f=e[c+(n0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+s0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,Zx(q|0,c+(t0*2096|0)|0,2096)|0,h=q+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=q+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(n0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+mn(q),!(k<e0-i0)){c0=f0;return}}}else k=$;e0=i0+k,f=e[p>>2]|0;do if(f){if(i0=+s0[w+16>>3],i0!=e0){if(!(i0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(n0-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]=n0,s0[w+8>>3]=k,s0[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]=n0,s0[w+(f*24|0)+8>>3]=k,s0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Au(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 i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;for(h0=c0,c0=c0+32|0,m0=h0+24|0,p0=h0,e[m0>>2]=0,i0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,_=x0;r0=_+1|0,(_|0)!=(i0|0);)vg(c,h,e[$>>2]|0,e[l+(r0<<2)>>2]|0,e0,d,m0),_=r0;x0=x0+1|0}u0=d+16|0,d0=d+4|0,v0=d+8|0,i0=w,f0=0,l0=1;x:for(;;)for(n0=i0;;){if(i0=i0+-1|0,n0>>>0<=l0>>>0)break x;if(+s0[u0>>3]>=f0){i0=n0,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;)_=c+(t0*2096|0)+($<<2)|0,e[_>>2]=(e[_>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(s0[c+(t0*2096|0)+2088>>3]=+s0[v0>>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(;!(n0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){g0=22;break}x0=x0+1|0}for((g0|0)==22&&(g0=0,Pu($|0,l+(x0+1<<2)|0,(n0-x0<<2)+-4|0)|0),r0=e[m0>>2]|0,$=0,_=0;(_|0)!=(r0|0);)x0=d+(_*24|0)|0,(e[x0>>2]|0)!=(t0|0)&&(y0=e[d+(_*24|0)+4>>2]|0,(y0|0)!=(t0|0))&&(w0=e[x0>>2]|0,!((w0|0)==(w|0)|(y0|0)==(w|0)))&&(M=+s0[u0>>3],q=+s0[d+(_*24|0)+16>>3],M!=q?M>q?g0=32:g0=33:((e[d0>>2]|0)-(e[d>>2]|0)|0)>>>0>(y0-w0|0)>>>0?g0=32:g0=33,(g0|0)==32?(g0=0,e[p0>>2]=e[d>>2],e[p0+4>>2]=e[d+4>>2],e[p0+8>>2]=e[d+8>>2],e[p0+12>>2]=e[d+12>>2],e[p0+16>>2]=e[d+16>>2],e[p0+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[p0>>2],e[x0+4>>2]=e[p0+4>>2],e[x0+8>>2]=e[p0+8>>2],e[x0+12>>2]=e[p0+12>>2],e[x0+16>>2]=e[p0+16>>2],e[x0+20>>2]=e[p0+20>>2]):(g0|0)==33&&(g0=0,k0=d+($*24|0)|0,e[k0>>2]=e[x0>>2],e[k0+4>>2]=e[x0+4>>2],e[k0+8>>2]=e[x0+8>>2],e[k0+12>>2]=e[x0+12>>2],e[k0+16>>2]=e[x0+16>>2],e[k0+20>>2]=e[x0+20>>2]),$=$+1|0),_=_+1|0;for(e[m0>>2]=$,$=0;($|0)!=(i0|0);)vg(c,h,t0,e[l+($<<2)>>2]|0,e0,d,m0),$=$+1|0;n0=n0+-1|0}return c0=h0,n0|0}function Ag(c,h,f,l,d,w,p,k,e0,i0,$,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,i0=i0|0,$=$|0,x0=x0|0;var r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0;if(ge=c0,c0=c0+2304|0,te=ge+512|0,_x=ge,lx=ge+2048|0,Cx=ge+1536|0,t0=h,u0=f>>>0<98304?f:98304,d0=e[$>>2]|0,cx=64-((Dx(w|0)|0)^31)|0,w||j0(405532,405401,464,405439),w>>>0>=2147483649&&j0(405605,405401,465,405439),r0=w+-1|0,r0&w&&j0(405630,405401,467,405439),rx=wx(16777215,-1,cx|0)|0,(r0|0)!=(rx|0)&&j0(405667,405401,469,405439),!f){l||j0(405466,405401,472,405439),c=x0+(d0>>>3)|0,d=s[c>>0]|0,lx=Sx(1,0,d0&7|0)|0,ix=S0,lx=d|lx,d=c,n[d>>0]=lx,n[d+1>>0]=lx>>8,n[d+2>>0]=lx>>16,n[d+3>>0]=lx>>24,c=c+4|0,n[c>>0]=ix,n[c+1>>0]=ix>>8,n[c+2>>0]=ix>>16,n[c+3>>0]=ix>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ix=x0+(c>>>3)|0,x0=s[ix>>0]|0,c=Sx(1,0,c&7|0)|0,d=S0,c=x0|c,x0=ix,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ix=ix+4|0,n[ix>>0]=d,n[ix+1>>0]=d>>8,n[ix+2>>0]=d>>16,n[ix+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=ge;return}for(Eu(u0,0,$,x0),n0=x0+((e[$>>2]|0)>>>3)|0,rx=s[n0>>0]|0,r0=n0,n[r0>>0]=rx,n[r0+1>>0]=rx>>8,n[r0+2>>0]=rx>>16,n[r0+3>>0]=rx>>24,n0=n0+4|0,n[n0>>0]=0,n[n0+1>>0]=0,n[n0+2>>0]=0,n[n0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,n0=Eg(c,h,u0,lx,Cx,$,x0)|0,r0=0;w=e[e0>>2]|0,!((r0|7)>>>0>=w>>>0);)Gx=e[$>>2]|0,rx=x0+(Gx>>>3)|0,Rx=s[rx>>0]|0,Gx=Sx(s[i0+(r0>>>3)>>0]|0,0,Gx&7|0)|0,ox=S0,Gx=Rx|Gx,Rx=rx,n[Rx>>0]=Gx,n[Rx+1>>0]=Gx>>8,n[Rx+2>>0]=Gx>>16,n[Rx+3>>0]=Gx>>24,rx=rx+4|0,n[rx>>0]=ox,n[rx+1>>0]=ox>>8,n[rx+2>>0]=ox>>16,n[rx+3>>0]=ox>>24,e[$>>2]=(e[$>>2]|0)+8,r0=r0+8|0;q=w&7,r0=s[i0+(w>>>3)>>0]|0,w=e[$>>2]|0,_=x0+(w>>>3)|0,M=s[_>>0]|0,rx=wx(r0|0,0,q|0)|0,(rx|0)==0&(S0|0)==0||j0(406196,406218,54,406251),Fx=Sx(r0|0,0,w&7|0)|0,zx=S0,Fx=M|Fx,jx=_,qx=jx,n[qx>>0]=Fx,n[qx+1>>0]=Fx>>8,n[qx+2>>0]=Fx>>16,n[qx+3>>0]=Fx>>24,jx=jx+4|0,n[jx>>0]=zx,n[jx+1>>0]=zx>>8,n[jx+2>>0]=zx>>16,n[jx+3>>0]=zx>>24,e[$>>2]=(e[$>>2]|0)+q,jx=h,zx=p+61|0,qx=k+122|0,Fx=_x+84|0,Mx=p+64|0,fx=k+128|0,Ex=_x+256|0,px=p+39|0,$0=k+78|0,Y0=_x+188|0,Wx=_x+256|0,$x=p+62|0,ae=k+124|0,Gx=_x+88|0,Rx=p+63|0,ox=k+126|0,rx=_x+92|0,w=f,r0=t0,M=u0,_=n0;x:for(;;){Q0=d0+3|0,H0=_>>>0>980,mx=r0,ax=M,q=r0,sx=M;e:for(;;){Zx(_x|0,17764,512)|0,hx=mx,_=hx+ax|0,vx=_;t:do if(ax>>>0>15)for(t0=ax+-5|0,Bx=w+-16|0,Bx=hx+(t0>>>0<Bx>>>0?t0:Bx)|0,t0=hx+1|0,f=t0,M=f,f=f+4|0,M=s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,O0=-1;;){if(M=ye(M|0,f|0,-1124073472,1979815)|0,M=wx(M|0,S0|0,cx|0)|0,k0=q,k0>>>0>=t0>>>0){ix=24;break x}for(w0=0-O0|0,K0=t0,y0=32;;){if(p0=K0,f=y0,y0=y0+1|0,z0=K0,L0=z0,z0=z0+4|0,z0=ye(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,s[z0>>0]|s[z0+1>>0]<<8|s[z0+2>>0]<<16|s[z0+3>>0]<<24|0,-1124073472,1979815)|0,z0=wx(z0|0,S0|0,cx|0)|0,(M|0)!=(z0|0)){ix=26;break x}if(n0=K0+(f>>>5)|0,n0>>>0>Bx>>>0)break t;if(u0=n0,f=u0,u0=u0+4|0,u0=ye(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=wx(u0|0,S0|0,cx|0)|0,f=K0+w0|0,(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+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[K0+4>>0]|0)==(n[K0+(4-O0)>>0]|0)){ix=30;break}if(M=d+(M<<2)|0,t0=e[M>>2]|0,f=h+t0|0,(t0|0)<0){ix=32;break x}if(f>>>0>=K0>>>0){ix=34;break x}if(e[M>>2]=p0-jx,(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){M=u0,K0=n0;continue}if((n[K0+4>>0]|0)==(n[h+(t0+4)>>0]|0))break;M=u0,K0=n0}for((ix|0)==30&&(ix=0,e[d+(M<<2)>>2]=p0-jx),n0=f,z0=hx+(ax+-4)|0,M=0,t0=K0+5|0;;){if(t0>>>0>z0>>>0){L0=M,M=t0;break}if(L0=f+(M+5)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0)){L0=M,M=t0;break}M=M+4|0,t0=t0+4|0}for(;!(M>>>0>=_>>>0||(n[f+(L0+5)>>0]|0)!=(n[M>>0]|0));)L0=L0+1|0,M=M+1|0;P0=L0+5|0,m0=p0-n0|0,h0=p0-q|0,N0=K0+P0|0,q0=N0;r:do if(P0){for(n0=P0,u0=K0;M=n[u0>>0]|0,t0=n[f>>0]|0,M<<24>>24==t0<<24>>24;)if(n0=n0+-1|0,n0)u0=u0+1|0,f=f+1|0;else break r;if(M<<24>>24!=t0<<24>>24){ix=48;break x}}while(!1);do if(h0>>>0>=6210){if(!(((q-r0|0)*50|0)>>>0>h0>>>0|H0^1)){ix=84;break e}if(h0>>>0<22594){if(M=n[$x>>0]|0,q=j[ae>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,p0=wx(q|0,0,M&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=87;break x}if((M&255)>=57){ix=89;break x}if(p0=Sx(q|0,0,f&7|0)|0,f=S0,p0=n0|p0,q=t0,t0=q,n[t0>>0]=p0,n[t0+1>>0]=p0>>8,n[t0+2>>0]=p0>>16,n[t0+3>>0]=p0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-6210|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16384|0)==0&!0)){ix=91;break x}y0=Sx(q|0,0,M&7|0)|0,p0=S0,y0=t0|y0,u0=f,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Gx>>2]=(e[Gx>>2]|0)+1,u0=0;break}else{if(M=n[Rx>>0]|0,q=j[ox>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,p0=wx(q|0,0,M&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=94;break x}if((M&255)>=57){ix=96;break x}if(p0=Sx(q|0,0,f&7|0)|0,f=S0,p0=n0|p0,q=t0,t0=q,n[t0>>0]=p0,n[t0+1>>0]=p0>>8,n[t0+2>>0]=p0>>16,n[t0+3>>0]=p0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-22594|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16777216|0)==0&!0)){ix=98;break x}y0=Sx(q|0,0,M&7|0)|0,p0=S0,y0=t0|y0,u0=f,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+24,e[rx>>2]=(e[rx>>2]|0)+1,u0=0;break}}else{if(h0>>>0<6){if(M=h0+40|0,q=n[p+M>>0]|0,f=j[k+(M<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,p0=wx(f|0,0,q&255|0)|0,!((p0|0)==0&(S0|0)==0)){ix=52;break x}if((q&255)>=57){ix=54;break x}y0=Sx(f|0,0,t0&7|0)|0,p0=S0,y0=u0|y0,u0=n0,w0=u0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,u0=u0+4|0,n[u0>>0]=p0,n[u0+1>>0]=p0>>8,n[u0+2>>0]=p0>>16,n[u0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=_x+(M<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0<130){if(u0=h0+-2|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0,p0=(w0<<1)+y0+42|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=58;break x}if((M&255)>=57){ix=60;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(y0<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=62;break x}if(w0>>>0>=57){ix=64;break x}n0=Sx(M|0,0,t0&7|0)|0,D0=S0,n0=f|n0,u0=q,y0=u0,n[y0>>0]=n0,n[y0+1>>0]=n0>>8,n[y0+2>>0]=n0>>16,n[y0+3>>0]=n0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+w0,u0=_x+(p0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(h0>>>0>=2114){if(M=n[zx>>0]|0,q=j[qx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=77;break x}if((M&255)>=57){ix=79;break x}if(D0=Sx(q|0,0,f&7|0)|0,f=S0,D0=n0|D0,q=t0,t0=q,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=h0+-2114|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-4096|0)==0&!0)){ix=81;break x}w0=Sx(q|0,0,M&7|0)|0,D0=S0,w0=t0|w0,u0=f,p0=u0,n[p0>>0]=w0,n[p0+1>>0]=w0>>8,n[p0+2>>0]=w0>>16,n[p0+3>>0]=w0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Fx>>2]=(e[Fx>>2]|0)+1,u0=0;break}if(u0=h0+-66|0,y0=(Dx(u0|0)|0)^31,w0=y0+50|0,M=n[p+w0>>0]|0,q=j[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=68;break x}if((M&255)>=57){ix=70;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(1<<y0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,y0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=72;break x}if(y0>>>0>=57){ix=74;break x}n0=Sx(M|0,0,t0&7|0)|0,D0=S0,n0=f|n0,u0=q,p0=u0,n[p0>>0]=n0,n[p0+1>>0]=n0>>8,n[p0+2>>0]=n0>>16,n[p0+3>>0]=n0>>24,u0=u0+4|0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+y0,u0=_x+(w0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=h0>>>0);){if(q=s[k0+u0>>0]|0,M=n[lx+q>>0]|0,q=j[Cx+(q<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=102;break x}if((M&255)>=57){ix=104;break x}y0=Sx(q|0,0,f&7|0)|0,p0=S0,y0=n0|y0,D0=t0,w0=D0,n[w0>>0]=y0,n[w0+1>>0]=y0>>8,n[w0+2>>0]=y0>>16,n[w0+3>>0]=y0>>24,D0=D0+4|0,n[D0>>0]=p0,n[D0+1>>0]=p0>>8,n[D0+2>>0]=p0>>16,n[D0+3>>0]=p0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),u0=u0+1|0}if((m0|0)==(O0|0)){if(M=n[Mx>>0]|0,q=j[fx>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=108;break x}if((M&255)>=57){ix=110;break x}h0=Sx(q|0,0,f&7|0)|0,D0=S0,h0=n0|h0,m0=t0,k0=m0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,m0=m0+4|0,n[m0>>0]=D0,n[m0+1>>0]=D0>>8,n[m0+2>>0]=D0>>16,n[m0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),e[Ex>>2]=(e[Ex>>2]|0)+1,m0=O0}else{if(u0=m0+3|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0&1,p0=((w0<<1)+-2|y0)+80|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=113;break x}if((M&255)>=57){ix=115;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-((y0|2)<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=117;break x}if(w0>>>0>=57){ix=119;break x}h0=Sx(M|0,0,t0&7|0)|0,O0=S0,h0=f|h0,D0=q,k0=D0,n[k0>>0]=h0,n[k0+1>>0]=h0>>8,n[k0+2>>0]=h0>>16,n[k0+3>>0]=h0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+w0,D0=_x+(p0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}do if(P0>>>0<12){if(M=L0+1|0,q=n[p+M>>0]|0,f=j[k+(M<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=123;break x}if((q&255)>=57){ix=125;break x}k0=Sx(f|0,0,t0&7|0)|0,O0=S0,k0=u0|k0,D0=n0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(M<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}else{if(P0>>>0<72){if(u0=L0+-3|0,w0=((Dx(u0|0)|0)^31)+-1|0,y0=u0>>>w0,p0=(w0<<1)+y0+4|0,M=n[p+p0>>0]|0,q=j[k+(p0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=129;break x}if((M&255)>=57){ix=131;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(y0<<w0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,w0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=133;break x}if(w0>>>0>=57){ix=135;break x}k0=Sx(M|0,0,t0&7|0)|0,O0=S0,k0=f|k0,D0=q,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+w0,D0=_x+(p0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1;break}if(P0>>>0<136){if(M=L0+-3|0,y0=(M>>>5)+30|0,q=n[p+y0>>0]|0,f=j[k+(y0<<1)>>1]|0,t0=e[$>>2]|0,n0=x0+(t0>>>3)|0,u0=s[n0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=139;break x}if((q&255)>=57){ix=141;break x}if(D0=Sx(f|0,0,t0&7|0)|0,f=S0,D0=u0|D0,t0=n0,n0=t0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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)+(q&255)|0,e[$>>2]=t0,f=x0+(t0>>>3)|0,n0=s[f>>0]|0,t0=Sx(M&31|0,0,t0&7|0)|0,q=S0,t0=n0|t0,M=f,f=M,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>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,M=(e[$>>2]|0)+5|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=143;break x}if((q&255)>=57){ix=145;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(y0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1;break}if(P0>>>0>=2120){if(M=n[px>>0]|0,q=j[$0>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=162;break x}if((M&255)>=57){ix=164;break x}if(D0=Sx(q|0,0,f&7|0)|0,f=S0,D0=n0|D0,q=t0,t0=q,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,q=q+4|0,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=(e[$>>2]|0)+(M&255)|0,e[$>>2]=M,q=L0+-2115|0,f=x0+(M>>>3)|0,t0=s[f>>0]|0,!((q&-16777216|0)==0&!0)){ix=166;break x}if(M=Sx(q|0,0,M&7|0)|0,q=S0,t0=t0|M,M=f,f=M,n[f>>0]=t0,n[f+1>>0]=t0>>8,n[f+2>>0]=t0>>16,n[f+3>>0]=t0>>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,M=(e[$>>2]|0)+24|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=168;break x}if((q&255)>=57){ix=170;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[Y0>>2]=(e[Y0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1;break}if(u0=L0+-67|0,y0=(Dx(u0|0)|0)^31,w0=y0+28|0,M=n[p+w0>>0]|0,q=j[k+(w0<<1)>>1]|0,f=e[$>>2]|0,t0=x0+(f>>>3)|0,n0=s[t0>>0]|0,D0=wx(q|0,0,M&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=149;break x}if((M&255)>=57){ix=151;break x}if(D0=Sx(q|0,0,f&7|0)|0,q=S0,D0=n0|D0,f=t0,n[f>>0]=D0,n[f+1>>0]=D0>>8,n[f+2>>0]=D0>>16,n[f+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,t0=(e[$>>2]|0)+(M&255)|0,e[$>>2]=t0,M=u0-(1<<y0)|0,q=x0+(t0>>>3)|0,f=s[q>>0]|0,D0=wx(M|0,0,y0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=153;break x}if(y0>>>0>=57){ix=155;break x}if(M=Sx(M|0,0,t0&7|0)|0,t0=S0,f=f|M,M=q,q=M,n[q>>0]=f,n[q+1>>0]=f>>8,n[q+2>>0]=f>>16,n[q+3>>0]=f>>24,M=M+4|0,n[M>>0]=t0,n[M+1>>0]=t0>>8,n[M+2>>0]=t0>>16,n[M+3>>0]=t0>>24,M=(e[$>>2]|0)+y0|0,e[$>>2]=M,q=n[Mx>>0]|0,f=j[fx>>1]|0,t0=x0+(M>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,q&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=157;break x}if((q&255)>=57){ix=159;break x}k0=Sx(f|0,0,M&7|0)|0,O0=S0,k0=n0|k0,D0=t0,P0=D0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,D0=D0+4|0,n[D0>>0]=O0,n[D0+1>>0]=O0>>8,n[D0+2>>0]=O0>>16,n[D0+3>>0]=O0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),D0=_x+(w0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,e[Wx>>2]=(e[Wx>>2]|0)+1}while(!1);if(N0>>>0>=Bx>>>0){q=q0;break t}for(q=K0+(L0+2)|0,D0=q,D0=s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,q=q+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,K0=ye(D0|0,q|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,n0=wx(D0|0,q|0,24)|0,n0=ye(n0|0,S0|0,-1124073472,1979815)|0,n0=wx(n0|0,S0|0,cx|0)|0,u0=N0-jx|0,e[d+(K0<<2)>>2]=u0+-3,K0=wx(D0|0,q|0,8)|0,K0=ye(K0|0,S0|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,e[d+(K0<<2)>>2]=u0+-2,q=wx(D0|0,q|0,16)|0,q=ye(q|0,S0|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,cx|0)|0,e[d+(q<<2)>>2]=u0+-1,n0=d+(n0<<2)|0,q=e[n0>>2]|0,e[n0>>2]=u0,n0=m0,u0=q0;p0=h+q|0,D0=u0,M=u0,!((s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)||(n[M+4>>0]|0)!=(n[h+(q+4)>>0]|0));){for(t0=q+5|0,q=0,f=M+5|0;!(f>>>0>z0>>>0||(D0=h+(t0+q)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)q=q+4|0,f=f+4|0;for(;!(f>>>0>=_>>>0||(n[h+(t0+q)>>0]|0)!=(n[f>>0]|0));)q=q+1|0,f=f+1|0;w0=q+5|0,k0=M+w0|0,O0=k0,P0=u0-p0|0;do if(!w0)ix=189;else{for(u0=w0,y0=M,n0=p0;;){if(f=n[y0>>0]|0,t0=n[n0>>0]|0,f<<24>>24!=t0<<24>>24){ix=186;break}if(u0=u0+-1|0,u0)y0=y0+1|0,n0=n0+1|0;else break}if((ix|0)==186&&(ix=0,f<<24>>24!=t0<<24>>24)){ix=187;break x}if(w0>>>0<10){ix=189;break}if(w0>>>0<134){if(w0=q+-1|0,m0=((Dx(w0|0)|0)^31)+-1|0,p0=w0>>>m0,h0=(m0<<1)+p0+20|0,f=n[p+h0>>0]|0,t0=j[k+(h0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=196;break x}if((f&255)>=57){ix=198;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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-(p0<<m0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,m0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=200;break x}if(m0>>>0>=57){ix=202;break x}q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+m0,D0=_x+(h0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1;break}if(w0>>>0>=2118){if(f=n[px>>0]|0,t0=j[$0>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=215;break x}if((f&255)>=57){ix=217;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,n0=S0,D0=y0|D0,t0=u0,u0=t0,n[u0>>0]=D0,n[u0+1>>0]=D0>>8,n[u0+2>>0]=D0>>16,n[u0+3>>0]=D0>>24,t0=t0+4|0,n[t0>>0]=n0,n[t0+1>>0]=n0>>8,n[t0+2>>0]=n0>>16,n[t0+3>>0]=n0>>24,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,t0=q+-2113|0,n0=x0+(f>>>3)|0,u0=s[n0>>0]|0,!((t0&-16777216|0)==0&!0)){ix=219;break x}q0=Sx(t0|0,0,f&7|0)|0,K0=S0,q0=u0|q0,D0=n0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+24,e[Y0>>2]=(e[Y0>>2]|0)+1;break}if(w0=q+-65|0,p0=(Dx(w0|0)|0)^31,m0=p0+28|0,f=n[p+m0>>0]|0,t0=j[k+(m0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=206;break x}if((f&255)>=57){ix=208;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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<<p0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,p0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=210;break x}if(p0>>>0>=57){ix=212;break x}q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+p0,D0=_x+(m0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}while(!1);if((ix|0)==189){if(ix=0,f=q+19|0,t0=n[p+f>>0]|0,n0=j[k+(f<<1)>>1]|0,u0=e[$>>2]|0,y0=x0+(u0>>>3)|0,w0=s[y0>>0]|0,D0=wx(n0|0,0,t0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=190;break x}if((t0&255)>=57){ix=192;break x}q0=Sx(n0|0,0,u0&7|0)|0,K0=S0,q0=w0|q0,D0=y0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+(t0&255),D0=_x+(f<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1}if(w0=P0+3|0,m0=((Dx(w0|0)|0)^31)+-1|0,p0=w0>>>m0&1,h0=((m0<<1)+-2|p0)+80|0,f=n[p+h0>>0]|0,t0=j[k+(h0<<1)>>1]|0,n0=e[$>>2]|0,u0=x0+(n0>>>3)|0,y0=s[u0>>0]|0,D0=wx(t0|0,0,f&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=222;break x}if((f&255)>=57){ix=224;break x}if(D0=Sx(t0|0,0,n0&7|0)|0,t0=S0,D0=y0|D0,n0=u0,n[n0>>0]=D0,n[n0+1>>0]=D0>>8,n[n0+2>>0]=D0>>16,n[n0+3>>0]=D0>>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-((p0|2)<<m0)|0,t0=x0+(u0>>>3)|0,n0=s[t0>>0]|0,D0=wx(f|0,0,m0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=226;break x}if(m0>>>0>=57){ix=228;break x}if(q0=Sx(f|0,0,u0&7|0)|0,K0=S0,q0=n0|q0,D0=t0,L0=D0,n[L0>>0]=q0,n[L0+1>>0]=q0>>8,n[L0+2>>0]=q0>>16,n[L0+3>>0]=q0>>24,D0=D0+4|0,n[D0>>0]=K0,n[D0+1>>0]=K0>>8,n[D0+2>>0]=K0>>16,n[D0+3>>0]=K0>>24,e[$>>2]=(e[$>>2]|0)+m0,D0=_x+(h0<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,k0>>>0>=Bx>>>0){q=O0;break t}q=M+(q+2)|0,D0=q,D0=s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,q=q+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,K0=ye(D0|0,q|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,n0=wx(D0|0,q|0,24)|0,n0=ye(n0|0,S0|0,-1124073472,1979815)|0,n0=wx(n0|0,S0|0,cx|0)|0,u0=k0-jx|0,e[d+(K0<<2)>>2]=u0+-3,K0=wx(D0|0,q|0,8)|0,K0=ye(K0|0,S0|0,-1124073472,1979815)|0,K0=wx(K0|0,S0|0,cx|0)|0,e[d+(K0<<2)>>2]=u0+-2,q=wx(D0|0,q|0,16)|0,q=ye(q|0,S0|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,cx|0)|0,e[d+(q<<2)>>2]=u0+-1,n0=d+(n0<<2)|0,q=e[n0>>2]|0,e[n0>>2]=u0,n0=P0,u0=O0}t0=M+1|0,f=t0,M=f,f=f+4|0,M=s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,O0=n0,q=u0}while(!1);if(w0=q,w0>>>0>_>>>0){ix=233;break x}if(f=w-ax|0,t0=f>>>0<65536?f:65536,(w|0)==(ax|0)){w=0,ix=254;break}if(n0=sx+t0|0,n0>>>0>=1048577){w=f,ix=254;break}for(Hx(te|0,0,1024)|0,w=0;!(w>>>0>=t0>>>0);)D0=te+(s[hx+(ax+w)>>0]<<2)|0,e[D0>>2]=(e[D0>>2]|0)+1,w=w+43|0;for(D0=t0+42|0,w=(D0>>>0)/43|0,D0>>>0<11008?(l0=+(w>>>0),f0=+a0[19516+(w<<2)>>2]):(f0=+(w>>>0),l0=f0,f0=+Kx(f0)),g0=(f0+.5)*l0+200,M=0;(M|0)!=256;)w=e[te+(M<<2)>>2]|0,l0=+(w>>>0),v0=+(s[lx+M>>0]|0),w>>>0<256?f0=+a0[19516+(w<<2)>>2]:f0=+Kx(l0),g0=g0-l0*(v0+f0),M=M+1|0;if(!(g0>=0)){w=f,ix=254;break}if(sx>>>0<=65536){ix=250;break x}for(w=20,_=n0+-1|0,M=Q0;;){if(!w){w=f,mx=vx,ax=t0,sx=n0;continue e}ax=M&7,D0=8-ax|0,D0=w>>>0<D0>>>0?w:D0,sx=x0+(M>>>3)|0,n[sx>>0]=(_&(1<<D0)+-1)<<ax|s[sx>>0]&(-1<<ax+D0|(1<<ax)+255),w=w-D0|0,_=_>>>D0,M=M+D0|0}}e:do if((ix|0)==84)ix=0,D0=p0-r0|0,vx=x0+(d0>>>3)|0,n[vx>>0]=s[vx>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Eu(D0,1,$,x0),vx=(e[$>>2]|0)+7|0,e[$>>2]=vx&-8,Zx(x0+(vx>>>3)|0,r0|0,D0|0)|0,r0=(e[$>>2]|0)+(D0<<3)|0,e[$>>2]=r0,n[x0+(r0>>>3)>>0]=0,w=w+(mx-p0)|0,r0=p0;else if((ix|0)==254)if(ix=0,w0>>>0<_>>>0){if(y0=_-q|0,y0>>>0>=6210){if(!(((q-r0|0)*50|0)>>>0>y0>>>0|H0^1)){D0=_-r0|0,H0=x0+(d0>>>3)|0,n[H0>>0]=s[H0>>0]&(1<<(d0&7))+255,e[$>>2]=d0,Eu(D0,1,$,x0),H0=(e[$>>2]|0)+7|0,e[$>>2]=H0&-8,Zx(x0+(H0>>>3)|0,r0|0,D0|0)|0,r0=(e[$>>2]|0)+(D0<<3)|0,e[$>>2]=r0,n[x0+(r0>>>3)>>0]=0,r0=vx;break}if(y0>>>0<22594){if(r0=n[$x>>0]|0,_=j[ae>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=299;break x}if((r0&255)>=57){ix=301;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-6210|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-16384|0)==0&!0)){ix=303;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+14,e[Gx>>2]=(e[Gx>>2]|0)+1,t0=0}else{if(r0=n[Rx>>0]|0,_=j[ox>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=306;break x}if((r0&255)>=57){ix=308;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-22594|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-16777216|0)==0&!0)){ix=310;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+24,e[rx>>2]=(e[rx>>2]|0)+1,t0=0}for(;;){if(t0>>>0>=y0>>>0){r0=vx;break e}if(_=s[w0+t0>>0]|0,r0=n[lx+_>>0]|0,_=j[Cx+(_<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=314;break x}if((r0&255)>=57){ix=316;break x}sx=Sx(_|0,0,M&7|0)|0,H0=S0,sx=f|sx,D0=q,Q0=D0,n[Q0>>0]=sx,n[Q0+1>>0]=sx>>8,n[Q0+2>>0]=sx>>16,n[Q0+3>>0]=sx>>24,D0=D0+4|0,n[D0>>0]=H0,n[D0+1>>0]=H0>>8,n[D0+2>>0]=H0>>16,n[D0+3>>0]=H0>>24,e[$>>2]=(e[$>>2]|0)+(r0&255),t0=t0+1|0}}do if(y0>>>0<6){if(r0=y0+40|0,_=n[p+r0>>0]|0,M=j[k+(r0<<1)>>1]|0,q=e[$>>2]|0,f=x0+(q>>>3)|0,t0=s[f>>0]|0,D0=wx(M|0,0,_&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=258;break x}if((_&255)>=57){ix=260;break x}Q0=Sx(M|0,0,q&7|0)|0,D0=S0,Q0=t0|Q0,t0=f,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+(_&255),t0=_x+(r0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}else{if(y0>>>0<130){if(t0=y0+-2|0,u0=((Dx(t0|0)|0)^31)+-1|0,n0=t0>>>u0,d0=(u0<<1)+n0+42|0,r0=n[p+d0>>0]|0,_=j[k+(d0<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=264;break x}if((r0&255)>=57){ix=266;break x}if(D0=Sx(_|0,0,M&7|0)|0,_=S0,D0=f|D0,M=q,n[M>>0]=D0,n[M+1>>0]=D0>>8,n[M+2>>0]=D0>>16,n[M+3>>0]=D0>>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[$>>2]|0)+(r0&255)|0,e[$>>2]=q,r0=t0-(n0<<u0)|0,_=x0+(q>>>3)|0,M=s[_>>0]|0,D0=wx(r0|0,0,u0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=268;break x}if(u0>>>0>=57){ix=270;break x}Q0=Sx(r0|0,0,q&7|0)|0,D0=S0,Q0=M|Q0,t0=_,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+u0,t0=_x+(d0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0;break}if(y0>>>0>=2114){if(r0=n[zx>>0]|0,_=j[qx>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=283;break x}if((r0&255)>=57){ix=285;break x}if(D0=Sx(_|0,0,M&7|0)|0,M=S0,D0=f|D0,_=q,q=_,n[q>>0]=D0,n[q+1>>0]=D0>>8,n[q+2>>0]=D0>>16,n[q+3>>0]=D0>>24,_=_+4|0,n[_>>0]=M,n[_+1>>0]=M>>8,n[_+2>>0]=M>>16,n[_+3>>0]=M>>24,r0=(e[$>>2]|0)+(r0&255)|0,e[$>>2]=r0,_=y0+-2114|0,M=x0+(r0>>>3)|0,q=s[M>>0]|0,!((_&-4096|0)==0&!0)){ix=287;break x}Q0=Sx(_|0,0,r0&7|0)|0,D0=S0,Q0=q|Q0,t0=M,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Fx>>2]=(e[Fx>>2]|0)+1,t0=0;break}if(t0=y0+-66|0,n0=(Dx(t0|0)|0)^31,u0=n0+50|0,r0=n[p+u0>>0]|0,_=j[k+(u0<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=274;break x}if((r0&255)>=57){ix=276;break x}if(D0=Sx(_|0,0,M&7|0)|0,_=S0,D0=f|D0,M=q,n[M>>0]=D0,n[M+1>>0]=D0>>8,n[M+2>>0]=D0>>16,n[M+3>>0]=D0>>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[$>>2]|0)+(r0&255)|0,e[$>>2]=q,r0=t0-(1<<n0)|0,_=x0+(q>>>3)|0,M=s[_>>0]|0,D0=wx(r0|0,0,n0|0)|0,!((D0|0)==0&(S0|0)==0)){ix=278;break x}if(n0>>>0>=57){ix=280;break x}Q0=Sx(r0|0,0,q&7|0)|0,D0=S0,Q0=M|Q0,t0=_,H0=t0,n[H0>>0]=Q0,n[H0+1>>0]=Q0>>8,n[H0+2>>0]=Q0>>16,n[H0+3>>0]=Q0>>24,t0=t0+4|0,n[t0>>0]=D0,n[t0+1>>0]=D0>>8,n[t0+2>>0]=D0>>16,n[t0+3>>0]=D0>>24,e[$>>2]=(e[$>>2]|0)+n0,t0=_x+(u0<<2)|0,e[t0>>2]=(e[t0>>2]|0)+1,t0=0}while(!1);for(;;){if(t0>>>0>=y0>>>0){r0=vx;break e}if(_=s[w0+t0>>0]|0,r0=n[lx+_>>0]|0,_=j[Cx+(_<<1)>>1]|0,M=e[$>>2]|0,q=x0+(M>>>3)|0,f=s[q>>0]|0,D0=wx(_|0,0,r0&255|0)|0,!((D0|0)==0&(S0|0)==0)){ix=291;break x}if((r0&255)>=57){ix=293;break x}sx=Sx(_|0,0,M&7|0)|0,H0=S0,sx=f|sx,D0=q,Q0=D0,n[Q0>>0]=sx,n[Q0+1>>0]=sx>>8,n[Q0+2>>0]=sx>>16,n[Q0+3>>0]=sx>>24,D0=D0+4|0,n[D0>>0]=H0,n[D0+1>>0]=H0>>8,n[D0+2>>0]=H0>>16,n[D0+3>>0]=H0>>24,e[$>>2]=(e[$>>2]|0)+(r0&255),t0=t0+1|0}}else r0=vx;while(!1);if(!w){ix=320;break}M=w>>>0<98304?w:98304,d0=e[$>>2]|0,Eu(M,0,$,x0),_=x0+((e[$>>2]|0)>>>3)|0,vx=s[_>>0]|0,D0=_,n[D0>>0]=vx,n[D0+1>>0]=vx>>8,n[D0+2>>0]=vx>>16,n[D0+3>>0]=vx>>24,_=_+4|0,n[_>>0]=0,n[_+1>>0]=0,n[_+2>>0]=0,n[_+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,_=Eg(c,r0,M,lx,Cx,$,x0)|0,Cg(_x,p,k,$,x0)}switch(ix|0){case 24:{j0(405740,405401,539,405439);break}case 26:{j0(405474,405401,544,405439);break}case 32:{j0(405779,405401,559,405439);break}case 34:{j0(405800,405401,560,405439);break}case 48:{j0(405815,405401,579,405439);break}case 52:{j0(406196,406218,54,406251);break}case 54:{j0(406267,406218,55,406251);break}case 58:{j0(406196,406218,54,406251);break}case 60:{j0(406267,406218,55,406251);break}case 62:{j0(406196,406218,54,406251);break}case 64:{j0(406267,406218,55,406251);break}case 68:{j0(406196,406218,54,406251);break}case 70:{j0(406267,406218,55,406251);break}case 72:{j0(406196,406218,54,406251);break}case 74:{j0(406267,406218,55,406251);break}case 77:{j0(406196,406218,54,406251);break}case 79:{j0(406267,406218,55,406251);break}case 81:{j0(406196,406218,54,406251);break}case 87:{j0(406196,406218,54,406251);break}case 89:{j0(406267,406218,55,406251);break}case 91:{j0(406196,406218,54,406251);break}case 94:{j0(406196,406218,54,406251);break}case 96:{j0(406267,406218,55,406251);break}case 98:{j0(406196,406218,54,406251);break}case 102:{j0(406196,406218,54,406251);break}case 104:{j0(406267,406218,55,406251);break}case 108:{j0(406196,406218,54,406251);break}case 110:{j0(406267,406218,55,406251);break}case 113:{j0(406196,406218,54,406251);break}case 115:{j0(406267,406218,55,406251);break}case 117:{j0(406196,406218,54,406251);break}case 119:{j0(406267,406218,55,406251);break}case 123:{j0(406196,406218,54,406251);break}case 125:{j0(406267,406218,55,406251);break}case 129:{j0(406196,406218,54,406251);break}case 131:{j0(406267,406218,55,406251);break}case 133:{j0(406196,406218,54,406251);break}case 135:{j0(406267,406218,55,406251);break}case 139:{j0(406196,406218,54,406251);break}case 141:{j0(406267,406218,55,406251);break}case 143:{j0(406196,406218,54,406251);break}case 145:{j0(406267,406218,55,406251);break}case 149:{j0(406196,406218,54,406251);break}case 151:{j0(406267,406218,55,406251);break}case 153:{j0(406196,406218,54,406251);break}case 155:{j0(406267,406218,55,406251);break}case 157:{j0(406196,406218,54,406251);break}case 159:{j0(406267,406218,55,406251);break}case 162:{j0(406196,406218,54,406251);break}case 164:{j0(406267,406218,55,406251);break}case 166:{j0(406196,406218,54,406251);break}case 168:{j0(406196,406218,54,406251);break}case 170:{j0(406267,406218,55,406251);break}case 187:{j0(405815,405401,638,405439);break}case 190:{j0(406196,406218,54,406251);break}case 192:{j0(406267,406218,55,406251);break}case 196:{j0(406196,406218,54,406251);break}case 198:{j0(406267,406218,55,406251);break}case 200:{j0(406196,406218,54,406251);break}case 202:{j0(406267,406218,55,406251);break}case 206:{j0(406196,406218,54,406251);break}case 208:{j0(406267,406218,55,406251);break}case 210:{j0(406196,406218,54,406251);break}case 212:{j0(406267,406218,55,406251);break}case 215:{j0(406196,406218,54,406251);break}case 217:{j0(406267,406218,55,406251);break}case 219:{j0(406196,406218,54,406251);break}case 222:{j0(406196,406218,54,406251);break}case 224:{j0(406267,406218,55,406251);break}case 226:{j0(406196,406218,54,406251);break}case 228:{j0(406267,406218,55,406251);break}case 233:{j0(405853,405401,671,405439);break}case 250:{j0(405503,405401,681,405439);break}case 258:{j0(406196,406218,54,406251);break}case 260:{j0(406267,406218,55,406251);break}case 264:{j0(406196,406218,54,406251);break}case 266:{j0(406267,406218,55,406251);break}case 268:{j0(406196,406218,54,406251);break}case 270:{j0(406267,406218,55,406251);break}case 274:{j0(406196,406218,54,406251);break}case 276:{j0(406267,406218,55,406251);break}case 278:{j0(406196,406218,54,406251);break}case 280:{j0(406267,406218,55,406251);break}case 283:{j0(406196,406218,54,406251);break}case 285:{j0(406267,406218,55,406251);break}case 287:{j0(406196,406218,54,406251);break}case 291:{j0(406196,406218,54,406251);break}case 293:{j0(406267,406218,55,406251);break}case 299:{j0(406196,406218,54,406251);break}case 301:{j0(406267,406218,55,406251);break}case 303:{j0(406196,406218,54,406251);break}case 306:{j0(406196,406218,54,406251);break}case 308:{j0(406267,406218,55,406251);break}case 310:{j0(406196,406218,54,406251);break}case 314:{j0(406196,406218,54,406251);break}case 316:{j0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ix=x0+(c>>>3)|0,d=s[ix>>0]|0,c=Sx(1,0,c&7|0)|0,D0=S0,c=d|c,d=ix,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ix=ix+4|0,n[ix>>0]=D0,n[ix+1>>0]=D0>>8,n[ix+2>>0]=D0>>16,n[ix+3>>0]=D0>>24,ix=(e[$>>2]|0)+1|0,e[$>>2]=ix,D0=x0+(ix>>>3)|0,d=s[D0>>0]|0,x0=Sx(1,0,ix&7|0)|0,ix=S0,x0=d|x0,d=D0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,D0=D0+4|0,n[D0>>0]=ix,n[D0+1>>0]=ix>>8,n[D0+2>>0]=ix>>16,n[D0+3>>0]=ix>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=ge;return}else{n[i0>>0]=0,e[e0>>2]=0,Cg(_x,p,k,e0,i0),c0=ge;return}}}function Eu(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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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=Sx(1,0,d&7|0)|0,d=S0,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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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 Eg(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,i0=0,$=0,x0=0;$=c0,c0=c0+1024|0,i0=$,Hx(i0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=i0+((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=i0+(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=i0+((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=i0+(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(H2(c,i0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[i0+(h<<2)>>2]|0,k&&(f=f+(ex(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function Cg(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,i0=0,$=0,x0=0,r0=0,_=0;_=c0,c0=c0+1872|0,r0=_+704|0,x0=_,i0=_+1736|0,Hx(x0|0,0,704)|0,j2(c,64,15,r0,h),$=h+64|0,j2(c+256|0,64,14,r0,$),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,wn(x0,64,i0),p=f,k=i0,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=i0+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=i0+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=i0+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=i0+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=i0+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,wn($,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,i0=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[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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,i0=x0+64|0,e[i0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[i0+4>>2]=e0,i0=h+16|0,e0=i0,i0=i0+4|0,i0=s[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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]=i0,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,i0=x0+192|0,e[i0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[i0+4>>2]=f,i0=w,f=i0,i0=i0+4|0,i0=s[i0>>0]|s[i0+1>>0]<<8|s[i0+2>>0]<<16|s[i0+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]=i0,c=0;(c|0)!=8;)i0=c<<3,n[x0+(i0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(i0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(i0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;$o(x0,704,r0,l,d),$o($,64,r0,l,d),c0=_}function kg(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0,Lt=0,ze=0,b6=0,Jx=0,me=0,At=0,X6=0,dt=0,qe=0,ke=0,Ut=0;Ut=c0,c0=c0+4560|0,qe=Ut+2376|0,ze=Ut+128|0,Lt=Ut+4176|0,X6=Ut+4304|0,At=Ut+3664|0,b6=Ut,_0=Ut+3408|0,Jx=Ut+1864|0,dt=Ut+840|0,me=Ut+832|0,De=d,ie=w,dx=64-((Dx(k|0)|0)^31)|0,B0=(k|0)==0,xx=k>>>0<2147483649,Bx=k+-1|0,Lx=(Bx&k|0)==0,z0=wx(16777215,-1,dx|0)|0,z0=(Bx|0)==(z0|0),Bx=h,mx=w,hx=d,ax=Jx+4|0,sx=Jx+8|0,Q0=Jx+256|0,H0=Jx+336|0,vx=Jx+256|0,jx=b6+64|0,zx=b6+24|0,qx=ze+24|0,Fx=ze+32|0,Mx=b6+48|0,fx=ze+40|0,Ex=b6+8|0,px=ze+48|0,$0=b6+56|0,Y0=ze+56|0,Wx=b6+16|0,$x=Lt+48|0,ae=_0+16|0,Gx=Lt+80|0,Rx=_0+32|0,ox=Lt+112|0,rx=_0+48|0,cx=_0+96|0,_x=Lt+64|0,te=_0+112|0,Cx=Lt+96|0,lx=_0+128|0,ix=ze+64|0,ge=b6+32|0,D0=ze+128|0,re=b6+40|0,Yx=ze+192|0,ux=ze+384|0,K0=dt,be=dt+1024|0,N0=h;x:for(;;){if(!f){ke=155;break}if(q0=f>>>0<131072?f:131072,e[me>>2]=De,L0=N0+q0|0,k=N0,B0){ke=4;break}if(!xx){ke=6;break}if(!Lx){ke=8;break}if(!z0){ke=10;break}e:do if(q0>>>0>15)for(l0=q0+-6|0,O0=f+-16|0,O0=N0+(l0>>>0<O0>>>0?l0:O0)|0,l0=N0+1|0,r0=l0,x0=r0,r0=r0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=-1,t0=ie;;){if(x0=ye(x0|0,r0|0,-1480785920,7733)|0,x0=wx(x0|0,S0|0,dx|0)|0,m0=k,m0>>>0>=l0>>>0){ke=15;break x}for(g0=0-k0|0,h0=l0,d0=32;;){if(y0=h0,r0=d0,d0=d0+1|0,P0=h0,p0=P0,P0=P0+4|0,P0=ye(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,-1480785920,7733)|0,P0=wx(P0|0,S0|0,dx|0)|0,(x0|0)!=(P0|0)){ke=17;break x}if(l0=h0+(r0>>>5)|0,l0>>>0>O0>>>0)break e;if(u0=l0,r0=u0,u0=u0+4|0,u0=ye(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+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=wx(u0|0,S0|0,dx|0)|0,r0=h0+g0|0,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)==(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)&&(n[h0+4>>0]|0)==(n[h0+(4-k0)>>0]|0)&&(g0|0)<0&&(n[h0+5>>0]|0)==(n[h0+(5-k0)>>0]|0)){ke=22;break}if(x0=p+(x0<<2)|0,n0=e[x0>>2]|0,r0=h+n0|0,(n0|0)<0){ke=24;break x}if(r0>>>0>=h0>>>0){ke=26;break x}if(e[x0>>2]=y0-Bx,(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)!=(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)){x0=u0,h0=l0;continue}if((n[h0+4>>0]|0)!=(n[h+(n0+4)>>0]|0)){x0=u0,h0=l0;continue}if((n[h0+5>>0]|0)==(n[h+(n0+5)>>0]|0))break;x0=u0,h0=l0}for((ke|0)==22&&(ke=0,e[p+(x0<<2)>>2]=y0-Bx),l0=r0,P0=N0+(q0+-4)|0,x0=0,n0=h0+6|0;;){if(n0>>>0>P0>>>0){p0=x0,x0=n0;break}if(p0=r0+(x0+6)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)){p0=x0,x0=n0;break}x0=x0+4|0,n0=n0+4|0}for(;!(x0>>>0>=L0>>>0||(n[r0+(p0+6)>>0]|0)!=(n[x0>>0]|0));)p0=p0+1|0,x0=x0+1|0;w0=p0+6|0,n0=y0-l0|0,g0=y0-k|0,y0=h0+w0|0,k=y0;t:do if(w0){for(u0=w0,d0=h0;x0=n[d0>>0]|0,l0=n[r0>>0]|0,x0<<24>>24==l0<<24>>24;)if(u0=u0+-1|0,u0)d0=d0+1|0,r0=r0+1|0;else break t;if(x0<<24>>24!=l0<<24>>24){ke=41;break x}}while(!1);do if(g0>>>0>=6){if(g0>>>0<130){l0=g0+-2|0,d0=((Dx(l0|0)|0)^31)+-1|0,u0=l0>>>d0,e[e[me>>2]>>2]=(d0<<1)+u0+2|l0-(u0<<d0)<<8;break}if(g0>>>0<2114){u0=g0+-66|0,d0=(Dx(u0|0)|0)^31,e[e[me>>2]>>2]=d0+10|u0-(1<<d0)<<8;break}if(g0>>>0<6210){e[e[me>>2]>>2]=(g0<<8)+-541184|21;break}if(x0=g0<<8,g0>>>0<22594){e[e[me>>2]>>2]=x0+-1589760|22;break}else{e[e[me>>2]>>2]=x0+-5784064|23;break}}else e[e[me>>2]>>2]=g0;while(!1);e[me>>2]=(e[me>>2]|0)+4,Zx(t0|0,m0|0,g0|0)|0,t0=t0+g0|0,(n0|0)==(k0|0)?(e[e[me>>2]>>2]=64,x0=e[me>>2]|0,n0=k0):(m0=n0+3|0,x0=((Dx(m0|0)|0)^31)+-1|0,k0=m0>>>x0&1,e[e[me>>2]>>2]=((x0<<1)+-2|k0)+80|m0-((k0|2)<<x0)<<8,x0=e[me>>2]|0),x0=x0+4|0,e[me>>2]=x0;do if(w0>>>0>=12){if(w0>>>0<72){w0=p0+-2|0,k0=((Dx(w0|0)|0)^31)+-1|0,m0=w0>>>k0,e[x0>>2]=(k0<<1)+m0+28|w0-(m0<<k0)<<8,e[me>>2]=(e[me>>2]|0)+4;break}if(w0>>>0<136){k0=p0+-2|0,e[x0>>2]=(k0>>>5)+54|k0<<8&7936,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}if(w0>>>0<2120){m0=p0+-66|0,k0=(Dx(m0|0)|0)^31,e[x0>>2]=k0+52|m0-(1<<k0)<<8,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}else{e[x0>>2]=(w0<<8)+-542720|63,k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,e[k0>>2]=64,e[me>>2]=(e[me>>2]|0)+4;break}}else e[x0>>2]=p0+26,e[me>>2]=(e[me>>2]|0)+4;while(!1);if(y0>>>0>=O0>>>0)break e;for(r0=h0+(p0+1)|0,k0=r0,k0=s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,w0=ye(k0|0,r0|0,-1480785920,7733)|0,w0=wx(w0|0,S0|0,dx|0)|0,m0=y0-Bx|0,e[p+(w0<<2)>>2]=m0+-5,w0=wx(k0|0,r0|0,8)|0,w0=ye(w0|0,S0|0,-1480785920,7733)|0,w0=wx(w0|0,S0|0,dx|0)|0,e[p+(w0<<2)>>2]=m0+-4,r0=wx(k0|0,r0|0,16)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=m0+-3,r0=h0+(p0+4)|0,h0=r0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=wx(h0|0,r0|0,16)|0,k0=ye(k0|0,S0|0,-1480785920,7733)|0,k0=wx(k0|0,S0|0,dx|0)|0,p0=ye(h0|0,r0|0,-1480785920,7733)|0,p0=wx(p0|0,S0|0,dx|0)|0,e[p+(p0<<2)>>2]=m0+-2,r0=wx(h0|0,r0|0,8)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=m0+-1,k0=p+(k0<<2)|0,r0=e[k0>>2]|0,e[k0>>2]=m0;u0=h+r0|0,k0=k,x0=k,!((s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+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+(r0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(r0+5)>>0]|0));){for(l0=r0+6|0,r0=0,n0=x0+6|0;!(n0>>>0>P0>>>0||(k0=h+(l0+r0)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24|0)));)r0=r0+4|0,n0=n0+4|0;for(;!(n0>>>0>=L0>>>0||(n[h+(l0+r0)>>0]|0)!=(n[n0>>0]|0));)r0=r0+1|0,n0=n0+1|0;y0=r0+6|0,w0=x0+y0|0,p0=w0,n0=k-u0|0;do if(y0){for(d0=y0,g0=x0;;){if(k=n[g0>>0]|0,l0=n[u0>>0]|0,k<<24>>24!=l0<<24>>24){ke=80;break}if(d0=d0+-1|0,d0)g0=g0+1|0,u0=u0+1|0;else break}if((ke|0)==80&&(ke=0,k<<24>>24!=l0<<24>>24)){ke=81;break x}if(y0>>>0<10){ke=83;break}if(y0>>>0<134){k0=((Dx(r0|0)|0)^31)+-1|0,h0=r0>>>k0,e[e[me>>2]>>2]=(k0<<1)+h0+44|r0-(h0<<k0)<<8;break}if(y0>>>0<2118){h0=r0+-64|0,k0=(Dx(h0|0)|0)^31,e[e[me>>2]>>2]=k0+52|h0-(1<<k0)<<8;break}else{e[e[me>>2]>>2]=(y0<<8)+-542208|63;break}}else ke=83;while(!1);if((ke|0)==83&&(ke=0,e[e[me>>2]>>2]=r0+44),k0=(e[me>>2]|0)+4|0,e[me>>2]=k0,y0=n0+3|0,h0=((Dx(y0|0)|0)^31)+-1|0,m0=y0>>>h0&1,e[k0>>2]=((h0<<1)+-2|m0)+80|y0-((m0|2)<<h0)<<8,e[me>>2]=(e[me>>2]|0)+4,w0>>>0>=O0>>>0){k=p0;break e}h0=x0+(r0+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,m0=ye(k|0,h0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,k0=w0-Bx|0,e[p+(m0<<2)>>2]=k0+-5,m0=wx(k|0,h0|0,8)|0,m0=ye(m0|0,S0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,e[p+(m0<<2)>>2]=k0+-4,h0=wx(k|0,h0|0,16)|0,h0=ye(h0|0,S0|0,-1480785920,7733)|0,h0=wx(h0|0,S0|0,dx|0)|0,e[p+(h0<<2)>>2]=k0+-3,r0=x0+(r0+4)|0,h0=r0,h0=s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,r0=r0+4|0,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k=wx(h0|0,r0|0,16)|0,k=ye(k|0,S0|0,-1480785920,7733)|0,k=wx(k|0,S0|0,dx|0)|0,m0=ye(h0|0,r0|0,-1480785920,7733)|0,m0=wx(m0|0,S0|0,dx|0)|0,e[p+(m0<<2)>>2]=k0+-2,r0=wx(h0|0,r0|0,8)|0,r0=ye(r0|0,S0|0,-1480785920,7733)|0,r0=wx(r0|0,S0|0,dx|0)|0,e[p+(r0<<2)>>2]=k0+-1,k=p+(k<<2)|0,r0=e[k>>2]|0,e[k>>2]=k0,k=p0}l0=x0+1|0,r0=l0,x0=r0,r0=r0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,r0=s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24,k0=n0}else t0=ie;while(!1);if(r0=k,r0>>>0>L0>>>0){ke=93;break}if(r0>>>0<L0>>>0){k=L0-k|0;do if(k>>>0>=6){if(k>>>0<130){k0=k+-2|0,O0=((Dx(k0|0)|0)^31)+-1|0,P0=k0>>>O0,e[e[me>>2]>>2]=(O0<<1)+P0+2|k0-(P0<<O0)<<8;break}if(k>>>0<2114){P0=k+-66|0,O0=(Dx(P0|0)|0)^31,e[e[me>>2]>>2]=O0+10|P0-(1<<O0)<<8;break}if(k>>>0<6210){e[e[me>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[me>>2]>>2]=x0+-1589760|22;break}else{e[e[me>>2]>>2]=x0+-5784064|23;break}}else e[e[me>>2]>>2]=k;while(!1);e[me>>2]=(e[me>>2]|0)+4,Zx(t0|0,r0|0,k|0)|0,t0=t0+k|0}if(l0=t0-mx|0,$=+(q0>>>0),+(l0>>>0)<$*.98)ke=126;else{for(Hx(dt|0,0,1024)|0,v0=$*8*.98,k=0;;){if(k>>>0>=q0>>>0){k=K0,$=0,n0=0;break}O0=dt+(s[N0+k>>0]<<2)|0,e[O0>>2]=(e[O0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=be>>>0);)x0=e[k>>2]|0,_=+(x0>>>0),x0>>>0<256?f0=+a0[19516+(x0<<2)>>2]:f0=+Kx(_),r0=e[k+4>>2]|0,M=+(r0>>>0),r0>>>0<256?q=+a0[19516+(r0<<2)>>2]:q=+Kx(M),k=k+8|0,$=$-_*f0-M*q,n0=n0+x0+r0|0;f0=v0/43,M=+(n0>>>0),n0?(n0>>>0<256?_=+a0[19516+(n0<<2)>>2]:_=+Kx(M),q=M,$=$+M*_):q=M,($<q?q:$)<f0?ke=126:(Sg(q0,1,e0,i0),O0=(e[e0>>2]|0)+7|0,e[e0>>2]=O0&-8,Zx(i0+(O0>>>3)|0,N0|0,q0|0)|0,N0=(e[e0>>2]|0)+(q0<<3)|0,e[e0>>2]=N0,n[i0+(N0>>>3)>>0]=0)}if((ke|0)==126){ke=0,y0=(e[me>>2]|0)-hx>>2,Sg(q0,0,e0,i0),x0=i0+((e[e0>>2]|0)>>>3)|0,N0=s[x0>>0]|0,r0=x0,n[r0>>0]=N0,n[r0+1>>0]=N0>>8,n[r0+2>>0]=N0>>16,n[r0+3>>0]=N0>>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,Hx(dt|0,0,1024)|0,x0=b6,r0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(r0|0));for(Hx(_0|0,0,256)|0,Hx(Jx|0,0,512)|0,k=t0-mx|0,x0=0;(x0|0)!=(k|0);)N0=dt+(s[w+x0>>0]<<2)|0,e[N0>>2]=(e[N0>>2]|0)+1,x0=x0+1|0;for(H2(c,dt,l0,8,X6,At,e0,i0),k=0;(k|0)!=(y0|0);)N0=Jx+((e[d+(k<<2)>>2]&255)<<2)|0,e[N0>>2]=(e[N0>>2]|0)+1,k=k+1|0;e[ax>>2]=(e[ax>>2]|0)+1,e[sx>>2]=(e[sx>>2]|0)+1,e[Q0>>2]=(e[Q0>>2]|0)+1,e[H0>>2]=(e[H0>>2]|0)+1,Hx(ze|0,0,704)|0,j2(Jx,64,15,qe,b6),j2(vx,64,14,qe,jx),e[ze>>2]=e[zx>>2],e[ze+4>>2]=e[zx+4>>2],e[ze+8>>2]=e[zx+8>>2],e[ze+12>>2]=e[zx+12>>2],e[ze+16>>2]=e[zx+16>>2],e[ze+20>>2]=e[zx+20>>2],r0=b6,k=e[r0+4>>2]|0,x0=qx,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,x0=Mx,k=e[x0+4>>2]|0,r0=Fx,e[r0>>2]=e[x0>>2],e[r0+4>>2]=k,r0=Ex,k=e[r0+4>>2]|0,x0=fx,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,x0=$0,k=e[x0+4>>2]|0,r0=px,e[r0>>2]=e[x0>>2],e[r0+4>>2]=k,r0=Wx,k=e[r0+4>>2]|0,x0=Y0,e[x0>>2]=e[r0>>2],e[x0+4>>2]=k,wn(ze,64,Lt),o[_0>>1]=o[$x>>1]|0,o[_0+2>>1]=o[$x+2>>1]|0,o[_0+4>>1]=o[$x+4>>1]|0,o[_0+6>>1]=o[$x+6>>1]|0,o[_0+8>>1]=o[$x+8>>1]|0,o[_0+10>>1]=o[$x+10>>1]|0,o[_0+12>>1]=o[$x+12>>1]|0,o[_0+14>>1]=o[$x+14>>1]|0,o[ae>>1]=o[Gx>>1]|0,o[ae+2>>1]=o[Gx+2>>1]|0,o[ae+4>>1]=o[Gx+4>>1]|0,o[ae+6>>1]=o[Gx+6>>1]|0,o[ae+8>>1]=o[Gx+8>>1]|0,o[ae+10>>1]=o[Gx+10>>1]|0,o[ae+12>>1]=o[Gx+12>>1]|0,o[ae+14>>1]=o[Gx+14>>1]|0,o[Rx>>1]=o[ox>>1]|0,o[Rx+2>>1]=o[ox+2>>1]|0,o[Rx+4>>1]=o[ox+4>>1]|0,o[Rx+6>>1]=o[ox+6>>1]|0,o[Rx+8>>1]=o[ox+8>>1]|0,o[Rx+10>>1]=o[ox+10>>1]|0,o[Rx+12>>1]=o[ox+12>>1]|0,o[Rx+14>>1]=o[ox+14>>1]|0,x0=rx,k=Lt,r0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(r0|0));o[cx>>1]=o[_x>>1]|0,o[cx+2>>1]=o[_x+2>>1]|0,o[cx+4>>1]=o[_x+4>>1]|0,o[cx+6>>1]=o[_x+6>>1]|0,o[cx+8>>1]=o[_x+8>>1]|0,o[cx+10>>1]=o[_x+10>>1]|0,o[cx+12>>1]=o[_x+12>>1]|0,o[cx+14>>1]=o[_x+14>>1]|0,o[te>>1]=o[Cx>>1]|0,o[te+2>>1]=o[Cx+2>>1]|0,o[te+4>>1]=o[Cx+4>>1]|0,o[te+6>>1]=o[Cx+6>>1]|0,o[te+8>>1]=o[Cx+8>>1]|0,o[te+10>>1]=o[Cx+10>>1]|0,o[te+12>>1]=o[Cx+12>>1]|0,o[te+14>>1]=o[Cx+14>>1]|0,wn(jx,64,lx),x0=ze,r0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(r0|0));for(O0=zx,N0=e[O0+4>>2]|0,k=ze,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=ge,N0=e[k+4>>2]|0,O0=ix,e[O0>>2]=e[k>>2],e[O0+4>>2]=N0,O0=re,N0=e[O0+4>>2]|0,k=D0,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=Mx,N0=e[k+4>>2]|0,O0=Yx,e[O0>>2]=e[k>>2],e[O0+4>>2]=N0,O0=$0,N0=e[O0+4>>2]|0,k=ux,e[k>>2]=e[O0>>2],e[k+4>>2]=N0,k=0;(k|0)!=8;)N0=k<<3,n[ze+(N0+128)>>0]=n[b6+k>>0]|0,n[ze+(N0+256)>>0]=n[b6+(k+8)>>0]|0,n[ze+(N0+448)>>0]=n[b6+(k+16)>>0]|0,k=k+1|0;for($o(ze,704,qe,e0,i0),$o(jx,64,qe,e0,i0),k=ie,g0=0;!(g0>>>0>=y0>>>0);){if(d0=e[d+(g0<<2)>>2]|0,u0=d0&255,d0=d0>>>8,x0=n[b6+u0>>0]|0,r0=j[_0+(u0<<1)>>1]|0,t0=e[e0>>2]|0,n0=i0+(t0>>>3)|0,l0=s[n0>>0]|0,N0=wx(r0|0,0,x0&255|0)|0,!((N0|0)==0&(S0|0)==0)){ke=138;break x}if((x0&255)>=57){ke=140;break x}if(N0=Sx(r0|0,0,t0&7|0)|0,t0=S0,N0=l0|N0,r0=n0,n0=r0,n[n0>>0]=N0,n[n0+1>>0]=N0>>8,n[n0+2>>0]=N0>>16,n[n0+3>>0]=N0>>24,r0=r0+4|0,n[r0>>0]=t0,n[r0+1>>0]=t0>>8,n[r0+2>>0]=t0>>16,n[r0+3>>0]=t0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,r0=e[18276+(u0<<2)>>2]|0,t0=i0+(x0>>>3)|0,n0=s[t0>>0]|0,N0=wx(d0|0,0,r0|0)|0,!((N0|0)==0&(S0|0)==0)){ke=142;break x}P0=Sx(d0|0,0,x0&7|0)|0,N0=S0,P0=n0|P0,x0=t0,O0=x0,n[O0>>0]=P0,n[O0+1>>0]=P0>>8,n[O0+2>>0]=P0>>16,n[O0+3>>0]=P0>>24,x0=x0+4|0,n[x0>>0]=N0,n[x0+1>>0]=N0>>8,n[x0+2>>0]=N0>>16,n[x0+3>>0]=N0>>24,x0=(e[e0>>2]|0)+r0|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,r0=n[X6+t0>>0]|0,t0=j[At+(t0<<1)>>1]|0,n0=i0+(x0>>>3)|0,l0=s[n0>>0]|0,N0=wx(t0|0,0,r0&255|0)|0,!((N0|0)==0&(S0|0)==0)){ke=147;break x}if((r0&255)>=57){ke=149;break x}k0=Sx(t0|0,0,x0&7|0)|0,O0=S0,k0=l0|k0,N0=n0,P0=N0,n[P0>>0]=k0,n[P0+1>>0]=k0>>8,n[P0+2>>0]=k0>>16,n[P0+3>>0]=k0>>24,N0=N0+4|0,n[N0>>0]=O0,n[N0+1>>0]=O0>>8,n[N0+2>>0]=O0>>16,n[N0+3>>0]=O0>>24,N0=(e[e0>>2]|0)+(r0&255)|0,e[e0>>2]=N0,k=k+1|0,x0=N0,u0=u0+1|0}while(!1);g0=g0+1|0}}f=f-q0|0,N0=L0}switch(ke|0){case 4:{j0(405532,405543,251,405590);break}case 6:{j0(405605,405543,252,405590);break}case 8:{j0(405630,405543,254,405590);break}case 10:{j0(405667,405543,256,405590);break}case 15:{j0(405740,405543,289,405590);break}case 17:{j0(405755,405543,295,405590);break}case 24:{j0(405779,405543,309,405590);break}case 26:{j0(405800,405543,310,405590);break}case 41:{j0(405815,405543,329,405590);break}case 81:{j0(405815,405543,378,405590);break}case 93:{j0(405853,405543,415,405590);break}case 138:{j0(406196,406218,54,406251);break}case 140:{j0(406267,406218,55,406251);break}case 142:{j0(406196,406218,54,406251);break}case 147:{j0(406196,406218,54,406251);break}case 149:{j0(406267,406218,55,406251);break}case 155:{if(!l){c0=Ut;return}c=e[e0>>2]|0,qe=i0+(c>>>3)|0,p=s[qe>>0]|0,c=Sx(1,0,c&7|0)|0,ke=S0,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]=ke,n[qe+1>>0]=ke>>8,n[qe+2>>0]=ke>>16,n[qe+3>>0]=ke>>24,qe=(e[e0>>2]|0)+1|0,e[e0>>2]=qe,ke=i0+(qe>>>3)|0,p=s[ke>>0]|0,i0=Sx(1,0,qe&7|0)|0,qe=S0,i0=p|i0,p=ke,n[p>>0]=i0,n[p+1>>0]=i0>>8,n[p+2>>0]=i0>>16,n[p+3>>0]=i0>>24,ke=ke+4|0,n[ke>>0]=qe,n[ke+1>>0]=qe>>8,n[ke+2>>0]=qe>>16,n[ke+3>>0]=qe>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=Ut;return}}}function Sg(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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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=Sx(1,0,d&7|0)|0,d=S0,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||j0(406196,406218,54,406251),d=Sx(d|0,0,k&7|0)|0,c=S0,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=Sx(h|0,0,k|0)|0,h=S0,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 sq(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0,Lt=0,ze=0,b6=0,Jx=0,me=0,At=0,X6=0,dt=0,qe=0;if(qe=c0,c0=c0+16|0,X6=qe+8|0,dt=qe+4|0,b6=qe,!(G2(c)|0)||(me=c+5232|0,(e[me>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=qe,w|0;if(At=c+4|0,p=e[At>>2]|0,p>>>0<2){N0=1<<e[c+8>>2],i0=e[h>>2]|0,i0=i0>>>0<N0>>>0?i0:N0,i0=i0>>>0>131072?131072:i0,q0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,O0=0,P0=0,Jx=20;break}case 1:{e0=c+5208|0,Jx=e[e0>>2]|0,p=Jx;e:do if(Jx)$=p;else{do if((i0|0)==131072)if(p=c+24|0,k=Px[e[q0>>2]&1](e[p>>2]|0,524288)|0,k||kx(1),e[e0>>2]=k,p=Px[e[q0>>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 kx(1);while(!1);if(p=c+24|0,k=Px[e[q0>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),p=Px[e[q0>>2]&1](e[p>>2]|0,i0)|0,!p)kx(1);else{$=k,e0=p,O0=k,P0=p,Jx=20;break x}}while(!1);e0=e[c+5212>>2]|0,O0=0,P0=0,Jx=20;break}default:L0=0}while(!1);do if((Jx|0)==20){t0=c+193|0,n0=c+5220|0,f0=c+196|0,l0=c+200|0,u0=c+20|0,d0=c+24|0,v0=c+192|0,g0=c+4308|0,y0=c+4436|0,w0=c+5204|0,p0=c+4692|0,m0=c+5216|0,h0=c+5224|0,k0=(w|0)==0;x:for(;;){for(p=e[me>>2]|0;;){if((p|0)==1&&(n[t0>>0]|0)!=0){Jx=24;break}if(k=e[n0>>2]|0,k)break;if(p){Jx=49;break x}if(q=e[h>>2]|0,_=N0>>>0<q>>>0?N0:q,q=(q|0)==(_|0)?1:0,p=(_<<1)+502|0,e[X6>>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(yx[e[u0>>2]&1](e[d0>>2]|0,k),e[l0>>2]=0,k=Px[e[q0>>2]&1](e[d0>>2]|0,p)|0,!k){Jx=34;break x}e[l0>>2]=k,e[f0>>2]=p,M=0}else M=0;else M=1,k=e[d>>2]|0;if(n[k>>0]=n[v0>>0]|0,p=Fg(c,e[At>>2]|0,_,dt)|0,i0=e[f>>2]|0,x0=q<<24>>24!=0,r0=e[dt>>2]|0,e[At>>2]|0?kg(q0,i0,_,x0,$,e0,p,r0,X6,k):Ag(q0,i0,_,x0,p,r0,g0,y0,w0,p0,X6,k),e[f>>2]=(e[f>>2]|0)+_,e[h>>2]=(e[h>>2]|0)-_,i0=e[X6>>2]|0,x0=i0>>>3,M<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Jx=41;break x}if(!((i0&7|0)==0|x0>>>0<p>>>0)){Jx=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,k0||(e[w>>2]=p)}else e[m0>>2]=k,e[n0>>2]=x0;if(n[v0>>0]=n[k+((e[X6>>2]|0)>>>3)>>0]|0,n[t0>>0]=e[X6>>2]&7,!(q<<24>>24))continue x;e[me>>2]=2,p=2}if((Jx|0)==24){Jx=0,Ig(c);continue}if(p=e[l>>2]|0,!p){Jx=49;break}p=k>>>0<p>>>0?k:p,Zx(e[d>>2]|0,e[m0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[m0>>2]=(e[m0>>2]|0)+p,e[n0>>2]=(e[n0>>2]|0)-p,p=(e[h0>>2]|0)+p|0,e[h0>>2]=p,!k0&&(e[w>>2]=p)}if((Jx|0)==34)kx(1);else if((Jx|0)==41)j0(406280,406053,1436,406308);else if((Jx|0)==43)j0(406340,406053,1437,406308);else if((Jx|0)==49){if(yx[e[u0>>2]&1](e[d0>>2]|0,O0),yx[e[u0>>2]&1](e[d0>>2]|0,P0),(e[me>>2]|0)!=1){L0=1;break}if(e[n0>>2]|0){L0=1;break}e[me>>2]=0,e[m0>>2]=0,L0=1;break}}while(!1);return w=L0,c0=qe,w|0}xx=c+80|0,_0=c+152|0,f0=c+12|0,l0=c+193|0,u0=c+5220|0,d0=c+5216|0,v0=c+16|0,g0=c+116|0,y0=c+92|0,w0=c+5236|0,p0=c+5208|0,m0=c+24|0,h0=c+5212|0,k0=c+196|0,P0=c+200|0,O0=c+20|0,N0=c+24|0,q0=c+192|0,L0=c+4308|0,K0=c+4436|0,z0=c+5204|0,Bx=c+4692|0,mx=c+128|0,hx=c+120|0,ax=c+124|0,sx=c+20|0,Q0=c+160|0,H0=c+136|0,vx=c+132|0,jx=c+4|0,zx=c+72|0,qx=c+8|0,Fx=c+144|0,Mx=c+28|0,fx=c+32|0,Ex=c+36|0,px=c+40|0,$0=c+44|0,Y0=c+48|0,Wx=c+52|0,$x=c+56|0,ae=c+60|0,Gx=c+64|0,Rx=c+68|0,ox=c+8|0,rx=c+194|0,cx=c+195|0,_x=c+176|0,te=c+176|0,Cx=c+160|0,lx=c+8|0,ix=c+5224|0,ge=(w|0)==0,D0=c+108|0,re=c+96|0,Yx=c+112|0,ux=c+104|0,be=c+116|0,Lx=c+116|0,De=c+92|0,ie=c+104|0,dx=c+100|0,B0=c+88|0;x:for(;;){if(k=xx,p=_0,p=Mt(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=S0,G2(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&(Lt=e0-p|0,(Lt|0)!=0)&&(ze=e[h>>2]|0,(ze|0)!=0)){if($=Lt>>>0<ze>>>0?Lt:ze,i0=e[f>>2]|0,G2(c)|0){if(p=e[D0>>2]|0,(p|0)==0&&$>>>0<(e[re>>2]|0)>>>0){if(e[D0>>2]=$,p=Px[e[v0>>2]&1](e[m0>>2]|0,$+9|0)|0,!p){Jx=62;break}for(k=e[Yx>>2]|0,k&&(Zx(p|0,k|0,(e[ux>>2]|0)+9|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[ux>>2]=$,e[be>>2]=p+2,n[p+1>>0]=0,n[(e[be>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[be>>2]|0)+((e[ux>>2]|0)+p)>>0]=0,p=p+1|0;Zx(e[Lx>>2]|0,i0|0,$|0)|0}else{if(e0=e[dx>>2]|0,(e[ie>>2]|0)>>>0<e0>>>0){if(p=Px[e[v0>>2]&1](e[m0>>2]|0,e0+9|0)|0,!p){Jx=71;break}for(k=e[Yx>>2]|0,k&&(Zx(p|0,k|0,(e[ux>>2]|0)+9|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[ux>>2]=e0,e[be>>2]=p+2,n[p+1>>0]=0,n[(e[be>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[be>>2]|0)+((e[ux>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Lx>>2]|0)+((e[B0>>2]|0)+-2)>>0]=0,n[(e[Lx>>2]|0)+((e[B0>>2]|0)+-1)>>0]=0,p=e[D0>>2]|0}e0=p&e[De>>2],p=e[re>>2]|0,p>>>0>e0>>>0&&(Jx=p-e0|0,Zx((e[Lx>>2]|0)+((e[B0>>2]|0)+e0)|0,i0|0,($>>>0<Jx>>>0?$:Jx)|0)|0),k=(e[Lx>>2]|0)+e0|0,p=i0,(e0+$|0)>>>0>(e[B0>>2]|0)>>>0?(Jx=(e[dx>>2]|0)-e0|0,Zx(k|0,p|0,($>>>0<Jx>>>0?$:Jx)|0)|0,Jx=e[B0>>2]|0,Zx(e[Lx>>2]|0,p+(Jx-e0)|0,$+(e0-Jx)|0)|0):Zx(k|0,p|0,$|0)|0,p=e[Lx>>2]|0,n[p+-2>>0]=n[p+((e[B0>>2]|0)+-2)>>0]|0,p=e[Lx>>2]|0,n[p+-1>>0]=n[p+((e[B0>>2]|0)+-1)>>0]|0,p=(e[D0>>2]|0)+$|0,e[D0>>2]=p,p>>>0>1073741824&&(e[D0>>2]=p&1073741823|1073741824)}Jx=xx,Jx=Ou(e[Jx>>2]|0,e[Jx+4>>2]|0,$|0,0)|0,p=xx,e[p>>2]=Jx,e[p+4>>2]=S0,p=e[D0>>2]|0,p>>>0<=(e[De>>2]|0)>>>0&&(Jx=(e[Lx>>2]|0)+p|0,n[Jx>>0]=0,n[Jx+1>>0]=0,n[Jx+2>>0]=0,n[Jx+3>>0]=0,n[Jx+4>>0]=0,n[Jx+5>>0]=0,n[Jx+6>>0]=0)}e[f>>2]=(e[f>>2]|0)+$,e[h>>2]=(e[h>>2]|0)-$;continue}if(p=e[me>>2]|0,e0=(p|0)==1,e0&&(n[l0>>0]|0)!=0){Ig(c);continue}if(k=e[u0>>2]|0,i0=(k|0)==0,!i0){if(p=e[l>>2]|0,!p){Jx=234;break}if(p=k>>>0<p>>>0?k:p,Zx(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[ix>>2]|0)+p|0,e[ix>>2]=p,ge)continue;e[w>>2]=p;continue}if(p){Jx=234;break}if(n0=(e[h>>2]|0)==0?1:0,i0=xx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,x0=_0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,_=Mt(e0|0,i0|0,$|0,x0|0)|0,p=S0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(r0=wx($|0,x0|0,30)|0,r0=$&1073741823|((r0&1^1)<<30)+1073741824):r0=$,!(G2(c)|0)){Jx=231;break}if(q=e[g0>>2]|0,t0=e[y0>>2]|0,n[w0>>0]&1){Jx=231;break}if(M=n0<<24>>24==0,M||(n[w0>>0]=1),G2(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&_>>>0>k>>>0){Jx=231;break}if(p=e[At>>2]|0,(p|0)==1)if(e[p0>>2]|0)Jx=114;else{if(p=Px[e[v0>>2]&1](e[m0>>2]|0,524288)|0,!p){Jx=108;break}if(e[p0>>2]=p,p=Px[e[v0>>2]&1](e[m0>>2]|0,131072)|0,!p){Jx=110;break}e[h0>>2]=p,p=e[At>>2]|0,Jx=112}else Jx=112;e:do if((Jx|0)==112)if(Jx=0,(p|0)!=0&&(p|0)!=1){if(k=e[mx>>2]|0,p=k+(_>>>1)+1|0,p>>>0>(e[hx>>2]|0)>>>0){if(p=p+((_>>>2)+16)|0,e[hx>>2]=p,p=Px[e[v0>>2]&1](e[m0>>2]|0,p<<4)|0,!p){Jx=127;break x}k=e[ax>>2]|0,k&&(Zx(p|0,k|0,e[mx>>2]<<4|0)|0,yx[e[sx>>2]&1](e[m0>>2]|0,e[ax>>2]|0),e[ax>>2]=0),e[ax>>2]=p,k=e[mx>>2]|0}else p=e[ax>>2]|0;k=p+(k<<4)|0,p=e[jx>>2]|0;t:do switch(p|0){case 10:{vq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[zx>>2]|0,Q0,H0,k,mx,vx);break}case 11:{Aq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[zx>>2]|0,Q0,H0,k,mx,vx);break}default:{if((p|0)>9)break t;do if((p|0)<5)Jx=139;else{if((e[lx>>2]|0)>=17){Jx=139;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=139}while(!1);r:do if((Jx|0)==139){Jx=0;do switch(p|0){case 40:break r;case 2:{Eq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Mx>>2]|0,Q0,H0,k,mx,vx);break t}case 3:{Cq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[fx>>2]|0,Q0,H0,k,mx,vx);break t}case 4:{kq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Ex>>2]|0,Q0,H0,k,mx,vx);break t}case 5:{Sq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[px>>2]|0,Q0,H0,k,mx,vx);break t}case 6:{Fq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[$0>>2]|0,Q0,H0,k,mx,vx);break t}case 7:{Oq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Y0>>2]|0,Q0,H0,k,mx,vx);break t}case 8:{oq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Wx>>2]|0,Q0,H0,k,mx,vx);break t}case 9:{cq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[$x>>2]|0,Q0,H0,k,mx,vx);break t}case 41:{fq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Gx>>2]|0,Q0,H0,k,mx,vx);break t}case 42:{dq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[Rx>>2]|0,Q0,H0,k,mx,vx);break t}default:break t}while(!1)}while(!1);uq(v0,_,r0,n0<<24>>24!=0,q,t0,c,e[ae>>2]|0,Q0,H0,k,mx,vx)}}while(!1);e0=e[qx>>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,_=xx,i0=Fx,i0=Mt(e[_>>2]|0,e[_+4>>2]|0,e[i0>>2]|0,e[i0+4>>2]|0)|0,G2(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[At>>2]|0,(p|0)<4?$=((e[vx>>2]|0)+(e[mx>>2]|0)|0)>>>0>12286:$=0;do if(!(M^1|$|(i0+x0|0)>>>0>k>>>0)){if((e[vx>>2]|0)>>>0>=e0>>>0||(e[mx>>2]|0)>>>0>=e0>>>0)break;e0=_0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(t0=wx(k|0,e0|0,30)|0,k=k&1073741823|((t0&1^1)<<30)+1073741824),i0=xx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,i0>>>0>0|(i0|0)==0&e0>>>0>3221225471?($=wx(e0|0,i0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,t0=_0,e[t0>>2]=e0,e[t0+4>>2]=i0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Jx=168;else{if((e[ox>>2]|0)>=17){Jx=168;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=168}while(!1);i:do if((Jx|0)==168){Jx=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[fx>>2]|0,n[t0+262152>>0]=1,e[t0+262156>>2]=0,e[t0+262160>>2]=0;break t}case 4:{t0=e[Ex>>2]|0,n[t0+524304>>0]=1,e[t0+524308>>2]=0,e[t0+524312>>2]=0;break t}case 5:{t0=e[px>>2]|0,n[t0+1081344>>0]=1,e[t0+1081348>>2]=0,e[t0+1081352>>2]=0;break t}case 6:{t0=e[$0>>2]|0,n[t0+2129920>>0]=1,e[t0+2129924>>2]=0,e[t0+2129928>>2]=0;break t}case 7:{t0=e[Y0>>2]|0,n[t0+8454144>>0]=1,e[t0+8454148>>2]=0,e[t0+8454152>>2]=0;break t}case 8:{t0=e[Wx>>2]|0,n[t0+16842752>>0]=1,e[t0+16842756>>2]=0,e[t0+16842760>>2]=0;break t}case 9:{t0=e[$x>>2]|0,n[t0+33619968>>0]=1,e[t0+33619972>>2]=0,e[t0+33619976>>2]=0;break t}case 41:{t0=e[Gx>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}case 42:{t0=e[Rx>>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[ae>>2]|0,n[t0+524290>>0]=1,e[t0+524292>>2]=0,e[t0+524296>>2]=0;break t}while(!1);n[(e[zx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[H0>>2]|0,p){k=e[mx>>2]|0,e[mx>>2]=k+1,_=e[ax>>2]|0,e[_+(k<<4)>>2]=p,e[_+(k<<4)+4>>2]=67108864,e[_+(k<<4)+8>>2]=0,o[_+(k<<4)+14>>1]=16,k=_+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){_=p+-2|0,p=((Dx(_|0)|0)^31)+-1|0,p=(p<<1)+(_>>>p)+2|0;break}if(p>>>0<2114){p=((Dx(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);_=p&65535,o[k>>1]=o[88156+((_>>>3)*3<<1)>>1]|(_<<3&56|2)&65535,e[vx>>2]=(e[vx>>2]|0)+(e[H0>>2]|0),e[H0>>2]=0}if(k=xx,p=e[k>>2]|0,k=e[k+4>>2]|0,i0=Fx,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,M&((p|0)==(e0|0)&(k|0)==(i0|0))){e[u0>>2]=0;break}if(k>>>0<i0>>>0|(k|0)==(i0|0)&p>>>0<e0>>>0){Jx=194;break x}if(!(k>>>0>i0>>>0|(k|0)==(i0|0)&p>>>0>e0>>>0|M^1)){Jx=196;break x}if(e0=Mt(p|0,k|0,e0|0,i0|0)|0,M=S0,!(M>>>0<0|(M|0)==0&e0>>>0<16777217)){Jx=198;break x}if(p=(e0<<1)+502|0,(e[k0>>2]|0)>>>0<p>>>0){if(yx[e[O0>>2]&1](e[N0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,M=Px[e[v0>>2]&1](e[N0>>2]|0,p)|0,k=M,!M){Jx=202;break x}e[P0>>2]=k,e[k0>>2]=p}else k=e[P0>>2]|0;e[b6>>2]=s[l0>>0],$=k,n[$>>0]=n[q0>>0]|0,x0=q,i0=Fx,Pq(v0,x0,t0,e[i0>>2]|0,e[i0+4>>2]|0,e0,n0<<24>>24!=0,c,n[rx>>0]|0,n[cx>>0]|0,e[vx>>2]|0,e[mx>>2]|0,e[ax>>2]|0,_x,Q0,b6,$),n[q0>>0]=n[$+((e[b6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[b6>>2]&7,$=xx,i0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Fx,e[e0>>2]=i0,e[e0+4>>2]=$,e0=_0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(q=wx(p|0,e0|0,30)|0,p=p&1073741823|((q&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&i0>>>0>3221225471?(e0=wx(i0|0,$|0,30)|0,e0=i0&1073741823|((e0&1^1)<<30)+1073741824):e0=i0,q=_0,e[q>>2]=i0,e[q+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[At>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Jx=214;else{if((e[ox>>2]|0)>=17){Jx=214;break}if((p|0)<7)break;p=(p|0)<9?41:42,Jx=214}while(!1);i:do if((Jx|0)==214){Jx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{q=e[Mx>>2]|0,n[q+262148>>0]=1,e[q+262152>>2]=0,e[q+262156>>2]=0;break t}case 3:{q=e[fx>>2]|0,n[q+262152>>0]=1,e[q+262156>>2]=0,e[q+262160>>2]=0;break t}case 4:{q=e[Ex>>2]|0,n[q+524304>>0]=1,e[q+524308>>2]=0,e[q+524312>>2]=0;break t}case 5:{q=e[px>>2]|0,n[q+1081344>>0]=1,e[q+1081348>>2]=0,e[q+1081352>>2]=0;break t}case 6:{q=e[$0>>2]|0,n[q+2129920>>0]=1,e[q+2129924>>2]=0,e[q+2129928>>2]=0;break t}case 7:{q=e[Y0>>2]|0,n[q+8454144>>0]=1,e[q+8454148>>2]=0,e[q+8454152>>2]=0;break t}case 8:{q=e[Wx>>2]|0,n[q+16842752>>0]=1,e[q+16842756>>2]=0,e[q+16842760>>2]=0;break t}case 9:{q=e[$x>>2]|0,n[q+33619968>>0]=1,e[q+33619972>>2]=0,e[q+33619976>>2]=0;break t}case 41:{q=e[Gx>>2]|0,n[q+524290>>0]=1,e[q+524292>>2]=0,e[q+524296>>2]=0;break t}case 42:{q=e[Rx>>2]|0,n[q+1311744>>0]=1,e[q+1311748>>2]=0,e[q+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);q=e[ae>>2]|0,n[q+524290>>0]=1,e[q+524292>>2]=0,e[q+524296>>2]=0;break t}while(!1);n[(e[zx>>2]|0)+524304>>0]=1}while(!1);e0=Fx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[rx>>0]=n[x0+(p+-1&t0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;q=Ou(p|0,e0|0,-2,0)|0,n[cx>>0]=n[x0+(q&t0)>>0]|0}while(!1);e[mx>>2]=0,e[vx>>2]=0,e[te>>2]=e[Cx>>2],e[te+4>>2]=e[Cx+4>>2],e[te+8>>2]=e[Cx+8>>2],e[te+12>>2]=e[Cx+12>>2],e[d0>>2]=k,e[u0>>2]=(e[b6>>2]|0)>>>3}else Jx=114;while(!1);do if((Jx|0)==114){if(e[X6>>2]=s[l0>>0],!((e0|0)==($|0)&(i0|0)==(x0|0)^1|M^1)){e[u0>>2]=0;break}if(k=(_<<1)+502|0,p=e[P0>>2]|0,(e[k0>>2]|0)>>>0<k>>>0){if(yx[e[O0>>2]&1](e[N0>>2]|0,p),e[P0>>2]=0,p=Px[e[v0>>2]&1](e[N0>>2]|0,k)|0,!p){Jx=118;break x}e[P0>>2]=p,e[k0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[q0>>0]|0,i0=Fg(c,e[At>>2]|0,_,dt)|0,p=q+(r0&t0)|0,k=n0<<24>>24!=0,e[At>>2]|0?kg(v0,p,_,k,e[p0>>2]|0,e[h0>>2]|0,i0,e[dt>>2]|0,X6,e0):Ag(v0,p,_,k,i0,e[dt>>2]|0,L0,K0,z0,Bx,X6,e0),n[q0>>0]=n[e0+((e[X6>>2]|0)>>>3)>>0]|0,n[l0>>0]=e[X6>>2]&7,q=xx,t0=e[q+4>>2]|0,Jx=_0,e[Jx>>2]=e[q>>2],e[Jx+4>>2]=t0,e[d0>>2]=e0,e[u0>>2]=(e[X6>>2]|0)>>>3}while(!1);n0<<24>>24&&(e[me>>2]=2)}switch(Jx|0){case 62:{kx(1);break}case 71:{kx(1);break}case 108:{kx(1);break}case 110:{kx(1);break}case 118:{kx(1);break}case 127:{kx(1);break}case 194:{j0(406017,406053,906,406080);break}case 196:{j0(406103,406053,907,406080);break}case 198:{j0(406149,406053,908,406080);break}case 202:{kx(1);break}case 231:return w=0,c0=qe,w|0;case 234:return e0^1|i0^1?(w=1,c0=qe,w|0):(e[me>>2]=0,e[d0>>2]=0,w=1,c0=qe,w|0)}return 0}function G2(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));Zx(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=Px[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)kx(1);else{e[d>>2]=h,h=l,p=69;break r}break}case 3:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,262164)|0,!h)kx(1);else{e[c+32>>2]=h,h=l,p=70;break r}break}case 4:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,524316)|0,!h)kx(1);else{e[c+36>>2]=h,h=l,p=71;break r}break}case 5:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,1081356)|0,!h)kx(1);else{e[c+40>>2]=h,h=l,p=72;break r}break}case 6:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,2129932)|0,!h)kx(1);else{e[c+44>>2]=h,h=l,p=73;break r}break}case 7:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,8454156)|0,!h)kx(1);else{e[c+48>>2]=h,h=l,p=74;break r}break}case 8:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,16842764)|0,!h)kx(1);else{e[c+52>>2]=h,h=l,p=75;break r}break}case 9:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,33619980)|0,!h)kx(1);else{e[c+56>>2]=h,h=l,p=76;break r}break}case 41:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)kx(1);else{e[c+64>>2]=h,h=l,p=78;break r}break}case 42:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,1311760)|0,!h)kx(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=Px[e[f>>2]&1](e[c+24>>2]|0,524304)|0,!h)kx(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=Px[e[f>>2]&1](e[c+24>>2]|0,524308)|0,!f)kx(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 Fg(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,yx[e[c+20>>2]&1](e[h>>2]|0,e[f>>2]|0),e[f>>2]=0,c=Px[e[c+16>>2]&1](e[h>>2]|0,d<<2)|0,h=c,!c)kx(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Hx(w|0,0,d<<2|0)|0,w|0}function oq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,_=8)}else c=k+16842752|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&127|$0<<7)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&127|$0<<7)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&127|$0<<7)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+16842760|0,Q0=k+16842756|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=10;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<7,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>128?_+-128|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&127)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&127)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=10;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<7,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>128?l+-128|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&127)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&127)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&127|xx<<7)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function cq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,_=8)}else c=k+33619968|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&255|$0<<8)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&255|$0<<8)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&255|$0<<8)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+33619976|0,Q0=k+33619972|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=16;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<8,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>256?_+-256|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&255)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&255)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=16;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<8,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>256?l+-256|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&255)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&255)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&255|xx<<8)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function uq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(te=c0,c0=c0+32|0,rx=te+16|0,cx=te,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+524300|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,_x=8)}else c=k+524290|0,n[c>>0]&1&&(Hx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Hx(k+131072|0,0,131072)|0),_x=8;(_x|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,px=d+(Mx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,fx=k+524288|0,Ex=o[fx>>1]|0,o[fx>>1]=Ex+1<<16>>16,$0=Ex&65535,Y0=k+(px<<2)|0,Fx=Mx-(e[Y0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=px,o[k+262144+($0<<2)>>1]=Fx>>>0>65535?65535:Fx,px=k+131072+(px<<1)|0,o[k+262144+($0<<2)+2>>1]=o[px>>1]|0,e[Y0>>2]=Mx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Mx=Y0&65535,$0=k+(Ex<<2)|0,Fx=px-(e[$0>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+(Mx<<2)>>1]=Fx>>>0>65535?65535:Fx,Ex=k+131072+(Ex<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Ex>>1]|0,e[$0>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,$0=o[fx>>1]|0,o[fx>>1]=$0+1<<16>>16,fx=$0&65535,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),L0=rx+4|0,K0=rx+8|0,z0=rx+12|0,Bx=rx+4|0,mx=rx+8|0,hx=rx+12|0,ax=k+524288|0,sx=k+524296|0,Q0=k+524292|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,q0=$,c=M;x:for(;;){O0=q0,N0=_+H0|0;e:for(;;){if(P0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(h0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[L0>>2]=0,e[K0>>2]=0,e[z0>>2]=4240,k0=p&w,l0=e[rx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[rx>>2]=0,e[Bx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(n0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-n0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>h0>>>0?h=l0:_x=17:h>>>0>=p>>>0|n0>>>0>h0>>>0?h=l0:_x=17,(_x|0)==17){for(_x=0,t0=h&w,h=0,M=y0;q=M,!(q>>>0>p0>>>0||(v0=M,g0=d+(t0+h)|0,(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(Cx=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Cx>>>0)?(e[rx>>2]=h,e[mx>>2]=n0,e[hx>>2]=Cx,f=Cx,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,u0=q,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>h0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,f0=j[k+262144+(f0<<2)>>1]|0,!v0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=y0;else continue;for(;M=h,!(M>>>0>p0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[mx>>2]=n0,e[hx>>2]=h,t0=n0,l0=q,f=h,M=f0,q=u0,l=1,h=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,w0=dx&65535,p0=k+(B0<<2)|0,y0=p-(e[p0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(w0<<2)>>1]=y0>>>0>65535?65535:y0,B0=k+131072+(B0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[B0>>1]|0,e[p0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(lx=h&31,ix=h>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=P0>>>0)){for(f=ge+lx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ge|0;!(h>>>0>f>>>0||(B0=d+(k0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(k0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(D0=h0+ix+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,re=(M*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[hx>>2]|0)>>>0)&&(e[rx>>2]=M,e[Bx>>2]=lx^M,e[mx>>2]=D0,e[hx>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){O0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>N0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,k0=f0&w,l0=e[cx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[cx>>2]=0,e[Mx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(q=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-q|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>h0>>>0?l=l0:_x=71:l>>>0>=f0>>>0|q>>>0>h0>>>0?l=l0:_x=71,(_x|0)==71){for(_x=0,M=l&w,l=0,_=y0;f=_,!(f>>>0>p0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=w0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=Yx,h=Yx,c=1):l=l0}l0=l,u0=u0+1|0}M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,u0=f,d0=l;;){if(B0=u0,u0=u0+-1|0,!B0||(q=q+t0|0,q>>>0>h0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,t0=j[k+262144+(t0<<2)>>1]|0,!v0&&(l=M+l0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=y0;else continue;for(;_=l,!(_>>>0>p0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,l0=f,h=l,_=t0,f=u0,c=1,l=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,p0=dx&65535,N0=k+(B0<<2)|0,w0=f0-(e[N0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<2)+2>>1]=o[B0>>1]|0,e[N0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(ux=l&31,be=l>>>5,Lx=(e[11272+(ux<<2)>>2]|0)+(ex(ux,be)|0)|0,ux>>>0<=P0>>>0)){for(h=Lx+ux|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+Lx|0;!(l>>>0>h>>>0||(B0=d+(k0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(k0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=ux>>>0|(_|0)==0)&&(De=h0+be+1+(s[407930+(ux-_)>>0]<<s[280786+ux>>0])|0,ie=(_*540|0)+3840+(ex((Dx(De|0)|0)^31,-120)|0)|0,ie>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=ux^_,e[fx>>2]=De,e[Ex>>2]=ie,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[z0>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],O0=O0+1|0,(O0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[K0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[K0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=q0+16|0,B0=e[L0>>2]|0,l=p^B0,e[q0>>2]=n0,e[q0+4>>2]=p|B0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(N0=c+-12|0,B0=((Dx(N0|0)|0)^31)+-1|0,dx=N0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|N0-((dx|2)<<B0)),e[q0+8>>2]=p,M=c<<16>>16==0,q=q0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,N0=dx&65535,q0=k+(B0<<2)|0,O0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(N0<<2)>>1]=O0>>>0>65535?65535:O0,B0=k+131072+(B0<<1)|0,o[k+262144+(N0<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,q0=t0,c=0}e[i0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(O0-$>>4),c0=te}function fq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(te=c0,c0=c0+32|0,rx=te+16|0,cx=te,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+524300|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,_x=8)}else c=k+524290|0,n[c>>0]&1&&(Hx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Hx(k+131072|0,0,131072)|0),_x=8;(_x|0)==8&&h>>>0>2&f>>>0>2&&(Mx=f+-3|0,px=d+(Mx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,fx=k+524288|0,Ex=o[fx>>1]|0,o[fx>>1]=Ex+1<<16>>16,$0=Ex&65535,Y0=k+(px<<2)|0,Fx=Mx-(e[Y0>>2]|0)|0,n[(Mx&65535)+(k+196608)>>0]=px,o[k+262144+($0<<2)>>1]=Fx>>>0>65535?65535:Fx,px=k+131072+(px<<1)|0,o[k+262144+($0<<2)+2>>1]=o[px>>1]|0,e[Y0>>2]=Mx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Mx=Y0&65535,$0=k+(Ex<<2)|0,Fx=px-(e[$0>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+(Mx<<2)>>1]=Fx>>>0>65535?65535:Fx,Ex=k+131072+(Ex<<1)|0,o[k+262144+(Mx<<2)+2>>1]=o[Ex>>1]|0,e[$0>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,$0=o[fx>>1]|0,o[fx>>1]=$0+1<<16>>16,fx=$0&65535,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),L0=rx+4|0,K0=rx+8|0,z0=rx+12|0,Bx=rx+4|0,mx=rx+8|0,hx=rx+12|0,ax=k+524288|0,sx=k+524296|0,Q0=k+524292|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,q0=$,c=M;x:for(;;){O0=q0,N0=_+H0|0;e:for(;;){if(P0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(h0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[L0>>2]=0,e[K0>>2]=0,e[z0>>2]=4240,k0=p&w,l0=e[rx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,f0=d0&255,e[rx>>2]=0,e[Bx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(n0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-n0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>h0>>>0?h=l0:_x=17:h>>>0>=p>>>0|n0>>>0>h0>>>0?h=l0:_x=17,(_x|0)==17){for(_x=0,t0=h&w,h=0,M=y0;q=M,!(q>>>0>p0>>>0||(v0=M,g0=d+(t0+h)|0,(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=w0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(Cx=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Cx>>>0)?(e[rx>>2]=h,e[mx>>2]=n0,e[hx>>2]=Cx,f=Cx,l=1):h=l0}l0=h,u0=u0+1|0}t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,u0=q,d0=h;;){if(t0=u0,u0=u0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>h0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,f0=j[k+262144+(f0<<2)>>1]|0,!v0&&(h=t0+l0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=y0;else continue;for(;M=h,!(M>>>0>p0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=w0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[mx>>2]=n0,e[hx>>2]=h,t0=n0,l0=q,f=h,M=f0,q=u0,l=1,h=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,w0=dx&65535,p0=k+(B0<<2)|0,y0=p-(e[p0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(w0<<2)>>1]=y0>>>0>65535?65535:y0,B0=k+131072+(B0<<1)|0,o[k+262144+(w0<<2)+2>>1]=o[B0>>1]|0,e[p0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(lx=h&31,ix=h>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=P0>>>0)){for(f=ge+lx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ge|0;!(h>>>0>f>>>0||(B0=d+(k0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(k0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=lx>>>0|(M|0)==0)&&(D0=h0+ix+1+(s[407930+(lx-M)>>0]<<s[280786+lx>>0])|0,re=(M*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[hx>>2]|0)>>>0)&&(e[rx>>2]=M,e[Bx>>2]=lx^M,e[mx>>2]=D0,e[hx>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){O0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>N0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,k0=dx&65535,P0=k+(B0<<2)|0,h0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(k0<<2)>>1]=h0>>>0>65535?65535:h0,B0=k+131072+(B0<<1)|0,o[k+262144+(k0<<2)+2>>1]=o[B0>>1]|0,e[P0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,k0=f0&w,l0=e[cx>>2]|0,m0=d+k0|0,d0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,t0=d0&255,e[cx>>2]=0,e[Mx>>2]=0,p0=k0+P0|0,w0=d+p0|0,y0=m0,p0=d+(p0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(q=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-q|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>h0>>>0?l=l0:_x=71:l>>>0>=f0>>>0|q>>>0>h0>>>0?l=l0:_x=71,(_x|0)==71){for(_x=0,M=l&w,l=0,_=y0;f=_,!(f>>>0>p0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=w0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=Yx,h=Yx,c=1):l=l0}l0=l,u0=u0+1|0}M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=k0+l0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,u0=f,d0=l;;){if(B0=u0,u0=u0+-1|0,!B0||(q=q+t0|0,q>>>0>h0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(d0<<2)+2>>1]|0,t0=j[k+262144+(t0<<2)>>1]|0,!v0&&(l=M+l0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=y0;else continue;for(;_=l,!(_>>>0>p0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=w0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,l0=f,h=l,_=t0,f=u0,c=1,l=d0}if(B0=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,p0=dx&65535,N0=k+(B0<<2)|0,w0=f0-(e[N0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<2)+2>>1]=o[B0>>1]|0,e[N0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(ux=l&31,be=l>>>5,Lx=(e[11272+(ux<<2)>>2]|0)+(ex(ux,be)|0)|0,ux>>>0<=P0>>>0)){for(h=Lx+ux|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+Lx|0;!(l>>>0>h>>>0||(B0=d+(k0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(k0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=ux>>>0|(_|0)==0)&&(De=h0+be+1+(s[407930+(ux-_)>>0]<<s[280786+ux>>0])|0,ie=(_*540|0)+3840+(ex((Dx(De|0)|0)^31,-120)|0)|0,ie>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=ux^_,e[fx>>2]=De,e[Ex>>2]=ie,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[z0>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],O0=O0+1|0,(O0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[K0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[K0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=q0+16|0,B0=e[L0>>2]|0,l=p^B0,e[q0>>2]=n0,e[q0+4>>2]=p|B0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(N0=c+-12|0,B0=((Dx(N0|0)|0)^31)+-1|0,dx=N0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|N0-((dx|2)<<B0)),e[q0+8>>2]=p,M=c<<16>>16==0,q=q0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,dx=o[ax>>1]|0,o[ax>>1]=dx+1<<16>>16,N0=dx&65535,q0=k+(B0<<2)|0,O0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(N0<<2)>>1]=O0>>>0>65535?65535:O0,B0=k+131072+(B0<<1)|0,o[k+262144+(N0<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,q0=t0,c=0}e[i0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(O0-$>>4),c0=te}function dq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(_x=c0,c0=c0+32|0,rx=_x+16|0,cx=_x,Rx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,ox=f+h|0,Gx=h>>>0>3?ox+-3|0:f,ae=p+4|0,Y0=e[ae>>2]|0,Wx=(Y0|0)<9?64:512,_=Wx+f|0,$x=k+1311756|0,e[$x>>2]=((Y0|0)>6?7:8)<<Y0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,e[k+(Y0<<2)>>2]=-858993460,o[k+131072+(Y0<<1)>>1]=-13108,c=c+1|0;Hx(k+196608|0,0,65536)|0,Hx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,ie=8)}else n[k+1311744>>0]&1&&(Hx(k|0,-52,131072)|0,Hx(k+131072|0,0,131072)|0,Hx(k+1310720|0,0,1025)|0),ie=8;(ie|0)==8&&h>>>0>2&f>>>0>2&&(fx=f+-3|0,px=d+(fx&w)|0,px=(ex(s[px>>0]|s[px+1>>0]<<8|s[px+2>>0]<<16|s[px+3>>0]<<24,506832829)|0)>>>17,Y0=px&511,$0=k+1310720+(Y0<<1)|0,Ex=o[$0>>1]|0,o[$0>>1]=Ex+1<<16>>16,Ex=Ex&511,$0=k+(px<<2)|0,Mx=fx-(e[$0>>2]|0)|0,n[(fx&65535)+(k+196608)>>0]=px,o[k+262144+(Y0<<11)+(Ex<<2)>>1]=Mx>>>0>65535?65535:Mx,px=k+131072+(px<<1)|0,o[k+262144+(Y0<<11)+(Ex<<2)+2>>1]=o[px>>1]|0,e[$0>>2]=fx,o[px>>1]=Ex,px=f+-2|0,Ex=d+(px&w)|0,Ex=(ex(s[Ex>>0]|s[Ex+1>>0]<<8|s[Ex+2>>0]<<16|s[Ex+3>>0]<<24,506832829)|0)>>>17,$0=Ex&511,fx=k+1310720+($0<<1)|0,Y0=o[fx>>1]|0,o[fx>>1]=Y0+1<<16>>16,Y0=Y0&511,fx=k+(Ex<<2)|0,Mx=px-(e[fx>>2]|0)|0,n[(px&65535)+(k+196608)>>0]=Ex,o[k+262144+($0<<11)+(Y0<<2)>>1]=Mx>>>0>65535?65535:Mx,Ex=k+131072+(Ex<<1)|0,o[k+262144+($0<<11)+(Y0<<2)+2>>1]=o[Ex>>1]|0,e[fx>>2]=px,o[Ex>>1]=Y0,Ex=f+-1|0,Y0=d+(Ex&w)|0,Y0=(ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17,fx=Y0&511,px=k+1310720+(fx<<1)|0,$0=o[px>>1]|0,o[px>>1]=$0+1<<16>>16,$0=$0&511,px=k+(Y0<<2)|0,Mx=Ex-(e[px>>2]|0)|0,n[(Ex&65535)+(k+196608)>>0]=Y0,o[k+262144+(fx<<11)+($0<<2)>>1]=Mx>>>0>65535?65535:Mx,Y0=k+131072+(Y0<<1)|0,o[k+262144+(fx<<11)+($0<<2)+2>>1]=o[Y0>>1]|0,e[px>>2]=Ex,o[Y0>>1]=$0),K0=rx+4|0,z0=rx+8|0,Bx=rx+12|0,mx=rx+4|0,hx=rx+8|0,ax=rx+12|0,sx=k+1311752|0,Q0=k+1311748|0,H0=Wx<<2,vx=ox+-4|0,jx=ox+-3|0,zx=cx+12|0,qx=cx+4|0,Fx=cx+8|0,Mx=cx+4|0,fx=cx+8|0,Ex=cx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=M;x:for(;;){N0=L0,q0=_+H0|0;e:for(;;){if(O0=ox-p|0,(p+4|0)>>>0>=ox>>>0)break x;for(k0=p>>>0<Rx>>>0?p:Rx,e[rx>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,u0=e[rx>>2]|0,h0=d+P0|0,d0=(ex(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[rx>>2]=0,e[mx>>2]=0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f=4240,l=0,l0=0;(l0|0)!=16;){if(n0=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,h=p-n0|0,l0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|n0>>>0>k0>>>0?h=u0:ie=17:h>>>0>=p>>>0|n0>>>0>k0>>>0?h=u0:ie=17,(ie|0)==17){for(ie=0,t0=h&w,h=0,M=w0;q=M,!(q>>>0>m0>>>0||(g0=M,y0=d+(t0+h)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)h=h+4|0,M=q+4|0;for(;!(M>>>0>=p0>>>0||(n[d+(t0+h)>>0]|0)!=(n[M>>0]|0));)h=h+1|0,M=M+1|0;h>>>0>1&&(te=(h*540|0)+(e[11500+(l0<<2)>>2]|0)|0,f>>>0<te>>>0)?(e[rx>>2]=h,e[hx>>2]=n0,e[ax>>2]=te,f=te,l=1):h=u0}u0=h,l0=l0+1|0}y0=d0&511,t0=0,M=p-(e[k+(d0<<2)>>2]|0)|0,q=e[$x>>2]|0,h=j[k+131072+(d0<<1)>>1]|0;t:for(;;){for(g0=P0+u0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,n0=t0,f0=M,l0=q,d0=h;;){if(t0=l0,l0=l0+-1|0,!t0||(n0=n0+f0|0,n0>>>0>k0>>>0))break t;if(t0=p-n0&w,f0=d0,d0=j[k+262144+(y0<<11)+(d0<<2)+2>>1]|0,f0=j[k+262144+(y0<<11)+(f0<<2)>>1]|0,!v0&&(h=t0+u0|0,!(h>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+h>>0]|0))q=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(B0=h,dx=d+(t0+q)|0,(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)q=q+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;if(!(q>>>0<=3)&&(h=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[rx>>2]=q,e[hx>>2]=n0,e[ax>>2]=h,t0=n0,u0=q,f=h,M=f0,q=l0,l=1,h=d0}if(B0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,p0=B0&511,m0=k+1310720+(p0<<1)|0,dx=o[m0>>1]|0,o[m0>>1]=dx+1<<16>>16,dx=dx&511,m0=k+(B0<<2)|0,w0=p-(e[m0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(p0<<11)+(dx<<2)>>1]=w0>>>0>65535?65535:w0,B0=k+131072+(B0<<1)|0,o[k+262144+(p0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[m0>>2]=p,o[B0>>1]=dx,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(B0=o[21084+(t0<<1)>>1]|0,h=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(Cx=h&31,lx=h>>>5,ix=(e[11272+(Cx<<2)>>2]|0)+(ex(Cx,lx)|0)|0,Cx>>>0<=O0>>>0)){for(f=ix+Cx|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+ix|0;!(h>>>0>f>>>0||(B0=d+(P0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(P0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=Cx>>>0|(M|0)==0)&&(ge=k0+lx+1+(s[407930+(Cx-M)>>0]<<s[280786+Cx>>0])|0,D0=(M*540|0)+3840+(ex((Dx(ge|0)|0)^31,-120)|0)|0,D0>>>0>=(e[ax>>2]|0)>>>0)&&(e[rx>>2]=M,e[mx>>2]=Cx^M,e[hx>>2]=ge,e[ax>>2]=D0,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,P0=B0&511,O0=k+1310720+(P0<<1)|0,dx=o[O0>>1]|0,o[O0>>1]=dx+1<<16>>16,dx=dx&511,O0=k+(B0<<2)|0,k0=p-(e[O0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(P0<<11)+(dx<<2)>>1]=k0>>>0>65535?65535:k0,B0=k+131072+(B0<<1)|0,o[k+262144+(P0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[O0>>2]=p,o[B0>>1]=dx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=h;;){if(p>>>0>=l>>>0)continue e;B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,P0=B0&511,O0=k+1310720+(P0<<1)|0,dx=o[O0>>1]|0,o[O0>>1]=dx+1<<16>>16,dx=dx&511,O0=k+(B0<<2)|0,k0=p-(e[O0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(P0<<11)+(dx<<2)>>1]=k0>>>0>65535?65535:k0,B0=k+131072+(B0<<1)|0,o[k+262144+(P0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[O0>>2]=p,o[B0>>1]=dx,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[ae>>2]|0)<5?(c=(e[rx>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[cx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Rx>>>0?f0:Rx,P0=f0&w,u0=e[cx>>2]|0,h0=d+P0|0,d0=(ex(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[cx>>2]=0,e[Mx>>2]=0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,h=4240,c=0,l0=0;(l0|0)!=16;){if(q=(e[e0+(e[11372+(l0<<2)>>2]<<2)>>2]|0)+(e[11436+(l0<<2)>>2]|0)|0,l=f0-q|0,l0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==t0<<24>>24:0)^1|q>>>0>k0>>>0?l=u0:ie=71:l>>>0>=f0>>>0|q>>>0>k0>>>0?l=u0:ie=71,(ie|0)==71){for(ie=0,M=l&w,l=0,_=w0;f=_,!(f>>>0>m0>>>0||(dx=_,B0=d+(M+l)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)l=l+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(M+l)>>0]|0)!=(n[_>>0]|0));)l=l+1|0,_=_+1|0;l>>>0>1&&(re=(l*540|0)+(e[11500+(l0<<2)>>2]|0)|0,h>>>0<re>>>0)?(e[cx>>2]=l,e[fx>>2]=q,e[Ex>>2]=re,h=re,c=1):l=u0}u0=l,l0=l0+1|0}y0=d0&511,M=0,_=f0-(e[k+(d0<<2)>>2]|0)|0,f=e[$x>>2]|0,l=j[k+131072+(d0<<1)>>1]|0;e:for(;;){for(g0=P0+u0|0,v0=g0>>>0>w>>>0,g0=d+g0|0,q=M,t0=_,l0=f,d0=l;;){if(B0=l0,l0=l0+-1|0,!B0||(q=q+t0|0,q>>>0>k0>>>0))break e;if(M=f0-q&w,t0=d0,d0=j[k+262144+(y0<<11)+(d0<<2)+2>>1]|0,t0=j[k+262144+(y0<<11)+(t0<<2)>>1]|0,!v0&&(l=M+u0|0,!(l>>>0>w>>>0))){if((n[g0>>0]|0)==(n[d+l>>0]|0))f=0,l=w0;else continue;for(;_=l,!(_>>>0>m0>>>0||(dx=l,B0=d+(M+f)|0,(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)f=f+4|0,l=_+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(M+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[cx>>2]=f,e[fx>>2]=q,e[Ex>>2]=l,M=q,u0=f,h=l,_=t0,f=l0,c=1,l=d0}if(B0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,m0=B0&511,q0=k+1310720+(m0<<1)|0,dx=o[q0>>1]|0,o[q0>>1]=dx+1<<16>>16,dx=dx&511,q0=k+(B0<<2)|0,p0=f0-(e[q0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=B0,o[k+262144+(m0<<11)+(dx<<2)>>1]=p0>>>0>65535?65535:p0,B0=k+131072+(B0<<1)|0,o[k+262144+(m0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[q0>>2]=f0,o[B0>>1]=dx,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,M=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(B0=o[21084+(M<<1)>>1]|0,l=B0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,B0<<16>>16!=0&&(Yx=l&31,ux=l>>>5,be=(e[11272+(Yx<<2)>>2]|0)+(ex(Yx,ux)|0)|0,Yx>>>0<=O0>>>0)){for(h=be+Yx|0,f=280811+h|0,h=280811+(h+-4)|0,_=0,l=280811+be|0;!(l>>>0>h>>>0||(B0=d+(P0+_)|0,(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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(P0+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;!((_+10|0)>>>0<=Yx>>>0|(_|0)==0)&&(Lx=k0+ux+1+(s[407930+(Yx-_)>>0]<<s[280786+Yx>>0])|0,De=(_*540|0)+3840+(ex((Dx(Lx|0)|0)^31,-120)|0)|0,De>>>0>=(e[Ex>>2]|0)>>>0)&&(e[cx>>2]=_,e[Mx>>2]=Yx^_,e[fx>>2]=Lx,e[Ex>>2]=De,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,M=M+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[rx>>2]=e[cx>>2],e[rx+4>>2]=e[cx+4>>2],e[rx+8>>2]=e[cx+8>>2],e[rx+12>>2]=e[cx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<ox>>>0)p=f0,n0=c;else{n0=c;break}}p=e[rx>>2]|0,_=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,B0=e[e0>>2]|0,l=f-B0|0,h=e[Y0>>2]|0,f=f-h|0,(c|0)==(B0|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[rx>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,B0=e[K0>>2]|0,l=p^B0,e[L0>>2]=n0,e[L0+4>>2]=p|B0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,B0=((Dx(q0|0)|0)^31)+-1|0,dx=q0>>>B0&1,c=((B0<<1)+65534|dx)+16&65535,o[p>>1]=c,p=B0<<24|q0-((dx|2)<<B0)),e[L0+8>>2]=p,M=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){B0=n0+-2|0,f=((Dx(B0|0)|0)^31)+-1|0,f=(f<<1)+(B0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){B0=l+-6|0,c=((Dx(B0|0)|0)^31)+-1|0,c=(c<<1)+(B0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[rx>>2]|0)|0,c=c>>>0<Gx>>>0?c:Gx,p=f0+2|0;!(p>>>0>=c>>>0);)B0=d+(p&w)|0,B0=(ex(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24,506832829)|0)>>>17,q0=B0&511,L0=k+1310720+(q0<<1)|0,dx=o[L0>>1]|0,o[L0>>1]=dx+1<<16>>16,dx=dx&511,L0=k+(B0<<2)|0,N0=p-(e[L0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=B0,o[k+262144+(q0<<11)+(dx<<2)>>1]=N0>>>0>65535?65535:N0,B0=k+131072+(B0<<1)|0,o[k+262144+(q0<<11)+(dx<<2)+2>>1]=o[B0>>1]|0,e[L0>>2]=p,o[B0>>1]=dx,p=p+1|0;p=f0+(e[rx>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=_x}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;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,yx[e[c+4>>2]&1](e[f>>2]|0,e[p>>2]|0),e[p>>2]=0,f=Px[e[c>>2]&1](e[f>>2]|0,d<<3)|0,!f)kx(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function tl(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=+a0[19516+(w<<2)>>2]:l=+Kx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+a0[19516+(d<<2)>>2]:p=+Kx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,a0[d>>2]=p,p<1&&(a0[d>>2]=1)):a0[f+(w<<2)>>2]=k,w=w+1|0}function gn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+1024>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function Cu(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+2816>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function mn(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0;if(q=c0,c0=c0+112|0,i0=q+88|0,r0=q+72|0,M=q,$=e[c+2080>>2]|0,$)d=0,e0=0;else return _=12,c0=q,+_;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[i0+(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 _=+($>>>0)+20,c0=q,+_;case 3:return r0=e[c+(e[i0>>2]<<2)>>2]|0,$=e[c+(e[i0+4>>2]<<2)>>2]|0,c=e[c+(e[i0+8>>2]<<2)>>2]|0,M=$>>>0>c>>>0?$:c,_=+(r0+$+c<<1>>>0)+28-+((r0>>>0>M>>>0?r0:M)>>>0),c0=q,+_;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[r0+(f<<2)>>2]=e[c+(e[i0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(i0=r0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=r0+(c<<2)|0,d=e[f>>2]|0,e0=e[i0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[i0>>2]=d,f=c}$=$+1|0}return c=(e[r0+8>>2]|0)+(e[r0+12>>2]|0)|0,M=e[r0>>2]|0,_=+((c*3|0)>>>0)+37+ +(M+(e[r0+4>>2]|0)<<1>>>0)-+((c>>>0>M>>>0?c:M)>>>0),c0=q,+_}case 1:return _=12,c0=q,+_;default:{f=M,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+a0[19516+($<<2)>>2]:w=+Kx(+($>>>0)),i0=M+68|0,h=0,f=0,$=1;x:for(;;){_=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[M>>2]=(e[M>>2]|0)+e0}for(h=_,d=e0+-2|0;;){if(!d){_=h;continue e}e[i0>>2]=(e[i0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+a0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Kx(h)),h=w-h,r0=~~(h+.5)>>>0,r0=r0>>>0>15?15:r0,e0=M+(r0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=_+l*h,f=f+1|0,$=r0>>>0>$>>>0?r0:$}for(x0=+((($<<1)+18|0)>>>0),i0=M+72|0,f=M,h=0,$=0;!(f>>>0>=i0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+a0[19516+(e0<<2)>>2]:p=+Kx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=_+x0,p=+($>>>0),$?($>>>0<256?l=+a0[19516+($<<2)>>2]:l=+Kx(p),w=p,h=h+p*l):w=p,_=k+(h<w?w:h),c0=q,+_}}return 0}function lq(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0;for(vx=c0,c0=c0+6688|0,Q0=vx+2832|0,sx=vx,mx=vx+6432|0,z0=vx+6176|0,hx=vx+5920|0,Bx=vx+5664|0,$=0,m0=0;($|0)!=(f|0);)H0=m0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,m0=H0;for(H0=c+8|0,L0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,L0||kx(1),M=w+1|0,r0=0,_=0;$=d&w,(_|0)!=(f|0);)d=e[h+(_<<4)>>2]|0,($+d|0)>>>0>w>>>0?(q0=M-$|0,Zx(L0+r0|0,l+$|0,q0|0)|0,$=0,x0=d-q0|0,d=r0+q0|0):(x0=d,d=r0),x0&&(Zx(L0+d|0,l+$|0,x0|0)|0,d=d+x0|0),r0=d,d=$+x0+(e[h+(_<<4)+4>>2]&16777215)|0,_=_+1|0;f0=((m0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(m0){if(m0>>>0<128){if(_=k+16|0,d=e[_>>2]|0,M=k+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=k+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[c+4>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=k+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=k+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[c+4>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>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[M>>2]<<2)>>2]=m0,e[M>>2]=(e[M>>2]|0)+1;break}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,f0*1040|0)|0,p0||kx(1),$=0;($|0)!=(f0|0);)Hx(p0+($*1040|0)|0,0,1024)|0,e[p0+($*1040|0)+1024>>2]=0,s0[p0+($*1040|0)+1032>>3]=X0,$=$+1|0;for(_=(m0>>>0)/(f0>>>0)|0,M=m0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((ex(m0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(_>>>0)|0)|0),x0=p0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,r0=L0+(($+70|0)>>>0<m0>>>0?$:M)|0;$=x0+-1|0,!!$;)x0=p0+(l*1040|0)+(s[r0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,r0=r0+1|0;l=l+1|0}for(e[Q0>>2]=7,x0=((m0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,r0=sx+1024|0,_=sx+1032|0,M=m0>>>0>70,l=m0+-69|0,w=sx+1024|0,n0=0;!(n0>>>0>=x0>>>0);){for(Hx(sx|0,0,1028)|0,s0[_>>3]=X0,M?(d=(e[Q0>>2]|0)*16807|0,q0=(d|0)==0,e[Q0>>2]=q0?1:d,$=70,d=((q0?1:d)>>>0)%(l>>>0)|0):($=m0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=L0+d|0;$=$+-1|0,!!$;)q0=sx+(s[d>>0]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,d=d+1|0;for($=(n0>>>0)%(f0>>>0)|0,d=p0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[r0>>2]|0),d=0;(d|0)!=256;)q0=p0+($*1040|0)+(d<<2)|0,e[q0>>2]=(e[q0>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;n0=n0+1|0}q0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,q0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<11)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<3)|0,g0||kx(1),y0=ex(m0,(f0+7|0)>>>3)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,f0<<1)|0,w0||kx(1),l0=(e[p+4>>2]|0)<11?3:10,u0=m0+-1|0,d0=q0+u0|0,O0=0,n0=0;x:for(;;){if(n0>>>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)==(m0|0)){r0=1;break e}n[q0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[p0+(d*1040|0)+1024>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,f0)|0,r0=0;;){if((r0|0)==(f0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,f0<<3|0)|0,Hx(y0|0,0,ex(m0,w)|0)|0,r0=0;!(r0>>>0>=m0>>>0);){for($=ex(s[L0+r0>>0]|0,f0)|0,d=q0+r0|0,t0=1e99,x0=0;(x0|0)!=(f0|0);)O0=g0+(x0<<3)|0,q=+s0[O0>>3]+ +s0[v0+($+x0<<3)>>3],s0[O0>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*28.1:q=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}O0=y0+(d+$)|0,n[O0>>0]=n[O0>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=111;break x}l=r0+-1|0,d=d-w|0,r0=q0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(P0=n[r0>>0]|0,O0=$<<24>>24==P0<<24>>24,$=O0?$:P0,x0=O0?x0:x0+1|0),n[r0>>0]=$,r0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=m0>>>0){d=0;break}if(d=s[q0+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>=m0>>>0);){if(P0=q0+d|0,O0=o[w0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=O0,(O0&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}Hx(p0+(d*1040|0)|0,0,1024)|0,e[p0+(d*1040|0)+1024>>2]=0,s0[p0+(d*1040|0)+1032>>3]=X0,d=d+1|0}for(;($|0)!=(m0|0);)O0=s[q0+$>>0]|0,P0=p0+(O0*1040|0)+(s[L0+$>>0]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,O0=p0+(O0*1040|0)+1024|0,e[O0>>2]=(e[O0>>2]|0)+1,$=$+1|0;O0=r0,f0=x0,n0=n0+1|0}if((l|0)==73)j0(404083,403848,80,404281);else if((l|0)==104)j0(404124,403848,130,404281);else if((l|0)==111)j0(404145,403848,141,404281);else if((l|0)==120)j0(404005,403848,165,404260);else if((l|0)==126)j0(404005,403848,172,404260);else if((l|0)==129)j0(404057,403848,174,404260);else if((l|0)==136){for(P0=c+4|0,yx[e[P0>>2]&1](e[H0>>2]|0,v0),yx[e[P0>>2]&1](e[H0>>2]|0,g0),yx[e[P0>>2]&1](e[H0>>2]|0,y0),yx[e[P0>>2]&1](e[H0>>2]|0,w0),yx[e[P0>>2]&1](e[H0>>2]|0,p0),$=O0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((O0<<4)+1008|0)>>>6,p0=Px[e[c>>2]&1](e[H0>>2]|0,M*1040|0)|0,r0=p0,p0||kx(1),p0=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=p0,p0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(O0>>>0<64?O0:64)*1040|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=m0>>>0);){if(d>>>0>=O0>>>0){l=151;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(m0|0)&&(n[q0+x0>>0]|0)==(n[q0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&j0(403825,403848,231,404239),(d|0)!=(O0|0)&&j0(403911,403848,237,404239),l0=M,f0=M,p0=0,$=0,v0=0;;){if(O0>>>0<=v0>>>0){l=193;break}for(d0=O0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*1040|0)|0,Hx(x0|0,0,1024)|0,M=g0+(w*1040|0)+1024|0,e[M>>2]=0,s0[g0+(w*1040|0)+1032>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)m0=g0+(w*1040|0)+(s[L0+$>>0]<<2)|0,e[m0>>2]=(e[m0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*1040|0)+1032>>3]=+gn(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=vu(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=p0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*1040|0)|0,!d){l=170;break}x0||Zx(d|0,r0|0,l0*1040|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=p0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=179;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+p0|0,M=p0,l=p0,w=0;;){if((w|0)==(u0|0)){d=0;break}m0=z0+(w<<2)|0,w0=e[m0>>2]|0,Zx(d+(M*1040|0)|0,g0+(w0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[mx+(w0<<2)>>2],e[Bx+(e[m0>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=p0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+p0|0,(p0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(n0|0)){l=191;break}p0=d,v0=v0+64|0}if((l|0)==170)kx(1);else if((l|0)==179)kx(1);else if((l|0)==189)j0(403935,403848,273,404239);else if((l|0)==191)j0(403969,403848,274,404239);else if((l|0)==193){yx[e[P0>>2]&1](e[H0>>2]|0,g0),m0=p0<<6,x0=ex(p0>>>1,p0)|0,x0=m0>>>0<x0>>>0?m0:x0;do if((x0+1|0)>>>0>2049){if(yx[e[P0>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){N0=$;break}kx(1)}else N0=y0;while(!1);for(d=p0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(p0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=vu(y0,_,h0,w0,N0,p0,O0,256,x0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,N0),yx[e[P0>>2]&1](e[H0>>2]|0,_),m0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,m0||kx(1),$=0;($|0)!=(p0|0);)e[m0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+1024|0,l0=sx+1032|0,u0=Q0+1024|0,d0=Q0+1024|0,$=0,d=0,v0=0;(v0|0)!=(O0|0);){for(Hx(sx|0,0,1028)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(s[L0+n0>>0]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,1040)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)N0=Q0+(d<<2)|0,e[N0>>2]=(e[N0>>2]|0)+(e[y0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;q=+gn(Q0),q=q-+s0[y0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*1040|0)+1024>>2]|0),_=0;(_|0)!=256;)N0=Q0+(_<<2)|0,e[N0>>2]=(e[N0>>2]|0)+(e[y0+(x0*1040|0)+(_<<2)>>2]|0),_=_+1|0;t0=+gn(Q0),t0=t0-+s0[y0+(x0*1040|0)+1032>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=m0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[P0>>2]&1](e[H0>>2]|0,w0),yx[e[P0>>2]&1](e[H0>>2]|0,r0),_=k+16|0,$=e[_>>2]|0,$>>>0<O0>>>0){for(r0=($|0)==0?O0:$;!(r0>>>0>=O0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=k+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=k+20|0,$=e[_>>2]|0,$>>>0<O0>>>0){for(r0=($|0)==0?O0:$;!(r0>>>0>=O0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=k+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[P0>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=k+12|0;for(_=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(O0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(O0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[m0+(d<<2)>>2]|0,N0=x0&255,n[(e[_>>2]|0)+l>>0]=N0,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(N0&255)?w&255:x0&255)&255,x0=M}e[k+4>>2]=l,e[k>>2]=(w&255)+1,yx[e[P0>>2]&1](e[H0>>2]|0,m0),yx[e[P0>>2]&1](e[H0>>2]|0,k0),yx[e[P0>>2]&1](e[H0>>2]|0,h0),yx[e[P0>>2]&1](e[H0>>2]|0,q0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,yx[e[k>>2]&1](e[H0>>2]|0,L0),N0=f<<1,q0=Px[e[c>>2]&1](e[H0>>2]|0,N0)|0,q0||kx(1),$=0;($|0)!=(f|0);)o[q0+($<<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(_=e0+16|0,d=e[_>>2]|0,M=e0+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=e0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=e0+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=e0+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>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[M>>2]<<2)>>2]=f,e[M>>2]=(e[M>>2]|0)+1;break}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,l0*2832|0)|0,p0||kx(1),$=0;($|0)!=(l0|0);)Hx(p0+($*2832|0)|0,0,2816)|0,e[p0+($*2832|0)+2816>>2]=0,s0[p0+($*2832|0)+2824>>3]=X0,$=$+1|0;for(r0=(f>>>0)/(l0>>>0)|0,_=f+-41|0,d=7,M=0;(M|0)!=(l0|0);){for($=((ex(M,f)|0)>>>0)/(l0>>>0)|0,M&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(r0>>>0)|0)|0),x0=p0+(M*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=q0+((($+40|0)>>>0<f>>>0?$:_)<<1)|0,$=41;$=$+-1|0,!!$;)L0=p0+(M*2832|0)+(j[x0>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,x0=x0+2|0;M=M+1|0}for(e[Q0>>2]=7,r0=((N0>>>0)/40|0)+100+l0+-1|0,r0=r0-((r0>>>0)%(l0>>>0)|0)|0,_=sx+2816|0,M=sx+2824|0,l=f>>>0>40,w=f+-39|0,n0=sx+2816|0,f0=0;!(f0>>>0>=r0>>>0);){for(Hx(sx|0,0,2820)|0,s0[M>>3]=X0,l?($=(e[Q0>>2]|0)*16807|0,L0=($|0)==0,e[Q0>>2]=L0?1:$,d=40,$=((L0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[n0>>2]=(e[n0>>2]|0)+d,x0=q0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)L0=sx+(j[x0>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=p0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[_>>2]|0),d=0;(d|0)!=704;)L0=p0+($*2832|0)+(d<<2)|0,e[L0>>2]=(e[L0>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}O0=Px[e[c>>2]&1](e[H0>>2]|0,f)|0,O0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,l0*5632|0)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<3)|0,g0||kx(1),y0=ex((l0+7|0)>>>3,f)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<1)|0,w0||kx(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,d0=O0+u0|0,P0=0,n0=0;x:for(;;){if(n0>>>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)){r0=1;break e}n[O0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,l0*5632|0)|0,d=0;;){if((d|0)==(l0|0)){$=704;break}$=e[p0+(d*2832|0)+2816>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,l0)|0,r0=0;;){if((r0|0)==(l0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,l0<<3|0)|0,Hx(y0|0,0,ex(w,f)|0)|0,r0=0;!(r0>>>0>=f>>>0);){for($=ex(j[q0+(r0<<1)>>1]|0,l0)|0,d=O0+r0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)L0=g0+(x0<<3)|0,q=+s0[L0>>3]+ +s0[v0+($+x0<<3)>>3],s0[L0>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*13.5:q=13.5,x0=0;!(x0>>>0>=l0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}L0=y0+(d+$)|0,n[L0>>0]=n[L0>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=357;break x}l=r0+-1|0,d=d-w|0,r0=O0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(P0=n[r0>>0]|0,L0=$<<24>>24==P0<<24>>24,$=L0?$:P0,x0=L0?x0:x0+1|0),n[r0>>0]=$,r0=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[O0+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(P0=O0+d|0,L0=o[w0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=L0,(L0&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}Hx(p0+(d*2832|0)|0,0,2816)|0,e[p0+(d*2832|0)+2816>>2]=0,s0[p0+(d*2832|0)+2824>>3]=X0,d=d+1|0}for(;($|0)!=(f|0);)L0=s[O0+$>>0]|0,P0=p0+(L0*2832|0)+(j[q0+($<<1)>>1]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,L0=p0+(L0*2832|0)+2816|0,e[L0>>2]=(e[L0>>2]|0)+1,$=$+1|0;P0=r0,l0=x0,n0=n0+1|0}if((l|0)==319)j0(404083,403848,80,404221);else if((l|0)==350)j0(404124,403848,130,404221);else if((l|0)==357)j0(404145,403848,141,404221);else if((l|0)==366)j0(404005,403848,165,404200);else if((l|0)==372)j0(404005,403848,172,404200);else if((l|0)==375)j0(404057,403848,174,404200);else if((l|0)==382){for(yx[e[k>>2]&1](e[H0>>2]|0,v0),yx[e[k>>2]&1](e[H0>>2]|0,g0),yx[e[k>>2]&1](e[H0>>2]|0,y0),yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,p0),$=P0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((P0<<4)+1008|0)>>>6,L0=Px[e[c>>2]&1](e[H0>>2]|0,M*2832|0)|0,r0=L0,L0||kx(1),L0=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=L0,L0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(P0>>>0<64?P0:64)*2832|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=P0>>>0){l=397;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[O0+x0>>0]|0)==(n[O0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&j0(403825,403848,231,404179),(d|0)!=(P0|0)&&j0(403911,403848,237,404179),l0=M,f0=M,p0=0,$=0,v0=0;;){if(P0>>>0<=v0>>>0){l=439;break}for(d0=P0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*2832|0)|0,Hx(x0|0,0,2816)|0,M=g0+(w*2832|0)+2816|0,e[M>>2]=0,s0[g0+(w*2832|0)+2824>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)L0=g0+(w*2832|0)+(j[q0+($<<1)>>1]<<2)|0,e[L0>>2]=(e[L0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*2832|0)+2824>>3]=+Cu(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=Dg(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=p0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*2832|0)|0,!d){l=416;break}x0||Zx(d|0,r0|0,l0*2832|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=p0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=425;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+p0|0,M=p0,l=p0,w=0;;){if((w|0)==(u0|0)){d=0;break}L0=z0+(w<<2)|0,m0=e[L0>>2]|0,Zx(d+(M*2832|0)|0,g0+(m0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[mx+(m0<<2)>>2],e[Bx+(e[L0>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=p0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+p0|0,(p0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(n0|0)){l=437;break}p0=d,v0=v0+64|0}if((l|0)==416)kx(1);else if((l|0)==425)kx(1);else if((l|0)==435)j0(403935,403848,273,404179);else if((l|0)==437)j0(403969,403848,274,404179);else if((l|0)==439){yx[e[k>>2]&1](e[H0>>2]|0,g0),L0=p0<<6,x0=ex(p0>>>1,p0)|0,x0=L0>>>0<x0>>>0?L0:x0;do if((x0+1|0)>>>0>2049){if(yx[e[k>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){K0=$;break}kx(1)}else K0=y0;while(!1);for(d=p0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(p0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=Dg(y0,_,h0,w0,K0,p0,P0,256,x0)|0,yx[e[k>>2]&1](e[H0>>2]|0,K0),yx[e[k>>2]&1](e[H0>>2]|0,_),m0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,m0||kx(1),$=0;($|0)!=(p0|0);)e[m0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+2816|0,l0=sx+2824|0,u0=Q0+2816|0,d0=Q0+2816|0,$=0,d=0,v0=0;(v0|0)!=(P0|0);){for(Hx(sx|0,0,2820)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(j[q0+(n0<<1)>>1]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,2832)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)K0=Q0+(d<<2)|0,e[K0>>2]=(e[K0>>2]|0)+(e[y0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;q=+Cu(Q0),q=q-+s0[y0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*2832|0)+2816>>2]|0),_=0;(_|0)!=704;)K0=Q0+(_<<2)|0,e[K0>>2]=(e[K0>>2]|0)+(e[y0+(x0*2832|0)+(_<<2)>>2]|0),_=_+1|0;t0=+Cu(Q0),t0=t0-+s0[y0+(x0*2832|0)+2824>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=m0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,r0),_=e0+16|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=e0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=e0+20|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=e0+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=e0+12|0;for(_=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(P0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[m0+(d<<2)>>2]|0,K0=x0&255,n[(e[_>>2]|0)+l>>0]=K0,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(K0&255)?w&255:x0&255)&255,x0=M}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,yx[e[k>>2]&1](e[H0>>2]|0,m0),yx[e[k>>2]&1](e[H0>>2]|0,k0),yx[e[k>>2]&1](e[H0>>2]|0,h0),yx[e[k>>2]&1](e[H0>>2]|0,O0);break}}}else e[e0>>2]=1;while(!1);for(yx[e[k>>2]&1](e[H0>>2]|0,q0),N0=Px[e[c>>2]&1](e[H0>>2]|0,N0)|0,N0||kx(1),m0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(j[h+(d<<4)+12>>1]|0)>127?(o[N0+(m0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=m0+1|0):$=m0,m0=$,d=d+1|0;if(l0=((m0>>>0)/544|0)+1|0,l0=l0>>>0>50?50:l0,!m0){e[i0>>2]=1,c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}if(m0>>>0<128){if(_=i0+16|0,d=e[_>>2]|0,M=i0+4|0,$=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=i0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0,$=e[M>>2]|0}if(_=i0+20|0,d=e[_>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(r0=(d|0)==0?x0:d;!(r0>>>0>=x0>>>0);)r0=r0<<1;$=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,$||kx(1),x0=e[_>>2]|0,d=i0+12|0,x0&&Zx($|0,e[d>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[_>>2]=r0,$=e[M>>2]|0}else d=i0+12|0;e[i0>>2]=1,n[(e[i0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[M>>2]<<2)>>2]=m0,e[M>>2]=(e[M>>2]|0)+1,c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}for(p0=Px[e[c>>2]&1](e[H0>>2]|0,l0*2096|0)|0,p0||kx(1),$=0;($|0)!=(l0|0);)Hx(p0+($*2096|0)|0,0,2080)|0,e[p0+($*2096|0)+2080>>2]=0,s0[p0+($*2096|0)+2088>>3]=X0,$=$+1|0;for(r0=(m0>>>0)/(l0>>>0)|0,_=m0+-41|0,d=7,M=0;(M|0)!=(l0|0);){for($=((ex(m0,M)|0)>>>0)/(l0>>>0)|0,M&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(r0>>>0)|0)|0),x0=p0+(M*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=N0+((($+40|0)>>>0<m0>>>0?$:_)<<1)|0,$=41;$=$+-1|0,!!$;)f=p0+(M*2096|0)+(j[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;M=M+1|0}for(e[Q0>>2]=7,r0=((m0<<1>>>0)/40|0)+100+l0+-1|0,r0=r0-((r0>>>0)%(l0>>>0)|0)|0,_=sx+2080|0,M=sx+2088|0,l=m0>>>0>40,w=m0+-39|0,n0=sx+2080|0,f0=0;!(f0>>>0>=r0>>>0);){for(Hx(sx|0,0,2084)|0,s0[M>>3]=X0,l?($=(e[Q0>>2]|0)*16807|0,f=($|0)==0,e[Q0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=m0,$=0),e[n0>>2]=(e[n0>>2]|0)+d,x0=N0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=sx+(j[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(l0>>>0)|0,d=p0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[_>>2]|0),d=0;(d|0)!=520;)f=p0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[sx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}O0=Px[e[c>>2]&1](e[H0>>2]|0,m0)|0,O0||kx(1),v0=Px[e[c>>2]&1](e[H0>>2]|0,l0*4160|0)|0,v0||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<3)|0,g0||kx(1),y0=ex(m0,(l0+7|0)>>>3)|0,y0=Px[e[c>>2]&1](e[H0>>2]|0,y0)|0,y0||kx(1),w0=Px[e[c>>2]&1](e[H0>>2]|0,l0<<1)|0,w0||kx(1),f0=(e[p+4>>2]|0)<11?3:10,u0=m0+-1|0,d0=O0+u0|0,P0=0,n0=0;x:for(;;){if(n0>>>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)==(m0|0)){r0=1;break e}n[O0+$>>0]=0,$=$+1|0}else{for(Hx(v0|0,0,l0*4160|0)|0,d=0;;){if((d|0)==(l0|0)){$=520;break}$=e[p0+(d*2096|0)+2080>>2]|0,$>>>0<256?q=+a0[19516+($<<2)>>2]:q=+Kx(+($>>>0)),s0[v0+(d<<3)>>3]=q,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ex($,l0)|0,r0=0;;){if((r0|0)==(l0|0))continue t;t0=+s0[v0+(r0<<3)>>3],d=e[p0+(r0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){q=+a0[19516+(d<<2)>>2];break}else{q=+Kx(+(d>>>0));break}else q=-2;while(!1);s0[v0+(x0+r0<<3)>>3]=t0-q,r0=r0+1|0}for(Hx(g0|0,0,l0<<3|0)|0,Hx(y0|0,0,ex(m0,w)|0)|0,r0=0;!(r0>>>0>=m0>>>0);){for($=ex(j[N0+(r0<<1)>>1]|0,l0)|0,d=O0+r0|0,t0=1e99,x0=0;(x0|0)!=(l0|0);)p=g0+(x0<<3)|0,q=+s0[p>>3]+ +s0[v0+($+x0<<3)>>3],s0[p>>3]=q,q<t0?n[d>>0]=x0:q=t0,t0=q,x0=x0+1|0;for(d=ex(r0,w)|0,r0>>>0<2e3?q=(+(r0>>>0)*.07/2e3+.77)*14.6:q=14.6,x0=0;!(x0>>>0>=l0>>>0);){if($=g0+(x0<<3)|0,jx=+s0[$>>3]-t0,s0[$>>3]=jx,jx>=q){if(s0[$>>3]=q,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=y0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}r0=r0+1|0}for(d=ex(u0,w)|0,r0=u0,$=n[d0>>0]|0,x0=1;;){if(!r0){r0=x0;break e}if(_=$&255,M=_>>>3,M>>>0>=w>>>0){l=606;break x}l=r0+-1|0,d=d-w|0,r0=O0+l|0,(n[y0+(d+M)>>0]&(1<<(_&7)&255))<<24>>24&&(f=n[r0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[r0>>0]=$,r0=l}}while(!1);for($=0;;){if(($|0)==(l0|0)){$=0,x0=0;break}o[w0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=m0>>>0){d=0;break}if(d=s[O0+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>=m0>>>0);){if(f=O0+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}Hx(p0+(d*2096|0)|0,0,2080)|0,e[p0+(d*2096|0)+2080>>2]=0,s0[p0+(d*2096|0)+2088>>3]=X0,d=d+1|0}for(;($|0)!=(m0|0);)p=s[O0+$>>0]|0,f=p0+(p*2096|0)+(j[N0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=p0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;P0=r0,l0=x0,n0=n0+1|0}if((l|0)==568)j0(404083,403848,80,404105);else if((l|0)==599)j0(404124,403848,130,404105);else if((l|0)==606)j0(404145,403848,141,404105);else if((l|0)==615)j0(404005,403848,165,404035);else if((l|0)==621)j0(404005,403848,172,404035);else if((l|0)==624)j0(404057,403848,174,404035);else if((l|0)==631){for(yx[e[k>>2]&1](e[H0>>2]|0,v0),yx[e[k>>2]&1](e[H0>>2]|0,g0),yx[e[k>>2]&1](e[H0>>2]|0,y0),yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,p0),$=P0<<2,h0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,h0||kx(1),k0=Px[e[c>>2]&1](e[H0>>2]|0,$)|0,k0||kx(1),M=((P0<<4)+1008|0)>>>6,p=Px[e[c>>2]&1](e[H0>>2]|0,M*2096|0)|0,r0=p,p||kx(1),p=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,_=p,p||kx(1),g0=Px[e[c>>2]&1](e[H0>>2]|0,(P0>>>0<64?P0:64)*2096|0)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[H0>>2]|0,49176)|0,y0||kx(1),Hx(mx|0,0,256)|0,Hx(z0|0,0,256)|0,Hx(hx|0,0,256)|0,Hx(Bx|0,0,256)|0,Hx(k0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=m0>>>0);){if(d>>>0>=P0>>>0){l=646;break}if($=k0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(m0|0)&&(n[O0+x0>>0]|0)==(n[O0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&j0(403825,403848,231,403889),(d|0)!=(P0|0)&&j0(403911,403848,237,403889),l0=M,f0=M,m0=0,$=0,v0=0;;){if(P0>>>0<=v0>>>0){l=688;break}for(d0=P0-v0|0,d0=d0>>>0<64?d0:64,w=0;(w|0)!=(d0|0);){for(x0=g0+(w*2096|0)|0,Hx(x0|0,0,2080)|0,M=g0+(w*2096|0)+2080|0,e[M>>2]=0,s0[g0+(w*2096|0)+2088>>3]=X0,l=k0+(v0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=g0+(w*2096|0)+(j[N0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,$=$+1|0,d=d+1|0;s0[g0+(w*2096|0)+2088>>3]=+mn(x0),e[z0+(w<<2)>>2]=w,e[hx+(w<<2)>>2]=w,e[mx+(w<<2)>>2]=1,w=w+1|0}if(u0=Au(g0,mx,hx,z0,y0,d0,d0,64,2048)|0,d=m0+u0|0,l0>>>0<d>>>0){for(x0=(l0|0)==0,M=x0?d:l0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M*2096|0)|0,!d){l=665;break}x0||Zx(d|0,r0|0,l0*2096|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,r0),r0=d,l0=M}if(d=m0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,M=x0?d:f0;!(M>>>0>=d>>>0);)M=M<<1;if(d=Px[e[c>>2]&1](e[H0>>2]|0,M<<2)|0,!d){l=674;break}x0||Zx(d|0,_|0,f0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,_),_=d,f0=M}for(d=r0,x0=_,n0=u0+m0|0,M=m0,l=m0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=z0+(w<<2)|0,f=e[p>>2]|0,Zx(d+(M*2096|0)|0,g0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[mx+(f<<2)>>2],e[Bx+(e[p>>2]<<2)>>2]=w,M=M+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(d0|0);)e[h0+(v0+d<<2)>>2]=m0+(e[Bx+(e[hx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+m0|0,(m0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(n0|0)){l=686;break}m0=d,v0=v0+64|0}if((l|0)==665)kx(1);else if((l|0)==674)kx(1);else if((l|0)==684)j0(403935,403848,273,403889);else if((l|0)==686)j0(403969,403848,274,403889);else if((l|0)==688){yx[e[k>>2]&1](e[H0>>2]|0,g0),hx=m0<<6,x0=ex(m0>>>1,m0)|0,x0=hx>>>0<x0>>>0?hx:x0;do if((x0+1|0)>>>0>2049){if(yx[e[k>>2]&1](e[H0>>2]|0,y0),$=Px[e[c>>2]&1](e[H0>>2]|0,(x0*24|0)+24|0)|0,$){ax=$;break}kx(1)}else ax=y0;while(!1);for(d=m0<<2,w0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,w0||kx(1),$=0;($|0)!=(m0|0);)e[w0+($<<2)>>2]=$,$=$+1|0;for(y0=r0,g0=Au(y0,_,h0,w0,ax,m0,P0,256,x0)|0,yx[e[k>>2]&1](e[H0>>2]|0,ax),yx[e[k>>2]&1](e[H0>>2]|0,_),p0=Px[e[c>>2]&1](e[H0>>2]|0,d)|0,p0||kx(1),$=0;($|0)!=(m0|0);)e[p0+($<<2)>>2]=-1,$=$+1|0;for(f0=sx+2080|0,l0=sx+2088|0,u0=Q0+2080|0,d0=Q0+2080|0,$=0,d=0,v0=0;(v0|0)!=(P0|0);){for(Hx(sx|0,0,2084)|0,s0[l0>>3]=X0,x0=k0+(v0<<2)|0,_=0,n0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)_=sx+(j[N0+(n0<<1)>>1]<<2)|0,e[_>>2]=(e[_>>2]|0)+1,_=(e[f0>>2]|0)+1|0,e[f0>>2]=_,n0=n0+1|0,d=d+1|0;if(x0=e[((v0|0)==0?h0:h0+(v0+-1<<2)|0)>>2]|0,w=(_|0)==0,w)q=0;else{for(Zx(Q0|0,sx|0,2096)|0,e[d0>>2]=(e[d0>>2]|0)+(e[y0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)ax=Q0+(d<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[y0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;q=+mn(Q0),q=q-+s0[y0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(g0|0);){if(M=w0+(l<<2)|0,x0=e[M>>2]|0,w)t0=0;else{for(Zx(Q0|0,sx|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[y0+(x0*2096|0)+2080>>2]|0),_=0;(_|0)!=520;)ax=Q0+(_<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[y0+(x0*2096|0)+(_<<2)>>2]|0),_=_+1|0;t0=+mn(Q0),t0=t0-+s0[y0+(x0*2096|0)+2088>>3]}t0<q&&(q=t0,d=e[M>>2]|0),l=l+1|0}e[h0+(v0<<2)>>2]=d,d=p0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=n0,v0=v0+1|0}if(yx[e[k>>2]&1](e[H0>>2]|0,w0),yx[e[k>>2]&1](e[H0>>2]|0,r0),_=i0+16|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0)|0,d||kx(1),x0=e[_>>2]|0,$=i0+8|0,x0&&Zx(d|0,e[$>>2]|0,x0|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}if(_=i0+20|0,$=e[_>>2]|0,$>>>0<P0>>>0){for(r0=($|0)==0?P0:$;!(r0>>>0>=P0>>>0);)r0=r0<<1;d=Px[e[c>>2]&1](e[H0>>2]|0,r0<<2)|0,d||kx(1),x0=e[_>>2]|0,$=i0+12|0,x0&&Zx(d|0,e[$>>2]|0,x0<<2|0)|0,yx[e[k>>2]&1](e[H0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[_>>2]=r0}else $=i0+12|0;for(_=i0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(r0=d+(e[k0+(x0<<2)>>2]|0)|0,M=x0+1|0,d=e[h0+(x0<<2)>>2]|0,(M|0)!=(P0|0)&&(d|0)==(e[h0+(M<<2)>>2]|0)){d=r0,x0=M;continue}x0=e[p0+(d<<2)>>2]|0,c=x0&255,n[(e[_>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=r0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=M}e[i0+4>>2]=l,e[i0>>2]=(w&255)+1,yx[e[k>>2]&1](e[H0>>2]|0,p0),yx[e[k>>2]&1](e[H0>>2]|0,k0),yx[e[k>>2]&1](e[H0>>2]|0,h0),yx[e[k>>2]&1](e[H0>>2]|0,O0),c=e[k>>2]|0,i0=e[H0>>2]|0,yx[c&1](i0,N0),c0=vx;return}}}function $o(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0;d0=c0,c0=c0+1552|0,l0=d0+840|0,u0=d0+136|0,t0=d0+72|0,n0=d0+112|0,f0=d0+76|0,M=d0,e[t0>>2]=0,p=n0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=M,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(_=h,w=0):j0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)_=_+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,i0=0;!(x0>>>0>=_>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=_>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(r0=p<<24>>24==0,h=r0?h+1|0:h,w=r0?i0+$|0:i0,$>>>0>3&&!r0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=i0),x0=x0+$|0,e0=p,i0=w}w=e0>>>0>k<<1>>>0&1,h=i0>>>0>h<<1>>>0&1}else w=0,h=0;r0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=_>>>0);){i0=n[c+x0>>0]|0,p=i0<<24>>24==0,p?r0?(h=1,q=30):(w=x0,h=1,q=23):$?(h=1,q=43):(w=x0,h=1,q=23);e:do if((q|0)==23){for(;q=0,w=w+1|0,!(w>>>0>=_>>>0||(n[c+w>>0]|0)!=i0<<24>>24);)h=h+1|0,q=23;if(!p)if(h){q=43;break}else{q=42;break x}if((h|0)!=11)if(h>>>0<3){q=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);)g0=l0+k|0,v0=n[g0>>0]|0,i0=l0+w|0,n[g0>>0]=n[i0>>0]|0,n[i0>>0]=v0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}i0=u0+p|0,v0=n[i0>>0]|0,g0=u0+w|0,n[i0>>0]=n[g0>>0]|0,n[g0>>0]=v0,p=p+1|0}}while(!1);e:do if((q|0)==30)for(q=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((q|0)==43){if(q=0,e0<<24>>24==i0<<24>>24?w=h:(n[l0+(e[t0>>2]|0)>>0]=i0,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]=i0,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=i0;break e}n[l0+(e[t0>>2]|0)>>0]=i0,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,v0=n[e0>>0]|0,g0=l0+w|0,n[e0>>0]=n[g0>>0]|0,n[g0>>0]=v0,k=k+1|0;for(w=e[t0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=i0;break e}e0=u0+p|0,v0=n[e0>>0]|0,g0=u0+w|0,n[e0>>0]=n[g0>>0]|0,n[g0>>0]=v0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((q|0)==42&&j0(406724,406674,168,406740),h=e[t0>>2]|0,w=0;;){if((w|0)==(h|0)){r0=0,w=0,p=0;break}g0=M+(s[l0+w>>0]<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[M+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=r0;else h=p,w=1;else h=r0;r0=h,p=p+1|0}j2(M,18,5,f,n0),wn(n0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[n0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[n0+1>>0]|0)==0&&(n[n0+2>>0]|0)==0?h=(n[n0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,v0=s[$>>0]|0,f=Sx(h|0,0,f&7|0)|0,g0=S0,f=v0|f,v0=$,n[v0>>0]=f,n[v0+1>>0]=f>>8,n[v0+2>>0]=f>>16,n[v0+3>>0]=f>>24,$=$+4|0,n[$>>0]=g0,n[$+1>>0]=g0>>8,n[$+2>>0]=g0>>16,n[$+3>>0]=g0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[n0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,i0=s[e0>>0]|0,g0=wx(k|0,0,p&255|0)|0,!((g0|0)==0&(S0|0)==0)){q=76;break}M=Sx(k|0,0,$&7|0)|0,v0=S0,M=i0|M,g0=e0,f=g0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>24,g0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=g0,$=g0,h=h+1|0}(q|0)==76&&j0(406196,406218,54,406251),(x0|0)==1&&(n[n0+r0>>0]=0),$=e[t0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){q=94;break}if(i0=s[l0+x0>>0]|0,h=n[n0+i0>>0]|0,w=j[f0+(i0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,g0=wx(w|0,0,h&255|0)|0,!((g0|0)==0&(S0|0)==0)){q=83;break}if((h&255)>=57){q=85;break}switch(t0=Sx(w|0,0,p&7|0)|0,g0=S0,t0=e0|t0,v0=k,n[v0>>0]=t0,n[v0+1>>0]=t0>>8,n[v0+2>>0]=t0>>16,n[v0+3>>0]=t0>>24,k=k+4|0,n[k>>0]=g0,n[k+1>>0]=g0>>8,n[k+2>>0]=g0>>16,n[k+3>>0]=g0>>24,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,i0|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)){q=88;break x}q=Sx(h|0,0,k&7|0)|0,v0=S0,q=p|q,g0=w,t0=g0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>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)){q=91;break x}q=Sx(h|0,0,k&7|0)|0,v0=S0,q=p|q,g0=w,t0=g0,n[t0>>0]=q,n[t0+1>>0]=q>>8,n[t0+2>>0]=q>>16,n[t0+3>>0]=q>>24,g0=g0+4|0,n[g0>>0]=v0,n[g0+1>>0]=v0>>8,n[g0+2>>0]=v0>>16,n[g0+3>>0]=v0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((q|0)==83)j0(406196,406218,54,406251);else if((q|0)==85)j0(406267,406218,55,406251);else if((q|0)==88)j0(406196,406218,54,406251);else if((q|0)==91)j0(406196,406218,54,406251);else if((q|0)==94){c0=d0;return}}function hq(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function pq(){return c0|0}function bq(c){c=c|0,c0=c}function gq(c,h){c=c|0,h=h|0,c0=c,A0=h}function mq(c,h){c=c|0,h=h|0,I0||(I0=c,U0=h)}function Wu0(c){c=c|0,n[b0>>0]=n[c>>0],n[b0+1>>0]=n[c+1>>0],n[b0+2>>0]=n[c+2>>0],n[b0+3>>0]=n[c+3>>0]}function Ku0(c){c=c|0,n[b0>>0]=n[c>>0],n[b0+1>>0]=n[c+1>>0],n[b0+2>>0]=n[c+2>>0],n[b0+3>>0]=n[c+3>>0],n[b0+4>>0]=n[c+4>>0],n[b0+5>>0]=n[c+5>>0],n[b0+6>>0]=n[c+6>>0],n[b0+7>>0]=n[c+7>>0]}function wq(c){c=c|0,S0=c}function yq(){return S0|0}function Dq(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0;if(dx=c0,c0=c0+224|0,re=dx+200|0,ix=dx+184|0,be=dx+168|0,ux=dx+152|0,ge=dx+144|0,Yx=dx+140|0,Lx=dx+136|0,D0=dx+24|0,$=dx+20|0,_=dx+16|0,x0=dx+12|0,M=dx+8|0,q=dx+4|0,ie=dx,e[ie>>2]=w,i0=d,f0=p,De=l>>>24,De=(De<<2|2)+((l-(De<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,De=k?1:De>>>0<l>>>0?0:De,!w)return d=0,ie=e[ie>>2]|0,ie=d?ie:-1,c0=dx,ie|0;if(k)return e[ie>>2]=1,n[p>>0]=6,d=1,ie=e[ie>>2]|0,ie=d?ie:-1,c0=dx,ie|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:t0=7:(h=16,t0=7),$=1<<h,ox=$+-16|0,e[ix>>2]=e[4721],e[ix+4>>2]=e[4722],e[ix+8>>2]=e[4723],e[ix+12>>2]=e[4724],e[be>>2]=e[4721],e[be+4>>2]=e[4722],e[be+8>>2]=e[4723],e[be+12>>2]=e[4724],rx=e[ie>>2]|0,$=$>>>0>l>>>0?l:$,cx=1<<((h|0)>23?24:h+1|0),_x=cx>>>3,e[ux>>2]=0,te=ux+4|0,e[te>>2]=10,k=ux+8|0,e[k>>2]=h,Cx=ux+12|0,e[Cx>>2]=0,e[te>>2]=10,te=(h|0)>16?(h|0)>18?18:h:16,e[Cx>>2]=te,te=1<<te,e[re>>2]=1,Cx=re+4|0,e[Cx>>2]=1,lx=re+8|0,e[lx>>2]=0,l>>>0>=2147483649&&j0(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),Rx=Ng(0,524308)|0,Rx||kx(1),e[Rx+524292>>2]=0,e[Rx+524300>>2]=0,n[Rx+524304>>0]=1,i0=Rx+524304|0,h=1<<e[k>>2],e[Rx>>2]=h+-1,h=1-h|0,Gx=Rx+524296|0,e[Gx>>2]=h,k=0;(k|0)!=131072;)e[Rx+4+(k<<2)>>2]=h,k=k+1|0;h=Rx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Rx+524292|0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Px[e[re>>2]&1](e[lx>>2]|0,$<<3)|0,!e0)kx(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[i0>>0]=0,ax=Rx+524292|0,sx=D0+8|0,Q0=D0+12|0,H0=D0+28|0,vx=D0+32|0,jx=D0+36|0,zx=D0+48|0,qx=D0+52|0,Fx=D0+56|0,Mx=D0+60|0,fx=D0+72|0,Ex=D0+80|0,px=D0+88|0,$0=D0+96|0,Y0=D0+104|0,Wx=D0+8|0,$x=D0+32|0,ae=D0+56|0,k=f0,mx=0,hx=1,Bx=0,r0=0,_=0;x:for(;;){if(h=(hx&1)==0,!((h^1)&mx>>>0<l>>>0)){t0=93;break}for(K0=mx+cx|0,K0=K0>>>0>l>>>0?l:K0,q0=(((K0-mx|0)>>>0)/12|0)+16|0,e[ge>>2]=0,e[Yx>>2]=0,h=0,L0=mx,k0=0,O0=0,M=0,z0=0;;){if(K0>>>0<=L0>>>0){i0=h,f0=O0,c=M,e0=z0;break}if(N0=K0-L0|0,N0=N0>>>0<te>>>0?N0:te,P0=Px[e[re>>2]&1](e[lx>>2]|0,(N0<<4)+16|0)|0,!P0){t0=27;break x}for(h=N0+1|0,e0=0;(e0|0)!=(h|0);)e[P0+(e0<<4)>>2]=1,e[P0+(e0<<4)+4>>2]=0,e[P0+(e0<<4)+8>>2]=0,a0[P0+(e0<<4)+12>>2]=X0,e0=e0+1|0;e:do if(N0>>>0>2&L0>>>0>127)for(h0=L0+-127|0,m0=h0+N0|0,m0=L0>>>0<m0>>>0?L0:m0;;){if(h0>>>0>=m0>>>0)break e;for(i0=e[Rx>>2]|0,g0=L0-h0|0,g0=i0-(g0>>>0<15?15:g0)|0,y0=h0&2147483647,w0=d+y0|0,d0=Rx+4+((ex(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,i0=(h0&i0)<<1,e[d0>>2]=h0,d0=0,$=0,v0=0,e0=i0,i0=i0|1,p0=64;;){if(l0=u0&2147483647,(h0|0)==(u0|0)|(h0-u0|0)>>>0>g0>>>0|(p0|0)==0){t0=36;break}if(f0=$>>>0<v0>>>0?$:v0,f0>>>0>=129){t0=38;break x}for(t0=y0+f0|0,n0=d+(l0+128)|0,c=d+(l0+124)|0,q=0,h=d+(l0+f0)|0;!(h>>>0>c>>>0||(B0=d+(t0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[B0>>0]|s[B0+1>>0]<<8|s[B0+2>>0]<<16|s[B0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=n0>>>0||(n[d+(t0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;f0=f0+q|0;t:do if(f0){for(h=f0,t0=w0,n0=d+l0|0;c=n[t0>>0]|0,q=n[n0>>0]|0,c<<24>>24==q<<24>>24;)if(h=h+-1|0,h)t0=t0+1|0,n0=n0+1|0;else break t;if(c<<24>>24!=q<<24>>24){t0=51;break x}}while(!1);if(d0){t0=53;break x}if(f0>>>0>=128){t0=55;break}h=e[ax>>2]|0,(s[d+(y0+f0)>>0]|0)>(s[d+(l0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Rx>>2])<<1|1,$=f0,h=v0,e0=c,c=(e[ax>>2]|0)+(c<<2)|0):(e[h+(i0<<2)>>2]=u0,c=(u0&e[Rx>>2])<<1,h=f0,i0=c,c=(e[ax>>2]|0)+(c<<2)|0),d0=0,v0=h,u0=e[c>>2]|0,p0=p0+-1|0}(t0|0)==36?(e[(e[ax>>2]|0)+(e0<<2)>>2]=e[Gx>>2],e[(e[ax>>2]|0)+(i0<<2)>>2]=e[Gx>>2]):(t0|0)==55&&(B0=e[ax>>2]|0,e[B0+(e0<<2)>>2]=e[B0+((u0&e[Rx>>2])<<1<<2)>>2],B0=e[ax>>2]|0,e[B0+(i0<<2)>>2]=e[B0+(((u0&e[Rx>>2])<<1|1)<<2)>>2]),h0=h0+1|0}while(!1);if(e0=z0+(Pg(re,N0,L0,d,2147483647,ux,ox,ix,Rx,P0)|0)|0,i0=e0+1|0,i0=q0>>>0>i0>>>0?q0:i0,(k0|0)!=(i0|0)){if(h=Px[e[re>>2]&1](e[lx>>2]|0,i0<<4)|0,$=h,!h){t0=63;break x}O0&&(B0=O0,Zx(h|0,B0|0,z0<<4|0)|0,yx[e[Cx>>2]&1](e[lx>>2]|0,B0))}else i0=k0,$=O0;if(rl(N0,L0,ox,P0,ix,ge,$+(z0<<4)|0,Yx),M=M+N0|0,yx[e[Cx>>2]&1](e[lx>>2]|0,P0),h=e[Yx>>2]|0,h>>>0>_x>>>0){i0=h,f0=$,c=M;break}if(e0>>>0>_x>>>0){i0=h,f0=$,c=M;break}else L0=L0+N0|0,k0=i0,O0=$,z0=e0}if(h=e[ge>>2]|0,!h)h=i0;else{i0=e0+1|0,B0=f0,e[B0+(e0<<4)>>2]=h,e[B0+(e0<<4)+4>>2]=67108864,e[B0+(e0<<4)+8>>2]=0,o[B0+(e0<<4)+14>>1]=16,e0=B0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){B0=h+-2|0,h=((Dx(B0|0)|0)^31)+-1|0,h=(h<<1)+(B0>>>h)+2|0;break}if(h>>>0<2114){h=((Dx(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[Yx>>2]|0)+(e[ge>>2]|0)|0,e[Yx>>2]=h,e0=i0}q=mx+c|0,M=(q|0)==(l|0),f=f&255,e[Lx>>2]=f;do if(c){if(!(Tg(d,2147483647,mx,0,c,h,e0)|0)){if(e[ix>>2]=e[be>>2],e[ix+4>>2]=e[be+4>>2],e[ix+8>>2]=e[be+8>>2],e[ix+12>>2]=e[be+12>>2],h=Px[e[re>>2]&1](e[lx>>2]|0,c+16|0)|0,!h){t0=83;break x}n[h>>0]=x0,Du(M,d,mx,2147483647,c,Lx,h);break}e[D0>>2]=0,e[D0+4>>2]=0,e[D0+8>>2]=0,e[D0+12>>2]=0,e[D0+16>>2]=0,e[D0+20>>2]=0,e[D0+24>>2]=0,e[H0>>2]=0,e[H0+4>>2]=0,e[H0+8>>2]=0,e[H0+12>>2]=0,e[H0+16>>2]=0,e[zx>>2]=0,e[qx>>2]=0,e[qx+4>>2]=0,e[qx+8>>2]=0,e[qx+12>>2]=0,e[qx+16>>2]=0,t0=fx,n0=t0+40|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(n0|0));if(i0=nl(d,mx,2147483647,c)|0,i0=i0?2:3,$=f0,Mg(re,d,mx,2147483647,ux,Bx,r0,$,e0,i0,D0),Lg(0,0,D0),h=Px[e[re>>2]&1](e[lx>>2]|0,(c<<1)+502|0)|0,!h){t0=86;break x}n[h>>0]=x0,dg(re,d,mx,c,2147483647,Bx,r0,M,0,0,i0,$,e0,D0,Lx,h),(c+4|0)>>>0<(e[Lx>>2]|0)>>>3>>>0&&(e[ix>>2]=e[be>>2],e[ix+4>>2]=e[be+4>>2],e[ix+8>>2]=e[be+8>>2],e[ix+12>>2]=e[be+12>>2],n[h>>0]=x0,e[Lx>>2]=f,Du(M,d,mx,2147483647,c,Lx,h)),yx[e[Cx>>2]&1](e[lx>>2]|0,e[Wx>>2]|0),e[sx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Q0>>2]|0),e[Q0>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[$x>>2]|0),e[vx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[jx>>2]|0),e[jx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[ae>>2]|0),e[Fx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Mx>>2]|0),e[Mx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[fx>>2]|0),e[fx>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Ex>>2]|0),e[Ex>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[px>>2]|0),e[px>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[$0>>2]|0),e[$0>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,e[Y0>>2]|0),e[Y0>>2]=0}else{if(h=Px[e[re>>2]&1](e[lx>>2]|0,16)|0,!h){t0=79;break x}n[h>>0]=x0,B0=e[Lx>>2]|0,mx=h+(B0>>>3)|0,z0=s[mx>>0]|0,K0=Sx(3,0,B0&7|0)|0,Bx=S0,K0=z0|K0,z0=mx,n[z0>>0]=K0,n[z0+1>>0]=K0>>8,n[z0+2>>0]=K0>>16,n[z0+3>>0]=K0>>24,mx=mx+4|0,n[mx>>0]=Bx,n[mx+1>>0]=Bx>>8,n[mx+2>>0]=Bx>>16,n[mx+3>>0]=Bx>>24,e[Lx>>2]=B0+9&-8}while(!1);i0=e[Lx>>2]|0,e0=i0>>>3,x0=n[h+e0>>0]|0,$=n[d+(q+-1)>>0]|0,r0=n[d+(q+-2)>>0]|0,e[be>>2]=e[ix>>2],e[be+4>>2]=e[ix+4>>2],e[be+8>>2]=e[ix+8>>2],e[be+12>>2]=e[ix+12>>2],_=_+e0|0,_>>>0>rx>>>0?e0=0:(Zx(k|0,h|0,e0|0)|0,k=k+e0|0,e0=hx),yx[e[Cx>>2]&1](e[lx>>2]|0,h),yx[e[Cx>>2]&1](e[lx>>2]|0,f0),f=i0&7,mx=q,hx=e0,Bx=$}if((t0|0)==27)kx(1);else if((t0|0)==38)j0(405873,405905,373,405932);else if((t0|0)==51)j0(405955,405905,378,405932);else if((t0|0)==53)Pi();else if((t0|0)==63)kx(1);else if((t0|0)==79)kx(1);else if((t0|0)==83)kx(1);else if((t0|0)==86)kx(1);else if((t0|0)==93){if(e[ie>>2]=_,yx[e[Cx>>2]&1](e[lx>>2]|0,e[ax>>2]|0),e[ax>>2]=0,yx[e[Cx>>2]&1](e[lx>>2]|0,Rx),h){t0=107;break}if((De|0)!=0&&(e[ie>>2]|0)>>>0>De>>>0){t0=106;break}else h=1;return B0=e[ie>>2]|0,B0=h?B0:-1,c0=dx,B0|0}}else{if(r0=al(5240)|0,!r0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;e[r0+16>>2]=1,e[r0+20>>2]=1,e[r0+24>>2]=0,e[r0>>2]=0,e[r0+4>>2]=11,e[r0+8>>2]=22,e[r0+12>>2]=0,t0=r0+80|0,e[t0>>2]=0,e[t0+4>>2]=0,e[r0+128>>2]=0,e[r0+132>>2]=0,e[r0+136>>2]=0,t0=r0+144|0,e[r0+4300>>2]=0,e[r0+4304>>2]=0,k=r0+5204|0,e[r0+5232>>2]=0,n[r0+5236>>0]=0,n[r0+5237>>0]=0,e[r0+28>>2]=0,e0=r0+32|0,e[t0>>2]=0,e[t0+4>>2]=0,e[t0+8>>2]=0,e[t0+12>>2]=0,t0=r0+194|0,n0=t0+10|0;do n[t0>>0]=0,t0=t0+1|0;while((t0|0)<(n0|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=r0+104|0,t0=e0,n0=t0+44|0;do e[t0>>2]=0,t0=t0+4|0;while((t0|0)<(n0|0));if(e[k>>2]=0,e[r0+108>>2]=0,e[r0+112>>2]=0,e[r0+116>>2]=0,e[r0+124>>2]=0,e[r0+120>>2]=0,e[r0+160>>2]=4,e[r0+164>>2]=11,e[r0+168>>2]=15,e[r0+172>>2]=16,B0=r0+176|0,Lx=r0+160|0,e[B0>>2]=e[Lx>>2],e[B0+4>>2]=e[Lx+4>>2],e[B0+8>>2]=e[Lx+8>>2],e[B0+12>>2]=e[Lx+12>>2],!r0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;if(e[$>>2]=l,e[_>>2]=i0,e[x0>>2]=e[ie>>2],e[M>>2]=f0,e[q>>2]=0,n[r0+5237>>0]&1||(e[r0+4>>2]=c,e[r0+8>>2]=h,e[r0>>2]=f),h=sq(r0,$,_,x0,M,q)|0,(e[r0+5232>>2]|0)==2&&(e[r0+5220>>2]|0)==0?f=h&1:f=0,e[ie>>2]=e[q>>2],$=r0+200|0,h=e[r0+20>>2]|0,k=e[r0+24>>2]|0,yx[h&1](k,e[$>>2]|0),e[$>>2]=0,$=r0+124|0,e0=r0+20|0,i0=r0+24|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[$>>2]|0),e[$>>2]=0,yx[e[e0>>2]&1](e[i0>>2]|0,e[r0+112>>2]|0),e[r0+112>>2]=0,$=r0+28|0,x0=e[r0+72>>2]|0,x0&&(B0=x0+524292|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0),B0=r0+72|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[$>>2]|0),e[$>>2]=0,Lx=r0+32|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+36|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+40|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+44|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+48|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+52|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+56|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+60|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+64|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Lx=r0+68|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+4300|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+5208|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,B0=r0+5212|0,yx[e[e0>>2]&1](e[i0>>2]|0,e[B0>>2]|0),e[B0>>2]=0,yx[h&1](k,r0),f<<24>>24)if((De|0)!=0&&(e[ie>>2]|0)>>>0>De>>>0)t0=106;else return d=1,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0;else t0=107}while(!1);if((t0|0)==106){if(e[ie>>2]=0,De>>>0>w>>>0)return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0}else if((t0|0)==107&&(e[ie>>2]=0,(De|0)==0|De>>>0>w>>>0))return d=0,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|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:i0=1):(h=x0,i0=0):(h=16777216,t0=113),(t0|0)==113&&(t0=0,i0=2),e0=i0<<1|(h<<3)+-8|1<<(i0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(i0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),Zx(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[ie>>2]=$+1,d=1,B0=e[ie>>2]|0,B0=d?B0:-1,c0=dx,B0|0}function rl(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0;for(d0=d+8|0,v0=d+12|0,g0=d+4|0,e0=e[l+12>>2]|0,i0=0,w0=0;(e0|0)!=-1;){x0=i0+e0|0,r0=l+(x0<<4)|0,_=e[r0>>2]|0,y0=_&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=i0+$|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,r0=e[r0>>2]|0,r0=(r0&16777215)+9-(r0>>>24)|0,n0=u0+h|0,n0=l0>>>0>(n0>>>0<f>>>0?n0: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]=y0|(r0^_)<<24,i0=p+(w0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[i0>>1]=x0,i0=x0,x0=0):(q=f0+-12|0,x0=((Dx(q|0)|0)^31)+-1|0,t0=q>>>x0&1,M=((x0<<1)+65534|t0)+16&65535,o[i0>>1]=M,i0=M,x0=x0<<24|q-((t0|2)<<x0)),e[p+(w0<<4)+8>>2]=x0,q=i0<<16>>16==0,t0=p+(w0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){_=$+-2|0,M=((Dx(_|0)|0)^31)+-1|0,M=(M<<1)+(_>>>M)+2&65535;break}if($>>>0<2114){M=((Dx($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?M=21:M=$>>>0<22594?22:23}else M=$&65535;while(!1);do if(r0>>>0>=10){if(r0>>>0<134){_=r0+-6|0,i0=((Dx(_|0)|0)^31)+-1|0,i0=(i0<<1)+(_>>>i0)+4&65535;break}r0>>>0<2118?i0=((Dx(r0+-70|0)|0)^31)+12&65535:i0=23}else i0=r0+65534&65535;while(!1);x0=i0&65535,r0=M&65535,_=x0&7|r0<<3&56,q&(M&65535)<8&(i0&65535)<16?i0=((i0&65535)<8?_:_|64)&65535:i0=o[88156+((x0>>>3)+((r0>>>3)*3|0)<<1)>>1]|_&65535,o[t0>>1]=i0,n0|(f0|0)==0||(e[v0>>2]=e[d0>>2],e[d0>>2]=e[g0>>2],e[g0>>2]=e[d>>2],e[d>>2]=l0),e[k>>2]=(e[k>>2]|0)+$,i0=u0+y0|0,w0=w0+1|0}e[w>>2]=(e[w>>2]|0)+(c-i0)}function Pg(c,h,f,l,d,w,p,k,e0,i0){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,i0=i0|0;var $=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0;Mx=c0,c0=c0+6320|0,jx=Mx+6160|0,qx=Mx+1252|0,Fx=Mx+1024|0,zx=Mx,H0=(e[w+4>>2]|0)<11?150:325,vx=h>>>0>127?f+h+-127|0:f,e[i0>>2]=0,a0[i0+12>>2]=0,e[qx+4904>>2]=h,sx=c+8|0,$=Px[e[c>>2]&1](e[sx>>2]|0,(h<<2)+8|0)|0,$||kx(1),Q0=qx+4896|0,e[Q0>>2]=$,Bg(qx,f,l,d),L0=Fx+224|0,e[L0>>2]=0,K0=zx,z0=w+4|0,Bx=e0+524292|0,mx=e0+524296|0,hx=zx,ax=zx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){n0=98;break}for(q0=$+f|0,N0=q0>>>0<p>>>0?q0:p,P0=h-$|0,k0=q0&d,d0=(e[z0>>2]|0)!=11?16:64,d0=q0>>>0<d0>>>0?0:q0-d0|0,O0=l+k0|0,f0=l+(k0+1)|0,u0=k0+P0|0,l0=l+u0|0,u0=l+(u0+-4)|0,x0=K0,_=1,r0=q0;r0=r0+-1|0,!(!(r0>>>0>d0>>>0&_>>>0<3)||(t0=q0-r0|0,t0>>>0>N0>>>0));){if(n0=r0&d,(n[O0>>0]|0)!=(n[l+n0>>0]|0)){m0=_,h0=x0,_=m0,x0=h0;continue}if((n[f0>>0]|0)==(n[l+(n0+1)>>0]|0))M=0,q=O0;else{m0=_,h0=x0,_=m0,x0=h0;continue}for(;!(q>>>0>u0>>>0||(h0=l+(n0+M)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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,q=q+4|0;for(;!(q>>>0>=l0>>>0||(n[l+(n0+M)>>0]|0)!=(n[q>>0]|0));)M=M+1|0,q=q+1|0;if(M>>>0<=_>>>0){m0=_,h0=x0,_=m0,x0=h0;continue}_=x0,e[_>>2]=t0,e[_+4>>2]=M<<5,x0=_+8|0,_=M}do if(_>>>0<P0>>>0){for(m0=P0>>>0<128?P0:128,h0=P0>>>0>127,r0=e0+4+((ex(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,506832829)|0)>>>15<<2)|0,t0=e[r0>>2]|0,M=(q0&e[e0>>2])<<1,q=M|1,h0?(e[r0>>2]=q0,w0=0,p0=0,y0=64):(w0=0,p0=0,y0=64);;){if(v0=q0-t0|0,g0=t0&d,(q0|0)==(t0|0)|v0>>>0>N0>>>0|(y0|0)==0){n0=22;break}if(d0=w0>>>0<p0>>>0?w0:p0,d0>>>0>=129){n0=25;break x}for(l0=k0+d0|0,n0=g0+P0|0,u0=l+n0|0,n0=l+(n0+-4)|0,f0=0,r0=l+(g0+d0)|0;!(r0>>>0>n0>>>0||(fx=l+(l0+f0)|0,(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)f0=f0+4|0,r0=r0+4|0;for(;!(r0>>>0>=u0>>>0||(n[l+(l0+f0)>>0]|0)!=(n[r0>>0]|0));)f0=f0+1|0,r0=r0+1|0;d0=d0+f0|0;e:do if(d0){for(r0=d0,l0=O0,u0=l+g0|0;n0=n[l0>>0]|0,f0=n[u0>>0]|0,n0<<24>>24==f0<<24>>24;)if(r0=r0+-1|0,r0)l0=l0+1|0,u0=u0+1|0;else break e;if(n0<<24>>24!=f0<<24>>24){n0=38;break x}}while(!1);if(r0=x0,(x0|0)!=0&d0>>>0>_>>>0&&(e[r0>>2]=v0,e[r0+4>>2]=d0<<5,x0=r0+8|0,_=d0),d0>>>0>=m0>>>0){n0=42;break}(s[l+(k0+d0)>>0]|0)>(s[l+(g0+d0)>>0]|0)?(h0&&(e[(e[Bx>>2]|0)+(M<<2)>>2]=t0),n0=(t0&e[e0>>2])<<1|1,t0=d0,r0=p0,M=n0,n0=(e[Bx>>2]|0)+(n0<<2)|0):(h0&&(e[(e[Bx>>2]|0)+(q<<2)>>2]=t0),n0=(t0&e[e0>>2])<<1,t0=w0,r0=d0,q=n0,n0=(e[Bx>>2]|0)+(n0<<2)|0),w0=t0,p0=r0,t0=e[n0>>2]|0,y0=y0+-1|0}if((n0|0)==22){if(!h0)break;e[(e[Bx>>2]|0)+(M<<2)>>2]=e[mx>>2],e[(e[Bx>>2]|0)+(q<<2)>>2]=e[mx>>2];break}else if((n0|0)==42){if(!h0)break;fx=e[Bx>>2]|0,e[fx+(M<<2)>>2]=e[fx+((t0&e[e0>>2])<<1<<2)>>2],fx=e[Bx>>2]|0,e[fx+(q<<2)>>2]=e[fx+(((t0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(r0=0;(r0|0)!=38;)e[jx+(r0<<2)>>2]=268435455,r0=r0+1|0;_=_+1|0,_=_>>>0<4?4:_;e:do if(jg(O0,_,P0,jx)|0)for(M=P0>>>0>37?37:P0;;){if(_>>>0>M>>>0)break e;r0=e[jx+(_<<2)>>2]|0,r0>>>0<268435455&&(fx=r0&31,e[x0>>2]=N0+(r0>>>5)+1,e[x0+4>>2]=_<<5|((_|0)==(fx|0)?0:fx),x0=x0+8|0),_=_+1|0}while(!1);x0=x0-hx>>3;do if(x0){if(r0=x0+-1|0,(e[zx+(r0<<3)+4>>2]|0)>>>5>>>0<=H0>>>0){if(fx=x0,ku(h,f,$,l,d,w,p,k,fx,zx,qx,Fx,i0),(fx|0)!=1)break}else O0=zx+(r0<<3)|0,N0=e[O0+4>>2]|0,fx=zx,e[fx>>2]=e[O0>>2],e[fx+4>>2]=N0,ku(h,f,$,l,d,w,p,k,1,zx,qx,Fx,i0);if(x0=(e[ax>>2]|0)>>>5,x0>>>0>H0>>>0){for(k0=q0+x0|0,k0=k0>>>0<vx>>>0?k0:vx,h0=(q0+64|0)>>>0>k0>>>0?q0+1|0:k0+-63|0;!(h0>>>0>=k0>>>0);){for(_=e[e0>>2]|0,y0=_+-15|0,w0=h0&d,p0=l+w0|0,v0=e0+4+((ex(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24,506832829)|0)>>>15<<2)|0,d0=e[v0>>2]|0,_=(h0&_)<<1,e[v0>>2]=h0,v0=0,M=0,g0=0,r0=_,_=_|1,m0=64;;){if(u0=d0&d,(h0|0)==(d0|0)|(h0-d0|0)>>>0>y0>>>0|(m0|0)==0){n0=71;break}if(l0=M>>>0<g0>>>0?M:g0,l0>>>0>=129){n0=73;break x}for(n0=w0+l0|0,f0=l+(u0+128)|0,q=l+(u0+124)|0,t0=0,x0=l+(u0+l0)|0;!(x0>>>0>q>>>0||(fx=l+(n0+t0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)t0=t0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(n0+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,n0=p0,f0=l+u0|0;q=n[n0>>0]|0,t0=n[f0>>0]|0,q<<24>>24==t0<<24>>24;)if(x0=x0+-1|0,x0)n0=n0+1|0,f0=f0+1|0;else break e;if(q<<24>>24!=t0<<24>>24){n0=86;break x}}while(!1);if(v0){n0=88;break x}if(l0>>>0>=128){n0=90;break}x0=e[Bx>>2]|0,(s[l+(w0+l0)>>0]|0)>(s[l+(u0+l0)>>0]|0)?(e[x0+(r0<<2)>>2]=d0,q=(d0&e[e0>>2])<<1|1,M=l0,x0=g0,r0=q,q=(e[Bx>>2]|0)+(q<<2)|0):(e[x0+(_<<2)>>2]=d0,q=(d0&e[e0>>2])<<1,x0=l0,_=q,q=(e[Bx>>2]|0)+(q<<2)|0),v0=0,g0=x0,d0=e[q>>2]|0,m0=m0+-1|0}(n0|0)==71?(e[(e[Bx>>2]|0)+(r0<<2)>>2]=e[mx>>2],e[(e[Bx>>2]|0)+(_<<2)>>2]=e[mx>>2]):(n0|0)==90&&(fx=e[Bx>>2]|0,e[fx+(r0<<2)>>2]=e[fx+((d0&e[e0>>2])<<1<<2)>>2],fx=e[Bx>>2]|0,e[fx+(_<<2)>>2]=e[fx+(((d0&e[e0>>2])<<1|1)<<2)>>2]),h0=h0+1|0}$=$+(((e[ax>>2]|0)>>>5)+-1)|0,e[L0>>2]=0}}else ku(h,f,$,l,d,w,p,k,0,zx,qx,Fx,i0);while(!1);$=$+1|0}if((n0|0)==25)j0(405873,405905,373,405932);else if((n0|0)==38)j0(405955,405905,378,405932);else if((n0|0)==73)j0(405873,405905,373,405932);else if((n0|0)==86)j0(405955,405905,378,405932);else if((n0|0)==88)Pi();else if((n0|0)==98){for(yx[e[c+4>>2]&1](e[sx>>2]|0,e[Q0>>2]|0),e[Q0>>2]=0;!(e[i0+(h<<4)+8>>2]|0||(e[i0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[i0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[i0+(h<<4)>>2]&16777215)+(e[i0+(h<<4)+8>>2]|0)|0,fx=h-d|0,e[i0+(fx<<4)+12>>2]=d,h=fx,$=$+1|0;return c0=Mx,$|0}return 0}function Bg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0;n0=c0,c0=c0+4128|0,$=n0+4112|0,_=n0+1040|0,M=n0+1024|0,i0=n0,q=e[c+4904>>2]|0,t0=e[c+4896>>2]|0;x:do if(nl(f,h,l,q)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,i0=0;(i0|0)!=(q|0);)d=n[f+(i0+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,i0=i0+1|0;for(r0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Hx(_|0,0,3072)|0,e0=q>>>0>495?495:q,e[M>>2]=0,e[M+4>>2]=0,e[M+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){i0=0;break}p=n[f+(x0+h&l)>>0]|0,i0=p&255,f0=_+(d<<10)+(i0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=M+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=r0:d=$>>>0<224?0:r0:d=0,$=i0,x0=x0+1|0}for(;(i0|0)!=(q|0);)i0>>>0>=495&&(i0>>>0>=496?(d=i0+h|0,p=s[f+(d+-496&l)>>0]|0,i0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=r0:d=d>>>0<224?0:r0:d=0):d=0,f0=_+(d<<10)+((s[f+(i0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=M+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(i0+495|0)>>>0<q>>>0&&(p=i0+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=r0:d=(p&255)<224?0:r0:d=0,f0=_+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=M+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),i0?(d=i0+h|0,p=s[f+(d+-1&l)>>0]|0,i0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=r0:d=d>>>0<224?0:r0:d=0):d=0,p=e[_+(d<<10)+((s[f+(i0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[M+(d<<2)>>2]|0,d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(+(d>>>0)),p>>>0<256?w=+a0[19516+(p<<2)>>2]:w=+Kx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,i0>>>0<2e3&&(w=w+(.7-+((2e3-i0|0)>>>0)/2e3*.35)),a0[t0+(i0+1<<2)>>2]=w,i0=i0+1|0}else{for(Hx(i0|0,0,1024)|0,d=q>>>0>2e3?2e3:q,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=i0+((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)==(q|0))break x;e0>>>0>=2e3&&(f0=i0+((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<q>>>0&&(f0=i0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[i0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+a0[19516+(d<<2)>>2]:k=+Kx(+(d>>>0)),p>>>0<256?w=+a0[19516+(p<<2)>>2]:w=+Kx(+(p>>>0)),k=k-w+.029,a0[t0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(a0[t0>>2]=0,w=0,d=0;;){if((d|0)==(q|0)){p=0;break}f0=d+1|0,l=t0+(f0<<2)|0,k=+a0[l>>2]+w,a0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+a0[19516+(d<<2)>>2]:w=+Kx(+(d>>>0)),a0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+a0[19516+(d<<2)>>2]:w=+Kx(+(d>>>0)),a0[c+2816+(p<<2)>>2]=w,p=p+1|0;a0[c+4900>>2]=3.4594316482543945,c0=n0}function ku(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0;if(vx=c0,c0=c0+64|0,l0=vx+36|0,f0=vx+8|0,H0=vx,Bx=h+f|0,mx=Bx&d,z0=Bx>>>0<p>>>0?Bx:p,hx=c-f|0,K0=(e[w+4>>2]|0)<11,L0=K0?150:325,K0=K0?1:5,n0=e[r0+(f<<4)+12>>2]|0,h=e[r0+(f<<4)>>2]&16777215,w=e[r0+(f<<4)+8>>2]|0,M=e[r0+(f<<4)+4>>2]|0,q=M&33554431,f?(q+h|0)>>>0>Bx>>>0|q>>>0>p>>>0|(M>>>25|0)==1?h=e[r0+(f-h-w<<4)+12>>2]|0:h=f:h=0,M=r0+(f<<4)+12|0,e[M>>2]=h,t0=(e[b0>>2]=n0,+a0[b0>>2]),q0=$+4896|0,w=e[q0>>2]|0,_=+a0[w+(f<<2)>>2],!(t0<=_-+a0[w>>2]))n0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=n0,h=e[q0>>2]|0,a0[f0+20>>2]=t0-(+a0[h+(f<<2)>>2]-+a0[h>>2]),h=0,w=M;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}N0=e[r0+(w<<4)+8>>2]|0,O0=e[r0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[r0+(w<<4)+4>>2]&33554431,h=h+1|0,w=r0+(w-O0-N0<<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(n0=x0+224|0,h=e[n0>>2]|0,p=h+1|0,e[n0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,q=x0+(h*28|0)|0,e[q>>2]=e[f0>>2],e[q+4>>2]=e[f0+4>>2],e[q+8>>2]=e[f0+8>>2],e[q+12>>2]=e[f0+12>>2],e[q+16>>2]=e[f0+16>>2],e[q+20>>2]=e[f0+20>>2],e[q+24>>2]=e[f0+24>>2],q=1;!(q>>>0>=p>>>0);)M=h&7,h=h+1|0,w=h&7,+a0[x0+(M*28|0)+20>>2]>+a0[x0+(w*28|0)+20>>2]&&(O0=x0+(M*28|0)|0,e[l0>>2]=e[O0>>2],e[l0+4>>2]=e[O0+4>>2],e[l0+8>>2]=e[O0+8>>2],e[l0+12>>2]=e[O0+12>>2],e[l0+16>>2]=e[O0+16>>2],e[l0+20>>2]=e[O0+20>>2],e[l0+24>>2]=e[O0+24>>2],N0=x0+(w*28|0)|0,e[O0>>2]=e[N0>>2],e[O0+4>>2]=e[N0+4>>2],e[O0+8>>2]=e[N0+8>>2],e[O0+12>>2]=e[N0+12>>2],e[O0+16>>2]=e[N0+16>>2],e[O0+20>>2]=e[N0+20>>2],e[O0+24>>2]=e[N0+24>>2],e[N0>>2]=e[l0>>2],e[N0+4>>2]=e[l0+4>>2],e[N0+8>>2]=e[l0+8>>2],e[N0+12>>2]=e[l0+12>>2],e[N0+16>>2]=e[l0+16>>2],e[N0+20>>2]=e[l0+20>>2],e[N0+24>>2]=e[l0+24>>2]),q=q+1|0;N0=e[q0>>2]|0,w=N0,_=+a0[N0+(f<<2)>>2]}M=0-(e[n0>>2]|0)&7,h=2,_=+a0[x0+(M*28|0)+24>>2]+ +a0[$+4900>>2]+(_-+a0[w+(e[x0+(M*28|0)>>2]<<2)>>2]),M=4,q=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+a0[r0+(w<<4)+12>>2]<=_))break x;h=h+1|0}while((h|0)!=(q|0));N0=q+M|0,h=q,_=_+1,M=M<<1,q=N0}for(p0=h+-1|0,m0=l+mx|0,k0=mx+hx|0,h0=l+k0|0,k0=l+(k0+-4)|0,P0=H0+4|0,O0=H0+4|0,N0=0;;){if(N0>>>0>=K0>>>0){h=82;break}if(w=e[n0>>2]|0,N0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}d0=N0-w&7,v0=f-(e[x0+(d0*28|0)>>2]|0)|0;do if(v0>>>0>=6){if(v0>>>0<130){w0=v0+-2|0,w=((Dx(w0|0)|0)^31)+-1|0,w=(w<<1)+(w0>>>w)+2&65535;break}if(v0>>>0<2114){w=((Dx(v0+-66|0)|0)^31)+10&65535;break}v0>>>0<6210?w=21:w=v0>>>0<22594?22:23}else w=v0&65535;while(!1);for(w0=w&65535,y0=e[q0>>2]|0,g0=+a0[x0+(d0*28|0)+20>>2]+ +((e[17268+(w0<<2)>>2]|0)>>>0)+(+a0[y0+(f<<2)>>2]-+a0[y0>>2]),y0=w0<<3&56,w0=(w0>>>3)*3|0,c=(w&65535)<8,w=p0,u0=0;u0>>>0<16&w>>>0<hx>>>0;){p=(e[x0+(d0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,M=Bx-p|0;x:do if(!(M>>>0>=Bx>>>0|p>>>0>z0>>>0)&&(ax=M&d,sx=mx+w|0,sx>>>0<=d>>>0)&&(Q0=ax+w|0,Q0>>>0<=d>>>0)&&(n[l+sx>>0]|0)==(n[l+Q0>>0]|0)){for(M=0,q=m0;!(q>>>0>k0>>>0||(l0=l+(ax+M)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)));)M=M+4|0,q=q+4|0;for(;!(q>>>0>=h0>>>0||(n[l+(ax+M)>>0]|0)!=(n[q>>0]|0));)M=M+1|0,q=q+1|0;for(t0=g0+ +a0[$+2816+(u0<<2)>>2],l0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>M>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Dx(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Dx(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,q=p&7|y0,((l0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?q:q|64)&65535:w=o[88156+((p>>>3)+w0<<1)>>1]|q&65535,_=((w&65535)<128?g0:t0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +a0[$+((w&65535)<<2)>>2],w=k+f|0,!(_<+a0[r0+(w<<4)+12>>2])){w=k;continue}e[r0+(w<<4)>>2]=k|150994944,e[r0+(w<<4)+4>>2]=f0,e[r0+(w<<4)+8>>2]=v0,a0[r0+(w<<4)+12>>2]=_,w=k}}while(!1);u0=u0+1|0}x:do if(N0>>>0<=1)for(k=h,d0=0;;){if((d0|0)==(e0|0))break x;for(f0=i0+(d0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=H0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>z0>>>0,w=p&1,M=c+15|0,u0=wx(c|0,f0|0,37)|0,M>>>0<16?q=0:(jx=c+3|0,q=((Dx(jx|0)|0)^31)+-1|0,l0=jx>>>q&1,M=((q<<1)+65534|l0)+16|0,q=q<<24|jx-((l0|2)<<q)),t0=g0+ +(q>>>24>>>0)+ +a0[$+2816+((M&65535)<<2)>>2],k>>>0<u0>>>0&&(jx=p|u0>>>0>L0>>>0,w=jx?w:0,k=jx?u0:k),l0=w<<24>>24==0,q=wx(c|0,f0|0,37)|0,q=q+1|0,p=k>>>0>q>>>0,f0=k;!(f0>>>0>u0>>>0);){l0?w=f0:(w=e[P0>>2]&31,w||(w=(e[O0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){jx=w+-6|0,M=((Dx(jx|0)|0)^31)+-1|0,M=(M<<1)+(jx>>>M)+4|0;break}w>>>0<2118?M=((Dx(w+-70|0)|0)^31)+12|0:M=23}else M=w+65534|0;while(!1);jx=M&65535,_=t0+ +((e[17460+(jx<<2)>>2]|0)>>>0)+ +a0[$+(((o[88156+((jx>>>3)+w0<<1)>>1]|(M&7|y0)&65535)&65535)<<2)>>2],M=f0+f|0,_<+a0[r0+(M<<4)+12>>2]&&(e[r0+(M<<4)>>2]=f0|f0+9-w<<24,e[r0+(M<<4)+4>>2]=c,e[r0+(M<<4)+8>>2]=v0,a0[r0+(M<<4)+12>>2]=_),f0=f0+1|0}k=p?k:q,d0=d0+1|0}while(!1);N0=N0+1|0}if((h|0)==82){c0=vx;return}}function vq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0;q0=(1<<e[p+8>>2])+-16|0,Og(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){N0=f+-127|0,O0=N0+h|0,O0=O0>>>0>f>>>0?f:O0,P0=k+524292|0,k0=k+524296|0;e:for(;;){if(N0>>>0>=O0>>>0)break x;for(M=e[k>>2]|0,w0=f-N0|0,w0=M-(w0>>>0<15?15:w0)|0,p0=N0&w,m0=d+p0|0,g0=k+4+((ex(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24,506832829)|0)>>>15<<2)|0,v0=e[g0>>2]|0,M=(N0&M)<<1,e[g0>>2]=N0,g0=0,q=0,y0=0,_=M,M=M|1,h0=64;;){if(d0=v0&w,(N0|0)==(v0|0)|(N0-v0|0)>>>0>w0>>>0|(h0|0)==0){l=6;break}if(u0=q>>>0<y0>>>0?q:y0,u0>>>0>=129){l=8;break e}for(f0=p0+u0|0,l0=d+(d0+128)|0,t0=d+(d0+124)|0,n0=0,l=d+(d0+u0)|0;!(l>>>0>t0>>>0||(L0=d+(f0+n0)|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)));)n0=n0+4|0,l=l+4|0;for(;!(l>>>0>=l0>>>0||(n[d+(f0+n0)>>0]|0)!=(n[l>>0]|0));)n0=n0+1|0,l=l+1|0;u0=u0+n0|0;t:do if(u0){for(l=u0,f0=m0,l0=d+d0|0;t0=n[f0>>0]|0,n0=n[l0>>0]|0,t0<<24>>24==n0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,l0=l0+1|0;else break t;if(t0<<24>>24!=n0<<24>>24){l=21;break e}}while(!1);if(g0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[P0>>2]|0,(s[d+(p0+u0)>>0]|0)>(s[d+(d0+u0)>>0]|0)?(e[l+(_<<2)>>2]=v0,t0=(v0&e[k>>2])<<1|1,q=u0,l=y0,_=t0,t0=(e[P0>>2]|0)+(t0<<2)|0):(e[l+(M<<2)>>2]=v0,t0=(v0&e[k>>2])<<1,l=u0,M=t0,t0=(e[P0>>2]|0)+(t0<<2)|0),g0=0,y0=l,v0=e[t0>>2]|0,h0=h0+-1|0}(l|0)==6?(e[(e[P0>>2]|0)+(_<<2)>>2]=e[k0>>2],e[(e[P0>>2]|0)+(M<<2)>>2]=e[k0>>2]):(l|0)==25&&(L0=e[P0>>2]|0,e[L0+(_<<2)>>2]=e[L0+((v0&e[k>>2])<<1<<2)>>2],L0=e[P0>>2]|0,e[L0+(M<<2)>>2]=e[L0+(((v0&e[k>>2])<<1|1)<<2)>>2]),N0=N0+1|0}(l|0)==8?j0(405873,405905,373,405932):(l|0)==21?j0(405955,405905,378,405932):(l|0)==23&&Pi()}while(!1);for(l=c+8|0,_=Px[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,_||kx(1),M=h+1|0,q=0;(q|0)!=(M|0);)e[_+(q<<4)>>2]=1,e[_+(q<<4)+4>>2]=0,e[_+(q<<4)+8>>2]=0,a0[_+(q<<4)+12>>2]=X0,q=q+1|0;L0=Pg(c,h,f,d,w,p,q0,e0,k,_)|0,e[x0>>2]=(e[x0>>2]|0)+L0,rl(h,f,q0,_,e0,i0,$,r0),yx[e[c+4>>2]&1](e[l>>2]|0,_)}function Aq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0;rx=c0,c0=c0+12256|0,fx=rx+12028|0,Mx=rx+12024|0,Gx=rx+11e3|0,$x=rx+8184|0,ae=rx+6104|0,Wx=rx+5080|0,jx=rx+4928|0,ox=rx+4912|0,Rx=rx,Ex=(1<<e[p+8>>2])+-16|0,Fx=h<<2,$0=c+8|0,Y0=Px[e[c>>2]&1](e[$0>>2]|0,Fx)|0,Y0||kx(1),vx=h>>>0>127?f+h+-127|0:f,qx=Px[e[c>>2]&1](e[$0>>2]|0,h<<5)|0,L0=qx,qx||kx(1),Og(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){q0=f+-127|0,N0=q0+h|0,N0=N0>>>0>f>>>0?f:N0,P0=k+524292|0,O0=k+524296|0;e:for(;;){if(q0>>>0>=N0>>>0)break x;for(M=e[k>>2]|0,p0=f-q0|0,p0=M-(p0>>>0<15?15:p0)|0,m0=q0&w,h0=d+m0|0,y0=k+4+((ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>15<<2)|0,g0=e[y0>>2]|0,M=(q0&M)<<1,e[y0>>2]=q0,y0=0,q=0,w0=0,_=M,M=M|1,k0=64;;){if(v0=g0&w,(q0|0)==(g0|0)|(q0-g0|0)>>>0>p0>>>0|(k0|0)==0){q=11;break}if(d0=q>>>0<w0>>>0?q:w0,d0>>>0>=129){q=13;break e}for(l0=m0+d0|0,u0=d+(v0+128)|0,n0=d+(v0+124)|0,f0=0,l=d+(v0+d0)|0;!(l>>>0>n0>>>0||(qx=d+(l0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+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+v0|0;n0=n[l0>>0]|0,f0=n[u0>>0]|0,n0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)l0=l0+1|0,u0=u0+1|0;else break t;if(n0<<24>>24!=f0<<24>>24){q=26;break e}}while(!1);if(y0){q=28;break e}if(d0>>>0>=128){q=30;break}l=e[P0>>2]|0,(s[d+(m0+d0)>>0]|0)>(s[d+(v0+d0)>>0]|0)?(e[l+(_<<2)>>2]=g0,n0=(g0&e[k>>2])<<1|1,q=d0,l=w0,_=n0,n0=(e[P0>>2]|0)+(n0<<2)|0):(e[l+(M<<2)>>2]=g0,n0=(g0&e[k>>2])<<1,l=d0,M=n0,n0=(e[P0>>2]|0)+(n0<<2)|0),y0=0,w0=l,g0=e[n0>>2]|0,k0=k0+-1|0}(q|0)==11?(e[(e[P0>>2]|0)+(_<<2)>>2]=e[O0>>2],e[(e[P0>>2]|0)+(M<<2)>>2]=e[O0>>2]):(q|0)==30&&(qx=e[P0>>2]|0,e[qx+(_<<2)>>2]=e[qx+((g0&e[k>>2])<<1<<2)>>2],qx=e[P0>>2]|0,e[qx+(M<<2)>>2]=e[qx+(((g0&e[k>>2])<<1|1)<<2)>>2]),q0=q0+1|0}(q|0)==13?j0(405873,405905,373,405932):(q|0)==26?j0(405955,405905,378,405932):(q|0)==28&&Pi()}while(!1);zx=c+4|0,qx=p+4|0,Q0=k+524292|0,H0=k+524296|0,ax=0,f0=Fx,_=0;x:for(;;){if((_+3|0)>>>0>=h>>>0){q=142;break}if(hx=_+f|0,mx=hx>>>0<Ex>>>0?hx:Ex,K0=h-_|0,l=ax+128|0,f0>>>0<l>>>0){for(q=(f0|0)==0,n0=q?l:f0;!(n0>>>0>=l>>>0);)n0=n0<<1;if(M=Px[e[c>>2]&1](e[$0>>2]|0,n0<<3)|0,!M){q=42;break}l=L0,q||Zx(M|0,l|0,f0<<3|0)|0,yx[e[zx>>2]&1](e[$0>>2]|0,l),sx=n0}else M=L0,sx=f0;for(z0=M,Bx=z0+(ax<<3)|0,q0=hx&w,v0=(e[qx>>2]|0)!=11?16:64,v0=hx>>>0<v0>>>0?0:hx-v0|0,L0=d+q0|0,g0=d+(q0+1)|0,w0=q0+K0|0,y0=d+w0|0,w0=d+(w0+-4)|0,l=Bx,n0=1,q=hx;q=q+-1|0,!(!(q>>>0>v0>>>0&n0>>>0<3)||(u0=hx-q|0,u0>>>0>mx>>>0));){if(d0=q&w,(n[L0>>0]|0)!=(n[d+d0>>0]|0)){O0=n0,N0=l,n0=O0,l=N0;continue}if((n[g0>>0]|0)==(n[d+(d0+1)>>0]|0))f0=0,l0=L0;else{O0=n0,N0=l,n0=O0,l=N0;continue}for(;!(l0>>>0>w0>>>0||(N0=d+(d0+f0)|0,(s[l0>>0]|s[l0+1>>0]<<8|s[l0+2>>0]<<16|s[l0+3>>0]<<24|0)!=(s[N0>>0]|s[N0+1>>0]<<8|s[N0+2>>0]<<16|s[N0+3>>0]<<24|0)));)f0=f0+4|0,l0=l0+4|0;for(;!(l0>>>0>=y0>>>0||(n[d+(d0+f0)>>0]|0)!=(n[l0>>0]|0));)f0=f0+1|0,l0=l0+1|0;if(f0>>>0<=n0>>>0){O0=n0,N0=l,n0=O0,l=N0;continue}n0=l,e[n0>>2]=u0,e[n0+4>>2]=f0<<5,l=n0+8|0,n0=f0}do if(n0>>>0<K0>>>0){for(O0=K0>>>0<128?K0:128,N0=K0>>>0>127,q=k+4+((ex(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[q>>2]|0,f0=(hx&e[k>>2])<<1,l0=f0|1,N0?(e[q>>2]=hx,k0=0,P0=0,h0=64):(k0=0,P0=0,h0=64);;){if(p0=hx-u0|0,m0=u0&w,(hx|0)==(u0|0)|p0>>>0>mx>>>0|(h0|0)==0){q=63;break}if(w0=k0>>>0<P0>>>0?k0:P0,w0>>>0>=129){q=66;break x}for(g0=q0+w0|0,d0=m0+K0|0,y0=d+d0|0,d0=d+(d0+-4)|0,v0=0,q=d+(m0+w0)|0;!(q>>>0>d0>>>0||(cx=d+(g0+v0)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[cx>>0]|s[cx+1>>0]<<8|s[cx+2>>0]<<16|s[cx+3>>0]<<24|0)));)v0=v0+4|0,q=q+4|0;for(;!(q>>>0>=y0>>>0||(n[d+(g0+v0)>>0]|0)!=(n[q>>0]|0));)v0=v0+1|0,q=q+1|0;w0=w0+v0|0;e:do if(w0){for(q=w0,g0=L0,y0=d+m0|0;d0=n[g0>>0]|0,v0=n[y0>>0]|0,d0<<24>>24==v0<<24>>24;)if(q=q+-1|0,q)g0=g0+1|0,y0=y0+1|0;else break e;if(d0<<24>>24!=v0<<24>>24){q=79;break x}}while(!1);if(q=l,(l|0)!=0&w0>>>0>n0>>>0&&(e[q>>2]=p0,e[q+4>>2]=w0<<5,l=q+8|0,n0=w0),w0>>>0>=O0>>>0){q=83;break}(s[d+(q0+w0)>>0]|0)>(s[d+(m0+w0)>>0]|0)?(N0&&(e[(e[Q0>>2]|0)+(f0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1|1,u0=w0,q=P0,f0=d0,d0=(e[Q0>>2]|0)+(d0<<2)|0):(N0&&(e[(e[Q0>>2]|0)+(l0<<2)>>2]=u0),d0=(u0&e[k>>2])<<1,u0=k0,q=w0,l0=d0,d0=(e[Q0>>2]|0)+(d0<<2)|0),k0=u0,P0=q,u0=e[d0>>2]|0,h0=h0+-1|0}if((q|0)==63){if(!N0)break;e[(e[Q0>>2]|0)+(f0<<2)>>2]=e[H0>>2],e[(e[Q0>>2]|0)+(l0<<2)>>2]=e[H0>>2];break}else if((q|0)==83){if(!N0)break;cx=e[Q0>>2]|0,e[cx+(f0<<2)>>2]=e[cx+((u0&e[k>>2])<<1<<2)>>2],cx=e[Q0>>2]|0,e[cx+(l0<<2)>>2]=e[cx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(q=0;(q|0)!=38;)e[jx+(q<<2)>>2]=268435455,q=q+1|0;n0=n0+1|0,n0=n0>>>0<4?4:n0;e:do if(jg(L0,n0,K0,jx)|0)for(f0=K0>>>0>37?37:K0;;){if(n0>>>0>f0>>>0)break e;q=e[jx+(n0<<2)>>2]|0,q>>>0<268435455&&(cx=q&31,e[l>>2]=mx+(q>>>5)+1,e[l+4>>2]=n0<<5|((n0|0)==(cx|0)?0:cx),l=l+8|0),n0=n0+1|0}while(!1);for(f0=l-Bx>>3,l=ax+f0|0,n0=ax;q=n0,n0=n0+1|0,!(n0>>>0>=l>>>0);){if((e[z0+(q<<3)+4>>2]|0)>>>5>>>0>=(e[z0+(n0<<3)+4>>2]|0)>>>5>>>0){q=105;break x}if(q=e[z0+(q<<3)>>2]|0,!(q>>>0>mx>>>0)&&q>>>0>(e[z0+(n0<<3)>>2]|0)>>>0){q=108;break x}}if(l0=Y0+(_<<2)|0,e[l0>>2]=f0,f0){if(q=l+-1|0,cx=e[z0+(q<<3)+4>>2]|0,n0=cx>>>5,cx>>>0>10431){for(K0=n0+-1|0,l=ax+1|0,cx=z0+(q<<3)|0,q0=e[cx+4>>2]|0,L0=Bx,e[L0>>2]=e[cx>>2],e[L0+4>>2]=q0,e[l0>>2]=1,L0=hx+n0|0,L0=L0>>>0<vx>>>0?L0:vx,q0=(hx+64|0)>>>0>L0>>>0?hx+1|0:L0+-63|0;!(q0>>>0>=L0>>>0);){for(f0=e[k>>2]|0,k0=f0+-15|0,P0=q0&w,O0=d+P0|0,m0=k+4+((ex(s[O0>>0]|s[O0+1>>0]<<8|s[O0+2>>0]<<16|s[O0+3>>0]<<24,506832829)|0)>>>15<<2)|0,p0=e[m0>>2]|0,f0=(q0&f0)<<1,e[m0>>2]=q0,m0=0,l0=0,h0=0,n0=f0,f0=f0|1,N0=64;;){if(w0=p0&w,(q0|0)==(p0|0)|(q0-p0|0)>>>0>k0>>>0|(N0|0)==0){q=115;break}if(y0=l0>>>0<h0>>>0?l0:h0,y0>>>0>=129){q=117;break x}for(v0=P0+y0|0,g0=d+(w0+128)|0,u0=d+(w0+124)|0,d0=0,q=d+(w0+y0)|0;!(q>>>0>u0>>>0||(cx=d+(v0+d0)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[cx>>0]|s[cx+1>>0]<<8|s[cx+2>>0]<<16|s[cx+3>>0]<<24|0)));)d0=d0+4|0,q=q+4|0;for(;!(q>>>0>=g0>>>0||(n[d+(v0+d0)>>0]|0)!=(n[q>>0]|0));)d0=d0+1|0,q=q+1|0;y0=y0+d0|0;e:do if(y0){for(q=y0,v0=O0,g0=d+w0|0;u0=n[v0>>0]|0,d0=n[g0>>0]|0,u0<<24>>24==d0<<24>>24;)if(q=q+-1|0,q)v0=v0+1|0,g0=g0+1|0;else break e;if(u0<<24>>24!=d0<<24>>24){q=130;break x}}while(!1);if(m0){q=132;break x}if(y0>>>0>=128){q=134;break}q=e[Q0>>2]|0,(s[d+(P0+y0)>>0]|0)>(s[d+(w0+y0)>>0]|0)?(e[q+(n0<<2)>>2]=p0,u0=(p0&e[k>>2])<<1|1,l0=y0,q=h0,n0=u0,u0=(e[Q0>>2]|0)+(u0<<2)|0):(e[q+(f0<<2)>>2]=p0,u0=(p0&e[k>>2])<<1,q=y0,f0=u0,u0=(e[Q0>>2]|0)+(u0<<2)|0),m0=0,h0=q,p0=e[u0>>2]|0,N0=N0+-1|0}(q|0)==115?(e[(e[Q0>>2]|0)+(n0<<2)>>2]=e[H0>>2],e[(e[Q0>>2]|0)+(f0<<2)>>2]=e[H0>>2]):(q|0)==134&&(cx=e[Q0>>2]|0,e[cx+(n0<<2)>>2]=e[cx+((p0&e[k>>2])<<1<<2)>>2],cx=e[Q0>>2]|0,e[cx+(f0<<2)>>2]=e[cx+(((p0&e[k>>2])<<1|1)<<2)>>2]),q0=q0+1|0}Hx(Y0+(_+1<<2)|0,0,K0<<2|0)|0,_=_+K0|0}}else l=ax;ax=l,L0=M,f0=sx,_=_+1|0}if((q|0)==42)kx(1);else if((q|0)==66)j0(405873,405905,373,405932);else if((q|0)==79)j0(405955,405905,378,405932);else if((q|0)==105)j0(403595,403667,793,403707);else if((q|0)==108)j0(403740,403667,795,403707);else if((q|0)==117)j0(405873,405905,373,405932);else if((q|0)==130)j0(405955,405905,378,405932);else if((q|0)==132)Pi();else if((q|0)==142){for(h0=e[r0>>2]|0,k0=e[i0>>2]|0,e[ox>>2]=e[e0>>2],e[ox+4>>2]=e[e0+4>>2],e[ox+8>>2]=e[e0+8>>2],e[ox+12>>2]=e[e0+12>>2],P0=e[x0>>2]|0,O0=Px[e[c>>2]&1](e[$0>>2]|0,(h<<4)+16|0)|0,O0||kx(1),N0=Rx+4904|0,e[N0>>2]=h,l=Px[e[c>>2]&1](e[$0>>2]|0,Fx+8|0)|0,l||kx(1),m0=Rx+4896|0,e[m0>>2]=l,l0=O0+12|0,u0=fx+224|0,d0=L0,v0=f-k0|0,g0=Rx+2816|0,y0=Rx+4900|0,w0=h+1|0,p0=0;(p0|0)!=2;){for(l=0;(l|0)!=(w0|0);)e[O0+(l<<4)>>2]=1,e[O0+(l<<4)+4>>2]=0,e[O0+(l<<4)+8>>2]=0,a0[O0+(l<<4)+12>>2]=X0,l=l+1|0;if(!p0)Bg(Rx,f,d,w);else{for(_=e[x0>>2]|0,Hx(Gx|0,0,1024)|0,Hx($x|0,0,2816)|0,Hx(ae|0,0,2080)|0,_=_-P0|0,n0=v0,f0=0;(f0|0)!=(_|0);){for(M=e[$+(f0<<4)>>2]|0,q=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,cx=o[$+(f0<<4)+12>>1]|0,c=$x+((cx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(cx&65535)>127&&(l=ae+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(M|0);)cx=Gx+(s[d+(n0+l&w)>>0]<<2)|0,e[cx>>2]=(e[cx>>2]|0)+1,l=l+1|0;n0=n0+(M+q)|0,f0=f0+1|0}for(tl(Gx,256,Wx),tl($x,704,Rx),tl(ae,520,g0),l=2139095040,_=0;(_|0)!=704;)cx=e[Rx+(_<<2)>>2]|0,e[fx>>2]=l,e[Mx>>2]=cx,t0=(e[b0>>2]=l,+a0[b0>>2]),l=e[(t0<(e[b0>>2]=cx,+a0[b0>>2])?fx:Mx)>>2]|0,_=_+1|0;for(e[y0>>2]=l,_=e[N0>>2]|0,l=e[m0>>2]|0,a0[l>>2]=0,t0=0,M=0;(M|0)!=(_|0);)_x=t0+ +a0[Wx+(s[d+(M+f&w)>>0]<<2)>>2],cx=M+1|0,a0[l+(cx<<2)>>2]=_x,t0=_x,M=cx}for(e[x0>>2]=P0,e[r0>>2]=h0,e[i0>>2]=k0,e[e0>>2]=e[ox>>2],e[e0+4>>2]=e[ox+4>>2],e[e0+8>>2]=e[ox+8>>2],e[e0+12>>2]=e[ox+12>>2],M=(e[qx>>2]|0)<11?150:325,e[O0>>2]=0,a0[l0>>2]=0,e[u0>>2]=0,l=0,_=0;;){if((_+3|0)>>>0>=h>>>0){l=h;break}cx=Y0+(_<<2)|0,ku(h,f,_,d,w,p,Ex,e0,e[cx>>2]|0,d0+(l<<3)|0,Rx,fx,O0),cx=e[cx>>2]|0,l=l+cx|0,(cx|0)==1&&(px=(e[d0+(l+-1<<3)+4>>2]|0)>>>5,px>>>0>M>>>0)&&(e[u0>>2]=0,_=_+(px+-1)|0),_=_+1|0}for(;!(e[O0+(l<<4)+8>>2]|0||(e[O0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[O0+(l<<4)+12>>2]=-1,_=0;l;)c=(e[O0+(l<<4)>>2]&16777215)+(e[O0+(l<<4)+8>>2]|0)|0,cx=l-c|0,e[O0+(cx<<4)+12>>2]=c,l=cx,_=_+1|0;e[x0>>2]=(e[x0>>2]|0)+_,rl(h,f,Ex,O0,e0,i0,$,r0),p0=p0+1|0}yx[e[zx>>2]&1](e[$0>>2]|0,e[m0>>2]|0),e[m0>>2]=0,yx[e[zx>>2]&1](e[$0>>2]|0,O0),yx[e[zx>>2]&1](e[$0>>2]|0,L0),yx[e[zx>>2]&1](e[$0>>2]|0,Y0),c0=rx;return}}function Eq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0;if(px=c0,c0=c0+32|0,fx=px+16|0,Ex=px,Fx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,Mx=f+h|0,qx=h>>>0>7?Mx+-7|0:f,zx=p+4|0,jx=(e[zx>>2]|0)<9?64:512,_=jx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)vx=d+c|0,H0=vx,vx=vx+4|0,vx=ye(s[H0>>0]|s[H0+1>>0]<<8|s[H0+2>>0]<<16|s[H0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Cx=8)}else n[k+262148>>0]&1&&Hx(k|0,0,262149)|0,Cx=8;(Cx|0)==8&&h>>>0>6&f>>>0>2&&(H0=f+-3|0,vx=d+(H0&w)|0,Q0=vx,vx=vx+4|0,vx=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=H0,vx=f+-2|0,H0=d+(vx&w)|0,Q0=H0,H0=H0+4|0,H0=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+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=wx(H0|0,S0|0,48)|0,e[k+(H0<<2)>>2]=vx,H0=f+-1|0,vx=d+(H0&w)|0,Q0=vx,vx=vx+4|0,vx=ye(s[Q0>>0]|s[Q0+1>>0]<<8|s[Q0+2>>0]<<16|s[Q0+3>>0]<<24|0,s[vx>>0]|s[vx+1>>0]<<8|s[vx+2>>0]<<16|s[vx+3>>0]<<24|0,-1124073472,1979815)|0,vx=wx(vx|0,S0|0,48)|0,e[k+(vx<<2)>>2]=H0),p0=fx+4|0,m0=fx+8|0,h0=fx+12|0,k0=fx+4|0,P0=k+262156|0,O0=k+262152|0,N0=fx+12|0,q0=fx+8|0,L0=jx<<2,K0=Mx+-7|0,z0=Ex+4|0,Bx=Ex+8|0,mx=Ex+12|0,hx=Ex+4|0,ax=Ex+8|0,sx=Ex+12|0,Q0=e0+8|0,H0=e0+12|0,vx=e0+4|0,p=f,w0=$,c=M;x:for(;;){v0=w0,y0=_+L0|0;e:for(;;){if(g0=Mx-p|0,(p+8|0)>>>0>=Mx>>>0)break x;if(u0=p>>>0<Fx>>>0?p:Fx,e[fx>>2]=0,e[p0>>2]=0,e[m0>>2]=0,e[h0>>2]=4240,d0=p&w,f0=d+d0|0,q=f0,n0=q,n0=s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24,q=q+4|0,q=ye(n0|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=wx(q|0,S0|0,48)|0,t0=e[e0>>2]|0,l=p-t0|0,e[k0>>2]=0,l>>>0<p>>>0&&($0=l&w,(n[d+$0>>0]|0)==(n0&255)<<24>>24)){for(h=d0+g0|0,M=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(l0=d+($0+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>=M>>>0||(n[d+($0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Cx=22;break}}if(l0=k+(q<<2)|0,M=e[l0>>2]|0,e[l0>>2]=p,q=p-M|0,t0=M&w,!(((p|0)==(M|0)?1:(n[d+t0>>0]|0)!=(n0&255)<<24>>24)|q>>>0>u0>>>0)){for(h=d0+g0|0,M=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(n0=d+(t0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(t0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Cx=32;break}if((e[P0>>2]|0)>>>0<(e[O0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(f0=o[21084+(t0<<1)>>1]|0,h=f0&65535,e[O0>>2]=(e[O0>>2]|0)+1,f0<<16>>16!=0&&(Y0=h&31,Wx=h>>>5,$x=(e[11272+(Y0<<2)>>2]|0)+(ex(Y0,Wx)|0)|0,Y0>>>0<=g0>>>0)){for(f=$x+Y0|0,q=280811+f|0,f=280811+(f+-4)|0,M=0,h=280811+$x|0;!(h>>>0>f>>>0||(f0=d+(d0+M)|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)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(d0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=Y0>>>0|(M|0)==0)&&(ae=u0+Wx+1+(s[407930+(Y0-M)>>0]<<s[280786+Y0>>0])|0,Gx=(M*540|0)+3840+(ex((Dx(ae|0)|0)^31,-120)|0)|0,Gx>>>0>=(e[N0>>2]|0)>>>0)&&(e[fx>>2]=M,e[k0>>2]=Y0^M,e[q0>>2]=ae,e[N0>>2]=Gx,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}if(e[l0>>2]=p,l&1){y0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=_>>>0){p=h;continue}if(h>>>0>y0>>>0)for(l=p+17|0,l=l>>>0<K0>>>0?l:K0,p=h;;){if(p>>>0>=l>>>0)continue e;g0=d+(p&w)|0,d0=g0,g0=g0+4|0,g0=ye(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=wx(g0|0,S0|0,48)|0,e[k+(g0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<K0>>>0?l:K0,p=h;;){if(p>>>0>=l>>>0)continue e;g0=d+(p&w)|0,d0=g0,g0=g0+4|0,g0=ye(s[d0>>0]|s[d0+1>>0]<<8|s[d0+2>>0]<<16|s[d0+3>>0]<<24|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=wx(g0|0,S0|0,48)|0,e[k+(g0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Cx|0)==22?(Cx=0,e[fx>>2]=f,e[q0>>2]=t0,e[N0>>2]=(f*540|0)+3900,e[k+(q<<2)>>2]=p,y0=0):(Cx|0)==32&&(Cx=0,e[fx>>2]=f,e[q0>>2]=q,e[N0>>2]=(f*540|0)+3840+(ex((Dx(q|0)|0)^31,-120)|0),y0=0);e:for(;;){if(g0=g0+-1|0,(e[zx>>2]|0)<5?(t0=(e[fx>>2]|0)+-1|0,t0=t0>>>0<g0>>>0?t0:g0):t0=0,e[Ex>>2]=t0,e[z0>>2]=0,e[Bx>>2]=0,e[mx>>2]=4240,f0=p+1|0,d0=f0>>>0<Fx>>>0?f0:Fx,v0=f0&w,l0=d+v0|0,M=l0,n0=M,M=M+4|0,M=ye(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0,s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0,-1124073472,1979815)|0,M=wx(M|0,S0|0,48)|0,n0=n[d+(v0+t0)>>0]|0,q=e[e0>>2]|0,l=f0-q|0,e[hx>>2]=0,l>>>0<f0>>>0&&(Rx=l&w,n0<<24>>24==(n[d+(Rx+t0)>>0]|0))){for(h=v0+g0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=l0;!(l>>>0>h>>>0||(u0=d+(Rx+_)|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)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Rx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(e[Ex>>2]=_,e[ax>>2]=q,e[sx>>2]=(_*540|0)+3900,e[k+(M<<2)>>2]=f0):Cx=64}else Cx=64;do if((Cx|0)==64){if(Cx=0,u0=k+(M<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,M=f0-f|0,q=f&w,((f0|0)==(f|0)?1:n0<<24>>24!=(n[d+(q+t0)>>0]|0))|M>>>0>d0>>>0){f0=p,n0=c;break e}for(h=v0+g0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=l0;!(l>>>0>h>>>0||(n0=d+(q+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(q+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;if(_>>>0>3){e[Ex>>2]=_,e[ax>>2]=M,e[sx>>2]=(_*540|0)+3840+(ex((Dx(M|0)|0)^31,-120)|0);break}if((e[P0>>2]|0)>>>0<(e[O0>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,q=(ex(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+(q<<1)>>1]|0,h=l0&65535,e[O0>>2]=(e[O0>>2]|0)+1,l0<<16>>16!=0&&(ox=h&31,rx=h>>>5,cx=(e[11272+(ox<<2)>>2]|0)+(ex(ox,rx)|0)|0,ox>>>0<=g0>>>0)){for(_=cx+ox|0,M=280811+_|0,_=280811+(_+-4)|0,f=0,h=280811+cx|0;!(h>>>0>_>>>0||(l0=d+(v0+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>=M>>>0||(n[d+(v0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ox>>>0|(f|0)==0)&&(_x=d0+rx+1+(s[407930+(ox-f)>>0]<<s[280786+ox>>0])|0,te=(f*540|0)+3840+(ex((Dx(_x|0)|0)^31,-120)|0)|0,te>>>0>=(e[sx>>2]|0)>>>0)&&(e[Ex>>2]=f,e[hx>>2]=ox^f,e[ax>>2]=_x,e[sx>>2]=te,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}t0=t0+1|0,q=q+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,n0=c;break e}}while(!1);if((e[mx>>2]|0)>>>0<((e[h0>>2]|0)+700|0)>>>0){f0=p,n0=c;break}if(c=c+1|0,e[fx>>2]=e[Ex>>2],e[fx+4>>2]=e[Ex+4>>2],e[fx+8>>2]=e[Ex+8>>2],e[fx+12>>2]=e[Ex+12>>2],y0=y0+1|0,(y0|0)<4&(p+9|0)>>>0<Mx>>>0)p=f0;else{n0=c;break}}p=e[fx>>2]|0,_=f0+(p<<1)+jx|0,c=e[m0>>2]|0;e:do if(c>>>0<=(f0>>>0<Fx>>>0?f0:Fx)>>>0)if(f=c+3|0,y0=e[e0>>2]|0,l=f-y0|0,h=e[vx>>2]|0,f=f-h|0,(c|0)==(y0|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[Q0>>2]|0)){c=2;break t}if((c|0)==(e[H0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[H0>>2]=e[Q0>>2],e[Q0>>2]=e[vx>>2],e[vx>>2]=e[e0>>2],e[e0>>2]=e[m0>>2],p=e[fx>>2]|0}else c=c+15|0;while(!1);t0=w0+16|0,y0=e[p0>>2]|0,l=p^y0,e[w0>>2]=n0,e[w0+4>>2]=p|y0<<24,p=w0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(v0=c+-12|0,y0=((Dx(v0|0)|0)^31)+-1|0,g0=v0>>>y0&1,c=((y0<<1)+65534|g0)+16&65535,o[p>>1]=c,p=y0<<24|v0-((g0|2)<<y0)),e[w0+8>>2]=p,M=c<<16>>16==0,q=w0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){w0=n0+-2|0,f=((Dx(w0|0)|0)^31)+-1|0,f=(f<<1)+(w0>>>f)+2&65535;break}if(n0>>>0<2114){f=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?f=21:f=n0>>>0<22594?22:23}else f=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){w0=l+-6|0,c=((Dx(w0|0)|0)^31)+-1|0,c=(c<<1)+(w0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(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,M&(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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[fx>>2]|0)|0,c=c>>>0<qx>>>0?c:qx,p=f0+2|0;!(p>>>0>=c>>>0);)w0=d+(p&w)|0,y0=w0,w0=w0+4|0,w0=ye(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+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=wx(w0|0,S0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+1|0;p=f0+(e[fx>>2]|0)|0,w0=t0,c=0}e[i0>>2]=c+g0,e[x0>>2]=(e[x0>>2]|0)+(v0-$>>4),c0=px}function Cq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0;if(vx=(1<<e[p+8>>2])+-16|0,M=e[i0>>2]|0,jx=f+h|0,H0=h>>>0>7?jx+-7|0:f,Q0=p+4|0,sx=(e[Q0>>2]|0)<9?64:512,p=sx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)ax=d+c|0,hx=ax,ax=ax+4|0,ax=ye(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0,s[ax>>0]|s[ax+1>>0]<<8|s[ax+2>>0]<<16|s[ax+3>>0]<<24|0,-1124073472,1979815)|0,ax=wx(ax|0,S0|0,48)|0,ax=k+(ax<<2)|0,e[ax>>2]=0,e[ax+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,_=8)}else n[k+262152>>0]&1&&Hx(k|0,0,262153)|0,_=8;(_|0)==8&&h>>>0>6&f>>>0>2&&(ax=f+-3|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax,ax=f+-2|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax,ax=f+-1|0,hx=d+(ax&w)|0,mx=hx,hx=hx+4|0,hx=ye(s[mx>>0]|s[mx+1>>0]<<8|s[mx+2>>0]<<16|s[mx+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=wx(hx|0,S0|0,48)|0,e[k+(hx+(ax>>>3&1)<<2)>>2]=ax),z0=sx<<2,Bx=jx+-7|0,mx=e0+8|0,hx=e0+12|0,ax=e0+4|0,l=f,K0=$,n0=p,c=M;x:for(;;){P0=K0,O0=n0+z0|0;e:for(;;){if(q0=jx-l|0,(l+8|0)>>>0>=jx>>>0)break x;if(p0=l>>>0<vx>>>0?l:vx,m0=l&w,h0=d+m0|0,k0=h0,p=k0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,k0=k0+4|0,k0=ye(p|0,s[k0>>0]|s[k0+1>>0]<<8|s[k0+2>>0]<<16|s[k0+3>>0]<<24|0,-1124073472,1979815)|0,k0=wx(k0|0,S0|0,48)|0,q=p&255,h=e[e0>>2]|0,_=l-h|0,_>>>0<l>>>0&&(zx=_&w,(n[d+zx>>0]|0)==(p&255)<<24>>24)){for(_=m0+q0|0,M=d+_|0,_=d+(_+-4)|0,f=0,p=h0;!(p>>>0>_>>>0||(L0=d+(zx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+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,p=p+4|0;for(;!(p>>>0>=M>>>0||(n[d+(zx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(q=s[d+(m0+f)>>0]|0,p=1,M=f,f=(f*540|0)+3900|0):(p=0,M=0,h=0,f=4240)}else p=0,M=0,h=0,f=4240;for(y0=m0+q0|0,g0=d+y0|0,y0=d+(y0+-4)|0,l0=M,t0=f,w0=k+(k0+1<<2)|0,u0=0,_=k+(k0<<2)|0,d0=M,v0=f;_=e[_>>2]|0,(u0|0)!=2;){if(f0=l-_|0,M=_&w,((l|0)==(_|0)?1:(q|0)!=(s[d+(M+l0)>>0]|0))|f0>>>0>p0>>>0)M=l0,f=d0,_=v0;else{for(_=0,f=h0;!(f>>>0>y0>>>0||(L0=d+(M+_)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0)));)_=_+4|0,f=f+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(M+_)>>0]|0)!=(n[f>>0]|0));)_=_+1|0,f=f+1|0;_>>>0>3&&(qx=(_*540|0)+3840+(ex((Dx(f0|0)|0)^31,-120)|0)|0,t0>>>0<qx>>>0)?(M=_,t0=qx,q=s[d+(m0+_)>>0]|0,p=1,f=_,h=f0,_=qx):(M=l0,f=d0,_=v0)}L0=w0,l0=M,w0=w0+4|0,u0=u0+1|0,d0=f,v0=_,_=L0}if(e[k+(k0+(l>>>3&1)<<2)>>2]=l,p&1){L0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=n0>>>0){l=h;continue}if(h>>>0>O0>>>0)for(p=l+17|0,p=p>>>0<Bx>>>0?p:Bx,l=h;;){if(l>>>0>=p>>>0)continue e;L0=d+(l&w)|0,q0=L0,L0=L0+4|0,L0=ye(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,-1124073472,1979815)|0,L0=wx(L0|0,S0|0,48)|0,e[k+(L0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<Bx>>>0?p:Bx,l=h;;){if(l>>>0>=p>>>0)continue e;L0=d+(l&w)|0,q0=L0,L0=L0+4|0,L0=ye(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[L0>>0]|s[L0+1>>0]<<8|s[L0+2>>0]<<16|s[L0+3>>0]<<24|0,-1124073472,1979815)|0,L0=wx(L0|0,S0|0,48)|0,e[k+(L0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(q0=q0+-1|0,(e[Q0>>2]|0)<5?(t0=d0+-1|0,t0=t0>>>0<q0>>>0?t0:q0):t0=0,l0=l+1|0,k0=l0>>>0<vx>>>0?l0:vx,P0=l0&w,O0=d+P0|0,N0=O0,p=N0,N0=N0+4|0,N0=ye(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[N0>>0]|s[N0+1>>0]<<8|s[N0+2>>0]<<16|s[N0+3>>0]<<24|0,-1124073472,1979815)|0,N0=wx(N0|0,S0|0,48)|0,p=n[d+(P0+t0)>>0]|0,q=p&255,n0=e[e0>>2]|0,_=l0-n0|0,_>>>0<l0>>>0&&(Fx=_&w,p<<24>>24==(n[d+(Fx+t0)>>0]|0))){for(_=P0+q0|0,M=d+_|0,_=d+(_+-4)|0,f=0,p=O0;!(p>>>0>_>>>0||(h0=d+(Fx+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>=M>>>0||(n[d+(Fx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(q=s[d+(P0+f)>>0]|0,p=1,t0=f,_=(f*540|0)+3900|0):(p=0,_=4240,n0=0)}else p=0,_=4240,n0=0;for(m0=P0+q0|0,p0=d+m0|0,m0=d+(m0+-4)|0,g0=t0,y0=_,h0=k+(N0+1<<2)|0,w0=0,M=p,p=k+(N0<<2)|0,u0=_;p=e[p>>2]|0,(w0|0)!=2;){if(f0=l0-p|0,f=p&w,((l0|0)==(p|0)?1:(q|0)!=(s[d+(f+g0)>>0]|0))|f0>>>0>k0>>>0)_=g0,f=y0,p=u0;else{for(p=0,_=O0;!(_>>>0>m0>>>0||(fx=d+(f+p)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)p=p+4|0,_=_+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(f+p)>>0]|0)!=(n[_>>0]|0));)p=p+1|0,_=_+1|0;p>>>0>3&&(Mx=(p*540|0)+3840+(ex((Dx(f0|0)|0)^31,-120)|0)|0,y0>>>0<Mx>>>0)?(_=p,f=Mx,q=s[d+(P0+p)>>0]|0,M=1,t0=p,p=Mx,n0=f0):(_=g0,f=y0,p=u0)}fx=h0,g0=_,y0=f,h0=h0+4|0,w0=w0+1|0,u0=p,p=fx}if(e[k+(N0+(l0>>>3&1)<<2)>>2]=l0,(M&1)==0|u0>>>0<(v0+700|0)>>>0){l0=l,f0=c,t0=d0;break}if(c=c+1|0,L0=L0+1|0,(L0|0)<4&(l+9|0)>>>0<jx>>>0)l=l0,d0=t0,h=n0,v0=u0;else{f0=c,h=n0;break}}n0=l0+(t0<<1)+sx|0;e:do if(h>>>0<=(l0>>>0<vx>>>0?l0:vx)>>>0)if(l=h+3|0,fx=e[e0>>2]|0,c=l-fx|0,p=e[ax>>2]|0,l=l-p|0,(h|0)==(fx|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[mx>>2]|0)){c=2;break t}if((h|0)==(e[hx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[hx>>2]=e[mx>>2],e[mx>>2]=e[ax>>2],e[ax>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);q=K0+16|0,e[K0>>2]=f0,e[K0+4>>2]=t0,p=K0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,fx=((Dx(q0|0)|0)^31)+-1|0,L0=q0>>>fx&1,c=((fx<<1)+65534|L0)+16&65535,o[p>>1]=c,p=fx<<24|q0-((L0|2)<<fx)),e[K0+8>>2]=p,f=c<<16>>16==0,M=K0+12|0;do if(f0>>>0>=6){if(f0>>>0<130){fx=f0+-2|0,p=((Dx(fx|0)|0)^31)+-1|0,p=(p<<1)+(fx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Dx(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){fx=t0+-6|0,c=((Dx(fx|0)|0)^31)+-1|0,c=(c<<1)+(fx>>>c)+4&65535;break}t0>>>0<2118?c=((Dx(t0+-70|0)|0)^31)+12&65535:c=23}else c=t0+65534&65535;while(!1);for(l=c&65535,h=p&65535,_=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|_&65535,o[M>>1]=c,e[r0>>2]=(e[r0>>2]|0)+f0,l=l0+t0|0,p=l>>>0<H0>>>0?l:H0,c=l0+2|0;;){if(c>>>0>=p>>>0){K0=q,c=0;continue x}fx=d+(c&w)|0,K0=fx,fx=fx+4|0,fx=ye(s[K0>>0]|s[K0+1>>0]<<8|s[K0+2>>0]<<16|s[K0+3>>0]<<24|0,s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0,-1124073472,1979815)|0,fx=wx(fx|0,S0|0,48)|0,e[k+(fx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[i0>>2]=c+q0,e[x0>>2]=(e[x0>>2]|0)+(P0-$>>4)}function kq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0;if(ae=c0,c0=c0+32|0,Wx=ae+16|0,$x=ae,$0=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Y0=f+h|0,px=h>>>0>7?Y0+-7|0:f,Ex=p+4|0,fx=(e[Ex>>2]|0)<9?64:512,M=fx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Mx=d+c|0,Fx=Mx,Mx=Mx+4|0,Mx=ye(s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+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=wx(Mx|0,S0|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,_=8)}else n[k+524304>>0]&1&&Hx(k|0,0,524305)|0,_=8;(_|0)==8&&h>>>0>6&f>>>0>2&&(Mx=f+-3|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-2|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx,Mx=f+-1|0,Fx=d+(Mx&w)|0,qx=Fx,Fx=Fx+4|0,Fx=ye(s[qx>>0]|s[qx+1>>0]<<8|s[qx+2>>0]<<16|s[qx+3>>0]<<24|0,s[Fx>>0]|s[Fx+1>>0]<<8|s[Fx+2>>0]<<16|s[Fx+3>>0]<<24|0,-1124073472,1979815)|0,Fx=wx(Fx|0,S0|0,47)|0,e[k+(Fx+(Mx>>>3&3)<<2)>>2]=Mx),Bx=Wx+4|0,mx=Wx+8|0,hx=Wx+12|0,ax=Wx+12|0,sx=Wx+4|0,Q0=Wx+8|0,H0=k+524312|0,vx=k+524308|0,jx=fx<<2,zx=Y0+-7|0,qx=$x+12|0,Fx=$x+4|0,Mx=$x+8|0,O0=$x+12|0,N0=$x+4|0,q0=$x+8|0,L0=e0+8|0,K0=e0+12|0,z0=e0+4|0,p=f,P0=$,c=q;x:for(;;){h0=P0,k0=M+jx|0;e:for(;;){if(m0=Y0-p|0,(p+8|0)>>>0>=Y0>>>0)break x;if(y0=p>>>0<$0>>>0?p:$0,e[Wx>>2]=0,e[Bx>>2]=0,e[mx>>2]=0,e[hx>>2]=4240,w0=p&w,g0=d+w0|0,p0=g0,l=p0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,p0=p0+4|0,p0=ye(l|0,s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,-1124073472,1979815)|0,p0=wx(p0|0,S0|0,47)|0,n0=l&255,t0=e[ax>>2]|0,q=e[e0>>2]|0,h=p-q|0,e[sx>>2]=0,h>>>0<p>>>0&&(Gx=h&w,(n[d+Gx>>0]|0)==(l&255)<<24>>24)){for(h=w0+m0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=g0;!(l>>>0>h>>>0||(v0=d+(Gx+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[v0>>0]|s[v0+1>>0]<<8|s[v0+2>>0]<<16|s[v0+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Gx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(f=(_*540|0)+3900|0,e[Wx>>2]=_,e[Q0>>2]=q,e[ax>>2]=f,h=_,_=s[d+(w0+_)>>0]|0,l=1):(h=0,f=t0,_=n0,l=0)}else h=0,f=t0,_=n0,l=0;for(v0=w0+m0|0,d0=d+v0|0,v0=d+(v0+-4)|0,u0=k+(p0+1<<2)|0,l0=0,q=k+(p0<<2)|0;q=e[q>>2]|0,(l0|0)!=4;){if(n0=p-q|0,f0=q&w,!(((p|0)==(q|0)?1:(_|0)!=(s[d+(f0+h)>>0]|0))|n0>>>0>y0>>>0)){for(q=0,t0=g0;!(t0>>>0>v0>>>0||(ux=d+(f0+q)|0,(s[t0>>0]|s[t0+1>>0]<<8|s[t0+2>>0]<<16|s[t0+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)q=q+4|0,t0=t0+4|0;for(;!(t0>>>0>=d0>>>0||(n[d+(f0+q)>>0]|0)!=(n[t0>>0]|0));)q=q+1|0,t0=t0+1|0;q>>>0>3&&(Rx=(q*540|0)+3840+(ex((Dx(n0|0)|0)^31,-120)|0)|0,f>>>0<Rx>>>0)&&(e[Wx>>2]=q,e[Q0>>2]=n0,e[ax>>2]=Rx,h=q,f=Rx,_=s[d+(w0+q)>>0]|0,l=1)}q=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[H0>>2]|0)>>>0<(e[vx>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(ux=o[21084+(t0<<1)>>1]|0,h=ux&65535,e[vx>>2]=(e[vx>>2]|0)+1,ux<<16>>16!=0&&(ox=h&31,rx=h>>>5,cx=(e[11272+(ox<<2)>>2]|0)+(ex(ox,rx)|0)|0,ox>>>0<=m0>>>0)){for(_=cx+ox|0,q=280811+_|0,_=280811+(_+-4)|0,f=0,h=280811+cx|0;!(h>>>0>_>>>0||(ux=d+(w0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(w0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ox>>>0|(f|0)==0)&&(_x=y0+rx+1+(s[407930+(ox-f)>>0]<<s[280786+ox>>0])|0,te=(f*540|0)+3840+(ex((Dx(_x|0)|0)^31,-120)|0)|0,te>>>0>=(e[ax>>2]|0)>>>0)&&(e[Wx>>2]=f,e[sx>>2]=ox^f,e[Q0>>2]=_x,e[ax>>2]=te,e[H0>>2]=(e[H0>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(p0+(p>>>3&3)<<2)>>2]=p,l&1){h0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>k0>>>0)for(l=p+17|0,l=l>>>0<zx>>>0?l:zx,p=h;;){if(p>>>0>=l>>>0)continue e;ux=d+(p&w)|0,m0=ux,ux=ux+4|0,ux=ye(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<zx>>>0?l:zx,p=h;;){if(p>>>0>=l>>>0)continue e;ux=d+(p&w)|0,m0=ux,ux=ux+4|0,ux=ye(s[m0>>0]|s[m0+1>>0]<<8|s[m0+2>>0]<<16|s[m0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(m0=m0+-1|0,(e[Ex>>2]|0)<5?(q=(e[Wx>>2]|0)+-1|0,q=q>>>0<m0>>>0?q:m0):q=0,e[$x>>2]=q,e[Fx>>2]=0,e[Mx>>2]=0,e[qx>>2]=4240,f0=p+1|0,y0=f0>>>0<$0>>>0?f0:$0,w0=f0&w,g0=d+w0|0,p0=g0,l=p0,p0=p0+4|0,p0=ye(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0,s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0,-1124073472,1979815)|0,p0=wx(p0|0,S0|0,47)|0,l=n[d+(w0+q)>>0]|0,n0=l&255,M=e[O0>>2]|0,t0=e[e0>>2]|0,h=f0-t0|0,e[N0>>2]=0,h>>>0<f0>>>0&&(Cx=h&w,l<<24>>24==(n[d+(Cx+q)>>0]|0))){for(h=w0+m0|0,f=d+h|0,h=d+(h+-4)|0,_=0,l=g0;!(l>>>0>h>>>0||(ux=d+(Cx+_)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)_=_+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Cx+_)>>0]|0)!=(n[l>>0]|0));)_=_+1|0,l=l+1|0;_>>>0>3?(M=(_*540|0)+3900|0,e[$x>>2]=_,e[q0>>2]=t0,e[O0>>2]=M,h=_,_=s[d+(w0+_)>>0]|0,l=1):(h=q,_=n0,l=0)}else h=q,_=n0,l=0;for(v0=w0+m0|0,d0=d+v0|0,v0=d+(v0+-4)|0,u0=k+(p0+1<<2)|0,l0=0,f=k+(p0<<2)|0;f=e[f>>2]|0,(l0|0)!=4;){if(t0=f0-f|0,n0=f&w,!(((f0|0)==(f|0)?1:(_|0)!=(s[d+(n0+h)>>0]|0))|t0>>>0>y0>>>0)){for(f=0,q=g0;!(q>>>0>v0>>>0||(ux=d+(n0+f)|0,(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)f=f+4|0,q=q+4|0;for(;!(q>>>0>=d0>>>0||(n[d+(n0+f)>>0]|0)!=(n[q>>0]|0));)f=f+1|0,q=q+1|0;f>>>0>3&&(lx=(f*540|0)+3840+(ex((Dx(t0|0)|0)^31,-120)|0)|0,M>>>0<lx>>>0)&&(e[$x>>2]=f,e[q0>>2]=t0,e[O0>>2]=lx,h=f,M=lx,_=s[d+(w0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,l0=l0+1|0}if(!(l&1)){if((e[H0>>2]|0)>>>0<(e[vx>>2]|0)>>>7>>>0)l=0;else{for(t0=0,l=0,q=(ex(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>18<<1;(t0|0)!=1;){if(ux=o[21084+(q<<1)>>1]|0,h=ux&65535,e[vx>>2]=(e[vx>>2]|0)+1,ux<<16>>16!=0&&(ix=h&31,ge=h>>>5,D0=(e[11272+(ix<<2)>>2]|0)+(ex(ix,ge)|0)|0,ix>>>0<=m0>>>0)){for(_=D0+ix|0,f=280811+_|0,_=280811+(_+-4)|0,M=0,h=280811+D0|0;!(h>>>0>_>>>0||(ux=d+(w0+M)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0)));)M=M+4|0,h=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(w0+M)>>0]|0)!=(n[h>>0]|0));)M=M+1|0,h=h+1|0;!((M+10|0)>>>0<=ix>>>0|(M|0)==0)&&(re=y0+ge+1+(s[407930+(ix-M)>>0]<<s[280786+ix>>0])|0,Yx=(M*540|0)+3840+(ex((Dx(re|0)|0)^31,-120)|0)|0,Yx>>>0>=(e[O0>>2]|0)>>>0)&&(e[$x>>2]=M,e[N0>>2]=ix^M,e[q0>>2]=re,e[O0>>2]=Yx,e[H0>>2]=(e[H0>>2]|0)+1,l=1)}t0=t0+1|0,q=q+1|0}l=(l&1)!=0}l=l&1}if(e[k+(p0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,n0=c;break}if((e[qx>>2]|0)>>>0<((e[hx>>2]|0)+700|0)>>>0){f0=p,n0=c;break}if(c=c+1|0,e[Wx>>2]=e[$x>>2],e[Wx+4>>2]=e[$x+4>>2],e[Wx+8>>2]=e[$x+8>>2],e[Wx+12>>2]=e[$x+12>>2],h0=h0+1|0,(h0|0)<4&(p+9|0)>>>0<Y0>>>0)p=f0;else{n0=c;break}}p=e[Wx>>2]|0,M=f0+(p<<1)+fx|0,c=e[mx>>2]|0;e:do if(c>>>0<=(f0>>>0<$0>>>0?f0:$0)>>>0)if(_=c+3|0,ux=e[e0>>2]|0,l=_-ux|0,h=e[z0>>2]|0,_=_-h|0,(c|0)==(ux|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(_>>>0<7){c=266017486>>>(_<<2)&15;break}if((c|0)==(e[L0>>2]|0)){c=2;break t}if((c|0)==(e[K0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[K0>>2]=e[L0>>2],e[L0>>2]=e[z0>>2],e[z0>>2]=e[e0>>2],e[e0>>2]=e[mx>>2],p=e[Wx>>2]|0}else c=c+15|0;while(!1);t0=P0+16|0,ux=e[Bx>>2]|0,l=p^ux,e[P0>>2]=n0,e[P0+4>>2]=p|ux<<24,p=P0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(h0=c+-12|0,ux=((Dx(h0|0)|0)^31)+-1|0,k0=h0>>>ux&1,c=((ux<<1)+65534|k0)+16&65535,o[p>>1]=c,p=ux<<24|h0-((k0|2)<<ux)),e[P0+8>>2]=p,f=c<<16>>16==0,q=P0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){ux=n0+-2|0,_=((Dx(ux|0)|0)^31)+-1|0,_=(_<<1)+(ux>>>_)+2&65535;break}if(n0>>>0<2114){_=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?_=21:_=n0>>>0<22594?22:23}else _=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){ux=l+-6|0,c=((Dx(ux|0)|0)^31)+-1|0,c=(c<<1)+(ux>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=_&65535,h=p&7|l<<3&56,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[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[Wx>>2]|0)|0,c=c>>>0<px>>>0?c:px,p=f0+2|0;!(p>>>0>=c>>>0);)ux=d+(p&w)|0,P0=ux,ux=ux+4|0,ux=ye(s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,s[ux>>0]|s[ux+1>>0]<<8|s[ux+2>>0]<<16|s[ux+3>>0]<<24|0,-1124073472,1979815)|0,ux=wx(ux|0,S0|0,47)|0,e[k+(ux+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Wx>>2]|0)|0,P0=t0,c=0}e[i0>>2]=c+m0,e[x0>>2]=(e[x0>>2]|0)+(h0-$>>4),c0=ae}function Sq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,_=8)}else c=k+1081344|0,n[c>>0]&1&&(Hx(k|0,0,32768)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&15|$0<<4)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,px=k+($0<<1)|0,e[k+32768+((j[px>>1]&15|$0<<4)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&15|$0<<4)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+1081352|0,Q0=k+1081348|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=4;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<4,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>16?_+-16|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+32768+((v0|_&15)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&15)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=4;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<4,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>16?l+-16|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+32768+((v0|l&15)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&15)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&15|xx<<4)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Fq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,_=8)}else c=k+2129920|0,n[c>>0]&1&&(Hx(k|0,0,32768)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&31|$0<<5)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,px=k+($0<<1)|0,e[k+32768+((j[px>>1]&31|$0<<5)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>18,Y0=k+($0<<1)|0,e[k+32768+((j[Y0>>1]&31|$0<<5)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+2129928|0,Q0=k+2129924|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=4;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<5,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>32?_+-32|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+32768+((v0|_&31)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&31)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=4;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18,v0=g0<<5,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>32?l+-32|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+32768+((v0|l&31)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+32768+((v0|_0&31)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>18,_0=k+(xx<<1)|0,e[k+32768+((j[_0>>1]&31|xx<<5)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Oq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0){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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0;var _=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0,be=0,Lx=0,De=0,ie=0,dx=0,B0=0,xx=0,_0=0;if(cx=c0,c0=c0+32|0,ox=cx+16|0,rx=cx,Gx=(1<<e[p+8>>2])+-16|0,q=e[i0>>2]|0,Rx=f+h|0,ae=h>>>0>3?Rx+-3|0:f,$x=p+4|0,Wx=(e[$x>>2]|0)<9?64:512,M=Wx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Y0=d+c|0,o[k+((ex(s[Y0>>0]|s[Y0+1>>0]<<8|s[Y0+2>>0]<<16|s[Y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,_=8)}else c=k+8454144|0,n[c>>0]&1&&(Hx(k|0,0,65536)|0,n[c>>0]=0),_=8;(_|0)==8&&h>>>0>2&f>>>0>2&&(px=f+-3|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&63|$0<<6)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16,Y0=f+-2|0,$0=d+(Y0&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,px=k+($0<<1)|0,e[k+65536+((j[px>>1]&63|$0<<6)<<2)>>2]=Y0,o[px>>1]=(o[px>>1]|0)+1<<16>>16,px=f+-1|0,$0=d+(px&w)|0,$0=(ex(s[$0>>0]|s[$0+1>>0]<<8|s[$0+2>>0]<<16|s[$0+3>>0]<<24,506832829)|0)>>>17,Y0=k+($0<<1)|0,e[k+65536+((j[Y0>>1]&63|$0<<6)<<2)>>2]=px,o[Y0>>1]=(o[Y0>>1]|0)+1<<16>>16),K0=ox+4|0,z0=ox+8|0,Bx=ox+12|0,mx=ox+4|0,hx=ox+8|0,ax=ox+12|0,sx=k+8454152|0,Q0=k+8454148|0,H0=Wx<<2,vx=Rx+-4|0,jx=Rx+-3|0,zx=rx+12|0,qx=rx+4|0,Fx=rx+8|0,Mx=rx+4|0,fx=rx+8|0,Ex=rx+12|0,px=e0+8|0,$0=e0+12|0,Y0=e0+4|0,p=f,L0=$,c=q;x:for(;;){N0=L0,q0=M+H0|0;e:for(;;){if(O0=Rx-p|0,(p+4|0)>>>0>=Rx>>>0)break x;for(k0=p>>>0<Gx>>>0?p:Gx,e[ox>>2]=0,e[K0>>2]=0,e[z0>>2]=0,e[Bx>>2]=4240,P0=p&w,h=e[ox>>2]|0,e[ox>>2]=0,e[mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,f0=4240,l=0,n0=0;(n0|0)!=10;){t0=(e[e0+(e[11372+(n0<<2)>>2]<<2)>>2]|0)+(e[11436+(n0<<2)>>2]|0)|0,_=p-t0|0;do if(!(_>>>0>=p>>>0|t0>>>0>k0>>>0)&&(_x=_&w,te=P0+h|0,te>>>0<=w>>>0)&&(Cx=_x+h|0,Cx>>>0<=w>>>0)&&(n[d+te>>0]|0)==(n[d+Cx>>0]|0)){for(q=0,_=w0;f=_,!(f>>>0>m0>>>0||(g0=_,y0=d+(_x+q)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0)));)q=q+4|0,_=f+4|0;for(;!(_>>>0>=p0>>>0||(n[d+(_x+q)>>0]|0)!=(n[_>>0]|0));)q=q+1|0,_=_+1|0;if(q>>>0<=2&&!((q|0)==2&n0>>>0<2)){_=f0;break}_=(q*540|0)+(e[11500+(n0<<2)>>2]|0)|0,f0>>>0<_>>>0?(e[ox>>2]=q,e[hx>>2]=t0,e[ax>>2]=_,h=q,l=1):_=f0}else _=f0;while(!1);f0=_,n0=n0+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<6,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,_=y0&65535,y0=(y0&65535)>64?_+-64|0:0;t:for(;;){for(d0=P0+h|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(_>>>0<=y0>>>0||(_=_+-1|0,f=e[k+65536+((v0|_&63)<<2)>>2]|0,l0=p-f|0,l0>>>0>k0>>>0))break t;if(n0=f&w,!u0&&(f=n0+h|0,!(f>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+f>>0]|0))t0=0,f=w0;else continue;for(;q=f,!(q>>>0>m0>>>0||(_0=f,xx=d+(n0+t0)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)));)t0=t0+4|0,f=q+4|0;for(;!(f>>>0>=p0>>>0||(n[d+(n0+t0)>>0]|0)!=(n[f>>0]|0));)t0=t0+1|0,f=f+1|0;if(!(t0>>>0<=3)&&(f=(t0*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ox>>2]=t0,e[hx>>2]=l0,e[ax>>2]=f,h=t0,f0=f,l=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&63)<<2)>>2]=p,o[g0>>1]=_0+1<<16>>16,!(l&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,t0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=2;){if(_0=o[21084+(t0<<1)>>1]|0,_=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(lx=_&31,ix=_>>>5,ge=(e[11272+(lx<<2)>>2]|0)+(ex(lx,ix)|0)|0,lx>>>0<=O0>>>0)){for(h=ge+lx|0,q=280811+h|0,h=280811+(h+-4)|0,f=0,_=280811+ge|0;!(_>>>0>h>>>0||(_0=d+(P0+f)|0,(s[_>>0]|s[_+1>>0]<<8|s[_+2>>0]<<16|s[_+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,_=_+4|0;for(;!(_>>>0>=q>>>0||(n[d+(P0+f)>>0]|0)!=(n[_>>0]|0));)f=f+1|0,_=_+1|0;!((f+10|0)>>>0<=lx>>>0|(f|0)==0)&&(D0=k0+ix+1+(s[407930+(lx-f)>>0]<<s[280786+lx>>0])|0,re=(f*540|0)+3840+(ex((Dx(D0|0)|0)^31,-120)|0)|0,re>>>0>=(e[ax>>2]|0)>>>0)&&(e[ox>>2]=f,e[mx>>2]=lx^f,e[hx>>2]=D0,e[ax>>2]=re,e[sx>>2]=(e[sx>>2]|0)+1,l=1)}n0=n0+1|0,t0=t0+1|0}l=(l&1)!=0}l=l&1}if(l&1){N0=0,n0=c;break}if(c=c+1|0,_=p+1|0,_>>>0<=M>>>0){p=_;continue}if(_>>>0>q0>>>0)for(l=p+17|0,l=l>>>0<vx>>>0?l:vx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<jx>>>0?l:jx,p=_;;){if(p>>>0>=l>>>0)continue e;xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(O0=O0+-1|0,(e[$x>>2]|0)<5?(c=(e[ox>>2]|0)+-1|0,c=c>>>0<O0>>>0?c:O0):c=0,e[rx>>2]=c,e[qx>>2]=0,e[Fx>>2]=0,e[zx>>2]=4240,f0=p+1|0,k0=f0>>>0<Gx>>>0?f0:Gx,P0=f0&w,_=e[rx>>2]|0,e[rx>>2]=0,e[Mx>>2]=0,h0=d+P0|0,m0=P0+O0|0,p0=d+m0|0,w0=h0,m0=d+(m0+-4)|0,t0=4240,c=0,q=0;(q|0)!=10;){f=(e[e0+(e[11372+(q<<2)>>2]<<2)>>2]|0)+(e[11436+(q<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>k0>>>0)&&(Yx=l&w,ux=P0+_|0,ux>>>0<=w>>>0)&&(be=Yx+_|0,be>>>0<=w>>>0)&&(n[d+ux>>0]|0)==(n[d+be>>0]|0)){for(M=0,l=w0;h=l,!(h>>>0>m0>>>0||(xx=l,_0=d+(Yx+M)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)M=M+4|0,l=h+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(Yx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0<=2&&!((M|0)==2&q>>>0<2)){l=t0;break}l=(M*540|0)+(e[11500+(q<<2)>>2]|0)|0,t0>>>0<l>>>0?(e[rx>>2]=M,e[fx>>2]=f,e[Ex>>2]=l,_=M,c=1):l=t0}else l=t0;while(!1);t0=l,q=q+1|0}g0=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>17,v0=g0<<6,g0=k+(g0<<1)|0,y0=o[g0>>1]|0,l=y0&65535,y0=(y0&65535)>64?l+-64|0:0;e:for(;;){for(d0=P0+_|0,u0=d0>>>0>w>>>0,d0=d+d0|0;;){if(l>>>0<=y0>>>0||(l=l+-1|0,h=e[k+65536+((v0|l&63)<<2)>>2]|0,l0=f0-h|0,l0>>>0>k0>>>0))break e;if(q=h&w,!u0&&(h=q+_|0,!(h>>>0>w>>>0))){if((n[d0>>0]|0)==(n[d+h>>0]|0))f=0,h=w0;else continue;for(;M=h,!(M>>>0>m0>>>0||(xx=h,_0=d+(q+f)|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)f=f+4|0,h=M+4|0;for(;!(h>>>0>=p0>>>0||(n[d+(q+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ex((Dx(l0|0)|0)^31,-120)|0)|0,t0>>>0<h>>>0))break}}e[rx>>2]=f,e[fx>>2]=l0,e[Ex>>2]=h,_=f,t0=h,c=1}if(_0=o[g0>>1]|0,e[k+65536+((v0|_0&63)<<2)>>2]=f0,o[g0>>1]=_0+1<<16>>16,!(c&1)){if((e[sx>>2]|0)>>>0<(e[Q0>>2]|0)>>>7>>>0)c=0;else{for(q=0,c=0,f=(ex(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24,506832829)|0)>>>18<<1;(q|0)!=2;){if(_0=o[21084+(f<<1)>>1]|0,l=_0&65535,e[Q0>>2]=(e[Q0>>2]|0)+1,_0<<16>>16!=0&&(Lx=l&31,De=l>>>5,ie=(e[11272+(Lx<<2)>>2]|0)+(ex(Lx,De)|0)|0,Lx>>>0<=O0>>>0)){for(_=ie+Lx|0,M=280811+_|0,_=280811+(_+-4)|0,h=0,l=280811+ie|0;!(l>>>0>_>>>0||(_0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=M>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Lx>>>0|(h|0)==0)&&(dx=k0+De+1+(s[407930+(Lx-h)>>0]<<s[280786+Lx>>0])|0,B0=(h*540|0)+3840+(ex((Dx(dx|0)|0)^31,-120)|0)|0,B0>>>0>=(e[Ex>>2]|0)>>>0)&&(e[rx>>2]=h,e[Mx>>2]=Lx^h,e[fx>>2]=dx,e[Ex>>2]=B0,e[sx>>2]=(e[sx>>2]|0)+1,c=1)}q=q+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[zx>>2]|0)>>>0<((e[Bx>>2]|0)+700|0)>>>0){f0=p;break}if(c=n0+1|0,e[ox>>2]=e[rx>>2],e[ox+4>>2]=e[rx+4>>2],e[ox+8>>2]=e[rx+8>>2],e[ox+12>>2]=e[rx+12>>2],N0=N0+1|0,(N0|0)<4&(p+5|0)>>>0<Rx>>>0)p=f0,n0=c;else{n0=c;break}}p=e[ox>>2]|0,M=f0+(p<<1)+Wx|0,c=e[z0>>2]|0;e:do if(c>>>0<=(f0>>>0<Gx>>>0?f0:Gx)>>>0)if(h=c+3|0,_0=e[e0>>2]|0,l=h-_0|0,_=e[Y0>>2]|0,h=h-_|0,(c|0)==(_0|0))c=0;else{t:do if((c|0)!=(_|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[px>>2]|0)){c=2;break t}if((c|0)==(e[$0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[$0>>2]=e[px>>2],e[px>>2]=e[Y0>>2],e[Y0>>2]=e[e0>>2],e[e0>>2]=e[z0>>2],p=e[ox>>2]|0}else c=c+15|0;while(!1);t0=L0+16|0,_0=e[K0>>2]|0,l=p^_0,e[L0>>2]=n0,e[L0+4>>2]=p|_0<<24,p=L0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(q0=c+-12|0,_0=((Dx(q0|0)|0)^31)+-1|0,xx=q0>>>_0&1,c=((_0<<1)+65534|xx)+16&65535,o[p>>1]=c,p=_0<<24|q0-((xx|2)<<_0)),e[L0+8>>2]=p,f=c<<16>>16==0,q=L0+12|0;do if(n0>>>0>=6){if(n0>>>0<130){_0=n0+-2|0,h=((Dx(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2&65535;break}if(n0>>>0<2114){h=((Dx(n0+-66|0)|0)^31)+10&65535;break}n0>>>0<6210?h=21:h=n0>>>0<22594?22:23}else h=n0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Dx(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Dx(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,_=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?_:_|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|_&65535,o[q>>1]=c,e[r0>>2]=(e[r0>>2]|0)+n0,c=f0+(e[ox>>2]|0)|0,c=c>>>0<ae>>>0?c:ae,p=f0+2|0;!(p>>>0>=c>>>0);)xx=d+(p&w)|0,xx=(ex(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24,506832829)|0)>>>17,_0=k+(xx<<1)|0,e[k+65536+((j[_0>>1]&63|xx<<6)<<2)>>2]=p,o[_0>>1]=(o[_0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ox>>2]|0)|0,L0=t0,c=0}e[i0>>2]=c+O0,e[x0>>2]=(e[x0>>2]|0)+(N0-$>>4),c0=cx}function Pq(c,h,f,l,d,w,p,k,e0,i0,$,x0,r0,_,M,q,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,i0=i0|0,$=$|0,x0=x0|0,r0=r0|0,_=_|0,M=M|0,q=q|0,t0=t0|0;var n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0,vx=0,jx=0,zx=0,qx=0,Fx=0,Mx=0,fx=0,Ex=0,px=0,$0=0,Y0=0,Wx=0,$x=0,ae=0,Gx=0,Rx=0,ox=0,rx=0,cx=0,_x=0,te=0,Cx=0,lx=0,ix=0,ge=0,D0=0,re=0,Yx=0,ux=0;if(re=c0,c0=c0+12768|0,lx=re+7760|0,cx=re+4928|0,_x=re+2096|0,P0=re+12504|0,k0=re+10968|0,f0=re,u0=re+12248|0,l0=re+10456|0,w0=re+11544|0,y0=re+9048|0,m0=re+11480|0,p0=re+8920|0,Cx=re+8808|0,N0=re+8804|0,O0=re+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(D0=wx(l|0,d|0,30)|0,D0=l&1073741823|((D0&1^1)<<30)+1073741824):D0=l,!w){f=e[q>>2]|0,t0=t0+(f>>>3)|0,x0=s[t0>>0]|0,f=Sx(3,0,f&7|0)|0,_=S0,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]=_,n[t0+1>>0]=_>>8,n[t0+2>>0]=_>>16,n[t0+3>>0]=_>>24,e[q>>2]=(e[q>>2]|0)+9&-8,c0=re;return}if(!(Tg(h,f,l,d,w,$,x0)|0)){e[M>>2]=e[_>>2],e[M+4>>2]=e[_+4>>2],e[M+8>>2]=e[_+8>>2],e[M+12>>2]=e[_+12>>2],Du(p,h,D0,f,w,q,t0),c0=re;return}if(ix=n[t0>>0]|0,ge=e[q>>2]|0,te=k+4|0,l=e[te>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(n0=0;(n0|0)!=(x0|0);){do if((e[r0+(n0<<4)+4>>2]&16777215|0)!=0&&(j[r0+(n0<<4)+12>>1]|0)>127){if($=r0+(n0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=r0+(n0<<4)+8|0,rx=e[d>>2]|0,ox=rx>>>24,l=((l&65535)+-12-(ox<<1)<<ox)+(rx&16777215)+12|0,l>>>0>=28){Rx=l+-20|0,Gx=(Dx(Rx|0)|0)^31,rx=Gx+-1|0,ox=Rx>>>rx&1,Gx=Gx+-2|0,o[$>>1]=(((Gx<<1)+32766|ox)<<1)+28|Rx&1,e[d>>2]=Gx<<24|(Rx-((ox|2)<<rx)|0)>>>1;break}}else d=r0+(n0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);n0=n0+1|0}l=e[te>>2]|0,d=1,$=12,g0=19}else rx=0,ox=0,g0=38;else d=0,$=0,g0=19;do if((g0|0)==19){if((l|0)>=3){if((l|0)>=4){rx=d,ox=$,g0=38;break}J4(p,w,q,t0),Hx(lx|0,0,1028)|0,s0[lx+1032>>3]=X0,Hx(cx|0,0,2820)|0,s0[cx+2824>>3]=X0,Hx(_x|0,0,2084)|0,s0[_x+2088>>3]=X0,gg(h,D0,f,r0,x0,lx,cx,_x),l=t0+((e[q>>2]|0)>>>3)|0,i0=s[l>>0]|0,d=l,n[d>>0]=i0,n[d+1>>0]=i0>>8,n[d+2>>0]=i0>>16,n[d+3>>0]=i0>>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[q>>2]=(e[q>>2]|0)+13,l=c+8|0,d=Px[e[c>>2]&1](e[l>>2]|0,11272)|0,d||kx(1),Er(lx,256,d,P0,k0,q,t0),Er(cx,704,d,w0,y0,q,t0),Er(_x,64,d,m0,p0,q,t0),yx[e[c+4>>2]&1](e[l>>2]|0,d),xl(h,D0,f,r0,x0,P0,k0,w0,y0,m0,p0,q,t0),p&&(x0=(e[q>>2]|0)+7|0,e[q>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0);break}if(J4(p,w,q,t0),i0=t0+((e[q>>2]|0)>>>3)|0,Cx=s[i0>>0]|0,e0=i0,n[e0>>0]=Cx,n[e0+1>>0]=Cx>>8,n[e0+2>>0]=Cx>>16,n[e0+3>>0]=Cx>>24,i0=i0+4|0,n[i0>>0]=0,n[i0+1>>0]=0,n[i0+2>>0]=0,n[i0+3>>0]=0,e[q>>2]=(e[q>>2]|0)+13,x0>>>0<129){for(Hx(lx|0,0,1024)|0,$=0,n0=D0,l0=0;(l0|0)!=(x0|0);){for(l=e[r0+(l0<<4)>>2]|0,d=e[r0+(l0<<4)+4>>2]|0,f0=n0,u0=l;u0;)i0=lx+((s[h+(f0&f)>>0]|0)<<2)|0,e[i0>>2]=(e[i0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,n0=n0+l+(d&16777215)|0,l0=l0+1|0}H2(c,lx,$,8,P0,k0,q,t0),lx=e[q>>2]|0,e0=t0+(lx>>>3)|0,c=s[e0>>0]|0,lx=Sx(372273155,9593412,lx&7|0)|0,i0=S0,lx=c|lx,c=e0,n[c>>0]=lx,n[c+1>>0]=lx>>8,n[c+2>>0]=lx>>16,n[c+3>>0]=lx>>24,e0=e0+4|0,n[e0>>0]=i0,n[e0+1>>0]=i0>>8,n[e0+2>>0]=i0>>16,n[e0+3>>0]=i0>>24,e0=(e[q>>2]|0)+56|0,e[q>>2]=e0,e0=t0+(e0>>>3)|0,i0=s[e0>>0]|0,c=e0,n[c>>0]=i0,n[c+1>>0]=i0>>8,n[c+2>>0]=i0>>16,n[c+3>>0]=i0>>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[q>>2]|0)+3|0,e[q>>2]=e0,c=t0+(e0>>>3)|0,i0=s[c>>0]|0,e0=Sx(57269251,0,e0&7|0)|0,lx=S0,e0=i0|e0,i0=c,n[i0>>0]=e0,n[i0+1>>0]=e0>>8,n[i0+2>>0]=e0>>16,n[i0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=lx,n[c+1>>0]=lx>>8,n[c+2>>0]=lx>>16,n[c+3>>0]=lx>>24,e[q>>2]=(e[q>>2]|0)+28,xl(h,D0,f,r0,x0,P0,k0,404412,86620,405116,88028,q,t0)}else Hx(cx|0,0,1028)|0,s0[cx+1032>>3]=X0,Hx(_x|0,0,2820)|0,s0[_x+2824>>3]=X0,Hx(f0|0,0,2084)|0,s0[f0+2088>>3]=X0,gg(h,D0,f,r0,x0,cx,_x,f0),H2(c,cx,e[cx+1024>>2]|0,8,u0,l0,q,t0),H2(c,_x,e[_x+2816>>2]|0,10,w0,y0,q,t0),H2(c,f0,e[f0+2080>>2]|0,6,m0,p0,q,t0),xl(h,D0,f,r0,x0,u0,l0,w0,y0,m0,p0,q,t0);p&&(x0=(e[q>>2]|0)+7|0,e[q>>2]=x0&-8,n[t0+(x0>>>3)>>0]=0)}while(!1);if((g0|0)==38){Mx=Cx+8|0,fx=Cx+12|0,p0=Cx+24|0,Fx=Cx+28|0,e[Cx>>2]=0,e[Cx+4>>2]=0,e[Cx+8>>2]=0,e[Cx+12>>2]=0,e[Cx+16>>2]=0,e[Cx+20>>2]=0,e[Cx+24>>2]=0,Ex=Cx+32|0,px=Cx+36|0,m0=Cx+48|0,e[Fx>>2]=0,e[Fx+4>>2]=0,e[Fx+8>>2]=0,e[Fx+12>>2]=0,e[Fx+16>>2]=0,e[m0>>2]=0,Fx=Cx+52|0,$0=Cx+56|0,Y0=Cx+60|0,Wx=Cx+72|0,e[Fx>>2]=0,e[Fx+4>>2]=0,e[Fx+8>>2]=0,e[Fx+12>>2]=0,e[Fx+16>>2]=0,Fx=Cx+76|0,$x=Cx+80|0,ae=Cx+88|0,w0=Cx+92|0,Gx=Cx+96|0,k0=Cx+100|0,Rx=Cx+104|0,P0=Cx+108|0,d=(l|0)<10,$=Wx,n0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(n0|0));do if(d){if(e[N0>>2]=1,e[O0>>2]=0,!((l|0)<5|w>>>0<64)){l0=D0+w|0,$=_x,n0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(n0|0));for(f0=D0;n0=f0+64|0,!(n0>>>0>l0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=n0>>>0);)qx=s[h+(d&f)>>0]|0,zx=_x+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(qx>>>6<<2)>>2]|0)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+1,$=qx;f0=f0+4096|0}for(e[lx>>2]=0,e[lx+4>>2]=0,e[lx+8>>2]=0,e[cx>>2]=0,e[cx+4>>2]=0,e[cx+8>>2]=0,e[cx+12>>2]=0,e[cx+16>>2]=0,e[cx+20>>2]=0,d=0,y0=0;(d|0)!=9;)qx=e[_x+(d<<2)>>2]|0,zx=lx+(((d>>>0)%3|0)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+qx,zx=cx+((d>>>0>5?d+-6|0:d)<<2)|0,e[zx>>2]=(e[zx>>2]|0)+qx,d=d+1|0,y0=y0+qx|0;for(l0=lx+12|0,f0=lx,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=l0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=u0+d|0;for(u0?(v0=+(u0>>>0),u0>>>0<256?d0=+a0[19516+(u0<<2)>>2]:d0=+Kx(v0),H0=h0+v0*d0):H0=h0,g0=cx+12|0,f0=cx,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=g0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=l0+d|0;for(l0?(v0=+(l0>>>0),l0>>>0<256?d0=+a0[19516+(l0<<2)>>2]:d0=+Kx(v0),sx=h0+v0*d0):sx=h0,u0=cx+24|0,f0=g0,h0=0,d=0;n0=f0+4|0,$=e[f0>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),h0=h0-v0*d0,!(n0>>>0>=u0>>>0);)d=e[n0>>2]|0,d0=+(d>>>0),d>>>0<256?v0=+a0[19516+(d<<2)>>2]:v0=+Kx(d0),f0=f0+8|0,h0=h0-d0*v0,d=l0+d|0;for(l0?(v0=+(l0>>>0),l0>>>0<256?d0=+a0[19516+(l0<<2)>>2]:d0=+Kx(v0),q0=h0+v0*d0):q0=h0,L0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,n0=_x+($+3<<2)|0,$=_x+($<<2)|0,h0=0,d=0;f0=$+4|0,$=e[$>>2]|0,l0=d+$|0,v0=+($>>>0),$>>>0<256?d0=+a0[19516+($<<2)>>2]:d0=+Kx(v0),d0=h0-v0*d0,!(f0>>>0>=n0>>>0);)d=e[f0>>2]|0,v0=+(d>>>0),d>>>0<256?h0=+a0[19516+(d<<2)>>2]:h0=+Kx(v0),$=f0+4|0,h0=d0-v0*h0,d=l0+d|0;l0&&(h0=+(l0>>>0),l0>>>0<256?v0=+a0[19516+(l0<<2)>>2]:v0=+Kx(h0),d0=d0+h0*v0),L0=L0+d0,u0=u0+1|0}y0||j0(406445,406053,339,406456),d0=1/+(y0>>>0),H0=H0*d0,v0=(sx+q0)*d0,d0=(l|0)<7?H0*10:L0*d0;do if(H0-v0<.2&H0-d0<.2)e[N0>>2]=1;else if(v0-d0<.02){e[N0>>2]=2,e[O0>>2]=18916;break}else{e[N0>>2]=3,e[O0>>2]=19172;break}while(!1);if(qx=e[O0>>2]|0,mx=qx,qx){for(qx=e[N0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[r0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[lx>>2]=256,e[lx+4>>2]=qx,g0=256/(qx>>>0)|0,e[lx+8>>2]=g0,e[lx+12>>2]=512,s0[lx+16>>3]=400,e[lx+24>>2]=0,e[lx+28>>2]=Cx,e[lx+36>>2]=w0,vx=lx+40|0,e[vx>>2]=512,jx=lx+44|0,e[jx>>2]=0,zx=lx+48|0,e[zx>>2]=0,e[lx+64>>2]=0,g0=g0+1|0,g0=u0>>>0<g0>>>0?u0:g0,l0=Cx+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,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+8|0,n0&&Zx($|0,e[l>>2]|0,n0|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(f0=Cx+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(n0=(l|0)==0?u0:l;!(n0>>>0>=u0>>>0);)n0=n0<<1;l0=c+8|0,d=Px[e[c>>2]&1](e[l0>>2]|0,n0<<2)|0,d||kx(1),$=e[f0>>2]|0,l=Cx+12|0,$&&Zx(d|0,e[l>>2]|0,$<<2|0)|0,yx[e[c+4>>2]&1](e[l0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=n0,Q0=c}else Q0=c,l0=c+8|0;for(e[Cx+4>>2]=u0,l=Px[e[Q0>>2]&1](e[l0>>2]|0,qx<<4)|0,l||kx(1),ax=lx+60|0,e[ax>>2]=l,e[ae>>2]|0&&j0(407776,406802,255,407793),d=ex(g0,qx)|0,e[w0>>2]=d,d=Px[e[Q0>>2]&1](e[l0>>2]|0,d*1040|0)|0,l=d,d||kx(1),e[ae>>2]=l,hx=lx+32|0,e[hx>>2]=l,l=0;(l|0)!=(qx|0);)Hx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,s0[d+(l*1040|0)+1032>>3]=X0,l=l+1|0;for(e[lx+56>>2]=0,e[lx+52>>2]=0,Ug(c,cx,x0,p0,Gx,k0),qg(c,_x,x0,m0,Rx,P0),N0=cx+40|0,K0=cx+24|0,z0=cx+36|0,Bx=cx+32|0,m0=_x+40|0,k0=_x+24|0,P0=_x+36|0,k=_x+32|0,$=D0,d=e0,l=i0,O0=0;(O0|0)!=(x0|0);){for(g0=e[r0+(O0<<4)>>2]|0,y0=e[r0+(O0<<4)+4>>2]|0,n0=e[r0+(O0<<4)+12>>2]|0,w0=n0&65535,p0=n0>>>16,u0=e[N0>>2]|0,f0=e[K0>>2]|0,n0=f0+(u0*2832|0)+((n0&65535)<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[z0>>2]|0)+1|0,e[z0>>2]=u0,(u0|0)==(e[Bx>>2]|0)?(Su(cx,0),u0=$,f0=g0):(u0=$,f0=g0);f0;)n0=n[h+(u0&f)>>0]|0,l=(e[zx>>2]|0)+(e[mx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Yx=e[hx>>2]|0,ux=Yx+(l*1040|0)+((n0&255)<<2)|0,e[ux>>2]=(e[ux>>2]|0)+1,l=Yx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[jx>>2]|0)+1|0,e[jx>>2]=l,(l|0)==(e[vx>>2]|0)&&Gg(c,lx,0),l=d,u0=u0+1|0,d=n0,f0=f0+-1|0;ux=y0&16777215,$=$+g0+ux|0;do if(ux){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(w0&65535)<=127||(ux=e[m0>>2]|0,Yx=e[k0>>2]|0,p0=Yx+(ux*2096|0)+(p0<<2)|0,e[p0>>2]=(e[p0>>2]|0)+1,ux=Yx+(ux*2096|0)+2080|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[P0>>2]|0)+1|0,e[P0>>2]=ux,(ux|0)!=(e[k>>2]|0)))break;Fu(_x,0)}while(!1);O0=O0+1|0}for(Gg(c,lx,1),yx[e[c+4>>2]&1](e[l0>>2]|0,e[ax>>2]|0),e[ax>>2]=0,Su(cx,1),Fu(_x,1),e[Wx>>2]|0&&j0(406853,406802,473,407737),l=e[Cx>>2]|0,e[Fx>>2]=l<<6,l=Px[e[Q0>>2]&1](e[l0>>2]|0,l<<8)|0,l||kx(1),e[Wx>>2]=l,$=0;!($>>>0>=(e[Cx>>2]|0)>>>0);){for(l=ex($,qx)|0,d=$<<6,n0=0;(n0|0)!=64;)e[(e[Wx>>2]|0)+(d+n0<<2)>>2]=l+(e[mx+(n0<<2)>>2]|0),n0=n0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[r0+(d<<4)>>2]|0)|0,d=d+1|0;if(g0=(l>>>9)+1|0,u0=g0>>>0<257?g0:257,e[lx>>2]=256,e[lx+4>>2]=512,s0[lx+8>>3]=400,e[lx+16>>2]=0,y0=lx+20|0,e[y0>>2]=Cx,e[lx+28>>2]=w0,K0=lx+32|0,e[K0>>2]=512,z0=lx+36|0,e[z0>>2]=0,Bx=lx+40|0,e[Bx>>2]=0,e[lx+72>>2]=0,l0=Cx+16|0,l=e[l0>>2]|0,l>>>0<g0>>>0){for(f0=(l|0)==0?g0:l;!(f0>>>0>=g0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+8|0,n0&&Zx($|0,e[l>>2]|0,n0|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}if(l0=Cx+20|0,l=e[l0>>2]|0,l>>>0<g0>>>0){for(f0=(l|0)==0?g0:l;!(f0>>>0>=g0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||kx(1),n0=e[l0>>2]|0,l=Cx+12|0,n0&&Zx($|0,e[l>>2]|0,n0<<2|0)|0,yx[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[l0>>2]=f0}for(e[(e[y0>>2]|0)+4>>2]=g0,e[ae>>2]|0&&j0(407776,407818,70,407905),e[w0>>2]=u0,l=Px[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||kx(1),e[ae>>2]=d,N0=lx+24|0,e[N0>>2]=d,Hx(l|0,0,1024)|0,e[l+1024>>2]=0,s0[l+1032>>3]=X0,e[lx+48>>2]=0,e[lx+44>>2]=0,Ug(c,cx,x0,p0,Gx,k0),qg(c,_x,x0,m0,Rx,P0),l0=cx+40|0,u0=cx+24|0,g0=cx+36|0,y0=cx+32|0,w0=_x+40|0,p0=_x+24|0,m0=_x+36|0,k0=_x+32|0,l=D0,O0=0;(O0|0)!=(x0|0);){for($=e[r0+(O0<<4)>>2]|0,n0=e[r0+(O0<<4)+4>>2]|0,Fx=e[r0+(O0<<4)+12>>2]|0,P0=Fx&65535,k=Fx>>>16,ux=e[l0>>2]|0,Yx=e[u0>>2]|0,Fx=Yx+(ux*2832|0)+((Fx&65535)<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*2832|0)+2816|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[g0>>2]|0)+1|0,e[g0>>2]=ux,(ux|0)==(e[y0>>2]|0)?(Su(cx,0),d=l,f0=$):(d=l,f0=$);f0;)ux=e[Bx>>2]|0,Yx=e[N0>>2]|0,Fx=Yx+(ux*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*1040|0)+1024|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[z0>>2]|0)+1|0,e[z0>>2]=ux,(ux|0)==(e[K0>>2]|0)&&Hg(lx,0),d=d+1|0,f0=f0+-1|0;ux=n0&16777215,l=l+$+ux|0,(ux|0)!=0&(P0&65535)>127&&(ux=e[w0>>2]|0,Yx=e[p0>>2]|0,Fx=Yx+(ux*2096|0)+(k<<2)|0,e[Fx>>2]=(e[Fx>>2]|0)+1,ux=Yx+(ux*2096|0)+2080|0,e[ux>>2]=(e[ux>>2]|0)+1,ux=(e[m0>>2]|0)+1|0,e[m0>>2]=ux,(ux|0)==(e[k0>>2]|0))&&Fu(_x,0),O0=O0+1|0}Hg(lx,1),Su(cx,1),Fu(_x,1),l=2}else l=nl(h,D0,f,w)|0,l=l?2:3,Mg(c,h,D0,f,k,e0,i0,r0,x0,l,Cx);while(!1);(e[te>>2]|0)>3&&Lg(ox,rx,Cx),dg(c,h,D0,w,f,e0,i0,p,ox,rx,l,r0,x0,Cx,q,t0),Yx=c+4|0,ux=c+8|0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+8>>2]|0),e[Mx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[fx>>2]|0),e[fx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+32>>2]|0),e[Ex>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[px>>2]|0),e[px>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Cx+56>>2]|0),e[$0>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Y0>>2]|0),e[Y0>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Wx>>2]|0),e[Wx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[$x>>2]|0),e[$x>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[ae>>2]|0),e[ae>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Gx>>2]|0),e[Gx>>2]=0,yx[e[Yx>>2]&1](e[ux>>2]|0,e[Rx>>2]|0),e[Rx>>2]=0}if((w+4|0)>>>0>=(e[q>>2]|0)>>>3>>>0){c0=re;return}e[M>>2]=e[_>>2],e[M+4>>2]=e[_+4>>2],e[M+8>>2]=e[_+8>>2],e[M+12>>2]=e[_+12>>2],n[t0>>0]=ix,e[q>>2]=ge&255,Du(p,h,D0,f,w,q,t0),c0=re}function Ig(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 Tg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0;if(M=c0,c0=c0+1024|0,r0=M,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Hx(r0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=r0+((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(_=k/13,d=r0+1024|0,l=r0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+a0[19516+(p<<2)>>2]:x0=+Kx(e0),w=e[l+4>>2]|0,i0=+(w>>>0),w>>>0<256?$=+a0[19516+(w<<2)>>2]:$=+Kx(i0),l=l+8|0,k=k-e0*x0-i0*$,f=f+p+w|0;if(i0=+(f>>>0),f?(f>>>0<256?e0=+a0[19516+(f<<2)>>2]:e0=+Kx(i0),$=i0,k=k+i0*e0):$=i0,(k<$?$:k)>_)return r0=0,c0=M,r0|0}return r0=1,c0=M,r0|0}function Rg(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&&j0(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 j2(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0;for(l0=c0,c0=c0+16|0,t0=l0+8|0,n0=l0,q=1;;){w=h,M=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+(M<<3)>>2]=p>>>0>q>>>0?p:q,o[l+(M<<3)+4>>1]=-1,o[l+(M<<3)+6>>1]=w,M=M+1|0}if((M|0)==1)break;x:do if(M>>>0<13)for($=1;;){if($>>>0>=M>>>0)break x;for(i0=l+($<<3)|0,e0=e[i0>>2]|0,i0=e[i0+4>>2]|0,k=t0,e[k>>2]=e0,e[k+4>>2]=i0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(_g(t0,p)|0);)if(x0=p,r0=e[x0+4>>2]|0,_=l+(w<<3)|0,e[_>>2]=e[x0>>2],e[_+4>>2]=r0,!k){w=0;break}_=l+(w<<3)|0,e[_>>2]=e0,e[_+4>>2]=i0,$=$+1|0}else for(x0=M>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,r0=w;!(r0>>>0>=M>>>0);){for(k=l+(r0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=n0,e[$>>2]=p,e[$+4>>2]=k,$=r0;!($>>>0<w>>>0||(e0=$-w|0,i0=l+(e0<<3)|0,!(_g(n0,i0)|0)));)u0=i0,i0=e[u0+4>>2]|0,_=l+($<<3)|0,e[_>>2]=e[u0>>2],e[_+4>>2]=i0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,r0=r0+1|0}x0=x0+1|0}while(!1);for(i0=l+(M<<3)|0,e[i0>>2]=-1,e[i0+4>>2]=-1,i0=M+1|0,_=l+(i0<<3)|0,e[_>>2]=-1,e[_+4>>2]=-1,_=M<<1,e0=0,w=M;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(i0<<3)>>2]|0,k>>>0>p>>>0?(r0=i0+1|0,p=e[l+(r0<<3)>>2]|0,x0=e0,$=i0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,r0=i0,$=e0),k>>>0>p>>>0?(e0=x0,i0=r0+1|0,k=r0):(p=k,e0=x0+1|0,i0=r0,k=x0),u0=_-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(Rg(_+-1|0,l,d,f)|0){f0=36;break}q=q<<1}if((f0|0)==36){c0=l0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=l0}function il(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,i0=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){i0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((i0|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(Hx(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,i0=29):c>>>0>4&&(w=0,i0=29);x:do if((i0|0)==29)for(;;){if(i0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,i0=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){i0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(i0=42)}else i0=42;while(!1);do if((i0|0)==42){i0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(i0=44);x:do if((i0|0)==44)for(i0=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 wn(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,i0=0,$=0;i0=c0,c0=c0+64|0,w=i0+32|0,e0=i0,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+(j[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=i0}function _g(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 Ng(c,h){return c=c|0,h=h|0,al(h)|0}function Bq(c,h){c=c|0,h=h|0,Vg(h)}function Mg(c,h,f,l,d,w,p,k,e0,i0,$){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,i0=i0|0,$=$|0;var x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0,Bx=0,mx=0,hx=0,ax=0,sx=0,Q0=0,H0=0;for(H0=c0,c0=c0+2096|0,ax=H0,lq(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),Q0=c+8|0,K0=Px[e[c>>2]&1](e[Q0>>2]|0,e[$>>2]<<2)|0,K0||kx(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[K0+(d<<2)>>2]=i0,d=d+1|0;for(mx=$+48|0,r0=e[mx>>2]|0,Bx=Px[e[c>>2]&1](e[Q0>>2]|0,x0*66560|0)|0,Bx||kx(1),d=x0<<6,i0=0;(i0|0)!=(d|0);)Hx(Bx+(i0*1040|0)|0,0,1024)|0,e[Bx+(i0*1040|0)+1024>>2]=0,s0[Bx+(i0*1040|0)+1032>>3]=X0,i0=i0+1|0;for(_=$+96|0,e[_>>2]|0&&j0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Px[e[c>>2]&1](e[Q0>>2]|0,x0*2832|0)|0,x0||kx(1),e[_>>2]=x0,d=e[d>>2]|0,i0=0;(i0|0)!=(d|0);)Hx(x0+(i0*2832|0)|0,0,2816)|0,e[x0+(i0*2832|0)+2816>>2]=0,s0[x0+(i0*2832|0)+2824>>3]=X0,i0=i0+1|0;for(sx=Px[e[c>>2]&1](e[Q0>>2]|0,r0*8384|0)|0,sx||kx(1),d=r0<<2,i0=0;(i0|0)!=(d|0);)Hx(sx+(i0*2096|0)|0,0,2080)|0,e[sx+(i0*2096|0)+2080>>2]=0,s0[sx+(i0*2096|0)+2088>>3]=X0,i0=i0+1|0;for(d=e[$+12>>2]|0,d?r0=e[d>>2]|0:r0=0,d=e[$+36>>2]|0,d?i0=e[d>>2]|0:i0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,q0=$+32|0,L0=$+36|0,h0=e[_>>2]|0,k0=$+8|0,P0=$+12|0,O0=$+56|0,N0=$+60|0,_=p,n0=0,x0=0,f0=0,t0=0,u0=0,l0=0,m0=0;(m0|0)!=(e0|0);){for(i0?p0=f0:(t0=t0+1|0,p0=s[(e[q0>>2]|0)+t0>>0]|0,i0=e[(e[L0>>2]|0)+(t0<<2)>>2]|0),y0=k+(m0<<4)+12|0,g0=h0+(p0*2832|0)+((j[y0>>1]|0)<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,g0=h0+(p0*2832|0)+2816|0,e[g0>>2]=(e[g0>>2]|0)+1,g0=e[k+(m0<<4)>>2]|0,v0=_,w0=u0,p=r0,u0=f,d0=g0;d0;){switch(p?(f0=w0,r0=p):(l0=l0+1|0,f0=s[(e[k0>>2]|0)+l0>>0]|0,r0=e[(e[P0>>2]|0)+(l0<<2)>>2]|0),p=r0+-1|0,_=f0<<6,e[K0+(f0<<2)>>2]|0){case 0:{r0=w&63;break}case 1:{r0=(w&255)>>>2;break}case 2:{r0=n[406969+(w&255)>>0]|n[406969+(v0&255|256)>>0];break}case 3:{r0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(v0&255)>>0]|0)&255;break}default:r0=0}v0=_+(r0&255)|0,w0=h+(u0&l)|0,_=Bx+(v0*1040|0)+((s[w0>>0]|0)<<2)|0,e[_>>2]=(e[_>>2]|0)+1,v0=Bx+(v0*1040|0)+1024|0,e[v0>>2]=(e[v0>>2]|0)+1,v0=w,w=n[w0>>0]|0,w0=f0,u0=u0+1|0,d0=d0+-1|0}if(i0=i0+-1|0,d0=e[k+(m0<<4)+4>>2]&16777215,f=f+g0+d0|0,d0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,_=o[y0>>1]|0,(_&65535)>127){switch(d?f0=x0:(f0=x0+1|0,n0=s[(e[O0>>2]|0)+f0>>0]|0,d=e[(e[N0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,r0=n0<<2,y0=_&65535,x0=y0&7,y0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}_=r0+x0|0,r0=sx+(_*2096|0)+((j[k+(m0<<4)+14>>1]|0)<<2)|0,e[r0>>2]=(e[r0>>2]|0)+1,_=sx+(_*2096|0)+2080|0,e[_>>2]=(e[_>>2]|0)+1,_=u0,r0=n0,x0=f0}else _=u0,r0=n0;else _=v0,r0=n0;n0=r0,f0=p0,u0=w0,r0=p,m0=m0+1|0}for(w0=c+4|0,yx[e[w0>>2]&1](e[Q0>>2]|0,K0),x0=$+72|0,e[x0>>2]|0&&j0(406853,406802,86,406832),d=e[$>>2]|0,i0=$+76|0,e[i0>>2]=d<<6,d=Px[e[c>>2]&1](e[Q0>>2]|0,d<<8)|0,d||kx(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&j0(406882,406802,92,406832),f=e[i0>>2]|0,y0=$+92|0,e[y0>>2]=f,f=Px[e[c>>2]&1](e[Q0>>2]|0,f*1040|0)|0,f||kx(1),e[d>>2]=f,g0=e[i0>>2]|0,d=e[x0>>2]|0,u0=g0<<2,p=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,p||kx(1),d0=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,d0||kx(1),_=Px[e[c>>2]&1](e[Q0>>2]|0,49176)|0,_||kx(1),i0=0;(i0|0)!=(g0|0);)e[p+(i0<<2)>>2]=1,i0=i0+1|0;for(v0=d,d=0;(d|0)!=(g0|0);)h=Bx+(d*1040|0)|0,Zx(f+(d*1040|0)|0,h|0,1040)|0,s0[f+(d*1040|0)+1032>>3]=+gn(h),e[v0+(d<<2)>>2]=d,d=d+1|0;for(r0=0,i0=0;!(g0>>>0<=i0>>>0);){for(d=g0-i0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(r0+x0<<2)>>2]=i0+x0,x0=x0+1|0;r0=r0+(vu(f,p,v0+(i0<<2)|0,d0+(r0<<2)|0,_,d,d,256,2048)|0)|0,i0=i0+64|0}d=r0<<6,x0=ex(r0>>>1,r0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(i0=2048;!(i0>>>0>=d>>>0);)i0=i0<<1;if(d=Px[e[c>>2]&1](e[Q0>>2]|0,i0*24|0)|0,!d)kx(1);else{Zx(d|0,_|0,49152)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,_),z0=d;break}}else z0=_;while(!1);for(l0=vu(f,p,v0,d0,z0,r0,g0,256,x0)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,z0),yx[e[w0>>2]&1](e[Q0>>2]|0,p),w=ax+1024|0,t0=ax+1024|0,f0=0;;){if((f0|0)==(g0|0)){d=0;break}if(x0=e[((f0|0)==0?v0:v0+(f0+-1<<2)|0)>>2]|0,d=Bx+(f0*1040|0)|0,n0=Bx+(f0*1040|0)+1024|0,!(e[n0>>2]|0))M=0;else{for(Zx(ax|0,d|0,1040)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),i0=0;(i0|0)!=256;)z0=ax+(i0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[f+(x0*1040|0)+(i0<<2)>>2]|0),i0=i0+1|0;M=+gn(ax),M=M-+s0[f+(x0*1040|0)+1032>>3]}for(i0=x0,p=0;(p|0)!=(l0|0);){if(_=d0+(p<<2)|0,x0=e[_>>2]|0,!(e[n0>>2]|0))q=0;else{for(Zx(ax|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),r0=0;(r0|0)!=256;)z0=ax+(r0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[f+(x0*1040|0)+(r0<<2)>>2]|0),r0=r0+1|0;q=+gn(ax),q=q-+s0[f+(x0*1040|0)+1032>>3]}q<M&&(M=q,i0=e[_>>2]|0),p=p+1|0}e[v0+(f0<<2)>>2]=i0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){i0=0;break}z0=e[d0+(d<<2)>>2]|0,Hx(f+(z0*1040|0)|0,0,1024)|0,e[f+(z0*1040|0)+1024>>2]=0,s0[f+(z0*1040|0)+1032>>3]=X0,d=d+1|0}for(;(i0|0)!=(g0|0);){for(d=e[v0+(i0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[Bx+(i0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)z0=f+(d*1040|0)+(x0<<2)|0,e[z0>>2]=(e[z0>>2]|0)+(e[Bx+(i0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;i0=i0+1|0}for(yx[e[w0>>2]&1](e[Q0>>2]|0,d0),w=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,w||kx(1),d=0;;){if((d|0)==(g0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(g0|0);)i0=w+(e[v0+(x0<<2)>>2]<<2)|0,(e[i0>>2]|0)==-1&&(e[i0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[Q0>>2]|0,d*1040|0)|0,p||kx(1),r0=0,_=0;(_|0)!=(g0|0);)x0=v0+(_<<2)|0,d=e[x0>>2]|0,i0=e[w+(d<<2)>>2]|0,(i0|0)==(r0|0)?(Zx(p+(r0*1040|0)|0,f+(d*1040|0)|0,1040)|0,i0=e[w+(e[x0>>2]<<2)>>2]|0,d=r0+1|0):d=r0,e[x0>>2]=i0,r0=d,_=_+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,w),d=0;(d|0)!=(r0|0);)Zx(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,p),e[y0>>2]=r0,yx[e[w0>>2]&1](e[Q0>>2]|0,Bx),x0=$+80|0,e[x0>>2]|0&&j0(406910,406802,106,406832),d=e[mx>>2]|0,i0=$+84|0,e[i0>>2]=d<<2,d=Px[e[c>>2]&1](e[Q0>>2]|0,d<<4)|0,d||kx(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&j0(406940,406802,112,406832),f=e[i0>>2]|0,y0=$+108|0,e[y0>>2]=f,f=Px[e[c>>2]&1](e[Q0>>2]|0,f*2096|0)|0,f||kx(1),e[d>>2]=f,g0=e[i0>>2]|0,d=e[x0>>2]|0,u0=g0<<2,p=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,p||kx(1),d0=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,d0||kx(1),_=Px[e[c>>2]&1](e[Q0>>2]|0,49176)|0,_||kx(1),i0=0;(i0|0)!=(g0|0);)e[p+(i0<<2)>>2]=1,i0=i0+1|0;for(v0=d,d=0;(d|0)!=(g0|0);)$=sx+(d*2096|0)|0,Zx(f+(d*2096|0)|0,$|0,2096)|0,s0[f+(d*2096|0)+2088>>3]=+mn($),e[v0+(d<<2)>>2]=d,d=d+1|0;for(r0=0,i0=0;!(g0>>>0<=i0>>>0);){for(d=g0-i0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[d0+(r0+x0<<2)>>2]=i0+x0,x0=x0+1|0;r0=r0+(Au(f,p,v0+(i0<<2)|0,d0+(r0<<2)|0,_,d,d,256,2048)|0)|0,i0=i0+64|0}d=r0<<6,x0=ex(r0>>>1,r0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(i0=2048;!(i0>>>0>=d>>>0);)i0=i0<<1;if(d=Px[e[c>>2]&1](e[Q0>>2]|0,i0*24|0)|0,!d)kx(1);else{Zx(d|0,_|0,49152)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,_),hx=d;break}}else hx=_;while(!1);for(l0=Au(f,p,v0,d0,hx,r0,g0,256,x0)|0,yx[e[w0>>2]&1](e[Q0>>2]|0,hx),yx[e[w0>>2]&1](e[Q0>>2]|0,p),w=ax+2080|0,t0=ax+2080|0,f0=0;;){if((f0|0)==(g0|0)){d=0;break}if(x0=e[((f0|0)==0?v0:v0+(f0+-1<<2)|0)>>2]|0,d=sx+(f0*2096|0)|0,n0=sx+(f0*2096|0)+2080|0,!(e[n0>>2]|0))M=0;else{for(Zx(ax|0,d|0,2096)|0,e[t0>>2]=(e[t0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),i0=0;(i0|0)!=520;)hx=ax+(i0<<2)|0,e[hx>>2]=(e[hx>>2]|0)+(e[f+(x0*2096|0)+(i0<<2)>>2]|0),i0=i0+1|0;M=+mn(ax),M=M-+s0[f+(x0*2096|0)+2088>>3]}for(i0=x0,p=0;(p|0)!=(l0|0);){if(_=d0+(p<<2)|0,x0=e[_>>2]|0,!(e[n0>>2]|0))q=0;else{for(Zx(ax|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),r0=0;(r0|0)!=520;)hx=ax+(r0<<2)|0,e[hx>>2]=(e[hx>>2]|0)+(e[f+(x0*2096|0)+(r0<<2)>>2]|0),r0=r0+1|0;q=+mn(ax),q=q-+s0[f+(x0*2096|0)+2088>>3]}q<M&&(M=q,i0=e[_>>2]|0),p=p+1|0}e[v0+(f0<<2)>>2]=i0,f0=f0+1|0}for(;;){if((d|0)==(l0|0)){i0=0;break}ax=e[d0+(d<<2)>>2]|0,Hx(f+(ax*2096|0)|0,0,2080)|0,e[f+(ax*2096|0)+2080>>2]=0,s0[f+(ax*2096|0)+2088>>3]=X0,d=d+1|0}for(;(i0|0)!=(g0|0);){for(d=e[v0+(i0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[sx+(i0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)ax=f+(d*2096|0)+(x0<<2)|0,e[ax>>2]=(e[ax>>2]|0)+(e[sx+(i0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;i0=i0+1|0}for(yx[e[w0>>2]&1](e[Q0>>2]|0,d0),w=Px[e[c>>2]&1](e[Q0>>2]|0,u0)|0,w||kx(1),d=0;;){if((d|0)==(g0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(g0|0);)i0=w+(e[v0+(x0<<2)>>2]<<2)|0,(e[i0>>2]|0)==-1&&(e[i0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[Q0>>2]|0,d*2096|0)|0,p||kx(1),r0=0,_=0;(_|0)!=(g0|0);)x0=v0+(_<<2)|0,d=e[x0>>2]|0,i0=e[w+(d<<2)>>2]|0,(i0|0)==(r0|0)?(Zx(p+(r0*2096|0)|0,f+(d*2096|0)|0,2096)|0,i0=e[w+(e[x0>>2]<<2)>>2]|0,d=r0+1|0):d=r0,e[x0>>2]=i0,r0=d,_=_+1|0;for(yx[e[w0>>2]&1](e[Q0>>2]|0,w),d=0;(d|0)!=(r0|0);)Zx(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;yx[e[w0>>2]&1](e[Q0>>2]|0,p),e[y0>>2]=r0,yx[e[w0>>2]&1](e[Q0>>2]|0,sx),c0=H0}function Lg(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);)il(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);)il(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);)il(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function Ug(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,i0=0,$=0,x0=0,r0=0,_=0;if(r0=(f>>>10)+1|0,x0=r0>>>0<257?r0:257,e[h>>2]=704,e[h+4>>2]=1024,s0[h+8>>3]=500,e[h+16>>2]=0,_=h+20|0,e[_>>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<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0)|0,k||kx(1),e0=e[$>>2]|0,f=l+8|0,e0&&Zx(k|0,e[f>>2]|0,e0|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if($=l+20|0,f=e[$>>2]|0,f>>>0<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),e0=e[$>>2]|0,f=l+12|0,e0&&Zx(k|0,e[f>>2]|0,e0<<2|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if(e[(e[_>>2]|0)+4>>2]=r0,e[d>>2]|0&&j0(407776,407818,70,407880),e[w>>2]=x0,f=Px[e[c>>2]&1](e[c+8>>2]|0,x0*2832|0)|0,p=f,!f)kx(1);else{e[d>>2]=p,e[h+24>>2]=p,Hx(f|0,0,2816)|0,e[f+2816>>2]=0,s0[f+2824>>3]=X0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function qg(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,i0=0,$=0,x0=0,r0=0,_=0;if(r0=(f>>>9)+1|0,x0=r0>>>0<257?r0:257,e[h>>2]=64,e[h+4>>2]=512,s0[h+8>>3]=100,e[h+16>>2]=0,_=h+20|0,e[_>>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<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0)|0,k||kx(1),e0=e[$>>2]|0,f=l+8|0,e0&&Zx(k|0,e[f>>2]|0,e0|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if($=l+20|0,f=e[$>>2]|0,f>>>0<r0>>>0){for(i0=(f|0)==0?r0:f;!(i0>>>0>=r0>>>0);)i0=i0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,i0<<2)|0,k||kx(1),e0=e[$>>2]|0,f=l+12|0,e0&&Zx(k|0,e[f>>2]|0,e0<<2|0)|0,yx[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=i0}if(e[(e[_>>2]|0)+4>>2]=r0,e[d>>2]|0&&j0(407776,407818,70,407854),e[w>>2]=x0,f=Px[e[c>>2]&1](e[c+8>>2]|0,x0*2096|0)|0,p=f,!f)kx(1);else{e[d>>2]=p,e[h+24>>2]=p,Hx(f|0,0,2080)|0,e[f+2080>>2]=0,s0[f+2088>>3]=X0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function Hg(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+2112|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*1040|0)|0,i0=v0+(M*1040|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*1040|0)|0,v0+(M*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)i0=f0+($*1040|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,i0=f0+($*1040|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*1040|0)|0,0,1024)|0,e[v0+(f*1040|0)+1024>>2]=0,s0[v0+(f*1040|0)+1032>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*1040|0)|0,f0+1040|0,1040)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*1040|0)|0,0,1024)|0,e[v0+(h0*1040|0)+1024>>2]=0,s0[v0+(h0*1040|0)+1032>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*1040|0)|0,0,1024)|0,e[v0+(w0*1040|0)+1024>>2]=0,s0[v0+(w0*1040|0)+1032>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,s0[x0+(f*1040|0)+1032>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Su(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+5696|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*2832|0)|0,i0=v0+(M*2832|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*2832|0)|0,v0+(M*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)i0=f0+($*2832|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,i0=f0+($*2832|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*2832|0)|0,0,2816)|0,e[v0+(f*2832|0)+2816>>2]=0,s0[v0+(f*2832|0)+2824>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*2832|0)|0,f0+2832|0,2832)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*2832|0)|0,0,2816)|0,e[v0+(h0*2832|0)+2816>>2]=0,s0[v0+(h0*2832|0)+2824>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*2832|0)|0,0,2816)|0,e[v0+(w0*2832|0)+2816>>2]=0,s0[v0+(w0*2832|0)+2824>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,s0[x0+(f*2832|0)+2824>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Fu(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0;k0=c0,c0=c0+4224|0,f0=k0+32|0,n0=k0+16|0,l0=k0,p0=e[c+20>>2]|0,w0=c+56|0,f=e[c+24>>2]|0,h0=c+36|0,m0=e[h0>>2]|0,g0=c+4|0,d0=e[g0>>2]|0,d0=m0>>>0>d0>>>0?m0:d0,e[h0>>2]=d0,m0=c+16|0,t0=e[m0>>2]|0;do if(t0){if(d0){for(y0=c+40|0,M=e[y0>>2]|0,v0=f,x0=e[c>>2]|0,f=v0+(M*2096|0)|0,i0=v0+(M*2096|0)+(x0<<2)|0,_=(x0&1|0)==0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,r0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,Zx(f0+($*2096|0)|0,v0+(M*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[v0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)i0=f0+($*2096|0)+(k<<2)|0,e[i0>>2]=(e[i0>>2]|0)+(e[v0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,i0=f0+($*2096|0)+(x0<<2)|0,_?(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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,s0[n0+($<<3)>>3]=p,s0[l0+($<<3)>>3]=p-r0-+s0[c+56+($<<3)>>3],$=$+1|0}if(f=p0,l=+s0[l0>>3],(e[f>>2]|0)>>>0<256&&(q=+s0[c+8>>3],l>q)&&+s0[l0+8>>3]>q){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,n[(e[f+8>>2]|0)+(e[m0>>2]|0)>>0]=e[f>>2],d0=c+44|0,e[c+48>>2]=e[d0>>2],e[d0>>2]=e[f>>2]&255,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=r0,e[m0>>2]=(e[m0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[y0>>2]|0)+1|0,e[y0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Hx(v0+(f*2096|0)|0,0,2080)|0,e[v0+(f*2096|0)+2080>>2]=0,s0[v0+(f*2096|0)+2088>>3]=X0),e[h0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}if(+s0[l0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(t0<<2)>>2]=d0,t0=e[m0>>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,Zx(v0+(d0*2096|0)|0,f0+2096|0,2096)|0,s0[c+64>>3]=+s0[w0>>3],s0[w0>>3]=+s0[n0+8>>3],e[m0>>2]=(e[m0>>2]|0)+1,e[h0>>2]=0,h0=e[y0>>2]|0,Hx(v0+(h0*2096|0)|0,0,2080)|0,e[v0+(h0*2096|0)+2080>>2]=0,s0[v0+(h0*2096|0)+2088>>3]=X0,e[c+72>>2]=0,e[c+32>>2]=e[g0>>2];break}u0=(e[f+12>>2]|0)+(t0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+d0,Zx(v0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+s0[n0>>3],s0[w0>>3]=l,(e[f>>2]|0)==1&&(s0[c+64>>3]=l),e[h0>>2]=0,w0=e[y0>>2]|0,Hx(v0+(w0*2096|0)|0,0,2080)|0,e[v0+(w0*2096|0)+2080>>2]=0,s0[v0+(w0*2096|0)+2088>>3]=X0,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[g0>>2]|0))}}else{for($=p0,e[e[$+12>>2]>>2]=d0,n[e[$+8>>2]>>0]=0,x0=f,y0=e[c>>2]|0,i0=x0+(y0<<2)|0,y0&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=+a0[19516+(k<<2)>>2]:d=+Kx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=i0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+a0[19516+(k<<2)>>2]:w=+Kx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+a0[19516+(e0<<2)>>2]:d=+Kx(p),w=p,l=l+p*d):w=p,q=l<w?w:l,s0[w0>>3]=q,s0[c+64>>3]=q,e[m0>>2]=(e[m0>>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&&(Hx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,s0[x0+(f*2096|0)+2088>>3]=X0),e[h0>>2]=0}while(!1);if(!h){c0=k0;return}h=p0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[m0>>2],c0=k0}function Gg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0;if(q0=c0,c0=c0+16|0,l0=q0,P0=e[h+28>>2]|0,h0=h+4|0,O0=e[h0>>2]|0,p=e[h+60>>2]|0,m0=h+32|0,w=e[m0>>2]|0,N0=h+44|0,d=e[N0>>2]|0,w0=h+12|0,l=e[w0>>2]|0,d>>>0<l>>>0?e[N0>>2]=l:l=d,k0=h+24|0,e[k0>>2]|0){if(l){for(v0=c+8|0,g0=Px[e[c>>2]&1](e[v0>>2]|0,O0<<3)|0,g0||kx(1),y0=Px[e[c>>2]&1](e[v0>>2]|0,O0*2080|0)|0,y0||kx(1),d0=Px[e[c>>2]&1](e[v0>>2]|0,O0<<4)|0,d0||kx(1),e[l0>>2]=0,e[l0+4>>2]=0,e[l0+8>>2]=0,e[l0+12>>2]=0,u0=h+48|0,n0=0;(n0|0)!=(O0|0);){for(_=(e[u0>>2]|0)+n0|0,t0=e[h>>2]|0,l=w+(_*1040|0)|0,r0=w+(_*1040|0)+(t0<<2)|0,t0&1?(i0=0,x0=0,p0=42):(k=0,x0=0);(p0|0)==42&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,x0=x0+d|0),!(l>>>0>=r0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,x0=x0+d|0,p0=42;for(i0=+(x0>>>0),x0?(x0>>>0<256?e0=+a0[19516+(x0<<2)>>2]:e0=+Kx(i0),$=i0,k=k+i0*e0):$=i0,t0=g0+(n0<<3)|0,s0[t0>>3]=k<$?$:k,_=w+(_*1040|0)|0,q=0;(q|0)!=2;){for(M=(ex(q,O0)|0)+n0|0,l=(e[h+52+(q<<2)>>2]|0)+n0|0,Zx(y0+(M*1040|0)|0,_|0,1040)|0,d=y0+(M*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)r0=y0+(M*1040|0)+(d<<2)|0,e[r0>>2]=(e[r0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=y0+(M*1040|0)|0,r0=y0+(M*1040|0)+(x0<<2)|0,x0&1?(i0=0,x0=0,p0=62):(k=0,x0=0);(p0|0)==62&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,x0=x0+d|0),!(l>>>0>=r0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,x0=x0+d|0,p0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+a0[19516+(x0<<2)>>2]:e0=+Kx($),i0=$,k=k+$*e0):i0=$,$=k<i0?i0:k,s0[d0+(M<<3)>>3]=$,r0=l0+(q<<3)|0,s0[r0>>3]=+s0[r0>>3]+($-+s0[t0>>3]-+s0[p+(M<<3)>>3]),q=q+1|0}n0=n0+1|0}if(x0=P0,k=+s0[l0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+s0[h+16>>3],k>f0)&&+s0[l0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[k0>>2]<<2)>>2]=e[N0>>2],n[(e[x0+8>>2]|0)+(e[k0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=ex(e[x0>>2]|0,O0)|0,l=0;(l|0)!=(O0|0);)l0=p+(l<<3)|0,s0[p+(O0+l<<3)>>3]=+s0[l0>>3],s0[l0>>3]=+s0[g0+(l<<3)>>3],l=l+1|0;e[k0>>2]=(e[k0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+O0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[m0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0}while(!1);e[N0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[w0>>2]}else p0=84;do if((p0|0)==84){if(l=e[N0>>2]|0,d=e[k0>>2]|0,+s0[l0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[k0>>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)!=(O0|0);)m0=O0+d|0,Zx(w+(((e[l>>2]|0)+d|0)*1040|0)|0,y0+(m0*1040|0)|0,1040)|0,h0=p+(d<<3)|0,s0[p+(m0<<3)>>3]=+s0[h0>>3],s0[h0>>3]=+s0[d0+(m0<<3)>>3],h0=(e[u0>>2]|0)+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0;e[k0>>2]=(e[k0>>2]|0)+1,e[N0>>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)!=(O0|0);)Zx(w+(((e[l>>2]|0)+d|0)*1040|0)|0,y0+(d*1040|0)|0,1040)|0,k=+s0[d0+(d<<3)>>3],s0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(s0[p+(O0+d<<3)>>3]=k),h0=(e[u0>>2]|0)+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0;e[N0>>2]=0,h0=h+64|0,N0=(e[h0>>2]|0)+1|0,e[h0>>2]=N0,N0>>>0>1&&(N0=h+40|0,e[N0>>2]=(e[N0>>2]|0)+(e[w0>>2]|0))}while(!1);N0=c+4|0,yx[e[N0>>2]&1](e[v0>>2]|0,d0),yx[e[N0>>2]&1](e[v0>>2]|0,y0),yx[e[N0>>2]&1](e[v0>>2]|0,g0)}}else{for(M=P0,e[e[M+12>>2]>>2]=l,n[e[M+8>>2]>>0]=0,_=w,r0=0;(r0|0)!=(O0|0);){for(c=e[h>>2]|0,l=_+(r0*1040|0)|0,x0=_+(r0*1040|0)+(c<<2)|0,c&1?(i0=0,w=0,p0=12):(k=0,w=0);(p0|0)==12&&(p0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+a0[19516+(d<<2)>>2]:e0=+Kx(k),l=l+4|0,k=i0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?i0=+a0[19516+(d<<2)>>2]:i0=+Kx(e0),l=l+4|0,i0=k-e0*i0,w=w+d|0,p0=12;$=+(w>>>0),w?(w>>>0<256?e0=+a0[19516+(w<<2)>>2]:e0=+Kx($),i0=$,k=k+$*e0):i0=$,f0=k<i0?i0:k,s0[p+(r0<<3)>>3]=f0,s0[p+(O0+r0<<3)>>3]=f0,r0=r0+1|0}e[k0>>2]=(e[k0>>2]|0)+1,e[M>>2]=(e[M>>2]|0)+1,p0=h+48|0,p=(e[p0>>2]|0)+O0|0,e[p0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[m0>>2]|0,l=e[h0>>2]|0,d=0;;){if((d|0)==(l|0))break x;h0=p+d|0,Hx(w+(h0*1040|0)|0,0,1024)|0,e[w+(h0*1040|0)+1024>>2]=0,s0[w+(h0*1040|0)+1032>>3]=X0,d=d+1|0}while(!1);e[N0>>2]=0}if(!f){c0=q0;return}f=P0,N0=ex(e[f>>2]|0,O0)|0,e[e[h+36>>2]>>2]=N0,e[f+4>>2]=e[k0>>2],c0=q0}function jg(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0;t0=c,w=o[88430+((ex(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,y0=c+1|0,v0=y0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(n0=w+1|0,k=153966+(w<<2)|0,k=j[k>>1]|j[k+2>>1]<<16,w=k>>>8&255,_=k>>>16,M=k&127,q=s[280786+M>>0]|0,r0=1<<q,p=(k&255)>>>7,w<<24>>24){if(r0=w<<24>>24!=10,M>>>0>f>>>0){d0=d,w=n0,d=d0;continue}x0=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+M|0,k=c+(M+-4)|0,i0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+(x0+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){d0=d,w=n0,d=d0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){d0=d,w=n0,d=d0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){d0=d,w=n0,d=d0;continue x}for($=x0+1|0,x0=c+M|0,k=c+(M+-4)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M+-1|0)){d0=d,w=n0,d=d0;continue x}break}default:for(k=0;;){if(k>>>0>=M>>>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=n0,d=d0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){d0=d,w=n0,d=d0;continue x}k=k+1|0}}while(!1);if(d0=(_+((r0?44:9)<<q)<<5)+M|0,d=l+(M<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=M+1|0,d>>>0>=f>>>0){d=1,w=n0;continue}switch(n[c+M>>0]|0){case 32:{w=(_+(((r0&1)<<6|4)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 34:{if(u0=(_+((r0?87:66)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=62){d=1,w=n0;continue x}w=(_+((r0?97:69)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 46:{if(u0=(_+((r0?101:79)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){d=1,w=n0;continue x}w=(_+((r0?114:88)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 44:{if(u0=(_+((r0?112:99)<<q)<<5)+M|0,d0=l+(d<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){d=1,w=n0;continue x}w=(_+((r0?107:58)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 39:{w=(_+((r0?94:74)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 40:{w=(_+((r0?113:78)<<q)<<5)+M|0,d=l+(d<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 61:switch(n[c+(M+1)>>0]|0){case 34:{w=(_+((r0&1|104)<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}case 39:{w=(_+(((r0&1)<<3)+108<<q)<<5)+M|0,d=l+(M+2<<2)|0,d0=e[d>>2]|0,e[d>>2]=d0>>>0<w>>>0?d0:w,d=1,w=n0;continue x}default:{d=1,w=n0;continue x}}default:{d=1,w=n0;continue x}}}for($=(e[11272+(M<<2)>>2]|0)+(ex(M,_)|0)|0,k=M>>>0<f>>>0?M:f,x0=c+k|0,k=c+(k+-4)|0,i0=0,w=t0;e0=w,!(e0>>>0>k>>>0||(u0=w,d0=280811+($+i0)|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)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;for((i0|0)==(M|0)&&(d0=(_<<5)+M|0,d=l+(M<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0,d=1),w=M+-1|0,i0>>>0>=w>>>0&&(u0=(_+(12<<q)<<5)+M|0,d0=l+(w<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,d0=M+2|0,d0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+M>>0]|0)==110&&(n[c+(M+1)>>0]|0)==103&&(n[c+d0>>0]|0)==32&&(d0=(_+(49<<q)<<5)+M|0,d=l+(M+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<d0>>>0?u0:d0),d=1),M>>>0>9?(w=M+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=M+-2|0,k=i0>>>0<k>>>0?i0:k;!(w>>>0>k>>>0);)d0=(_+(s[407930+(M-w)>>0]<<q)<<5)+M|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(i0>>>0<M>>>0){w=n0;continue}if(w=M+6|0,w>>>0>=f>>>0){w=n0;continue}do switch(n[c+M>>0]|0){case 32:switch(u0=(_+r0<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,n[c+(M+1)>>0]|0){case 97:switch(n[c+(M+2)>>0]|0){case 32:{d0=(_+(28<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(46<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 116:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(60<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 110:{if((n[c+(M+3)>>0]|0)!=100){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(10<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 98:{if((n[c+(M+2)>>0]|0)!=121){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(38<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:switch(n[c+(M+2)>>0]|0){case 110:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(r0<<4)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(47<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 102:{switch(n[c+(M+2)>>0]|0){case 111:{if((n[c+(M+3)>>0]|0)!=114){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(25<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 114:break;default:{w=n0;continue x}}if((n[c+(M+3)>>0]|0)!=111){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=109){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(37<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 111:switch(n[c+(M+2)>>0]|0){case 102:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(r0<<3)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 110:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(45<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 110:{if((n[c+(M+2)>>0]|0)!=111){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(80<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 116:{switch(n[c+(M+2)>>0]|0){case 104:break;case 111:{if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(17<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}switch(n[c+(M+3)>>0]|0){case 101:{if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(5<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 97:break;default:{w=n0;continue x}}if((n[c+(M+4)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(29<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 119:{if((n[c+(M+2)>>0]|0)!=105){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=104){w=n0;continue x}if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(35<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 34:{if(u0=(_+(19<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=62){w=n0;continue x}d0=(_+(21<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 46:{if(u0=(_+(20<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){w=n0;continue x}if(u0=(_+(31<<q)<<5)+M|0,d0=l+(M+2<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+2)>>0]|0)!=84){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=104){w=n0;continue x}switch(n[c+(M+4)>>0]|0){case 101:{if((n[c+(M+5)>>0]|0)!=32){w=n0;continue x}d0=(_+(43<<q)<<5)+M|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:break;default:{w=n0;continue x}}if((n[c+(M+5)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+6)>>0]|0)!=32){w=n0;continue x}d0=(_+(75<<q)<<5)+M|0,w=l+(M+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 44:{if(u0=(_+(76<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=32){w=n0;continue x}d0=(_+(14<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 10:{if(u0=(_+(22<<q)<<5)+M|0,d0=l+(M+1<<2)|0,l0=e[d0>>2]|0,e[d0>>2]=l0>>>0<u0>>>0?l0:u0,(n[c+(M+1)>>0]|0)!=9){w=n0;continue x}d0=(_+(50<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 93:{d0=(_+(24<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 39:{d0=(_+(36<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 58:{d0=(_+(51<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 40:{d0=(_+(57<<q)<<5)+M|0,w=l+(M+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 61:switch(n[c+(M+1)>>0]|0){case 34:{d0=(_+(70<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 39:{d0=(_+(86<<q)<<5)+M|0,w=l+(M+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 97:{if((n[c+(M+1)>>0]|0)!=108){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(84<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 101:switch(n[c+(M+1)>>0]|0){case 100:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(53<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 114:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(82<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 115:{if((n[c+(M+2)>>0]|0)!=116){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(95<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 102:{if((n[c+(M+1)>>0]|0)!=117){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=108){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(90<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 105:switch(n[c+(M+1)>>0]|0){case 118:{if((n[c+(M+2)>>0]|0)!=101){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(92<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 122:{if((n[c+(M+2)>>0]|0)!=101){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(100<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}case 108:{switch(n[c+(M+1)>>0]|0){case 101:break;case 121:{if((n[c+(M+2)>>0]|0)!=32){w=n0;continue x}d0=(_+(61<<q)<<5)+M|0,w=l+(M+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;continue x}}if((n[c+(M+2)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+4)>>0]|0)!=32){w=n0;continue x}d0=(_+(93<<q)<<5)+M|0,w=l+(M+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}case 111:{if((n[c+(M+1)>>0]|0)!=117){w=n0;continue x}if((n[c+(M+2)>>0]|0)!=115){w=n0;continue x}if((n[c+(M+3)>>0]|0)!=32){w=n0;continue x}d0=(_+(106<<q)<<5)+M|0,w=l+(M+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<d0>>>0?u0:d0,w=n0;continue x}default:{w=n0;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,n0=d0<<24>>24==32;x:do switch(d0<<24>>24){case 32:case 46:{w=o[88430+((ex(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=n0?6:32,l0=n0?2:77,u0=n0?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=j[k>>1]|j[k+2>>1]<<16,w=k>>>8&255,_=k>>>16,M=k&127,q=s[280786+M>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(M>>>0>h>>>0){q=d,w=t0,d=q;continue}for($=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,x0=c+(M+1)|0,k=c+(M+-3)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(w0=w,r0=280811+($+i0)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[r0>>0]|s[r0+1>>0]<<8|s[r0+2>>0]<<16|s[r0+3>>0]<<24|0)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){w0=d,w=t0,d=w0;continue}if(d=M+1|0,w0=(_+(f0<<q)<<5)+M|0,w=l+(d<<2)|0,r0=e[w>>2]|0,e[w>>2]=r0>>>0<w0>>>0?r0:w0,w=M+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{w0=(_+(l0<<q)<<5)+M|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=(_+(u0<<q)<<5)+M|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(!n0){d=1,w=t0;continue e}switch(d<<24>>24){case 44:{if(r0=(_+(103<<q)<<5)+M|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<r0>>>0?x0:r0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+(33<<q)<<5)+M|0,d=l+(M+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(r0=(_+(71<<q)<<5)+M|0,w0=l+(w<<2)|0,x0=e[w0>>2]|0,e[w0>>2]=x0>>>0<r0>>>0?x0:r0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+(52<<q)<<5)+M|0,d=l+(M+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+(M+2)>>0]|0){case 34:{w=(_+(81<<q)<<5)+M|0,d=l+(M+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=(_+(98<<q)<<5)+M|0,d=l+(M+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(!n0){w0=d,w=t0,d=w0;continue}if(r0=w<<24>>24!=10,M>>>0>h>>>0){w0=d,w=t0,d=w0;continue}x0=(e[11272+(M<<2)>>2]|0)+(ex(M,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(M+1)|0,k=c+(M+-3)|0,i0=0,w=v0;e0=w,!(e0>>>0>k>>>0||(p0=w,w0=280811+(x0+i0)|0,(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)i0=i0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+i0)>>0]|0)!=(n[w>>0]|0));)i0=i0+1|0,w=w+1|0;if((i0|0)!=(M|0)){p0=d,w=t0,d=p0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){p0=d,w=t0,d=p0;continue e}if((w&255^32|0)!=(s[y0>>0]|0)){p0=d,w=t0,d=p0;continue e}for(i0=x0+1|0,$=c+(M+1)|0,k=c+(M+-3)|0,e0=0,w=d0;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(M+-1|0)){p0=d,w=t0,d=p0;continue e}break}default:for(k=0;;){if(k>>>0>=M>>>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)){p0=d,w=t0,d=p0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){p0=d,w=t0,d=p0;continue e}k=k+1|0}}while(!1);if(d=M+1|0,p0=(_+((r0?85:30)<<q)<<5)+M|0,w=l+(d<<2)|0,w0=e[w>>2]|0,e[w>>2]=w0>>>0<p0>>>0?w0:p0,w=M+2|0,w>>>0>=f>>>0){d=1,w=t0;continue}switch(n[c+d>>0]|0){case 32:{p0=(_+((r0?83:15)<<q)<<5)+M|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<p0>>>0?w:p0,d=1,w=t0;continue e}case 44:{if(r0||(w0=(_+(109<<q)<<5)+M|0,p0=l+(w<<2)|0,x0=e[p0>>2]|0,e[p0>>2]=x0>>>0<w0>>>0?x0:w0),(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+((r0?111:65)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 46:{if(w0=(_+((r0?115:96)<<q)<<5)+M|0,p0=l+(w<<2)|0,x0=e[p0>>2]|0,e[p0>>2]=x0>>>0<w0>>>0?x0:w0,(n[c+(M+2)>>0]|0)!=32){d=1,w=t0;continue e}w=(_+((r0?117:91)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 61:switch(n[c+(M+2)>>0]|0){case 34:{w=(_+(((r0&1)<<3^8)+110<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=t0;continue e}case 39:{w=(_+(120-(r0&1)<<q)<<5)+M|0,d=l+(M+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0: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 p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;w=n[y0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{g0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(g0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(g0=241);while(!1);x:do if((g0|0)==241)for(q=c+2|0,w=o[88430+((ex(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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(M=w+1|0,w=153966+(w<<2)|0,w=j[w>>1]|j[w+2>>1]<<16,x0=w>>>16,r0=w&127,_=s[280786+r0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|r0>>>0>t0>>>0){p0=d,w=M,d=p0;continue}for(i0=(e[11272+(r0<<2)>>2]|0)+(ex(r0,w>>>16)|0)|0,$=c+(r0+2)|0,k=c+(r0+-2)|0,e0=0,w=q;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(r0|0)){p0=d,w=M,d=p0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<_)<<5)+r0|0,d=l+(r0+2<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M;continue}if(k=r0+2|0,k>>>0>=f>>>0){p0=d,w=M,d=p0;continue}if((n[c+k>>0]|0)!=32){p0=d,w=M,d=p0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<_)<<5)+r0|0,d=l+(r0+3<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M}while(!1);if(f>>>0<=8)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;switch(n[c>>0]|0){case 32:{if((n[y0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;break}case 46:{if((n[y0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0;break}default:return p0=d,p0=p0&1,p0=p0<<24>>24!=0,p0|0}for(q=c+5|0,w=o[88430+((ex(s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+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(M=w+1|0,w=153966+(w<<2)|0,w=j[w>>1]|j[w+2>>1]<<16,x0=w>>>16,r0=w&127,_=s[280786+r0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|r0>>>0>t0>>>0){p0=d,w=M,d=p0;continue}for(i0=(e[11272+(r0<<2)>>2]|0)+(ex(r0,w>>>16)|0)|0,$=c+(r0+5)|0,k=c+(r0+1)|0,e0=0,w=q;!(w>>>0>k>>>0||(p0=280811+(i0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(i0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(r0|0)){p0=d,w=M,d=p0;continue}if(d=r0+5|0,w0=(x0+(((n[c>>0]|0)==32?41:72)<<_)<<5)+r0|0,p0=l+(d<<2)|0,y0=e[p0>>2]|0,e[p0>>2]=y0>>>0<w0>>>0?y0:w0,d>>>0>=f>>>0){d=1,w=M;continue}if(!((n[c>>0]|0)==32&(r0+8|0)>>>0<f>>>0)){d=1,w=M;continue}if((n[c+d>>0]|0)!=32){d=1,w=M;continue}if((n[c+(r0+6)>>0]|0)!=111){d=1,w=M;continue}if((n[c+(r0+7)>>0]|0)!=102){d=1,w=M;continue}if((n[c+(r0+8)>>0]|0)!=32){d=1,w=M;continue}if(w0=(x0+(62<<_)<<5)+r0|0,p0=l+(r0+9<<2)|0,y0=e[p0>>2]|0,e[p0>>2]=y0>>>0<w0>>>0?y0:w0,(r0+12|0)>>>0>=f>>>0){d=1,w=M;continue}if((n[c+(r0+9)>>0]|0)!=116){d=1,w=M;continue}if((n[c+(r0+10)>>0]|0)!=104){d=1,w=M;continue}if((n[c+(r0+11)>>0]|0)!=101){d=1,w=M;continue}if((n[c+(r0+12)>>0]|0)!=32){d=1,w=M;continue}w=(x0+(73<<_)<<5)+r0|0,d=l+(r0+13<<2)|0,p0=e[d>>2]|0,e[d>>2]=p0>>>0<w>>>0?p0:w,d=1,w=M}return p0=d&1,p0=p0<<24>>24!=0,p0|0}function nl(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,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=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,n0=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)&&(i0=(k&255)<<6&1984|e0&63,i0>>>0>127)){p=2,w=i0;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)&&(r0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,r0>>>0>2047)){p=3,w=r0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(_=n[c+(w+1)>>0]|0,(_&-64)<<24>>24==-128)&&(M=n[c+(w+2)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+3)>>0]|0,(q&-64)<<24>>24==-128)&&(n0=(k&255)<<18&1835008|(_&255)<<12&258048|(M&255)<<6&4032|q&63,n0>>>0>65535&n0>>>0<1114112)){w=4,n0=20;break e}else n0=19}else n0=19}else n0=19;while(!1);(n0|0)==19&&(n0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(n0|0)==20&&(n0=0,p=w,d=d+w|0),t0=t0+p|0}return+(t0>>>0)>+(l>>>0)*.75|0}function Kx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0;s0[b0>>3]=c,f=e[b0>>2]|0,h=e[b0+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{s0[b0>>3]=c*0x40000000000000,h=e[b0+4>>2]|0,l=e[b0>>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[b0>>2]=l,e[b0+4>>2]=(d&1048575)+1072079006,e0=+s0[b0>>3]+-1,c=e0*(e0*.5),i0=e0/(e0+2),p=i0*i0,k=p*p,s0[b0>>3]=e0-c,l=e[b0+4>>2]|0,e[b0>>2]=0,e[b0+4>>2]=l,w=+s0[b0>>3],c=i0*(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 al(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0,u0=0,d0=0,v0=0,g0=0,y0=0,w0=0,p0=0,m0=0,h0=0,k0=0,P0=0,O0=0,N0=0,q0=0,L0=0,K0=0,z0=0;do if(c>>>0<245){if(_=c>>>0<11?16:c+11&-8,c=_>>>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&&xe(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else xe();else e[5147]=k&~(1<<h);while(!1);return z0=h<<3,e[d+4>>2]=z0|3,z0=d+(z0|4)|0,e[z0>>2]=e[z0>>2]|1,z0=w,z0|0}if(p=e[5149]|0,_>>>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&&xe(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,i0=e[5149]|0;break}else xe();else e[5147]=k&~(1<<h),i0=p;while(!1);return z0=h<<3,p=z0-_|0,e[w+4>>2]=_|3,k=w+_|0,e[w+(_|4)>>2]=p|1,e[w+z0>>2]=p,i0&&(d=e[5152]|0,f=i0>>>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?xe():($=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,z0=e0,z0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,K0=k>>>12&16,k=k>>>K0,L0=k>>>5&8,k=k>>>L0,z0=k>>>2&4,k=k>>>z0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((L0|K0|z0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-_|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-_|0,z0=h>>>0<k>>>0,k=z0?h:k,h=c,e0=z0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&xe(),p=e0+_|0,e0>>>0>=p>>>0&&xe(),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)){r0=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)xe();else{e[h>>2]=0,r0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&xe(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&xe(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,r0=f;break}else xe();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]=r0,!r0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&xe(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=r0:e[w+20>>2]=r0,!r0)break;h=e[5151]|0,r0>>>0<h>>>0&&xe(),e[r0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)xe();else{e[r0+16>>2]=c,e[c+24>>2]=r0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)xe();else{e[r0+20>>2]=c,e[c+24>>2]=r0;break}}while(!1);return k>>>0<16?(z0=k+_|0,e[e0+4>>2]=z0|3,z0=e0+(z0+4)|0,e[z0>>2]=e[z0>>2]|1):(e[e0+4>>2]=_|3,e[e0+(_|4)>>2]=k|1,e[e0+(k+_)>>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?xe():(M=c,q=h)):(e[5147]=h|f,M=20628+(c+2<<2)|0,q=l),e[M>>2]=d,e[q+12>>2]=d,e[d+8>>2]=q,e[d+12>>2]=l),e[5149]=k,e[5152]=p),z0=e0+8|0,z0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,_=c&-8,e0=e[5148]|0,e0){h=0-_|0,c=c>>>8,c?_>>>0>16777215?k=31:(q=(c+1048320|0)>>>16&8,v0=c<<q,M=(v0+520192|0)>>>16&4,v0=v0<<M,k=(v0+245760|0)>>>16&2,k=14-(M|q|k)+(v0<<k>>>15)|0,k=_>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,v0=86;else for(d=h,f=0,w=_<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-_|0,h>>>0<d>>>0)if((l|0)==(_|0)){l=p,c=p,v0=90;break x}else c=p;else h=d;if(v0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(v0|0)==0|(v0|0)==(p|0)?f:v0,p)d=h,w=w<<1;else{v0=86;break}}while(!1);if((v0|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,r0=c>>>12&16,c=c>>>r0,x0=c>>>5&8,c=c>>>x0,M=c>>>2&4,c=c>>>M,q=c>>>1&2,c=c>>>q,f=c>>>1&1,f=e[20892+((x0|r0|M|q|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,v0=90):(k=h,e0=c)}if((v0|0)==90)for(;;){if(v0=0,q=(e[l+4>>2]&-8)-_|0,f=q>>>0<h>>>0,h=f?q:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,v0=90;continue}if(l=e[l+20>>2]|0,l)v0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-_|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&xe(),p=e0+_|0,e0>>>0>=p>>>0&&xe(),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)xe();else{e[h>>2]=0,n0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&xe(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&xe(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,n0=f;break}else xe();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&&xe(),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&&xe(),e[n0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)xe();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)xe();else{e[n0+20>>2]=c,e[c+24>>2]=n0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=_|3,e[e0+(_|4)>>2]=k|1,e[e0+(k+_)>>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?xe():(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+(_+8)>>2]=l0,e[e0+(_+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(K0=(c+1048320|0)>>>16&8,z0=c<<K0,L0=(z0+520192|0)>>>16&4,z0=z0<<L0,l=(z0+245760|0)>>>16&2,l=14-(L0|K0|l)+(z0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(_+28)>>2]=l,e[e0+(_+20)>>2]=0,e[e0+(_+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(_+24)>>2]=c,e[e0+(_+12)>>2]=p,e[e0+(_+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)xe();else{e[f>>2]=p,e[e0+(_+24)>>2]=c,e[e0+(_+12)>>2]=p,e[e0+(_+8)>>2]=p;break x}}else d0=c;while(!1);if(c=d0+8|0,h=e[c>>2]|0,z0=e[5151]|0,h>>>0>=z0>>>0&d0>>>0>=z0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(_+8)>>2]=h,e[e0+(_+12)>>2]=d0,e[e0+(_+24)>>2]=0;break}else xe()}else z0=k+_|0,e[e0+4>>2]=z0|3,z0=e0+(z0+4)|0,e[z0>>2]=e[z0>>2]|1;while(!1);return z0=e0+8|0,z0|0}}}else _=-1;while(!1);if(f=e[5149]|0,f>>>0>=_>>>0)return c=f-_|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+_,e[5149]=c,e[h+(_+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=_|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,z0=h+(f+4)|0,e[z0>>2]=e[z0>>2]|1),z0=h+8|0,z0|0;if(c=e[5150]|0,c>>>0>_>>>0)return K0=c-_|0,e[5150]=K0,z0=e[5153]|0,e[5153]=z0+_,e[z0+(_+4)>>2]=K0|1,e[z0+4>>2]=_|3,z0=z0+8|0,z0|0;do if(!(e[5265]|0))if(c=yu(30)|0,c+-1&c)xe();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(K4(0)|0)&-16^1431655768;break}while(!1);if(w=_+48|0,d=e[5267]|0,p=_+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=_>>>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 z0=0,z0|0;x:do if(e[5258]&4)c=0,v0=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){v0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=Ar(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,q=c,v0=194;break x}}else v0=184;else c=0}else v0=174;while(!1);do if((v0|0)==174)if(l=Ar(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>_>>>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=Ar(h|0)|0,v0=(f|0)==(l|0),c=v0?h:0,v0){t0=l,q=c,v0=194;break x}else v0=184}else c=0;else c=0;while(!1);e:do if((v0|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((Ar(u0|0)|0)==-1){Ar(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){t0=f,q=h,v0=194;break x}}while(!1);e[5258]=e[5258]|4,v0=191}while(!1);if((v0|0)==191&&k>>>0<2147483647&&(g0=Ar(k|0)|0,y0=Ar(0)|0,g0>>>0<y0>>>0&((g0|0)!=-1&(y0|0)!=-1))&&(w0=y0-g0|0,p0=w0>>>0>(_+40|0)>>>0,p0)&&(t0=g0,q=p0?w0:c,v0=194),(v0|0)==194){c=(e[5255]|0)+q|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)){v0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((v0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<t0>>>0&p>>>0>=c>>>0){e[h>>2]=f+q,z0=(e[5150]|0)+q|0,K0=p+8|0,K0=(K0&7|0)==0?0:0-K0&7,L0=z0-K0|0,e[5153]=p+K0,e[5150]=L0,e[p+(K0+4)>>2]=L0|1,e[p+(z0+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+q|0,c=21036;;){if((e[c>>2]|0)==(h|0)){v0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((v0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=t0,r0=c+4|0,e[r0>>2]=(e[r0>>2]|0)+q,r0=t0+8|0,r0=(r0&7|0)==0?0:0-r0&7,i0=t0+(q+8)|0,i0=(i0&7|0)==0?0:0-i0&7,c=t0+(i0+q)|0,x0=r0+_|0,M=t0+x0|0,$=c-(t0+r0)-_|0,e[t0+(r0+4)>>2]=_|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){z0=(e[5149]|0)+$|0,e[5149]=z0,e[5152]=M,e[t0+(x0+4)>>2]=z0|1,e[t0+(z0+x0)>>2]=z0;break}if(p=q+4|0,h=e[t0+(p+i0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[t0+((i0|24)+q)>>2]|0,l=e[t0+(q+12+i0)>>2]|0;do if((l|0)==(c|0)){if(f=i0|16,l=t0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=t0+(f+q)|0,h=e[f>>2]|0,!h){q0=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)xe();else{e[f>>2]=0,q0=h;break}}else if(d=e[t0+((i0|8)+q)>>2]|0,d>>>0<e0>>>0&&xe(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&xe(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,q0=l;break}else xe();while(!1);if(!w)break;h=e[t0+(q+28+i0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&xe(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=q0:e[w+20>>2]=q0,!q0)break t}else{if(e[f>>2]=q0,q0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,q0>>>0<f>>>0&&xe(),e[q0+24>>2]=w,c=i0|16,h=e[t0+(c+q)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[q0+16>>2]=h,e[h+24>>2]=q0;break}while(!1);if(c=e[t0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)xe();else{e[q0+20>>2]=c,e[c+24>>2]=q0;break}}else{f=e[t0+((i0|8)+q)>>2]|0,l=e[t0+(q+12+i0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&xe(),(e[f+12>>2]|0)==(c|0))break;xe()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))k0=l+8|0;else{if(l>>>0<e0>>>0&&xe(),h=l+8|0,(e[h>>2]|0)==(c|0)){k0=h;break}xe()}while(!1);e[f+12>>2]=l,e[k0>>2]=f}while(!1);c=t0+((k|i0)+q)|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,L0=20628+(h+2<<2)|0,K0=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){L0=c,K0=h;break}xe()}while(!1);e[L0>>2]=M,e[K0+12>>2]=M,e[t0+(x0+8)>>2]=K0,e[t0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}L0=(c+1048320|0)>>>16&8,K0=c<<L0,q0=(K0+520192|0)>>>16&4,K0=K0<<q0,l=(K0+245760|0)>>>16&2,l=14-(q0|L0|l)+(K0<<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]=M,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=M,e[t0+(x0+8)>>2]=M;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)){z0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)xe();else{e[f>>2]=M,e[t0+(x0+24)>>2]=c,e[t0+(x0+12)>>2]=M,e[t0+(x0+8)>>2]=M;break e}}else z0=c;while(!1);if(c=z0+8|0,h=e[c>>2]|0,K0=e[5151]|0,h>>>0>=K0>>>0&z0>>>0>=K0>>>0){e[h+12>>2]=M,e[c>>2]=M,e[t0+(x0+8)>>2]=h,e[t0+(x0+12)>>2]=z0,e[t0+(x0+24)>>2]=0;break}else xe()}else z0=(e[5150]|0)+$|0,e[5150]=z0,e[5153]=M,e[t0+(x0+4)>>2]=z0|1;while(!1);return z0=t0+(r0|8)|0,z0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(m0=e[h+4>>2]|0,h0=c+m0|0,h0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(m0+-39)|0,h=c+(m0+-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,z0=q+-40-f|0,e[5153]=t0+f,e[5150]=z0,e[t0+(f+4)>>2]=z0|1,e[t0+(q+-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]=q,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<h0>>>0)do z0=c,c=c+4|0,e[c>>2]=7;while((z0+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?xe():(P0=c,O0=h)):(e[5147]=f|c,P0=20628+(h+2<<2)|0,O0=l),e[P0>>2]=p,e[O0+12>>2]=p,e[p+8>>2]=O0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(K0=(c+1048320|0)>>>16&8,z0=c<<K0,L0=(z0+520192|0)>>>16&4,z0=z0<<L0,l=(z0+245760|0)>>>16&2,l=14-(L0|K0|l)+(z0<<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)){N0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)xe();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else N0=c;while(!1);if(c=N0+8|0,h=e[c>>2]|0,z0=e[5151]|0,h>>>0>=z0>>>0&N0>>>0>=z0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=N0,e[p+24>>2]=0;break}else xe()}}else{z0=e[5151]|0,(z0|0)==0|t0>>>0<z0>>>0&&(e[5151]=t0),e[5259]=t0,e[5260]=q,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do z0=c<<1,K0=20628+(z0<<2)|0,e[20628+(z0+3<<2)>>2]=K0,e[20628+(z0+2<<2)>>2]=K0,c=c+1|0;while((c|0)!=32);z0=t0+8|0,z0=(z0&7|0)==0?0:0-z0&7,K0=q+-40-z0|0,e[5153]=t0+z0,e[5150]=K0,e[t0+(z0+4)>>2]=K0|1,e[t0+(q+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>_>>>0)return K0=c-_|0,e[5150]=K0,z0=e[5153]|0,e[5153]=z0+_,e[z0+(_+4)>>2]=K0|1,e[z0+4>>2]=_|3,z0=z0+8|0,z0|0}return e[5135]|0?c=e[(Zo()|0)+60>>2]|0:c=20584,e[c>>2]=12,z0=0,z0|0}function Vg(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,i0=0,$=0,x0=0,r0=0,_=0,M=0,q=0,t0=0,n0=0,f0=0,l0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&xe(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&xe(),_=f&-8,q=c+(_+-8)|0;do if(f&1)l0=h,w=_;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+_|0,$>>>0<k>>>0&&xe(),($|0)==(e[5152]|0)){if(h=c+(_+-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[q>>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&&xe(),(e[l+12>>2]|0)!=($|0)&&xe()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),l0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&xe(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:xe()):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)){i0=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)xe();else{e[f>>2]=0,i0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&xe(),h=d+12|0,(e[h>>2]|0)!=($|0)&&xe(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,i0=l;break}else xe();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]=i0,!i0){e[5148]=e[5148]&~(1<<h),l0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&xe(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=i0:e[p+20>>2]=i0,!i0){l0=$,w=x0;break}f=e[5151]|0,i0>>>0<f>>>0&&xe(),e[i0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[i0+16>>2]=h,e[h+24>>2]=i0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)xe();else{e[i0+20>>2]=h,e[h+24>>2]=i0,l0=$,w=x0;break}else l0=$,w=x0}else l0=$,w=x0}while(!1);if(l0>>>0>=q>>>0&&xe(),h=c+(_+-4)|0,f=e[h>>2]|0,f&1||xe(),f&2)e[h>>2]=f&-2,e[l0+4>>2]=w|1,e[l0+w>>2]=w;else{if((q|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((q|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+(_+16)>>2]|0,h=e[c+(_|4)>>2]|0;do if((h|0)==(q|0)){if(f=c+(_+12)|0,h=e[f>>2]|0,!h&&(f=c+(_+8)|0,h=e[f>>2]|0,!h)){M=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)xe();else{e[f>>2]=0,M=h;break}}else if(f=e[c+_>>2]|0,f>>>0<(e[5151]|0)>>>0&&xe(),l=f+12|0,(e[l>>2]|0)!=(q|0)&&xe(),d=h+8|0,(e[d>>2]|0)==(q|0)){e[l>>2]=h,e[d>>2]=f,M=h;break}else xe();while(!1);if(p){if(h=e[c+(_+20)>>2]|0,f=20892+(h<<2)|0,(q|0)==(e[f>>2]|0)){if(e[f>>2]=M,!M){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&xe(),h=p+16|0,(e[h>>2]|0)==(q|0)?e[h>>2]=M:e[p+20>>2]=M,!M)break;f=e[5151]|0,M>>>0<f>>>0&&xe(),e[M+24>>2]=p,h=e[c+(_+8)>>2]|0;do if(h)if(h>>>0<f>>>0)xe();else{e[M+16>>2]=h,e[h+24>>2]=M;break}while(!1);if(h=e[c+(_+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)xe();else{e[M+20>>2]=h,e[h+24>>2]=M;break}}}else{if(l=e[c+_>>2]|0,f=e[c+(_|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&xe(),(e[l+12>>2]|0)!=(q|0)&&xe()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&xe(),h=f+8|0,(e[h>>2]|0)==(q|0)?r0=h:xe()):r0=f+8|0,e[l+12>>2]=f,e[r0>>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?xe():(t0=h,n0=f)):(e[5147]=l|h,t0=20628+(f+2<<2)|0,n0=d),e[t0>>2]=l0,e[n0+12>>2]=l0,e[l0+8>>2]=n0,e[l0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(t0=(h+1048320|0)>>>16&8,n0=h<<t0,q=(n0+520192|0)>>>16&4,n0=n0<<q,d=(n0+245760|0)>>>16&2,d=14-(q|t0|d)+(n0<<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)xe();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,n0=e[5151]|0,f>>>0>=n0>>>0&f0>>>0>=n0>>>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 xe()}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 Iq(){}function Mt(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,S0=l,c-f>>>0|0|0}function Hx(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 wx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(S0=0,h>>>f-32|0)}function Sx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(S0=c<<f-32,0)}function Zx(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return X4(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 Ou(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,S0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function Pu(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 Zx(c,h,f)|0;return c|0}function Xu0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(S0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(S0=(h|0)<0?-1:0,h>>f-32|0)}function Qg(c){c=c|0;var h=0;return h=n[R0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[R0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[R0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[R0+(c>>>24)>>0]|0)+24|0))}function Tq(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=ex(d,w)|0,l=c>>>16,c=(f>>>16)+(ex(d,l)|0)|0,d=h>>>16,h=ex(d,w)|0,S0=(c>>>16)+(ex(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function Ju0(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,i0=0;return i0=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=Mt(i0^c,e0^h,i0,e0)|0,p=S0,c=w^i0,h=d^e0,Mt((Bu(k,p,Mt(w^f,d^l,w,d)|0,S0,0)|0)^c,S0^h,c,h)|0}function Zu0(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,i0=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,i0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=Mt(p^c,w^h,p,w)|0,h=S0,Bu(c,h,Mt(i0^f,e0^l,i0,e0)|0,S0,k)|0,l=Mt(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=S0,c0=d,S0=f,l|0}function ye(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=Tq(d,w)|0,c=S0,S0=(ex(h,w)|0)+(ex(l,d)|0)+c|c&0,f|0|0|0}function $u0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,Bu(c,h,f,l,0)|0}function xf0(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,Bu(c,h,f,l,d)|0,c0=w,S0=e[d+4>>2]|0,e[d>>2]|0|0}function Bu(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,i0=0,$=0,x0=0,r0=0,_=0,M=0;if($=c,e0=h,i0=e0,p=f,r0=l,k=r0,!i0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,r0=0,d=0,S0=r0,d|0):(r0=0,d=0,S0=r0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),r0=0,d=($>>>0)/(p>>>0)>>>0,S0=r0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Dx(k|0)|0)-(Dx(i0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|i0<<k,h=i0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,r0=0,d=0,S0=r0,d|0):(r0=0,d=0,S0=r0,d|0)}if(w=p-1|0,w&p){k=(Dx(p|0)|0)+33-(Dx(i0|0)|0)|0,M=64-k|0,x0=32-k|0,e0=x0>>31,_=k-32|0,h=_>>31,p=k,c=x0-1>>31&i0>>>(_>>>0)|(i0<<x0|$>>>(k>>>0))&h,h=h&i0>>>(k>>>0),w=$<<M&e0,k=(i0<<M|$>>>(_>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(_=e0|h&0,M=c|0|0,S0=_,M|0):(M=Qg(p|0)|0,_=i0>>>(M>>>0)|0,M=i0<<32-M|$>>>(M>>>0)|0,S0=_,M|0)}else{if(w)return d&&(e[d>>2]=(i0>>>0)%(p>>>0),e[d+4>>2]=0),_=0,M=(i0>>>0)/(p>>>0)>>>0,S0=_,M|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(i0>>>0)%(k>>>0)),_=0,M=(i0>>>0)/(k>>>0)>>>0,S0=_,M|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&i0|h&0),_=0,M=i0>>>((Qg(k|0)|0)>>>0),S0=_,M|0;if(w=(Dx(k|0)|0)-(Dx(i0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=i0<<k|$>>>(h>>>0),h=i0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,_=0,M=0,S0=_,M|0):(_=0,M=0,S0=_,M|0)}while(!1);if(!p)i0=k,e0=0,k=0;else{x0=f|0|0,$=r0|l&0,i0=Ou(x0|0,$|0,-1,-1)|0,f=S0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,r0=c>>>31|h<<1|0,Mt(i0,f,l,r0)|0,M=S0,_=M>>31|((M|0)<0?-1:0)<<1,k=_&1,c=Mt(l,r0,_&x0,(((M|0)<0?-1:0)>>31|((M|0)<0?-1:0)<<1)&$)|0,h=S0,p=p-1|0;while((p|0)!=0);i0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),_=(w|0)>>>31|(i0|p)<<1|(p<<1|w>>>31)&0|e0,M=(w<<1|0)&-2|k,S0=_,M|0}function Rq(c,h,f){c=c|0,h=h|0,f=f|0,yx[c&1](h|0,f|0)}function _q(c,h,f){return c=c|0,h=h|0,f=f|0,Px[c&1](h|0,f|0)|0}function Nq(c,h){c=c|0,h=h|0,it(0)}function Mq(c,h){return c=c|0,h=h|0,it(1),0}var yx=[Nq,Bq],Px=[Mq,Ng];return{_i64Subtract:Mt,_free:Vg,_i64Add:Ou,_memmove:Pu,_memset:Hx,_malloc:al,_encode:Dq,_memcpy:Zx,_bitshift64Lshr:wx,_bitshift64Shl:Sx,runPostSets:Iq,stackAlloc:hq,stackSave:pq,stackRestore:bq,establishStackSpace:gq,setThrew:mq,setTempRet0:wq,getTempRet0:yq,dynCall_vii:Rq,dynCall_iii:_q}}(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()+`
|
|
215
|
+
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 nU=T0((im0,iU)=>{var R2=rU();iU.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=R2._malloc(i.length);R2.HEAPU8.set(i,e);var s=R2._malloc(i.length+1024),j=R2._encode(a,o,n,i.length,e,i.length,s),o0=null;return j!==-1&&(o0=new Uint8Array(j),o0.set(R2.HEAPU8.subarray(s,s+j))),R2._free(e),R2._free(s),o0}});var aU=T0(Wb=>{Wb.compress=nU();Wb.decompress=zb().BrotliDecompressBuffer});var XU=T0((rw0,Si)=>{var L6=require("fs"),ig=require("os"),Jt=require("path"),_U=require("crypto"),xi={fs:L6.constants,os:ig.constants},NU="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",LU=/XXXXXX/,lu0=3,UU=(xi.O_CREAT||xi.fs.O_CREAT)|(xi.O_EXCL||xi.fs.O_EXCL)|(xi.O_RDWR||xi.fs.O_RDWR),hu0=ig.platform()==="win32",pu0=xi.EBADF||xi.os.errno.EBADF,bu0=xi.ENOENT||xi.os.errno.ENOENT,qU=448,HU=384,gu0="exit",zo=[],GU=L6.rmdirSync.bind(L6),jU=!1;function mu0(i,r){return L6.rm(i,{recursive:!0},r)}function VU(i){return L6.rmSync(i,{recursive:!0})}function ng(i,r){let a=Yo(i,r),n=a[0],o=a[1];try{YU(n)}catch(s){return o(s)}let e=n.tries;(function s(){try{let j=zU(n);L6.stat(j,function(o0){if(!o0)return e-- >0?s():o(new Error("Could not get a unique tmp filename, max tries reached "+j));o(null,j)})}catch(j){o(j)}})()}function ag(i){let r=Yo(i),a=r[0];YU(a);let n=a.tries;do{let o=zU(a);try{L6.statSync(o)}catch{return o}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function wu0(i,r){let a=Yo(i,r),n=a[0],o=a[1];ng(n,function(s,j){if(s)return o(s);L6.open(j,UU,n.mode||HU,function(a0,s0){if(a0)return o(a0);if(n.discardDescriptor)return L6.close(s0,function(A0){return o(A0,j,void 0,eg(j,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,j,s0,eg(j,c0?-1:s0,n,!1))}})})}function yu0(i){let r=Yo(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=ag(a);var e=L6.openSync(o,UU,a.mode||HU);return a.discardDescriptor&&(L6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:eg(o,n?-1:e,a,!0)}}function Du0(i,r){let a=Yo(i,r),n=a[0],o=a[1];ng(n,function(s,j){if(s)return o(s);L6.mkdir(j,n.mode||qU,function(a0){if(a0)return o(a0);o(null,j,QU(j,n,!1))})})}function vu0(i){let r=Yo(i),a=r[0],n=ag(a);return L6.mkdirSync(n,a.mode||qU),{name:n,removeCallback:QU(n,a,!0)}}function Au0(i,r){let a=function(n){if(n&&!rg(n))return r(n);r()};0<=i[0]?L6.close(i[0],function(){L6.unlink(i[1],a)}):L6.unlink(i[1],a)}function Eu0(i){let r=null;try{0<=i[0]&&L6.closeSync(i[0])}catch(a){if(!Su0(a)&&!rg(a))throw a}finally{try{L6.unlinkSync(i[1])}catch(a){rg(a)||(r=a)}}if(r!==null)throw r}function eg(i,r,a,n){let o=G4(Eu0,[r,i],n),e=G4(Au0,[r,i],n,o);return a.keep||zo.unshift(o),n?o:e}function QU(i,r,a){let n=r.unsafeCleanup?mu0:L6.rmdir.bind(L6),o=r.unsafeCleanup?VU:GU,e=G4(o,i,a),s=G4(n,i,a,e);return r.keep||zo.unshift(e),a?e:s}function G4(i,r,a,n){let o=!1;return function e(s){if(!o){let j=n||e,o0=zo.indexOf(j);return o0>=0&&zo.splice(o0,1),o=!0,a||i===GU||i===VU?i(r):i(r,s||function(){})}}}function Cu0(){if(jU)for(;zo.length;)try{zo[0]()}catch{}}function MU(i){let r=[],a=null;try{a=_U.randomBytes(i)}catch{a=_U.pseudoRandomBytes(i)}for(var n=0;n<i;n++)r.push(NU[a[n]%NU.length]);return r.join("")}function ku0(i){return i===null||Nt(i)||!i.trim()}function Nt(i){return typeof i>"u"}function Yo(i,r){if(typeof i=="function")return[{},i];if(Nt(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function zU(i){let r=i.tmpdir;if(!Nt(i.name))return Jt.join(r,i.dir,i.name);if(!Nt(i.template))return Jt.join(r,i.dir,i.template).replace(LU,MU(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",MU(12),i.postfix?"-"+i.postfix:""].join("");return Jt.join(r,i.dir,a)}function YU(i){i.tmpdir=KU(i);let r=i.tmpdir;if(Nt(i.name)||xg(i.name,"name",r),Nt(i.dir)||xg(i.dir,"dir",r),!Nt(i.template)&&(xg(i.template,"template",r),!i.template.match(LU)))throw new Error(`Invalid template, found "${i.template}".`);if(!Nt(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=Nt(i.name)?i.tries||lu0:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.dir=Nt(i.dir)?"":Jt.relative(r,tg(i.dir,r)),i.template=Nt(i.template)?void 0:Jt.relative(r,tg(i.template,r)),i.template=ku0(i.template)?void 0:Jt.relative(i.dir,i.template),i.name=Nt(i.name)?void 0:i.name,i.prefix=Nt(i.prefix)?"":i.prefix,i.postfix=Nt(i.postfix)?"":i.postfix}function tg(i,r){return i.startsWith(r)?Jt.resolve(i):Jt.resolve(Jt.join(r,i))}function xg(i,r,a){if(r==="name"){if(Jt.isAbsolute(i))throw new Error(`${r} option must not contain an absolute path, found "${i}".`);let n=Jt.basename(i);if(n===".."||n==="."||n!==i)throw new Error(`${r} option must not contain a path, found "${i}".`)}else{if(Jt.isAbsolute(i)&&!i.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${i}".`);let n=tg(i,a);if(!n.startsWith(a))throw new Error(`${r} option must be relative to "${a}", found "${n}".`)}}function Su0(i){return WU(i,-pu0,"EBADF")}function rg(i){return WU(i,-bu0,"ENOENT")}function WU(i,r,a){return hu0?i.code===a:i.code===a&&i.errno===r}function Fu0(){jU=!0}function KU(i){return Jt.resolve(i&&i.tmpdir||ig.tmpdir())}process.addListener(gu0,Cu0);Object.defineProperty(Si.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return KU()}});Si.exports.dir=Du0;Si.exports.dirSync=vu0;Si.exports.file=wu0;Si.exports.fileSync=yu0;Si.exports.tmpName=ng;Si.exports.tmpNameSync=ag;Si.exports.setGracefulCleanup=Fu0});var nm=Oe(im(),1),{program:bx,createCommand:cf0,createArgument:uf0,createOption:ff0,CommanderError:df0,InvalidArgumentError:lf0,InvalidOptionArgumentError:hf0,Command:pf0,Argument:bf0,Option:gf0,Help:mf0}=nm.default;var hr={name:"@capgo/cli",version:"7.1.20",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"],main:"dist/index.js",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",test:"npx --yes ts-node -T src/index.ts","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",test_rls:"ts-node ./test/test_headers_rls.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js"},devDependencies:{"@antfu/eslint-config":"^4.3.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.0","@capacitor/cli":"^7.0.1","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.10.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver","@supabase/supabase-js":"^2.49.1","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^22.13.8","@types/prettyjson":"^0.0.33","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.3","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.1.0",commander:"^13.1.0",esbuild:"^0.25.0",eslint:"9.22.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.0",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.1",tmp:"^0.2.3","ts-loader":"^9.5.2","ts-node":"^10.9.2","tsconfig-paths":"4.2.0","tus-js-client":"^4.3.1",typescript:"^5.8.2"}};var Oo=require("node:fs"),mM=require("node:process");var at=Oe(n6(),1),V2=require("node:process"),Bi=Oe(require("node:readline"),1),Pl=Oe(require("node:readline"),1),bm=require("node:tty"),gm=Oe(Sl(),1);function fH({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 dH=fH();function mm(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(dH,"")}function wm(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var ym={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="",j=0,o0=a(n),a0=0;a0<o0.length;a0++){var s0=o0[a0],c0=r.length(s0);if(j>=o-(c0==2?1:0))if(j+c0<=e)s+=s0;else break;j+=c0}return s}})(ym);var lH=ym.exports,hH=wm(lH),pH=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},bH=wm(pH);function e7(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=mm(i),i.length===0))return 0;i=i.replace(bH()," ");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(hH.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var Fl=10,cm=(i=0)=>r=>`\x1B[${r+i}m`,um=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,fm=(i=0)=>(r,a,n)=>`\x1B[${38+i};2;${r};${a};${n}m`,f6={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(f6.modifier);var gH=Object.keys(f6.color),mH=Object.keys(f6.bgColor);[...gH,...mH];function wH(){let i=new Map;for(let[r,a]of Object.entries(f6)){for(let[n,o]of Object.entries(a))f6[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},a[n]=f6[n],i.set(o[0],o[1]);Object.defineProperty(f6,r,{value:a,enumerable:!1})}return Object.defineProperty(f6,"codes",{value:i,enumerable:!1}),f6.color.close="\x1B[39m",f6.bgColor.close="\x1B[49m",f6.color.ansi=cm(),f6.color.ansi256=um(),f6.color.ansi16m=fm(),f6.bgColor.ansi=cm(Fl),f6.bgColor.ansi256=um(Fl),f6.bgColor.ansi16m=fm(Fl),Object.defineProperties(f6,{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=>f6.rgbToAnsi256(...f6.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 j=r%36;a=Math.floor(r/36)/5,n=Math.floor(j/6)/5,o=j%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)=>f6.ansi256ToAnsi(f6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>f6.ansi256ToAnsi(f6.hexToAnsi256(r)),enumerable:!1}}),f6}var yH=wH(),ju=new Set(["\x1B","\x9B"]),DH=39,Il="\x07",Dm="[",vH="]",vm="m",Tl=`${vH}8;;`,dm=i=>`${ju.values().next().value}${Dm}${i}${vm}`,lm=i=>`${ju.values().next().value}${Tl}${i}${Il}`,AH=i=>i.split(" ").map(r=>e7(r)),Ol=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=e7(mm(i[i.length-1]));for(let[j,o0]of n.entries()){let a0=e7(o0);if(s+a0<=a?i[i.length-1]+=o0:(i.push(o0),s=0),ju.has(o0)&&(o=!0,e=n.slice(j+1).join("").startsWith(Tl)),o){e?o0===Il&&(o=!1,e=!1):o0===vm&&(o=!1);continue}s+=a0,s===a&&j<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},EH=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("")},CH=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=AH(i),j=[""];for(let[a0,s0]of i.split(" ").entries()){a.trim!==!1&&(j[j.length-1]=j[j.length-1].trimStart());let c0=e7(j[j.length-1]);if(a0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(j.push(""),c0=0),(c0>0||a.trim===!1)&&(j[j.length-1]+=" ",c0++)),a.hard&&s[a0]>r){let A0=r-c0,b0=1+Math.floor((s[a0]-A0-1)/r);Math.floor((s[a0]-1)/r)<b0&&j.push(""),Ol(j,s0,r);continue}if(c0+s[a0]>r&&c0>0&&s[a0]>0){if(a.wordWrap===!1&&c0<r){Ol(j,s0,r);continue}j.push("")}if(c0+s[a0]>r&&a.wordWrap===!1){Ol(j,s0,r);continue}j[j.length-1]+=s0}a.trim!==!1&&(j=j.map(a0=>EH(a0)));let o0=[...j.join(`
|
|
216
216
|
`)];for(let[a0,s0]of o0.entries()){if(n+=s0,ju.has(s0)){let{groups:A0}=new RegExp(`(?:\\${Dm}(?<code>\\d+)m|\\${Tl}(?<uri>.*)${Il})`).exec(o0.slice(a0).join(""))||{groups:{}};if(A0.code!==void 0){let b0=Number.parseFloat(A0.code);o=b0===DH?void 0:b0}else A0.uri!==void 0&&(e=A0.uri.length===0?void 0:A0.uri)}let c0=yH.codes.get(Number(o));o0[a0+1]===`
|
|
217
217
|
`?(e&&(n+=lm("")),o&&c0&&(n+=dm(c0))):s0===`
|
|
218
218
|
`&&(o&&c0&&(n+=dm(o)),e&&(n+=lm(e)))}return n};function hm(i,r,a){return String(i).normalize().replace(/\r\n/g,`
|
|
@@ -269,13 +269,13 @@ Trial expires in ${j} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
|
269
269
|
Upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
270
270
|
`),Yd(100),Promise.resolve().then(()=>(Bp(),Pp)).then(a0=>{a0.default(`${e.hostWeb}/dashboard/settings/plans`)}),Yd(500),bx.error(""));let[j,o0]=await Promise.all([v_(i,r),D_(i,r)]);j>0&&o&&!o0&&E0.warn(`WARNING !!
|
|
271
271
|
Trial expires in ${j} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
|
|
272
|
-
`)}function qe(i=!1){let r=(0,Wd.homedir)(),a,n=`${r}/.capgo`;return(0,P6.existsSync)(n)&&(i||E0.info(`Use global API key ${n}`),a=(0,P6.readFileSync)(n,"utf8").trim()),n=".capgo",!a&&(0,P6.existsSync)(n)&&(i||E0.info(`Use local API key ${n}`),a=(0,P6.readFileSync)(n,"utf8").trim()),a||(E0.error(`Cannot find API key in local folder or global, please login first with ${_t().runner} @capacitor/cli login`),bx.error("")),a}async function*_p(i){let r=await(0,P6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,O6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*_p(n):yield n}}function go(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 Np(){let i=(0,et.cwd)(),r=!1,a=(0,O6.resolve)(i,"tsconfig.json");(0,P6.existsSync)(a)&&(r=!0);for await(let n of _p(i)){if(n.includes("angular.json"))return E0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return E0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return E0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return E0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return E0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return E0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(Wt)){let o=(0,O6.dirname)(n),e=await yt(o);if(e){if(e.get("react"))return E0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return E0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function k_(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 S_(i){return i==="angular"?(E0.info("Angular project detected"),"build"):i==="nuxtjs"?(E0.info("Nuxtjs project detected"),"generate"):i==="nextjs"?(E0.info("Nextjs project detected"),E0.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"),E0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await a6({message:"Do you want to continue?"})||(E0.error("Aborted"),bx.error("")),"build"):(i==="sveltekit"&&(E0.info("Sveltekit project detected"),E0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),E0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await a6({message:"Do you want to continue?"})||(E0.error("Aborted"),bx.error(""))),"build")}async function F_(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,et.cwd)(),n=a.split("/").length;for await(let o of _p(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,E0.info(`Found main file here ${o}`);break}return r}async function Mp(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 O_(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("private/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof ho.FunctionsHttpError){let s=await e.error.context.json();E0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else E0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){E0.error(`Cannot get upload url ${Ee(o)}`)}return""}async function*P_(i){let r=(0,P6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,O6.join)(i,a.name);a.isDirectory()?yield*P_(n):yield n}}async function B_(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 P_(i)){if(a.some(j=>n.includes(j))){E0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,P6.readFileSync)(n);if(o.length===0){E0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,d_.checksum)(o,"sha256"),s=(0,O6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function $d(i){return(0,Wd.platform)()==="win32"?bo0(i):po0(i)}function po0(i){let r=new Tp.default;return r.addLocalFolder(i),r.toBuffer()}async function bo0(i){E0.info("Zipping file windows mode");let r=new Tp.default,a=(n,o)=>{let e=(0,P6.readdirSync)(n);for(let s of e){let j=(0,O6.join)(n,s),o0=(0,P6.statSync)(j);if(o0.isFile()){let a0=(0,P6.readFileSync)(j);r.addFile((0,O6.join)(o,s).split(O6.sep).join("/"),a0)}else o0.isDirectory()&&a(j,(0,O6.join)(o,s))}};return a(i,""),r.toBuffer()}async function I_(i,r,a,n,o,e,s,j){return new Promise((o0,a0)=>{t6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new Kd.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:j,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(E0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof Kd.DetailedError){let A0=c0.originalResponse?.getBody(),b0=JSON.parse(A0||'{"error": "unknown error"}');a0(b0.status||b0.error||b0.message||"unknown error")}else a0(c0.message||c0.toString()||"unknown error")},onProgress(c0,A0){let b0=(c0/A0*100).toFixed(2);e.message(`Uploaded ${b0}%`)},async onSuccess(){await t6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),o0(!0)}}).start()})}async function T_(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 ho.FunctionsHttpError){let s=await e.error.context.json();E0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else E0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof ho.FunctionsHttpError){let e=await o.context.json();E0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else E0.error(`Cannot delete failed version: ${Ee(o)}`)}}async function x4(i,r){if(!r.app_id||!r.name||!r.created_by)return E0.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 t6(i,r){try{let a=await Jd(),n=await Hi.post(`${a.host}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();n.error&&E0.error(`Failed to send LogSnag event: ${n.error}`)}catch{}}async function mo(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");a&&(E0.error("Cannot get the list of organizations - exiting"),E0.error(`Error ${JSON.stringify(a)}`),bx.error(""));let o=n.filter(o0=>!!r.find(a0=>a0===o0.role));o.length===0&&(E0.error(`Could not get organization with roles: ${r.join(" or ")} because the user does not have any org`),bx.error(""));let e=o.length>1?await Dn({message:"Please pick the organization that you want to insert to",options:o.map(o0=>({value:o0.gid,label:o0.name}))}):o[0].gid;U6(e)&&(E0.error("Canceled organization selection, exiting"),bx.error(""));let s=e,j=n.find(o0=>o0.gid===s);return E0.info(`Using the organization "${j.name}" as the app owner`),j}var p2=i=>i.replace(/\./g,"--");async function He(i,r,a=["all"]){await do0(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();return(!e||o)&&(E0.error("Cannot auth user with apikey"),bx.error("")),e}async function ur(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();return(!a||n)&&(E0.error(`Cannot get organization id for app id ${r}`),Ee(n),bx.error("")),a.owner_org}function wo(i){return new Date(i||"").toLocaleString()}var f_=!1,lo="npm",zc="install",Ip="npx";function _t(){if(f_)return{pm:lo,command:zc,installCommand:`${lo} ${zc}`,runner:Ip};let i=Kt((0,et.cwd)());return lo=i7(i,"npm"),zc=Wu(lo),f_=!0,Ip=km(i),{pm:lo,command:zc,installCommand:`${lo} ${zc}`,runner:Ip}}function R_(i){return(0,P6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,O6.join)(i,n.name);return n.isDirectory()?R_(o):o.split(`node_modules${O6.sep}`)[1]||o})}async function Lp(i,r){let a=r?r.split(","):[],n;try{n=await yt("",i)}catch(s0){E0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",s0),bx.error("")}let o=i?.split(",")[0],e=o?O6.default.resolve(o).replace(Wt,""):Kt((0,et.cwd)());n||(E0.error("Missing dependencies section in package.json"),bx.error(""));for(let[s0,c0]of Object.entries(n))typeof c0!="string"&&(E0.error(`Invalid dependency ${s0}: ${c0}, expected string, got ${typeof c0}`),bx.error(""));let s=a.length===0?[(0,O6.join)((0,et.cwd)(),"node_modules")]:a;if(!s.some(s0=>(0,P6.existsSync)(s0))){let s0=i7(e,"npm"),c0=Wu(s0);E0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${s0} ${c0}`),bx.error("")}let o0=!1,a0=await Promise.all(Array.from(n.entries()).map(async([s0,c0])=>{let A0=!1,b0=!1;for(let C0 of s){let R0=(0,O6.join)(C0,s0);if((0,P6.existsSync)(R0)){A0=!0;try{if(R_(R0).some(U0=>fo0.test(U0))){b0=!0;break}}catch(I0){E0.error(`Error reading node_modules files for ${s0} package in ${C0}`),console.error(I0),bx.error("")}}}if(!A0){o0=!0;let C0=i7(e,"npm"),R0=Wu(C0);return E0.error(`Missing dependency ${s0}, please run ${C0} ${R0}`),{name:s0,version:c0}}return{name:s0,version:c0,native:b0}})).catch(()=>[]);return(o0||a0.find(s0=>s0.native===void 0))&&(E0.error("Missing dependencies or invalid dependencies"),E0.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"),bx.error("")),a0}async function go0(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}async function mo0(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
|
|
272
|
+
`)}function He(i=!1){let r=(0,Wd.homedir)(),a,n=`${r}/.capgo`;return(0,P6.existsSync)(n)&&(i||E0.info(`Use global API key ${n}`),a=(0,P6.readFileSync)(n,"utf8").trim()),n=".capgo",!a&&(0,P6.existsSync)(n)&&(i||E0.info(`Use local API key ${n}`),a=(0,P6.readFileSync)(n,"utf8").trim()),a||(E0.error(`Cannot find API key in local folder or global, please login first with ${_t().runner} @capacitor/cli login`),bx.error("")),a}async function*_p(i){let r=await(0,P6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,O6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*_p(n):yield n}}function go(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 Np(){let i=(0,et.cwd)(),r=!1,a=(0,O6.resolve)(i,"tsconfig.json");(0,P6.existsSync)(a)&&(r=!0);for await(let n of _p(i)){if(n.includes("angular.json"))return E0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return E0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return E0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return E0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return E0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return E0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(Wt)){let o=(0,O6.dirname)(n),e=await yt(o);if(e){if(e.get("react"))return E0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return E0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function k_(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 S_(i){return i==="angular"?(E0.info("Angular project detected"),"build"):i==="nuxtjs"?(E0.info("Nuxtjs project detected"),"generate"):i==="nextjs"?(E0.info("Nextjs project detected"),E0.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"),E0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await a6({message:"Do you want to continue?"})||(E0.error("Aborted"),bx.error("")),"build"):(i==="sveltekit"&&(E0.info("Sveltekit project detected"),E0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),E0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await a6({message:"Do you want to continue?"})||(E0.error("Aborted"),bx.error(""))),"build")}async function F_(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,et.cwd)(),n=a.split("/").length;for await(let o of _p(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,E0.info(`Found main file here ${o}`);break}return r}async function Mp(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 O_(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("private/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof ho.FunctionsHttpError){let s=await e.error.context.json();E0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else E0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){E0.error(`Cannot get upload url ${Ee(o)}`)}return""}async function*P_(i){let r=(0,P6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,O6.join)(i,a.name);a.isDirectory()?yield*P_(n):yield n}}async function B_(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 P_(i)){if(a.some(j=>n.includes(j))){E0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,P6.readFileSync)(n);if(o.length===0){E0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,d_.checksum)(o,"sha256"),s=(0,O6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function $d(i){return(0,Wd.platform)()==="win32"?bo0(i):po0(i)}function po0(i){let r=new Tp.default;return r.addLocalFolder(i),r.toBuffer()}async function bo0(i){E0.info("Zipping file windows mode");let r=new Tp.default,a=(n,o)=>{let e=(0,P6.readdirSync)(n);for(let s of e){let j=(0,O6.join)(n,s),o0=(0,P6.statSync)(j);if(o0.isFile()){let a0=(0,P6.readFileSync)(j);r.addFile((0,O6.join)(o,s).split(O6.sep).join("/"),a0)}else o0.isDirectory()&&a(j,(0,O6.join)(o,s))}};return a(i,""),r.toBuffer()}async function I_(i,r,a,n,o,e,s,j){return new Promise((o0,a0)=>{t6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new Kd.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:j,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(E0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof Kd.DetailedError){let A0=c0.originalResponse?.getBody(),b0=JSON.parse(A0||'{"error": "unknown error"}');a0(b0.status||b0.error||b0.message||"unknown error")}else a0(c0.message||c0.toString()||"unknown error")},onProgress(c0,A0){let b0=(c0/A0*100).toFixed(2);e.message(`Uploaded ${b0}%`)},async onSuccess(){await t6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),o0(!0)}}).start()})}async function T_(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 ho.FunctionsHttpError){let s=await e.error.context.json();E0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else E0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof ho.FunctionsHttpError){let e=await o.context.json();E0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else E0.error(`Cannot delete failed version: ${Ee(o)}`)}}async function x4(i,r){if(!r.app_id||!r.name||!r.created_by)return E0.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 t6(i,r){try{let a=await Jd(),n=await Hi.post(`${a.host}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();n.error&&E0.error(`Failed to send LogSnag event: ${n.error}`)}catch{}}async function mo(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");a&&(E0.error("Cannot get the list of organizations - exiting"),E0.error(`Error ${JSON.stringify(a)}`),bx.error(""));let o=n.filter(o0=>!!r.find(a0=>a0===o0.role));o.length===0&&(E0.error(`Could not get organization with roles: ${r.join(" or ")} because the user does not have any org`),bx.error(""));let e=o.length>1?await Dn({message:"Please pick the organization that you want to insert to",options:o.map(o0=>({value:o0.gid,label:o0.name}))}):o[0].gid;U6(e)&&(E0.error("Canceled organization selection, exiting"),bx.error(""));let s=e,j=n.find(o0=>o0.gid===s);return E0.info(`Using the organization "${j.name}" as the app owner`),j}var p2=i=>i.replace(/\./g,"--");async function Ue(i,r,a=["all"]){await do0(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();return(!e||o)&&(E0.error("Cannot auth user with apikey"),bx.error("")),e}async function ur(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();return(!a||n)&&(E0.error(`Cannot get organization id for app id ${r}`),Ee(n),bx.error("")),a.owner_org}function wo(i){return new Date(i||"").toLocaleString()}var f_=!1,lo="npm",zc="install",Ip="npx";function _t(){if(f_)return{pm:lo,command:zc,installCommand:`${lo} ${zc}`,runner:Ip};let i=Kt((0,et.cwd)());return lo=i7(i,"npm"),zc=Wu(lo),f_=!0,Ip=km(i),{pm:lo,command:zc,installCommand:`${lo} ${zc}`,runner:Ip}}function R_(i){return(0,P6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,O6.join)(i,n.name);return n.isDirectory()?R_(o):o.split(`node_modules${O6.sep}`)[1]||o})}async function Lp(i,r){let a=r?r.split(","):[],n;try{n=await yt("",i)}catch(s0){E0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",s0),bx.error("")}let o=i?.split(",")[0],e=o?O6.default.resolve(o).replace(Wt,""):Kt((0,et.cwd)());n||(E0.error("Missing dependencies section in package.json"),bx.error(""));for(let[s0,c0]of Object.entries(n))typeof c0!="string"&&(E0.error(`Invalid dependency ${s0}: ${c0}, expected string, got ${typeof c0}`),bx.error(""));let s=a.length===0?[(0,O6.join)((0,et.cwd)(),"node_modules")]:a;if(!s.some(s0=>(0,P6.existsSync)(s0))){let s0=i7(e,"npm"),c0=Wu(s0);E0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${s0} ${c0}`),bx.error("")}let o0=!1,a0=await Promise.all(Array.from(n.entries()).map(async([s0,c0])=>{let A0=!1,b0=!1;for(let C0 of s){let R0=(0,O6.join)(C0,s0);if((0,P6.existsSync)(R0)){A0=!0;try{if(R_(R0).some(U0=>fo0.test(U0))){b0=!0;break}}catch(I0){E0.error(`Error reading node_modules files for ${s0} package in ${C0}`),console.error(I0),bx.error("")}}}if(!A0){o0=!0;let C0=i7(e,"npm"),R0=Wu(C0);return E0.error(`Missing dependency ${s0}, please run ${C0} ${R0}`),{name:s0,version:c0}}return{name:s0,version:c0,native:b0}})).catch(()=>[]);return(o0||a0.find(s0=>s0.native===void 0))&&(E0.error("Missing dependencies or invalid dependencies"),E0.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"),bx.error("")),a0}async function go0(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}async function mo0(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
|
|
273
273
|
native_packages
|
|
274
274
|
)`).eq("name",a).eq("app_id",r).single();o&&(E0.error(`Error fetching native packages: ${o.message}`),bx.error(""));let e;try{e=n.version.native_packages}catch{E0.error("Error parsing native packages"),bx.error("")}return e||(E0.error("Error parsing native packages, perhaps the metadata does not exist?"),bx.error("")),e.forEach(j=>{typeof j!="object"&&(E0.error(`Invalid remote native package data: ${j}, expected object, got ${typeof j}`),bx.error(""));let{name:o0,version:a0}=j;(!o0||typeof o0!="string")&&(E0.error(`Invalid remote native package name: ${o0}, expected string, got ${typeof o0}`),bx.error("")),(!a0||typeof a0!="string")&&(E0.error(`Invalid remote native package version: ${a0}, expected string, got ${typeof a0}`),bx.error(""))}),new Map(e.map(j=>[j.name,j]))}async function __(i,r,a,n){let o=Xe();o.start(`Checking bundle checksum compatibility with channel ${a}`);let e=await go0(i,r,a);if(!e){o.stop(`No checksum found for channel ${a}, the bundle will be uploaded`);return}e&&e===n&&(E0.error(`Cannot upload the same bundle content.
|
|
275
275
|
Current bundle checksum matches remote bundle for channel ${a}
|
|
276
276
|
Did you builded your app before uploading?
|
|
277
277
|
PS: You can ignore this check with "--ignore-checksum-check"`),bx.error("")),o.stop(`Checksum compatible with ${a} channel`)}function Ge(i,r){return i||r?.plugins?.CapacitorUpdater?.appId||r?.appId}async function e4(i,r,a,n,o){let e=await Lp(n,o),s=await mo0(i,r,a),j=e.filter(a0=>!!a0.native).map(a0=>{let s0=s.get(a0.name);return s0?{name:a0.name,localVersion:a0.version,remoteVersion:s0.version}:{name:a0.name,localVersion:a0.version,remoteVersion:void 0}}),o0=[...s].filter(([a0])=>e.find(s0=>s0.name===a0)===void 0).map(([a0,s0])=>({name:a0,localVersion:void 0,remoteVersion:s0.version}));return j.push(...o0),{finalCompatibility:j,localDependencies:e}}async function N_(i,r){let{data:a}=await i.rpc("exist_app_v2",{appid:r}).single();return!!a}async function p6(i,r,a,n){let o=_t(),e=await A_(i,r,a);if(!e.okay)switch(e.error){case"INVALID_APIKEY":{E0.error("Invalid apikey, such apikey does not exists!"),bx.error("");break}case"NO_APP":{E0.error(`App ${a} does not exist, run first \`${o.runner} @capgo/cli app add ${a}\` to create it`),bx.error("");break}case"NO_ORG":{E0.error("Could not find organization, please contact support to resolve this!"),bx.error("");break}}let s=e.data;return n>s&&(E0.error(`Insuficcent permissions for app ${a}. Current permission: ${ct[e.data]}, required for this action: ${ct[n]}.`),bx.error("")),e.data}var fr="assets/icon.png";var Wc=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(),j=s?`status code ${s}`:"an unknown error";super(`Request failed with ${j}: ${a.method} ${a.url}`),this.name="HTTPError",this.response=r,this.request=a,this.options=n}};var yo=class extends Error{request;constructor(r){super(`Request timed out: ${r.method} ${r.url}`),this.name="TimeoutError",this.request=r}};var Do=i=>i!==null&&typeof i=="object";var Kc=(...i)=>{for(let r of i)if((!Do(r)||Array.isArray(r))&&r!==void 0)throw new TypeError("The `options` argument must be an object");return Hp({},...i)},Up=(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 t4(i,r,a){return Object.hasOwn(r,a)&&r[a]===void 0?[]:Hp(i[a]??[],r[a]??[])}var qp=(i={},r={})=>({beforeRequest:t4(i,r,"beforeRequest"),beforeRetry:t4(i,r,"beforeRetry"),afterResponse:t4(i,r,"afterResponse"),beforeError:t4(i,r,"beforeError")}),Hp=(...i)=>{let r={},a={},n={};for(let o of i)if(Array.isArray(o))Array.isArray(r)||(r=[]),r=[...r,...o];else if(Do(o)){for(let[e,s]of Object.entries(o))Do(s)&&e in r&&(s=Hp(r[e],s)),r={...r,[e]:s};Do(o.hooks)&&(n=qp(n,o.hooks),r.hooks=n),Do(o.headers)&&(a=Up(a,o.headers),r.headers=a)}return r};var M_=(()=>{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})(),L_=typeof globalThis.AbortController=="function",U_=typeof globalThis.ReadableStream=="function",q_=typeof globalThis.FormData=="function",r4=["get","post","put","patch","head","delete"],wo0=()=>{};wo0();var H_={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},i4=2147483647,n4=Symbol("stop"),G_={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},j_={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 Q_=i=>r4.includes(i)?i.toUpperCase():i,yo0=["get","put","head","delete","options","trace"],Do0=[408,413,429,500,502,503,504],vo0=[413,429,503],V_={limit:2,methods:yo0,statusCodes:Do0,afterStatusCodes:vo0,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:i=>.3*2**(i-1)*1e3},z_=(i={})=>{if(typeof i=="number")return{...V_,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{...V_,...i}};async function Gp(i,r,a,n){return new Promise((o,e)=>{let s=setTimeout(()=>{a&&a.abort(),e(new yo(i))},n.timeout);n.fetch(i,r).then(o).catch(e).then(()=>{clearTimeout(s)})})}async function jp(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 Y_=(i,r)=>{let a={};for(let n in r)!(n in j_)&&!(n in G_)&&!(n in i)&&(a[n]=r[n]);return a};var Xc=class i{static create(r,a){let n=new i(r,a),o=async()=>{if(typeof n._options.timeout=="number"&&n._options.timeout>i4)throw new RangeError(`The \`timeout\` option cannot be greater than ${i4}`);await Promise.resolve();let j=await n._fetch();for(let o0 of n._options.hooks.afterResponse){let a0=await o0(n.request,n._options,n._decorateResponse(j.clone()));a0 instanceof globalThis.Response&&(j=a0)}if(n._decorateResponse(j),!j.ok&&n._options.throwHttpErrors){let o0=new Wc(j,n.request,n._options);for(let a0 of n._options.hooks.beforeError)o0=await a0(o0);throw o0}if(n._options.onDownloadProgress){if(typeof n._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!U_)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return n._stream(j.clone(),n._options.onDownloadProgress)}return j},s=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(o):o();for(let[j,o0]of Object.entries(H_))s[j]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||o0);let a0=await s;if(j==="json"){if(a0.status===204||(await a0.clone().arrayBuffer()).byteLength===0)return"";if(a.parseJson)return a.parseJson(await a0.text())}return a0[j]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(r,a={}){if(this._input=r,this._options={...a,headers:Up(this._input.headers,a.headers),hooks:qp({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},a.hooks),method:Q_(a.method??this._input.method),prefixUrl:String(a.prefixUrl||""),retry:z_(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(L_){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(M_&&(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);(q_&&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 yo)throw r;if(r instanceof Wc){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),i4);if(this._retryCount<1)throw a;await jp(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})===n4)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=Y_(this.request,this._options),a=this.request;return this.request=a.clone(),this._options.timeout===!1?this._options.fetch(a,r):Gp(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 j(){let{done:o0,value:a0}=await s.read();if(o0){e.close();return}if(a){o+=a0.byteLength;let s0=n===0?0:o/n;a({percent:s0,transferredBytes:o,totalBytes:n},a0)}e.enqueue(a0),await j()}await j()}}),{status:r.status,statusText:r.statusText,headers:r.headers})}};var Vp=i=>{let r=(a,n)=>Xc.create(a,Kc(i,n));for(let a of r4)r[a]=(n,o)=>Xc.create(n,Kc(i,o,{method:a}));return r.create=a=>Vp(Kc(a)),r.extend=a=>(typeof a=="function"&&(a=a(i??{})),Vp(Kc(i,a))),r.stop=n4,r},Ao0=Vp(),W_=Ao0;var mN=Oe(gN(),1);function Wp(i){let r=(0,mN.default)("npm",{registry:"https://registry.npmjs.org/"}),a=r[`${i}:registry`]||r.config_registry||r.registry;return a.slice(-1)==="/"?a:`${a}/`}var bM=Oe(pM(),1),gM=Oe(cp(),1),ub=class extends Error{constructor(r){super(`Package \`${r}\` could not be found`),this.name="PackageNotFoundError"}},fb=class extends Error{constructor(r,a){super(`Version \`${a}\` for package \`${r}\` could not be found`),this.name="VersionNotFoundError"}};async function db(i,r={}){let{version:a="latest"}=r,{omitDeprecated:n=!0}=r,o=i.split("/")[0],e=r.registryUrl??Wp(o),s=new URL(encodeURIComponent(i).replace(/^%40/,"@"),e),j=(0,bM.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,j&&(o0.authorization=`${j.type} ${j.token}`);let a0;try{a0=await W_(s,{headers:o0,keepalive:!0}).json()}catch(c0){throw c0?.response?.status===404?new ub(i):c0}if(r.allVersions)return a0;let s0=new fb(i,a);if(a0["dist-tags"][a]){let{time:c0}=a0;a0=a0.versions[a0["dist-tags"][a]],a0.time=c0}else if(a){let c0=!!a0.versions[a];if(n&&!c0)for(let[b0,C0]of Object.entries(a0.versions))C0.deprecated&&delete a0.versions[b0];if(!c0){let b0=Object.keys(a0.versions);if(a=gM.default.maxSatisfying(b0,a),!a)throw s0}let{time:A0}=a0;if(a0=a0.versions[a],a0.time=A0,!a0)throw s0}return a0}async function tu(i,r){let{version:a}=await db(i.toLowerCase(),r);return a}async function r6(){let i=await tu("@capgo/cli").catch(()=>""),r=i?.split(".")[0];i!==hr.version&&E0.warning(`\u{1F6A8} You are using @capgo/cli@${hr.version} it's not the latest version.
|
|
278
|
-
Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}async function O70(i,r,a=!0){await lb(i,r,void 0,a)}async function lb(i,r,a,n=!0){n&&Ae("Adding"),await r6(),r.apikey=r.apikey||
|
|
278
|
+
Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}async function O70(i,r,a=!0){await lb(i,r,void 0,a)}async function lb(i,r,a,n=!0){n&&Ae("Adding"),await r6(),r.apikey=r.apikey||He();let o=await Se();i=Ge(i,o?.config),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error("")),i.includes("--")&&(E0.error('The app id includes illegal symbols. You cannot use "--" in the app id'),bx.error(""));let e=await Me(r.apikey);await Ue(e,r.apikey,["write","all"]),await N_(e,i)&&(i==="io.ionic.starter"?E0.error(`This appId ${i} cannot be used it's reserved, please change it in your capacitor config.`):E0.error(`App ${i} already exist`),bx.error("")),a||(a=await mo(e,["admin","super_admin"]));let j=a.gid;await Zd(e,j,r.apikey,void 0,!1);let{name:o0,icon:a0}=r;o0=o0||o.config?.appName||"Unknown",a0=a0||"resources/icon.png",(!a0||!o0)&&(E0.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),bx.error("")),n&&E0.info(`Adding ${i} to Capgo`);let s0=null,c0=null;a0&&(0,Oo.existsSync)(a0)?(s0=(0,Oo.readFileSync)(a0),c0=go(a0)||"image/png",E0.warn(`Found app icon ${a0}`)):(0,Oo.existsSync)(fr)?(s0=(0,Oo.readFileSync)(fr),c0=go(fr)||"image/png",E0.warn(`Found app icon ${fr}`)):E0.warn(`Cannot find app icon in any of the following locations: ${a0}, ${fr}`);let A0="icon",b0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(s0&&c0){let{error:I0}=await e.storage.from(`images/org/${j}/${i}`).upload(A0,s0,{contentType:c0});I0&&(console.error(I0),E0.error(`Could not add app ${Ee(I0)}`),bx.error(""));let{data:U0}=await e.storage.from(`images/org/${j}/${i}`).getPublicUrl(A0);b0=U0?.publicUrl||b0}let{error:C0}=await e.from("apps").insert({icon_url:b0,owner_org:j,name:o0,app_id:i});C0&&(E0.error(`Could not add app ${Ee(C0)}`),bx.error(""));let{error:R0}=await e.from("app_versions").insert([{owner_org:j,deleted:!0,name:"unknown",app_id:i},{owner_org:j,deleted:!0,name:"builtin",app_id:i}]);return R0&&(E0.error(`Could not add app ${Ee(R0)}`),bx.error("")),E0.success(`App ${i} added to Capgo. ${n?"You can upload a bundle now":""}`),n&&(we("Done \u2705"),(0,mM.exit)()),!0}async function wM(i,r){O70(i,r,!0)}var hb=require("node:process");function P70(i){return new Promise(r=>{setTimeout(r,i)})}async function Ai(i,r,a,n,o="\u2705"){await t6(a,{channel:i,event:n,icon:o,user_id:r,notify:!1})}async function B70(i,r,a,n){U6(r)&&(await Ai(i,a,n,"canceled","\u{1F937}"),(0,hb.exit)())}async function I70(i,r,a){try{let n=await cr(),o=await Hi.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){E0.error(`Cannot get stats ${Ee(n)}`)}return[]}async function T70(i,r,a,n,o,e){if(E0.info(`Log from Device: ${i.device_id}`),i.action==="get")E0.info("Update Sent your your device, wait until event download complete"),await Ai(r,a,n,"done");else if(i.action.startsWith("download_")){let s=i.action.split("_")[1];s==="complete"?(E0.info("Your bundle has been downloaded on your device, background the app now and open it again to see the update"),await Ai(r,a,n,"downloaded")):s==="fail"?(E0.error("Your bundle has failed to download on your device."),E0.error("Please check if you have network connection and try again")):E0.info(`Your bundle is downloading ${s}% ...`)}else{if(i.action==="set")return E0.info("Your bundle has been set on your device \u2764\uFE0F"),await Ai(r,a,n,"set"),!1;i.action==="NoChannelOrOverride"?E0.error(`No default channel or override (channel/device) found, please create it here ${o}`):i.action==="needPlanUpgrade"?E0.error(`Your are out of quota, please upgrade your plan here ${e}/dashboard/settings/plans`):i.action==="missingBundle"?E0.error("Your bundle is missing, please check how you build your app"):i.action==="noNew"?(E0.error(`The version number you uploaded to your default channel in Capgo, is the same as the present in the device ${i.device_id}.`),E0.error(`To fix it, ensure the variable:
|
|
279
279
|
- iOS: keyCFBundleShortVersionString or MARKETING_VERSION
|
|
280
280
|
- Android: versionName
|
|
281
281
|
Are lower than the version number you uploaded to Capgo.`),E0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disablePlatformIos"?E0.error(`iOS is disabled in the default channel and your device ${i.device_id} is an iOS device ${o}`):i.action==="disablePlatformAndroid"?E0.error(`Android is disabled in the default channel and your device ${i.device_id} is an Android device ${o}`):i.action==="disableAutoUpdateToMajor"?(E0.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}.`),E0.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."),E0.error(`To fix it, ensure the variable:
|
|
@@ -284,8 +284,8 @@ Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the lates
|
|
|
284
284
|
Are lower than the version number you uploaded to Capgo.`),E0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableAutoUpdateUnderNative"?(E0.error(`The version number you uploaded to your default channel in Capgo, is lower than the present in the device ${i.device_id}.`),E0.error(`To fix it, ensure the variable:
|
|
285
285
|
- iOS: keyCFBundleShortVersionString or MARKETING_VERSION
|
|
286
286
|
- Android: versionName
|
|
287
|
-
Are lower than the version number you uploaded to Capgo.`),E0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableDevBuild"?(E0.error(`Dev build is disabled in the default channel. ${o}`),E0.error("Set your channel to allow it if you wanna test your app")):i.action==="disableEmulator"?(E0.error(`Emulator is disabled in the default channel. ${o}`),E0.error("Set your channel to allow it if you wanna test your app")):i.action==="cannotGetBundle"?(E0.error(`We cannot get your bundle from the default channel. ${o}`),E0.error("Are you sure your default channel has a bundle set?")):i.action==="set_fail"?E0.error(`Your bundle seems to be corrupted, try to download from ${o} to identify the issue`):i.action==="reset"?E0.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"?(E0.error("Your bundle has been installed but failed to call notifyAppReady()"),E0.error("Please check if you have network connection and try again")):i.action==="checksum_fail"?E0.error("Your bundle has failed to validate checksum, please check your code and send it again to Capgo"):E0.error(`Log from Capgo ${i.action}`)}return!0}async function pb(i,r,a,n,o){let e=!0,s=p2(a),j=await cr(),o0=`${j.hostWeb}/app/p/${s}`;await Ai(i,n,r,"Use waitlog");let a0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},s0=null,c0=Xe();for(c0.start("Waiting for logs (Expect delay of 30 sec)");e;){await P70(5e3);let A0=await I70(r,a0,s0);if(A0.length>0){s0=A0[0].created_at;for(let b0 of A0)if(e=await T70(b0,i,n,r,o0,j.hostWeb),!e)break}}return c0.stop("Stop watching logs"),Promise.resolve()}async function yM(i,r){Ae("Debug Live update in Capgo"),await r6(),r.apikey=r.apikey||
|
|
288
|
-
`)}};function N70(i){i.length||(E0.error("No apps found"),(0,gb.exit)(1));let r=new Xt;r.headers=["Name","id","Created"],r.rows=[],i.reverse().forEach(a=>{r.rows.push([a.name??"",a.app_id,wo(a.created_at)])}),E0.success("Apps"),E0.success(r.toString())}async function M70(i){let{data:r,error:a}=await i.from("apps").select().order("created_at",{ascending:!1});return a&&(E0.error("Apps not found"),bx.error("")),r}async function CM(i){Ae("List apps in Capgo"),await r6(),i.apikey=i.apikey||
|
|
287
|
+
Are lower than the version number you uploaded to Capgo.`),E0.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):i.action==="disableDevBuild"?(E0.error(`Dev build is disabled in the default channel. ${o}`),E0.error("Set your channel to allow it if you wanna test your app")):i.action==="disableEmulator"?(E0.error(`Emulator is disabled in the default channel. ${o}`),E0.error("Set your channel to allow it if you wanna test your app")):i.action==="cannotGetBundle"?(E0.error(`We cannot get your bundle from the default channel. ${o}`),E0.error("Are you sure your default channel has a bundle set?")):i.action==="set_fail"?E0.error(`Your bundle seems to be corrupted, try to download from ${o} to identify the issue`):i.action==="reset"?E0.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"?(E0.error("Your bundle has been installed but failed to call notifyAppReady()"),E0.error("Please check if you have network connection and try again")):i.action==="checksum_fail"?E0.error("Your bundle has failed to validate checksum, please check your code and send it again to Capgo"):E0.error(`Log from Capgo ${i.action}`)}return!0}async function pb(i,r,a,n,o){let e=!0,s=p2(a),j=await cr(),o0=`${j.hostWeb}/app/p/${s}`;await Ai(i,n,r,"Use waitlog");let a0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},s0=null,c0=Xe();for(c0.start("Waiting for logs (Expect delay of 30 sec)");e;){await P70(5e3);let A0=await I70(r,a0,s0);if(A0.length>0){s0=A0[0].created_at;for(let b0 of A0)if(e=await T70(b0,i,n,r,o0,j.hostWeb),!e)break}}return c0.stop("Stop watching logs"),Promise.resolve()}async function yM(i,r){Ae("Debug Live update in Capgo"),await r6(),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config);let n=r.device;r.apikey||(E0.error("Missing API key, you need to provide an API key to delete your app"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(r.apikey),e=await ur(o,i),s=await a6({message:"Automatic check if update working in device ?"});await B70("debug",s,e,r.apikey),s?(E0.info(`Wait logs sent to Capgo from ${i} device, Please open your app \u{1F4AA}`),await pb("debug",r.apikey,i,e,n),we("Done \u2705")):we("Canceled \u274C"),we("Done \u2705"),(0,hb.exit)()}var DM=require("node:process");async function vM(i,r){Ae("Deleting"),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey),o=await Ue(n,r.apikey,["write","all"]);await p6(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(),j=e;if(!s&&(j?.owner_org.created_by??"")!==o){E0.warn("Deleting the app is not recomended for users that are not the organization owner"),E0.warn("You are invited as a super_admin but your are not the owner"),E0.warn("It's strongly recomended that you do not continue!");let A0=await Dn({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});(U6(A0)||A0==="no")&&(E0.error("Canceled deleting the app, exiting"),bx.error(""))}else s&&E0.warn(`Cannot get the app owner ${Ee(s)}`);let{error:o0}=await n.storage.from("images").remove([`org/${j?.owner_org.id}/${i}/icon`]);o0&&(console.error(o0,`images/org/${j?.owner_org.id}/${i}`),E0.error("Could not delete app logo"));let{error:a0}=await n.storage.from(`apps/${i}/${o}`).remove(["versions"]);a0&&E0.error("Could not delete app version");let{error:s0}=await n.from("apps").delete().eq("app_id",i);s0&&(E0.error("Could not delete app"),bx.error(""));let c0=await ur(n,i);await t6(r.apikey,{channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:c0,tags:{"app-id":i},notify:!1}).catch(),E0.success("App deleted in Capgo"),we("Done \u2705"),(0,DM.exit)()}var m4=require("node:os"),Po=require("node:process");async function R70(i){let r={},a=[];for(let n in i)Object.prototype.hasOwnProperty.call(i,n)&&a.push(tu(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 _70(){let i=await yt(),r={"@capgo/cli":hr.version};return i.forEach((a,n)=>{(n.startsWith("@capgo/")||n.startsWith("@capawesome/")||n.startsWith("capacitor"))&&(r[n]=a)}),r}async function AM(i){E0.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let r=await Se(),a=Kr("",i.packageJson),n=r?.config?.plugins?.CapacitorUpdater?.version||a,o=r?.config?.appName||"";E0.info(` App Name: ${o}`);let e=Ge("",r?.config);E0.info(` App ID: ${e}`),E0.info(` App Version: ${n}`);let s=r?.config?.webDir||"";E0.info(` Web Dir: ${s}`),E0.info(` OS: ${(0,m4.platform)()} ${(0,m4.version)()}`),E0.info(` Node: ${Po.version}`),E0.info(" Installed Dependencies:");let j=await _70();Object.keys(j).length===0&&(E0.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),(0,Po.exit)(1));for(let s0 in j)if(Object.prototype.hasOwnProperty.call(j,s0)){let c0=j[s0];E0.info(` ${s0}: ${c0}`)}let o0=Xe();o0.start("Running: Loading latest dependencies");let a0=await R70(j);o0.stop("Latest Dependencies:");for(let s0 in a0)if(Object.prototype.hasOwnProperty.call(a0,s0)){let c0=a0[s0];E0.info(` ${s0}: ${c0}`)}JSON.stringify(j)!==JSON.stringify(a0)&&(E0.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),(0,Po.exit)(1)),E0.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),(0,Po.exit)()}var gb=require("node:process");function EM(i,r){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(i),o="\x1B[";return o+n+"m"+r+o+"0m"}var Xt=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?EM("bold",o):o,s=a-o.length,j=this.theme.row[1];switch(typeof r){case"number":return j.repeat(s)+e;case"string":return e+j.repeat(s);case"boolean":case"object":return j.repeat(Math.ceil(s/2))+EM("italic",o)+j.repeat(Math.floor(s/2));default:return j.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(`
|
|
288
|
+
`)}};function N70(i){i.length||(E0.error("No apps found"),(0,gb.exit)(1));let r=new Xt;r.headers=["Name","id","Created"],r.rows=[],i.reverse().forEach(a=>{r.rows.push([a.name??"",a.app_id,wo(a.created_at)])}),E0.success("Apps"),E0.success(r.toString())}async function M70(i){let{data:r,error:a}=await i.from("apps").select().order("created_at",{ascending:!1});return a&&(E0.error("Apps not found"),bx.error("")),r}async function CM(i){Ae("List apps in Capgo"),await r6(),i.apikey=i.apikey||He();let r=await Me(i.apikey);await Ue(r,i.apikey,["write","all","read","upload"]),E0.info("Getting active bundle in Capgo");let a=await M70(r);E0.info(`Active app in Capgo: ${a?.length}`),N70(a),we("Done \u2705"),(0,gb.exit)()}var kM=require("node:crypto"),Bo=require("node:fs"),SM=require("node:process");async function FM(i,r){Ae("Set app"),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey),e=(await mo(n,["admin","super_admin"])).gid,s=await Ue(n,r.apikey,["write","all"]);await p6(n,r.apikey,i,4);let{name:j,icon:o0,retention:a0}=r;a0&&Number.isNaN(Number(a0))?(E0.error("retention value must be a number"),bx.error("")):a0&&a0<0&&(E0.error("retention value cannot be less than 0"),bx.error(""));let s0,c0,A0=`icon_${(0,kM.randomUUID)()}`,b0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(o0&&(0,Bo.existsSync)(o0)?(s0=(0,Bo.readFileSync)(o0),c0=go(o0)||"image/png",E0.warn(`Found app icon ${o0}`)):(0,Bo.existsSync)(fr)?(s0=(0,Bo.readFileSync)(fr),c0=go(fr)||"image/png",E0.warn(`Found app icon ${fr}`)):E0.warn(`Cannot find app icon in any of the following locations: ${o0}, ${fr}`),s0&&c0){let{error:R0}=await n.storage.from(`images/org/${e}/${i}`).upload(A0,s0,{contentType:c0});R0&&(E0.error(`Could not set app ${Ee(R0)}`),bx.error(""));let{data:I0}=await n.storage.from(`images/org/${e}/${i}`).getPublicUrl(A0);b0=I0?.publicUrl||b0}let{error:C0}=await n.from("apps").update({icon_url:b0,name:j,retention:a0?a0*24*60*60:void 0}).eq("app_id",i).eq("user_id",s);C0&&(E0.error(`Could not set app ${Ee(C0)}`),bx.error("")),we("Done \u2705"),(0,SM.exit)()}var Io=require("node:process");async function OM(i,r){Ae("Set a specific setting in capacitor config"),r.bool&&r.string&&(E0.error("Bool and string CANNOT be set at the same time"),(0,Io.exit)(1)),!r.bool&&!r.string&&(E0.error("You MUST provide either bool or string as the value"),(0,Io.exit)(1)),r.bool&&r.bool!=="true"&&r.bool!=="false"&&(E0.error("Invalid bool"),(0,Io.exit)(1));try{let a=await Se(),n=a.config,o=i.split(".");o.length===0&&(E0.error("Invalid path"),(0,Io.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 nn(a,!0),E0.success(`Set "${i}" to "${e}"`)}catch(a){E0.error(`Cannot set config in capacitor settings ${Ee(a)}`),(0,Io.exit)(1)}we("Done \u2705")}var Ob=require("node:process");function w4(i,r){if(isNaN(i)||isNaN(r))throw new Error("Cannot compare against non-numbers");return i===r?0:i<r?-1:1}function IM(i=[],r=[]){return i.length&&!r.length?-1:!i.length&&r.length?1:0}function wb(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 To="0|[1-9]\\d*",L70="\\d*[a-zA-Z-][a-zA-Z0-9-]*",U70=`(?<major>${To})\\.(?<minor>${To})\\.(?<patch>${To})`,PM=`(?:${To}|${L70})`,TM=`(?:-(?<prerelease>${PM}(?:\\.${PM})*))`,BM="[0-9A-Za-z-]+",RM=`(?:\\+(?<buildmetadata>${BM}(?:\\.${BM})*))`,_M=`v?${U70}${TM}?${RM}?`,NM=new RegExp(`^${_M}$`),MM="(?:<|>)?=?",q70="x|X|\\*",mb=`${To}|${q70}`,LM=`[v=\\s]*(?<major>${mb})(?:\\.(?<minor>${mb})(?:\\.(?<patch>${mb})${TM}?${RM}?)?)?`,H70=new RegExp(`^(?<operator>~>?|\\^|${MM})\\s*${LM}$`),G70=new RegExp(`^(?<operator>${MM})\\s*(${_M})$|^$`);function yb(i){return typeof i=="number"&&!Number.isNaN(i)&&(!Number.isFinite(i)||0<=i&&i<=Number.MAX_SAFE_INTEGER)}var Db=256;var j70=new RegExp(`^${To}$`);function vb(i){return i.split(".").filter(Boolean).map(r=>{if(j70.test(r)){let a=Number(r);if(yb(a))return a}return r})}function ru(i){return i.split(".").filter(Boolean)}function iu(i,r){let a=Number(i);if(!yb(a))throw new TypeError(r);return a}function dr(i,r){return i===r?0:w4(i.major,r.major)||w4(i.minor,r.minor)||w4(i.patch,r.patch)||IM(i.prerelease,r.prerelease)||wb(i.prerelease,r.prerelease)}function Ab(i){return i.toFixed(0)}function Ro(i){let r=Ab(i.major),a=Ab(i.minor),n=Ab(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 V70(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 nu(i=[],r){let a=V70(i);return r&&(a[0]!==r||isNaN(a[1]))&&(a=[r,0]),a}function qM(i,r,a={}){let n=a.build!==void 0?ru(a.build):i.build??[];switch(r){case"premajor":return{major:i.major+1,minor:0,patch:0,prerelease:nu(i.prerelease,a.prerelease),build:n};case"preminor":return{major:i.major,minor:i.minor+1,patch:0,prerelease:nu(i.prerelease,a.prerelease),build:n};case"prepatch":return{major:i.major,minor:i.minor,patch:i.patch+1,prerelease:nu(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:nu(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:nu(i.prerelease,a.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${r}`)}}var Eb={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},HM={operator:void 0,...Eb};function Cb(i,r){return dr(i,r)>0}function kb(i,r){return dr(i,r)<0}function au(i){if(typeof i!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof i}`);if(i.length>Db)throw new TypeError(`Cannot parse version as version length is too long: length is ${i.length}, max length is ${Db}`);i=i.trim();let r=i.match(NM)?.groups;if(!r)throw new TypeError(`Cannot parse version: ${i}`);let a=iu(r.major,`Cannot parse version ${i}: invalid major version`),n=iu(r.minor,`Cannot parse version ${i}: invalid minor version`),o=iu(r.patch,`Cannot parse version ${i}: invalid patch version`),e=r.prerelease?vb(r.prerelease):[],s=r.buildmetadata?ru(r.buildmetadata):[];return{major:a,minor:n,patch:o,prerelease:e,build:s}}var XM=require("node:process");var jM=require("node:process");async function VM(i,r,a){let{data:n,error:o}=await i.from("channels").select().eq("app_id",r).eq("version",a.id);if(o&&(E0.error(`Cannot check Version ${r}@${a.name}`),bx.error("")),n&&n.length>0){if(Ae(`\u274C Version ${r}@${a.name} is used in ${n.length} channel`),await a6({message:"unlink it?"}))for(let e of n){let s=Xe();s.start(`Unlinking channel ${e.name}`);let{error:j}=await i.from("channels").update({version:(await Sb(i,r))?.id}).eq("id",e.id);j&&(s.stop(`Cannot update channel ${e.name} ${Ee(j)}`),(0,jM.exit)(1)),s.stop(`\u2705 Channel ${e.name} unlinked`)}else E0.error("Unlink it first"),bx.error("");we(`Version unlinked from ${n.length} channel`)}}function Sb(i,r){return i.from("app_versions").select("id").eq("app_id",r).eq("name","unknown").throwOnError().single().then(({data:a,error:n})=>(n&&(E0.error(`Cannot call findUnknownVersion as it returned an error.
|
|
289
289
|
${Ee(n)}`),bx.error("")),a))}function QM(i,r){return i.from("channels").insert(r).select().single()}function zM(i,r,a,n){return i.from("channels").delete().eq("name",r).eq("app_id",a).single()}function YM(i,r,a){return i.from("channels").select(`
|
|
290
290
|
id,
|
|
291
291
|
version (id, name)
|
|
@@ -304,7 +304,7 @@ ${Ee(n)}`),bx.error("")),a))}function QM(i,r){return i.from("channels").insert(r
|
|
|
304
304
|
created_by,
|
|
305
305
|
app_id,
|
|
306
306
|
version (id, name)
|
|
307
|
-
`).eq("app_id",r).order("created_at",{ascending:!1});return n&&(E0.error(`App ${r} not found in database`),bx.error("")),a}async function Fb(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&&(E0.error(`App Version ${r}@${a} not found in database`),bx.error(""))}async function D4(i,r,a){let n=await Q70(i,r,a);await VM(i,r,n),await Fb(i,r,a)}function v4(i){i.length||(E0.error("No bundle found"),(0,XM.exit)(1));let r=new Xt;r.theme=Xt.roundTheme,r.headers=["Version","Created","Keep"],i.reverse().forEach(a=>{r.rows.push([a.name,wo(a.created_at),a.keep!=null?a.keep:""])}),E0.success("Bundles"),E0.success(r.toString())}async function A4(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&&(E0.error(`App ${r} not found in database`),bx.error("")),a}async function JM(i,r){let{data:a,error:n}=await i.from("channels").select("version").eq("app_id",r);return n&&(E0.error(`App ${r} not found in database`),bx.error("")),a.map(o=>o.version)}async function Q70(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)&&(E0.error(`App Version ${r}@${a} doesn't exist`),bx.error("")),n}async function z70(i,r,a){for await(let n of i)E0.warn(`Removing ${n.name} created on ${wo(n.created_at)}`),await D4(r,a,n.name)}function Y70(i,r,a){let n=[];return i?.forEach(o=>{let e=au(o.name);Cb(e,r)&&kb(e,a)&&n.push(o)}),n}async function ZM(i,r){Ae("Cleanup versions in Capgo"),await r6(),r.apikey=r.apikey||qe();let{bundle:a,keep:n=4}=r,o=r.force||!1,e=await Se();i=Ge(i,e?.config),r.apikey||(E0.error("Missing API key, you need to provide an API key to delete your app"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),bx.error(""));let s=await Me(r.apikey);await He(s,r.apikey,["write","all"]),await p6(s,r.apikey,i,3),E0.info("Querying all available versions in Capgo");let j=await A4(s,i),o0=await JM(s,i);if(E0.info(`Total active versions in Capgo: ${j?.length}`),j?.length===0){E0.error("No versions found, aborting cleanup");return}if(a){let c0=au(a),A0=qM(c0,"major");E0.info(`Querying available versions in Capgo between ${Ro(c0)} and ${Ro(A0)}`),j=Y70(j,c0,A0),E0.info(`Active versions in Capgo between ${Ro(c0)} and ${Ro(A0)}: ${j?.length}`)}let a0=[],s0=0;if(j.forEach(c0=>{let A0=o0.find(b0=>b0===c0.id);s0<n||A0?(A0?c0.keep="\u2705 (Linked to channel)":c0.keep="\u2705",s0+=1):(c0.keep="\u274C",a0.push(c0))}),a0.length===0){E0.warn("Nothing to be removed, aborting removal...");return}if(v4(j),!o){let c0=await a6({message:"Do you want to continue removing the versions specified?"});(U6(c0)||!c0)&&(E0.warn("Not confirmed, aborting removal..."),(0,Ob.exit)())}E0.success("You have confirmed removal, removing versions now"),await z70(a0,s,i),we("Done \u2705"),(0,Ob.exit)()}var $M=Oe(sp());async function xL(i,r){Ae("Check compatibility"),r.apikey=r.apikey||qe();let a=await Se();i=Ge(i,a?.config);let{channel:n}=r;n||(E0.error("Missing argument, you need to provide a channel"),bx.error("")),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(r.apikey);await He(o,r.apikey,["write","all","read","upload"]),await p6(o,r.apikey,i,1);let{finalCompatibility:e}=await e4(o,i,n,r.packageJson,r.nodeModules),s=new Xt;s.headers=["Package","Local version","Remote version","Compatible"],s.theme=Xt.roundTheme,s.rows=[];let j=r.text?"Yes":"\u2705",o0=r.text?"No":"\u274C";e.forEach(a0=>{let{name:s0,localVersion:c0,remoteVersion:A0}=a0,b0=o0;try{b0=(0,$M.default)(c0??"",A0??"")?j:o0}catch(C0){E0.error(`Fail when compare. Error: ${C0}`)}s.rows.push([s0,c0,A0,b0])}),E0.success("Compatibility"),E0.success(s.toString())}var Xr=require("node:fs"),nL=require("node:process");var aL=Oe(_7());var sn=require("node:buffer"),rt=require("node:crypto"),eL="aes-128-cbc",Ei="base64",E4=rt.constants.RSA_PKCS1_PADDING;function C4(i){let r=(0,rt.randomBytes)(16),a=(0,rt.randomBytes)(16),n=r.toString(Ei),o=(0,rt.privateEncrypt)({key:i,padding:E4},a).toString(Ei);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function _o(i,r,a){let[n]=a.split(":"),o=sn.Buffer.from(n,Ei),e=(0,rt.createCipheriv)(eL,r,o);return e.setAutoPadding(!0),sn.Buffer.concat([e.update(i),e.final()])}function tL(i,r,a){let[n,o]=r.split(":"),e=(0,rt.publicDecrypt)({key:a,padding:E4},sn.Buffer.from(o,Ei)),s=sn.Buffer.from(n,Ei),j=(0,rt.createDecipheriv)(eL,e,s);return j.setAutoPadding(!0),sn.Buffer.concat([j.update(i),j.final()])}function No(i,r){return(0,rt.privateEncrypt)({key:r,padding:E4},sn.Buffer.from(i,Ei)).toString(Ei)}function rL(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,rt.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 iL(i,r){return(0,rt.publicDecrypt)({key:r,padding:E4},sn.Buffer.from(i,Ei)).toString(Ei)}async function sL(i,r,a){Ae("Decrypt zip file"),await r6(),(0,Xr.existsSync)(i)||(E0.error(`Zip not found at the path ${i}`),bx.error(""));let n=await Se();!a.key&&!(0,Xr.existsSync)(yi)&&!n.config.plugins?.CapacitorUpdater?.privateKey&&(E0.error(`Private Key not found at the path ${yi} or in ${n.path}`),bx.error(""));let o=a.key||yi,e=n.config.plugins?.CapacitorUpdater?.publicKey;!(0,Xr.existsSync)(o)&&!e?(E0.error(`Cannot find public key ${o} or as keyData option or in ${n.path}`),bx.error("")):(0,Xr.existsSync)(o)&&(e=(0,Xr.readFileSync)(o).toString());let s=(0,Xr.readFileSync)(i),j=tL(s,r,a.keyData??e??"");if((0,Xr.writeFileSync)(`${i}_decrypted.zip`,j),E0.info(`Decrypted zip file at ${i}_decrypted.zip`),a.checksum){let o0=await(0,aL.checksum)(j,"sha256"),a0=iL(a.checksum,a.keyData??e??"");o0!==a0?(E0.error(`Checksum does not match ${o0} !== ${a0}`),bx.error("")):E0.info("Checksum matches")}we("\u2705 done"),(0,nL.exit)()}var oL=require("node:process");async function cL(i,r,a){Ae("Delete bundle"),a.apikey=a.apikey||qe();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey);await He(o,a.apikey,["write","all"]),await p6(o,a.apikey,r,3),a.apikey||(E0.error("Missing API key, you need to provide an API key to delete your app"),bx.error("")),i||(E0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error("")),E0.info(`Deleting bundle ${r}@${i} from Capgo`),E0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever"),await D4(o,r,i),E0.success(`Bundle ${r}@${i} deleted in Capgo`),we("Done"),(0,oL.exit)()}var Ci=require("node:fs"),uL=require("node:process");async function fL(i,r,a){let{json:n}=a;n||(Ae("Encryption"),await r6());let o=await Se(),e=!!o.config.plugins?.CapacitorUpdater?.privateKey,s=!!o.config.plugins?.CapacitorUpdater?.publicKey;e&&!n&&E0.warning("There is still a privateKey in the config"),(0,Ci.existsSync)(i)||(n?console.error(Ee({error:"zip_not_found"})):E0.error(`Error: Zip not found at the path ${i}`),bx.error("")),s||(n?console.error(Ee({error:"missing_public_key"})):E0.warning("Warning: Missing Public Key in config"),bx.error(""));let j=a.key||Yt,o0=a.keyData||"";!(0,Ci.existsSync)(j)&&!o0?(n?console.error(Ee({error:"missing_key"})):(E0.warning(`Cannot find a private key at ${j} or as a keyData option`),E0.error("Error: Missing key")),bx.error("")):(0,Ci.existsSync)(j)&&(o0=(0,Ci.readFileSync)(j).toString()),o0&&!o0.startsWith("-----BEGIN RSA PRIVATE KEY-----")&&(n?console.error(Ee({error:"invalid_private_key"})):E0.error("the private key provided is not a valid RSA Private key"),bx.error(""));let a0=(0,Ci.readFileSync)(i),{sessionKey:s0,ivSessionKey:c0}=C4(o0),A0=_o(a0,s0,c0),b0=No(r,o0),C0=`${i}_encrypted.zip`;n?console.log(JSON.stringify({checksum:b0,filename:C0,ivSessionKey:c0},null,2)):(E0.success(`Encoded Checksum: ${b0}`),E0.success(`ivSessionKey: ${c0}`)),(0,Ci.writeFileSync)(C0,A0),n||(E0.success(`Encrypted zip saved at ${C0}`),we("Done \u2705")),(0,uL.exit)()}var dL=require("node:process");async function lL(i,r){Ae("List bundles"),await r6(),r.apikey=r.apikey||qe();let a=await Se();i=Ge(i,a?.config),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey);await He(n,r.apikey,["write","all","read","upload"]),E0.info(`Querying available versions of: ${i} in Capgo`),await p6(n,r.apikey,i,1);let o=await A4(n,i);E0.info(`Active versions in Capgo: ${o?.length}`),v4(o),we("Done \u2705"),(0,dL.exit)()}var bU=require("node:crypto"),_2=require("node:fs"),gU=require("node:path/posix"),q4=require("node:process");var k4=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 j=r-n,o0=Math.min(j,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 on(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 A0={attributes:{}};for(;!(a0()||s0("?>"));){let b0=e();if(!b0)return A0;A0.attributes[b0.name]=b0.value}return o0(/\?>\s*/),A0}function n(){let c0=o0(/^<([\w-:.]+)\s*/);if(!c0)return;let A0={name:c0[1],attributes:{},children:[]};for(;!(a0()||s0(">")||s0("?>")||s0("/>"));){let C0=e();if(!C0)return A0;A0.attributes[C0.name]=C0.value}if(o0(/^\s*\/>\s*/))return A0;o0(/\??>\s*/),A0.content=o();let b0;for(;b0=n();)A0.children.push(b0);return o0(/^<\/[\w-:.]+>\s*/),A0}function o(){let c0=o0(/^([^<]*)/);return c0?j(c0[1]):""}function e(){let c0=o0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:j(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function j(c0){return c0.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function o0(c0){let A0=i.match(c0);if(A0)return i=i.slice(A0[0].length),A0}function a0(){return i.length==0}function s0(c0){return i.indexOf(c0)==0}}var Jr=class extends Error{constructor(r){super(r)}};var ft=class extends Jr{},su=class extends Jr{},S4=class extends Jr{},Zr=class extends Jr{},cn=class extends Jr{},Mo=class extends Jr{},C2=class extends Jr{},ki=class extends Jr{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 hL(i){try{let a=on(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(a0=>a0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(a0=>a0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(a0=>a0.name==="Key")?.content,s=a.children.find(a0=>a0.name==="BucketName")?.content,j=a.children.find(a0=>a0.name==="Resource")?.content,o0=a.children.find(a0=>a0.name==="Region")?.content;return new ki(i.status,n,o,{key:e,bucketName:s,resource:j,region:o0})}catch{return new ki(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function pL(i){return typeof i!="number"||isNaN(i)||i<=0?!1:i>=1&&i<=65535}function bL(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 un(i){return!(!W70(i)||i.length===0)}function W70(i){return!(typeof i!="string"||i.length>1024)}function ou(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function k2(i=""){let r={'"':"",""":"",""":"",""":"",""":""};return i.replace(/^("|"|")|("|"|")$/g,a=>r[a])}function Bb(i){return i.get("x-amz-version-id")??null}function Lo(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 F4(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,2)}function Ib(i,r){return`${F4(r)}/${i}/s3/aws4_request`}async function O4(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),ou(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var K70=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],P4=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,j=1,o0,a0=[],s0=[];super({start(){},async write(c0,A0){let b0="PUT",C0=j++;try{if(C0==1&&c0.length<o){let U0=await r.makeRequest({method:b0,headers:new Headers({...e,"Content-Length":String(c0.length)}),bucketName:a,objectName:n,payload:c0});s={etag:k2(U0.headers.get("etag")??void 0),versionId:Bb(U0.headers)};return}C0===1&&(o0=(await X70({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let R0={"Content-Length":String(c0.length)};for(let U0 of K70){let Z0=e[U0];Z0&&(R0[U0]=Z0)}let I0=r.makeRequest({method:b0,query:{partNumber:C0.toString(),uploadId:o0},headers:new Headers(R0),bucketName:a,objectName:n,payload:c0});I0.then(U0=>{let Z0=U0.headers.get("etag")??"";Z0&&(Z0=Z0.replace(/^"/,"").replace(/"$/,"")),a0.push({part:C0,etag:Z0})}),s0.push(I0)}catch(R0){throw R0}},async close(){if(!s)if(o0)await Promise.all(s0),a0.sort((c0,A0)=>c0.part>A0.part?1:-1),s=await J70({client:r,bucketName:a,objectName:n,uploadId:o0,etags:a0});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 X70(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=on(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let j=s.children.find(o0=>o0.name==="UploadId")?.content;if(!j)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:j}}async function J70({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
|
|
307
|
+
`).eq("app_id",r).order("created_at",{ascending:!1});return n&&(E0.error(`App ${r} not found in database`),bx.error("")),a}async function Fb(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&&(E0.error(`App Version ${r}@${a} not found in database`),bx.error(""))}async function D4(i,r,a){let n=await Q70(i,r,a);await VM(i,r,n),await Fb(i,r,a)}function v4(i){i.length||(E0.error("No bundle found"),(0,XM.exit)(1));let r=new Xt;r.theme=Xt.roundTheme,r.headers=["Version","Created","Keep"],i.reverse().forEach(a=>{r.rows.push([a.name,wo(a.created_at),a.keep!=null?a.keep:""])}),E0.success("Bundles"),E0.success(r.toString())}async function A4(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&&(E0.error(`App ${r} not found in database`),bx.error("")),a}async function JM(i,r){let{data:a,error:n}=await i.from("channels").select("version").eq("app_id",r);return n&&(E0.error(`App ${r} not found in database`),bx.error("")),a.map(o=>o.version)}async function Q70(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)&&(E0.error(`App Version ${r}@${a} doesn't exist`),bx.error("")),n}async function z70(i,r,a){for await(let n of i)E0.warn(`Removing ${n.name} created on ${wo(n.created_at)}`),await D4(r,a,n.name)}function Y70(i,r,a){let n=[];return i?.forEach(o=>{let e=au(o.name);Cb(e,r)&&kb(e,a)&&n.push(o)}),n}async function ZM(i,r){Ae("Cleanup versions in Capgo"),await r6(),r.apikey=r.apikey||He();let{bundle:a,keep:n=4}=r,o=r.force||!1,e=await Se();i=Ge(i,e?.config),r.apikey||(E0.error("Missing API key, you need to provide an API key to delete your app"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),bx.error(""));let s=await Me(r.apikey);await Ue(s,r.apikey,["write","all"]),await p6(s,r.apikey,i,3),E0.info("Querying all available versions in Capgo");let j=await A4(s,i),o0=await JM(s,i);if(E0.info(`Total active versions in Capgo: ${j?.length}`),j?.length===0){E0.error("No versions found, aborting cleanup");return}if(a){let c0=au(a),A0=qM(c0,"major");E0.info(`Querying available versions in Capgo between ${Ro(c0)} and ${Ro(A0)}`),j=Y70(j,c0,A0),E0.info(`Active versions in Capgo between ${Ro(c0)} and ${Ro(A0)}: ${j?.length}`)}let a0=[],s0=0;if(j.forEach(c0=>{let A0=o0.find(b0=>b0===c0.id);s0<n||A0?(A0?c0.keep="\u2705 (Linked to channel)":c0.keep="\u2705",s0+=1):(c0.keep="\u274C",a0.push(c0))}),a0.length===0){E0.warn("Nothing to be removed, aborting removal...");return}if(v4(j),!o){let c0=await a6({message:"Do you want to continue removing the versions specified?"});(U6(c0)||!c0)&&(E0.warn("Not confirmed, aborting removal..."),(0,Ob.exit)())}E0.success("You have confirmed removal, removing versions now"),await z70(a0,s,i),we("Done \u2705"),(0,Ob.exit)()}var $M=Oe(sp());async function xL(i,r){Ae("Check compatibility"),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config);let{channel:n}=r;n||(E0.error("Missing argument, you need to provide a channel"),bx.error("")),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(r.apikey);await Ue(o,r.apikey,["write","all","read","upload"]),await p6(o,r.apikey,i,1);let{finalCompatibility:e}=await e4(o,i,n,r.packageJson,r.nodeModules),s=new Xt;s.headers=["Package","Local version","Remote version","Compatible"],s.theme=Xt.roundTheme,s.rows=[];let j=r.text?"Yes":"\u2705",o0=r.text?"No":"\u274C";e.forEach(a0=>{let{name:s0,localVersion:c0,remoteVersion:A0}=a0,b0=o0;try{b0=(0,$M.default)(c0??"",A0??"")?j:o0}catch(C0){E0.error(`Fail when compare. Error: ${C0}`)}s.rows.push([s0,c0,A0,b0])}),E0.success("Compatibility"),E0.success(s.toString())}var Xr=require("node:fs"),nL=require("node:process");var aL=Oe(_7());var sn=require("node:buffer"),rt=require("node:crypto"),eL="aes-128-cbc",Ei="base64",E4=rt.constants.RSA_PKCS1_PADDING;function C4(i){let r=(0,rt.randomBytes)(16),a=(0,rt.randomBytes)(16),n=r.toString(Ei),o=(0,rt.privateEncrypt)({key:i,padding:E4},a).toString(Ei);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function _o(i,r,a){let[n]=a.split(":"),o=sn.Buffer.from(n,Ei),e=(0,rt.createCipheriv)(eL,r,o);return e.setAutoPadding(!0),sn.Buffer.concat([e.update(i),e.final()])}function tL(i,r,a){let[n,o]=r.split(":"),e=(0,rt.publicDecrypt)({key:a,padding:E4},sn.Buffer.from(o,Ei)),s=sn.Buffer.from(n,Ei),j=(0,rt.createDecipheriv)(eL,e,s);return j.setAutoPadding(!0),sn.Buffer.concat([j.update(i),j.final()])}function No(i,r){return(0,rt.privateEncrypt)({key:r,padding:E4},sn.Buffer.from(i,Ei)).toString(Ei)}function rL(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,rt.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 iL(i,r){return(0,rt.publicDecrypt)({key:r,padding:E4},sn.Buffer.from(i,Ei)).toString(Ei)}async function sL(i,r,a){Ae("Decrypt zip file"),await r6(),(0,Xr.existsSync)(i)||(E0.error(`Zip not found at the path ${i}`),bx.error(""));let n=await Se();!a.key&&!(0,Xr.existsSync)(yi)&&!n.config.plugins?.CapacitorUpdater?.privateKey&&(E0.error(`Private Key not found at the path ${yi} or in ${n.path}`),bx.error(""));let o=a.key||yi,e=n.config.plugins?.CapacitorUpdater?.publicKey;!(0,Xr.existsSync)(o)&&!e?(E0.error(`Cannot find public key ${o} or as keyData option or in ${n.path}`),bx.error("")):(0,Xr.existsSync)(o)&&(e=(0,Xr.readFileSync)(o).toString());let s=(0,Xr.readFileSync)(i),j=tL(s,r,a.keyData??e??"");if((0,Xr.writeFileSync)(`${i}_decrypted.zip`,j),E0.info(`Decrypted zip file at ${i}_decrypted.zip`),a.checksum){let o0=await(0,aL.checksum)(j,"sha256"),a0=iL(a.checksum,a.keyData??e??"");o0!==a0?(E0.error(`Checksum does not match ${o0} !== ${a0}`),bx.error("")):E0.info("Checksum matches")}we("\u2705 done"),(0,nL.exit)()}var oL=require("node:process");async function cL(i,r,a){Ae("Delete bundle"),a.apikey=a.apikey||He();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey);await Ue(o,a.apikey,["write","all"]),await p6(o,a.apikey,r,3),a.apikey||(E0.error("Missing API key, you need to provide an API key to delete your app"),bx.error("")),i||(E0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error("")),E0.info(`Deleting bundle ${r}@${i} from Capgo`),E0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever"),await D4(o,r,i),E0.success(`Bundle ${r}@${i} deleted in Capgo`),we("Done"),(0,oL.exit)()}var Ci=require("node:fs"),uL=require("node:process");async function fL(i,r,a){let{json:n}=a;n||(Ae("Encryption"),await r6());let o=await Se(),e=!!o.config.plugins?.CapacitorUpdater?.privateKey,s=!!o.config.plugins?.CapacitorUpdater?.publicKey;e&&!n&&E0.warning("There is still a privateKey in the config"),(0,Ci.existsSync)(i)||(n?console.error(Ee({error:"zip_not_found"})):E0.error(`Error: Zip not found at the path ${i}`),bx.error("")),s||(n?console.error(Ee({error:"missing_public_key"})):E0.warning("Warning: Missing Public Key in config"),bx.error(""));let j=a.key||Yt,o0=a.keyData||"";!(0,Ci.existsSync)(j)&&!o0?(n?console.error(Ee({error:"missing_key"})):(E0.warning(`Cannot find a private key at ${j} or as a keyData option`),E0.error("Error: Missing key")),bx.error("")):(0,Ci.existsSync)(j)&&(o0=(0,Ci.readFileSync)(j).toString()),o0&&!o0.startsWith("-----BEGIN RSA PRIVATE KEY-----")&&(n?console.error(Ee({error:"invalid_private_key"})):E0.error("the private key provided is not a valid RSA Private key"),bx.error(""));let a0=(0,Ci.readFileSync)(i),{sessionKey:s0,ivSessionKey:c0}=C4(o0),A0=_o(a0,s0,c0),b0=No(r,o0),C0=`${i}_encrypted.zip`;n?console.log(JSON.stringify({checksum:b0,filename:C0,ivSessionKey:c0},null,2)):(E0.success(`Encoded Checksum: ${b0}`),E0.success(`ivSessionKey: ${c0}`)),(0,Ci.writeFileSync)(C0,A0),n||(E0.success(`Encrypted zip saved at ${C0}`),we("Done \u2705")),(0,uL.exit)()}var dL=require("node:process");async function lL(i,r){Ae("List bundles"),await r6(),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config),r.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),i||(E0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey);await Ue(n,r.apikey,["write","all","read","upload"]),E0.info(`Querying available versions of: ${i} in Capgo`),await p6(n,r.apikey,i,1);let o=await A4(n,i);E0.info(`Active versions in Capgo: ${o?.length}`),v4(o),we("Done \u2705"),(0,dL.exit)()}var bU=require("node:crypto"),_2=require("node:fs"),gU=require("node:path/posix"),q4=require("node:process");var k4=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 j=r-n,o0=Math.min(j,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 on(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 A0={attributes:{}};for(;!(a0()||s0("?>"));){let b0=e();if(!b0)return A0;A0.attributes[b0.name]=b0.value}return o0(/\?>\s*/),A0}function n(){let c0=o0(/^<([\w-:.]+)\s*/);if(!c0)return;let A0={name:c0[1],attributes:{},children:[]};for(;!(a0()||s0(">")||s0("?>")||s0("/>"));){let C0=e();if(!C0)return A0;A0.attributes[C0.name]=C0.value}if(o0(/^\s*\/>\s*/))return A0;o0(/\??>\s*/),A0.content=o();let b0;for(;b0=n();)A0.children.push(b0);return o0(/^<\/[\w-:.]+>\s*/),A0}function o(){let c0=o0(/^([^<]*)/);return c0?j(c0[1]):""}function e(){let c0=o0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:j(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function j(c0){return c0.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function o0(c0){let A0=i.match(c0);if(A0)return i=i.slice(A0[0].length),A0}function a0(){return i.length==0}function s0(c0){return i.indexOf(c0)==0}}var Jr=class extends Error{constructor(r){super(r)}};var ft=class extends Jr{},su=class extends Jr{},S4=class extends Jr{},Zr=class extends Jr{},cn=class extends Jr{},Mo=class extends Jr{},C2=class extends Jr{},ki=class extends Jr{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 hL(i){try{let a=on(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(a0=>a0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(a0=>a0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(a0=>a0.name==="Key")?.content,s=a.children.find(a0=>a0.name==="BucketName")?.content,j=a.children.find(a0=>a0.name==="Resource")?.content,o0=a.children.find(a0=>a0.name==="Region")?.content;return new ki(i.status,n,o,{key:e,bucketName:s,resource:j,region:o0})}catch{return new ki(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function pL(i){return typeof i!="number"||isNaN(i)||i<=0?!1:i>=1&&i<=65535}function bL(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 un(i){return!(!W70(i)||i.length===0)}function W70(i){return!(typeof i!="string"||i.length>1024)}function ou(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function k2(i=""){let r={'"':"",""":"",""":"",""":"",""":""};return i.replace(/^("|"|")|("|"|")$/g,a=>r[a])}function Bb(i){return i.get("x-amz-version-id")??null}function Lo(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 F4(i){i=i||new Date;let r=i.toISOString();return r.substr(0,4)+r.substr(5,2)+r.substr(8,2)}function Ib(i,r){return`${F4(r)}/${i}/s3/aws4_request`}async function O4(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),ou(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var K70=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],P4=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,j=1,o0,a0=[],s0=[];super({start(){},async write(c0,A0){let b0="PUT",C0=j++;try{if(C0==1&&c0.length<o){let U0=await r.makeRequest({method:b0,headers:new Headers({...e,"Content-Length":String(c0.length)}),bucketName:a,objectName:n,payload:c0});s={etag:k2(U0.headers.get("etag")??void 0),versionId:Bb(U0.headers)};return}C0===1&&(o0=(await X70({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let R0={"Content-Length":String(c0.length)};for(let U0 of K70){let Z0=e[U0];Z0&&(R0[U0]=Z0)}let I0=r.makeRequest({method:b0,query:{partNumber:C0.toString(),uploadId:o0},headers:new Headers(R0),bucketName:a,objectName:n,payload:c0});I0.then(U0=>{let Z0=U0.headers.get("etag")??"";Z0&&(Z0=Z0.replace(/^"/,"").replace(/"$/,"")),a0.push({part:C0,etag:Z0})}),s0.push(I0)}catch(R0){throw R0}},async close(){if(!s)if(o0)await Promise.all(s0),a0.sort((c0,A0)=>c0.part>A0.part?1:-1),s=await J70({client:r,bucketName:a,objectName:n,uploadId:o0,etags:a0});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 X70(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=on(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let j=s.children.find(o0=>o0.name==="UploadId")?.content;if(!j)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:j}}async function J70({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
|
|
308
308
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
309
309
|
${o.map(c0=>` <Part><PartNumber>${c0.part}</PartNumber><ETag>${c0.etag}</ETag></Part>`).join(`
|
|
310
310
|
`)}
|
|
@@ -313,7 +313,7 @@ ${Ee(n)}`),bx.error("")),a))}function QM(i,r){return i.from("channels").insert(r
|
|
|
313
313
|
`)+`
|
|
314
314
|
`),o0.push(n.join(";").toLowerCase()),o0.push(o),o0.join(`
|
|
315
315
|
`)}async function DL(i,r,a){let n=await O4(i),o=Ib(a,r),e=[];return e.push(cu),e.push(Lo(r)),e.push(o),e.push(n),e.join(`
|
|
316
|
-
`)}async function vL(i,r,a){let n=F4(i),o=await yr("AWS4"+a,n),e=await yr(o,r),s=await yr(e,"s3");return await yr(s,"aws4_request")}function Tb(i,r,a){return`${i}/${Ib(r,a)}`}async function yr(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 AL(i){if(!i.accessKey)throw new cn("accessKey is required for signing");if(!i.secretKey)throw new Mo("secretKey is required for signing");if(i.expirySeconds<1)throw new C2("expirySeconds cannot be less than 1 seconds");if(i.expirySeconds>604800)throw new C2("expirySeconds cannot be greater than 7 days");let r=new Date(i.date);r.setSeconds(r.getSeconds()+i.expirySeconds);let a=r.toISOString(),n=Tb(i.accessKey,i.region,i.date),o=Lo(i.date),e={"X-Amz-Algorithm":cu,"X-Amz-Credential":n,"X-Amz-Date":o,key:i.objectKey,...i.fields||{}},s=[{bucket:i.bucket},{key:i.objectKey},{"X-Amz-Algorithm":cu},{"X-Amz-Credential":n},{"X-Amz-Date":o}];i.conditions&&s.push(...i.conditions);for(let[Z0,F0]of Object.entries(i.fields||{}))["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(Z0)||s.push({[Z0]:F0});let j={expiration:a,conditions:s},a0=new TextEncoder().encode(JSON.stringify(j)),s0=btoa(String.fromCharCode(...a0));e.policy=s0;let c0=s0,A0=await yr("AWS4"+i.secretKey,F4(i.date)),b0=await yr(A0,i.region),C0=await yr(b0,"s3"),R0=await yr(C0,"aws4_request"),I0=ou(await yr(R0,c0)).toLowerCase();return e["X-Amz-Signature"]=I0,{url:`${i.protocol}//${i.host}/${i.bucket}`,fields:e}}var xc0=["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"],ec0=5*1024*1024,tc0=5*1024*1024*1024,Rb=5*1024*1024*1024*1024,uu=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 ft("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let j=new URL(r);r=j.hostname,a=j.protocol==="https:",n=j.port?parseInt(j.port,10):a?443:80,j.pathname&&j.pathname!=="/"&&(o=j.pathname.endsWith("/")?j.pathname.slice(0,-1):j.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&&!pL(n))throw new ft(`Invalid port: ${n}`);if(e.accessKey&&!e.secretKey)throw new ft("If specifying access key, secret key must also be provided.");if(e.accessKey&&e.accessKey.startsWith("ASIA")&&!e.sessionToken)throw new ft("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 ft("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new ft("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new ft("pathPrefix should not end with /")}}getBucketName(r){let a=r?.bucketName??this.defaultBucket;if(a===void 0||!bL(a))throw new S4(`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:j}=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 a0=await O4(a??new Uint8Array);e.set("x-amz-date",Lo(o)),e.set("x-amz-content-sha256",a0),this.accessKey&&(this.sessionToken&&e.set("x-amz-security-token",this.sessionToken),e.set("authorization",await gL({headers:e,method:r,path:j,accessKey:this.accessKey,secretKey:this.#x,region:this.region,date:o})));let s0=`${this.protocol}//${s}${j}`,c0=await fetch(s0,{method:r,headers:e,body:a});if(c0.status!==o0)throw c0.status>=400?await hL(c0):c0.status===301?new ki(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 ki(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(!un(r))throw new Zr(`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 ki&&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(!un(r))throw new Zr(`Invalid object name: ${r}`);let s=new Headers(Object.entries(o.metadata??{})),j=200;if(a||n){let a0="";a?a0=`bytes=${+a}-`:(a0="bytes=0-",a=0),n&&(a0+=`${+n+a-1}`),s.set("Range",a0),j=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:j,returnBody:!0})}getPresignedUrl(r,a,n={}){if(!this.accessKey)throw new cn(`Presigned ${r} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!un(a))throw new Zr(`Invalid object name: ${a}`);let{headers:o,path:e}=this.buildRequestOptions({objectName:a,bucketName:n.bucketName,query:n.parameters}),s=n.requestDate??new Date,j=n.expirySeconds??24*60*60*7;return mL({protocol:this.protocol,headers:o,method:r,path:e,accessKey:this.accessKey,secretKey:this.#x,sessionToken:this.sessionToken,region:this.region,date:s,expirySeconds:j})}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 ft("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(),a0=on(o0).root;if(!a0||a0.name!=="ListBucketResult")throw new Error(`Unexpected response: ${o0}`);let s0=a0.children.filter(b0=>b0.name==="CommonPrefixes").flatMap(b0=>b0.children),c0=[];for(let b0 of s0)c0.push({type:"CommonPrefix",prefix:b0.content??""}),e++;for(let b0 of a0.children.filter(C0=>C0.name==="Contents"))c0.push({type:"Object",key:b0.children.find(C0=>C0.name==="Key")?.content??"",etag:k2(b0.children.find(C0=>C0.name==="ETag")?.content??""),size:parseInt(b0.children.find(C0=>C0.name==="Size")?.content??"",10),lastModified:new Date(b0.children.find(C0=>C0.name==="LastModified")?.content??"invalid")}),e++;c0.sort((b0,C0)=>{let R0=b0.type==="Object"?b0.key:b0.prefix,I0=C0.type==="Object"?C0.key:C0.prefix;return R0>I0?1:R0<I0?-1:0});for(let b0 of c0)yield b0;if(a0.children.find(b0=>b0.name==="IsTruncated")?.content==="true"){let b0=a0.children.find(C0=>C0.name==="NextContinuationToken")?.content;if(!b0)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");n=b0}else return}}async putObject(r,a,n){let o=this.getBucketName(n);if(!un(r))throw new Zr(`Invalid object name: ${r}`);let e,s;if(typeof a=="string"){let s0=new TextEncoder().encode(a);typeof ReadableStream.from<"u"?s=ReadableStream.from([s0]):s=new ReadableStream({start(c0){c0.enqueue(s0),c0.close()}}),e=s0.length}else if(a instanceof Uint8Array)typeof ReadableStream.from<"u"?s=ReadableStream.from([a]):s=new ReadableStream({start(s0){s0.enqueue(a),s0.close()}}),e=a.byteLength;else if(a instanceof ReadableStream)s=a;else throw new ft("Invalid stream/data type provided.");if(n?.size!==void 0){if(e!==void 0&&n?.size!==e)throw new ft(`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 ft(`invalid size specified: ${n.size}`);e=n.size}let j=n?.partSize??this.calculatePartSize(e);if(j<ec0)throw new ft("Part size should be greater than 5MB");if(j>tc0)throw new ft("Part size should be less than 6MB");let o0=new k4(j),a0=new P4({client:this,bucketName:o,objectName:r,partSize:j,metadata:n?.metadata??{}});return await s.pipeThrough(o0).pipeTo(a0),a0.getResult()}calculatePartSize(r){if(r===void 0&&(r=Rb),r>Rb)throw new TypeError(`size should not be more than ${Rb}`);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(!un(r))throw new Zr(`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 j of xc0)e.headers.has(j)&&(s[j]=e.headers.get(j));return e.headers.forEach((j,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:k2(e.headers.get("ETag")??"")}}async copyObject(r,a,n){let o=this.getBucketName(n),e=r.sourceBucketName??o;if(!un(a))throw new Zr(`Invalid object name: ${a}`);let s=`${e}/${r.sourceKey}`;r.sourceVersionId&&(s+=`?versionId=${r.sourceVersionId}`);let j=new Headers(n?.metadata);n?.metadata!==void 0&&j.set("x-amz-metadata-directive","REPLACE"),j.set("x-amz-copy-source",s);let o0=await this.makeRequest({method:"PUT",bucketName:o,objectName:a,headers:j,returnBody:!0}),a0=await o0.text(),s0=on(a0).root;if(!s0||s0.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${a0}`);let c0=s0.children.find(b0=>b0.name==="ETag")?.content??"",A0=s0.children.find(b0=>b0.name==="LastModified")?.content;if(A0===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:k2(c0),lastModified:new Date(A0),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 ki&&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(!un(r))throw new Zr(`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 AL({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 Xb=Oe(_7());var mU=Oe(Md()),wU=Oe(Nc());var F2=require("node:fs"),B4=require("node:path");function rc0(i,r){return(0,F2.readFileSync)(i,"utf8").includes(r)}function fu(i,r){let a=(0,F2.readdirSync)(i);for(let n of a){let o=(0,B4.join)(i,n),e=(0,F2.statSync)(o);if(e.isDirectory()){if(fu(o,r))return!0}else if(e.isFile()&&(0,B4.extname)(o)===".js"&&rc0(o,r))return!0}return!1}function I4(i){return(0,F2.readdirSync)(i).indexOf("index.html")>-1}var U4=require("node:buffer"),lu=require("node:fs"),sU=require("node:os"),ln=require("node:path"),oU=require("node:process"),Kb=require("node:stream/consumers"),cU=require("node:zlib");var uU=Oe(aU()),fU=Oe(Md()),dU=Oe(so()),lU=Oe(X8());var Wc0=4096,Kc0=U4.Buffer.from([27,0,6]);async function Xc0(i,r){let n=(0,lu.statSync)(i).size;if(n===0)return Kc0;let o=await(0,Kb.buffer)((0,lu.createReadStream)(i)),e=await(0,Kb.buffer)((0,lu.createReadStream)(i).pipe((0,cU.createBrotliCompress)({})));if(n<Wc0||e.length>=n-10){let s=uU.compress(o,{mode:0,quality:0});if(s)return U4.Buffer.from(s);let j=(0,ln.join)(Kt((0,oU.cwd)()),Wt),a0=(await yt(void 0,r.packageJson||j)).get("@capgo/capacitor-updater"),s0=(0,fU.default)(a0);if(!a0||!s0)throw E0.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,dU.default)(s0,">=6.14.12 <7.0.0 || >=7.0.23"))throw E0.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:U4.Buffer.from([27,0,6,...o,3])}return e}async function hU(i,r,a,n,o,e){let s=Xe();s.start(o!=="v2"?"Generating the update manifest":"Generating the update manifest with v2 encryption");let j=await B_(i);return o==="v2"&&j.forEach(o0=>{o0.hash=No(o0.hash,e)}),s.stop("Manifest generated successfully"),await t6(r,{channel:"partial-update",event:"Generate manifest",icon:"\u{1F4C2}",user_id:a,tags:{"app-id":n},notify:!1}),j}function Jc0(i){return(0,sU.platform)()!=="win32"?i:ln.win32.normalize(i).split(ln.win32.sep).join(ln.posix.sep)}function Zc0(i){let r=i.split("/").map(a=>encodeURIComponent(a)).join("/");return(i.includes(" ")||r.includes("PreviewFrame"))&&(E0.warn(`File "${i}" contains spaces in its name.`),E0.warn(`File "${r}" contains spaces in its name.`)),r}async function pU(i,r,a,n,o,e,s,j){let o0=Xe();o0.start("Preparing partial update with TUS protocol");let a0=performance.now(),s0=await cr(),c0=r.filter(C0=>C0.file.includes(" "));if(c0.length>0)throw new Error(`Files with spaces in their names (${c0.map(C0=>C0.file).join(", ")}). Please rename the files.`);let A0=0,b0=r.length;try{let C0=r.map(async Z0=>{let F0=(0,ln.join)(a,Z0.file),W0=Jc0(Z0.file),X0=await Xc0(F0,j),gx=X0;s&&(gx=_o(X0,s.sessionKey,s.ivSessionKey));let tx=Zc0(W0),Qx=`orgs/${e}/apps/${n}/${o}/${tx}`;return new Promise((J0,Ox)=>{new lU.Upload(gx,{endpoint:`${s0.hostFilesApi}/files/upload/attachments/`,chunkSize:j.tusChunkSize,metadata:{filename:Qx},headers:{Authorization:i},onError(Xx){E0.info(`Failed to upload ${tx}: ${Xx}`),Ox(Xx)},onProgress(){let Xx=(A0/b0*100).toFixed(2);o0.message(`Uploading partial update: ${Xx}%`)},onSuccess(){A0++,J0({file_name:tx,s3_path:Qx,file_hash:Z0.hash})}}).start()})}),R0=await Promise.all(C0),U0=((performance.now()-a0)/1e3).toFixed(2);return o0.stop(`Partial update uploaded successfully \u{1F4AA} in (${U0} seconds)`),await t6(i,{channel:"app",event:"App Partial TUS done",icon:"\u23EB",user_id:e,tags:{"app-id":n},notify:!1}),await t6(i,{channel:"performance",event:"Partial upload performance",icon:"\u{1F684}",user_id:e,tags:{"app-id":n,time:U0},notify:!1}),R0}catch(C0){let I0=((performance.now()-a0)/1e3).toFixed(2);return o0.stop(`Failed to upload Partial bundle (after ${I0} seconds)`),E0.info(`Error uploading partial update: ${C0}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}async function $c0(i,r){let a=Kr("",r.packageJson),n=r.bundle||i?.plugins?.CapacitorUpdater?.version||a||`0.0.1-beta.${(0,bU.randomUUID)().split("-")[0]}`;return bo.test(n)||(E0.error(`Your bundle name ${n}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")),n}function xu0(i){let r=i.apikey||qe();return r||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r}function eu0(i,r,a){let n=Ge(i,a),o=r.path||a?.webDir;return n||(E0.error("Missing argument, you need to provide a appid or be in a capacitor project"),bx.error("")),o||(E0.error("Missing argument, you need to provide a path (--path), or be in a capacitor project"),bx.error("")),(0,_2.existsSync)(o)||(E0.error(`Path ${o} does not exist, build your app first, or provide a valid path`),bx.error("")),{appid:n,path:o}}function tu0(i,r){let a=i.codeCheck;(typeof a>"u"||a)&&(fu(r,"notifyAppReady")||(E0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),bx.error("")),I4(r)||(E0.error(`index.html is missing in the root folder of ${r}`),bx.error("")))}async function ru0(i,r,a,n,o,e){let s=a.ignoreMetadataCheck,j=a.autoMinUpdateVersion,o0=a.minUpdateVersion,{data:a0,error:s0}=await i.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",n).eq("app_id",o).single(),c0=!!a0&&a0.disable_auto_update==="version_number",A0,b0;if(!s0&&a0&&a0.version&&a0.version.native_packages&&!s){let I0=Xe();I0.start(`Checking bundle compatibility with channel ${n}`);let{finalCompatibility:U0,localDependencies:Z0}=await e4(i,o,n,a.packageJson,a.nodeModules);if(b0=U0,A0=Z0,b0.find(F0=>F0.localVersion!==F0.remoteVersion))I0.stop(`Bundle NOT compatible with ${n} channel`),E0.warn(`You can check compatibility with "${r.runner} @capgo/cli bundle compatibility"`),j&&(o0=e,E0.info(`Auto set min-update-version to ${o0}`));else if(j)try{let{min_update_version:F0}=a0.version;(!F0||!bo.test(F0))&&(E0.error("Invalid remote min update version, skipping auto setting compatibility"),bx.error("")),o0=F0,I0.stop(`Auto set min-update-version to ${o0}`)}catch{E0.error(`Cannot auto set compatibility, invalid data ${a0}`),bx.error("")}else I0.stop(`Bundle compatible with ${n} channel`)}else s||(E0.warn(`Channel ${n} is new or it's your first upload with compatibility check, it will be ignored this time`),A0=await Lp(a.packageJson,a.nodeModules),j&&(o0=e,E0.info(`Auto set min-update-version to ${o0}`)));c0&&!o0&&!s&&(E0.error("You need to provide a min-update-version to upload a bundle to this channel"),bx.error("")),o0&&(bo.test(o0)||(E0.error(`Your minimal version update ${o0}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")));let C0=A0?new Map(A0.filter(I0=>!!I0.native&&I0.native!==void 0).map(I0=>[I0.name,I0])):new Map;return{nativePackages:C0.size>0||!a.ignoreMetadataCheck?Array.from(C0,([I0,U0])=>({name:I0,version:U0.version})):void 0,minUpdateVersion:o0}}async function iu0(i,r,a){let{data:n,error:o}=await i.rpc("is_trial_org",{orgid:r}).single();(n&&n>0||o)&&(E0.warn(`WARNING !!
|
|
316
|
+
`)}async function vL(i,r,a){let n=F4(i),o=await yr("AWS4"+a,n),e=await yr(o,r),s=await yr(e,"s3");return await yr(s,"aws4_request")}function Tb(i,r,a){return`${i}/${Ib(r,a)}`}async function yr(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 AL(i){if(!i.accessKey)throw new cn("accessKey is required for signing");if(!i.secretKey)throw new Mo("secretKey is required for signing");if(i.expirySeconds<1)throw new C2("expirySeconds cannot be less than 1 seconds");if(i.expirySeconds>604800)throw new C2("expirySeconds cannot be greater than 7 days");let r=new Date(i.date);r.setSeconds(r.getSeconds()+i.expirySeconds);let a=r.toISOString(),n=Tb(i.accessKey,i.region,i.date),o=Lo(i.date),e={"X-Amz-Algorithm":cu,"X-Amz-Credential":n,"X-Amz-Date":o,key:i.objectKey,...i.fields||{}},s=[{bucket:i.bucket},{key:i.objectKey},{"X-Amz-Algorithm":cu},{"X-Amz-Credential":n},{"X-Amz-Date":o}];i.conditions&&s.push(...i.conditions);for(let[Z0,F0]of Object.entries(i.fields||{}))["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(Z0)||s.push({[Z0]:F0});let j={expiration:a,conditions:s},a0=new TextEncoder().encode(JSON.stringify(j)),s0=btoa(String.fromCharCode(...a0));e.policy=s0;let c0=s0,A0=await yr("AWS4"+i.secretKey,F4(i.date)),b0=await yr(A0,i.region),C0=await yr(b0,"s3"),R0=await yr(C0,"aws4_request"),I0=ou(await yr(R0,c0)).toLowerCase();return e["X-Amz-Signature"]=I0,{url:`${i.protocol}//${i.host}/${i.bucket}`,fields:e}}var xc0=["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"],ec0=5*1024*1024,tc0=5*1024*1024*1024,Rb=5*1024*1024*1024*1024,uu=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 ft("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let j=new URL(r);r=j.hostname,a=j.protocol==="https:",n=j.port?parseInt(j.port,10):a?443:80,j.pathname&&j.pathname!=="/"&&(o=j.pathname.endsWith("/")?j.pathname.slice(0,-1):j.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&&!pL(n))throw new ft(`Invalid port: ${n}`);if(e.accessKey&&!e.secretKey)throw new ft("If specifying access key, secret key must also be provided.");if(e.accessKey&&e.accessKey.startsWith("ASIA")&&!e.sessionToken)throw new ft("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 ft("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new ft("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new ft("pathPrefix should not end with /")}}getBucketName(r){let a=r?.bucketName??this.defaultBucket;if(a===void 0||!bL(a))throw new S4(`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:j}=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 a0=await O4(a??new Uint8Array);e.set("x-amz-date",Lo(o)),e.set("x-amz-content-sha256",a0),this.accessKey&&(this.sessionToken&&e.set("x-amz-security-token",this.sessionToken),e.set("authorization",await gL({headers:e,method:r,path:j,accessKey:this.accessKey,secretKey:this.#x,region:this.region,date:o})));let s0=`${this.protocol}//${s}${j}`,c0=await fetch(s0,{method:r,headers:e,body:a});if(c0.status!==o0)throw c0.status>=400?await hL(c0):c0.status===301?new ki(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 ki(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(!un(r))throw new Zr(`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 ki&&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(!un(r))throw new Zr(`Invalid object name: ${r}`);let s=new Headers(Object.entries(o.metadata??{})),j=200;if(a||n){let a0="";a?a0=`bytes=${+a}-`:(a0="bytes=0-",a=0),n&&(a0+=`${+n+a-1}`),s.set("Range",a0),j=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:j,returnBody:!0})}getPresignedUrl(r,a,n={}){if(!this.accessKey)throw new cn(`Presigned ${r} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!un(a))throw new Zr(`Invalid object name: ${a}`);let{headers:o,path:e}=this.buildRequestOptions({objectName:a,bucketName:n.bucketName,query:n.parameters}),s=n.requestDate??new Date,j=n.expirySeconds??24*60*60*7;return mL({protocol:this.protocol,headers:o,method:r,path:e,accessKey:this.accessKey,secretKey:this.#x,sessionToken:this.sessionToken,region:this.region,date:s,expirySeconds:j})}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 ft("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(),a0=on(o0).root;if(!a0||a0.name!=="ListBucketResult")throw new Error(`Unexpected response: ${o0}`);let s0=a0.children.filter(b0=>b0.name==="CommonPrefixes").flatMap(b0=>b0.children),c0=[];for(let b0 of s0)c0.push({type:"CommonPrefix",prefix:b0.content??""}),e++;for(let b0 of a0.children.filter(C0=>C0.name==="Contents"))c0.push({type:"Object",key:b0.children.find(C0=>C0.name==="Key")?.content??"",etag:k2(b0.children.find(C0=>C0.name==="ETag")?.content??""),size:parseInt(b0.children.find(C0=>C0.name==="Size")?.content??"",10),lastModified:new Date(b0.children.find(C0=>C0.name==="LastModified")?.content??"invalid")}),e++;c0.sort((b0,C0)=>{let R0=b0.type==="Object"?b0.key:b0.prefix,I0=C0.type==="Object"?C0.key:C0.prefix;return R0>I0?1:R0<I0?-1:0});for(let b0 of c0)yield b0;if(a0.children.find(b0=>b0.name==="IsTruncated")?.content==="true"){let b0=a0.children.find(C0=>C0.name==="NextContinuationToken")?.content;if(!b0)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");n=b0}else return}}async putObject(r,a,n){let o=this.getBucketName(n);if(!un(r))throw new Zr(`Invalid object name: ${r}`);let e,s;if(typeof a=="string"){let s0=new TextEncoder().encode(a);typeof ReadableStream.from<"u"?s=ReadableStream.from([s0]):s=new ReadableStream({start(c0){c0.enqueue(s0),c0.close()}}),e=s0.length}else if(a instanceof Uint8Array)typeof ReadableStream.from<"u"?s=ReadableStream.from([a]):s=new ReadableStream({start(s0){s0.enqueue(a),s0.close()}}),e=a.byteLength;else if(a instanceof ReadableStream)s=a;else throw new ft("Invalid stream/data type provided.");if(n?.size!==void 0){if(e!==void 0&&n?.size!==e)throw new ft(`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 ft(`invalid size specified: ${n.size}`);e=n.size}let j=n?.partSize??this.calculatePartSize(e);if(j<ec0)throw new ft("Part size should be greater than 5MB");if(j>tc0)throw new ft("Part size should be less than 6MB");let o0=new k4(j),a0=new P4({client:this,bucketName:o,objectName:r,partSize:j,metadata:n?.metadata??{}});return await s.pipeThrough(o0).pipeTo(a0),a0.getResult()}calculatePartSize(r){if(r===void 0&&(r=Rb),r>Rb)throw new TypeError(`size should not be more than ${Rb}`);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(!un(r))throw new Zr(`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 j of xc0)e.headers.has(j)&&(s[j]=e.headers.get(j));return e.headers.forEach((j,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:k2(e.headers.get("ETag")??"")}}async copyObject(r,a,n){let o=this.getBucketName(n),e=r.sourceBucketName??o;if(!un(a))throw new Zr(`Invalid object name: ${a}`);let s=`${e}/${r.sourceKey}`;r.sourceVersionId&&(s+=`?versionId=${r.sourceVersionId}`);let j=new Headers(n?.metadata);n?.metadata!==void 0&&j.set("x-amz-metadata-directive","REPLACE"),j.set("x-amz-copy-source",s);let o0=await this.makeRequest({method:"PUT",bucketName:o,objectName:a,headers:j,returnBody:!0}),a0=await o0.text(),s0=on(a0).root;if(!s0||s0.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${a0}`);let c0=s0.children.find(b0=>b0.name==="ETag")?.content??"",A0=s0.children.find(b0=>b0.name==="LastModified")?.content;if(A0===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:k2(c0),lastModified:new Date(A0),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 ki&&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(!un(r))throw new Zr(`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 AL({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 Xb=Oe(_7());var mU=Oe(Md()),wU=Oe(Nc());var F2=require("node:fs"),B4=require("node:path");function rc0(i,r){return(0,F2.readFileSync)(i,"utf8").includes(r)}function fu(i,r){let a=(0,F2.readdirSync)(i);for(let n of a){let o=(0,B4.join)(i,n),e=(0,F2.statSync)(o);if(e.isDirectory()){if(fu(o,r))return!0}else if(e.isFile()&&(0,B4.extname)(o)===".js"&&rc0(o,r))return!0}return!1}function I4(i){return(0,F2.readdirSync)(i).indexOf("index.html")>-1}var U4=require("node:buffer"),lu=require("node:fs"),sU=require("node:os"),ln=require("node:path"),oU=require("node:process"),Kb=require("node:stream/consumers"),cU=require("node:zlib");var uU=Oe(aU()),fU=Oe(Md()),dU=Oe(so()),lU=Oe(X8());var Wc0=4096,Kc0=U4.Buffer.from([27,0,6]);async function Xc0(i,r){let n=(0,lu.statSync)(i).size;if(n===0)return Kc0;let o=await(0,Kb.buffer)((0,lu.createReadStream)(i)),e=await(0,Kb.buffer)((0,lu.createReadStream)(i).pipe((0,cU.createBrotliCompress)({})));if(n<Wc0||e.length>=n-10){let s=uU.compress(o,{mode:0,quality:0});if(s)return U4.Buffer.from(s);let j=(0,ln.join)(Kt((0,oU.cwd)()),Wt),a0=(await yt(void 0,r.packageJson||j)).get("@capgo/capacitor-updater"),s0=(0,fU.default)(a0);if(!a0||!s0)throw E0.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,dU.default)(s0,">=6.14.12 <7.0.0 || >=7.0.23"))throw E0.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:U4.Buffer.from([27,0,6,...o,3])}return e}async function hU(i,r,a,n,o,e){let s=Xe();s.start(o!=="v2"?"Generating the update manifest":"Generating the update manifest with v2 encryption");let j=await B_(i);return o==="v2"&&j.forEach(o0=>{o0.hash=No(o0.hash,e)}),s.stop("Manifest generated successfully"),await t6(r,{channel:"partial-update",event:"Generate manifest",icon:"\u{1F4C2}",user_id:a,tags:{"app-id":n},notify:!1}),j}function Jc0(i){return(0,sU.platform)()!=="win32"?i:ln.win32.normalize(i).split(ln.win32.sep).join(ln.posix.sep)}function Zc0(i){let r=i.split("/").map(a=>encodeURIComponent(a)).join("/");return(i.includes(" ")||r.includes("PreviewFrame"))&&(E0.warn(`File "${i}" contains spaces in its name.`),E0.warn(`File "${r}" contains spaces in its name.`)),r}async function pU(i,r,a,n,o,e,s,j){let o0=Xe();o0.start("Preparing partial update with TUS protocol");let a0=performance.now(),s0=await cr(),c0=r.filter(C0=>C0.file.includes(" "));if(c0.length>0)throw new Error(`Files with spaces in their names (${c0.map(C0=>C0.file).join(", ")}). Please rename the files.`);let A0=0,b0=r.length;try{let C0=r.map(async Z0=>{let F0=(0,ln.join)(a,Z0.file),W0=Jc0(Z0.file),X0=await Xc0(F0,j),gx=X0;s&&(gx=_o(X0,s.sessionKey,s.ivSessionKey));let tx=Zc0(W0),Qx=`orgs/${e}/apps/${n}/${o}/${tx}`;return new Promise((J0,Ox)=>{new lU.Upload(gx,{endpoint:`${s0.hostFilesApi}/files/upload/attachments/`,chunkSize:j.tusChunkSize,metadata:{filename:Qx},headers:{Authorization:i},onError(Xx){E0.info(`Failed to upload ${tx}: ${Xx}`),Ox(Xx)},onProgress(){let Xx=(A0/b0*100).toFixed(2);o0.message(`Uploading partial update: ${Xx}%`)},onSuccess(){A0++,J0({file_name:tx,s3_path:Qx,file_hash:Z0.hash})}}).start()})}),R0=await Promise.all(C0),U0=((performance.now()-a0)/1e3).toFixed(2);return o0.stop(`Partial update uploaded successfully \u{1F4AA} in (${U0} seconds)`),await t6(i,{channel:"app",event:"App Partial TUS done",icon:"\u23EB",user_id:e,tags:{"app-id":n},notify:!1}),await t6(i,{channel:"performance",event:"Partial upload performance",icon:"\u{1F684}",user_id:e,tags:{"app-id":n,time:U0},notify:!1}),R0}catch(C0){let I0=((performance.now()-a0)/1e3).toFixed(2);return o0.stop(`Failed to upload Partial bundle (after ${I0} seconds)`),E0.info(`Error uploading partial update: ${C0}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}async function $c0(i,r){let a=Kr("",r.packageJson),n=r.bundle||i?.plugins?.CapacitorUpdater?.version||a||`0.0.1-beta.${(0,bU.randomUUID)().split("-")[0]}`;return bo.test(n)||(E0.error(`Your bundle name ${n}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")),n}function xu0(i){let r=i.apikey||He();return r||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r}function eu0(i,r,a){let n=Ge(i,a),o=r.path||a?.webDir;return n||(E0.error("Missing argument, you need to provide a appid or be in a capacitor project"),bx.error("")),o||(E0.error("Missing argument, you need to provide a path (--path), or be in a capacitor project"),bx.error("")),(0,_2.existsSync)(o)||(E0.error(`Path ${o} does not exist, build your app first, or provide a valid path`),bx.error("")),{appid:n,path:o}}function tu0(i,r){let a=i.codeCheck;(typeof a>"u"||a)&&(fu(r,"notifyAppReady")||(E0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),bx.error("")),I4(r)||(E0.error(`index.html is missing in the root folder of ${r}`),bx.error("")))}async function ru0(i,r,a,n,o,e){let s=a.ignoreMetadataCheck,j=a.autoMinUpdateVersion,o0=a.minUpdateVersion,{data:a0,error:s0}=await i.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",n).eq("app_id",o).single(),c0=!!a0&&a0.disable_auto_update==="version_number",A0,b0;if(!s0&&a0&&a0.version&&a0.version.native_packages&&!s){let I0=Xe();I0.start(`Checking bundle compatibility with channel ${n}`);let{finalCompatibility:U0,localDependencies:Z0}=await e4(i,o,n,a.packageJson,a.nodeModules);if(b0=U0,A0=Z0,b0.find(F0=>F0.localVersion!==F0.remoteVersion))I0.stop(`Bundle NOT compatible with ${n} channel`),E0.warn(`You can check compatibility with "${r.runner} @capgo/cli bundle compatibility"`),j&&(o0=e,E0.info(`Auto set min-update-version to ${o0}`));else if(j)try{let{min_update_version:F0}=a0.version;(!F0||!bo.test(F0))&&(E0.error("Invalid remote min update version, skipping auto setting compatibility"),bx.error("")),o0=F0,I0.stop(`Auto set min-update-version to ${o0}`)}catch{E0.error(`Cannot auto set compatibility, invalid data ${a0}`),bx.error("")}else I0.stop(`Bundle compatible with ${n} channel`)}else s||(E0.warn(`Channel ${n} is new or it's your first upload with compatibility check, it will be ignored this time`),A0=await Lp(a.packageJson,a.nodeModules),j&&(o0=e,E0.info(`Auto set min-update-version to ${o0}`)));c0&&!o0&&!s&&(E0.error("You need to provide a min-update-version to upload a bundle to this channel"),bx.error("")),o0&&(bo.test(o0)||(E0.error(`Your minimal version update ${o0}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")));let C0=A0?new Map(A0.filter(I0=>!!I0.native&&I0.native!==void 0).map(I0=>[I0.name,I0])):new Map;return{nativePackages:C0.size>0||!a.ignoreMetadataCheck?Array.from(C0,([I0,U0])=>({name:I0,version:U0.version})):void 0,minUpdateVersion:o0}}async function iu0(i,r,a){let{data:n,error:o}=await i.rpc("is_trial_org",{orgid:r}).single();(n&&n>0||o)&&(E0.warn(`WARNING !!
|
|
317
317
|
Trial expires in ${n} days`),E0.warn(`Upgrade here: ${a.hostWeb}/dashboard/settings/plans?oid=${r}`))}async function nu0(i,r,a){let{data:n,error:o}=await i.rpc("exist_app_versions",{appid:r,apikey:"",name_version:a}).single();(n||o)&&(E0.error(`Version ${a} already exists ${Ee(o)}`),bx.error(""))}async function au0(i,r,a,n,o,e,s){let j,o0,a0="",s0=null,c0="none",A0="",b0=r.keyV2,C0=r.key===!1;s0=await $d(i);let R0=Xe();R0.start("Calculating checksum");let I0=(0,gU.join)(Kt((0,q4.cwd)()),Wt),Z0=(await yt(void 0,r.packageJson||I0)).get("@capgo/capacitor-updater"),F0=!1,W0=(0,mU.default)(Z0);if(Z0)W0&&(F0=(0,wU.default)(W0.version,"7.0.0"));else{E0.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"),bx.error("");return}if((b0||r.keyDataV2||(0,_2.existsSync)(Yt))&&!C0||F0?a0=await(0,Xb.checksum)(s0,"sha256"):a0=await(0,Xb.checksum)(s0,"crc32"),R0.stop(`Checksum: ${a0}`),C0)E0.info("Encryption ignored");else if((b0||(0,_2.existsSync)(Yt)||r.keyDataV2)&&!r.oldEncryption){let tx=typeof b0=="string"?b0:Yt,Qx=r.keyDataV2||"";!Qx&&!(0,_2.existsSync)(tx)&&(E0.error(`Cannot find private key ${tx}`),bx.error("")),await t6(a,{channel:"app",event:"App encryption v2",icon:"\u{1F511}",user_id:n,tags:{"app-id":o},notify:!1}),Qx||(Qx=(0,_2.readFileSync)(tx).toString()),E0.info("Encrypting your bundle with V2");let{sessionKey:J0,ivSessionKey:Ox}=C4(Qx),Tx=_o(s0,J0,Ox);a0=No(a0,Qx),j=Ox,o0=J0,c0="v2",A0=Qx,r.displayIvSession&&E0.info(`Your Iv Session key is ${j},
|
|
318
318
|
keep it safe, you will need it to decrypt your bundle.
|
|
319
319
|
It will be also visible in your dashboard
|
|
@@ -321,14 +321,14 @@ Trial expires in ${n} days`),E0.warn(`Upgrade here: ${a.hostWeb}/dashboard/setti
|
|
|
321
321
|
The bundle size is ${X0} Mb, this may take a while to download for users
|
|
322
322
|
`),E0.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
323
323
|
`),await t6(a,{channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":o},notify:!1})),{zipped:s0,ivSessionKey:j,sessionKey:o0,checksum:a0,encryptionMethod:c0,finalKeyData:A0}}async function su0(i,r,a,n,o,e,s,j){let o0=Xe();o0.start("Uploading Bundle");let a0=performance.now(),s0=!1;if(s.dryUpload){o0.stop(`Dry run, bundle not uploaded
|
|
324
|
-
Bundle uploaded \u{1F4AA} in 0 seconds`);return}try{let b0=await cr();if(s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?E0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):E0.info("Uploading bundle with TUS protocol"),await I_(i,e,o,a,n,o0,b0,j),s0=!0;let C0=`orgs/${o}/apps/${a}/${n}.zip`,{error:R0}=await r.from("app_versions").update({r2_path:C0}).eq("name",n).eq("app_id",a);if(R0)return E0.error(`Cannot finish TUS upload ${Ee(R0)}`),Promise.reject(new Error("Cannot finish TUS upload"))}else{let C0=await O_(r,a,n);if(!C0)return E0.error("Cannot get upload url"),Promise.reject(new Error("Cannot get upload url"));await Hi.put(C0,{timeout:s.timeout||b_,retry:5,body:e,headers:{"Content-Type":"application/zip"}})}}catch(b0){let R0=((performance.now()-a0)/1e3).toFixed(2);if(o0.stop(`Failed to upload bundle ( after ${R0} seconds)`),b0 instanceof qi)try{let I0=await b0.response.text();if(I0.startsWith("<?xml")){let U0=I0.match(/<Message>(.*?)<\/Message>/s),Z0=U0?U0[1]:"Unknown S3 error";E0.error(`S3 Upload Error: ${Z0}`)}else{let U0=JSON.parse(I0);E0.error(`Response Error: ${U0.error||U0.status||U0.message}`)}}catch{E0.error(`Upload failed with status ${b0.response.status}: ${b0.message}`)}else s.tus?E0.error(`Cannot upload bundle please contact support if the issue persists ${Ee(b0)}`):E0.error(`Cannot upload bundle ( try again with --tus option) ${Ee(b0)}`);await T_(r,a,n),bx.error("")}let A0=((performance.now()-a0)/1e3).toFixed(2);o0.stop(`Bundle uploaded \u{1F4AA} in (${A0} seconds)`),await t6(i,{channel:"performance",event:s0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:A0},notify:!1})}async function ou0(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){E0.error(`Cannot delete linked bundle on upload ${Ee(o)}`);return}if(n.length===0){E0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){E0.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){E0.error(`Cannot delete linked bundle on upload ${Ee(s)}`);return}E0.info("Linked bundle deleted")}async function cu0(i,r,a,n,o,e,s,j,o0){let{data:a0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:j}).single();a0||(E0.warn("Cannot get version id, cannot set channel"),bx.error(""));let{data:s0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(s0){let{error:c0,data:A0}=await x4(i,{name:o,app_id:j,created_by:e,version:a0,owner_org:s});c0&&(E0.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${Ee(c0)}`),bx.error(""));let b0=p2(j),C0=`${o0.hostWeb}/app/p/${b0}/channel/${A0.id}`;A0?.public?E0.info("Your update is now available in your public channel \u{1F389}"):A0?.id&&E0.info(`Link device to this bundle to try it: ${C0}`),a?E0.info(`Bundle url: ${C0}`):a0||(E0.warn("Cannot set bundle with upload key, use key with more rights for that"),bx.error(""))}else E0.warn("The upload key is not allowed to set the version in the channel")}async function uu0(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").single();if(n){E0.warn("Cannot find default upload channel");let e=p2(i);return E0.info(`You can set it here: ${a}/app/p/${e}/settings`),null}return o.default_upload_channel}async function Jb(i,r,a=!0){Ae(`Uploading with CLI version ${hr.version}`);let n,o=_t();await r6();let{s3Region:e,s3Apikey:s,s3Apisecret:j,s3BucketName:o0,s3Endpoint:a0,s3Port:s0,s3SSL:c0}=r,A0=xu0(r),b0=await Se(),C0=await y_(),{appid:R0,path:I0}=eu0(i,r,b0.config),U0=await $c0(b0.config,r);r.autoSetBundle&&await Yc({version:U0}),tu0(r,I0),E0.info(`Upload ${R0}@${U0} started from path "${I0}" to Capgo cloud`);let Z0=await cr(),F0=await Me(A0),W0=await He(F0,A0,["write","all","upload"]),X0=r.channel||await uu0(R0,F0,Z0.hostWeb)||"dev",gx=await ur(F0,R0);await E_(F0,gx,hr.version),await C_(F0,gx,A0,R0,!0),await iu0(F0,gx,Z0);let{nativePackages:tx,minUpdateVersion:Qx}=await ru0(F0,o,r,X0,R0,U0);await nu0(F0,R0,U0),r.external&&!r.external.startsWith("https://")&&(E0.error(`External link should should start with "https://" current is "${r.external}"`),bx.error("")),r.deleteLinkedBundleOnUpload&&(E0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),E0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let J0={name:U0,app_id:R0,session_key:void 0,external_url:r.external,storage_provider:r.external?"external":"r2-direct",min_update_version:Qx,native_packages:tx,owner_org:gx,user_id:W0,checksum:void 0},Ox=null,Tx="none",Xx="";if(r.external)await t6(A0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:gx,tags:{"app-id":R0},notify:!1}),J0.session_key=r.ivSessionKey,J0.checksum=r.encryptedChecksum;else{let{zipped:V0,ivSessionKey:M0,checksum:G0,sessionKey:nx,encryptionMethod:Nx,finalKeyData:Ix}=await au0(I0,r,A0,gx,R0,C0.maxUploadLength,C0.alertUploadSize);J0.session_key=M0,J0.checksum=G0,n=nx,Ox=V0,Tx=Nx,Xx=Ix,r.ignoreChecksumCheck||await __(F0,R0,X0,G0)}r.zip||!C0.TUSUpload||r.external?r.tus=!1:r.tus=r.tus||C0.TUSUploadForced,!C0.partialUpload||r.external?r.partial=!1:r.partial=r.partial||r.partialOnly||C0.partialUploadForced,r.encryptPartial&&Tx==="v1"&&(E0.error("You cannot encrypt the partial update if you are not using the v2 encryption method"),bx.error(""));let ee=r.partial?await hU(I0,A0,gx,R0,r.encryptPartial?Tx:"none",Xx):[],{error:ue}=await Mp(F0,J0);if(ue&&(E0.error(`Cannot add bundle ${Ee(ue)}`),bx.error("")),r.tusChunkSize&&r.tusChunkSize>C0.maxChunkSize?(E0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${C0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=C0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=C0.maxChunkSize),Ox&&(o0||a0||e||s||j||s0||c0)){(!o0||!a0||!e||!s||!j||!s0)&&(E0.error("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),bx.error("")),E0.info("Uploading to S3");let V0=c0?`https://${a0}`:`http://${a0}`,M0=new uu({endPoint:a0,region:e,port:s0,pathStyle:!0,bucket:o0,accessKey:s,secretKey:j}),G0=`${R0}-${U0}`,nx=encodeURIComponent(G0);await M0.putObject(G0,Uint8Array.from(Ox)),J0.external_url=`${V0}/${nx}`,J0.storage_provider="external"}else if(Ox){r.partialOnly||await su0(A0,F0,R0,U0,gx,Ox,r,r.tusChunkSize);let V0=null;try{r.dryUpload&&(r.partial=!1);let G0=J0.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:J0.session_key}:void 0;V0=r.partial?await pU(A0,ee,I0,R0,U0,gx,G0,r):null}catch(G0){E0.info(`Failed to upload partial files to capgo cloud. Error: ${Ee(G0)}. This is not a critical error, the bundle has been uploaded without the partial files`)}J0.storage_provider="r2",J0.manifest=V0;let{error:M0}=await Mp(F0,J0);M0&&(E0.error(`Cannot update bundle ${Ee(M0)}`),bx.error(""))}let S0=await p6(F0,A0,R0,2);return r.deleteLinkedBundleOnUpload&&Rp(S0,3)?await ou0(F0,R0,X0):r.deleteLinkedBundleOnUpload&&E0.warn("Cannot delete linked bundle on upload as a upload organization member"),Rp(S0,3)?await cu0(F0,A0,!!r.bundleUrl,U0,X0,W0,gx,R0,Z0):E0.warn("Cannot set channel as a upload organization member"),await t6(A0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:gx,tags:{"app-id":R0},notify:!1}),a&&(we("Time to share your update to the world \u{1F30D}"),(0,q4.exit)()),!0}function fu0(i){i.ivSessionKey&&!i.external&&(E0.error("You need to provide an external url if you want to use the --iv-session-key option"),bx.error("")),i.encryptedChecksum&&!i.external&&(E0.error("You need to provide an external url if you want to use the --encrypted-checksum option"),bx.error("")),i.partial&&i.external&&(E0.error("You cannot use the --partial option with an external url"),bx.error("")),i.tus&&i.external&&(E0.error("You cannot use the --tus option with an external url"),bx.error("")),i.dryUpload&&i.external&&(E0.error("You cannot use the --dry-upload option with an external url"),bx.error("")),i.multipart&&i.external&&(E0.error("You cannot use the --multipart option with an external url"),bx.error("")),i.external&&(i.keyV2||i.keyDataV2)&&(E0.error("You cannot set a key if you are uploading to an external url"),bx.error("")),i.keyV2&&i.keyDataV2&&(E0.error("You cannot set both key-v2 and key-data-v2"),bx.error("")),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&(E0.error("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),bx.error("")),i.encryptedChecksum&&!i.external&&(E0.error("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),bx.error("")),i.minUpdateVersion&&i.autoMinUpdateVersion&&(E0.error("You cannot set both min-update-version and auto-min-update-version, use only one of them"),bx.error(""))}async function yU(i,r){try{fu0(r),await Jb(i,r,!0)}catch(a){E0.error(Ee(a)),bx.error("")}}var DU=require("node:crypto"),H4=require("node:fs"),vU=require("node:process");var Zb=Oe(_7());var du0=20;async function AU(i,r){try{let{bundle:a,path:n}=r,{json:o}=r;o||await r6();let e=await Se();i=Ge(i,e?.config);let s=(0,DU.randomUUID)().split("-")[0],j=Kr("",r.packageJson);a=a||j||`0.0.1-beta.${s}`,o||Ae(`Zipping ${i}@${a}`),a&&!bo.test(a)&&(o?console.error(Ee({error:"invalid_semver"})):E0.error(`Your bundle name ${a}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")),n=n||e?.config?.webDir,(!i||!a||!n)&&(o?console.error(Ee({error:"missing_argument"})):E0.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project"),bx.error("")),o||E0.info(`Started from path "${n}"`);let o0=r.codeCheck;(typeof o0>"u"||o0)&&(fu(n,"notifyAppReady")||(o?console.error(Ee({error:"notifyAppReady_not_in_source_code"})):E0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),bx.error("")),I4(n)||(o?console.error(Ee({error:"index_html_not_found"})):E0.error(`index.html is missing in the root folder of ${n}`),bx.error("")));let a0=await $d(n);o||E0.info(`Zipped ${a0.byteLength} bytes`);let s0=Xe();o||s0.start("Calculating checksum");let c0="";r.keyV2||(0,H4.existsSync)(Yt)?c0=await(0,Zb.checksum)(a0,"sha256"):c0=await(0,Zb.checksum)(a0,"crc32"),o||s0.stop(`Checksum: ${c0}`);let A0=Math.floor(a0.byteLength/1024/1024);A0>du0&&!o&&(E0.warn(`WARNING !!
|
|
324
|
+
Bundle uploaded \u{1F4AA} in 0 seconds`);return}try{let b0=await cr();if(s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?E0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):E0.info("Uploading bundle with TUS protocol"),await I_(i,e,o,a,n,o0,b0,j),s0=!0;let C0=`orgs/${o}/apps/${a}/${n}.zip`,{error:R0}=await r.from("app_versions").update({r2_path:C0}).eq("name",n).eq("app_id",a);if(R0)return E0.error(`Cannot finish TUS upload ${Ee(R0)}`),Promise.reject(new Error("Cannot finish TUS upload"))}else{let C0=await O_(r,a,n);if(!C0)return E0.error("Cannot get upload url"),Promise.reject(new Error("Cannot get upload url"));await Hi.put(C0,{timeout:s.timeout||b_,retry:5,body:e,headers:{"Content-Type":"application/zip"}})}}catch(b0){let R0=((performance.now()-a0)/1e3).toFixed(2);if(o0.stop(`Failed to upload bundle ( after ${R0} seconds)`),b0 instanceof qi)try{let I0=await b0.response.text();if(I0.startsWith("<?xml")){let U0=I0.match(/<Message>(.*?)<\/Message>/s),Z0=U0?U0[1]:"Unknown S3 error";E0.error(`S3 Upload Error: ${Z0}`)}else{let U0=JSON.parse(I0);E0.error(`Response Error: ${U0.error||U0.status||U0.message}`)}}catch{E0.error(`Upload failed with status ${b0.response.status}: ${b0.message}`)}else s.tus?E0.error(`Cannot upload bundle please contact support if the issue persists ${Ee(b0)}`):E0.error(`Cannot upload bundle ( try again with --tus option) ${Ee(b0)}`);await T_(r,a,n),bx.error("")}let A0=((performance.now()-a0)/1e3).toFixed(2);o0.stop(`Bundle uploaded \u{1F4AA} in (${A0} seconds)`),await t6(i,{channel:"performance",event:s0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:A0},notify:!1})}async function ou0(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){E0.error(`Cannot delete linked bundle on upload ${Ee(o)}`);return}if(n.length===0){E0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){E0.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){E0.error(`Cannot delete linked bundle on upload ${Ee(s)}`);return}E0.info("Linked bundle deleted")}async function cu0(i,r,a,n,o,e,s,j,o0){let{data:a0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:j}).single();a0||(E0.warn("Cannot get version id, cannot set channel"),bx.error(""));let{data:s0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(s0){let{error:c0,data:A0}=await x4(i,{name:o,app_id:j,created_by:e,version:a0,owner_org:s});c0&&(E0.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${Ee(c0)}`),bx.error(""));let b0=p2(j),C0=`${o0.hostWeb}/app/p/${b0}/channel/${A0.id}`;A0?.public?E0.info("Your update is now available in your public channel \u{1F389}"):A0?.id&&E0.info(`Link device to this bundle to try it: ${C0}`),a?E0.info(`Bundle url: ${C0}`):a0||(E0.warn("Cannot set bundle with upload key, use key with more rights for that"),bx.error(""))}else E0.warn("The upload key is not allowed to set the version in the channel")}async function uu0(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").single();if(n){E0.warn("Cannot find default upload channel");let e=p2(i);return E0.info(`You can set it here: ${a}/app/p/${e}/settings`),null}return o.default_upload_channel}async function Jb(i,r,a=!0){Ae(`Uploading with CLI version ${hr.version}`);let n,o=_t();await r6();let{s3Region:e,s3Apikey:s,s3Apisecret:j,s3BucketName:o0,s3Endpoint:a0,s3Port:s0,s3SSL:c0}=r,A0=xu0(r),b0=await Se(),C0=await y_(),{appid:R0,path:I0}=eu0(i,r,b0.config),U0=await $c0(b0.config,r);r.autoSetBundle&&await Yc({version:U0}),tu0(r,I0),E0.info(`Upload ${R0}@${U0} started from path "${I0}" to Capgo cloud`);let Z0=await cr(),F0=await Me(A0),W0=await Ue(F0,A0,["write","all","upload"]),X0=r.channel||await uu0(R0,F0,Z0.hostWeb)||"dev",gx=await ur(F0,R0);await E_(F0,gx,hr.version),await C_(F0,gx,A0,R0,!0),await iu0(F0,gx,Z0);let{nativePackages:tx,minUpdateVersion:Qx}=await ru0(F0,o,r,X0,R0,U0);await nu0(F0,R0,U0),r.external&&!r.external.startsWith("https://")&&(E0.error(`External link should should start with "https://" current is "${r.external}"`),bx.error("")),r.deleteLinkedBundleOnUpload&&(E0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),E0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let J0={name:U0,app_id:R0,session_key:void 0,external_url:r.external,storage_provider:r.external?"external":"r2-direct",min_update_version:Qx,native_packages:tx,owner_org:gx,user_id:W0,checksum:void 0},Ox=null,Tx="none",Xx="";if(r.external)await t6(A0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:gx,tags:{"app-id":R0},notify:!1}),J0.session_key=r.ivSessionKey,J0.checksum=r.encryptedChecksum;else{let{zipped:V0,ivSessionKey:M0,checksum:G0,sessionKey:nx,encryptionMethod:Nx,finalKeyData:Ix}=await au0(I0,r,A0,gx,R0,C0.maxUploadLength,C0.alertUploadSize);J0.session_key=M0,J0.checksum=G0,n=nx,Ox=V0,Tx=Nx,Xx=Ix,r.ignoreChecksumCheck||await __(F0,R0,X0,G0)}r.zip||!C0.TUSUpload||r.external?r.tus=!1:r.tus=r.tus||C0.TUSUploadForced,!C0.partialUpload||r.external?r.partial=!1:r.partial=r.partial||r.partialOnly||C0.partialUploadForced,r.encryptPartial&&Tx==="v1"&&(E0.error("You cannot encrypt the partial update if you are not using the v2 encryption method"),bx.error(""));let ee=r.partial?await hU(I0,A0,gx,R0,r.encryptPartial?Tx:"none",Xx):[],{error:ue}=await Mp(F0,J0);if(ue&&(E0.error(`Cannot add bundle ${Ee(ue)}`),bx.error("")),r.tusChunkSize&&r.tusChunkSize>C0.maxChunkSize?(E0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${C0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=C0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=C0.maxChunkSize),Ox&&(o0||a0||e||s||j||s0||c0)){(!o0||!a0||!e||!s||!j||!s0)&&(E0.error("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),bx.error("")),E0.info("Uploading to S3");let V0=c0?`https://${a0}`:`http://${a0}`,M0=new uu({endPoint:a0,region:e,port:s0,pathStyle:!0,bucket:o0,accessKey:s,secretKey:j}),G0=`${R0}-${U0}`,nx=encodeURIComponent(G0);await M0.putObject(G0,Uint8Array.from(Ox)),J0.external_url=`${V0}/${nx}`,J0.storage_provider="external"}else if(Ox){r.partialOnly||await su0(A0,F0,R0,U0,gx,Ox,r,r.tusChunkSize);let V0=null;try{r.dryUpload&&(r.partial=!1);let G0=J0.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:J0.session_key}:void 0;V0=r.partial?await pU(A0,ee,I0,R0,U0,gx,G0,r):null}catch(G0){E0.info(`Failed to upload partial files to capgo cloud. Error: ${Ee(G0)}. This is not a critical error, the bundle has been uploaded without the partial files`)}J0.storage_provider="r2",J0.manifest=V0;let{error:M0}=await Mp(F0,J0);M0&&(E0.error(`Cannot update bundle ${Ee(M0)}`),bx.error(""))}let S0=await p6(F0,A0,R0,2);return r.deleteLinkedBundleOnUpload&&Rp(S0,3)?await ou0(F0,R0,X0):r.deleteLinkedBundleOnUpload&&E0.warn("Cannot delete linked bundle on upload as a upload organization member"),Rp(S0,3)?await cu0(F0,A0,!!r.bundleUrl,U0,X0,W0,gx,R0,Z0):E0.warn("Cannot set channel as a upload organization member"),await t6(A0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:gx,tags:{"app-id":R0},notify:!1}),a&&(we("Time to share your update to the world \u{1F30D}"),(0,q4.exit)()),!0}function fu0(i){i.ivSessionKey&&!i.external&&(E0.error("You need to provide an external url if you want to use the --iv-session-key option"),bx.error("")),i.encryptedChecksum&&!i.external&&(E0.error("You need to provide an external url if you want to use the --encrypted-checksum option"),bx.error("")),i.partial&&i.external&&(E0.error("You cannot use the --partial option with an external url"),bx.error("")),i.tus&&i.external&&(E0.error("You cannot use the --tus option with an external url"),bx.error("")),i.dryUpload&&i.external&&(E0.error("You cannot use the --dry-upload option with an external url"),bx.error("")),i.multipart&&i.external&&(E0.error("You cannot use the --multipart option with an external url"),bx.error("")),i.external&&(i.keyV2||i.keyDataV2)&&(E0.error("You cannot set a key if you are uploading to an external url"),bx.error("")),i.keyV2&&i.keyDataV2&&(E0.error("You cannot set both key-v2 and key-data-v2"),bx.error("")),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&(E0.error("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),bx.error("")),i.encryptedChecksum&&!i.external&&(E0.error("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),bx.error("")),i.minUpdateVersion&&i.autoMinUpdateVersion&&(E0.error("You cannot set both min-update-version and auto-min-update-version, use only one of them"),bx.error(""))}async function yU(i,r){try{fu0(r),await Jb(i,r,!0)}catch(a){E0.error(Ee(a)),bx.error("")}}var DU=require("node:crypto"),H4=require("node:fs"),vU=require("node:process");var Zb=Oe(_7());var du0=20;async function AU(i,r){try{let{bundle:a,path:n}=r,{json:o}=r;o||await r6();let e=await Se();i=Ge(i,e?.config);let s=(0,DU.randomUUID)().split("-")[0],j=Kr("",r.packageJson);a=a||j||`0.0.1-beta.${s}`,o||Ae(`Zipping ${i}@${a}`),a&&!bo.test(a)&&(o?console.error(Ee({error:"invalid_semver"})):E0.error(`Your bundle name ${a}, is not valid it should follow semver convention : https://semver.org/`),bx.error("")),n=n||e?.config?.webDir,(!i||!a||!n)&&(o?console.error(Ee({error:"missing_argument"})):E0.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project"),bx.error("")),o||E0.info(`Started from path "${n}"`);let o0=r.codeCheck;(typeof o0>"u"||o0)&&(fu(n,"notifyAppReady")||(o?console.error(Ee({error:"notifyAppReady_not_in_source_code"})):E0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready"),bx.error("")),I4(n)||(o?console.error(Ee({error:"index_html_not_found"})):E0.error(`index.html is missing in the root folder of ${n}`),bx.error("")));let a0=await $d(n);o||E0.info(`Zipped ${a0.byteLength} bytes`);let s0=Xe();o||s0.start("Calculating checksum");let c0="";r.keyV2||(0,H4.existsSync)(Yt)?c0=await(0,Zb.checksum)(a0,"sha256"):c0=await(0,Zb.checksum)(a0,"crc32"),o||s0.stop(`Checksum: ${c0}`);let A0=Math.floor(a0.byteLength/1024/1024);A0>du0&&!o&&(E0.warn(`WARNING !!
|
|
325
325
|
The bundle size is ${A0} Mb, this may take a while to download for users
|
|
326
326
|
`),E0.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
327
|
-
`));let b0=Xe(),C0=r.name||`${i}_${a}.zip`;o||b0.start(`Saving to ${C0}`),(0,H4.writeFileSync)(C0,a0),o||b0.stop(`Saved to ${C0}`),o||we("Done \u2705"),o&&console.log(JSON.stringify({bundle:a,filename:C0,checksum:c0},null,2)),(0,vU.exit)()}catch(a){E0.error(Ee(a)),bx.error("")}}var EU=require("node:process");async function $b(i,r,a,n=!0){Ae("Create channel"),a.apikey=a.apikey||
|
|
328
|
-
${Ee(o0.error)}`),bx.error("")),E0.success("Channel created \u2705"),await t6(a.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:j,tags:{"app-id":r,channel:i},notify:!1}).catch()}catch{return E0.error("Cannot create Channel \u{1F640}"),!1}return n&&(we("Done \u2705"),(0,EU.exit)()),!0}async function CU(i,r,a){$b(i,r,a,!0)}var kU=require("node:process");async function SU(i,r,a){let{quiet:n}=a;n||Ae("List current bundle"),a.apikey=a.apikey||qe(n);let o=await Se();r=Ge(r,o?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let e=await Me(a.apikey),s=await He(e,a.apikey,["write","all","read"]);await p6(e,a.apikey,r,1),i||(E0.error("Please provide a channel to get the bundle from."),bx.error(""));let{data:j,error:o0}=await e.from("channels").select("version ( name )").eq("name",i).eq("app_id",r).limit(1);(o0||j.length===0)&&(E0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),bx.error(""));let{version:a0}=j[0];a0||(E0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),bx.error("")),n?E0.info(a0.name):E0.info(`Current bundle for channel ${i} is ${a0.name}`),(0,kU.exit)()}var FU=require("node:process");async function OU(i,r,a){Ae("Delete channel"),a.apikey=a.apikey||qe();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey),e=await He(o,a.apikey,["all"]);if(await p6(o,a.apikey,r,4),a.deleteBundle){E0.info(`Deleting bundle ${r}#${i} from Capgo`);let s=await YM(o,r,i);s&&s.name&&(E0.info(`Deleting bundle ${s.name} from Capgo`),await Fb(o,r,s.name))}E0.info(`Deleting channel ${r}#${i} from Capgo`);try{let s=await zM(o,i,r,e);s.error&&(E0.error(`Cannot delete Channel \u{1F640} ${Ee(s.error)}`),bx.error(""));let j=await ur(o,r);E0.success("Channel deleted"),await t6(a.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:j,tags:{"user-id":e,"app-id":r,channel:i},notify:!1}).catch()}catch{E0.error("Cannot delete Channel \u{1F640}")}we("Done \u2705"),(0,FU.exit)()}var PU=require("node:process");async function BU(i,r){Ae("List channels"),r.apikey=r.apikey||qe();let a=await Se();i=Ge(i,a?.config),r.apikey||E0.error("Missing API key, you need to provide a API key to upload your bundle"),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey),o=await He(n,r.apikey,["write","all","read","upload"]);await p6(n,r.apikey,i,1),E0.info("Querying available channels in Capgo");let e=await KM(n,i);E0.info(`Active channels in Capgo: ${e?.length}`),WM(e),await t6(r.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:o,tags:{"app-id":i},notify:!1}).catch(),we("Done \u2705"),(0,PU.exit)()}var TU=require("node:process");var IU=["major","minor","metadata","patch","none"];async function RU(i,r,a){Ae("Set channel"),a.apikey=a.apikey||qe();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey),e=await He(o,a.apikey,["write","all"]);await p6(o,a.apikey,r,4);let s=await ur(o,r),{bundle:j,state:o0,downgrade:a0,latest:s0,upgrade:c0,ios:A0,android:b0,selfAssign:C0,disableAutoUpdate:R0,dev:I0,emulator:U0}=a;i||(E0.error("Missing argument, you need to provide a channel"),bx.error("")),s0&&j&&(E0.error("Cannot set latest and bundle at the same time"),bx.error("")),j==null&&o0==null&&s0==null&&a0==null&&c0==null&&A0==null&&b0==null&&C0==null&&I0==null&&U0==null&&R0==null&&(E0.error("Missing argument, you need to provide a option to set"),bx.error(""));try{await Zd(o,s,a.apikey,r);let Z0={created_by:e,app_id:r,name:i,owner_org:s,version:void 0},F0=s0?n?.config?.plugins?.CapacitorUpdater?.version||Kr("",a.packageJson):j;if(F0!=null){let{data:W0,error:X0}=await o.from("app_versions").select().eq("app_id",r).eq("name",F0).eq("user_id",e).eq("deleted",!1).single();(X0||!W0)&&(E0.error(`Cannot find version ${F0}`),bx.error("")),E0.info(`Set ${r} channel: ${i} to @${F0}`),Z0.version=W0.id}if(o0!=null&&((o0==="public"||o0==="private")&&E0.info(`Set ${r} channel: ${i} to public or private is deprecated, use default or normal instead`),E0.info(`Set ${r} channel: ${i} to ${o0==="public"||o0==="default"?"default":"normal"}`),Z0.public=o0==="public"||o0==="default"),a0!=null&&(E0.info(`Set ${r} channel: ${i} to ${a0?"allow":"disallow"} downgrade`),Z0.disable_auto_update_under_native=!a0),A0!=null&&(E0.info(`Set ${r} channel: ${i} to ${A0?"allow":"disallow"} ios update`),Z0.ios=!!A0),b0!=null&&(E0.info(`Set ${r} channel: ${i} to ${b0?"allow":"disallow"} android update`),Z0.android=!!b0),C0!=null&&(E0.info(`Set ${r} channel: ${i} to ${C0?"allow":"disallow"} self assign to this channel`),Z0.allow_device_self_set=!!C0),R0!=null){let W0=R0.toLocaleLowerCase();IU.includes(W0)||(E0.error(`Channel strategy ${W0} is not known. The possible values are: ${IU.join(", ")}.`),bx.error("")),W0==="metadata"&&(W0="version_number"),Z0.disable_auto_update=W0,E0.info(`Set ${r} channel: ${i} to ${W0} disable update strategy to this channel`)}try{let{error:W0}=await x4(o,Z0);W0&&(E0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),bx.error(""))}catch{E0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),bx.error("")}await t6(a.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:s,tags:{"app-id":r},notify:!1}).catch()}catch(Z0){E0.error(`Unknow error ${Ee(Z0)}`),bx.error("")}we("Done \u2705"),(0,TU.exit)()}var pu=require("node:child_process"),c6=require("node:fs"),hn=require("node:path"),i6=require("node:process");var Q4=Oe(_c()),V4=Oe(XU());var Dt=require("node:fs");async function Ou0(i,r=!0){r&&Ae("Save keys \u{1F511}");let a=await Se(),n=i.key||yi,o=i.keyData||"";if(!(0,Dt.existsSync)(n)&&!o)if(E0)E0.error(`Cannot find a public key at ${n} or as keyData option or in ${a.path}`),bx.error("");else return!1;else(0,Dt.existsSync)(n)&&(o=(0,Dt.readFileSync)(n).toString());if(o&&!o.startsWith("-----BEGIN RSA PUBLIC KEY-----"))if(E0)E0.error("the public key provided is not a valid RSA Public key"),bx.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,E0.info("Old private key deleted from config file"),await a6({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 nn(a)),r&&(E0.success(`public key saved into ${a.path} file in local directory`),E0.success("your app will decode the zip archive with this key")),!0}async function Pu0(i,r=!0){r&&Ae("Deleting old private key \u{1F5D1}\uFE0F");let a=await Se();if(a?.config?.plugins?.CapacitorUpdater?.privateKey){if(delete a.config.plugins.CapacitorUpdater.privateKey,await nn(a),(0,Dt.existsSync)(po))try{(0,Dt.unlinkSync)(po),r&&E0.success(`Old private key file deleted: ${po}`)}catch{r&&E0.error(`Failed to delete old private key file: ${po}`)}if((0,Dt.existsSync)(Xd))try{(0,Dt.unlinkSync)(Xd),r&&E0.success(`Old public key file deleted: ${Xd}`)}catch{r&&E0.error(`Failed to delete old public key file: ${yi}`)}return r&&E0.success(`Old private key deleted from ${a.path} file`),!0}else return r&&E0.info("No old private key found in config file"),!1}async function JU(i){Ae("Save keys \u{1F511}"),await r6(),await Ou0(i)}async function sg(i,r=!0){r&&Ae("Create keys \u{1F511}");let{publicKey:a,privateKey:n}=rL();if((0,Dt.existsSync)(yi)&&!i.force)if(E0.error("Public Key already exists, use --force to overwrite"),r)bx.error("");else return!1;if((0,Dt.writeFileSync)(yi,a),(0,Dt.existsSync)(Yt)&&!i.force)if(E0.error("Private Key already exists, use --force to overwrite"),r)bx.error("");else return!1;(0,Dt.writeFileSync)(Yt,n);let o=await Se();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,E0.info("Old private key deleted from config file"),await a6({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,nn(o)),E0&&(E0.success("Your RSA key has been generated"),E0.success(`Private key saved in ${Yt}`),E0.success("This key will be use to encrypt your bundle before sending it to Capgo"),E0.success("Keep it safe"),E0.success("Than make it unreadable by Capgo and unmodifiable by anyone"),E0.success(`Public key saved in ${o.path}`),E0.success("Your app will be the only one having it"),E0.success("Only your users can decrypt your update"),E0.success("Only you can send them an update"),we("Done \u2705")),!0}async function ZU(i){await r6(),await sg(i)}async function $U(i){await r6(),await Pu0(i)}var Fi=require("node:fs"),cg=require("node:os"),og=require("node:process");async function xq(){let i=(0,cg.homedir)();return(0,Fi.existsSync)(`${i}/.capgo`)||(0,Fi.existsSync)(".capgo")}async function ug(i,r,a=!0){if(a&&Ae("Login to Capgo"),!i)return a&&(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),!1;await r6();try{let{local:n}=r;if(n)(0,Fi.existsSync)(".git")||(E0.error("To use local you should be in a git repository"),bx.error("")),(0,Fi.writeFileSync)(".capgo",`${i}
|
|
327
|
+
`));let b0=Xe(),C0=r.name||`${i}_${a}.zip`;o||b0.start(`Saving to ${C0}`),(0,H4.writeFileSync)(C0,a0),o||b0.stop(`Saved to ${C0}`),o||we("Done \u2705"),o&&console.log(JSON.stringify({bundle:a,filename:C0,checksum:c0},null,2)),(0,vU.exit)()}catch(a){E0.error(Ee(a)),bx.error("")}}var EU=require("node:process");async function $b(i,r,a,n=!0){Ae("Create channel"),a.apikey=a.apikey||He();let o=await Se();r=Ge(r,o?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let e=await Me(a.apikey);await Ue(e,a.apikey,["write","all"]),await p6(e,a.apikey,r,4),E0.info(`Creating channel ${r}#${i} to Capgo`);try{let s=await Sb(e,r),j=await ur(e,r),o0=await Ue(e,a.apikey,["write","all"]);s||(E0.error("Cannot find default version for channel creation, please contact Capgo support \u{1F928}"),bx.error(""));let a0=await QM(e,{name:i,app_id:r,version:s.id,created_by:o0,owner_org:j});a0.error&&(E0.error(`Cannot create Channel \u{1F640}
|
|
328
|
+
${Ee(a0.error)}`),bx.error("")),E0.success("Channel created \u2705"),await t6(a.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:j,tags:{"app-id":r,channel:i},notify:!1}).catch()}catch{return E0.error("Cannot create Channel \u{1F640}"),!1}return n&&(we("Done \u2705"),(0,EU.exit)()),!0}async function CU(i,r,a){$b(i,r,a,!0)}var kU=require("node:process");async function SU(i,r,a){let{quiet:n}=a;n||Ae("List current bundle"),a.apikey=a.apikey||He(n);let o=await Se();r=Ge(r,o?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let e=await Me(a.apikey),s=await Ue(e,a.apikey,["write","all","read"]);await p6(e,a.apikey,r,1),i||(E0.error("Please provide a channel to get the bundle from."),bx.error(""));let{data:j,error:o0}=await e.from("channels").select("version ( name )").eq("name",i).eq("app_id",r).limit(1);(o0||j.length===0)&&(E0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),bx.error(""));let{version:a0}=j[0];a0||(E0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exists?`),bx.error("")),n?E0.info(a0.name):E0.info(`Current bundle for channel ${i} is ${a0.name}`),(0,kU.exit)()}var FU=require("node:process");async function OU(i,r,a){Ae("Delete channel"),a.apikey=a.apikey||He();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey),e=await Ue(o,a.apikey,["all"]);if(await p6(o,a.apikey,r,4),a.deleteBundle){E0.info(`Deleting bundle ${r}#${i} from Capgo`);let s=await YM(o,r,i);s&&s.name&&(E0.info(`Deleting bundle ${s.name} from Capgo`),await Fb(o,r,s.name))}E0.info(`Deleting channel ${r}#${i} from Capgo`);try{let s=await zM(o,i,r,e);s.error&&(E0.error(`Cannot delete Channel \u{1F640} ${Ee(s.error)}`),bx.error(""));let j=await ur(o,r);E0.success("Channel deleted"),await t6(a.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:j,tags:{"user-id":e,"app-id":r,channel:i},notify:!1}).catch()}catch{E0.error("Cannot delete Channel \u{1F640}")}we("Done \u2705"),(0,FU.exit)()}var PU=require("node:process");async function BU(i,r){Ae("List channels"),r.apikey=r.apikey||He();let a=await Se();i=Ge(i,a?.config),r.apikey||E0.error("Missing API key, you need to provide a API key to upload your bundle"),i||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let n=await Me(r.apikey),o=await Ue(n,r.apikey,["write","all","read","upload"]);await p6(n,r.apikey,i,1),E0.info("Querying available channels in Capgo");let e=await KM(n,i);E0.info(`Active channels in Capgo: ${e?.length}`),WM(e),await t6(r.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:o,tags:{"app-id":i},notify:!1}).catch(),we("Done \u2705"),(0,PU.exit)()}var TU=require("node:process");var IU=["major","minor","metadata","patch","none"];async function RU(i,r,a){Ae("Set channel"),a.apikey=a.apikey||He();let n=await Se();r=Ge(r,n?.config),a.apikey||(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),r||(E0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),bx.error(""));let o=await Me(a.apikey),e=await Ue(o,a.apikey,["write","all"]);await p6(o,a.apikey,r,4);let s=await ur(o,r),{bundle:j,state:o0,downgrade:a0,latest:s0,upgrade:c0,ios:A0,android:b0,selfAssign:C0,disableAutoUpdate:R0,dev:I0,emulator:U0}=a;i||(E0.error("Missing argument, you need to provide a channel"),bx.error("")),s0&&j&&(E0.error("Cannot set latest and bundle at the same time"),bx.error("")),j==null&&o0==null&&s0==null&&a0==null&&c0==null&&A0==null&&b0==null&&C0==null&&I0==null&&U0==null&&R0==null&&(E0.error("Missing argument, you need to provide a option to set"),bx.error(""));try{await Zd(o,s,a.apikey,r);let Z0={created_by:e,app_id:r,name:i,owner_org:s,version:void 0},F0=s0?n?.config?.plugins?.CapacitorUpdater?.version||Kr("",a.packageJson):j;if(F0!=null){let{data:W0,error:X0}=await o.from("app_versions").select().eq("app_id",r).eq("name",F0).eq("user_id",e).eq("deleted",!1).single();(X0||!W0)&&(E0.error(`Cannot find version ${F0}`),bx.error("")),E0.info(`Set ${r} channel: ${i} to @${F0}`),Z0.version=W0.id}if(o0!=null&&((o0==="public"||o0==="private")&&E0.info(`Set ${r} channel: ${i} to public or private is deprecated, use default or normal instead`),E0.info(`Set ${r} channel: ${i} to ${o0==="public"||o0==="default"?"default":"normal"}`),Z0.public=o0==="public"||o0==="default"),a0!=null&&(E0.info(`Set ${r} channel: ${i} to ${a0?"allow":"disallow"} downgrade`),Z0.disable_auto_update_under_native=!a0),A0!=null&&(E0.info(`Set ${r} channel: ${i} to ${A0?"allow":"disallow"} ios update`),Z0.ios=!!A0),b0!=null&&(E0.info(`Set ${r} channel: ${i} to ${b0?"allow":"disallow"} android update`),Z0.android=!!b0),C0!=null&&(E0.info(`Set ${r} channel: ${i} to ${C0?"allow":"disallow"} self assign to this channel`),Z0.allow_device_self_set=!!C0),R0!=null){let W0=R0.toLocaleLowerCase();IU.includes(W0)||(E0.error(`Channel strategy ${W0} is not known. The possible values are: ${IU.join(", ")}.`),bx.error("")),W0==="metadata"&&(W0="version_number"),Z0.disable_auto_update=W0,E0.info(`Set ${r} channel: ${i} to ${W0} disable update strategy to this channel`)}try{let{error:W0}=await x4(o,Z0);W0&&(E0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),bx.error(""))}catch{E0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),bx.error("")}await t6(a.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:s,tags:{"app-id":r},notify:!1}).catch()}catch(Z0){E0.error(`Unknow error ${Ee(Z0)}`),bx.error("")}we("Done \u2705"),(0,TU.exit)()}var pu=require("node:child_process"),c6=require("node:fs"),hn=require("node:path"),i6=require("node:process");var Q4=Oe(_c()),V4=Oe(XU());var Dt=require("node:fs");async function Ou0(i,r=!0){r&&Ae("Save keys \u{1F511}");let a=await Se(),n=i.key||yi,o=i.keyData||"";if(!(0,Dt.existsSync)(n)&&!o)if(E0)E0.error(`Cannot find a public key at ${n} or as keyData option or in ${a.path}`),bx.error("");else return!1;else(0,Dt.existsSync)(n)&&(o=(0,Dt.readFileSync)(n).toString());if(o&&!o.startsWith("-----BEGIN RSA PUBLIC KEY-----"))if(E0)E0.error("the public key provided is not a valid RSA Public key"),bx.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,E0.info("Old private key deleted from config file"),await a6({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 nn(a)),r&&(E0.success(`public key saved into ${a.path} file in local directory`),E0.success("your app will decode the zip archive with this key")),!0}async function Pu0(i,r=!0){r&&Ae("Deleting old private key \u{1F5D1}\uFE0F");let a=await Se();if(a?.config?.plugins?.CapacitorUpdater?.privateKey){if(delete a.config.plugins.CapacitorUpdater.privateKey,await nn(a),(0,Dt.existsSync)(po))try{(0,Dt.unlinkSync)(po),r&&E0.success(`Old private key file deleted: ${po}`)}catch{r&&E0.error(`Failed to delete old private key file: ${po}`)}if((0,Dt.existsSync)(Xd))try{(0,Dt.unlinkSync)(Xd),r&&E0.success(`Old public key file deleted: ${Xd}`)}catch{r&&E0.error(`Failed to delete old public key file: ${yi}`)}return r&&E0.success(`Old private key deleted from ${a.path} file`),!0}else return r&&E0.info("No old private key found in config file"),!1}async function JU(i){Ae("Save keys \u{1F511}"),await r6(),await Ou0(i)}async function sg(i,r=!0){r&&Ae("Create keys \u{1F511}");let{publicKey:a,privateKey:n}=rL();if((0,Dt.existsSync)(yi)&&!i.force)if(E0.error("Public Key already exists, use --force to overwrite"),r)bx.error("");else return!1;if((0,Dt.writeFileSync)(yi,a),(0,Dt.existsSync)(Yt)&&!i.force)if(E0.error("Private Key already exists, use --force to overwrite"),r)bx.error("");else return!1;(0,Dt.writeFileSync)(Yt,n);let o=await Se();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,E0.info("Old private key deleted from config file"),await a6({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,nn(o)),E0&&(E0.success("Your RSA key has been generated"),E0.success(`Private key saved in ${Yt}`),E0.success("This key will be use to encrypt your bundle before sending it to Capgo"),E0.success("Keep it safe"),E0.success("Than make it unreadable by Capgo and unmodifiable by anyone"),E0.success(`Public key saved in ${o.path}`),E0.success("Your app will be the only one having it"),E0.success("Only your users can decrypt your update"),E0.success("Only you can send them an update"),we("Done \u2705")),!0}async function ZU(i){await r6(),await sg(i)}async function $U(i){await r6(),await Pu0(i)}var Fi=require("node:fs"),cg=require("node:os"),og=require("node:process");async function xq(){let i=(0,cg.homedir)();return(0,Fi.existsSync)(`${i}/.capgo`)||(0,Fi.existsSync)(".capgo")}async function ug(i,r,a=!0){if(a&&Ae("Login to Capgo"),!i)return a&&(E0.error("Missing API key, you need to provide a API key to upload your bundle"),bx.error("")),!1;await r6();try{let{local:n}=r;if(n)(0,Fi.existsSync)(".git")||(E0.error("To use local you should be in a git repository"),bx.error("")),(0,Fi.writeFileSync)(".capgo",`${i}
|
|
329
329
|
`),(0,Fi.appendFileSync)(".gitignore",`.capgo
|
|
330
330
|
`);else{let s=(0,cg.homedir)();(0,Fi.writeFileSync)(`${s}/.capgo`,`${i}
|
|
331
|
-
`)}let o=await Me(i),e=await
|
|
331
|
+
`)}let o=await Me(i),e=await Ue(o,i,["write","all","upload"]);await t6(i,{channel:"user-login",event:"User CLI login",icon:"\u2705",user_id:e,notify:!1}).catch(),E0.success(`login saved into .capgo file in ${n?"local":"home"} directory`)}catch{E0.error("Error while saving login"),(0,og.exit)(1)}return a&&(we("Done \u2705"),(0,og.exit)()),!0}async function eq(i,r){ug(i,r,!0)}var tq="import { CapacitorUpdater } from '@capgo/capacitor-updater'",j4="CapacitorUpdater.notifyAppReady()",Bu0=/import.*from.*/g,hu="production",rq={stdio:"pipe"},Wo,N2;function iq(){Wo||(Wo=(0,c6.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 ei(i,r){try{iq(),(0,c6.writeFileSync)(Wo,JSON.stringify(r?{step_done:i,pathToPackageJson:r}:{step_done:i,pathToPackageJson:N2})),r&&(N2=r)}catch(a){E0.error(`Cannot mark step as done in the CLI, error:
|
|
332
332
|
${a}`),E0.warn("Onboarding will continue but please report it to the capgo team!")}}async function Iu0(i,r){try{iq();let a=(0,c6.readFileSync)(Wo,"utf-8");if(!a||a.length===0)return;let{step_done:n,pathToPackageJson:o}=JSON.parse(a);E0.info(`You have already got to the step ${n}/10 in the previous session`);let e=await a6({message:"Would you like to continue from where you left off?"});return await ti(e,i,r),e?(o&&(N2=o),n):void 0}catch(a){E0.error(`Cannot read which steps have been compleated, error:
|
|
333
333
|
${a}`),E0.warn("Onboarding will continue but please report it to the capgo team!");return}}function Tu0(){if(Wo)try{(0,c6.rmSync)(Wo)}catch(i){E0.error(`Cannot delete the tmp steps file.
|
|
334
334
|
Error: ${i}`)}}async function ti(i,r,a){U6(i)&&(await Ai("onboarding-v2",r,a,"canceled","\u{1F937}"),(0,i6.exit)())}async function Dr(i,r,a){return Ai("onboarding-v2",i,r,`onboarding-step-${a}`)}async function Ru0(i,r,a,n){let o=_t(),e=await a6({message:`Add ${a} in Capgo?`});if(await ti(e,i.gid,r),e){let s=Xe();s.start(`Running: ${o.runner} @capgo/cli@latest app add ${a}`),await lb(a,n,i,!1)?s.stop("App add Done \u2705"):s.stop("App already add \u2705")}else E0.info(`If you change your mind, run it for yourself with: "${o.runner} @capgo/cli@latest app add ${a}"`);await Dr(i.gid,r,2)}async function _u0(i,r,a){let n=_t(),o=await a6({message:`Create default channel ${hu} for ${a} in Capgo?`});if(await ti(o,i,r),o){let e=Xe();e.start(`Running: ${n.runner} @capgo/cli@latest channel add ${hu} ${a} --default`),await $b(hu,a,{default:!0,apikey:r},!1)?e.stop("Channel add Done \u2705"):e.stop("Channel already added \u2705")}else E0.info(`If you change your mind, run it for yourself with: "${n.runner} @capgo/cli@latest channel add ${hu} ${a} --default"`);await Dr(i,r,3)}async function Nu0(i){let r=(0,hn.join)(Kt((0,i6.cwd)()),Wt),a=N2?await yt(void 0,N2):await yt(void 0,r);if(a.size===0||!a.has("@capacitor/core")){E0.warn("No adequate dependencies found");let n=await a6({message:"Would you like to select the package.json file manually?"});if(U6(n)&&(vn("Operation cancelled."),(0,i6.exit)(1)),n){let o=await a6({message:"Would you like to use a tree selector to choose the package.json file?"});if(U6(o)&&(vn("Operation cancelled."),(0,i6.exit)(1)),o){let s=(0,i6.cwd)(),j=Wt;for(;;){let o0=(0,c6.readdirSync)(s).map(a0=>({value:a0,label:a0}));if(o0.push({value:"..",label:".."}),j=await Dn({message:"Select package.json file:",options:o0}),U6(j)&&(vn("Operation cancelled."),(0,i6.exit)(1)),!(0,c6.statSync)((0,hn.join)(s,j)).isDirectory()&&j!==Wt){E0.error("Selected a file that is not a package.json file");continue}if(s=(0,hn.join)(s,j),j===Wt)break}return await ei(i,s),{dependencies:await yt(void 0,s),path:s}}let e=await Qu({message:"Enter path to node_modules folder:"});return U6(e)&&(vn("Operation cancelled."),(0,i6.exit)(1)),(0,c6.existsSync)(e)||(E0.error(`Path ${e} does not exist`),(0,i6.exit)(1)),{dependencies:await yt(void 0,e),path:e}}}return await ei(i,r),{dependencies:await yt(void 0,r),path:r}}var Mu0="https://capacitorjs.com/docs/updating/6-0",Lu0="https://capacitorjs.com/docs/updating/7-0";async function Uu0(i,r,a){let n=_t(),o=await a6({message:`Automatic Install "@capgo/capacitor-updater" dependency in ${a}?`});if(await ti(o,i,r),o){let e=Xe(),s="latest",{dependencies:j,path:o0}=await Nu0(3);e.start("Checking if @capgo/capacitor-updater is installed"),j.has("@capacitor/core")||(e.stop("Error"),E0.warn("Cannot find @capacitor/core in package.json"),we("Bye \u{1F44B}"),(0,i6.exit)());let a0=j.get("@capacitor/core");if(a0||(e.stop("Error"),E0.warn("Cannot find @capacitor/core in package.json, please run `capgo init` in a capacitor project"),we("Bye \u{1F44B}"),(0,i6.exit)()),(0,Q4.default)(a0,"6.0.0")?(e.stop("Error"),E0.warn(`@capacitor/core version is ${a0}, Capgo only support 2 last Capacitor versions, please update to Capacitor v6 minimum: ${Mu0}`),we("Bye \u{1F44B}"),(0,i6.exit)()):(0,Q4.default)(a0,"7.0.0")&&(e.stop(`@capacitor/core version is ${a0}, update to Capacitor v7 minimum: ${Lu0} to get the best features of Capgo`),s="^7.0.0"),n.pm==="unknown"&&(e.stop("Error"),E0.warn("Cannot reconize package manager, please run `capgo init` in a capacitor project with npm, pnpm, bun or yarn"),we("Bye \u{1F44B}"),(0,i6.exit)()),j.get("@capgo/capacitor-updater"))e.stop("Capgo already installed \u2705");else{await(0,pu.execSync)(`${n.installCommand} @capgo/capacitor-updater@${s}`,{...rq,cwd:o0.replace("/package.json","")});let s0=await Kr(void 0,o0);await Yc({version:s0||"1.0.0",appId:a,autoUpdate:!0}),e.stop("Install Done \u2705")}}else E0.info(`If you change your mind, run it for yourself with: "${n.installCommand} @capgo/capacitor-updater@latest"`);await Dr(i,r,4)}async function qu0(i,r,a){let n=await a6({message:`Automatic Add "${j4}" code and import in ${a}?`});if(await ti(n,i,r),n){let o=Xe();o.start("Adding @capacitor-updater to your main file");let e=await Np();if(e==="nuxtjs-js"||e==="nuxtjs-ts"){let s=(0,hn.join)("plugins");(0,c6.existsSync)(s)||(0,c6.mkdirSync)(s,{recursive:!0});let j;e==="nuxtjs-ts"?j=(0,hn.join)(s,"capacitorUpdater.client.ts"):j=(0,hn.join)(s,"capacitorUpdater.client.js");let o0=`
|
|
@@ -346,7 +346,7 @@ ${j4};
|
|
|
346
346
|
${tq};
|
|
347
347
|
|
|
348
348
|
${j4};
|
|
349
|
-
`)}async function Hu0(i,r,a){let o=(await yt()).get("@capacitor/core");o||E0.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=_t(),s=await a6({message:`Automatic configure end-to-end encryption in ${a} updates?`});if(await ti(s,i,r),s){if(o&&(0,Q4.default)(o,"6.0.0")){E0.warn("Encryption is not supported in Capacitor V5.");return}let j=Xe();j.start(`Running: ${e.runner} @capgo/cli@latest key create`),await sg({force:!0},!1)?j.stop("key created \u{1F511}"):(j.stop("Error"),E0.warn("Cannot create key \u274C"),we("Bye \u{1F44B}"),(0,i6.exit)(1)),Ai("onboarding-v2",i,r,"Use encryption v2")}await Dr(i,r,6)}async function Gu0(i,r,a){let n=_t(),o=await a6({message:`Automatic build ${a} with "${n.pm} run build" ?`});if(await ti(o,i,r),o){let e=Xe(),s=await Np(),j=await S_(s);e.start(`Running: ${n.pm} run ${j} && ${n.runner} cap sync`),(await w_())[j]||(e.stop("Error"),E0.warn(`Cannot find ${j} script in package.json, please add it and run \`capgo init\` again`),we("Bye \u{1F44B}"),(0,i6.exit)()),(0,pu.execSync)(`${n.pm} run ${j} && ${n.runner} cap sync`,rq),e.stop("Build & Sync Done \u2705")}else E0.info(`Build yourself with command: ${n.pm} run build && ${n.runner} cap sync`);await Dr(i,r,7)}async function ju0(i,r,a){let n=_t(),o=await a6({message:`Automatic upload ${a} bundle to Capgo?`});if(await ti(o,i,r),o){let e=Xe(),s;e.start(`Running: ${n.runner} @capgo/cli@latest bundle upload`);let j=g_((0,i6.cwd)());N2&&j&&(E0.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"),E0.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,hn.join)(Kt((0,i6.cwd)()),"node_modules"),E0.warn(`Guessed node modules path at: ${s}`),(0,c6.existsSync)(s)||(E0.error("Node modules path does not exist, upload skipped"),we("Bye \u{1F44B}"),(0,i6.exit)(1))),await Jb(a,{channel:hu,apikey:r,packageJson:j?N2:void 0,nodeModules:j?s:void 0},!1)?e.stop("Upload Done \u2705"):(e.stop("Error"),E0.warn("Upload failed \u274C"),we("Bye \u{1F44B}"),(0,i6.exit)())}else E0.info(`Upload yourself with command: ${n.runner} @capgo/cli@latest bundle upload`);await Dr(i,r,8)}async function Vu0(i,r){let a=_t(),n=await a6({message:"Run in device now ?"});if(await ti(n,i,r),n){let o=await Dn({message:"Pick a platform to run your app",options:[{value:"ios",label:"IOS"},{value:"android",label:"Android"}]});U6(o)&&(we("Bye \u{1F44B}"),(0,i6.exit)());let e=o,s=Xe();s.start(`Running: ${a.runner} cap run ${e}`),await(0,pu.spawnSync)(a.runner,["cap","run",e],{stdio:"inherit"}),s.stop("Started Done \u2705")}else E0.info(`If you change your mind, run it for yourself with: ${a.runner} cap run <ios|android>`);await Dr(i,r,9)}async function Qu0(i,r,a,n){let o=await a6({message:"Automatic check if update working in device ?"});if(await ti(o,i,r),o)E0.info(`Wait logs sent to Capgo from ${a} device, Please open your app \u{1F4AA}`),await pb("onboarding-v2",r,a,r,i);else{let e=p2(a);E0.info(`Check logs in ${n}/app/p/${e}/logs to see if update works.`)}await Dr(i,r,10)}async function nq(i,r,a){let n=_t();Ae("Capgo onboarding \u{1F6EB}"),await r6();let o=!a.supaAnon||!a.supaHost?await Se():await Yc({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 cr();r=Ge(r,o?.config),a.apikey=i||qe(),r===void 0&&(r=await Qu({message:"Enter your appId:"}),U6(r)&&(vn("Operation cancelled."),(0,i6.exit)(1)));let s=Xe();(!xq()||i)&&(s.start(`Running: ${n.runner} @capgo/cli@latest login ***`),await ug(a.apikey,a,!1),s.stop("Login Done \u2705"));let j=await Me(a.apikey);await He(j,a.apikey,["upload","all","read","write"]);let o0=await mo(j,["admin","super_admin"]),a0=o0.gid,s0=await Iu0(a0,a.apikey)??0;try{s0<1&&await Dr(a0,a.apikey,1),s0<2&&(await Ru0(o0,a.apikey,r,a),ei(2)),s0<3&&(await _u0(a0,a.apikey,r),ei(3)),s0<4&&(await Uu0(a0,a.apikey,r),ei(4)),s0<5&&(await qu0(a0,a.apikey,r),ei(5)),s0<6&&(await Hu0(a0,a.apikey,r),ei(6)),s0<7&&(await Gu0(a0,a.apikey,r),ei(7)),s0<8&&(await ju0(a0,a.apikey,r),ei(8)),s0<9&&(await Vu0(a0,a.apikey),ei(9)),await Qu0(a0,a.apikey,r,e.hostWeb),await Dr(a0,a.apikey,0),Tu0()}catch(c0){console.error(c0),E0.error("Error during onboarding, please try again later"),(0,i6.exit)(1)}E0.info("Welcome onboard \u2708\uFE0F!"),E0.info("Your Capgo update system is setup"),E0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),E0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),we("Bye \u{1F44B}"),(0,i6.exit)()}async function aq(i){Ae("Getting user id"),i.apikey=i.apikey||qe();let r=await Me(i.apikey),a=await He(r,i.apikey,["read","all","write"]);we(`Done \u2705: ${a}`)}bx.name(hr.name).description("Manage packages and bundle versions in Capgo Cloud").version(hr.version,"-v, --version","output the current version");bx.command("login [apikey]").alias("l").description("Save apikey to your machine or folder").action(eq).option("--local","Only save in local folder");bx.command("doctor").description("Get info about your Capgo app install").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").action(AM);bx.command("init [apikey] [appId]").alias("i").description("Init a new app").action(nq).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("--supa-host <supaHost>","Supabase host URL").option("--supa-anon <supaAnon>","Supabase anon token");var Ko=bx.command("app").description("Manage app");Ko.command("add [appId]").alias("a").description("Add a new app in Capgo Cloud").action(wM).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("delete [appId]").description("Delete an app in Capgo Cloud").action(vM).option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("list").alias("l").description("list apps in Capgo Cloud").action(CM).option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("debug [appId]").description("Listen for live updates event in Capgo Cloud to debug your app").option("-a, --apikey <apikey>","apikey to link to your account").option("-d, --device <device>","the specific device to debug").action(yM);Ko.command("setting [path]").description("Modifies capacitor config programmatically").option("--bool <bool>","A value for the setting to modify as a boolean").option("--string <string>","A value for the setting to modify as a string").action(OM);Ko.command("set [appId]").alias("s").description("Set an app in Capgo Cloud").action(FM).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account").option("-r, --retention <retention>","retention period of app bundle in days");var pn=bx.command("bundle").description("Manage bundle");pn.command("upload [appId]").alias("u").description("Upload a new bundle in Capgo Cloud").action(yU).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--iv-session-key <key>","Set the iv and session key for bundle url external").option("--s3-region <region>","Region for your S3 bucket").option("--s3-apikey <apikey>","Apikey for your S3 endpoint").option("--s3-apisecret <apisecret>","Api secret for your S3 endpoint").option("--s3-endoint <s3Endpoint>","Url of S3 endpoint").option("--s3-bucket-name <bucketName>","Name for your AWS S3 bucket").option("--s3-port <port>","Port for your S3 endpoint").option("--no-s3-ssl","Disable SSL for S3 upload").option("--key-v2 <key>","custom path for private signing key (v2 system)").option("--key-data-v2 <keyDataV2>","private signing key (v2 system)").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the bundle to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel").option("--auto-min-update-version","Set the min update version based on native packages").option("--ignore-metadata-check","Ignores the metadata (node_modules) check when uploading").option("--ignore-checksum-check","Ignores the checksum check when uploading").option("--timeout <timeout>","Timeout for the upload process in seconds").option("--multipart","Uses multipart protocol to upload data to S3, Deprecated, use tus instead").option("--zip","Upload the bundle using zip to Capgo cloud (legacy)").option("--tus","Upload the bundle using TUS to Capgo cloud").option("--tus-chunk-size <tusChunkSize>","Chunk size for the TUS upload").option("--partial","Upload partial files to Capgo cloud").option("--partial-only","Upload only partial files to Capgo cloud, skip the zipped file, useful for big bundle").option("--encrypted-checksum <encryptedChecksum>","An encrypted checksum (signature). Used only when uploading an external bundle.").option("--auto-set-bundle","Set the bundle in capacitor.config.json").option("--dry-upload","Dry upload the bundle process, mean it will not upload the files but add the row in database (useful for testing)").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").option("--node-modules <nodeModules>","A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules)").option("--encrypt-partial","Encrypt the partial update files").option("--delete-linked-bundle-on-upload","Locates the currently linked bundle in the channel you are trying to upload to, and deletes it");pn.command("compatibility [appId]").action(xL).option("-a, --apikey <apikey>","apikey to link to your account").option("-c, --channel <channel>","channel to check the compatibility with").option("--text","output text instead of emojis").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").option("--node-modules <nodeModules>","A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules)");pn.command("delete [bundleId] [appId]").alias("d").description("Delete a bundle in Capgo Cloud").action(cL).option("-a, --apikey <apikey>","apikey to link to your account");pn.command("list [appId]").alias("l").description("List bundle in Capgo Cloud").action(lL).option("-a, --apikey <apikey>","apikey to link to your account");pn.command("cleanup [appId]").alias("c").action(ZM).description("Cleanup bundle in Capgo Cloud").option("-b, --bundle <bundle>","bundle version number of the app to delete").option("-a, --apikey <apikey>","apikey to link to your account").option("-k, --keep <keep>","number of version to keep").option("-f, --force","force removal");pn.command("encrypt [zipPath] [checksum]").description("Encrypt a zip bundle using the new encryption method").action(fL).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","private signing key").option("-j, --json","output in JSON");pn.command("decrypt [zipPath] [checksum]").description("Decrypt a zip bundle using the new encryption method").action(sL).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","private signing key").option("--checksum <checksum>","checksum of the bundle, to verify the integrity of the bundle");pn.command("zip [appId]").description("Zip a bundle").action(AU).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 soure code and index present in root folder").option("--key-v2","use encryption v2").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)");var bu=bx.command("channel").description("Manage channel");bu.command("add [channelId] [appId]").alias("a").description("Create channel").action(CU).option("-d, --default","set the channel as default").option("-a, --apikey <apikey>","apikey to link to your account");bu.command("delete [channelId] [appId]").alias("d").description("Delete channel").action(OU).option("-a, --apikey <apikey>","apikey to link to your account").option("--delete-bundle","delete the bundle associated with the channel");bu.command("list [appId]").alias("l").description("List channel").action(BU).option("-a, --apikey <apikey>","apikey to link to your account");bu.command("currentBundle [channel] [appId]").description("Get current bundle for specific channel in Capgo Cloud").action(SU).option("-c, --channel <channel>","channel to get the current bundle from").option("-a, --apikey <apikey>","apikey to link to your account").option("--quiet","only print the bundle version");bu.command("set [channelId] [appId]").alias("s").description("Set channel").action(RU).option("-a, --apikey <apikey>","apikey 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","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("--upgrade","Allow to upgrade to version above native one").option("--no-upgrade","Disable upgrade to version above 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 to 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 path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)");var fg=bx.command("key").description("Manage encryption key");fg.command("save").description("Save base64 encryption key in capacitor config, usefull for CI").action(JU).option("-f, --force","force generate a new one").option("--key <key>","key path to save in capacitor config").option("--key-data <keyData>","key data to save in capacitor config");fg.command("create").description("Create a new encryption key").action(ZU).option("-f, --force","force generate a new one");fg.command("delete_old").description("Delete the old encryption key").action($U);var zu0=bx.command("account").description("Manage account");zu0.command("id").description("Get your account ID, it's safe to share it in discord or other places").action(aq).option("-a, --apikey <apikey>","apikey to link to your account");bx.parseAsync();
|
|
349
|
+
`)}async function Hu0(i,r,a){let o=(await yt()).get("@capacitor/core");o||E0.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=_t(),s=await a6({message:`Automatic configure end-to-end encryption in ${a} updates?`});if(await ti(s,i,r),s){if(o&&(0,Q4.default)(o,"6.0.0")){E0.warn("Encryption is not supported in Capacitor V5.");return}let j=Xe();j.start(`Running: ${e.runner} @capgo/cli@latest key create`),await sg({force:!0},!1)?j.stop("key created \u{1F511}"):(j.stop("Error"),E0.warn("Cannot create key \u274C"),we("Bye \u{1F44B}"),(0,i6.exit)(1)),Ai("onboarding-v2",i,r,"Use encryption v2")}await Dr(i,r,6)}async function Gu0(i,r,a){let n=_t(),o=await a6({message:`Automatic build ${a} with "${n.pm} run build" ?`});if(await ti(o,i,r),o){let e=Xe(),s=await Np(),j=await S_(s);e.start(`Running: ${n.pm} run ${j} && ${n.runner} cap sync`),(await w_())[j]||(e.stop("Error"),E0.warn(`Cannot find ${j} script in package.json, please add it and run \`capgo init\` again`),we("Bye \u{1F44B}"),(0,i6.exit)()),(0,pu.execSync)(`${n.pm} run ${j} && ${n.runner} cap sync`,rq),e.stop("Build & Sync Done \u2705")}else E0.info(`Build yourself with command: ${n.pm} run build && ${n.runner} cap sync`);await Dr(i,r,7)}async function ju0(i,r,a){let n=_t(),o=await a6({message:`Automatic upload ${a} bundle to Capgo?`});if(await ti(o,i,r),o){let e=Xe(),s;e.start(`Running: ${n.runner} @capgo/cli@latest bundle upload`);let j=g_((0,i6.cwd)());N2&&j&&(E0.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"),E0.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,hn.join)(Kt((0,i6.cwd)()),"node_modules"),E0.warn(`Guessed node modules path at: ${s}`),(0,c6.existsSync)(s)||(E0.error("Node modules path does not exist, upload skipped"),we("Bye \u{1F44B}"),(0,i6.exit)(1))),await Jb(a,{channel:hu,apikey:r,packageJson:j?N2:void 0,nodeModules:j?s:void 0},!1)?e.stop("Upload Done \u2705"):(e.stop("Error"),E0.warn("Upload failed \u274C"),we("Bye \u{1F44B}"),(0,i6.exit)())}else E0.info(`Upload yourself with command: ${n.runner} @capgo/cli@latest bundle upload`);await Dr(i,r,8)}async function Vu0(i,r){let a=_t(),n=await a6({message:"Run in device now ?"});if(await ti(n,i,r),n){let o=await Dn({message:"Pick a platform to run your app",options:[{value:"ios",label:"IOS"},{value:"android",label:"Android"}]});U6(o)&&(we("Bye \u{1F44B}"),(0,i6.exit)());let e=o,s=Xe();s.start(`Running: ${a.runner} cap run ${e}`),await(0,pu.spawnSync)(a.runner,["cap","run",e],{stdio:"inherit"}),s.stop("Started Done \u2705")}else E0.info(`If you change your mind, run it for yourself with: ${a.runner} cap run <ios|android>`);await Dr(i,r,9)}async function Qu0(i,r,a,n){let o=await a6({message:"Automatic check if update working in device ?"});if(await ti(o,i,r),o)E0.info(`Wait logs sent to Capgo from ${a} device, Please open your app \u{1F4AA}`),await pb("onboarding-v2",r,a,r,i);else{let e=p2(a);E0.info(`Check logs in ${n}/app/p/${e}/logs to see if update works.`)}await Dr(i,r,10)}async function nq(i,r,a){let n=_t();Ae("Capgo onboarding \u{1F6EB}"),await r6();let o=!a.supaAnon||!a.supaHost?await Se():await Yc({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 cr();r=Ge(r,o?.config),a.apikey=i||He(),r===void 0&&(r=await Qu({message:"Enter your appId:"}),U6(r)&&(vn("Operation cancelled."),(0,i6.exit)(1)));let s=Xe();(!xq()||i)&&(s.start(`Running: ${n.runner} @capgo/cli@latest login ***`),await ug(a.apikey,a,!1),s.stop("Login Done \u2705"));let j=await Me(a.apikey);await Ue(j,a.apikey,["upload","all","read","write"]);let o0=await mo(j,["admin","super_admin"]),a0=o0.gid,s0=await Iu0(a0,a.apikey)??0;try{s0<1&&await Dr(a0,a.apikey,1),s0<2&&(await Ru0(o0,a.apikey,r,a),ei(2)),s0<3&&(await _u0(a0,a.apikey,r),ei(3)),s0<4&&(await Uu0(a0,a.apikey,r),ei(4)),s0<5&&(await qu0(a0,a.apikey,r),ei(5)),s0<6&&(await Hu0(a0,a.apikey,r),ei(6)),s0<7&&(await Gu0(a0,a.apikey,r),ei(7)),s0<8&&(await ju0(a0,a.apikey,r),ei(8)),s0<9&&(await Vu0(a0,a.apikey),ei(9)),await Qu0(a0,a.apikey,r,e.hostWeb),await Dr(a0,a.apikey,0),Tu0()}catch(c0){console.error(c0),E0.error("Error during onboarding, please try again later"),(0,i6.exit)(1)}E0.info("Welcome onboard \u2708\uFE0F!"),E0.info("Your Capgo update system is setup"),E0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),E0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),we("Bye \u{1F44B}"),(0,i6.exit)()}async function aq(i){Ae("Getting user id"),i.apikey=i.apikey||He();let r=await Me(i.apikey),a=await Ue(r,i.apikey,["read","all","write"]);we(`Done \u2705: ${a}`)}bx.name(hr.name).description("Manage packages and bundle versions in Capgo Cloud").version(hr.version,"-v, --version","output the current version");bx.command("login [apikey]").alias("l").description("Save apikey to your machine or folder").action(eq).option("--local","Only save in local folder");bx.command("doctor").description("Get info about your Capgo app install").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").action(AM);bx.command("init [apikey] [appId]").alias("i").description("Init a new app").action(nq).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("--supa-host <supaHost>","Supabase host URL").option("--supa-anon <supaAnon>","Supabase anon token");var Ko=bx.command("app").description("Manage app");Ko.command("add [appId]").alias("a").description("Add a new app in Capgo Cloud").action(wM).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("delete [appId]").description("Delete an app in Capgo Cloud").action(vM).option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("list").alias("l").description("list apps in Capgo Cloud").action(CM).option("-a, --apikey <apikey>","apikey to link to your account");Ko.command("debug [appId]").description("Listen for live updates event in Capgo Cloud to debug your app").option("-a, --apikey <apikey>","apikey to link to your account").option("-d, --device <device>","the specific device to debug").action(yM);Ko.command("setting [path]").description("Modifies capacitor config programmatically").option("--bool <bool>","A value for the setting to modify as a boolean").option("--string <string>","A value for the setting to modify as a string").action(OM);Ko.command("set [appId]").alias("s").description("Set an app in Capgo Cloud").action(FM).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account").option("-r, --retention <retention>","retention period of app bundle in days");var pn=bx.command("bundle").description("Manage bundle");pn.command("upload [appId]").alias("u").description("Upload a new bundle in Capgo Cloud").action(yU).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--iv-session-key <key>","Set the iv and session key for bundle url external").option("--s3-region <region>","Region for your S3 bucket").option("--s3-apikey <apikey>","Apikey for your S3 endpoint").option("--s3-apisecret <apisecret>","Api secret for your S3 endpoint").option("--s3-endoint <s3Endpoint>","Url of S3 endpoint").option("--s3-bucket-name <bucketName>","Name for your AWS S3 bucket").option("--s3-port <port>","Port for your S3 endpoint").option("--no-s3-ssl","Disable SSL for S3 upload").option("--key-v2 <key>","custom path for private signing key (v2 system)").option("--key-data-v2 <keyDataV2>","private signing key (v2 system)").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the bundle to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel").option("--auto-min-update-version","Set the min update version based on native packages").option("--ignore-metadata-check","Ignores the metadata (node_modules) check when uploading").option("--ignore-checksum-check","Ignores the checksum check when uploading").option("--timeout <timeout>","Timeout for the upload process in seconds").option("--multipart","Uses multipart protocol to upload data to S3, Deprecated, use tus instead").option("--zip","Upload the bundle using zip to Capgo cloud (legacy)").option("--tus","Upload the bundle using TUS to Capgo cloud").option("--tus-chunk-size <tusChunkSize>","Chunk size for the TUS upload").option("--partial","Upload partial files to Capgo cloud").option("--partial-only","Upload only partial files to Capgo cloud, skip the zipped file, useful for big bundle").option("--encrypted-checksum <encryptedChecksum>","An encrypted checksum (signature). Used only when uploading an external bundle.").option("--auto-set-bundle","Set the bundle in capacitor.config.json").option("--dry-upload","Dry upload the bundle process, mean it will not upload the files but add the row in database (useful for testing)").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").option("--node-modules <nodeModules>","A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules)").option("--encrypt-partial","Encrypt the partial update files").option("--delete-linked-bundle-on-upload","Locates the currently linked bundle in the channel you are trying to upload to, and deletes it");pn.command("compatibility [appId]").action(xL).option("-a, --apikey <apikey>","apikey to link to your account").option("-c, --channel <channel>","channel to check the compatibility with").option("--text","output text instead of emojis").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)").option("--node-modules <nodeModules>","A list of path to node_modules. Usefull for monorepos (comma separated ex: ../../node_modules,./node_modules)");pn.command("delete [bundleId] [appId]").alias("d").description("Delete a bundle in Capgo Cloud").action(cL).option("-a, --apikey <apikey>","apikey to link to your account");pn.command("list [appId]").alias("l").description("List bundle in Capgo Cloud").action(lL).option("-a, --apikey <apikey>","apikey to link to your account");pn.command("cleanup [appId]").alias("c").action(ZM).description("Cleanup bundle in Capgo Cloud").option("-b, --bundle <bundle>","bundle version number of the app to delete").option("-a, --apikey <apikey>","apikey to link to your account").option("-k, --keep <keep>","number of version to keep").option("-f, --force","force removal");pn.command("encrypt [zipPath] [checksum]").description("Encrypt a zip bundle using the new encryption method").action(fL).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","private signing key").option("-j, --json","output in JSON");pn.command("decrypt [zipPath] [checksum]").description("Decrypt a zip bundle using the new encryption method").action(sL).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","private signing key").option("--checksum <checksum>","checksum of the bundle, to verify the integrity of the bundle");pn.command("zip [appId]").description("Zip a bundle").action(AU).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 soure code and index present in root folder").option("--key-v2","use encryption v2").option("--package-json <packageJson>","A list of path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)");var bu=bx.command("channel").description("Manage channel");bu.command("add [channelId] [appId]").alias("a").description("Create channel").action(CU).option("-d, --default","set the channel as default").option("-a, --apikey <apikey>","apikey to link to your account");bu.command("delete [channelId] [appId]").alias("d").description("Delete channel").action(OU).option("-a, --apikey <apikey>","apikey to link to your account").option("--delete-bundle","delete the bundle associated with the channel");bu.command("list [appId]").alias("l").description("List channel").action(BU).option("-a, --apikey <apikey>","apikey to link to your account");bu.command("currentBundle [channel] [appId]").description("Get current bundle for specific channel in Capgo Cloud").action(SU).option("-c, --channel <channel>","channel to get the current bundle from").option("-a, --apikey <apikey>","apikey to link to your account").option("--quiet","only print the bundle version");bu.command("set [channelId] [appId]").alias("s").description("Set channel").action(RU).option("-a, --apikey <apikey>","apikey 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","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("--upgrade","Allow to upgrade to version above native one").option("--no-upgrade","Disable upgrade to version above 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 to 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 path to package.json. Usefull for monorepos (comma separated ex: ../../package.json,./package.json)");var fg=bx.command("key").description("Manage encryption key");fg.command("save").description("Save base64 encryption key in capacitor config, usefull for CI").action(JU).option("-f, --force","force generate a new one").option("--key <key>","key path to save in capacitor config").option("--key-data <keyData>","key data to save in capacitor config");fg.command("create").description("Create a new encryption key").action(ZU).option("-f, --force","force generate a new one");fg.command("delete_old").description("Delete the old encryption key").action($U);var zu0=bx.command("account").description("Manage account");zu0.command("id").description("Get your account ID, it's safe to share it in discord or other places").action(aq).option("-a, --apikey <apikey>","apikey to link to your account");bx.parseAsync();
|
|
350
350
|
/*! Bundled license information:
|
|
351
351
|
|
|
352
352
|
safe-buffer/index.js:
|