@capgo/cli 7.18.13 → 7.18.14

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 CHANGED
@@ -234,9 +234,9 @@ GFS4: `),console.error(i)});j6[vt]||(qq=global[vt]||[],jq(j6,qq),j6.close=(funct
234
234
  `),new qx("",I80,""),new qx("",De,"]"),new qx("",De," for "),new qx("",L80,""),new qx("",F80,""),new qx("",De," a "),new qx("",De," that "),new qx(" ",J6,""),new qx("",De,". "),new qx(".",De,""),new qx(" ",De,", "),new qx("",M80,""),new qx("",De," with "),new qx("",De,"'"),new qx("",De," from "),new qx("",De," by "),new qx("",U80,""),new qx("",q80,""),new qx(" the ",De,""),new qx("",T80,""),new qx("",De,". The "),new qx("",xt,""),new qx("",De," on "),new qx("",De," as "),new qx("",De," is "),new qx("",_80,""),new qx("",IG,"ing "),new qx("",De,`
235
235
  `),new qx("",De,":"),new qx(" ",De,". "),new qx("",De,"ed "),new qx("",j80,""),new qx("",H80,""),new qx("",P80,""),new qx("",De,"("),new qx("",J6,", "),new qx("",B80,""),new qx("",De," at "),new qx("",De,"ly "),new qx(" the ",De," of "),new qx("",R80,""),new qx("",RG,""),new qx(" ",J6,", "),new qx("",J6,'"'),new qx(".",De,"("),new qx("",xt," "),new qx("",J6,'">'),new qx("",De,'="'),new qx(" ",De,"."),new qx(".com/",De,""),new qx(" the ",De," of the "),new qx("",J6,"'"),new qx("",De,". This "),new qx("",De,","),new qx(".",De," "),new qx("",J6,"("),new qx("",J6,"."),new qx("",De," not "),new qx(" ",De,'="'),new qx("",De,"er "),new qx(" ",xt," "),new qx("",De,"al "),new qx(" ",xt,""),new qx("",De,"='"),new qx("",xt,'"'),new qx("",J6,". "),new qx(" ",De,"("),new qx("",De,"ful "),new qx(" ",J6,". "),new qx("",De,"ive "),new qx("",De,"less "),new qx("",xt,"'"),new qx("",De,"est "),new qx(" ",J6,"."),new qx("",xt,'">'),new qx(" ",De,"='"),new qx("",J6,","),new qx("",De,"ize "),new qx("",xt,"."),new qx("\xC2\xA0",De,""),new qx(" ",De,","),new qx("",J6,'="'),new qx("",xt,'="'),new qx("",De,"ous "),new qx("",xt,", "),new qx("",J6,"='"),new qx(" ",J6,","),new qx(" ",xt,'="'),new qx(" ",xt,", "),new qx("",xt,","),new qx("",xt,"("),new qx("",xt,". "),new qx(" ",xt,"."),new qx("",xt,"='"),new qx(" ",xt,". "),new qx(" ",J6,'="'),new qx(" ",xt,"='"),new qx(" ",J6,"='")];E5.kTransforms=gf;E5.kNumTransforms=gf.length;function TG(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)}E5.transformDictionaryWord=function(i,r,a,n,o){var e=gf[o].prefix,s=gf[o].suffix,_=gf[o].transform,i0=_<sy?0:_-(sy-1),t0=0,r0=r,c0;i0>n&&(i0=n);for(var l0=0;l0<e.length;)i[r++]=e[l0++];for(a+=i0,n-=i0,_<=RG&&(n-=_),t0=0;t0<n;t0++)i[r++]=O80.dictionary[a+t0];if(c0=r-n,_===J6)TG(i,c0);else if(_===xt)for(;n>0;){var d0=TG(i,c0);c0+=d0,n-=d0}for(var v0=0;v0<s.length;)i[r++]=s[v0++];return r-r0}});var dy=I0(S5=>{var UG=ty().BrotliInput,V80=ty().BrotliOutput,V7=AG(),j7=ry(),et=ny().HuffmanCode,qG=ny().BrotliBuildHuffmanTable,H7=OG(),rs=FG(),_G=PG(),G80=8,BG=16,z80=256,Q80=704,W80=26,NG=6,LG=2,cy=8,Y80=255,is=1080,uy=18,K80=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),fy=16,X80=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),J80=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),Z80=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 HG(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 jG(i){if(i.readBits(1)){var r=i.readBits(3);return r===0?1:i.readBits(r)+(1<<r)}return 0}function $80(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function VG(i){var r=new $80,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 G7(i,r,a){var n=r,o;return a.fillBitWindow(),r+=a.val_>>>a.bit_pos_&Y80,o=i[r].bits-cy,o>0&&(a.bit_pos_+=cy,r+=i[r].value,r+=a.val_>>>a.bit_pos_&(1<<o)-1),a.bit_pos_+=i[r].bits,i[r].value}function x90(i,r,a,n){for(var o=0,e=G80,s=0,_=0,i0=32768,t0=[],r0=0;r0<32;r0++)t0.push(new et(0,0));for(qG(t0,0,5,i,uy);o<r&&i0>0;){var c0=0,l0;if(n.readMoreInput(),n.fillBitWindow(),c0+=n.val_>>>n.bit_pos_&31,n.bit_pos_+=t0[c0].bits,l0=t0[c0].value&255,l0<BG)s=0,a[o++]=l0,l0!==0&&(e=l0,i0-=32768>>l0);else{var d0=l0-14,v0,F0,O0=0;if(l0===BG&&(O0=e),_!==O0&&(s=0,_=O0),v0=s,s>0&&(s-=2,s<<=d0),s+=n.readBits(d0)+3,F0=s-v0,o+F0>r)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var B0=0;B0<F0;B0++)a[o+B0]=_;o+=F0,_!==0&&(i0-=F0<<15-_)}}if(i0!==0)throw new Error("[ReadHuffmanCodeLengths] space = "+i0);for(;o<r;o++)a[o]=0}function C5(i,r,a,n){var o=0,e,s=new Uint8Array(i);if(n.readMoreInput(),e=n.readBits(2),e===1){for(var _,i0=i-1,t0=0,r0=new Int32Array(4),c0=n.readBits(2)+1;i0;)i0>>=1,++t0;for(_=0;_<c0;++_)r0[_]=n.readBits(t0)%i,s[r0[_]]=2;switch(s[r0[0]]=1,c0){case 1:break;case 3:if(r0[0]===r0[1]||r0[0]===r0[2]||r0[1]===r0[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(r0[0]===r0[1])throw new Error("[ReadHuffmanCode] invalid symbols");s[r0[1]]=1;break;case 4:if(r0[0]===r0[1]||r0[0]===r0[2]||r0[0]===r0[3]||r0[1]===r0[2]||r0[1]===r0[3]||r0[2]===r0[3])throw new Error("[ReadHuffmanCode] invalid symbols");n.readBits(1)?(s[r0[2]]=3,s[r0[3]]=3):s[r0[0]]=2;break}}else{var _,l0=new Uint8Array(uy),d0=32,v0=0,F0=[new et(2,0),new et(2,4),new et(2,3),new et(3,2),new et(2,0),new et(2,4),new et(2,3),new et(4,1),new et(2,0),new et(2,4),new et(2,3),new et(3,2),new et(2,0),new et(2,4),new et(2,3),new et(4,5)];for(_=e;_<uy&&d0>0;++_){var O0=K80[_],B0=0,j0;n.fillBitWindow(),B0+=n.val_>>>n.bit_pos_&15,n.bit_pos_+=F0[B0].bits,j0=F0[B0].value,l0[O0]=j0,j0!==0&&(d0-=32>>j0,++v0)}if(!(v0===1||d0===0))throw new Error("[ReadHuffmanCode] invalid num_codes or space");x90(l0,i,s,n)}if(o=qG(r,a,cy,s,i),o===0)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return o}function A5(i,r,a){var n,o;return n=G7(i,r,a),o=rs.kBlockLengthPrefixCode[n].nbits,rs.kBlockLengthPrefixCode[n].offset+a.readBits(o)}function e90(i,r,a){var n;return i<fy?(a+=X80[i],a&=3,n=r[a]+J80[i]):n=i-fy+1,n}function t90(i,r){for(var a=i[r],n=r;n;--n)i[n]=i[n-1];i[0]=a}function r90(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&&t90(a,o)}}function Io(i,r){this.alphabet_size=i,this.num_htrees=r,this.codes=new Array(r+r*Z80[i+31>>>5]),this.htrees=new Uint32Array(r)}Io.prototype.decode=function(i){var r,a,n=0;for(r=0;r<this.num_htrees;++r)this.htrees[r]=n,a=C5(this.alphabet_size,this.codes,n,i),n+=a};function MG(i,r){var a={num_htrees:null,context_map:null},n,o=0,e,s;r.readMoreInput();var _=a.num_htrees=jG(r)+1,i0=a.context_map=new Uint8Array(i);if(_<=1)return a;for(n=r.readBits(1),n&&(o=r.readBits(4)+1),e=[],s=0;s<is;s++)e[s]=new et(0,0);for(C5(_+o,e,0,r),s=0;s<i;){var t0;if(r.readMoreInput(),t0=G7(e,0,r),t0===0)i0[s]=0,++s;else if(t0<=o)for(var r0=1+(1<<t0)+r.readBits(t0);--r0;){if(s>=i)throw new Error("[DecodeContextMap] i >= context_map_size");i0[s]=0,++s}else i0[s]=t0-o,++s}return r.readBits(1)&&r90(i0,i),a}function oy(i,r,a,n,o,e,s){var _=a*2,i0=a,t0=G7(r,a*is,s),r0;t0===0?r0=o[_+(e[i0]&1)]:t0===1?r0=o[_+(e[i0]-1&1)]+1:r0=t0-2,r0>=i&&(r0-=i),n[a]=r0,o[_+(e[i0]&1)]=r0,++e[i0]}function i90(i,r,a,n,o,e){var s=o+1,_=a&o,i0=e.pos_&V7.IBUF_MASK,t0;if(r<8||e.bit_pos_+(r<<3)<e.bit_end_pos_){for(;r-- >0;)e.readMoreInput(),n[_++]=e.readBits(8),_===s&&(i.write(n,s),_=0);return}if(e.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;e.bit_pos_<32;)n[_]=e.val_>>>e.bit_pos_,e.bit_pos_+=8,++_,--r;if(t0=e.bit_end_pos_-e.bit_pos_>>3,i0+t0>V7.IBUF_MASK){for(var r0=V7.IBUF_MASK+1-i0,c0=0;c0<r0;c0++)n[_+c0]=e.buf_[i0+c0];t0-=r0,_+=r0,r-=r0,i0=0}for(var c0=0;c0<t0;c0++)n[_+c0]=e.buf_[i0+c0];if(_+=t0,r-=t0,_>=s){i.write(n,s),_-=s;for(var c0=0;c0<_;c0++)n[c0]=n[s+c0]}for(;_+r>=s;){if(t0=s-_,e.input_.read(n,_,t0)<t0)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");i.write(n,s),r-=t0,_=0}if(e.input_.read(n,_,r)<r)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");e.reset()}function n90(i){var r=i.bit_pos_+7&-8,a=i.readBits(r-i.bit_pos_);return a==0}function GG(i){var r=new UG(i),a=new V7(r);HG(a);var n=VG(a);return n.meta_block_length}S5.BrotliDecompressedSize=GG;function a90(i,r){var a=new UG(i);r==null&&(r=GG(i));var n=new Uint8Array(r),o=new V80(n);return zG(a,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer}S5.BrotliDecompressBuffer=a90;function zG(i,r){var a,n=0,o=0,e=0,s,_=0,i0,t0,r0,c0,l0=[16,15,11,4],d0=0,v0=0,F0=0,O0=[new Io(0,0),new Io(0,0),new Io(0,0)],B0,j0,k0,Y0=128+V7.READ_SIZE;k0=new V7(i),e=HG(k0),s=(1<<e)-16,i0=1<<e,t0=i0-1,r0=new Uint8Array(i0+Y0+j7.maxDictionaryWordLength),c0=i0,B0=[],j0=[];for(var z0=0;z0<3*is;z0++)B0[z0]=new et(0,0),j0[z0]=new et(0,0);for(;!o;){var sx=0,Q0,mx=[1<<28,1<<28,1<<28],K0=[0],wx=[1,1,1],$0=[0,1,0,1,0,1],Mx=[0],jx,te,A0,N0,L0=null,H0=null,tx,Fx=null,yx,xe=0,Sx=null,Vx=0,Fe=0,ne=null,We=0,Ct=0,ce=0,Ye,re;for(a=0;a<3;++a)O0[a].codes=null,O0[a].htrees=null;k0.readMoreInput();var Le=VG(k0);if(sx=Le.meta_block_length,n+sx>r.buffer.length){var y6=new Uint8Array(n+sx);y6.set(r.buffer),r.buffer=y6}if(o=Le.input_end,Q0=Le.is_uncompressed,Le.is_metadata){for(n90(k0);sx>0;--sx)k0.readMoreInput(),k0.readBits(8);continue}if(sx!==0){if(Q0){k0.bit_pos_=k0.bit_pos_+7&-8,i90(r,sx,n,r0,t0,k0),n+=sx;continue}for(a=0;a<3;++a)wx[a]=jG(k0)+1,wx[a]>=2&&(C5(wx[a]+2,B0,a*is,k0),C5(W80,j0,a*is,k0),mx[a]=A5(j0,a*is,k0),Mx[a]=1);for(k0.readMoreInput(),jx=k0.readBits(2),te=fy+(k0.readBits(4)<<jx),A0=(1<<jx)-1,N0=te+(48<<jx),H0=new Uint8Array(wx[0]),a=0;a<wx[0];++a)k0.readMoreInput(),H0[a]=k0.readBits(2)<<1;var tt=MG(wx[0]<<NG,k0);tx=tt.num_htrees,L0=tt.context_map;var R6=MG(wx[2]<<LG,k0);for(yx=R6.num_htrees,Fx=R6.context_map,O0[0]=new Io(z80,tx),O0[1]=new Io(Q80,wx[1]),O0[2]=new Io(N0,yx),a=0;a<3;++a)O0[a].decode(k0);for(Sx=0,ne=0,Ye=H0[K0[0]],Ct=H7.lookupOffsets[Ye],ce=H7.lookupOffsets[Ye+1],re=O0[1].htrees[0];sx>0;){var ji,Yr,kf,ix,Of,Ax,St,oi,No,os,Lo;for(k0.readMoreInput(),mx[1]===0&&(oy(wx[1],B0,1,K0,$0,Mx,k0),mx[1]=A5(j0,is,k0),re=O0[1].htrees[K0[1]]),--mx[1],ji=G7(O0[1].codes,re,k0),Yr=ji>>6,Yr>=2?(Yr-=2,St=-1):St=0,kf=rs.kInsertRangeLut[Yr]+(ji>>3&7),ix=rs.kCopyRangeLut[Yr]+(ji&7),Of=rs.kInsertLengthPrefixCode[kf].offset+k0.readBits(rs.kInsertLengthPrefixCode[kf].nbits),Ax=rs.kCopyLengthPrefixCode[ix].offset+k0.readBits(rs.kCopyLengthPrefixCode[ix].nbits),v0=r0[n-1&t0],F0=r0[n-2&t0],os=0;os<Of;++os)k0.readMoreInput(),mx[0]===0&&(oy(wx[0],B0,0,K0,$0,Mx,k0),mx[0]=A5(j0,0,k0),xe=K0[0]<<NG,Sx=xe,Ye=H0[K0[0]],Ct=H7.lookupOffsets[Ye],ce=H7.lookupOffsets[Ye+1]),No=H7.lookup[Ct+v0]|H7.lookup[ce+F0],Vx=L0[Sx+No],--mx[0],F0=v0,v0=G7(O0[0].codes,O0[0].htrees[Vx],k0),r0[n&t0]=v0,(n&t0)===t0&&r.write(r0,i0),++n;if(sx-=Of,sx<=0)break;if(St<0){var No;if(k0.readMoreInput(),mx[2]===0&&(oy(wx[2],B0,2,K0,$0,Mx,k0),mx[2]=A5(j0,2*is,k0),Fe=K0[2]<<LG,ne=Fe),--mx[2],No=(Ax>4?3:Ax-2)&255,We=Fx[ne+No],St=G7(O0[2].codes,O0[2].htrees[We],k0),St>=te){var Z7,ie,Mo;St-=te,ie=St&A0,St>>=jx,Z7=(St>>1)+1,Mo=(2+(St&1)<<Z7)-4,St=te+(Mo+k0.readBits(Z7)<<jx)+ie}}if(oi=e90(St,l0,d0),oi<0)throw new Error("[BrotliDecompress] invalid distance");if(n<s&&_!==s?_=n:_=s,Lo=n&t0,oi>_)if(Ax>=j7.minDictionaryWordLength&&Ax<=j7.maxDictionaryWordLength){var Mo=j7.offsetsByLength[Ax],Ff=oi-_-1,ci=j7.sizeBitsByLength[Ax],V5=(1<<ci)-1,G5=Ff&V5,Dn=Ff>>ci;if(Mo+=G5*Ax,Dn<_G.kNumTransforms){var Ix=_G.transformDictionaryWord(r0,Lo,Mo,Ax,Dn);if(Lo+=Ix,n+=Ix,sx-=Ix,Lo>=c0){r.write(r0,i0);for(var W0=0;W0<Lo-c0;W0++)r0[W0]=r0[c0+W0]}}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+oi+" len: "+Ax+" bytes left: "+sx)}else throw new Error("Invalid backward reference. pos: "+n+" distance: "+oi+" len: "+Ax+" bytes left: "+sx);else{if(St>0&&(l0[d0&3]=oi,++d0),Ax>sx)throw new Error("Invalid backward reference. pos: "+n+" distance: "+oi+" len: "+Ax+" bytes left: "+sx);for(os=0;os<Ax;++os)r0[n&t0]=r0[n-oi&t0],(n&t0)===t0&&r.write(r0,i0),++n,--sx}v0=r0[n-1&t0],F0=r0[n-2&t0]}n&=1073741823}}r.write(r0,n&t0)}S5.BrotliDecompress=zG;j7.init()});var WG=I0((tR0,QG)=>{QG.exports=dy().BrotliDecompressBuffer});var XG=I0(k5=>{"use strict";k5.byteLength=o90;k5.toByteArray=u90;k5.fromByteArray=l90;var Li=[],Gr=[],s90=typeof Uint8Array<"u"?Uint8Array:Array,ly="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(To=0,YG=ly.length;To<YG;++To)Li[To]=ly[To],Gr[ly.charCodeAt(To)]=To;var To,YG;Gr[45]=62;Gr[95]=63;function KG(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 o90(i){var r=KG(i),a=r[0],n=r[1];return(a+n)*3/4-n}function c90(i,r,a){return(r+a)*3/4-a}function u90(i){var r,a=KG(i),n=a[0],o=a[1],e=new s90(c90(i,n,o)),s=0,_=o>0?n-4:n,i0;for(i0=0;i0<_;i0+=4)r=Gr[i.charCodeAt(i0)]<<18|Gr[i.charCodeAt(i0+1)]<<12|Gr[i.charCodeAt(i0+2)]<<6|Gr[i.charCodeAt(i0+3)],e[s++]=r>>16&255,e[s++]=r>>8&255,e[s++]=r&255;return o===2&&(r=Gr[i.charCodeAt(i0)]<<2|Gr[i.charCodeAt(i0+1)]>>4,e[s++]=r&255),o===1&&(r=Gr[i.charCodeAt(i0)]<<10|Gr[i.charCodeAt(i0+1)]<<4|Gr[i.charCodeAt(i0+2)]>>2,e[s++]=r>>8&255,e[s++]=r&255),e}function f90(i){return Li[i>>18&63]+Li[i>>12&63]+Li[i>>6&63]+Li[i&63]}function d90(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(f90(n));return o.join("")}function l90(i){for(var r,a=i.length,n=a%3,o=[],e=16383,s=0,_=a-n;s<_;s+=e)o.push(d90(i,s,s+e>_?_:s+e));return n===1?(r=i[a-1],o.push(Li[r>>2]+Li[r<<4&63]+"==")):n===2&&(r=(i[a-2]<<8)+i[a-1],o.push(Li[r>>10]+Li[r>>4&63]+Li[r<<2&63]+"=")),o.join("")}});var ZG=I0((iR0,JG)=>{JG.exports="W3s51jnxjT3tTTRdVWRVkDMbLYLhohiqhii67P6D/znEkmztwIon76P2ymkKMq+dQIBDuasMU2/BX6DIoB5HIJG2SQD/////////////////////////////////////////xWUR3+fWXdPP7unueX//3/1/s1eyu2Q3B4kEkmjMQRSJYDAQDYKIGjVCIkZEBIwieEQUFRWPE0WURFBEAa8DvVFJxQzXMufKtSxcvJZVnGWt+333B92f6v5QvpWNpkVmhnA8ASaRYJZt4H0wA1o015F5VuUWur/4smlJwNlGbjLZnU1yyyszaHn1kuCbF1iuKTOmQPk6V6a0hRleUKRbWU+LyJCSKt9mtF35pbpDTRfJTFV3MmUGFb18Ho37y9AuMzAmM5Z0efpWNiG/wluQRtBGq6Ro954BX9q2d3F+iW0a1uqR1HqoClWhKlQtX56ZLA1Yjmv1SMoGVaEqVIWq5ePVV7xysJP2VXKWVPGaQtXiwUDgVfsP7AEHaz3ErrwEqkJVqCp3+NWvucoOUGaNsKAIqApVoSpUFXhtqRlUhapQVWz7MnOlq3cZ2RGj17lBXaJrwLUG972+eO803EFHB8b3CjS7TvdsWHOWhcq0MCpcn9n5huDePQ04TRHO/Fj3zOD1N2TGtFJ07/geZW9ks4Na6U3MBcZwVD7GUwYPnagzyuuNE3d6MwXdhJQUKSlS0tLaw5vVkHVP6fih1bcwo+EweZXPVlx7OKurzY84Rfeqwd3ba+pKUHSvmt9StOOttD5ho5768oZXSeEUdNqGrsW3vm1qJmmKsjvG3j58BxlTdNK1GXe5Sooarvyd9K6Sdy8sDnKup4YbaamWO1V0qmDrpJ9KFt1RSnQEXz3X98mjO0qJ3oNvu0GHcb1SdEdpE7od37w2PT1qStkdI0OnC9bP5JlMyu4YGXovzrG2oP2Z3alk6HTB1KgFBUV3jAzdUTCfw7hMM7tjZGitQHPgC07RnUqG3legmc59zt0pKOSNDJ0t2EIxCubdUQr0/gLvM+h2CnynfKWGPoDvskEfpjW6Y2TogwU7hy24d0cp0N0FGuE0T9Edo0AfKtBMp0reHSND9+B7LUfBoztKju4rmMtBcHd3Zx8OeaNE5/BHdvd9DrW17hgZ+mjBpLVoStEdpUT34/FU35KSsjtGhj5WsCunYpiU3amU6IECa83Yg94do4Y+jvd+YqHPZW2tO0aGPlmgw3Tu3VFy9KkCjXB2a3THKND5gitaC+7dUQr06YKFzHuTDmV3jFrpQ9Sa90HRnUqGPlNwS03ln43e74vj1MsbJXoYnz48GCSP7iglur/MDm6h6ist+efo8wmMzICWV5bgC+WPTE4NkmXKGzPwRQEdhy8phbyyAF8SuLG12Ea3pXxlDXxZwCiV1SpvbBd4tPwrR4d98pBX1oOvCmiE05hC3liAuwWOTlpwl1cW4GvlX18ZtmSZ8sYMfENgPjO4yysL8E2BM5lxTCnKH2ZaaKyBbwms9n3QNRTyxhKcFTAKZbXKGzPw7fLvDNyUnFzemIHvCuhC77PqIW9sFTxW/r0Y98lDXpmD7wsMMoNOUsgbS/C4gFooGVV5Y1b4gxJ7ULnJK6vgifIf2qk+6LynfGUGflTe1mf6nFFKeWUNPFl+ofc2a54pX5mBiwLLwz64yytbBD8uf2rXlS15yCubAk8L7JhkcJdXFuAn5T+1jRl0FaW8sQDPCDy0oQV3eWUBfiYwoXAakMsbC/CswNylLSgo5I0Z+LnATaPqquryxgz8QkCpVV7llVX8XKmaK6/yyip4XmCmz6Bj9AJOrOWVNfBLgfN9H7RKIW8swa8EZlsLCgp5YwZ+LbCaGTSgkDeW4DcCY0vnLq+sgt8KrFn6klLIK3PwOwHfPghqFPLGEvxeQKfTp1nIGwvwh/I/bqgt6ASlvDHHfyr88+ZRnzzklSX4i4BG+Fg95I0ZeFFg1Fpwl1cW4K8CGuHs8ZA3FuBvAqPlFtzl7zj198f+8TzZuZ3/9FB2z9l947v4C+devDhROnjhX+YblfX9vyuolT3Llww3vMJOX6QLAifxM3J3Luz/D9hcDbRnO5R4lj3Jp+npl7g+UeEMtg4sPjXO6ctpkpVvoJWJ2DpWkUfRf/M6ZPwR/r+i5xT8f0f3Npe/ZDIr2wPupQPADisanLCSBwaiiwF371gEYfcU4AF6VsACFrCABRzgdDbABwxgAAMYwMh4AUwAMLYJ1X9wIaWUUkrxKaWUUkoeYxmGYRiGoQAuoyNO4zaO6/o87w8f/n5/9CfH7X2n8xNxId0nGbIYNHPJJvMGQCJRDoxECIvQCIeu6Ux1IQC6/TdbG8Qn1pfhO1SdvKtMPIXJnmQGpsIQqN5kd4yrYRgWg2EYju0Hx1AalmM5lot1YsYl7ulu4vH3wsbKjrLVLVlfAgCO5gV50VjStuhPC/zEj/Yn8kAc89+ycL4bDqiKhzuv+PSpSjRKtMkWkNLy35G1tu7V/ekAwQDSK2AsPADO+b1hVFNtBARLA8QCXfOvLct6qLj1dkEYAIsp7KTrpwh1nI2ADPgBHIBzrhrbAvQALdJLeOafgGddTK9/cF6uO8UB/mb/AjSwmpQ9BWBSAw/gDvanSDQ5hQc59MQjTFrgdQbQQuzDNT2h5RNBIV/ANN1m3Hjg+ZxWf3cfFCDbPSl8owJJ7n45QYFkdW/In+88VCDJ403hGxVI9vSGeP5RgSTPbIjnHxVItns2pPOPCiR7UuABoE3rX9IwE/GKr4YhTUXXPEDr65JAu+26E6Z23zWBtidiAXIiHmCbc4kIeKB79f2x72eP+1n7siYFi8ViAIsJWQELWMIAtufkAOiaWL5F/TcAAo6pKlXP7B6OB5JgWulJapMLCjWD80IddYhQtSNoPAiw8YUHfMAHbPwYDwIMMAyDsN2qqyd8IBwMcIADDDa4aoiLvjq7Pt+Xp1dn+wLg8nReX5wHQTz0y83ts366e77fj7dPd93gCCOMMMAAJxxwwCYb8Ab4B/ybPgC/+e8AEEeoCjKng1+CChjIJiYnnpA993qUmO0XzSQbxd0VgwdAN/nePNYoCaJFLEgRDVBJkOqX8+3qACES4B/g927n/b/9v927jYwSkJSSbOlcACMyDEAQpVQiVWzEQCSNwkqT6vAqZTbJXiHwV//gdniIsBgO4Bxs+ipw9E8GhauUVN1l/huIGA7HM4t3MAbUpg1sdSZC6uRMyIlFXuGsZqQunNc1YjWPk5rEOaNGxH+lTlU4MXIWNcFgYmZVM7MAgiBIyqZctY/nh4dutyylswOiACA6YgJgYQEMwAbcwBUwzj+/P2166tbTkQ7Afz3yCY5wPP1w7A3zvwOdRFw0CJpCIgiKj6gogIqwCIyeASjBGBmhARaMaYwofq6EimGrDY7waJCQLS4hkiQjATFSJSZZAmASJ4ESKaGSKgEvteIVA8XSki0sAeESLwEDG3AyymnBBlcNMQPTTbcq+IMmbOKmcHJCp3rusgfgLnzqByh+IqgAgkIohoIoigqgqIziEilPr/XyAJBGUijFUjz1E0AS14CKqAKICqmYCqqoyioAq7CKq7wCwA+syCqArNCKrgLoiq8Ai7AQi7EgqzKzKIuzQIu0UIu1YKs2t3grgLeAqwC4qAu7wIu9w5z914MCVUmyY0j6fQCEAbYlBx1wpzNAeGM4zZxmdu943J9ov2XszJvY3U8JCqKCgoViAmIiBooNNlZgFRbW7e7s3x9IGVknevZ5elafyoGN2IFJuPL7gKQS2RN4dEDATYZxssH7gEwl0qS/mwQ+/a0e1nsTaB+sKDp2QS4rsMb3pGZBA929gcr3pICyJsv3giKWpXB/pnv2pCdYJSYslAgWjlw0RsCSuQEzNpaHU4cjPLX6/dQHdO2nAO8DSlhWdyqDfCESzrW+qH6lq/JSnEth9nYd86xzBZFPIkYgQAOg9DVV567eqvNmLtPB6+HjZAlKQBonUS5uTbW8BA/9rUD+q1sgowgS7CYMLL8OUIwwkKbx+BQ+VnnZ12yRITdvB7U00OgfPVCX9F0y+VgwHBYYRwVcDOhBOU7wwcLbMY4gLMHAIosgwRICGAD6+5VagIx2b/Tq1Sue+vWQqlFKBP/3329T9+9Wb7klO7qiwXARGcB2AFpABm0tQUt4LLVcY/kqS0qikZVMxZIylyepspzM3AAtBMPpYnycY6bqqsfhgBv4aY/DIdkeAvF0IRiBKsv8L8I75c5Ups7E43HJ6oApnQPTPmVq7VX2mtaULqdPrTKlNo0aG+mmkkYZ+LwVV7oTgcCnG0Vn3wJNY4ZldaFr2+wtJv7zQk3NalrD7JSCPQs+wMPvmFoxtSPBYnn+68ZPdo/1AAPSV7MzGywGWYSfnL//337/+7QvFqFESITsiUXLf59zZhh7ehGRdB/JZw5iFrpoNA9JU2TRi/J8uDFtVkOs/x0ahmmNoy0VkKfHG8goQOze/UCGsIqKdjNpoNgt4CNFITuggdr+okKuDzFkkEI2MIcQUkhU4cBtV23wqMIJ85rbk5hhliH+FRW9x1/YHRLAOBKpkbW6CJyOBkF2KxqrrXnz7EcQqaaVXCtk8nFpA+RqQCDbSoZowHdjiNZTZTgPV6NFrGy7SZzAN4EP8Am+wDf4AX4Bv4G/wJ+HECKIIYEUMshhAAyEQTAYhsBQGAbDYQJMhEkwGabAVJgG02EBLIRFsBiWwFJYBsthA2yETbAZtsBW2Abb4QAchENwGI7AUTgGx+ECXIRLcBmuwFW4BtfhATyER/AYnsBTeAbPoQAKohAKowiKohiKowRKohRKowzKohzKowIqohIqowqqohqqowZqohZqow7qoh7qowEaohEaowmaohmaowVaohVaow3aoh3aowM6ohM6owu6ohu6owd6ohd6ow/6oh96/hjAYCFMKBM3EmYSYUKZuP9hwCuqqqqqqqqqqqqqqqrYAwAAAAAAAACwBwAAAAAAAABgDwAAAAAAAACgPwAAAAAAAAAAAAAAAAAAAICqqqqqqqqqqqqqqqqqqqoqXgAAAAAAAAAAAAAAAAAAAIAf2muGMQ2LOkCbBXTEom0e0BGLtkVARyzalgEdsWhbBXTEom0d0BGLtk1ARyx6dlMDOmLRNgvoiEXbPKAjFm2LgI5YtC0DOmLRtgroiEXbOqCjPwbNA8BDijw7A6S8O0DKewOkvD9AyvdMoNoK1TaotkOd3TuBaitU26DaDnV23wSqrVBtg2o71Nn9E6i2QrUNqu1Qb6FLIOJNIJUWMeUw1/0KRBhIpUVMOcx1vwERBlJpEVMOc93vkPJEGEilRUw5zHV+AQAAAAAAAABgDwAAAAAAAADAAQAAAAAAAAAAAAAAAAAAAGDFp8/whOoJVC+gegPVQ6ieQvUSqrdQPYLqGVSvoHoH1WOonkP1Gqr3UOcnqQYAAAAAAAAAAAAAAAAAAACoqqqqqqqqqqqqqqqqqqqq4lFVVVVVVVVVVVVVVVVVVVWl9+sX6Uj1BKoXUL2B6iFUT6F6CdVbqB5B9QyqV1C9g+oxVM+heg3VezJLNQAAAAAAAAAAAADApQjZ3bJ5Unx0SSW1ZKysknPyVVIdtY7Ox+hj5rHgXH27+uHwcfY0//j6y9M/EAIhEYo+Id4E4j9JxO/XVvjVd/vShV5Y8MyYUgw2LWI+c5jOOIaOB0IjPML51CIhqiv3OI7GxOYThEdoREZIRERYREUIREAYREEoREMygUgIh7DsjLznYjpzx3ellRQAQhCSUIQmzHQNi3AIjwiIiMiIivgSEqEQes7vYkyJK0kljeSRMtJaRsgRKXOUMWWgzANwL/9LxZcQCIkwCIkICIkoCIkYEgoJJBSSSyikl1DILqFRXEKjuoRGcwmNbhIGEyUM1ksYnJcwCJawyH6ERbcjHIKP8Ag2ERAMERH8IBKCXyMj+D0Kgj/jC4RouBuEcGcIwS5bGgKw3o/z1Z5r5R+nh6vqr8GNiHDCiyCiSCKLIqpoooshplhiiyOueOK3fQ+E+LT59wuPiIiKmJJQUkgOKSEtZIgckBJHCVMCSjwo8VbiKzQiIRqiC0AIhPRPyRHiCPlP8V0Mk/wSTyIiNEJ8m947IiEcogGAQR/+/w2dI895whWINxOyuykrAEiAO1PdfuojnZnQvtNBBdpy339byDl0KBIQ/fr6TGx7PR4J/paIlNBIQR6np2nsaqCJLCRGf/b8j86F5pqPxGRZ72A7Rub5lyClQR+Rc0nlACq1uFUho56pRhIz/AjiXYfc66oH/taABNL/TUKjEYnn04Q8Tm92V5Mau4bcnTagiXYk79hh9HfqblrB891iUQfNtRdJq9aHxGQ56AZw6GD7zSdgDYPy/IeQZVInSYNOkcXzHswljTpXGEMCjJPsQ25a3CaQTvmTop4x0JApJDHDjcFFA/GeQcIJ7ux1Sbj9cST426CSH5D+UXa/SGgsIrHOBs9nCakHnHKcLkNkr+5qUsjxprErgqLv5O7kUBoBTWQRuYHkHYus7B2M/oQ3bupuSjsDKXg++LiUWJT1+6C57iDJDkOrtoskGwwmC+s+NzcAzqGbg+28l+LBGiKDP0Tm+YMcpExKZHIw0iAJqZ9RPB9CVtlcku7bnCucIjUPBeDMoxnJvqzgaVrcnE3HKf+CYlbUMyFkMEBDWD4XYgaTQJDBxTRSWSDeNiYCJ7D12dnriifkFhluh1EF/C3xEi5UMoydAOk9SR6y+8OA4SMlNJzmwzrLPEsAz8eH/ugBr2gaHadD28oQWQRh5a5GyBcp5IjpDmjsUnkXQdGE2xS5O0b+5VA6VRYNNBFCtMwiEms03jFXL5GV/aQ+CaOf868Jb/wF2a+7yf5t2hlK4laC57m+GnzcipdFLIrGXev3QfDW0Fy1VyM7jDRBg1bNaCyyQXw/gsnSqrJ0nwt7KTeATpTAoZvHSgfbiUI/eS+F2A+sweRBZPB/JcrI8+d6DOQgHthnZVLyvZkcdLsZadDEXkA/A7dQ8bzvDyFknYFNzCUxvK77NpfEi3MFbf40DxndwOR/zfYf6wHwu9SeYXdcKNwL5xeB92HK0qEsapmqS6GNe+8hGxez90QG1e34lBI6WgwhHs99iJbUzJbSxnfY2S+hnP7dFpiGgA6XnT0aJ+XTzv65tdPBuu018uyZFFhox0/5fN/PiVbAyjWrBVc42ggACKvgjAMcsiDaUPJHy1+w4yLQ3Ucy33nsVN4XJbYgFAuhkgQmkIL+NdrsRQDUnsWNFqAOm7Kzboc2KzWPxb7lAXU8cDfceZLiJFMW7ugvn+eBh2gTgHZeWaAa/VjVRVEA2EAAbdCEAwjaMOOfaiQs80bd8RAUNETrAeEqBE8RDewkP3GnNNXr4pnk7Dj7uNW3o9V4rpk7pxoFRlKSveEfL30GRm0A3NQCyTMA11EeAoOFAChkALjEQ9kQJsm2MVvpIBxdP7PWoFao/FfAGovRzd8enYWPgFllOevNIhgO5M/a/WRFykkN/oJHoLFemnCGs6ZOIgpu7U5fSNCFp0me6OF+FfnIaJhBB0wStXEWSFEDpN1wzQb+DMf6E28pVU2fDrAJHw0O1oOG5McRAGC7jlsV+9txvJpS7aj9MzqMerj6Rb5/fayeEOHAPF1gZLwsfU0QACAykhoIrgGAHwFBJ/6jSDGjYylAX0W/83V7AOAZDKhzm+cJP4qPtqD8X3TkAsENIIbwjxtkH6VWBcBHEPiKFVys+GiQTj9YuLiyY9IfUKOEtOy1cv8PRU+Ce3j33iubjlV8Mbm7KLmEa0bD5a7iQ5sOz3O5dSUXAF4VwR4dgAaSNEqpmvJ8DkqFAulWTv99AxwZgDRBsURPnNb9ylcaPVZhhHGPsdQuA0b96C/zzTs4COoT0VdL1goKAIL16K5HRfZzQfmF2qMMJTp4W1AXwZLC73IAZsWSG8lCMZ0XeAdap5yr13ndP4Rk2zgNQ3sg9RGs+wGGswCzlTQG5uwAQIXEq4ovF0yFgY4AgPwQADzJmcoODCBwHeLbWvI3Uw/FFEAvWLECwK2vufBQfgCA5NbzYWiIgNlhIHoCHFSM3g5AcAqc64FVonkvdDKoOT8Hng4PnEeOPgTTs9LLhNpKUnJEWdvNQ0thSEV30wK7u+DyBCDq03hncGTVhNa4C/St81ItUC8OTsO3Y2XuCJmdeDIR/kE6u2q0qdc92aO0HgXiBCoJrDMM0bU+gHmch3VBO+E9ANua1Ktt/m94GLA1yb0NddSVIdl5cD1EckXPrScXE+TSDy7+OAp0f2c08EEAep/k/C4LJ0X6SmBdxbvr4yAYaUzf/XDiEUqLsU6Bu3oo/QJ+QPBBgZWO7Lgy/Dg0CxgcazJu5VSkmEbvcS8pGdV6a7ZQj1ivsTqTiQ0UpkhHNIf9HDqYhnv1pB9Tw/sdNq/Z1Af9DHZ6n3RTKblhSIUwG3Yw9jO0mVwzML43kPoPIHuSNOiW/9PxqVZFdWeAqtHuXqL0P1dwRTnsN9P3YvBjUHtnclIneaD0ImazpGNw3ZbFAy0j1EWUkakr0PYLHJxrT/TprAHcrmTn+/SuOAA/TGcqqUZ1oZ62PMbfmx8W8XgG2AKiIo5UcH+c54QJGOw9Oa9YD552AS8BKHQd9aVef3J//H0Abc/4GADQaOl6FrJelp8BADd1JOcA2lMcVPFwK5a4BN3z+NxD0s2aadJP8FPPoJ51j/MauCHAY3R1CQCs9TTkAHN/8A3ehLeW4igCcOjiWpfGQ7u3OANITtKaOpGRuxkYPwJAuAC4fIg5l5eN+ITc0HsxqWsrwmuL0GufNgALOcBZ97Rv/XnM6+pgHV7jpipQvAoIR+BsnWW3wW7YKAro5gJQi8OhBb6Phv/eCIyP8HLyXTYrfX77dTTgxchyEt1xkiIgNRI+NoVfYJklG+FqMvoZOQKA9QRpe8iP3S3PRf2+c7gXxTBZp7vjyjiO2gDc6Ve8mV49PCV3XfcldAvIeoD0nS19wAm9VpDL9JMto3vAaEAec1FRpLlKKp4doYCjGRR51l1pxzJ4XVTcV7UIwImEyQyht9hNtcW6UsR9vmAEgDEJyr2ZBsxZ0dgu9U8YFT/NpVN3k9LxNkYqf/6ZNnPvvYZdFIwJZFuP3NsvjkmFLK1j57vMpnURl9aVttY5cmX8Dwg/7e205xudpfAb9M028ygbJf2hub50vmgfB9jBk75dpRfhItB6HnYqw88A2cK2v5b5IwCQzsC/JQD7uRMSALjXG74N0HWRLYVHaoCF4FgVKN1l0NEO0NMNrcRuyPhP+/jtJei6tRZ/1kqtDehWvlEKzUqAHSKux1zS4H8+5mbuJLf24lNolHzkzt8Ksim65Sd0oxaTvBdh2gtUJ+ljwVxs/q9bswQoc+q51g3AVAQs71YvAb8LTgRgPQCbQq0/DIvOZdSFH+fBFd9kkh5S63KaIrJNJ0LesMBxj7QyetLt5Wa7Om4OvRDQHoNwGQZ64MhNzqCfZFCrTLQAfgkKdedxRfNYD7Dm6E/IwNVA3wX1Dm5La2mkl6eLf+mPqk1fEIdbw6w8EGvhCQRNHKZ7kbKZ96ZgWThyx+gSsuUAUJ6DwVmKNQ0nQ9HD2t8rj+a/Tpa/QDT0cVPubQmOm4P0fodqgLOuYicAEPxzjH0fwGqCzXEAjofiH2G6j7FT2o9viGsCe+ZXe5cuBVIriruMu6E4aEotB4Ir0K4P6k3PmuohSHB9EkF/o0GDt2iaYZvdz2IgfZgY033P2GOP6NcCfO0CsNR9lWkrumw9Wjr8BQv9nesmzVDH1V7DchK2xbNSYitQKOMomHeerfhFP5/AXcRhpeMf9uTvAdidiH4rBzNZzyJKbk8wm45ZJddhhrSQSvawzR2u8+BXoJqA1z3VBDwsqGkANnIgvIXpamKBhRjgCRsqTqGUZblyxhpNECYB6LTDhYbhdWqJ9gPW7/6w4+qT7eLzGZcJJsNMvSv3XRq7688fdiiyBx+L51RtnhmOUzlT2vAWAG5N4zqYt2V1N2kiJR1xPXqdUzHAVk3zELzqyR/Zu3sII5eynCaIujk1ULsjKAS25YGLuM7OlXXv9kWpHfhnYM0q7L6E6wLGt7SGeR/rL/MxbQBmCwDgAY2K4uMJGlZx5k9a796ty25nvIKF88O9AMnNUSVna8r/VG0XQD3T2MvjPBiDcrBuou8huc9tfPwQcNT9ok8JvE4CsE8cv5SpFeAMH95ysEDUBwDn1QBwmo+79L7DVn2HU4IP0QpCTYHWXNeUX8+Fpu2b4Eav43RphG0zRbs9PxqZ7UZCMdoLFgl+037u2ovok8UWKSihKoRfAEogYLaZ6Die2touSGY+NA+CCaABgIcMWbdN2Qvk8w4+fTk60nvTQhlcWgr/BgvceQAAkn4gfgRs8zOLSVcCAGxkh7Zhnlq7Q0bvLMQ2FUZ1xBlFhI7bTiXk10Nws508qBBv7SYnV+iYiTCxAn8EonkJmEIShn+CepRrywGji8BThN5vWLNzSKxo/LbD1rIMniOzoVuqUTOPO7vBTsuVJzwOfg7DsBH7dEJjpc0Y6VB5Ev0RGP4MnE+rjPxbgN5dMWuQrkCl9xQL7qHDY45RowOSL9tPpeJvXUCTvSr5THMjMaqX3bAzGmxHniPN9zgFPEVBMkUkBEoDYE+G01cB37yLPsdzxpV+Yik9TS5Eaacql3vbDXwYkho8OgCCP3BFdg9nF5ebRXNW8tp0owadYtobD6wo+NbWkNwsHMpYRYUIbFOAVSGPeWPDABRqsdtqea90rQz7GKOeZ6WlQlq/GIOmRdZXwEHK/mOE9sN0+CkkD6EpR+uEDMdOFL1Ikkd05hpTypTWwwQtXBU8Ow6h1lu82ihBCE6cnp/9ILj2Nfu7zozeCIDWz/0HkD8BADt9nNV1HjB+fNWe5NmEtsGZlUzZVfsivFVYQnODHUjflZwoYztdY4bUGdH+cajZjfGnMLSCSin6S0B4DZUcVZ5pEF4UNs2d9zH94TBMVLW9lF6CoSB/avs2Qm9BJvJr/3PMxr1y/6uciRdBwFO27vbz8v9z9s70kaxv8MlO5+HGUPU90PqkzH9ngUUbR9adSYHQP9cS2GiF67RiNtMePHei6ng6MHgchkC3GNe0m/wxsNm6KilbXs0sloEtX+rxE+1Gveh8v3u2+LD87LnP62YEvswAaHLgNjLuBAB0EnDBgdZvUDJvkXhmra37ZQtlakMJQH6Zxu4C+dxREbgiKddmJ0o6fNZnT8GbAED4xKhW2boq/xoAAizrbOhBw+uB2EFVRTzRf8pe8JLcZbYMu8k1qTd8BlvhGs4tKHw7ogtg8SARu8zGXY0XO0kGYHIJb1vDj2qMF5jMBoN7kSltgc+D87fQ+UMPTO3sUbd55j2vqxQPUBz5MQwrAPLF0KMpaUNYrGI/5Xi8vqZVCt62SEYD/Q4Gn1NPr7P4yKJdFwDtlvRSOIYC5YJapTOBxpb1xI3GdYjiVU2jGdy2oV+v4i6NKeu687G26tUsSgn9FdCDmucdmR4fsjqgWgG3JVRseo1BmNfk9hFfxuBUxGcZQsf6qNoAuIkQzWHvTZvkANW9DmrHAadmniSTP2CYWyoCXLrI9iFo7CSf1hl0cgU+DcRacY13Su47gj7u1nqoUE2Xsi1aPkK0GB1ydxd0hwG4HCH+H8BLm1TWPDQTNv2oHeQbcN6J2n0X+z3B41y1j0jrNWQW6qzdOluY2tP4fqdQI2bWTmGU/oM/h2bfgVZ239pMG7xTBnetH07Fup+oIQfT9J1MW1GuDb8LGEdJfaqrXsnOljy8urado1yAwyQUdL/qpX8u6IlFlLbiM/sK/RhEktIoWi+BeZfQBXAgqLcSrnodvUNkegFTWyUoWIi7UMA+Y3IdjHO1uq2vQ2frt/ACG/cCAKo1jMRAQcrwDkLRQ8AehfCqLL/AKgq64Hehjd0AhO8CoEBG/06tk9vXN/wwnIYxA/daqVk+V7dug60qoD7HYh/YJrIBrY3nVjQTt4+23QPE28BF5wmHR2cPC7Q4cE8/GeFKN5i1LxvyH0BWAwdxYLuU6IhCmtW6dAwM8VxxXO0OLbGA/CNyowdW3W5+x2keKQo6IF8NHBWs2Vnux6kJgEU/0PoWANNhNvmGtufiauyJOOCHwDAKA5DvoZ+m6QeTf92enhLyc4BaH5AcBwDyQRpjAPMmgFMVAIU09oZPPBtQvGGpmLlCPXyG4x7wzNrae+BrM5kPttDUy4u9ad+uCXtpoHC1DeWt1wWtMEGkzoTX8poDJdmH6/3jnKn4OWHK4M0f5/FTGzeCTS3hVfABGwC4qm1robsSAHBjBDIVkHkAYIUGrgXcW5Ok+3DrQyj/oQK4Q8d5MIXO+8+kTZ6S31ZL+LdUF5vvHy6mq+e1ZPRm7jPAZJ1Lw/9H9i5UMFwJJgSy3jnSvoa3as8kMI+tX0d5LmYL15BlSY/TX0+roQg1vDc5Q0Pkvy0PM+fSvu6FokPvZvPwqkzWyngwR77F6s2b/NRdRBCT9eXa6SzUwMDsON0x0u76Ck+q79h7WRPmQ+6/VgRn/to7DNZjahtNzFah/hdNU8mgG2f3Be7vvrqqUri+q5uuI9I6cNGVHe7ML8yS9oL640fQsLSTPkpk58vRUuG8YwM01NvZU0hkIOYyFyNXNVpnH89b63/efZGVwQBZon8+eSdl22j/HgqzOXF9hUQz/hf11ObPehvU+WURWP4EwChChea1zvIt0KA9C9GfQBcDcKIhzsHXTu9aQUMA4p3I7qG51+DjxdK2nclvBEaKvS8ApMr9p0PxShKcjNqCvBKP9sJuUTFK+hpAG10eysAPQLoWAJ7PhfsYzVFdkZfT3yGivsE6GqqAagb2ByCKwR+AUm/GYDXtd/DRKKeA9iUm9CLCB+F6fbWtWsbzyPNdzqxaBX3DBs8s9aYPZ+FqCPa1pHILmM7C2YBwXR9fxAv9bylc33dK2HPCUwoAnHqJPED4FqSmT35zVthCLsRQaR8cLwHXvBF1RjFrNHkx7YG7esli/GAnoWFDNVX6jwKPeZ4nRp1XAs98yZOtO7yDjjezTmUagz6CpLmeVixehOAW9vOYJ4uNdOYIZh+d6gnQT+HXIwkP8/NXkpNN3NExrrNLOFAogtsqHo+V3nAqAbK9FEKEZfBOY+ophjYc9o3su069KxfmEqzXavwywl6N05A54WFT5rRrO5On8ilUgSY3chQHwv3rioa/AfgqNDcEpGZ4Bc8X4KpkRE9nmD1OWgzhE3jRCIMKdEaT9m+RuTdR/F0hjzrp5hqh885ome34pB/yXIC6BrhN8i9Jo8tJLgOQVLyuMgDwPqq8D6nJw3VZfr1QSt7e6sGaBcvRtMnv3SbGXQ6WjAdVcb9vVQ95GRNuensbcCJKPcppLuklgN5Y/j8QDZj0iexaj3EtIpVrMwmgtRjJcm1RhhvG10llJ85jN9W4dg+0j4MofoFX3TwjNgoQkTqWFQbACjxZnKAKgMYwABAUwG1TbiE/nLYbIQr/WFqoxeVk7xYAoNwPHCTrreA2DQBhHH4SAACGGqi5YLeMcn2hGq83NmzNHEQfv+zPZjnbyHAtsF4PAPQH6h2VUwF6ruZXav8ODSM/SpjwJoN6fmnt6dxuZhiJ2iXPWQXROpqNAou+b/XAMnOSWbIC0KVgTmLd2yW2BzKDgkawH+FFM+SHSHQPo/1Za2EHNzVGLTSQ6wnNxJuXMoHzuAW1fIoFYk6H4T6YK7yObgtvnn+MbJ4H76KjJbsdJAD1dsoyWJ+pP3zDySu6Y9BcgOn0skf5fGtIr2YeG4CHoEIOOIDF8wDgYAJiDwDJan7oHWV2T4HQAgBQZ8Vi9woAyC6SfUhHDb+VE/0IEGcAiP8vcwoADEtj8+4WAAh3AxZJ4O8wpLmcY3bbBaOuzP4/OIkchfAr1MPlK6K3lELPVUlloaOCqy7seA1UIPk0Zu/BMaz5PwAcBQDqZc2q8H4ZQGyh3o1wbhBukjR+2UTrHeTcAtK3ROOnUZDDDlrnz5ywfAZlJW7DPMTy16DSCAC4iA0yqXbtDcteAOLVAH4DB5B40GXnRfv2zVvzL9EcHqqz13OtlaDgLcPgAXGyDpyPf49+G0ixcrb0I27JeZTd4qK9SbTXApp0dvgbfeAA03ru7LYnqbEc/gQKkPiZ/1vY1IfAPVryAmAdB/C4rZKdimX6K6DgPwGtp9GJAdQhUJ+rehxk4bDYdVvNDPvY6DJ4AowrgVxLXNkJyd383HzNS55mGrG6xhlgfBm4lAHsAtNnAFzrofQq+cbCNzgNnWF8/0suhHeR4VsBwBMuF01DO4HGCMAXweOPAdAcP8LYBvAdjW8FYGwBYDQJVHUAQPYQq2ktGbXCvwZzMAjMccCfwtPnDTr+jvtA6PZ2Mpw8J5gHcI2cvZTqNAB8AMpezt4gAGkAAGAF55iRu7w7hPRlah8KWWMGj/KvFtj/8V06RYZdVK1dTEWSn8E8a6tHpQxvhrYfgL8AQfT3gTL7/gTD7GW4xaSpNen8hAv5FwadxaEeSj9HdzX2EWUpz9sF7vUW/osacqBRO3Vvh3FR4BsXafwWPpkZVTbrOBMCP4oCGOdw2KgDLhjh58iWPOhbovV96OxtXKK0vqfLzkR6ogt0/+uU0he67yHFEa4vQtjdPk8WgZz1VngE54V7ti/93bgaOvg3YBDMoXWT8VNmNLtu9wY3w/tY6GcA7VeYWgvVCdHcz+kcXbaFXKVYdy4TdMywcrcShD++LjnVg5rkFx4HoS2aMAPZRho/L+Rwxl3bFQwWvWRJBl8CkH0GRAEAYDwO0FYCPwACrsGkr40HSRibwe+DhdegtacZJlm8JwCvkLktLpP77rjulSa1Gu6cWUk04aiX+/tahq7a74HYTm6ik6ToBeCSecyeX81xa7IT0fGlcIjN5GkskRM0wfcB1VXH8ZTUAH7aMpsP9mphK2Oz/0tw44MVD6fTAeCWC9xNBb8BuJI3zkFh1DRFVjin5PqA7iXQt07yIrxIb97FRRs/kTf7BZbKSbi4GMhOAzc00pvkMx/eKrkbnZ4q381eFwDZPgCgMPPx3rQjwteD8Q9IY2eQO3oDKdwCrMHo9sn0uzbb0T1EdR5VPbwPnirN7EkA8vINAQBwjYJW/DNG4CkovJj+asNiF9MW5ufIdb/W8yzk/zgq9pFTMfApEDudHlKR/FewYmE4eJn5Kjz8EhhOsb+Si/8VIn8Uv8E7IP/bzuSPc4dEmqnGUXEfiCpfW670H0nD+IzPSntbmO9AG53657mbHVs6RVkdsgVb66MnheLc3kXZHXO6aBVQ+hLgZWfwIziOAbtogNM0H7Y/ttYLnBfVc5J1ozLa4On/o4zoJNjwJ1qZyoCwGOm01WRt58NNClbB7u+OFUtOshKVOfxBbjHniVJU6JNJpGerXiYMv9wDCYd0Hn36kv5mBRyJ+zbiZRvOn4MOYN7cPY94EumoRfs5pZDOZRcY3GSHHeLpvom0xxRqB8q/2H+BkGwX1+uBcRrEPo0nPeRjrtZ4MXA5Srgc3ccB/AICXsIOVXO5ZE8QxhjMAbMV0LTKJst7BfFj4GYcPgmUpB+PAYBpYlJ+6qH4lio5sitS2ybD7FlQleCRGskDTtmKgqVo+xafTy/yy7eozbf/T8EswFngJh8AyTbgRn+eTDmvJCG5ga29zaSHAZgYFrVJfgZuVHC4Ffxexn376pVnVViwh4AfhlIeGHqSdD/8PYwvSwHGOhZ2ABaxevvodQDEIAAaaqAPB2BRB32FYFhnDdklsN+OazFh/r+D5wkcGt3Ey15eXjwXgFYLFXGsGNaVbvHItbMJn9TEGnIdbOfWNqwInzgNymPFH1Q7sL++wL9B47eqs3twoxVZ/zVqbES2t2mz9XF3GYTasugqw2/XJ0aAeCGiR8PUUOTub4qVjiNVSM5h9XvYgxK6ZhTNKFzBJXr3HyFQ+wtPpej8Maa8ve1nR3eY5GQpHBPqGWA2wyQvAifNoFsOFLnIfbL57qnho+TsLTCZhBscnBChqF9jR0K674NfQ73h/+vWufUs8TTcFUKTNNdm1BPetAFEZ+2thUpEwwHWyx2M1jB7rehZp2cg8fMYrATSTUQ/HmyOn4ps8/p6TXIQAsU2/rM/QbqGf8PC7heT9gwO/4PAAQokR/FJlMwuMm4Cb9VqIyzcM+m/dwkcl5RE7lOraWuwYScSLwK6hxH/gmnn5Pst/4sEX4LyS6DwIgpZQiEAXQvufMppGdnoqoF8APmjaNfpWwJolAGU88PXnrocgH0I8D6IkrtXHN5K+DzW2XQ1SwIQbEd2AGBYA8AFoVbCriTwRtfYDeItTGg8uzwqWjlCs241uBUhsxrOVHsd0BO0JPkC6152jeYYbFYF0bbNAFkAgOxjYPYBlIG0ZouaOrk2PHc0rPhIy14beUZlh120pz5Ubvblj0sbnDCiM4CFllbTj9UwysIjxuiphO8DID528rzUk/Rj8LoGWdvSeAHzcchEd+ahPbqd70VWWZve1c9MtWT8BeEhu9yVvYxYRVUrEM5Xeov9PnZKgj8SfbA2JXSMDG+VLj7Z3ZraxYLP7ei1gY1GdoCP2L2zkm3M/oJ2CbS+RiMBlD4HgLKoIQPyrbg2eOycTbc3B/ut8J5EnEGO6I6QnRE8VCVKoWCttofPXhz15E6O3Av/CsQFNnkO+axR44h6b5xXiai0luaEQQYf4HbldAnRYGXr/16O0tWWUzt4kXwbzMZEeo1icwsbHOMevDvXmC9AIfmEaFh00jFdEnMdZ9/BRDdFmWj/83ifAx51gHdAyVUoOMJ6x99Shq5muQUAvgfzifgX1F4A8CEQpsxOt+vsWt60ET9L89rGSr27Wk7uAgT5LpjkxqkkX7rD73N/p4kj2E/nKT52UHOa9vxgxBvHk0BcAuXc1DfR3fIwPOOjpkpveQc+G3y+Gx7VOKoO69gcHnvqkByI9kDREqhg5y6R7T0+Vfn7ymU097KDo1nhNqWcho4qcZSC/Fqu/JMi7jTBqUyrySM3THKA0EMKjpHv+VBmU6E/mqBbVJn101KoIGpnA5D9jKsRlNycaPxvR2l2s4cuvsZF1Z8grgaO8FT3ikuOrh52+iR9gre/WR9TtPZ/AYO828EKf9m+Ld+j+WKd/+fO1pFuAW7sAMBlJ6xp2GpIrweAL5bnH+y4Lvwh0bsAKNgAYIvRtJL9D8BGYfkcBQowfgOAyxkAjnhAqQOAmyqAvwEiMBgiAKITSbcVagMADKPLLx1krDu5BwCAoaJ2h5tc9vXzeqcumIyHB4BLDcC+GzjLz53DrBeA6Dx0nWnYMJE2++z/NM3eMOgPo3UHGn9rVc9G3714SgN0rwCgGzrUIml8b1O4mBkTqTVtfKuW4jDQnNy3b+ghTLtrupe4/hlAIyVdrcS2HLKA2iJAsAgAAKfuRyurDSlUsjx7qZVJsjm26q669XhjCF/FVW+B3imMt8CQ1XY6rCEg/Z5LCa7ZVnG9nnV29nywPQPscOhNpweGflSKwmgpvXuC5G9phe6wH9F6HxUN0A876fLs6L79VwKHSEIr4mRzH/Z+kPP6/BrYiRNP8j9kC1C8HIx28vCH1Y2EzpbJTIvelAIdPmkTjQAAp7U8TSwTQO0DQKOcBv81Jju0w7QXnAduKL4E1oNA8iTRdfJRQ9yeu1Ov+bmTmY5dO4RdMBlK5iJvhj+DhifY2lf8ZjpWipsBgMdk039XAxC5qXrXngHLPrEjDDsZ9Hou3QMPFbl/w5gPsDbI74NKBqDaCUDS3X6c/liLsh0NFrDfFOvutY99T7mk+6+6SxGLNlzuS70f/XgSNQTmkOngRJp9tDOfTMNQxIqM9v0oR+w5o+4rSghXwMsYQi9YqY24kt/2sA8KJ2Hoa3UjnQbgAVjtkYNCDfT37bL8J1DtZtd1BQXpXrgVA8DsCvn+1UmZTJHcx8VWmC6RbAP3Mna+BvXF7P4Ik5jru2VLUAc1tG/h3IY7EaatwGkhLR1c41grijvDY+iEG7ZDwDUZomuA+CB02R2Q7kTFNOYNRet54LTtK0PxOrPNaluJhjnSV7j8c/4VRPAavJULkKgAiGwA/xqR6wZ4xqmWAFjNwYzD8ksKgUMBSMVAXA4Aq+g4FwA8pUFBQnf/BtW8mcUcqW4ipQul3y+dqgrzhM5XFF4Is18FOw3sLbJP9++CIeJ37gRgY5KdQgCeYgGy3wE4klLvjmVCBVdCR/1UDf8EisciDRgu3u2achywfJMGneMWeskzcC8nsxSMfrH9n6hK98FGWdsKuAehB0qPArWfttaSp3xZBlxlwv8GAISZucTpfgAMHj1UbJoGQPAm1fmPNDLSD0m5VaIlNskQu/SN21t+jegRNBoAgO6PLF+jYX+NF4B5LcAyAACH5ZmLWS4B2Kfg3xwUR7yOnT7B4ULrTEc8dAPyNLvKhaHL3g+A/5yD/XT+FTDkr9jOu5fBz4IzNwE8QA7dChtV1TtwYKrL4EA7PgDw+XqAtBAATgp5GOJ6LyvHelj0AKM8ABYD8AYJp7ordjC+Wnk0WT+QvBGoUQFWpHwJkJzJ1DZRG9gDA3sNAEw7d5cB2wSiC3f9sdTF7MyH00cR3qBGARhZDC9bAXRSRzrhWl4zqbuw5s+B2d8V3OYf4JGZqfIUUh4OpDvgBQJN9o75/gcIB4p4HdSx6RYA1mVU3I2dQav9e+fX8hJdBsCNGQDm3PJkgI2meCIQyWBVVOuCLkl6mqjtxaKJoyqgP0vyT6i578GFJuSzURRNAdE6FrtaCBRNAF/JAyps3h0bguauTNnaJfQG7d7jWPYKrtMmtJKr945Rk+O2plkcJzfAt6lwJ1cig8cDGl8eJXmdu2ilyz8hN6Rud/lKSrffXhW9BIB1LgAAg3mY8KPlAAfBWhgASLwABJ+tWQmF/4DgJpQ9Jhx8+DehzPcMxm9C+QCcfVvJfwkA8W1UnNxrKGSLlzfo/orkP9LuDzRewbMknP0/7i1w4iaqrSflwfCrITo7F3KP0dSKa99OmzjBViXaVao96JxS0RAry+DCifUl3ScGMquAr5/5PpXjfB6+hzmaHy5GrdymUvsD2gRo5APRSgAw0Y0DlHVbneuHL5LBjtJHv5+qlgcWlQAURHOlljkZn4ZyIznfZJmnNiB8B9lWgE1Ocyz9M3XCb1FFn0D5Aoy0SQAjAsqe8lmu+ocHgUcT4T1AxwfA8k9oo8Yvh3+FBN7GFT1gMO6m9nGAp/xcK9Qbw24A4scnRWUyB8A8VPs1HJPp7RMU5KdJ+zF7Ty2U+CDbwa/fC0+J9u4xKIM0fsFn4hIeEoML1EZZ2O5F8yj+LQx4mjmrIWubX0mRtt+cC2m/wFa8Jty7IAZPk8B38j1Ptf4kfhPUG/hW114CxlygV8P+Cs10tx3QfRHBE0ApRahQ+kk5/xHPmaoVwh22eiqXRRuQ0yRd9rS9bxzDXqM+oNrPnp3muokyz+qzS12lB+AgA9Q6YW4A2lmgOIRqJ7lsHrVO+Mg+h3lZxUHpNHBchVejyXchKlXib3TRZoOOridgDqhlNQsZy3aTzM+jYTQLtH6ALdpUsUftLHJta8U11qorOTeFMD4akD3XQ7MWOmLRRK/C7YZ4OriZ0dzSK+R34NkkCJaxd8FH+jT/IADyvUzpycWt+FSGfOqU8Xmk/A/F34fzZ2DUS8OLIViKo68SydcifNyVX0eDLlgYQ2tGUBHR9pDKHn2SfDVbgcw12COH+5uNcI+CSkPexqMHD4cZCQGecgF4VA83+dAm5jtZkBhUAQDZGACNHDRTvvzugPccci2peJDlCGf6Rn2H28aXfzwSpzHeCFeV0Skn43BlV/T+qnA0QyMu7tkBZiIPlks7zC0n279HxNrNSh9z9ieeozKw6mWfmb4GSF/gn7+PBjvZi1aaWcIqP0Fn+4C0AwAmsxCagER8uCtfzleQ8X4gbQayXQDHyMoZx6zj0bFGABBCOXy4GpT9qV/dWyRtg19NxFsF8VLraJEHJAdZdsK1/TIVYNWRP4Ff2qIPwBxS3Xu3bPRpVG12VpujW88Gdhvzm2nuc1D+neX/rZ2JZTQjJ7xC4vE5aI9xqBrjsxcS9/tIzxNVJZfl8OvUYvnrSsAEGrSRfuwI5sORSbH3YdW+kS5SfI/QY1ZjEt7XhP/GZedZLh2vvW33Ez4FGP+CO58gtwqU5ZQHc1B6L7Qp8ae3O4Lrj2eZbQ1MzVS4H+GlT2DJhUo6ZcKFYX3bh8t33PK6hakNHdU7ioKTgEZSnuE2nMV4Rt6rfvlb+nlA6TPkQosBpY+w/C/8QLFIDWEAtrPV1+a1v8bNNB3OWqNpAqAoBpYvdvx4uToAfBQ+druGjyphvILN/40bStcAsJyAL1dA/DvApLh25HiVJMLNZ/lRhR9IgPk4AFAHFbMwG4OeaTqDfg7A+Xj1OngLDN7Y8M8igXnITXXFa3hhbW4iDmCILfmA6BSgtB0A8Y70fp72b5jwmA+QjtavASr5uKItZH3DDlLwloz75j/A9L9sCnrgPJwHWTcAhXKwmqd3fwxN5bicMK7o3/2J8ZUdrczN44n4n+dKnpBqmaC0Hk0gsZqesurRV+Oy/wJgAryXA5yAwjGW7xF+oCyVEw2GKdQZVpR7tCTlaC0nv/gwwCdOSAmV7sfh6nlAKMXIup3XSPbk8xcQSD6CT4CAvwCXx4L5EeFbY3YC5P3oZoxZvr08jt91VPyGoGHHF8GQE70EDMzGN4RXboGt3KaPcC3Sh4GBBEQ88mmLZV5ohwk6fAZgMnhZ/TWfq8AF1XSXSysK2ITConrX4rg3UDNb5L0ceFAZDRKtRa0Xyp2zQVz9IfDTFHwuTnWzBydQ1QKDs+DfEVC8GWpQDTqNsMdgtp/nibgdXoNnlwHRIfA2Nq6FVLfjmAP3B0S8a8/EcOsv8FZHeKrW2XNwoCFH7Yqddl2UCE+Fd2oUX2DWMASnAqA4DRQDmLoiXyF5hSiGaMJt3J7v5KklADs4iLvhy2AA4CyVdoFVbqls/QkAgIaDu/CpAyqwcDkAHBYBa8LsEQAA26jcBfCMMTbAKAEmj9B8e7Gjxxn9iE0xH2774Lp6WgBpkBRM+3Hc125Q5QMwjgPh4wjeha18gJssANAZG14x5QeAdwoA8p+AZD889kJq60HyMO4IIb1VCqoBdr9Kc7Nw5d7RpNV2lsk2rYmX6oNKe9wMnuoBOBEUbDsun2j1YGXwDNIBGa1rddfphu1O7u4BTi66MbZScSOQFf1ESrQaPl60gF30oEYHXScK1oe5mk485BZzmCcXycQOr0qaIXiVE13Ccjv59OobITe19NntxaKGjhh2K0qHAQA28ZlWIHsTOB2nNxkdNpEondDfpQo4Nnu6i94H7fHod8CAe6QAPDQj/8uWh/eocO2yuYJ13KUME8taMC9PLwNGnqv6xQuA7s8fl43hALChSCWg3V6RDT9JO1UoBG9DafxIw+k0//Sgk4oOIncADS6z98K9fAIswwAMfmT0P4KpLAIGv8JVNUyFn9rvdeXKUVxFVQNA4iO9HbUz1w6wjyiZAGAVA6Nb/K34lcpatn1jzSnLa2HSE+vC0mVmdq2CayRxd/K+GPI3oTdeTAYgfgLsFgIwtzaX0/pAA/aMLERAMkt5zizhAkZVJGp2PyoPzsbn5XWPm+jUALTOplxYzE4BPnxeeueh+s1dwF6Y2g4AjJh0X9ZN5Lu/p7YZLmb07o8ASB6lrzrJ8WfwiIp6NlKl9mBbIbnLTbZofCQYuTk9yA7p4glPc94VWSzGgOBHauNLCGXga1JBDW5mcacM0m0YBD6a6HX6f57L5lRto2K1faX/b/ZGrp/Go/F75rnkj3SnrtmWKPuAUjFMcqDstyKgPUhz7rUxN4JGNe3sIbPl15H5lQduLj0GxmNcZmj/jYKiQvFYd9KX6CLNDpnuCjoeDh/ggdfS7BncxKoKuHCMgwATEADk8fap2SuB8cX2vzjZnTgaaWY+2VqFN3WIxqMkW1BhkH9yStaRe2u9lxVLN2z6shsAKsTmUQB4wC93gMqD6qnoM8OqjyHB99cE4g0+9TJzzINtYSMLbLEB+IA1rQNgzIJ/GZz/EMWSY7S2Ij3XkYPX4U2Z9I/j4ynkfJzv4CfyKiBta2DC6Pq7hk7vBfbqti5PtByuXH0BAL6My204WXHcDs7htbvh98SAaEzzWw3kJ9mNPj6183Q3h8aGj480ncwzf788HiZbpytWyiFHcU2CllnWTHYzqHX4EfCGOBWFNr2oBaoyuug0o3MTr7fl/zVpPz0JvBCCX6Db+l0mPTNw4m69QIeJO3rAFpC4oF4FAKc1xC+BNSnvCACA34cAz6fZ9I6Dp3lwjhWOemYGqP7O0MOz0xH2pce0B29c/S8KeYEaY/uuaAtxEl22h67ajpfSjwcZsozQI0il3RfTv8ylbM0F8KAmWwXAwAbALALQ5qRu5U35re3Ss+0hSGdXfcI/AtwpgI/mpucDRz4GnQCT1iQAcByiyV/B8hMAlEzKEtiAvQrgfrvQXLXXA/e7aApKyW8x7iM1h/E+Jvms3lFmjfXf2MKc1aTeyo+5TiD1bpgnTvsDALyBlj+SdsFdcaMgwHuV0Od8LPf4FgA47gCA8CcAqg0wqQbgtQfaqzdZ9FATNS9yNley4MBJFN0oZL0Jl4ILX7QCgGb/T7JldgPseIHPwUevdJYnGdgEA9R+lOZCgvboPw9pHti9mHNs9F3QgUDvrsfZIMbnZBlPz/OrXqRZ/iDLNja+Y76fBnGPWhvMQA4AdWJJBtera8VsMutxIFy/Kh7wE5DkGgCCf4HLZrJ9GNq81zKP/4Y/Ae4AuBDHDYDwCiC9bNSCTYAwn+9L8kKo5AIvSoFfBoADf9sVAIxLgZIBgIYbgNku+GbYggJwX117Cb5oQ009Wp9hXwqNSngYnHUkFZBelMB+j7h2Zh1Vy50UuLSUvLg/DmGCCd9U+v+P7eu6kS+UpnuP5c0+uGqQHjj/F2D8I1LpDXY7JL03Xfzm4GQPiHrNtzEHTFMvDBDsBfPU3hMgpZOG1BtKhPA72Hf7SjtoBhF14jL8vUppNfggBzgj8nlmuBCAYAPGu6CtjRbOtQ1+AJOmkhGIJuExrKTZtw4ALtUb89gNzyYBvKB/OVmAJncMZUTfug6S52YyrZvpA3o1hkEcgHzHqOazwN7nggeB5WVF90NO/m8JbMEKjYHTNnb+lK26z3uDWHxn75fa1vTKnsyktinF54TJRGXjoBziB6DSDr7I+RIz+smqKksBAH4dnOv44RW144CxBv4BAICmFmxUGv/PggJwUjp+NadTdFbqggOl6j7jh32O2uPfQDSfMN3pc9AeTo0wbYcTBZqXVL4tHipH5E26j92OCh8UDHU5K8lZigbYB/rP4/zbMcNyL7CuxC9tVyz+eaTlHD7e1xGTDjioBSjoifuIh4Fur/TB+xsDted2qP0svigB8rXs9RD7CC3abKIwiXKPOXHASA8De3kAFQPfdP4N+W1LcjIOrA0rkFzkqMnqy1aXiwC4VwQA8bsAmG0JiM4PIOVfc4/KgBsEABBfBwAU2ACVFgCAcCfGWwCA5BoAobuzDwD4jwDvVAC08gBYfg5nYoDWcQCkaHjCAeJNSP1JfNZ+E4YjNlPRJFvF+xcA+5NwtNmsf9iL0WdqfnQk5da224170NS7JOyE+6DaO6FqL4w7FC8XVcXtz+jsAJM6bSZc7yTLJLQwW13nU3A5BduY9BIA1vkATKO8OX9p7eS7bgeu7LwAlyUAcIdprARyPsCHgF4vbBVH7UB2HHv5tVGvpih4iJbh8+yyDdpJ4GOI8C4aE3CWAGCtEfKf4W0Yj0HVXoZ/UNgsCwwW4beeBxu1HowHuDAYWcYdjZisbD95mAJh1QbgnA8dpU02d0x+AtQYBMLIsTTM38Bqsdl/CAo+cX0psRoqs8VXQLEf7cJLXxEq7fZQ9FNcjjHuO8960vk0zBVnqB2YKWndAQD3KWND3q9HpZOl3u+mgwivxekEAEe1flt0VYxHfbL0C2ikwDY+OwP0rXDQM90bABho6RKA6HeASTwvR/w6kh0AQEmmaYJ+efU4+d/bfRKPF8n/lj9h8VX49NTn0EHnUSfESiCzAjDbDvBiGNgABngApkJWQiQHYjnBY9BTZk8FppRtLdm1m1kqlaai93Cb4ELiGDDSw5xUdp5rgW92/L7s+sMJUQH8BDi3dX8y+2FU6YJ7TfjOv8yOSveYZn4AwY4MeEcZ/Aq7WQDXx7geJQ27yYbX8SM5VMC7P1kAOyTc/QjM9Uj6RPl7tdMiUDoI3Z6fHR0lutwdOTmlg4ld8qq4UYqJViR1wrxesl6YHeZKztt9rS7uwb38YBAkWdoBHE+4E04nX/qe1gFMXbDZBj5tgnswzf0cqPnky/pc/Vz51HvzLTps9cO7QHT2boaN9aC7XLbT4XnQK8wsWrUx2Q1A5OxeCAB848n/swAAP4+oPcqCAbBdNWXltBcuE8G1g3B+vk8FvqvYOHxKqojBDfOKie+Qw2yQzq4CtRuHlw91qB22n2YSngfTfroJGDz0w9UYTXiJtJe0KYflNwdnwOtUaw3AQz69pqLirUL+Yzir2fUxFSBroAWH7zGbEyULljmPzW5SELYDfFDCsBmyWxlOBwBecvPfhLxOJCUn2G8r9f7eDGTjdHkH7Wk7vDLb5oulQHQGsF5KaSkA0iH4tvJpuJqNfwhIx+EL+FQbsJ4EYNRLkIFGNTZ9XkRvIOPDXV5iLQDAVTqpC/WR8i6w34U3wMBwxs3mp6GzebhfnzoPyI/ThUB5ikpxIk21Eci8xNvBL4MmXZzWc2BqYuSD3izuURJU5eRgAZpBP9iQ2v3YHhzQ3Roln6MLR9tEOMkjN5wusxE9Iq93ANELCJtoPGZScGveev+MrW2BSQ96yYbq2TgEBDsRngRd1sK9APsFw4Ozw0pfciiH2l4H/xFc+4CbzFgKO9PVNZMiAAC96mYM6RkAWIkSG4BiMZr6DEgginW6fmRrpqr/rrRQlzbstns/nXkj+b2iJVbwrT1HaGUblZB+j9hM4X85RM5dIL3Lrs5y9SsVP+/mHl37j2CTz7BoQcvv2fFacFEg1IM0W8XxCooWsyhYAYaP8eXmIA+YS4O1wBIDAD0P8B4EYLka6AThs2CnXT6UJVbTezDWsMAPQiojANBjQVUEV4oa8UJch+FeRu1zU7Gd5SIUsLnzU6TxIXy/rig4botCcBfh228jVS/mYI+K9w6Vp8FvSbH0GOGco2OzO/P9lSUgvUI9w47OMtU/A2ZIoVufJSVpp+NTwH0e0F2LZB8XtM2u4LtwVj8+BJyr4RdFni0tBzDlDRhXA1xQOS7CXu8B4dMUa+azPA3aXLybjH7G8Hm6tNLhU+Ou/p4XGN9s/31lxevqAGeVwHtY7Pmsj/5LpKoW/gkCyzTpIqD1I8EdtM/RxLtWJRUqw2Olqz0nlFWrdo8+BndVwDWteJGuF81eo9b/BEBUqhwVUEEGBzX5XhbIhi51B+x3VOcCtEeCX0DPbT7d5SqIb6RcGy2GobisGb69kgeAozkAYIEFOgq0dyz7U8BSmoAHAFw24EpeLsMdeMWRPwQn3faORl+XlL6NbjrIP7HRh2fB6A5f7JssrpXlWlDWAPTBQLwbEG8ExFwAuisAp3xU7WOPWt0IgiBJFUc9AHUBcBBt7ga4ywHg84T6zRt4xVw+hq+FFLo/GWJoBIizgIJqv+G3C6vgh0Hv7SRXtuu3JDDCAdFbgFgFzAwAcIBsS8C2P3wWDocBoLYe2pIR3hbozcgK9ytQfBJXsJ/uv8M9pGNtdoG3Y5MIbHRU21DsBoC14IQGhqPBL8mvvwgr24DwLiD1wp8hwH0ZTLcr3x9Dpl+g9BqRBO4E4PeExr1ZIPtwPP0NkpXk1pjrbPYLtKGlorvPQk20aSB7L8wdjUGAK1VuobsvkyFeAN5Niqs2LXxOKufnOhIJ1fOnzOClCdWTjssUCZu1/AaUn75nrNTNH8+WOoXrPvzY2FotrhgIl40ApEgAZp8ApQy+zQyfStqrzeLMsVrj5yx5AABzJQSLAVErUFADzKewq+Vm+XIt1IeBCmQqwqIF3UCXtOvMqd4U2UDrm5Y/1Bbifl5kXPXW3BuRboNDA5RWkKu1IGulyc/5aVtrCxfQqWH27bfyglaMhTV7sAtIXcDSyv+mzeLHewHpB8DgJTiT0NPUZmXsgJ4V648rbDV9rku2o54FX9eGdSPIPTBnjVUUX+8jv8l1SdL6D8Hp838kSZ6Gn6PiqPoo+zzbht1BE57Z0vIAfwUaWk/rM0B6i671HdUd+faVYwtluWtr/QON7Y/wiMYvfox4TiPmX+RD2wcwdgHAeSmuEV/aHTLbit/Hxy2E2GSDjhMFF4HcSpsdlXwKjZaBaSUqjDiqZp9eihru/0SlaQLH/hgwHTrZIcsJD1Wpt9xvIs5Dyh/XT5x1SnOsXS1XLzIB8RnAnh4A5hF0Yy0K+jxuo9vg9SSVKEDBjPZh0MFo5M1I02eJ60/xYCZWvFrPZQPsVOn9GSH/nyOrFQfQWMK9PEl34yPnF2AasrutK1fU/nkJxPuYrFTUfsVYGg6m8ofBDob4+t32r1pE6V26fKm9YzSdDnFlf9FXPJK3mNqXRZsQpjqUDvghjXkaIgKQJwGYFXHUWt8x2gbbNICqFgCAowr4UE7p/UzcUhAIXwfAaITmh09i2e/tnKMUXGWTDwBAKwZUSUSHAQDp8wBA/hgAPE0zUhuMZBfBxrMrKsjnNaIkdVqSN6FOzy4k/JXODzE8BMcye18WU+RwxHdJdRFeEN7RxKVQFDeogam3O+w6eU4UwpPOvI6b+A3kRy2ciJOXHRWCs4DZQQBgzwKcgg4VDbtprHR9TL7mXfSzeHdl5PdZrgKoA6yqExcRFwP57wBAvAH5I2SXns+D9bo3a5GOpWj5Dxx8Kvkz0PF9nvUNPVDUrt5dd9E9BSjwh+8OR/ApDDCHkNpt6GU+6U2d4p3mE7U7LagvZQcP8Sm46A8FponlRfgzUKIXTqqB+Fec7Kr0/Zi4x7bHNrxQc7Mj3M5UAQCb1NxqgLlkqI1Zwd5spoVQMlOW83wAHkDSrURKAPgP0Ml48JgEgiXYwavkZKFRiQ+rz66o20+fKAQd4Ly4B4TZR+B8bDwBgGaMS8VBJ0BwGI6bLgvkHBa+EdCZASBciSx1XVwWvoCDAY2cLrBNFYxAP7C5C7KJV5pyn0kdABi/Dw8dzT8AcJ28iQEgvo/wK3r+o9BARsifgiYC5r1hPfARaA6b5xh6vtFnAVggWJgBgNMQwGNdJQ3ovgUAqGFkSpRfJYmedwA+DofTLOy4U98p8yA8h8P/R6AcV7QtB3Wnj7pgjRcXZzpE8g78CgDNEoCJAgA46KrXpQon74UVDACqPUTbAMAtLHEGOL9i4Pb7m+9JVyOavmhkSYd35bgfQnO3cK2ThhdGU6Y/hmVzcIGqLgd42BX8EAjbSQ7h6jWadDWNa/YpLBry17bZAw3+q5FMCADb2pqWfjnoFWn7pEpxloi/EyiqB/TxpMom/f50hCuJm9RaWPMvaolnoYKl8M+TNV+9Mgy3X8O8IL0RY50JgB0lQDxDdyMKFZDyDKEcmtRq75d+WKOzS45aIIsOg5Y3uYz9twW5n7/WgO67AMg6r3mn0Nb3euFMOtXw4aLZCuD4LQ79V5ToPjp2rtzUi5Sho3M/GepoeRyTq0TjXD0SM1ePoLNLgKR+9wW8LuasItgJAP8BzrMpet5oFwCQhAHIH8XVi1JSpSpFHajK1+DjRtJ9BfcjZNdy//1YlkdrYIMe+2BXPHoRADwLB+9DGmb5Bgxxle0AoNkpAC4uQqiqMFRVACxLFBEaR4TGMU3NDkok+fBQltNUlq4rRBSZJsue5+Nxnm17ToFD0ZubNO26NDVNQjxPVUlyXS+XdS3LqqMay768tO1u17ZhaEyWua4ovi/G7zuORC8zMHx1FcdNE8e6jpDjyDKOz/PpNM95HnFYoemnp7pelrr2faWSxLZ5/r5fr/vue5GigON3d3k+DHlu24wFga7T9L7fbvte1zN/ZfD821vfHw59H8fOFYXvy/L/E/L/8/x4vERD0OVlFNV1FGkahLYtSRg2Tds2TVn2+x2SKerxsarmuao8T8o4tiyOu67n87q67vWa4DHs9jbL+j7LLItS3xfE5aKo1aqnJ5utKoxLb219fR2PW1p6e6OoWi0rC4Uk6XQaGZmZmabjDI3Taq+vo6imJpEwjHQ6J8fhIAilurqGh8V4FxEWZRBunh0cHcaivAQ25jZtkh4EJ62f72L5H4HD5rG4HEjyUXpSV9MHHuIhl/HN/XF+1tfz72yP+dTr/B4/VU2qczlVTapzOa9n3fuEMqRZBmVIswzKkGYZlCHNBIhoOcrWJqqaVOdyqppU53IoQ5oldu3Z2r298xXKkGYZlCHNMr6ede8DUAyiMRFvmKmZ0fR4YuzyWG7bef7r5/X9/gCgMBAaRpru6ml1tztCKo2klpXjrm5O1+cLIYtDsWkmJJWJ0nFSVFVNqbpcgSBCGdIsEZQw4+op2DK1ZCwJIxVHOillwTdQsmfryFmLmag50zQlzXn6inYsbVkrobGqE0MkTQkMlR04uvI24qbqLl7Wq7Sm9C/XXoCSxxBx3HU95E39sn91ACASdD5bqHqGOQSfNuI+XAIX449sX+hpiixZacq3H/L23vuFS/DJMzi3yMSTi92JukaT5LXyoLwyOfsMGtKC+1V9uXg6k1HPxp2ctBu7iB0AIOgEKRsWKw9twG6MHABcwAeyQXJgnQOQTzZrQJMBQLPRfLQYANBy4y22GgCdR5edjG473dkA6L8rAIPBUAAwDIwEBABgtDEAgPH+NwEAEwGTTDXdDDATIRDYWdzMt4VhtwJ22Q32DQAOTNQe3omdH1wY9wbcH8vTRcSz8Q68Z1b+EfAZfPPDLwCEhB5h3kAkRBYFEs3siehiiCNuAEgm+SoGaZFuT/c/A8iI7EoBKKtcCKiGWmo3W2igEQAaD9FSBx11PeoOAP5l+7b/pyeg1xmjx4zFeMAEzAAsBsASLF2G1Rs37cBOu3YfPuY4gBPgJDjlzNnzALhwGQBXwA23AA89Bk/w7OUrBH/46BP4hu/gB/gF+HNaeAt+AYAYnhiIa4BkBgAgvQEyOzcAZDe5DAC5/TBFTQfT0dDFXQ10M3T3P4Z/DdDD9DQAAIMNMNQTPNvAAgMLDQCwwqw1G8xm7/QuA8A+7zfAQR8xRw1wxXDdwA3fNADvDHw3Pwx/AkJmDMIFAACEDyBCtgEx8h6AuAESBCBhIFWuuYeCAUoESgYoHyqFGqmZhqFRAID2oWPolD4BAOifARkStr/M0ADDMiqjA4wJYzMujA/A/wFgSoDAzAkLw9IAsDawLmzPjgDAznAgBwPnAudzIRdzKVwOwLXA9cDN3M7dAABwL8D9AMCjAM8CwIsAvM7bAMEB3gcAPoSPAficrwF+hl8B+B1AaAAIURCyXgAIV0QogIgFROkDQEzegCSQFEgOkAJIBQCQGkgDQFoA0gFAegAycATITEoOAGSHnABAPjoAigEAZaAs1ASoRwNoCi2A1tAO2gNARwCgF9CbPtCP/sAABgIwCAYDwBAYAzAWAMbB/zAJACYzBQCAqUxnJiwEAABWAoeBY8BJADjFaeAMAACcBTgP3OQWd7gHwBOe8oKXAK+A1wBveAcEw6z7PXwA4Bvf+UmEBpF27VuDqNv9UIC4JX5J1yRrWFKUVN11XwAgQ489lbwlXwEKdyglSuUCVVqtAFC9QI3WLnUKALQs+2770rHwPzXz9i39CwMLwKAOLkMKDOvwjipM7crCmiJeW3hdpeYbu6mbe7AAcLgcK8cLZwpXC1wr3OjN3u67Bhf4XICv/VZ+VRQIcTW3QdR7vq8lI/UgaSdxzziKjpKj1Cg9AMqtwgAqjqqj2mqMmoM6A2gxoOWAdmMbtjoM6D74dwD8N6DHAHqOAYOBGzQYNhi+EWPUAgbA6AFjNnYTxqTB9AGwfBA02D6AIzs6gOMDODk4NQAAOL2zAzg/4PKAqwOAewN4PAC+jm/7MYCf+zWA3/uzBWHvC0gSgAghUm4BouYJsX2SBICk9gCQDwCKAyUBSgMAFRhsOBBgNAAAYwDGAuMBAAJhNsBclrAUgNXWAqxjPRv9yHV2M2yrKZxtdrIHYJ9DAEdccg245TaJbe9yz32Ax/AcgNc++sp3kB+If6H/b38Ir4NIB0Q7iH4cMYPjlKrHLV7xA/66GgeQujR39+uAglFqpnJRIYCKUXl5JagR1N/bP8i6Z5sdR4uzgNbRZlyXugZAty8xaWAAzBnUqla35rqA3QHsae/9cSCAgwFwKk4H518ILgUAV7oWwO13AgC42/2AxwFPAp72rJcRv03/4O8DPvQx+PTLr0G+13b+DAEYhCQUMlUjKN7xCfEQlWjERCyxxQUAyfy1iqUCOZVVpaYmGgAaagygCQBoOpkuN6ATsUkXdD2++hdAb9CHNZn7fuiPAX8YBoCA0cZh/EyzMNd8q63ZAnZiN/bY6/w3ALcAcO9738dDj/Gk6dlJL7z8EQh+DwA+4pPPPwD8wq1APPcIwORkc5Ij1hxsc7Cbk1wLywHCc4DoYlMEQbIAyUsxKZO+DEPGZA5kKetyTt5A/tgSVcFQKFA4RVM8lCoTKlaoGKoGagSomVqpHwCaNgrNA9AiAC0DtO0zAzMoDA4jMjKMzrgmBSZnatOaHpjfitYG2NCmADsDwK6wOwB7wr4OBOBIgBMBTgYATnU2wLlwIQBwMQAAlwJwuWvhbriXx3kSeBbC815G4FXsed3b4A+ZU/c5X/paCE8AwgAI6xcACA8iIyYAxCYuxAOXAJKQ1C2RxAGSQjKSkxqA9AAZyAiZyCJXgIIUgsKKVEooBxWhEtDAiOZwbEUPcE+G3pd+bKm+PzCE4TDCaGOA/02ESUwGgCmmmmY6ADATgEDzWGqZ5QCshjUAwFoAgC1ssx12ADvhEJyBc3DeReAKwA034RZ3eQ4vAOAlrwGCeQ8A8AVuPglY9SuU1kdQAEC02OJJBBJLklQOkEtuABQqgmIAoCIqA6hStRqgDuqhPhpo2KQZmrdASwDQWVf8iz4AGAYIwH3CRInbZEyZZjpghpmBZi+wLGgFNm7avBUAsAu7wUFS56PgjAvgErh8BQBcvQW4cw8PHz32BMAzQngxAHg1pN7Oo3/n/Qc+7w3fFwB8Ox74bq5++gW/gSgfRwgnRJCIAkTzALFBPACQkDajJgKpbWwBQDp7ZACZQTaQHTm1YYvYCjRABVS0tbMH3QDdQW9AHwBAX9AP/f1gMBiCoQAAGAbGGQ8mA2aYZwEWgkVWYhVYDViDHYBddgP2ANhnvwPgiBMATgI4BwC46DK44hpuugXu4D4A4AEe4gmeAgB4iV8fiAYKRCcGMS0Q10lCDwAAiYMxJB2TLpXM0SwAkIvckKcIAEplAOVCABUAFVUuV1TXEXQ+4Hp3S+L/xX+g3ycY+ANgjLHjMB4AEyaaNn0mmGcBFmLRYqut3bLVNsB27LQHAHsBsM/+a6de4XjWQ96fLFdvJEavEQz8MHPCe3GAiEE8jAPEEjsugHikxsmlkDKLrIBc5VUAtXuAJrM5oA1oC6CdDuDfd8x9Dz0/AQPAQDBoBICRAaMBY00EAExaifXgDVp6o61g566F23ug4MFKbUavN936VuTd+c738UzIV2zgH2jr3X4DRAcgpAFhEB4Q4YoYIdb3EUlDsgDAX5PRekSaQPqQOUC2xeg6AsgVrgI3bnn5hte8Ad7yzgDBBvhsvn3/zR86KEzIEBkgBiAO4gJIACAhIDEgiWAMAPwFIDkgBSCtdAyQVz0GKAAKoojn+A8VCyWq0gyA5kDLKX/PaQsAdKALAN35h/9Q90jpHbbva9D/Cxj4yxDMMIKtQxkBo2Ais2HuPJavZBWrWQvrADawETYBmwHYCmwDYPfeffsPcgjgyFGOA1yAm8Ad4C73uA88BuAJvABewSefAep0eCJERAAiQWQgCkQfAGIMQPYh51BwgELzG4oBQHEeAKgKQH0AGkJjAJoALYB2AO3ZsEXkTsnbFbpx5tt5MMDQv3MYBjAcAEZAAKMZAwDAWIBxiNn7nw2wETaxC9jNHtjLEY4CcJwTAMBJADgFp4GzcJkrAFwFei2J+A2AW3Ab4CXwFj7NF74DwI9BLIgmQPQAxAgxIzhWkNiRKMXNkjVb9pAmkD6QMwBArrxz5xMAigSgaEiNiksJ76WC1JP6Dhw5FQCY5WznCsA8gfkCCwRYLMASl7pMgtbQsMKVskpYLS9rhLVkvRv4TW53D7N32sV+gUMCcFSOeVxOCpxSxJfUcpeFK14TbopwW7TcC1/62mA/yMfwaQWfVz4Cv/JbQkTIIGJAjAKJCwAk61EgZSFVzz4KkKEAGfssWQoAAFkL5CoAFOi3UCYoW1AuqFI1AGpGnToBQONo0sjE3jwAgBY9R5egX78xIkYGAWbvo2Ns02JOADC/BS1sUQAsjiUBsKzld+wc1MpgjXbtuHfKtmBHO9sVu4M97n1v+2J/DvxQwGEL7OkMDM7E2c7HpQBuzNTzVnA74E7c7V5wfxF42KMPBsDjeBIvAngDvAXBvk/FfIG/vtpQkgRCA2EJDwARACIJPxC5dyBLh2OnfJylREqigMSrs/0kDUcKlDJOm+qku4+vSGix1RaK38V4oORDFsqFeaBaFagJ1L6y2ATq0QAa0gSaQwtotWr/DkfHozrF5RnQ1dItCEMTGJGR0Z9RgYCMCWOPY3yYJOfc82A+WMgse23LQ1BWZnPYgmy797H2AQcvIUeiyFGA43DnntMa924BXsArvvYt+FWyIogYAGKB2B+fkgSf6aesgNyPTwAFuk9lAVT4b68wxayEyqqAav7WeoGuKUkPeukDgP5fBr0EGFqYMMLIg0YDJvwDYBpgBmaTl1T/gf0yBGk3zpC3RXtwuy0cOboT2XMMx528dNkVADcA3HL3Ph56jKeeg+AP4JMvALXEixCFBUA4EQAQi3gQnwRWX8mXtHZfgPQOXzIDFIaiAADFUULZIFQJ1Os+zwG00Ra036Ajur0CegLohd76gL7fBhtqJAAIAADAaOMxAUycNgPMnIO5WIKllgEgyFqwzoat2wCwcxd2AwDYsxcAsM9BAIdwzHGcvo6b7oC7r9+AYMB78OEzAH4DIIf4EfL7ERmxVqp9AaRZQLpZFFnFUCqdURbUAg0A0PBOLe4Z0/4BAN1A96KxYBwAYDxYhw27AAB7AMBe7IcDcPAGuERpAA8MEx4DwDMAeJOkgPc+/UJRxREVAIh2CgAxAMQEAMRGHF/T6ZQkginJbaYAAJDWbgrpQSYAWQBklU8hByAPyIvCAKAIKIpiFL8HSlG1AgBUh9otAGgMANBkOAKgBdBhCwAAXQ4A3YDuAPwL/yVAz9OZvgD9fgzBMBvAVtvATrDHXgD7APYfAODoMTh+4hQAAACcAwC4cJGrXLtxi9cAbwGCvQdfhMYyhCfijViNahYAAHGBeMQHAFIDAJBtW7uCvNcCoBBQmKL/AIDSjwDKhWXVm6gbaYpmYwC0ANAKAB3QcQe6g14f+oOBBunMyWAwCgRgEoDJYAqYjWWWL8AhHHHs+PlNsIsuXbkGrt8AcBO3AcAdcNe9e2r+p569fO3tKPphK/3UFo78/qNWIBGE0AqEAkILASAyUYCo+vRLDIkpxLIt8QVIZOz9PHwPkjp1Zuulc+3eoychr5fjGC+/UMA/KAVlASg3j6+kpHKxgJpV0eocoMPFMuadoLO9N3o4ryUNiMBA7swIRr6LzMkZZSwA45kCMJWZALPMYa555sNSlgtiJbDKWutgA5vfD7wchEOc4QgntpwMwElOAXAazsAlLsMVgGsAXOcGt9yGO/CQV94AvAME+8WvAPgMAAB++FdQqAAAQhdmTwBRDwQgVkieaQBIk0UAMmYTcgSgQB555fP2/UxAmWEVomrQIgDoHX1eo1+DAwBgWMP3CjCCDdhCxjS28S2bPeMHtfbGADa1+Zbb7gjY3Z5HOvpYnA7OCMK5BZ4PwIWFu/iSGrj6wDeCT2r39LOeHxe+uC28fjt8sxAZgF/DSDcQCSIDUQAg6pOluOIDAOAvAMmRGn8H/p8m7WGZL+VCCSVRGlTIoxaAerHW7/bNPE3QdDwBrdEOHXTV3T/4L7kA6KsfgAEYNPgeNn4eMsZUAEybIXDOPDDfIgBLwAqsxLoNOwDssnsP9mKfQw4fcRRwAnDy9FmcB3DVtRu4CbgFAG4DeP3mbfD7DyCEdhAJAEQGsSWSWBLpQQaZAJD9GsgldxkAgIIo/KsUKAvKAYDyqKSyqqoBqt+I+miAhmiExgBa5AG03aczoKse+J6G9MpwIz76KKMnTJxkyjQw30KLVMbiJ1j6+MC69Ru2UG/HjoDnHT28gJfv3n/gnU7/4Pc+4hO++P6HEObFMVRoHAZHkIoy9Kgx4L+EO3nyU/3IDy5gQMoGuAqkKvlkNTQaoAmajdFiGpa3jL9Bh7frB/rTd4CBBhkyDEyYaGaR2W7PnDXbCGtHFNZttFlNvrZt37Hv8uoaOAmcA+A8zoFU/gbcVnV4ZAHwxAE+wDf4zg/4ScIAIgPEBEAcxAXxAEBCGHESIQlIClxyHPz0IAcm73mRjy5UjNsQpVGOMARUBFSGmbsKoA7q0gvRmCgch9MQ8DeLcBNuw10IgK68BjPYeQhDGc4IRnb+Y5kEpgBgLpiHhSx6t6h8OZvGsNsxnF2AvdgH4ADHwInZDekUp3EGZwFwDue5wU3c4jZPADwF8Aw8BwB84zsA+AF+4o9UK5QRjSqxFUcQVwn8icIIkNw4AgCQSmQQABk9R2mkmgCgRpkt6tiN+hEai+bqJHp7idDXr+g7+lMjBfwvAGCu5l0hmA8XKAtfg0XRtcQgV4s1Wqt1rj+O/W73uNcTw8cpz3h2bHnO7WHPizGScEFcVKe9VGb4sle9JuC6bgsA7vpAr/RGECx4L2BCkn92hSWc52dkXhZkVTYkySMJkKYr+3IhAXIBQO6tBKDAQR4lRW53GWVUBFRCZVRFqhpcHa7hk9ZqgpY6xQC6HPJOugN6fHwaKLYZDIaAoYaB4QAYEd+HMipMQN7RYHw6D+B/EzAfC7H0GIJOAGClVYB9hwCHARxzEnD23HlwwcV3deVSSr4/in/gkfK2keAP8c8nn33/BeKJOCDSUg1I/S4GpP8Qy/Qlfq3L3Cv5ZfT9FwBDwDAMNxKjAsaNBwDMAEAg5luwECxajCVYahmCVoJVWGcbdgFgt30ncZqhn3EevqClLrly9ZrrLO174CF49BhPAE/Bc8DrN+CrAFJFaIAwAiHhdUAkIuuBqEQnBgAxvSWIAwAQ13eCBACJAZJB+atwcjhS/DEgJaSyTUA6VUjv7xlx1YxbuCyyyrMrrqDyXMrtmPwxRCF98kwAQDGoDEB1DZVaNzIwtrKmsz2EUZmEA0QEkUQGABAFUUEMgJjmJwFxiGfJEepDYpIC8Jczk1KTFtIDAGQEgEzWeieFoDCUoKQH3ksDZVIvKCekAgBUVACqUJs61KehCa3MLYB2TtAPGMAgBgPAKJZaVumVIFhpldXWAOsAgA22AABsBWAb2wF2wE7YB/s5qEKnPspxn0vmD1zwBV8EuOL78Ehdg6d+DfCZ3wB/gDRFHX0QdwlfHgFIvCQPR9IPMrw6knlZlnWQ7Y3RuREosMIDir8LqgVQs6wNvlaNalqrgNbR7jboGnSL7v0X9HyKgQEw6MgBAQCjjzn2xJMDYEZzg3mxKADYcONNweYA2BKwPWBHAAcCDq4EwIngZFZmnupiXDr3JwV/H5/78dffAYIhABAKAISuICKIIjaAePE22W62ICuAbMghFyCPvNW23jZbAAUBFP4XUBblcwComK4RKgGAqmqAOuqh0QCttFlvQOcjQvec0FMvtl8DBTAKjMY4wP8TMM30GWZikSVLscqateu2YafdYB9gP+CAd3rBDdy85fYdd1Xnvn/euQQVnvvk8xd8xa/fFCUCRIwMQDRiACCmWLSxt65aIFO+u+xADvkA5AdAAUDB5w5ACVBSKUBZAFCxCKqUVVdHPUB9NNQIAE3QdAKg5Q4AXXSD9EGDevTBYNhwACPASKMwaco0ADAdMwIx2xyLAACLLVmBlVYBgM1btgIA2I6d2ANgn/0HzH8PHXbEUafOADgH4DwAuOgyuHIdNz0G8CwYgPdf+KkuAQgFK4QlaoLFHkmCfbgHAKRQc2ppxtQdpN3tkU3+bq/wcw+gxP2D0qCMsuSqVXQ1NV4M6nd7A02QFuTWDbbj2+vwWB11QhdoCBoaAmD4iJHxTSsepq/6DzQLzJ4zz0IsshKwGgDAGrAWsG69DWATALbYgUOOA06AUwDOOgcAzrt55x4eAAAeAp4AePriCwBf+QbAT+A3wM8QhAYgLISLAbHBOEwCLySCP3Ji4QGkBtKO48g4rmUiH/mBAkAhKDIXFD0vFLusdfUllQKUzmRVuAvQAq38jbZod+/+AwDoovsjTx7GmLHkcelMmDAZU6YBmK5Lz8wUCJg9z3wsBrDEUrASwCqsW48NYBNgJ/aDgzhEdJ9x7gIugSszQl8F18Bt6R24C+49wJNnL/HKa7wFvAPBPoCPn8BnX3wDADYhmQjD5YFIhBBZm3hUEE32CIgHJATICkA2tyMAckM+9VEBClMZgCpANaAOUFf7CID6ukcANIQmpkfwN+3tj/oCI2AkoxkD39jYjjPBRJPQFG6qCDMNpptxFN+sdI3MNhdYbCmwHIA11gLrbIRNNgPADjtGFfY5AAAHOQTAYeAIR+E4JzkDd4Ekqs8/J/x1dNqcQMYBmU9Psg6yL8eAMlQAKgJQicpKVKM6UEsD6gANAaARja2hA50dgG7QXUof/2SU8cAEmGgKwEwgkDkstASApaxmDQDr7AaAPQB7YZ9pFTVOcx7gAnCRS77kqwDX4RbcBQCA5/CGT/DZF98AAOAHwE9kLgAAiHD7j4gHQCISA/CX5Cw1pCUdAKSHjE5nmQGyAtnJQ14gPwWAQvozKOIVAJSs1GwVAwAqVTmgympQo1LX/FSdha23TjSIhgGNax20CWgX7W9ux7KhZ7gGNOjghlzP5HpoDDv8qJhzXsD8WNCS2b7lKQiHOtrcHI9TvzPLaPfPbgTwNHh2rpcP7dttU/vvguAA+PxLP//qd/wZAgY695AivnCxhM8bAYho/okMUQzGFBCrSdu0S1EYFEGZvEoag6ag2QQALbWaXbm4A76jTqvDdUYXPdLz3yOMGo8JJk2ZPgMw01wAS5YtFwRYtRqw3gYbbQKwGVsBANsBnAAnP/n5L7gG4Dq44e5svQHgJV79BG/x4Sd+AXpZA4QUIUQGAFGjX9y/MvEHiQ8zAMmPs8R3AMgwyPgpA1mX/UdWZsg3ID9a6MEUZ6k1KLGyhFQmu3UPalxbcp1K7ah7452AFgBoCVrlAO100AmdQVcA3fyrN6DPkXHgf8CkRTM9KjAjmEA1zJq9OM+x2JKspSgoB7ASrm8tNmzctNn2He9W2j3bM9HYi8OA44ATOHUBXASXbrtzz318APgE8DmEFBBS6AjCCofwIogIiKJr+Thy3HJA7vGPPk+Zyyc0f6BIKwAodN7qF9GMW1TJhwyq1uoAarVXpKGqiaaNbdaJaof2gM6v+Pcq4rk+oC/oBxhmOICRAsaB/yccmU5KzUyeMpZObZUzbQSc48HCRbjFO/2nz4c9q3Lu+r08G9zh3iPKg4w4D3kGvHrf+S15C7yDYIH3X3L/8fX78ZIjPymU0Acg7IFwD38g4gEAIh1injgn7nVKguBEDyywyR/HAlI8vrQXih1KnlKn7Kl+gJqfn7aHbpfIGXAYeAZ/+OjvbuQJOKM/9Uw7M8+cA/M+/wCLvv9w8HCIlSM/SiXZw/Fz4ifPqcPV3z3A4/PkLw4AvDwAr/7txIcEkAqAtJABzFZGzgVZAMgK5OBW3AsgD0BeyAcFgIJQBIoCJaA0AeG5wlURKgNVRvC1aND+aeoD0BigKSMmAACtoRMxDIBBTh8MQ8p2KAxjeBmU/QgYD6kJePZJwBRgavuk0wCYDjNgJkAgc5mHZz6LLWiXnoOHFdqVez7aKmALwDa2ww4OcZjjnGB8TgGngbOch+sAt+D2udzhjj3c42FzwSPg8UjhGbwOwLsnJjjUBz7yGYAvNXEDfOM3JkzOCH0BiASRiWbGjCOnAIinoIqKhIAkAICkSKaBT4OMMVQmQGaUfgxCVFARAP8mQbdtout+6Kvthu6AHqAXgN76fP8JDJdHvAIjwbQqmH4WHTEbi9aB7fZfynn0hVOvss+41nPCLcDtb+LTZ3zBN7/BH0DOUaKDGACIiVjiISmAZDLIIU95q28o2N0UHm6KKZXJqVhQuVzHU39MW2y9aseind9OuzxgtyD8k0zQf9Hjy0DDjQoAwBgTAZMmmwKYMTNwrnnzFy6yGEuXCQKstcFmbMFW3cy/bbtdOHUBl6+BG3fdf+iRp54B4PkKX/pffyj88dM7BfjsB+AnC+zvd/gAAoQYoQaEcXuImKXDAFEWc4n21wCA5Md3qV7fN/ftHdkv7gAg7/Lf3gEAhQclBmUGANS5qqx6qOEkTqPRZNB0zQbQan+/QNvn7h1+V3rE0vNgv79+A0cg2IDDZMxg0rX5JjduylMjevqzFy7CP73GW1+65SPoFRttHdvCb99ungMfnPo99GFHxtHBsQHA8XFqZ9fFbue+cBM83pM936vfAL4eBP0jfrCITFSiRQfERDoWEoc6BVK9AqnDl2b7kEnm9AhWsjkie5Mm06eIYrd3KPmofL5QQQ1QG9QBdQHUGwCaaIpmoDlaAIBW2gDoqJPO6KIXGIKhgGGG+38is7ZJSy1bYSVgFdaCAw46DIDr4Ju4O/p3777oe4hHz7z17j0+zKhPH8FX33/4+adUM7kBRAOA6OMSAMQUV2jigfhI4NElWpRI0hZHSQ1IA0iLdEgvQ1bKVpUooBAoPJSAEiitLCiH8gAAKqhURFXVATViWxON4xQAmqAZWqDlDK1XG53xnyI9dCT0PIF+GDS3pOn71IGYlcwW5i8AS8EyK7ASa7AObLIZsGXnbhzGEUdPgJPg1GnAGXAOnHfB5dt37t330KPH9xXfPH2G1wDgDeAdIPg9gM/fjlsQ+P5D+dm++19QiEJoIwyEJYJOiERCABJbVnElNaQhI1Csd6A4UhqVOaGcMKsWqQ71AABoAjSFlrQFgPbQAYDOAEAPetMPhgCAoQCA4WAcAGA8B8BkAFMFAKaLxDK5QqlSg0VgiWgGWApWQjanMekdNiL+OM45LsIlV1yFa8B1bgDc8ggeewIAz+A58NI7CPbeB/gI8JmOfGHk8YOfED6vFCEi7zm/FqdIvBoiKUsVkLb0DzUgYwBApsi6qAG5AnJ/1ApHkUpUOigfVMLipHJUyUu9qK+GBnvFQ5O8QNMrNR0epyEIQq8n7Z3zD2xQulBkVJmOeczfgXGtdmDKIMCMdQAWHU4BIOhy/xw2hc1vga2BbQHYHnYG9gT2P/BQACfNyJzp4kuvBNcD4EbAzW4FcFdTgXs92MM/7BF8Kj97zb34siiwTRpvAgjuVwC/40+JNxJILEnQhA2A5FKkDSCrggoBgKKAcqipVrOFepoDgJZoNVugLfj3E+MBkzFtJgJXAWC1NYC1WL95O9gBdgI4OA0OV2c+7jrgBh7O/QivfwIAeAfBwOev337yGwB4rxAhhJASxggCkSSqABBNiC4AsZy2QEJJJCSVZALJXbUAkFIAUgk5bFqKeyf/FWkfnvJSwXyVpuqsANWtx4MG9uyLWyl8rQWgzdFq6iSd9xlvkABDZISjZIIAk5y8ZJJNEZjuXBcKLBJY7VqBda53gwBsFmC7sFMAYJ/7hWMCnBAATnpKTgtnhXOef/fyX/ByyBWv3vlroiPXNWftltz2jjwQ4Ik8ldfCG+Gt7wQIFuCD8NFPfpafZ2d+0d8tRgD+SHUROwD+CpJHyv49PopO3abjSxuYTp0hMlc8rZCzplyRbz5fKioahyoBVA2oFlC9Tr25SKPXgKYBzYIWjmnVrAK0bhm5XRzbBx30p2MAvYN+0b+vgIH6HBTDGu1nTF5qbIwLZsRCyOI4z5KWBsuC7e2IXe2L/QEH4mAc7nSXu96NuBN307n6IORRxI9jfd6LkJfx82pZtHwdwLsgOID3fQgAPsa34GfwK/iTF2YGoYktTmEkBwBSQEogHRmAbJAdcpFzFyjAFoQUuvSGC0OKMLkvCsUpA1CWclABqE5NTz3z29rU0erVoz4NaUwz097ftLbsAXQEOtEZ6MdgQ2AowwAYDowiIM3P/8BUEvtMB2bBcoAga6yFdcBeDkI5EXAyPoHTAJxxDi7CZVe5Bte56Y67Hh6fPkr2Yy+9W3c+AO995BPwFeAbAHwHbkUiNECYiBMhOgAxTAYAQGwAIA7EBeIR33SQ0HIIBmkdB5nI5TkoDqAKAKgD6qOJpmiH9ugU7wFAd9BDz+uXgQYBRqmDFjDGOPqPx//TZ8xEoLnmW4DjosVL4GVIkGErVwVZqyusw/oNmwBsVTtg29Z4Z8eu3diLfeDgIRw+A86Cc86Da+82GY/Xb7vvqWfPQbGDYCgAMMxwjICRjAUAxsF4E00CmGzK1BlgptlgLgsAAFgIsMh/sYtxCVhiWZA1rGM9G47bWGCjTdvwbLfzkfcA+/fbc8QrcuQ8EobvOuDG+eSbC7yVCHEbwB3wGABPuQC8EIQR8AYAb6UEfz8P/brN/vsffh7z6/+WzCcsiCamjJw8IIEygMRIoq4LgHSATBaU240S7m9AaTozVAbKyd2gIlQCqEJVqAFAU2hGc9MbyN8ItCMV7wDdoSe9AQD6AP183gAABvoFhjW8kU2MyQEwLeaci2TdvIssBpa1PAiKNbHhZmBHsPtx4MSTLnKpK8G14OuJbnayWx+tyGP84p9MIcURIgDCBITdByMFiXJdOFpE/y0NncxfIDmAVLIAssshl9zyyAeKB0DJoHRA2coNb0HF/z8HmqvKp1vU2VobW6/60aCcGwaNag9NTo69o03bRLsAOtU14N/oUc8AegUAfRpsiGEgYCwAxmG8CZg4eQYCwVwEYc269TYCAGATDh3F8YvXceMmbgEA7rgLAO4BgFeC3/v02Rfw7QeA338AACAExiEBYiDxMkAykP4AMp1Blosc9wfI14LSyqMqqgFqoLa6gztAEzQFzbWY3i3vALTf3umMLoCu73fJHQCA/kYCCBhrPP43FdOmA2aYGWjWHHPNA7AMywFAEFYBWAeA9br9zwbbBLfv3LWyu6UdQg67Hf104nwW510E3ABws97EM/B8zksAr376+3N6/+6Hn7PVX7/9gUMoQKSIC0iEpBGAFP+8g+sESr2VAQBAxtP1hty/9wBKAEoqpTSqAKilTuse1O/fo7FmaKkVuuoO/gX0PN3r7X/TzASBAGA248wxdwFg4SJLAEuPIrJ83Nhi3xQcmeE4Tpxf5OS2o5x6hbPgplsgGPAewAd8Ad8qpCOiSACiRgMQHUDsOAlAEiRHCmQGAGTJlgcFUAiFAUWUBFAWVCw8qKyKmk8PqK1O6wHUA/VBEwBNNdcStF09rB/QAXQB3fEPAICeoBcYABgEhho2cpxOnhJmWnwzHTPALADMxpy55gFgwULLzjXzrgZr1tqAjQBgE2DXbuzZt4L97Y1DOIyjd2cLnJqEueDyFcBVXMMd3L3/QLTzEI/w2BPPzl3y8z3wpcBrjx548/vRE/BH8j1CECDM90M0AIDYQFxyQL5mgGKheKBUSqdMoGyA8gEqBiovSa2qrmSqGaB26mxl2pluZpyZZGiZ1ukYgC4BgK6hW+j+NUOPaQYAAHpFmVPM3DntMG8BAAuXLQ+CzcAWYNuOPeyFgwBw6LBOOHPWyljOAVeB6ze5xW24A3cfyig5QApISTbIBUAegHwaKApQE4C6ANQHABoAQCNoAjQFmtEc6AwAdIF/vT8mjxhsFAFGMyZjDowHmCAIkx9gSnPPgrlWWzMarkdwG2z6ZOxiL+xjPxx0iCOBx2+Mkz6eRx3AaWc4C+dcHQ+fRBc89Qxe+chnf5yz6P5TiI7wgAgiAYgMAIiCqIgWMVMQRyKJAUlAsh1pQNoLZEIWAFllvxVQEFAMxe9iWzKfVRlVOQ80SFuBxlF2mB1nV1ldvNJeBx0B0EmXYxbdAcPACCb3I40KMAZjJ5hltvmABRaTvF1ieZAVAFZZi00A2AxgL9hnvwMHAZBhCLBGkSIYi9gLiYMlHj4+CWwTQ5JLijoFpExoSA9kIrOGmEUmB3IDeQAgnwYACgJQFIodAOWv/jV4LwCNHwUAmuopWn0WaH0AtPkq0P4A6PhdEAf7QPcDev8jwIAjwBhgLOMBAgGYDXMAYC7zwYXy4tfcEktp0Bi44pwrrWJ1c2YdbMQIDZvYBtvtjHKowGHtkZm2HOXYAp+TTgPAeRdd4xbc5q57wH144T3AJz/9gt8QEjgAEK4MAIAIiFzZUcWeiogjLuJJiKQASIYU/xU71/WeEUDOO/LIWzWdYrchSuRDlUEVUB1A7W7YCwchmj2HWmkHgA7oCqDbWwgAeoC+3+EPIABjxmE84H9MAEw0w0yBgFlmA2DOXN2Uaj5YsgprNmDjZuzYfxKpU4x91jlwCVx25eGjxjy1AJ/5n4O0txHenw4fgz9Tv63hxEZdDy/RvoiBmIBY7yCOeAAA4ksg4TIEQHKQGmSRB0DeFoVBEQAUu8+hAiqqpm47p6nm6xzosM8dcv5Jc6ccJoCp0wDTzQAzEWjWbMwDAMsAsBysWm39BuW+cZODt3mLbf7o23fs3IUT4eT9MiV/M3ygwTcawHfaLxrw+1zXpBxCaumWUMIEoogJ4i2RFMnCaAsgnWwXQB75mhaFlQDlVKnma3nkmiuoVf3arTvpCuv18hoBmmsBaL3IA9qu8oDu+Ae9dSzQx3AjRhoVcA11MQkzBS60dBmCrLV+0y4Au/cA+zwDTnxSLuHyHffAffBoAU8RhGfLgvLVYiOESdjCJVIxSxggTYDMAQAgS9kCANkD5ChnIFfIGwqkYAqlSLrYpEKqVyuoW7egYcMCAJo1LnDItAyt8shtWxXQvpbn0al9QddAt14K+gToF6B/PwGAwQ0JDG1YhgeAUQX0fyaEKWFqpjWjwMxpbgCY34KwMCwKLG5Ja8O6NrQpO8OuTiSFn4z1ZrcTuJuHBR/VHng6u6ZnPe/VnnTZ24ID8L4P4WM+hy8B4Gs/8zshgFAAYQGA8ESEKBSJybJ5sYgrnkSQmCRACkhJQQCAQooCQAkASkIppaKqUA2oDrU0iqAuUB+gIY1oDE2BZgDQHNHdlk50lhTTIug9lw5ooQfCUIDhSd0YCaMIAADGAOMBAJjBTAIBgNkwF+bBfAssYrkVVsFqa6yzqSMAG2yyGbYAW9lmD+yF/cABDnHYUeC4czzw0CMA4AlPeQ689c57X/lFqAGEW/jFHfGWYIkGSU928qU89TKeaQBkWa4BuQeQ93wDyD8KjsKj2IBKF0uqXS2hxmqNOndKAAAajsZrsmajxWg54G93ovWLkg9d3+Ro97oEoMM6D+i6bsP1N2SrB4wZnPDdT3zSYPKznj1Y9JKXDlg+gl7xlm0bbB87OMOeHYSHGhbAkR3biZ0dFwb8GYBw1UIirHCA8IiQ2OIBIAFIWHwiSWjSZP11MukeSAYV5Ik/b4E0dCiokMKKlhBQSkBpEwAVVQkBUFPUUm3VEQD1BA0ENHS1EIB/Egp6CBiEJYrBaIwzfeaosQ6Bs8zGHHPN+2/XrrJ0eVDISmSVrh1YsxfsxyGcOOUszjl/4SLgGoAbbroDuOehraQCePQYTwDw3AsQDPAJvv0EAH5JBGEIS7joYiAmAABiVRwA6V6yAwqiECgKSgAohZqopQ6AToDO6PZSAfzjv6QCRo8FjANMBjAFTDUN8wA8xGPw/A7Ax0+Az1+/+eW3P5QyJATCiyAyogAAogJiAgkgEQCQFMIm+5+u+ovkewDIDuRof6uUSNlQLlQIFVMpAJVDjU/VRhWok7qBBgGAxqPqsEqz0yq0CW2vq3RIx/QI9AzQKzAcRgIAAQCMBWACTAKYPAUCAQCYBUAQK9bAuo0AbGIzW7ftYC/79h+Ao3ASTgNngQsXAbjCDbj5CJ4C8Pot8JUfPwH4BdBwKGGFA4SvAKKLKT5IMAOQZBUnSA0gDQAAgLQ7AJmRBQBAVtnlKUH+HsWDWlhDhXwNVAZVKzVUVwN1AHVRr1NDk2FNcwDQ0t9aAwDaAGirPQDogI67WlwD0EVXAN3eau819DrXAND3j6EAhgMAAsZgPJg4zXTMMDPQ/IWLFoPlAAiyyhrABsBGbLLFVgDbdh4Ch3EEHMNxcMYt3AbA3Xt4+twLwMtXeA148xEAAMAnfH74A+EBIgBAJIgWX0IpAAApAQBZkB2QA+SUK49SyuTq+bpKqoCqlTpoi/bHOgAAgO7gHwAAPdDzo/5VBwN/DQHDAAAwHAAjjMQoBADGjb+2KqdOG6Ey3YxYIXD3WbP9c+Y+4Txo4gdgPmCB1daA9ZsAm5W8/Xj8DgdtDx13aitiT58B53EBXLqMa+D+EzzF85cAgFd4/QbvgAFALMQBAHEBkCAhEiEJUhZSFABQFlAeQF20AgDwt9bolqPHDgAAAD0BAw0FjBw/dS7mzbcQiyxdHmTFRgCb7AHsPeSoYzgNzgAAzoJzLnsAHj4GPH/9xgfw6a7g5yB8DeHbmeHHz4BfUQkAtdoRin+vh4MRlnB6RolKNCA6xJgBfZLYZgCkBiAzs5WFrFty7Ml/f1CUYlAcSggaAMprNzoNdBA39o1jA3S/ku7XP/QAetLbVwMwEAaNGBlgnAmYBKZOm44ZmBk4yzwAsAALV298WGFbALa3kneOjbTdYI/O8732sR44zPGIozzjxEl6nzqN8xfAFdy67U4l7vc98sxbAAR7D4APAD6Cr74FNOoEIQxSWGgStTBZ8UB88FeE1NvdEZnOyAbIAQDygwLtXliodhT+u1kfAertveEarTFp8haKQdMXTW1fNwGdBl0/NgHQfzBgDBpi2PCRo8EkwJQFgEWWLsPyVQCANTZsxz77HcJRZw+uuYGb/9x2D8B98OD/BR9++gUAfgP+yFzdwgAQ1g1iEC2JmOIAACCeJElBcqnGMhnNM2RWBBQFUIwSgpaKii1VAIDaANQ5S+V1tffVh/qiFprTwqwFoA3tAGgP0AmgM12wID0jjl6urY/WHzp5eNmOwKihEXBCZ2xRAiv0LLPNt+j8Ql2zCsAaW2wF+x1xFHDsuKvgGvvreKgG3kf7Ybufj+s3/2lMQFiEQ3iRr0SA5EjhlQCANDVxpd0hq5zylDWAAiiIIpCiRxYLxBQHFWwrobrONABAQ83GbXReZ+9d0BUA/Ou/tA3o99kGAwwEg+5yTs3EyVMwbbpFAGAJllu5cRMAYI+9gIPg0H8f/8qPHBsTOx3HScCps+cAF93G3X/DPSjgWSO9ev3Gu1iD3+Phw4zOxy++fvuJ3whgRCjCdAMQFQBiIpYVi47igIQefxDpk5E1MgPSMwdyZUdeAORDUTnLDTtUmN+dKn6qpSqqH/vZoEZqfrL59Nqpm3qpf9yZdKadWQcAaH3RoXO6BP7NfwF6Bej92gGGDocRwChg4iRgzlxgHjAfAFjIIljBKtgAAGyETQDAZrYB2wHYwU4ADsBBTsJpADjDbQDgzt178PbdJ4DPAHwF4AfAb8BfDl+E+WWJB5CoAiRpAnXVA1Bfi1lXJ3QGXQEA3QH/pd1TOjeAsYBxmGJqgVlVzZ63julCiy0TtMIXs3M39hw4Ak6fOQc4f4Wf+62uAR55BXgtxKv8EzJAqIQN4dpDzMSXlRgl6eOvpEn+kj5A1vJe0ZMrAED+AAVTqKEHivbqKZ6yKR8qp0b1njq1ejrSMAEaFVV9oHnzHmgTaBugXaBnAIBeGZDJTcHMyKybGwDmh4UtDwBBgTWtDesC6zsWAOB4ToYz4Wy4Hm4Gbge4093u9yiPe9aHAD7F1wg9wiyxTriFHxFG1AFEf9yf9AGxFvdofLwlqkiSUWzKu1RAptM+IMePPvIu36DIrz6AEqPkgNLn+ir6vaDyqgyosVoMpM6Aer/2/TcYvDBD4FCjwbDB8AM27vFP2bTNmU3n14zPwrFowNKxfMCKwZrXb/cHdmjAYeBI3cHRHR9w+suDGwOAm7v14/GR73Ocvwzf57+//zO+4TUWIhJEiQXEAQDiAkD8bgmQpA9AGgBIK/Ou7HCACvOD1kDDgMYB0CSApscDLWo5HuwHh4Hu/VvPBjR4uBGjAUyeMg0A0wXOMRcwbz6WYClgmeU6qSD6rsI667ERm7ZshW4LBHZUxZ5zynvXvAcdcmTbS47iGAA4jhM4idNncPbcTbduuwPg/gMP8QivvMuWNwYJ3Q7hxuYjCYNkpbiOdtEhkjHIFJBlFskeOVcRAApVuCIVDaBslKv8UgRqRM2NqBtpGfx9Hi0iAAC0u472Eege/8R/9fp3AccGwPhTzg7mBwAsbEV125WtypOtve762GYo29t5Xb+7OxWc7uxzAefjQlwNAK71+JMAeBahfmACIlAdJUP2AuQE5Lo/ABQAFFRY0X+GyqBCflgZguq1oTqgIWiqGYDmWmqtzXboH9AT9LoMv4Zg4M/gYYDhARg9ZqyJAGCaRP90MwNnzTYXMH8tecGe9PzCJYClYDlYA1iPDWDjDrATe7H/AIDDjjjm+KnTAM7eYdnO3f+MeP2mW+ARgMdPwPMXXnrlDeVdYPCdhffnpV/2+/kW5ndp/sybgobAOSE8gAgAIiKSyDFW1D5AdAAQc0nsYy8EJFwOSIwkUiAlIFVqeAPIqcglgGKgamVUvULHOuq2rdSnbTjj/I0GI00myW6ptdKm7NvpgO+oE0fn3bsejQ10fx0BgN76hA7P7owgo/AEjF6zb4yx4/0PmICpWGj1GrAOrAdbAOywEwDsArB77z6HAIcBxwGcd+ESuAy4ccfde+ChR088BS8A8GNEORQAQgMIJ1IaAADREB0AMcQMiC3OfP3jiodUICfIpeh/Hf2SAEqpXvpTA7Un4+cxaIUO6Ny2XR2gWzLWE71BHwPBYAwxbNTosQAmgImmYTpmgAVgIYLASuzAXnACJ085DQDOAjgHAC7g4mUAXMdNt27jDrgLuP8Qj555/voN4F2wJEOK0H0SADHekQCJFgBIAv6KAEBqkEaGVE55QVHlO3HFNfvr1O0JvYH+Q40UAMaAsWAcAPh/ImDqdDALLBa0ArBqvU3Y/ur1GwDgLcA7AHwEn8DXb9/xJyz2ABA+YrKUQDoAgAyZspCX/FAAipo1l84+ozwAqAgqg2qA+pCG/DQKaKxtth+0CLTU+olp91HbAzrqFD/vn0FX3fj+ifU//V4rAP0BDAykHTJagKF0eIucMQDGvmvt3CyMMxOB5ltqOYJWAGD1mrXWAYD1NmzdY5/9OHUGZ50DcMFFly7fAw8eAuAJ4CV4Dd4AAPgI+AT47MvXb76Dn35FgwIgJiBWPCRBMpAyFbID8oDCRVEWVSZTLefTxRQA0BZAe3TWRVf/vE3fp+jxMwyMAAAQgDFgrHETTTJl1QYAmwCbbdm2HewGwOHj4Nx5XLxyFdcBALcAz56Dz+DLVwAA377jB34qH4QFwukAACLpJopBYhHbB0BcKQCQVe4C5HIHyAMA5CM/AEABKARAYf/NAOWgAlAZamjOAEB9mtAK2lnP0IGOdrN4BqALQFegm9cZgP+kMwDQh/7AAGAQAAgAAAAwCUwF06Zj7rz5AFiwcLGly8DyVVav37ALwB7sxX4OcBCAwwBHnASAU1wAAAC4yGW4ClznhtsAd4C7vIA3AABvAQCAd7/yQ0WOKAEQ//IxAIBcH0HeCmyjUBQJAACgaFDs7dz5F7oYlwKAy90MgLvBmyCSjByighF/A8gIIBNyIa98zWuhcyyplESrvEqgCqAqoLoaTwu1mwtQF9RDAzTSlKKbzRe8t0N74g6SZZ38hx56otfn4muBgQaPGg1gDIBxGE+oCSZOBtPqo0w3ey6YZ7ElQXvAvb2exGn+lvutDcBLr85f3Js99m+Dv3z/9/v6l19yAAglDMIifEBsAABxv0BC/AVIm2ag8PBUHNBLb30/lvp/Lb+XgEFDwbCJ6LQ8PdPNDLQQWMRSgv920nTJ8tWxzPIgsMLqNWAdNtqEgNlsJtiG7QBgl+MA4AROnr4AuIj7Hp4FebTn4+c1vPDyifxcbe03KUkMgIgxgGgJALEBQLJoFSdbkP6AzCAbshcgp1wAcgMgP4qiGCgBACqpgpoAoLb63VV/BaCxJlpoBYDW2m9WOgP6fq0w8I9hw1tjGTFytDHi04lgEmDqtOmBmD0HzF0IFuvES4iXGtsvC7ICrFxlLUZbt2GjzbYB2I09gfugrTXlEIAjjoLjADjh5BnAWQDnLriCq27eAXcB98EDADwEPHoNeIOPfIbvf8AAQCRA5B5A1D7R40FiAEibm7z5CxYBKAYoASiJUiijLKA8qIxq9fXTurlurdVTv7tGc0BLf2stvjaxbb9Z6z7SgX/8J03vka4va9B37sEYauz4289fsGSfdum6Npp16wFssc1+Bw46BDgFLgHgiquAm7hz9z547Kl37/EBAKHlUZgFEB0oDMVACQBQEpRCaeV37EdlVVRV++b9AGgEgMYA/tb6/v0q2noeBeNmgkDM/SzMmWseAFiEjTZv2brdDuzcD+AADv0DTuHcWavmWmFuxHYP8Ai8xbv3Pn4GP/yUSIvmPVRaFOYoKqKLAeKIBxI8kAIUVex2m90GW1RT/cyhaqKW2hrY3FoT0HS0BUDzyRa0nG4X2+UW9LpswYDvrUGDMdwoo/G/CRNnW7wEALDUehsBmy5fAdfA9VeCAbz3AXwE8O0P+AF+tdA0okMMYgKJBAAAkJo0pCejAiCfFgCgkB4oSnHZnXLCncpU9X9TAJgBAIFmwRwAYB4ALASAJZZaThCsAFgJAKwB2AywBQC2aSo72O+yK1WeS9v4K7gvP1yUp+V/5V3o+wf82iHxwz9CIOz/07XayPuGL0qijS8Q86KkkWR7JZ/OhmR9KWe5g7yrdUUq+jcGJSo5Ewdn6WorVj1qBNQMagf1dmMN92MANI4mhzGaRQv1tWW0ir8DWl/EaBu0r+NdrPND/BL7bxKDnvV6jq+xYY0oQOcyJoCxAcC4d/vUGMb/P2BCTGxGMwcGwKxg/gWxPAi6oY2xLQBg51a4y6zDj/z8L1DsAkIDCAMIB8IjMoAoINpk6HC2gtlzwnkzXQoUq3iUDigz2KN8QKWgatWrGVAr6mztQaOgSTQ73k/2q73OdXnYA7rFv9H7ZQ/6NkzAaH7fCZMxBTCVitNmZHkzM0Gg2XMA8wDzl6zCarBmoy3Yjt2AI0dPAuCUC7jkqmsAuAlu35HoveshXoHP/XYcT+igq/DTxALxQHwJZpJLmWwAQNpK3mJBcT0AoEQlKx1lXDykfMk4Ki8dKofa4emgdkDd7QMAGgSNAqBJTY8OgOYnB1xv2SO36u86R8+udat78E/QP9vGMzAGA4YYjhEYCQBGARg9FhMmY6pAsGITNtuyFWwHOxw8dBicOHfhxi0AcBc8eAge4ZkXgJcAeAXeeA8APnz8gq++AQB+An6H+EwzhBx+pEDUACQO0gSkDQAgXRnLOi/PMvLt/33MHB+PACgbQLnKB9WjZjQOaFbzAFoEHYNOAZ37r54BAPQNBvw5ovEDg1kFz859zvk118JBwdq9mPVGh41tDnbGvrjw0tw/Ovd69nNf42e/xrZWprvqF2QOsqQ6+xwB+aNwFIsSnXIPLeLZ/g5a98p7vW3n6FLHdu2TtrBloUfQq18YFGB0YExgbMY3IaYHAAjMrACYk3kBzA8ACwKwMLT8oixuSbAisHIWuzqGsilsDgCwJbBtj+cciMPMCQzL6cCZljjbl+JKszWa64fz3bwK+Bb82DpZfgX8SQgAoRBWDgCiAyAOID4AgMRIDsgCyAHIKRfIDyiAgiiieCkNKAMoB6gEAKAKqgKgmmtvBQBoABp6lFaA1mjj2VehI6AToDPoCqCHb+njX+gPBgAAgNGdYJLpAGY2EMwprC5rytoCrOt6sL3APgDAfgAc8FEVHMFxnwAAp3Aa5wEXcJk6/zXfALeKuT2xA9wDPHUSAPASr/0UfAQ/pUe+FPC1+NbfxBPmQNgT8QBA/JPgJDupn+bkefFR8gCUOpQ+UPESOZUOVP55l5HKgIcwaAyunKFzbIePURvdTjFmMG7jr+jkKnrKpt7S75mD1Vv3A//cAbj4750Hh4dv/Hf/fQDAj/094M9/EwMIQegwRARigdgAEkq0K6sGFAYUeb0LKW5Y2XIkVTf7UEMdddUDwD9v7+A/vUBvQF8ADMQgAEPOyTNsdMfDGMCkpZYJ2jCzIGzctPnOwNYZebdh+47yOw+sZv0gDtXANbe+BQB4VPcOALz/iC/4jiHgx/Vsu3kYEB4RQERAJJFFDYB4SDAHJPVXvJbhBAqj6CsBZYIEFVRSB1C3nQBo0EuiZJRMEgB03CWgM+ii60uSJAB66ve/cZgCAJhqmukzMGfuCsBKrLbept1gP+AggEM47Mgxx50A53HhokuugZt37unE93XHHnn8xPMX4DXg49dv4DuXufQMgFDDBIiS2AHECSDurzRKVynB9GVq4c48TeV4S+XCBStU4br38qPCA9T/bhreT6N0mI5SNF+LAQAtX6ebVJ+vKQbwMyTOTJ67YmNss2r7sePtjwNPd6ZLrwQAV+9Afhr6YgGvtocovO7NtwEfBp/G5/4BBwCIRBSIChB9DGKDeBJKtECyMAIpkA4AZJQJWWQvro8aBbseUAaUAzQAAI2eT2izPGmnAwA6ojPo7h//JSf9AQz4PmGwoQCGjcYYEzEJUzAVLFgEIMhKwBprrbcBbNthNwD2gIOX7wDu4j4AHuAhXr7COwS//4xvv4GvotB7hIiQ2QEAMXvrM/FDgpCoZUhaHNIkXYAMIVNZeZd0jjm7dU//yZfuVqH6hkDx7s+Zs7KBcikfqFzpXD6jbgAapFHDM2jW+AxoGVoF/m5x1jY61i5ZmuUhqBWtDO+rs7Z1GfMdHexIRwPHwkgnAxcC17oZbgW5E+Vu0cfb8cvehoE/6bOmb4jNs4s7AOKNBFk5CJDw+Ui8JANI+s/4aymWcgDZl2O5Ru7Lq1FgUOjnSlIKgDIAZQGgHADlFS7FS/2iNgANaQRAY8MLWopF/gagLbQDgPZE3AHcGaluaP9Z3si/0EN60Qv6CB/0hX4kXEM3dowbY8YmbPbmbP6Ctvq1r9v6AbD5rYNt7xgAe9479m3/x85Ej2+HtCce9GSVdOYILBBy4Rkv7dq4CbmVgD3++XgxXo5Xg9cH7+OA/9mGsAAgdCcgymtyFSBOeOJCPEgwGkmYI8VMLbW58/wFbtfsFZQLrzkBKpUDq9Mas7Q156trNa/96yANrcnoOr5OrpurjoBOuuh6vOKftyt6Xa6gr4GAQQAYDGAIAIZjOdmIgEcUGWMmAjHLabPNDTJfBYtju0lQHuz6vzkFcPzkKWfAOVdcBTo/fNzyZURTJTXzaCqo7sztC+8/7lYLb36yB5ouvsn1mjzO5g9svunmJfH6v4+P6QzenTXfNQtfTgpOqgBKAEWfpLeqHj/EH1gByHVC2AE/BY4D4N+E8uJV2MjyzR7hiyyX+KKSWfGsclYLa5XLG50/ukB0ZJs43gby0rTKnceaAW85vKKDMgDZBvZNTrjXUK2x5YYsD86H9/dVbQ9VllwDsa08rveW6kLaDd6WVbsykFlg+KEIZoZT1qqH9fuD3gNreU1P4TdF1wvhKrDU+lOUs0nPRtUcnvNai3WGfHY4ZYndrRWFgMDfdu6vA393w53b/CSpdv4sCPGhsy+SOjo6P6ZLjc2muiaY8wugN+JLxGbsWgK0z+CtOqTPBr1yoFM/q2Xrah521sQ1RHve6cUVf/TWbnX0h29oQjtNLORYE3Y2b2M/m538xNWCW3ssdH0tf1+StburhTyJbY22zNcQqcDt3cDg++1e19W1+nvic6AUrO901962RYecE1Zr4jDgJiMtg3s54BLBXYPXfuD6r3p/qMuQnsj8R+7VWE8Y3ob3L9Ffph+ZzrLbC9Lsa+wkQM2YOE/w1yzLrO/RIc/CNb3vBYPq1lfmEW4nUN9lfUZuCNdX9tuJx3humIQarBvst0AMNpsTX7MlwinsxRAKyAVeA6VHWNIwyvhZIJUkGtlXGwJ4nJ6gpkVD4yy0p+F9pahOUKlB77yjHyj9P8DgiaY9UxjMbcQ39xR1Ju4q93opfoHdoNiHoy/9Yc7ZuQ6sprTVYYqkvfR90/CkzfgIYoitAtZO+HAShzARnJ7PdYHb9Yyt+Qj/S2GowelCnMN5JvMeoOw3ramh5Enz47Aj4YgHPfHaz9jtN10+0JkQVUn1Wq5SdCfC9R2xUV39l8VvpJggbRfuqZS9Of+SzkC7mrjeRhsYbaK9VdbWw+ErhrZOTzkXBicFRG17C/GHWcFGAhR+BCoErsGLQc5JLhr5TuwhEx+C2/CBy37h9f/U20LdtM0P+bIF8NGGPW/i6SS/oXzgd9DWHHNpttpctbkmsVsB6oFghWoguujp0quvzK1OB8gwFjkoHfaGE/35Xq1NNMSpJ1wTpPqoSdbGXsUH5TGHLYEeQRLevISW/faFGy37JKbmVJzKYEQX/+uurLsElRax9J/h2hf6a3i7KePRZguiYIG6wJElEEtgUUDTgLGJAQHwJuBVw5vIxQ0NEk2eHEjBy2xGVxR/qchvDMxZbChSJ9rWokQRSzpvwwki6EfmZ8PRl7qgYRCuKphg6kLZz7Ep6Kjkf+FtDHLBwWVblug0rmMxluzfy0dBa6zqJLpIIJ3i3hW4arB8E/dG+ln4Iacxjj6ChEpe/5BzwbKf+Kq1rtspJ5lHmukHGn9VDzV9i23UXB8T68M4161WHu/vr9p+rh536nymTm/uybu2Ftrm6Iu4sukJWTV28k1ZP8IZ0YKg31utM3FR3MojvuT3usEWnH3xAFuVFAhDDX28CYLfLsM03Ktu+NmrgW5sX6kTrBAZv+nM7nVUyA+jKIyxcDiYMBhavXqLTpfr9PEIeT+h/ZAaqPfLbnJ9wyF3DFIU7F9vhfo6PIMXBX5xehq3kYUmlGrsR2dCyAWYH5MRTmgJGgQtAtrMfOE3KhsfKqIKlyPln7n61t2JCYT9UjhSKCqm8ME0P4BxIHgl7gAWgX4KTxTVDPsCHhMuPBMSb06mwyInfH7Gjx2dCpdt8M8dk8PrWhywyQt35bBCmzHuvSj86eBV/9QN0X4zHQVRYb4EsPqab9sD0g8MfQQtHFecUQgulSiVhYwg1AdMTSi7Oj0w+eGIYhlggjEdcCwGkQazBncFt0socGwJ4pD9IYmYjEZm1gYZni1RYxSe3VAkqUGF6wyRM76+YcUgBZsGPDmajv70Nb/OPH/YowBfoi7GutLIe4dJvnhgtJ22kZ3rAfcb2hm0AZpBn2fgu2h4Gd72cPfYva4y6CfV5QTwNwL3V1DHcJ0TuGSwMkcl6C+j58l8ES++gRffZBE+iKkCRQM9k4bI3PmXi5HOF25u+CnT+yL7N3/WBKKGfVNJgCLs7kD0bTikHIm+AXtf1dlQzcz1ZqG7XS0RinURVIHg3oN7/2N7gdIf2Pp9KBSrTGjj3esxwg9WVkxBCMIGmNJBkkmV4YP0BUC8NB5nbOlxr0rGEmBowHRYIDfVw5gLFVtUM4yzznAZQg24DDBfAnw4UQRpUZDCU3YjlIs4tC1Y8zmNo3uuWsAYdGCA+kJVsHOVF5RGhgYeGkwxMOeEQMwF4S+hNZyRclYX7CxBEgBPAu+97CnyooBHCz8SfnrwkY/4N6xcc+8h9wmXtTfUCMvhWJU40eQ36/wkXYBXfrX7H3edS9eUVFhrFju9HRqlaTYCAeJBgHmjsFah6lkPaD82dkK4C64hnLYEffuPzT0EbsQBGZYggT5zXkm6B28btA0Btcfvc1M7o6qyZH/yrHLQ2T+ixrgtRPZnplmF2mN7n9gYQzsjKw6sZQB33iabtyjmqbol8uIlujOPOFvwXwcefuExNz1Xht2RToFK4F78Ec9QnX+zJ/JjWYG1DwLzxEOv4a7DZGDZowZUqeBct23Lk+CD6GaE4PGiSuPQfMvL4LdVvxTuYVgjTD9ia15sHsxtPIVrNjKjoqOoON6Fo3oFGWh/U3ay1rruFnqTWN6Fvq7pHZ+exIR6W4MduDHaBm882D9gQRDVgn+iZujmhKkHfkNKTXbTN7zP77g2A65nrGXPrG/F0hKsNGQlrSNW/mmM0/v/km7QzoHNent7QRw2XfhTjdZujn3f6qST0vNjZ0WVDl514C533z0IM4gRxv+VgnCycMJvDP901Dr7NkAFkwWGf8ath6qdAJ4kdMlcwnALDukJZHFBVNnwyuN99lU30QUhSUF6fQWiIwgGxH2ST4SpD7YepX+i7VRUbZc2iQQOvkZ3huLvG+gIUATk4IZPtORLazHAK7wrhJtkppQC3qEHWv0DpX1Ueed6+bjiA+vTQtsf14Hn6oHYnaX7nI50UxdT125B0DY8fKTY91BFsLswWNBbass6eKL9fq2XvQdPAhNE3jl4lZ3nxG8+9Y7Yp4ZjeNj05jPNlfRho1MSXjadvarCN9pqUwABR8TGBI+tduuRr1PO/8eaBHYT7PG9ykFRo0ORoCEd/UHN53MhinoPEIYK31UIXFyCpJ9u22lmDK6RuWr7iqCNk/VL1Zpfoq2GRq9pckWzHlSRWTgsTSBuKGnDSHuZbft5z1e514JlV6GWB9lB2gr4VxkwVqaswmV0zYHPxN7SoSBV2zdMpBDqjJilUyncHjPBxR6sbQ9S1etd+zAXEyiOUPECrejejzwQtO+Ia7X2DLJ18NI/0Gz/LQMM+I1De4rdlNRjGO1yrE65kFAYZZn+w4Q/IfEjCMdoK+Ump7WcxnLSz6mM7OGyTwW7fvDfOzc29g3XqhQo1QCfiLq91N64O1ymC6B0ypFHUhnQJVndHB0iIQu8q5hnQC+KtaNTx64IWx3scoOvqe6c+7Lu3oUrsRVd+lObM5t60rk10Xom9smIHf+3igxZhMH2R6zl2XeefQfD0M75USJpYmeyYbJtwpNEttsHBvXSBJZ19um9N3YN3BSvraZ70iksTd2GsnY0JECbVWOMtUiN4H0u69tBU7+qXqbyuQZ21xcAAfmpEpEBuzH+AFpsEPXnYP+51glWcYADtCLBM4WLH1z11P1VHw9xljOFQ/Feccy1aU/p/q7wyidrPbmd5J2K4tbELYjq4aQusdXQTYPcvCUZq47EPEDVa+5FRMQYxEuRumPu07fvdK+ZHiNtHrH4CbiXVRpu9KBfwZoK/XNDNwx9ZNMIP1tP4MQT1v7y70ip9E2SkIC1HAD9xiGmMVyHZ05Tj3gnaP+/uaZXdrIy4xzbEms9Acm/2h/T2ogOfEOjMq8K2gGdgL0D+n+t2ol1/ezdEdv8J8EPYoYAQWgFdAb6DtB44OyB6W90hvGzgIwxIWi1jCxVb9mVXaBYicNnDIwDKg88SnOB0pfJym5fTKLRrZY60uKHNETWP4pOfaCuQm/8auGf1BOjzlbzZQ+0lk/0ZOG+C1/Zx1bRCMsiqMWquE2SKQSZAfQFdnMY4ygUgCFgQCAg4clBkJvxwpMy11h4Ld7puJZCM2DQ9a8qU2jarq45gB42CkGJkQ4xHAJ7jS0DTRNSnNg4NWv4FMB7w7zTXW35OIKoTGKFDqebd4w+pH0P73dFL4K991UzVd3StAZb1jupnHRdeM3P+a4BkYQ3L0CbCm8ztF66evW0m+RvKIugzsE9kXhOwC1y/1n4j84lTNQe2dYP9BzYS/9UReb6uE2ZrVcZbNMzuvNDEHn2hc7e6Kuzpvxlv8quLUhuQnAQSXJf3raB9QS4E0BuFNsDdt/GJrLrQrcelBiN08qjCoDv1efq0WC4Sv5Q9i3FG0CfX3j+P/OZ407G2493j6ih4WPhTgzZXZcuxZW/yUOI5W32/6QiQQZP5O1sGOxE2KIoy4jXjbVWXHLwx29fUtP93x0tcnukNQGvCvj2hbs/9RXNjzR3nnnq3NUKv1P47tLPx7X1EJZ2vz5TD3HZpUizhZIvyp48cY6pIyRZfkQQrBFkLEDzB9h8w0FjreTGS2K7j0J/sfbD3hUw1jb3r6FkYGkg3QlrSYvBhqt6B5uA7XdNg3MdOa4Whj4o9Q+5FjW9xrbEIEkD/Wkd0ScRk4KEx/t3GYJ5svUoYAaV0Ns0f6L7YPW+pvWx2l1gdcHga4m3e19vjbEHIXVDKjB4yUc9EN+eU32AWvlm1+rkiloTafS45OqZ85z7s8LnTf/J1nhS+bu1wZRVmsMZ6CK6pciaaVqLrlOufoZaYatTau3JOnCq9iWtLrrxMbpbytdJO5mRyvzpcU1CCkTgDQW0ZcFqEnTsQG0H/T4oGo3TqlAtClMKeTEgVqrUBX/9PkWeJ+nPDPEkBfPiLAkpYpXp6MJo3U3zvfAttMUsB8baFFHXGdg3qhNhulkoJkjvttNnf9xNe/Yvk8mX9TbY46pfL/gK/PhKMM4wRE4phjnvTAxN1Gvcu3HHB0l0PT/kK8LDQIOFBz31/HPskcKr24RdYgFYf4ppwT1BrNddRt17VC0ZNKFeznM0+KphwfkfdWIQ7/ex3mpzBrBL5vYRY8GVzpRVFS9bpjGe9bvu3hkLWHjdc21xTGc3dstpwjrHIezxVEwqky0Q3SKO3Zf1QaybiXuAXoyo90vOCKsbu9XE4xT/9NR78cpe+i2yPm7eGY//Cdx9tnyvQrBXIVhAuESepVTsAgmPuRmAgbi6CjlCUsNR5x2OUYcoAXsS7JuAVQ3ISWTJh+1EAOgPYCdGxfGqBD0adPVCFx507Zm2hqtuqar8diezg+nz+JIHNNY3Iq7ulVJ7vtHrCbbVuuZEsRMAWfrCxleCmLg48hqW40wwb4w3QnsG2R8PHnWgIV89jLCS7a0ZuQDquYDPzXzNc3uPwZrAfY0Jmoao1OPNnVA1Y30E1vWblqBLCuK175i24btILvdSFTZrOXX7pC2WRs0H2F5ftWdpZ4ovmRMxBBRq7Oo3uKZjPz3x8g9cx8r6IrvC3JTV15I7sDpoIJKJRA5Lx86detFRl8ic/qwdjsm3rCkdVUMRkAQhNgSdSUfVEtVLuN0ew7cryAhkvoGfm54AO/ZAmT+qb9C9qemirv6+2h7QPgHWMRQJ/AomC9aWPJA6I2Nc4lmD1YlrNxRIipJmFLThQlXxKuRuTii3pEySjrJV2LYycBu7/dCgZ8xjWReQPRR6H121Rnsp1H4AOYxJEClA/0SRPuDTV0gxfHGeUbsp+xnUiDnMLeYvRlPDRWM+RxglgXqPU9eJDiMtjAcd6jhp5RBi8WCtERgM2AwMDTwMUsJxL5goeFwSRqBvkh+ZuCpI4mGdRISdkHbixo2PvJEiZcCDa8i8w4vn6Jv6yS3gpghPZnHxMfKPUX6Snj9zkUYb3+rJ+vIk5VevOhImwD5xtEP0QbWHkleZe5JL7z4A6pN6AP8qAULaSjvJAxurPXIpsE/hWoH9f+EeLzxk10ZW5vzg3lgtDV9c+jFb/X1zdp1NSe+wG1ZT8qU5/EvEn468pX4zHIiW0dR50Xdn5Jfg3qS8D3bmA33/jtqDFA1SuyKSS5PexMp86zJPJY0sqmL0h+Gk6ChcoUQfPjj1ozp6TJuwTTR08mTX4reJz3yNXyWAmECaguvz78oAz5Knx+rHPHscKzUiurriN7XDXt9EyRmDmw4e/17rCVfrxKeDPfSt1Yv0KtjeR5R26R1AcMebary5lBcGIY/wl31s8AQQhbUHXXePph3yF52dvNHRU83h2F5267Z727DohNKHKQKTTzT7Qclg836gtD/QvZv6zjcN43c2QLsuVOmjesxaBw8iwqpfnxKK89zjTo5zLXrMojGnmkcC7WcoIGuqKC4UVUeh15/qPudex/7OOY91/0d+njDtWfI1vvllOH0nMvYktUQ2MGjbA1X+Qvlf1S1s/2b6L9f6cFVhl+tSCjJoK5/5Et9VwBXdsmhQQdhNpMQg6t8ePPC7M7JVv/DJ59oDuxEzruGlxOzM4A/eWq7TvkOuWl+zQ3zu9G6rpRD2dE9kz8JVKvMozWciuxrXJO+9FM4QSV+yywkWd1TSq2DBhQrFnfXthDSDdf3atl/2CPEG3oQevDNgJwM6FaJcpZ7nGgpSVXh19beZE510otwFvAe0rlEL1QBTCqNe4kDCQ0oRWQjIvj/Q1afKziwpiNPATDUzHQtTjVyjCz2BrZWhy6YamfrDVOalCmxSJn6bKWvr799bdWsG9Q+o7Md9NNz3iQ5G8SPe98fcdgfrr2tjHA0/wUto64EqfFWbQvRiqJYc1f1cc8N1m1hTQ/Vu76BA/oO1l9gUv0yj0KjsRxz+En46c7bMO4/5KFYQyDvDnWXhggu3LD2W0Cc2D+BwWwzoN20fHmPkrDuidUQzP4n+AKIYDRBBGroo3hjvc9zbV9C04rBiQ1Gl/Zie6exxdhpWmWTxMdfnnNMP1JBpn6CWBXky3PfCP7QvbEWVdr7w7r2rETFRgfMTRJ+xuKYOryStNuCw5sKrJ27vk3AEuAtqPoe/1/Snd797tmB9G0/zx2kahP3S2XeuJaDCyz8HgAkgnFHcSQS8qzuE0yKp0dQW/mK9DCoIR3znwQcPfOWv5be3Q98qMNQWilXOes+d6bVCXTGNNfic2jL1VvmAZ8eSJt4bMIAUF4l3o8K3l15C7qLNFUxlQarPY4dDC/cHgyOnzTiMkED0K8o4uCptoSDABOvwxwnMoazD1sDLwKigtU6rCoiFvDigKaCPUn2leSK6BrmqXujbpaab2neKJhK7RtvmqMolXVXpdvCYVyj3NbZXAnBTkWYgDRIed+AMsXHeyWHaESYkHXhIhW7shOeOPkwPgCwKEhWF993kn7c5sfYL8pviOcNX9I1W8H3OaB0+wYuSOhxOZM2/nIbvhj+rDXY71tozuiOSvq7a/LCGuvqKnS5+jAGpztaNcSpa5iAkZ6eV4JrG5mE6cy7DHgz+rF2VtsUHjwA1n7r41qUHsDhLQEjZYvVN9J3QVa/Oib5iGP8D2okqj7hG7V6MWIOpxtQWM67ym4AGCwZcziYD4OPFr8pIK2IvCWIB3ihmv9b7J+PrmzUGCIStAhYw8gjFH2b0A34JKL6SC9FfAkmTCN5QiXw8ATUJcU0F5koIJSghlPF3QzlP1i0G8TnSm/BGBw1lGoQMdTaJu2AoOg243ECxIKWc+OP0nMx70measij88d2bYE0ylSL7BduWY4oFvl4LnXiO3hjRcRiCLwh+QfILsl+xXIL9EiDsDZ8ji8mUXYwoOwRDlcFaGrUxX83ATvkTPDedviXyr/PesoC1eVTNdpp5e59LjgfUHNAYw3f8WUmSuDsjt5beVmdubcsBEjG0C95Uxt5LaEDca80WinEISIXWN2t7/zNAgr4QqnKm3GQLQp3zXOux3SWXtdTByGpT0xu+qR/jvFK34fTV1Xgk5owT+ta75jBMvwn9pSXCsWoHFo6J6uI9Ww+WecfG0zbvAz53+qtGTzFW6gwjPA9Jf0M7fKAglFYpdsHGUpmNmOUigWrYaqeNtB1aK6GNf2Z3QAgVhGEm99B/6owmRk3Ye8utSrVT/Ux8kt0t4TTVsa2HERSoeQhN7RSF4Qcj8cGro7hO8d1h02lr05R4wcFG7yVsJkS/llRLyGuKf2I0Lta8wzoQpmucc5HqBfcP0gNQkczFt007+161bw3NVIvfEyaBeJgvOmLZLCqCFCQaAQNYECITrD8As8AokP8BUl95Ewo7QjnjIScXRtmgAu6F8GRy68U7Ql4Nr+5q7P6tJ4QNJHwCheAjizLZBIaIxAnrWzBAQuKbpcwjn4J6Gerogdv8Yx87ZwvHcLNdny3vdq5S7GyoNkhbQG8NzvaF63zhdy/c4e+bFByOjfc9rJ91dzbczPD6qD7G1nJe+worawNImLXMeoK3p2Gy5oTosldrwcUFqT0IsD6HR4cpiYeNI5rvPAQRSDjT6hOmHKENO0Ey7dGlH4ZEcAhvatXqX4BXaIiqn7m2k4OEepNxLQ31gXNsapdOsJozrPnce8fUR6D6DbCvaTqXYBnwi4B4ERyekP9hdp/CnbPR7MwGMh9O/SkkxtONdE9XTk0AnjQX7tQ4pN86t/2Jjn+vVQIYXbSIOItxmlD0CYt+8JHHfbVzBU3OR2zzw8T+lJ290YJNJzbzvPNTvPg7/8MpRCc9UPE5OgcmTWTR6cr01gz6FjyEHEIKEmgZew3iJtxATWLfhWti7fjcGe+8YySJEdIfu8NR/CVfVlQt0c52Fq5B7De3L/MMk444jXDRT+IFRhvA4SJREHNItwb966v9WcyrOvsfpo/hazPwMIIgqgiWiF+CG05iJAoPQQYirrAgMJhC2GPlVftCGV1xQ/ALWQeh71XlYda1o4tJexlaakDDgw7/OfpP09BNt8705DkGc9pOpScqfVEZispoVKbd2HZj1419f3mIB0/z4GVupkEsAuAbBf0nSuR3unFwl0FEidCC3HNbG+xcwRGg5U59R/XPmi/hLcM6gPUe3o4w1194FV56ZLcmtC6y+9b8i89+MJl3GEZYdgmz/rNaatec2NtH3hWme8QeG7rY1ZXBGio05zP7v7vQpv9x82BSd/m0geigQ14E+mUwoP9bO7h8Js5q9fAZat5iON28eh811b0AeNImBWmr/AGcCOoYQnH22jtkpCbw9gaUGBNVfGxUWR7Tg14dxQqcVC/vRjY2bPTYIuNuPngy4obLq5EzwXLg7i082/DxyH7Daz4DRhxUcG1/uhP6rD92NJDzU5CoO5++jVzclKJf5KL0oispRx3iIbtOrMaF2i5116ZsTSrfpLfd9CbPcqG97uiliguM7w/Dp25O6BCXHpEGKKqRCbT/NCuake3Qkb/C91vn2sHuUCNQdhqAGuF4MwaZcJXhmO3W1blD0dvwWA3Z1jLSyYByfKAnbnXkm9v+IeqL4RVAXhTWU3t14WaEhhGaSOwDthLBrr6kI9T2xOYslrrYrR/DALMcsPyHvZgEWqAb9dszr8R6C69TzR/zuJi234gdEmVIWYLOn6tTVUrKyUmGBAJVfAuOe9ulraZIKm3/veFbQtZJjoQiGqvoN6GEmKjHHFVPTRd05WZ3h9j8cMWEE9SHsIk1naftBm2P2RYTJCkpWFYnJg4ncZQpQazuCGUd9NwP1PaqihTq5VNniI+cff2maHg4gFRm3ArQ6YD/O+pKTMtD3QLtL7zrprebb2lJRcw8Rhj3S/S9VxvYLBnI8ADgchMPbuUEQdSRt5XUvt9wwsEoYIjjRF/6AZ//YW7NllpTXKrnxu4KqhXc7rjH4GteOCXc5S49N4rzN3sGH0chHNbHgwhEgqcDXO+X7oghADOs6yGEuxHAD2WBvQftSVntFH0PlhhEVeag2Gicms70t3ffQ/DKeCuwCsi62XLAugpXAheCWzaxseHITTx176Z47HKvc0G5/+T0Kt3aa+Je39em7Jd6I6dPZN1Hdh1sM7Ie7qVBlJ8Ljgvua9CTaEqGGvBGnOpff+aKgOBn+Ojo6nw0KIajSwB5iWiw42Xd6Cb1E+Mx1uYe5uArm1P25/Sd5cOmV/vjPfCKxKof9G+mlDhbaQwhhE2QU7t7QOXLMVzgvKDoZJgzsedjrMxHBacE98rWYrhO0/ht2E32Z0zLi/mXEHSE4+NKDKW3C1pPLnsjSms4ecSJoXiP3LWyFc9ZVEzphiAN8NVigKlsfS8uceFe+5MIHDB1rEujA8Za+Yz2fKWDDEWFlTdaSG3YFQ97a/Wumyhc6Lsu60QrfLsxAZ/KrVcSJJYo5v82qOhxNGn5zA2FdC0Fp3rzOrHg7QmoHl5MZFE/KU4JeA3aUpZ9mdfVoL4y/B4diBQHpKf/Wm86P7+A/iLQV+AoENYQMPmPbDDYEwxbKnOx/K6cuMjr3p/atVft8ImsIOAnTQEoJ1v+bUtc7fwj/24t9bHngQp/zf1zv1X46cJVLnz0OVd67jV4OTvWSXBZ0Fnwxn+iisy64dY81YGjmqip70Jb8LXeTwME/h+pG7yF0J6HFh+OaM6HdeYDtQE7GFCxL9T6qmbhVmUmh+L1fa7quZouVJpd/UKflGpKWE/C/jZ17BR1IO572ia56Vi8fivv+Tjj/ILXvEE5H+NeEvvWBGD+pVseBvpSZZ7VfrJ7KlYoouQP9MlVTURXu7U7iJ2qG9JoZrSZQT4S6qmdm9zwo27MuqvrBiPWJJWFqxE0O+ivoCKvKQ7Y3vKnCTQLoXUXGo/uGLorHh0p4yozFIyU4O9OY2PWVFiEF4O2/hPvP+5Kd3c9QJfOsXlxs6PxjyD0i2OBLM/HVGjhP8lqde3/bk79Rb7cl2g6G0I8oNxgOAMWVQxy5nQsC3ixGJMc2cBnyknZ5zf36g3/daxtzGCE43864acqAIPBx5D+da30iV4BG/FNI3Z29RmTQwlcQmsh67ZQ1e/ou4TNy/pno79HGkJderStfZJ+tur6QwjDgr2sRuekQv5j8H+OFF5WxGq8u8sUQ0aODcd6ePs+1tsfsg2corTpOztyd7gOsgsN/inzSawn8CWF7SBkNyrcv/DUhV9fur/p4abfNP1Uze14Ow2IELwqEKhiq9ITAkGN12WIofR0vhRkn0w1CjUSV5JZNkg3ypKhOg0vWg6dofbpwgKvQ2vpud+w7homXlGVLc1ncgyNSjWfwioq25da2gy0B7TumUOhGP8lu0Tw8s/mJLJEAE0mVAPe/Kam7et/4U9mPnzMCtlZb1/EHqjIiC0Rrp/axQenBHz6wM8+4lAo3hPQcsw9CWsE1mq8jU/2f2R74t5rJtdO37NISx9Sw9Uiv2f96ebIIBvJMjvGSc54dc9bYrbsP8BTg8ZkjsSRRCZ2B9BKUP0vvPePuBpTpalfOuKfMvdDG482a+63dJe78EOiFcd96ri/LT2Z0BWyPM3O1MVsgFof+15k/slr+2FXf8kfY2/JZ+JREJghnCAfbjgKQbhl3NIkp4CQsqo3vEcAXH6mLrjqpD591A0zd1+4euEpCy94sod57yuHrTd9aKp8oCan+uTNbQs4IRTnA0hfY93xmHEONQu/9OdY5knKDfdcsH4Fey1owK2evPDxn7XUzlW80tEt90ZWEOcYYJWg7cVb+2RP76+/Q7xPsbY68ImiCDIJU06IDqCU81jw0Clho+XWNDm1g6c8bPk+4H/hCXd1d0Rv36O3uTcTtAUpR+bf+/V/ht6+QG8/Qt4nlPtiG4sDwpe2pKb0Q4xhx3Zi2FEoApxeEPczRspBwV0SkAbd4WBdY7TAZQkrDrUTTkSUzvwnAZ8MBPBmNnBowslq4yhGblnvCQsJCxMwf1LZflO0VmCJgPiJcvB2SRGnCCcDDFjcSUx4MAD7K7jbN+8/x8odo43IC5AT4OQq8xq3GgYzQuYIGmwUXCxpjct6dKtVKs6Q/99/TrYMoBmZoAkkUcCgaDJEd7g8Z2KHkzt6H2H3BYdv5B5lZsbyEromZkv89sYFf1OXaqPp8iDqnqCXkC5qfoPopSe7N6Hk8/g/orfv57Ff5jJS2LUnbgFqMzjvV72d3SYxDghjAHKi+AfSP4KFhj1eXVXeouJyRtQTPKT0Qd+hrT/q0iQF8Z6hOeWYj7D0aV1LiJBgOnA1g6JOQhjHBVMmj2z8SKi9ZTBMLVJJuibYJmID469ufJj8HwDU/3d70J2pymV6t1QDfvkk2yFtXhrbsW7pM+g1JIz4aV9IYB+VBmPb5r7+/r9Ovnd47X95b5BvhMCm11qbDfaT3Cs4Eoo6FBv1rO8+xuFdTrOfaIPbGycxL3ABHAUOT4mrwyOn0hX3pZvxZ9/ek5x++oKCDx9xEdL/uv/ve1P4EgX6BSOJ6A18DXW1qOk3Nz1BWuZm1WxWN9+0jce8XW/ex3OeLp8Xy+d18vkseXbe817G+RyvYQjnZcr5Hn8H5M8HrPxEqQHtBDtyVEM96rqM+YnceKxuEy34sD57s58eQxHmZ4L7+o5Xi/iweuJ3p6tDefIAvLbtvckk8AlmdPZGoumcSrdJuQQuSEJGdYKvws+n1MNxNFklWblRHQ8pXA4nZy8C9iKAEQKI6AO93VidbutHdWe0FVJUDnE7ofU3fP/ALYchQSiBSW9A5OID9rbib0FZg18+8MoH7nTg/X/UGYBVde4kEFXb5NfdXE1aIrj7Tk6rIv4T/m6adcSPXvocL0cy7YtjcQMVNXrNbuqIPCzGSRQDPM+STOf2zPOO+1seT0BoIC0BJmcsetpbTFwNHU4XJbkp3LTE8wLOfepMmavMPQzfIbzerA50eFwZ8ch9QNtD/B6nTa54ybF3oE9qzqqVAyI/xmRC1ic0RMljvvrfMEA6rAxaCWjd7pP4MIZcIe3HDPyYqS/MfyWlhBzWvO4tf/Jnf/d/b/vE1lvNXg5zlJOc5Tw393Qv93rvh4486tgTTz7jnPMvuOjiSy+78uprbrjx5s572VXX3XTbfQ899tRzL7321nsoLCIqOiY2Lj4hKTk1LSM7Jzcvv7CouKS0rLyisrqmtq6+obmlIEmyFKnSZciUJVuOXHnyFShUpFiJUmXKVahUpVqNWvUaNGrSrMWzQY5evHqXSJ1dXH349HU2N3B4Lx/ko3ySr/JNvssP+Sm/5Lf8Sf9lwL679doPHf/AX71jwYOHHLjo4y6Ve2+4/ylc+tJxQaIHEyvb5PtuXkXtAb/3A+T9PZdTEeFnqvMKeGk99PT139iqZ+0IsQ3/WMWmKswsT6Y9rN2TtfiQzpzoCWt/nqRlB+q437+P8Jmd0y2nj4fiWNzqijNXffCTuMqSJszdtPCycM/am6eR97ZMG6NtgzdSKCYU1bY/e3EoBiVYsCCIhcV1dSFOvDP0tGShi0MxnFr78WqN3t4HA1Ytg2hs+jVlSrCCVAGzFzjtMjJgiVExmFnyg42tbxDT0RTer5pG47cE35M2leH3XFTNo25b0jsUtcFOmM1/91gR1N6HvIjpwIaBCMbrLnrrmk3dF60orU/hfeE+GdnVmn2Zt7pzOobCZVlrmHvO2MYnefERN9ScCKylob6ZuzW+l7Ee4lWdu9bCby7dnNAZSrX4giD7X8jXw4yKppr31T+YC7rqzl6bBHXs9MVI9IKtUNyHsCFWMPhdZRZD1/A8TgfUzYj9tLWvO5VKMVEC167FBPSftLU7jGib4a9W41u3+iQXqO77yhCFTXdjByTtGkQoPUO9xy4MtzbM75c+HcX9ff8/09Y+YWufYSMCDOMbgf0LHF9AfkV9is4UwymOU4Lm6O+w47Ca0TeZmboS7YeBfCPQfUd7jtucqDlxx0g4J/QMO54yO27EQt+2WZIORzTqytoIKP+2mdRFX6Xc5FkPvPrf3BiPMYBNh1p4yL2CH9y1SognnfRP98qxoohWBGlnzeuUqtipL6UFA8ftWkcqlSjToPVgV4OqvapLqd4sNbur20+CFrSLwDpR7h6w/w4ullCDwXN5IDlT7JWn79GWXOfi6MZcRkCAPKS4UFqbrq59TCQOq4anlykCnN90ybInIoVCEecbvPgH3vxH/CnagmM+fI7VWt2Ok+g8DM43Dqc5hnMc5wTPiTlG4cm8K3ks+Vvy3MasGxv+8gKZr+LF18hgGxo7EQTcYnvFqr1VYIUPCaabTm2oH9aSYG0EXQDbfUSnQtQvU06yZrqK0P4t3MNQjoVLLtyw0Pbjzn6hv5aOBgmaWfNvtJKCRKdHdStSh6mdpbY0qjfH5oLSGujN0/X2i1wmE+vE7nTIM8BxnM5wrgiNUbjlnee56c5MdMltOucfe6a1YpB/8Stzi3tx9OaASQaRRnUZnTDVYYgnIEjiQ3Bow46DbZFUEzc06P+n6pMq/Zi3hOsdQ02W6uDdfIHwu606sq2sLY2Q+RHoDDhxiN2ViXgKaPcP/PxHnD/zpuNu37m7rSZX+p/a9HO27sh9JY21tvPSFgpkBhEE+yr4lsGR2S+ytc4COcBeg6uEuoJULPH2T6xAIiO6rALgT2rHVEvotgnNTGBlrjE99at0pN286tvwDB0f/Kc1HoqiG9AbkP3zaJBl8FHBnoIbFWMtagN/gCJB6yukBg4EzifeV3yg6KG4pbAnhiTGNkxinMwRJt5hqcMhh8ue+DjSJxHuRnRsxOPFq9zE0Wl5uo0lvD5G4jFyTiapMslVmfOXV1k8ELvzzFWquXGB5VUowzoCb2hQnTMlhhZ1/gmXrrHY0fIaGrR5dvtSmw6epB30pcRkgqC9CGcPNBaY/0t+3V81SL/Jo+F4D9ixlgNErzfr0yVNqA8AIKC/8VgUnCz5RJqxwY2HeeL1gaaLpUD/hxpxTgaOua4HxFqybqrig6CaH3V6iB8ZnsluJgTjLvQHQOEFk/viQMOoRFqAvYwAokV+qAsJQYQjHAS+B+D8xFEN8WyQWck5Jio/KP2Ih2cCcF5h471dLfcchvjP/NS8ovj6oJLv2il2/9ZXEwHMMJdd5sTLPuyjn9jbH36J21MI+I1yERQOR3X+mdbE6vqAj/5Rr4tjNsAVxjUDzTlwo6O+kPqdzCM0zz/mCf1sIJU9Ebp+IJ7VGFljNzp5BtoVZChmnFA2DqPRItZSxoJXdsld8ljvGqqz1CXa8jTrJNuyaTcMaELaK9CCIFYtxtr/qJaFKRRI6WG6Xei3pXLw6+2mtTKHSWB8wA1QnPIqq/Qgt0TKIdhFou0wYj9Z6LEnHPUC6wVvjpNxayf6oVGKDIeOnjCdcORzbJsHp7wHd7wHb3xX3M7VAlwN5j9o3RWjF14yHFa5lC6uMr0y3BADMJvwlNASXBV8cdLKloOzK1OUqcpMpV/5pzIhebAxGovDktiq2bo75jn+zz6cy/TCPlyWxs17wfXlwMvXuBatppjDiYNivNvZuvItZg3+IPVPnpODtOFo2lB4yYZLmup/VUjE/mlr3VT21N3nsiXFCiMdIzbhTx4SAzG4XgkYkGiAt8GZP0oCdRjueLCrLnycyz9peyEof1yLRche0iHWCqG1Ctr5s5rSsqWGl3uDlNbSAmdHoAO7SSAroAuInGnXY2rrT1sz2aPRXxlob7EcpLIfO1NtVoADd80jp8HNBu34gR9d9aDCsSBKIfeD6VZtnhubJ/HcRywdSN2mIPBzGI/0EPT64HqfsUvCO//tm9nquf4eJnHbj2p3mBIDKV+uhoWWRNEL0teLsu1BcIS9k2kLiu6TvBn0cHC2D9z0myuSjh33rjjWK4HpKrgI0SYigf856o/d5zwvj4Flxjt1oOf/iX7MlCnT5lC9ekwt8DsUqz91xgp+/s/asZNUDe4ksbdNMzdVfKoGcxVqa9OEQexsiaH96V17mjYJmn+3+RaNAesiXtnSt2zuzm52JCxgz4hrgEHjVTZa7V5lVIP3Drr3Nb1LrCi3vNwm1ZSNXy83RXk9BRSp9vWN1MXq0h+4ygMf+pgzbttX0yX44oMl+zOStj+97gcq/8In/82tO8xTAmWbv05S/Ug/CnXbWffZ9x5qmGMNK7to3x27nmOIIBqIMsDqANEF4he8u0DnG/5Bqx7R73yvGGDtGrxZii4J7X8gR+P0W6bJmmbP9ShXzgu9u9AvezoaNCz3T4Z/NZ3RxAVgsw604g/03B/zN10tHkrZUlzBuSyOVb9zQjr3X/AupAaZV4Y5J+3AcV8hqrH0v2Qb4949uE+Ef3nmh0SlCpff7MZ+rx2gruhM7HU9sXX/5rxqbV65emtRL/vwM/b89c1n7ncEctXAKRmhvK3D1Ba9FJI6Fjzw8NgiJ+KNQ8huhDi5qMD9zm71NT5UVGhX+2+9vb3FMP7VuO7VRRY+eWTHSjcUf4beoKjgzG+4/9JDiP3g7/97uGxLI+N1aASsudXCB3S/EVOtDxGoIh0MUX6yEPAV291Oh3s21g5FrOMvue+7k+lsPmHSEzJq+PuODaJju8ntKWluJC8JKD5Ia3yEXMwFTM5yfNOlq/7Nz1GA6yFrX5Dur1r7C9/sa22gHgj3E/rmwD9f00zWxSAUZC2AGyU89MKN3qp21lbBZO4+/254gItWTGRF8ha6tx0uTkhEsOghnoBVYsdWkjCFdCR6L7dcGXs7aIRwm9wHuYw0pxRz6hKJtjfhkkeC1oT5G8+994sEuDJT5ZyrYFtfrfZqApkADIpc5Uzll8YsLhPmLcwmrioMqQQ5cKmRUSMoiIx1jd8+fiAUjhBxTeM82gtq69N3e+Xtm77ebm20+U9cPPjnszau2st3rEakIEjrm0+kAH4PAPpvqNNX8Po+xVAxYVbwshOr94KUFzsI0vb+qj/wWLiZvomeQnbxVUff8BtEP3MZUl/CF1o/4fPfVz0CD0QCu1wQZdATmWUvPqn6bu/Bw2h32HPWuge99FH1QZc5V45c9XLtDleFQiUvlUreaJvWUNbDTb3ctDZev8fk8yXy/Jlr4QxFgiZceFjrr1roFmF1PnDSjsb9TYdiNuJA9ElKfUilrnU63FrQcFw9MnfIPC13WdpzeG8ZDocS/RGtgh2bH9MjqziI0PLpHRWpMFz9QTmCur3Vnu3dIpMUQiPZrVigQOBCEEC0zQYLNikSHajqYoOAJS7s1DecvWNtAOvA+oxsmFWcfo0DHhajr52i2CBOL3Fs55P8nZ+LFJbzaYr5oz1P77jBZQYX/cLJf+AKr/k1rDaFHxPtPu4yF56+9GJy3U1/bnN+vkp8M918mq21PPaj5H26znoA+KYZd8Q1B48BJUTjPFz1xhDXP3MoZC8895YTrj5CR+36jcCHvQYMB/h3FF6MrFCUUE+4JZNKPNhH5fguP0dcTyj+MeN/uvTFGVFbQWVwc0HHkbKmnqrbIbvipS/bXKFjgr6wazIqOQDS5AOf+COuR7qBlRrq9zzXYv/M34QRCIbv1JyXr+DD69AWgm38gUt8e9/e4f3I78WePTgaE+fLaJ00b0C7iZeNVofWHt8dogdEi0/2a7RWctubYuXEI4LnPXDTo37g+/+pVk5iti7azAed+Afd+tV7n12tfddhRoCoQOs46zjFgvhwOJvERIHamXA+jIKbiasNizZQ8JPiWO1bSvfPcO/mtB3qu6ynwaZ/0yvovsHXEL+kQFoVpg90ZZqrbaHF+HquKQBre6Oqs5tG+vv3NfL8inG+xbXx1P15woDDigDeCbD9B3p30K+DCnxSD2l7VsYCQXFAmvMDz/2BX/yoJ+m+7TnzxOKPKJ/xmgK8cR45uUrna3CBW1fkWndUMU6euBRRiPWyNloja73wCG/L3IIOIuuO2xFk28J1radlIjeDm4a2/Kxdkd1hcwOegnmXijPUg7i5bBvEuVSALwpzSN8ragVWlu1nU5mkiyV3HOCyVlslw5yL3tCigNYd3lZ4+Qd9Blb8MX2tK+9Cp+LopwSsG6H/J7yq4b5LWdk9Bj0ZvOBHPALdC2hFMp8IU+a51x13v66dBu2ndIHbV5wcPV2Xqi2CujFtYsKpAl8A45kAA23oRLXwbmp6Nfb+49rypM8bNBFpgvDY/yxW8rudu+1vF4ErIGxoqlZezRU6/LN6QdH+iLb9gstb6lUgfE2XZ44F0UdkxUuXLr08siOhRD/gQwdbm8y3I4TL7uljJZIwNywXQHehCbg1VvVzpqJzXSs0YXdbuFtX6m6sqkGsE4A02X0HYrA+0Gu36vUEncAqfKDYSFSPHpQUtXbi+4lcr96U23xhSHyAPKgMLPqy2ZpzExFQECZfMcO6tHSBJnexeWVsHsXbtaRCwYLNTpwdl/asxTS2+US7nxqOjccbt4CUtZL1paIMoai+Ehr4VFNxW45siKbXsT3G1l7TuIUUWBMMHX6yVsTZuSd5/emrdMKnpi8r156pAN0v+E6drDVce+foNEtpiPJlF7TYEODpOuUosGBJRoF+kvAiOWfzwobHGT03qpIhCHBvSX1MLJjGAP01bHNWC0wK+Bt0nlPpOHlwpB46OU27ZclPKOh8RAKtX/XZJxcKnhi88wO/8Dl3G+mca6PxfOf4zck+y6rTG7+1E/VWW23pMVWhaodtbK8CkD48z0KApAiNH9MRSkhBQL2bAmrvque1DVL4CKC9ePAZMVTSnGf03TsWK0gDlP+EN+Xw9q4ewOw5zItjzsd5JIl6zeWc+BNAIPs+0+fE8rB719SYNsUHK9tY0F/g+GGmNr165K1Bfk/z0mM+b7qOqSnWPMF6NJp9kgx4c8Aegf17j96sdvgB3RAvLqVbet+ucGP+67VFk609oO04jl1eVGp8U1a6prpK3NYCp7nFzpn7N8PdvBYKK4db+ON+zfCYNadTWhebM8r2G+R9N3m/SN6/8CMAQ+rKwJcBW6ACAmmk4RhMYXQBPzMGYZTxsJ+RKbAtGF9ia+Jqohd5Y8RoKG3vH2sMsiG0LWBtsN3TQAGUiqffKIMpPlMyj5B1DOcl1yU3/ccLqN7G0g5TdIYNRxmCYcR62G8nsqQZILMF3RieZJjt5n+SLqTKAGyVyeaFKzO7TNv7GPgL1H2E7kiqMqh90MygUDhONzTVJWunacFjaontaGS1rKm177+fc6+Rap9d4hL18Ohq4HBGexmY1xA2SUYmlBkYbKQkkKD5z72WEjuw37IGI8sbVOMDLfsD7f2IPtRUeqb3Otte6DdqcRMJ6OrMdK+P9qZuQl9OMXnzQHyA4QLNR0C/8fijSOIEYtwwuXDFJ/OPVBe31/AyoyWFEpWT3yjGYXIWpuJZAaOkarHeErq2apvzv7+nWy/I2C7WmjwA4yeeS4KCQWFUuskgHDBwGKxvBOIvKP4LfhEPqHb61Q7+IXSAbIDUVQQxeKP0lvAzww/VBRU5Z1WHs8EN4XU5Q+V8LgkimCdRePCUKQyGqILHhOsjxL92L5rd9IktPEzgF8K+EPdTXm83q1zvBvdu53HkL12GovQqq6n3Bhliimk22OUzP3jkRbrlWM7kUq6tFKpGMPrfZfycj75rQesC9ihTZ/xy5TocWX/TNolj02UlhFJa0L1DYRrBtn0R++JkPVpXPoAawxBHXGW4FGSG6ZzycIQMghcknYyLjQcaPzcykLf1MtqXxtXIY+F2QX0e/HjQzGOOB7bNaOFwgrsTW0RpY9I2h0XrjbLwQsmNflZ1AV+eti4IpjkA4sbxFuIj5syDUb3dN417oOexpAYkHnnf0xd57MQg6qMBT5/6Kc1nj7tj4bd6bTBo1MwPvEeCGDBPHEAwzKh6uPyTCesvipgDGHACA84kuPsDTbmms7FaQ1R7mr6bvF4fjcmix0oP0YM/oAwTPwXzFhFFl33TAIbNNX8t6NsGdBxnoVNBxMocjzlvj9F4Tmc6/V5v1I6lkQjHMFvv/YDQHya1mtvwPdKzEf31HNxOjAH7/F9dfLpqgpBA8gHpB6D/xvO/LjM7GnpFQDc17Pb8yGOrdX417+BiTAdCfPyo3849Q/eswpkKVyl8y3Q9rdVF/2Fy4wAfE1Rl4jtfL0ZSeQRAlACNKZVQUoq6vtn0z7DxNTw7h7wUdYqb4L3/VNczFT5XeboqN6lqs/q4aYRfjaXbG3EgqYF6vR191aHNRscoyK/vAUW3V+3JRl5TzDuWDvO8u0o9WMHOAKTm+H7k2z4IazoZr0RqdUHCpx/oncEpP/DdCzd/cLsHP/XgKw/+4anbZm6q+U7mSDjeceF4Zzx3jbkvFI5Me7PkDLlDjaFbIbMhGYaUMDRmqHCodKq3KlF1W2VJRaWcTR4WTH/XcKcipzKnb52qPXU862Vqn7KVt9mpSd80oL0EBsR/Of/r2xQaSyuBdmNV82q3P9DLIXrIuRE03v9ayv1Yc7rfLnkF3GFQeqgr7/bKqvxkd7zp4wVCp+2K4n91d+S1X+FXBaD1hjpWOwM0P5JWPqSCV5u42vofQ4jpJoJV3dFNkHWFz0B/gewD9A9481JwwAjEwYYgmIkJNwRJYcHlUp4cB2zt0ztqQspr9PEj9aTOq8Zxksfh9qvmb21+y2e3odrADVOcDrci2KsD3hLw9eBjH3eO0i+SCwWJ/oXHoQq3L5nkxUia+z+kRz1rI6kSXs56BzxGeXCxj7oj1l9ku+PaQcIbTdqZDRdY9s5fMcCoKfB9gPQZseV8ZjMBL2OsxQ/p+Ud0EVsFdrm39WmEPMw/JjQhNgB5FTwN/jgueE1wlqwMtJry984YYYXAu4L8A5VxaFJxEEpb2Q84rEFIC5fsH4+hu0tOJfILXvgne5a//6+0USae/Lo+I62L1lo7t1BxocHVBqd8zOOw5p1zIxKcNhWMsZ6TVE5FbXBRi4hn1XFMiSCA+8RQEX4tiDvCvQ0xtbN2nEn5M/aj4GCXLQXUcTgQ/nPkCzLDidyH6XRvnurMAg5Ft8E6PdWG2Lv/JHeF+wvv6ZpLN7mf96bKgK/QN2gjGw8mlHwR9M+uaYsWK40+MXIYxDcO1SlqU/SmGO1SVLWaR66FO/QDb/0DJ0SiLvPCY77519w9OwehlE7Y4TOk/hCLKNvgYT9duMntiR1P+triWKMYUVY5jHWQCxrCGYyMoDNzvDHlZAxlWwJklPAdWW28r4KO/BPtOqrPNX2Sq5WuDrkqXagguxR8n/FaCxQWmIxQdnPU8PphbnACcUQTrCxRJBhBIcqU4ifG71AaD0iMvf5rMoNdIbid8JY/cPJHXGrqxUe8/KjLL/yov+elMnyBGgf8RODueSVIZ4y7lMa+jTGxfN3Y6eauvtGIgf7DqkiWjm1ZuD4wNa27eQxWl6I7OI4kLyHym60igMbq+0TjwK4cKOszWhLoGraXBzH4j6FHbZUMR8HWd4eyxT62OIQNSPzWP20kvMhCTLbGMMuujYbmHPGuCyJIdAqios9fcqKe37EF0VhnGuMUv2ntKyTdQ/6IMJhF4Poulaiwl/gFrP0sG68qqun7amW+qfz8VlPXlbSXeMyLdWtFs18Enkx2dY8mKLO6A3Np4i1UE+/iV3VQdTdTt5pejbtJcBlv7ZITYu65CZuUnxTtm/7+TAAC/UagCkh7gNKXcIRKKqO9DrUyzJBpLaj/qo6f1jjNScB6JcyV20YBbhB9mT+kRlstiL0D1GK1lIFp3EuBmQFLAuImkJPIHQ32SSQ1Ku2oRlFlRKU0NmhJSdPjXi6SkcUD3pKAquG99VxTCtW9vRmQCEux/Nu2V2x7CF46D21o8SJjQzHCucPycO2IrM+5RoOoW7/mJHAqq9iJXNvRuXiEYKD2AVo/ArVGSTnane5W83276Yd0EtoWZPtZwwBZW3ZWYhzGC5lHMClUfsLsMzpyrNhwrD6faMCb/fmg0UxrmdBwhtln8j+FVU0m3CRJCscY6xxZfRN7IPQsS8/o9QfPP3MvGWw4UKcLjf93V9CWeZJWR3TtgZtlTj77Dp/CZhmxFHkmKqAHQ4xAFGFUEpVGFVFtVJdvkHc5xE8Eubro8wtOUAay8q519We0A8WClhCXHTnwzse8Msyf2nzB9/8brBxOIbXRC6orGzquvkZrxCPpMueCBTpuVgt2GVxxpj+w/vBY8VA8TZX0v6K+mdro6l7olXC9V+jtXR2iYbdDywntJ9bK4vlZBx84Q3hBTzX2u7GRCo0AkaOkhnDrLRNcKFi8xZEgieIa+09+7IKwu3/PRiI93z/8wBYGe5rwmX/qgqR2uZ875gc9m+WYz8GH/5mzGJv2wFNv7e9LrgerDTsENT32oUM+fdhFElcfPO6FHUpwptIVOrmE1rHIPhB67rNaMhQD5ktd+7qaIPYKmR+m8xPeftD5UgrCwYGQ2mwhsMbT+lGBHqYAyByA9hPHdMpGhps/BuJ7xLczQR/23yigNaVttmutI695+l4t9BHnEq05PsJAGGLeUhLKhU9SB0X9hJb+E33p3u0BQgaFo3EKB/FKQ3cEXc+5al1oPLZxhtaEq2cpgdimk7XlFD1JWvVOepJhq2TNDywDwP6Hlx1WPnEyvF/ASuLmgF0B5Qla9EAv/MBZvqahuavSQiHpjULTCxW68JYn65rNPTmsX3HJfduJnXkK1o1Vl6AcpxrJvBkwFQQJgS5266p16wHbKT89yScBInYAiaAXo03EFn8StSAHsdZBe5D4XbCfhAYPikQS9AHbikqWFs/fL8gj4M/L5fOQ9zxXOc9UzhuV8z5e833+DEE8CvE4xDOTv/JgY6reeYRSxpuzscM7v+f/sj/BdoHel5NTyXlry2Nwn5OKLSqE9K2jp/zlcW5SoD4GJYWWzU4sduSkINavIT0pXPo7OR6sNSc1lMPISgO2L/sQ7WA9wQgk6MHFnwg2PVhj6dsXs5eqklCabv/a36Dpqr9w3zTZ30y8ht3C1JEg3uNzZ2b7kGh1uK8aTgjbHRZe8RS3snlF3DvL3/jTWKsyN8GukyAug2djxdB9RCJYFFD1ALdXcSgAQdA2+WaiWpJbmdKqxMRGIE9KlgxE3GC+9+4lwvrX9ELmtyFW/Ystf5Jvyq6C6p76vu7zXK6krW5ju05bzoHLHvzdgdtf85Su9ZephpCn7u8RGTV3A1IKuBkgOkD+GzyI7nJq4tCrsVyoibLzJL5jbUDP7tB5i/QaVq67WCRYa3jH4P0iVBvvUkf1k5wM1QzewhO7e0RZg3IHjR60+RFd19Q100+F6i81h7zvbarKr1wn5ddOo+0s1Gi6NTNmcBwm+zZM2cmOtqLEpXEL/sDVH/iDr56P9K7m7af4H34chjN6hNs5Uzs8X7XrK71GWLbvr2CX1TjOc9tI1V7dVFbHBQZ/Qm2xvmDfdWB5gSPTdh72Pcr6j6o22fuFSt2ksZyLg7g4NLS4qOhpq3mnu6Pq/1RFzlSupeKJ1f/25Qpt+Te75jDJZ3nRsBRjJYMoNRDSGtlhkKLeljNPeiEVx+0e7FDw+xk3BFYDrszI+seNSPM/8C//WI9WfyO0V9b92P97TYOqOfEiQiU2QlC7VvtbJaBqU+fQ2PCY9jM8f0QWmOqE4Eve+PQVbfQrtoLnOn5cdw3d7mypg7/euXTSJsDrA+9MQOs/onxkGQv969nMp+Ljlzj6kl/f40bLb98kxD2GPazjzFVVL/1Mj3f0dGAEsmscK72xjEh+o3vlKVJXgTXti7M9cRuL7pm5Si/0FGELZG40dVcGPtZ7iYV60/V0+Tb1erRqpIQg3imPORKS6134NKVWpMpLyyStkGxfKN/nKvYRg71MoSWIN781nzHNsTgqtvkE6wGUbNzwm9dwu4sv10K1F+pVqMCFil6qM2ExoQSNLr3nFA1zUxvS2nJtDIS0oOdj0Ke0eDjGz565OdFaec3eh6oW2XVdB8I1mbCXyRtv02BfrQtVFqn8qQRse0J1K1e/zu4+yxGMjQseBTqNVDh1u8yzNC887hZYm/BqlY4Fq2Y+K181CEF1umrCQ4UPhLoxWvbWaSeRHlP1LFWC5HqMnPz09ZkQ/yD/B7q1tTagff/mtp5MRnwcQx8rn6qAa4GN5cMVPAXOt8S8g3cX/rKGInuOWL93LoOkDJ3bTttP282AyFUtQtZFUyf8Xic2fleHOfc3i0lUm17j3dZ+yNaGaUOYXg1XWZMNhlUC3AQaOY24iCTg94uBE0ImsB+h4pHcyLkGY7ffXHOoomgDHzziut8k+rl7tiDZ7lIESsodpBhrabimlQpArB1hBTfrO36Pkz0fwB1g7Oa9fSkTrE5tVOI9LLUgfsP7WdGnQt2Cpqwady4DKq9GlEbXMvKNakvBSgZ1SlVxqlaZBhaqWKo8v6dJG8O56ZCoDdJburp1Iz5RfrrbI/dTvBLu3wcXDL49uOk1bzjqeY975p7doOOfOp8JrwS/juLd7a2A85LLiT4/hxoabCYMThA6A4ZHTp9D4TV4oFMfUTvchuN2Fln5VLNVXc00Gd1X2HaF6qau49jWhqsWu87YpmA7gq9koVmGLhn6rdCjpfJwm0/er+RqljobWZds6k/cwSj6x027qMvYrGzNGueb+jBsEdv28Zzn69afwqemN4cQaGveG661VuvWTvJVDwHbJ4bTTS//aIkgit4/zUSqMPGmT6xtjLzAZ6pUdFlv74GAC7zb9h9G/k70N1XaaQ4dQUWlPKDN/6I3PgO6EZ0IKCGcVo9PUausAPA6sIyE4lnIOYF3V1V//E4fU/ULlS+kcIIqc5tN2OIoqs/vCTdN41ocM0HgQkD24V1tnwj0r/Kd6l9sbfALwGwkfnOxfUE0AdskbHeJ/U3s+XCdOa63FvpwqYaExQQJ+tKre87YWceWP0Q+wBUAvzjMMnQyQnM4UC1wqwYYN5E9GloP82Nvb5nPTVWTuLNTUVAbSQlAplBUpU6V787tgfQ66EfQyo+5Cm3OcW+M4o6kfmertc+mOeqx7t0jvvgpksZpnTojtrbE+NPR8BTEq3CmkbqKFerd0xqISIA3gPjG4apSHIJUDfRrkuu2HIkq4p+ijpmm4leJbnMcbb6p1VZf1nvNbny1tX+Sv6MsEYrXNO+ugeFCygHssBhADwShSogO/BqeJnM2uD0IBGUk0EAEHdD3EiQRa5iEUDY9tZh4QcCN6D76vUtPYjMmagDyiWMOpa9RBLWLI0KJo7TxznCKC64JaZUZp8nGTW8KlV3URbqNV8ZY7SEE3V2HReBosGCTZFKHUmVakFYCr8qrWheu5ZzjoUWjQYo/o/W3IKmA64JaZOpkBGSn/5keebTqJV4kr7zpJPxigpVtqjZkrdEjoCCiHyDmAbo+SqDOiSezQvxhpCPYWo4UXJTpKss+kbLc2DIY+K6ZQpr5TI5WqxSK9fu5KxVeR64Q11RCM/39vwrePkW2HyfvDcW+3rYIKCMoh2I9q9DkbXrGpykeDsRs/eub9MU/ge6Byj3qoWhj0T7FOhTmVvh+IGpS+P81x4DVG7TqduP/DW67QRRgoTCdCTbPyKrligDzGyOROq/r67PTB8GRQOStulO37SSUNxtgRoCC/oMrfsdey5gNJD0ENxSDRl8YBeXYdDkNyv1V/6n5ru5ZWF+Q9TD9us1ZzLwLlxDI/5SeQqyEhbM5F4Vb8DF/ZPiMNOuidVH0o6osLb3EoEdEAMJf4PMfsZKWPKRnn9ixP60zRrzrdFvynIj9Xu/Oo4Ag7JFembCZZEUGfBO55gMHwo0fuPFznzzZ73NbN1Ep060irP8xb8PLa2LvCPQbhfSucp1eP8OYFfXEggARpNEbowc+bSVDC8rCcZ6S+pWzr9sEV4XrfakL4ynYPwaFBvSKbRy/zppORRkfC16HQ94EdDN7gYuJ1E3ka1nQArqVdzS6osSJQAxLPKDpJ0R1iIl5WwL2SyQWT+6E9zrX9qBlMrJicDQ23mVpJeeed9wtls5cOkvpCTb34DCVvh0khUUwdvNp047DKFxB5QqNL/j7e+7AcewlTYOX91gvP6wZT5T2EdWY6YWjepjr+eM6eM6WiaGFWgWaNPPjjslBrF4Ea3GqR36SGoO9W9V8ov01/8qhnYROEBCo/oC2T2aX4Ypg+n6xh0+YdBnNvoqC3VtONCyqsZsvvDKynyH0QhS/SOkttl6gdotfe5Vc64vcOnO9X1+BDSld7XM9LlWv1ABT75j6wFTF7W3eaL2VJbC57jDaX/D9gt836o8yfJTxGVdLyJu4L/Fekn82bnjnv3jn//gfjmabJoSFrc23xTCwglPd6GhjsFhA+0nVzPbSUBTYS+Ca9I03CIgekP3AhzJg5HDJASefY0o46gdodUhn0YJAnua1Y/StfKKr/yTNHCshnNLUEeVBbGpklDFlIs6UFB/bEXjCFO/oa4rDJzE+J2jJj959Hi++wCK8aeyh6PW3r0JlWSexD5sNPAQSfkpzKNM5/3AsOusFHpj/BHXIxJ1wI1piI0TCjsSXBBUPd/FE4HEYJftRciAlB9FHEKGIOJwBGbC6eHHRONXOdPocfSbsmEV7EHz0qG9hte4aDUUoOPC54MKfdf6D6r1r98fs2mBIde4MjL2EgjhhyQ9n3MB7jVQUBbGBS8YjZC4ncy+Z9/EDgNcT6wLRhnCfM7zxuOPDCY4EiZ4bxQtj83ge+zILuzBBX+quPKI4AOymtNE1qwsYHvDzQYeJ7YFW/OCEIKqX/801GPmzzOfwemJdIutEqCuxOebbFmYgcDlBeSRVQYsBsnZBHQadeKA2D7rzoAvfdDRMPxXKZbwQ9YwnuuoJ3i32xagaROF/3dYPEyJA+8Tj0Mtw0IeDO1x3Qa1RxvSncMreVXF3kqz10C6CKgd1EhowV9G5mhWKgFgYxLJINopjQTWbamxA4FLoLLK8zJYgOx2iMmd631BbUzm5zYuzzXJyT++nWO9U9Xzq9jDYfFrnPd2jvnWhs7AZ5oCWrXO/MGl6SvcGe6ZwyoFfOnPBA/eWPl9o+QllZzl8Ej6wGpDTwI8ZMDAYLwFTohQUxUkzB4m8h+HAsqz4ILU3GCaDYoOonzpwjwO3unDVBz7wgUd98zu6/8DrpTvtuDOE7NXHveVkZ9p5tWO/FOqXTvb47l3jPzlADaeLbOnRQ2CdKJ0BwqboaYyWo1uw2m9Pwit5vb8+uJtx7Y2cVLs/AP8HtkuciL557TmkIYyes3xa0Y44l5HRx9qL7F5Xi5wefvi3c25wpMnwDkJ7NaBnP1C/bxqk6Uaph15NLJHKviYrq5cwPaH3Mfhe0jmrxk9sAVP7qWzzQyhSOVKNzqsmSENR9bnQyT+r8fa+j/2U8M4/1WFwKmVlcyanO/0eq+NWy98hDcGrP5f0FPhdKxjkU+n8AIHQ92CPv2oKbqeRrTqqLrneNdXF1JM1/e6m3/hYEsCE8TaEnlLWc8J1IgvwDPZNJGmpTrTxdQt/za/YD621vPCAp85Eu8Vh5UhXwd5+qu6FfidW+y4aw2LNBcw5rIRst4w1MXYXjU2YvN907pfeLPik994pSb/X8ZAG4tfS1PZkN1DwWLTugjYj1sNB8UB2/6pyk9XLNFjXu/iK5sq2UJmlkkIJ6lNTNEjUdZ/aghj3q/YxAQeEIt53vukDtfPp2/sM58/0+45tffpOjp1+xAfR6pEa0HLQitEaLxwDvFN4uQr/bnjPye5LaB65X9iKBbuSknZSu8aXOqm1QW5S+lv/mY1UzGD1zzWbfQFYZgGBP5oCeQ3WDkiNXZ0Un7yWzuTHpl+e+Ik4Ey4j7qvBZ/+pJ839le6CF04KJ7ihze+5eQW1+UlbCqeeiNoZOyf86j8xgKNDaFPQPs19y/Dy43649/8lwOO9Qo6luA4lY6FU91nODprFtESm+R7hi/psY9XHbWQNCZvq3foRGjAXhVSw18HkBigLsBTo/jgkJl3I0E8iv3kY6rT/A4AvCtMBXk/RxTwRrEqETWqj0I/CS6j9CSUGVp6Fxhc6V+jGUn+QOxpZ3UqNqqlUkx64qRlpG5LWUXRuRAb942goZd2cRp/XAtm9s7s/FFQm4B+h8WGc7/Jr4gK4b4QzT90+U2G2auzuG3Y4wfvIbYrqJLBbwNYTPPa6uXGQlwl//pjjAQEqWir6Ge8V7f5AxYJmCYViomrwgb75qn/Q3Ux1K1N+ssvYHmH7G1tbTcM0XclVg64u3Zf4ntQ1J0yLw/SHrvxzLT6urOwqsrtBrEih0oW6GHrG0KJwjSz0eqE/l5pOWCdTayNr/imqxy8xSFSNJjVo0kM3fc3b6kvXmcd8gDx/4F4yX0KA3oYbjpRl6vWhPs2y0Yp6EdBumrKnaFAj7pzLiYG9lM0QJL8ykf52KhtkKN8B5kc0XSgpiNNhZCfQHQ7VmpP1O7lhfTUVXs6r1R6GLkAwIP5j+GJi6zSiAUkRQFkySHOcyZGaflQ9/C8p5eklYfGrb4HUfIn8HFTN2KD/ORQbdZMHb/qo3zZ8nixH6dfcbHIcCvgKvg0UPULg624ewgj2xE01yRdkt4hd6cRHAu4Q/HZw/6vegZY3d622TRm5yPrm/pm7FqkYXFurT07vTxM3PpTHtDuOnaCo2b7FccobIQpreoDyF0D8RmH/wPsbf3LMO8FNVjbr6lVaakP/PhcDudv06hMbQMIhf721502vv8At0BKUvQDqI7BGSSshqxSuBLf9zQuswcT9rR05yT8gfSbc4oWbsppcFx4F52Z2IStKU2/RsxRp+LZhba2KcEoRW/Vvbbx9Yx1OJwzWkLKns2hcfb2PbC7TsXgq5wJQSVziWL7kl47qB786HHTnhJ/p3NFzbudpyEvvu5WvZ6p4VEtOUS+uqSR6k8WC6N1GY+8R2mDeYNE4xdAJNO/hygrekRUTLJhG6ofCqXGuAmhD9HUgYIv4lq8lU/Goknbm6rSZMMFR4HOVtDAgJ4liPDiVDAPS50+9OMzRIMkbeewrLSRgtYvSMV77cW4rStCScxcv9ijEA3aFQ39x2odssqaO6Cpt7ai69jOwwQyEweeGgptdQuOEoY3s2PBkUAPZOdY+NlV7xNwEyi8I/92Fli6B3BdwfkDtD5PgEFFBzDLwG7QY2AreKUgr+K7gTMG5go4LIldUUz5Kh+hoUWthq/igwlkxryK7orCitMJd4a1oCLhBHfgNtDnCZIFb8ERgDzgCkwPTAikBV6AmEAgEA+2eEDEwdGDEwMSBKQPTB74eWDuQMpA6sGFg78DxAc9AzUDjxDbkRVfQE/SRYpgiXeFRnFVcUgQV/yo6JxyJoYkRiRmJJYm1DfFgh81MgGlh+jmMdpjhMN8h0WGrQ65DrYPPwe9wy+GBNSZCRIzYED+yBfke9JJQD4bBOFiGwJAYNg5bhl3D3mH/cHghBxbgAV4QBlEwAraCeUYho47RgXkiacSmsTVsHzsnColSYpAYJSaJPeKI+KfSqT5WL1eoPr8QnTimCkHrEdgv0cU6FqU2uXN1xPla0Aze7KAvztk5z/J0te+fXHjHniMIThP6mjuXNBiswkG7Pkf/XoL1lroouVZ1MQlRCaZnV7vql7ncHYD49218jOtdjp4ER5eNr/ePZzbg2JMmLo/678FJQPo0eNJT98HVQvXQ3F1yB2E7Fe+b0tN8NoAJB3hVyYaiq7BU1e62O9Vf602qt0ajPBwlrqaXdBczyHoyW0FtuRPEbll84i7BpZlOHPP7RFupXeBlV/p+yj7zkH9c7RvUXMKrMkJwHwoX+sBHftQ/F170nLOFol78MgaAWs30pJ8rDhBAf7pyDStF1YNqvaoncMuY6oVQJYC5KnNNypX3XKUvNNpQ10LPn7OrDmPxBdcvuP3L4ZNYbLipcHemXa+mIEFUKNdUDdHNxu9HU/95d04k34L2C9yloK9Aqf/Uz4b6Qu7/8ErmfrvwM1j/E9pDrk6TRxC7zlZ1SQNIjSOVHI//53iugbfPUu6TlPtU5T5Nfw2idYj22dZ6GpERYGFfIjH4GDKuKf52jdI64bnOnqOfcFp7HAmGHfYK44GD4jfFePd2cfjdMNLROY94Qbir8z1HqXj3BiSwoeC3zpr3BPSz2OIgHvmhC1ivsxowJjmYUMHIT6FFaOW0lHHdY5aDT5viP6lsP1Haf5dfEpIgMVATSFMxDApCAb4vgN8E8Ey4PcFMy1jEZFPJn1Ttqy3+07c3AMOZEAIXA2ilT5QIeLkn2vhhnf1AeV7VamQvH1GOS83kPUriPh52Z6RdAaeCKgUPE671VbdgE0ILRXXfrkN+8cBPCw275t7YmhdadFwpj+v4k32AvC/JfUvblij61a9OguSd7tWA1GOfgGueuZvufefc3kja8pCKnOrkWW10xcITK/Js/oj/MC4FFCAaQCEguI4ACv2aslMw56C+Tc9bjXybOOGrf23b6Z3tbjuGrZv+eL1dBvda6kG6v2rzwXj+v85lA7LVZ7W35BehLjHMOXAP4etTH2d5ptuhcFQXlJ6CpBO+NrZt7LqRHi9XkVkAqztT+0L7T9ZAr4ZudhZJec0N1OAb8s9w10FZcC1AY/GtCfcgn71FvMNp7NB3cItrbpZ7duGLXosLPvjn2CC88CVrfUqGUCqcMn0pOxVufbB/sNbgGTyzqFziAMC+y9jBal/3JFAuPgnsE8s4Ql3Adsl/gBay28dLdoEvNzBoQ51Ey78cBu/bzv51yOOt1d2dNVBvNpU1kTxJuMjg3R+41Lut10SXuJYAyvpODgeJHujmn/h2AhCmcq4RIitrohriet5j5WI+TcgD76O3eisFfOLxy8HH2iHkhrNggHjm9Sm8jso80ugHZ3zgj7/5e/f9sjxtqWXhRt/PRNWCWns0dL2hH/F00IdgH8/8Ue4teN0Nr720jaAv5AFlZ1e+xK4MP8Q05crDKRa7qskp5vWD2T+ic2Ap2L7TVXtbF53Tm0DVMaYNPPfLYeBywtWaKAx4k5Etg/dyQF2D1n6g+q9qf6jKkD2R6Y9cTxjahu9fco+86j3y+ZqHk/dVVlaFjuGebM4ew/IX+z3Qxo/7odfGy0oCtBkT5Qn6mrUyI462HD7h0SHNwm163w0Gq1tvmWdpn5Eawusr6+1EYzw7zOk4BAWiQOfugUo9roq5ii31jE2f0vYjz4IAL8Bmc/fgmice9eABoIP/4HNfHQ7FOTYc7xykb0yPbHNVC+uoKCq45u6tFMIGS3qB7a/EQbzTqKzCM3/xDNWEFf8jeoF9QbEOR2/6w3DQMM6axxXRqaayLqFLIOSSov4j9wd1vua9od56zNGw/S6t3HxXvXffq53g7XpG13w6dlP1P+XbTS7bGPdx3VBSyDr0XA2OFQlHNOiJ1n5Gbz8h7hM+fmjZj2vvU5SW9LZjNhNeTBDVGzdc7dKjCG3gtS+y1hv5rwSFscZjRCKkIFB+kv2cgn7iWWdnmIRgFBIaGrbpIVF8iP9u/szNU7htLPAW7h2k/Gw1ja2d0AT4OMBxjYqo3PDOldCKRroTa8hEGz7Q+n97W2Se3rnwkddCVaittaIG4hY9vWVO/RpeW3xlFq7a5CF+rx9dr+vb9ZkygvmZePCD24F+1LwIq73hBBBtjuyX417tiOVu5am5NaWrhMNYTZDVR5tkdew1Zb+94caG7eGKA+kN0LYQl6Z1xirEVnXpOru/4kAFD+5fLfeS0iKa/kNozVDeoWIXkW08qxRCCSIQJ574Y4CvkGwwjEKVhIsUHik6Mo4l50gKSgbsVkgJwMKA+h0u+cBfBp/4ga8eeOL/WiYTn3Sbq9UWLBbtbn0lmmuaE+R8mZsQu+XHukD7F17BQWVbmijwBMZCoFfRyojUSC5HCVMCJ2oCgkXBR3kb/z+82SFG4Cx4G4ositiVVr11jokJUr6JeiP7Wegh52IkrX9IueCyn+iqUOet+hyBOl2fMf+A/S1tgIbftLVGn7zRiCudHjkfKuvgng8e88wVMvfWfSTc/bDKLfxV6UKl25nuabp3zROIfUXrXTcfp/YOW1+y9S1bZbv2f5HOAYzcjawo3soz+4+1ZZ/mZuxfhfd/1KUWjgsluNzO+8bkbwZNO1wPuPyGNlFP0rWFnE3wa3m4mhqb3OEw7QmyTPyMYIS5XWeFkw8JxKe5eKcDp0nZxqQ/xgLuAema8s9UfWvvJNRhocVRCGJYqyzF2g3FF/1cJcG5EKKAXx3klyrnlbBRyAZ7eaApwMmA/DWKSok9TsQeN8C6cqxCBCeR5yeBgOzTQav+qRqi+81UYX4JYO1rvtceYhW7LuoP4cHB83/OFQO8nQvpElE+E323i2GiVktHduoB7zd0Z9AN0AT6NAO/i4aW4dserh6721XydGuTL2HcbnTDWKfaEbjTLP0wKs21qXbhkCfB23vYmRMPE27Nbk7E/N9lbcZIRqAR6j2o9z+6lzYUWrz9h1w78WegXWFedNyLI3szpbFubuNr4SYru9Glx7UqGU1AVFbvt4wy2OZzLg5YbO6C01mH5Yd88MT6/bXfrt1z7OsMArjuqV/ESgwv3iyklh4bixBqc+J+rhvGh9XxcNWubeGn94Rgzd+uYtowsG//0bmHmQC+A9kfgx8VXU5xFHRJ7tmo+ZimsGtQErcSQLUAzb7m5FC/ljs2kEcULrLwiD62nMm0yswjsAV43yQG2F8HGn7hj765g+7Y0Mp2BxiqUEd0CuzFH9EMN03kZ2XRSgXluq1bHqE3HDehtw0NI+wR2+bFpsHci4fLiOqC1CO4aHClqYMgzrM0v5NZYbtZ164prER+6NgLu5Hri0OKD9LWccQXihI3QlIAGTqP/jUUpG3Jsy8rMvyZcSDzEWA/LfRZod9rKmy5GnhTnmmsro66vja0EV+hhaLhRLVhn1fEcBjZOKFSXQt8PuX3M05w7IzRzr5CDs5v963pcM3tCcb8AMPLyoq6iKx00KojfpN99+gWGq56D1YXb/sfV5eFhi604ckqsUkf+XSs1xRQNG7yk74/Y3b5YXQSXxCu2bp7UG00HybXz3uHAUaMBRZ9uuTT95zJgtegfmOA3xSzEmz+ejW6pa1HmSZLOfKy67w93kufDMmkbMl7K7sRtan2UEG8zZJXtJfTjy/8BC4Bzqc4o3xQR5imMJJgvhHkCv67AYRlmUbCe7rRzP6AXAhKz5oyg0k0runBARardpCV50Rvvn2tKFQunIYUBVp90s94K4/5leO+4rmPmdNjrSOzo7joy8RraylVxwRubvXWI12nNv8fvDbg66p7d+5WgPwqjxoXOpGYc5KZyYQNAhIHPOwNAnHEc0kwETMLZnPYAtvec7Zu6YQgwXPOvRT6fv6xwZEnCN9VvRWte+YhuX/F23vMXxb+g9PQg2pkqtreIkh0hN9jd1ntzK++P6TlQXKQ1gKKjR+lAi6vTr0jprfRG5XhqMz7vy5kwCVIw9F2oZXMvQ/rWaz4cPo8NLSuK3njCE4ZqF23sc9TZn8YuzN1vXNxwm9+9cedez0iCZ3KaT4/APmJhwPFEie2HKUl+CYEJv42zDhIhfuhcL7bd57B/UBDCaKSBtKtf46Lj0Y2CQk5gMAZPzrIJ1bDZZ0KVv2gv3d2bKwbrlaJdEn2Sw/57ub6ebCDVhFudbDKDbqmqnOuy7p6F6rEruhSn9qU2XQnHVZEePjYeyIWDncyosf/1L3p5pt6P+K9fX3d96YugY111XdmwOmxaphsNalbwqNTlzzzkJlnLlyc7YXIHkPoFtnPZJWXPnSKl1C6SOserbVR/MjNm6ldZ+sOW6D98/9ma4sBXu+k8J3OkSCVr+TboPyNTa46ZJcB/IMqgcaH9AHY56x1AlABUHVQXrLOA9coccQoTKiXY8BmChU/qOqp+qs6HqIsZ1pxTLXpntL1XaGVT9ZOylqTNpy0S2xr6KYtyWh1U+s0+qKp9/nlYR68yGQGbLgY3jaFG913kt+xNvvNHoMlvGLpT5NVAP5Z5EGinWD7/802vdKTgc5S9jFqXehd1C0RvX7EHUGLQLGheO84x15z4CH7B+HGM3/WuelOV173YXDdOzYJcpwxiTPHzJL0iaLRDZ8jiiJSnA119cG7/8zlQ3uDfcYzG7PA3MSOzG74WAQAyEZpKlDqMrmy2xuTMPKbNl0ph7GmClg0tGgX4A20ms8EXpo6QpMy1VhoLb7TcTUFtrnZgFWDIq+MWNqH6AQKAa2Ja3my64iuOomfEzp+a68YLkvGgnFvvK/VElhUR2seuTPdkNX1pfqvnRHD00v6hloRtHPwnkhswJsT8CmwFrn+LPRHZxNGVih9wde90h0XTvTTPtucDCFAVUWzz3CjqXHrSCildUbOFbs47hxo84EH/X2uIL3KPlsQBe03CWvetIHtG7xB2oeKNoB9fqH5/0xnjisZ3z1iDQ0dC1diyOq6VClu+Zs0hLi8zfqftEiQQRN5bzaVZFhvKL2V8et2jbHWikoO+vjtTWoqOP/hQL1muD+rciiK6WO1R7YmoFUB3b6qK5oeaeo809S5qhV6p9DdpZ6Poj3UMloapoK/OMgYEV3SRVmTJ8oxVQToCmw0+pZd9NrUunp2T+pWFsiHSK7p5ww7pPaqS86cL/cAVqPW0BuLnhsYcLCSqieT5kj7At5w4JM/6o+5/R9BE9YgONB+1Q1syUc1EL89p+oAdeWbVauTKmqXCK160IWg+zPlOVdqmD4rdN7Un2wbT1r+bnUwdfE174jqudK0kUCHu1Ztpe+FbqFbzNrAarmrTU8owUkh5SX7RjQlve535KdkLXxiJYM0jUv+vXubgbpX0hWhwUKDnmr+OfpI5sbS8rIPn9jZgN1T8FD7OGYTdGmWIIWaedAoUPbY71jrftceOuo3QfcKPS9z5txjO+c1xih2e8WdFd9WfO+tzQvo/bdvIYP+dzRgfW3o7v13LCDDgpW7inrQtzeYsSAvjrFPkjLC1Y3VaqJxin56qr34yl7qLXJ93LQzHr8TuPNs+VyFYK5CMIBwiLyVwmQChe+MFVw2CBqE3faYUlBc4Cu4VnCz4u0KV8XRwBhQDyyC5YI8QVBgDbweiA6sDmQFigKOgbwB18DRiU2ol6KfIlmxVeFVGDcE4xNfJOY2dGcSmQPMY2a2Q5ZDiUOVQ5PDJcsGKSJDViM7EOqI2LBpkQdsYArsIB69G9drXWrH01f+xmqaUVfCJvA7gzZBWeYrg2oraESuIgtNY1vPiOrT7T3d1nMrBTRjYyXCKU6OSS2hEUoSIY0iQTGhZBcAwQ3BkRncG9RVxpogFtlvNiDYWEhUo1rkCx1JfhByJZ/9h02iKwi61t1c79SR1rA2zi4opI1go85qMt2rf/J9pAJozwV0bqZrnt17WqPqHfEEPAjpBbiwDzMC53zQoW2A/RJA2th04zWquKRJoXP095TBHf9zrje0b+n26uA40xgA15vOAtd0rKc3O/9DLAqfO2vhgbGfAODQBBWMOsrZN8gq52bvdvGYPQjoo2vKutfuW3CSEwFVY/DH1zwDKz60eNmR1IF1g1Z7Pbjgwb+/YzIwzDpDQcqdatHZ63ja8iIfJC0aTlusgsB3So/7yaWHsjk+dsXg6ffae6crh4BcoUhATgKPRCc29GwjQ/Fg5NV0nybQwD4J8KNoFwhiwV8CDchKooINWxI2yjzImBNHxXGG3MbGQmsBb4rQZJYtPlMkRmvM7YjEOswVQRClMJRhLBolEcGuzs0qrF0Wg+Wfvr+iNc9LTigTOuMcPG5adRI/wPq0OgjXdIYiZAmAy5d66XF/V/osuRY2TyE2lVgL31zB0ipgpeBagfV4oSG7OjLw54ZaGrq41GO29fdN2XVrqqLkSduf6N5hX1jsA09sMHUDIS0gIjKA+hP6WSIHIPdAyUdZN5gikZiMuwGXw1A6Pc/onRHTMkqVKxEMYXgrdATQCdhepQqKUkfUzZQp7yK9BO9Navf5BwVwpcnexJb51mYehk6Q8MmIsoMEtRltsLOkFOOVWrfiI9TG4QTF4midKCljvS3GqnWtwx/7b7jTjzghiPeHfOlmUU9B6d8LMdzYQfXqbbCy0BrfMh+3PI/dXfbl1owIQTIPBvLMqxvxDXEsUHqn5P6miGdAY+NiZwhH/davFf1RJZRsrH1dEnBT+0rS88TSHtGO2KuGkx0owJhFNLCCcDeRJQZR/faggd+VkV31C518rj7wsrPA9lvNta/BauvV2+wQebW8HLsYqgTqvPDHoE0HXvoDr/uI1978lQBmJDKCeJ9lzcKtVKZRXp0ilCGS3mR/tKX503KTvp20bT/MQ4LspvwDXxSeHpz31K01P6G5leZ+c0/G9w3RaKy5eD+SFeBqTOg2WWKQ4K6lj5zik5RG+qynIOlzOIK+wKutPwHxG3F/UMtqR48yvzfG+ZsoYP8gFcOVCSr7ged9xOfR6mY+ipY181Oac849GN9wXUfDnOnCNdjW4LtP7GC4Y8OJekRrexTviurikkpJepf3+TH3ukO+FSTEqQKgKLoOWNdMZyDNXQFkn4N2xGA5tAlUSrZo+GU9Ans6U7ZMO4/pKLadYfrXUJalxhL2iU0DOLYtmH1fkhFlv41SdPUD1Xhut7rIh1fN/CQXrq/dnX4kbg5KiJX/6lyFDoFM3BbAb/B80N4Qv8tl4zUFkpYFaTK874V+aG/YquT6Nj2HOrCv93Sgdp4l6NN9//AbNfdj9wdd16XzJfB1hKhVTGvpR+jHxe4IGw+znuHLx04Eg8ywetUT07nmz7GhHRy2g92/MMvwo8I9hTcqx1rWBv+AFQlbm8XU4IHg+eT7yg+UPZS3lPbkkOTYxklsTrYjbPGOSx0POV725MfcLffkai9M5vqe8/Me8ubuPW/+t76X90/v7n+wRTEDnXAoZZo5XeQGxzbuZFMSrttVf4k2TPfBs/a0vediAidwQf49gA3iKBD4FCscJRXnjPA5hjlozyTAfSoJdcOGWd8RC1ttcMsCkN2eycTza9OGx9i0x1oGLQhHdOdBBw905a/m1y1GOJtKuRbxCYYBNoy+MrYI5aimedGVuqQJyb/B9SNGDvF9hkxJOnh7AwKQxUXiPNLQ7aUu2lTBdCxIVfkSMQiuCnYEdAd0PJRfBSnnZLtR0i4DAMnF5KSscGhh/wBr9kLn9lUHbcYZ3I+kxQF9lGkicdf4WV20qchmIBskNO5AGWLjtJNjaacS6LMpHn5x8mLsJY+6w46FXO0rUGIo6jKP+rFrjbeoScXYTaHt2n2B8zcRXzhoGj8wM9D9AvIPfh20JOAORz0D14jMlXLHBXZJrl42p1Iq0exNbE3hYzIT3/3AAIsEUXcRqjOo83eN8p6f2rnHIEYWhKQS3Kax7TDhwr8Fqw0agPQXUnfVs1nsjDj5SuUxxuds7vJ4UxXLMh9ya7TYkPyh6U1c5rMveYThrnkJxAeNAGs+VfGtTQ8nvDde48nhFJzOFiV2Txbqu9CVfXQV4R1gZw4tLVHUK4bx/3boYVcM7n7UO8P8tOHOhneda1VIG+PY5pi2H6IrWmeNMUDUBEgA8ApcBKJXUWID7mK7KjyO6SpgomHJxmaQPjDFnIY67Y0xFbCOE4o0t+1DHov0M6jlD+/gsc+zcBBFrxYBAQtfaa5Rj4ScGm6NFA9oc8DGGLrjT0uSQOu6iq2OR3SBzDLIKWAmWJrSAzNXbQNzW05SCMgKDZq1NRpK88DuA2wJIIApAT54eeE4+HgL90Hsm9W8X0Gsy2oFGl+HQVTdZ3gpkwBWGMw3gegTZ8p9mtJUv9YeXRBe3BzCJXGTABXV2LdHPADJ2OkjK/OOjgfuzmlwfXI4Fj9L3XTRFf73/9FnBz9AoIAhoPYDWP+m10bDBg9MXWjqmlPPO+o3c+eb++/Cr5v+yuYNlEo2exG1BbG5st4KuJvkSoER9qwaZhlNFjWh/cd8+oe8CV4P4D5w8I2v7n45tu9hnWTflhiKv1TzqrVNQhiwg9nLKYMzNchvmhEcplqWvpKzjn2u2oJDbra5iY/UC94/yB6AFclUfFu1y9KRea+a0l9715AaLlwVV6F9G2hLldxKeM8Df/rXKtVXFDEVo56QHAVXMqexoipkEyj+ODdexrtv4sivnthlyBBIP0hnAY3v/O5ke8lruGboZdrAa4NsC9hbg7J9oTpf6N0Ldfh7JzXdvOxhGzu+6c3SvQj9avNwN69jq6S0Onr7ctk+Sb4z+Nt475MU+z5ee025N5X7bv7s4/r7JGursVv3XF0cwz2YYoLnA3ZA4w9MfgXjxgF68ZAgPpm49+hDJWHsQoK3rPHYVL9PrdevXr1dwQ63pjylcHThPuwKuO6g9Qeuf/DAC3/11a+51ugIW0jzYSi+wPYF3g8MrmI2JeYI+UepD6W8DMgTkXPSj5FxjIbjvCN9LflVgxxvwcaRvzzJg5fIfBsvvgvZ0lAdOEenZt4R+165qp/FOsPJN+uj9sem1Q+DhWbFw/HkYHiFC6uIDQQ1lghjaltUzboeipuClgb8mnCvB2d71fNDfDLUl3Lnbt21GIM2CJnpI9LhVXMfkQ/CraBkdfPzcBq8Ce9ztRnjOE12hlm8eosB5viAFvBdIwVG2wABoTQy/XGr7dgLSU1i3YXXxOrxgWWgIgQ2lAEr9VIMjbwqyK8EfM7wIEKvc7sjYuJfrM6XwAByD0MVeB/oe4CFAwL+l0xMdpzE303PPnvf6b04hkpDjmjfD11AT7ivlf8iwEsjtugnNvxMgbdPiqY1OnL9wb2FAf7hjpr3HHPJ2/ZTuPJd/8/g7cvk+xFuvSwnkWiDD0EFIQwwf8D7GZY6HeHYYDgTfCihM9EyMTexrOFP9IHmnRs9qDbYvGfzmQ2H1xxHxwBASlGuVLlT3VH1s6ZL+JZhO4DtPXw7wlR/oVX40iOrNWHrIqtvTb/49Ael8xP79MuyD/FH8OajsCaA3gQ4c/YNcX835H1DmJQ2qaa+uYbWTvS9fcrR9lWtdG3c8jgtBOxO8uyGI8kFnzQAtgjsl0GA/q/tgKvHymeyWU15f2r61kWhKgdPOHDdrzqF5QnPfZjo+U/084fvvWsRCTFIywSXA+/eQrMNHY+sN7zqM3ZL16QgpX3X+UZgbzehvvSTIANJQB4EjoG4RwbAPwGIsxN4dDpauxhVzQk7xDWPXF9xrh0kTBBwZw8FuTFo6F+rUNvIN7v9k5wN1gOu9tgLDvn72InhiKujxiCtDPaFB9cJ/i64yYVHfnNbtH90Dyj8n+GPai4qqYTefobn/pXbckAgAl/BRaDGTk6YG+u+0bmFyWwKoWKb3YTLRuyaETaMsInEfcC2RLBXX7Ij1O2JTVks50KpbG/9oL5Bb089E9dY1QmheK3E9hbeQ12dCicCb6bhO4X/K9xmzeOI+5hW0WZXMNtisp6KfYkRUzgGasJIKSctMqUofNzQ8CUcavWHff7BA4UX/xNXZ/oM6wusgbrb4Dsb5k9Kr45rL+xLkRQJpXXcIV6f5E3hnn/OTYRqTzWM2ZGzt98O40bKjLcC7HRA/x1VJWbLQ9UC3V/4rpvabv5Ka7gn8zB2mfoafoBpShcM1ltsFkLFw1g6cZ/8CeiLt68bwvoL9l/w+IL336ca2P5O9yG+mrRYsOTCjQcvPvwlllN5TdfLIf9lTDZk08pEqoI9YW3Bs5NfArq8qUS992ME2yz89JUIJfvrDMsehje8rmC1gtodV/NCKeEqd6m5UZS/WTP4bBRMCYi6xngO6Ai3AoYEbn1YjoQgzJzsconrbHYlS4dSxoMIMQH2vqHjAd2U3WpslOQnQUmReFfO/Hyo1x3zoeM+FO7HpduaPhnVoSDJo/zYHzCVLxh9weQLjl/w/0ZOHlr5mte22W3teF/2M868lakxYs2Js7iSK70mejjjE38dr7xvzW49CBdiiDALMAp4o6CdOCI1NjIwn1Hock3iRuaT1QGHUEbAThqf27fyx/Qn567SV3vLIBTj5Sfpj2o8HK+NnHtirXg0bfOZK6IyOtIYq3NPrM+FSw/u1T1GMoUw7gqFn+HeYzcfu+Xmxj8w9cHDX5419nHCDIuLCDHboru9+qi/Qc8It7nwraveyGWZ6hIVpgUiru5x0D5CQ6MdmY23w9D15FpvGt1OwM3YN4oSQ3EqfqaRu1o2dWwQ7+Vo7+oeZ/pDm5dzm+S+uY9gNcV6iv0U/zm2c+znuMzJPEbWMdpPZjfxH1iF586x8IFzTcA47F7c6eY5e/Tp7dK170yyP2ORA4kQEFBSiF+47DIGypn39DEjNZaOyIa91XpHKl/v0ze3g1jQt0tp1vqMOWKJHcgPsKRi2elWc8lN1ydKCWgNuqWs9YUbtbELE8UB2dNf1YPJIofB9fWT8BdcqJRDmWY45fzB1ZfxvuCBk9Ayhitnfl+5+noIvxTw+OBvr7okqSapeO78tHBgX93XsghuXHY4iHprwF32bCR9154gs+npqqWRr5Xzj/S71dTHmgdW+Gvqn+utQk8XqnKho8/Z0nOtwZezo53se1h1yT9iiiL7A1a+ctDp9f6dp9qB21hzY8d/NAZ9S8E8RjbSgog2flhHQjW1s5Mr9SssNdW4dZMQ9uv71+nYYX3N4RmA6kBb/4n2H1elu9seYJfO0XlB9B7iYoKV0+AzNThA/Ilige9PcrW69ns35/x1NATLEIr4DGHvsc5P9N0LD8UqvZPrak2lE86QbTU2iUarN9EX5Xmqf10tfV2r0/V17JnkLnCbDvlx4rqJL1vb8wDCP4FxErF34yffTKBs7dOdGbEv8EphqeE0I2LBK6y2yHgT7JN+kfiSFFSmqQrpKGZoLmnyo3DrRimqJTZnbAD6p/NZU4wPlBN64Tk6tGqN98FqqChX4gSgdpgcuR3ou+c+Z7hNzU/a/J2bT1Br6+bhbh7j5ilunu6f/5cZ9weM+w9ue8F0DNCuCVkwsWTFhhaDEGjd4RUa9FOmk9iewC8pbDUq1L9Uf1PDvZrQrY5DBsDzmVoa+o/bmZANy+zXKTdlC4/B7g3XozuF74+9GobVAQpO0l+uolCsStQ7/9PXYVOVw54mPO3CqX/E72jOn/sVrMpzTy9cgG1hZF+xuWY3/u8i7ze57EkhMeiTmQ4fk0JW1tsbMUEXSAGAbpSVF3yFWnBG3zywcaDTB3r2EYVC8ZqALsdck7CNwLYa38Yn6z9ye+Lua8jkBNqvRC6ZLtluY8q/PMxfLmBNE7AjD3vKE//94H1INc+cFubJnsuBfBPIzjjuNF3So2rfjtD9gJ956r7u+8a5SlXhKVuE+qVj4BtZeHMavHBsvO4Ra2ZofVQdk7FwhAiy8EDta8pn+Hqg/qXY8CQFWgewlWD1v6pqzCpN9dIR/ZRpPLpZc72lq9yFHhJbcVynjuvbUpMJu0IuT0c9Y62PvS+q7YxYswn7TTknsZsiGHYf4bhgweqvWfYjIDfWJXFdggc/dVu0vWhzjvq5o44N2zdpNSL1LLV6XQwDrS6pq+eKhxfujNPmx8m38LZ/4n9Tx4QXb+WBR+L6BC051LMzR8N2lvZdse+GUH5mXXCrk+r0UTXM1H2h6oWmLLTgyRrm3a9wGQBXE3f7qX/R/HHh1jav5dY/IjsAOig5lzyPtl4g3+NfmDiRVbU3uS/BBPt+YmLLnMOAfmL9JtJLse9Ms9sCSgjF6QCyr7Hd8ahxWWoyJc8x3wmXf3bcIwwApkDHf1ZTIwqKsAR9Azp/39yUj1ORToX6O6w6M5845nS866V3xLX10dheDI0lyKArQbcX39ona3p//RzieYrBvMR69RC4RA6jwW4MAkSyKxHlQG7aghcY+ZgN1ThoC2hM8OpHlCM3aLkrq8fOaFIEmcwr2CRQWsDh71wBHXlcVztb0NnfM8I6hYe96YG/Nl1qkweSmsTbeAqX1xu5pb0HVX/h6q9qQmuT+jGJxddt8JNURVqUXH1U9NpU95A3P73fW/xSHdeV8c49Rl+1gG0l90JTgxY+0JIHCkXi9X9XZ0aOD6IucX0HHnIvQg6Wz1/DMRyrUe+ef4GfGKRlhmpZXYy2wBzohZhRYYmxjKHSscOIJOg9GUselPS4mpFzcEu++e2FYA6gvFCbwXen2s6+Jt38X4Zgn2wtBSLyGgfc/A8D6D9awn0F11DxYlAr1yonDP+mgychs30bTt+1kRc+7D2fffE7mtdqO54cQ0clcm7jY2cSa387i5wlXmzwxsongsj0jrZZNyJCT4BxMrkOKkv7ptr3SzhT26ZJ3Nd4i32VTtSXvow/SemnNyjAf1RFyP7X9X/fnYJILqa8pocy2goGCicKl2+ZF+TCBz/46mI3uzdDjXgsgbsf47Gf5BQBBv/Eeh/U/Ie9MfbRcOo2f4jS0/273uOVNnQZiYv4sA24iUgPhJ855uaZOxbOxlb50jl2Xjc6e3/JcUHUZT7qN9DmxrGch+l8hWaXSYvhk6S3G60TUXUImipcGFeN7gw49cDnXvhsXNsDEMp6W9G3YC8faOUDdTrQ/j+qDMBWda4kEKu2Sa+7qZp0ieDOOzlXFQjfUOJF9OilzvHaSDorQHtix/o3LXqtfUfLfeblYS7dscf8Sxm4Eaf2159w9ZvmHde3PDsBrSm8aYnmBZT7VJkyVZlrGH6H8PVm3UDXbtT9bxj0v/tN/uzTDfa5dvTGel6n3khnQWD8uYyfhGnKJrQ+YNvjaJODPqkpq3YcMI7TdfoEFhDhgINrhGNgN4G8iBWtvF6X1yGsRCOCWMUL0Vqj/Yt3jsO/guARhF1W37kWHNe2S2tN0WU/vaueRC46Twt9vKtbTsdv2i4/cNC7Od5chFlZsglzNS20LFyz9tHpcH8E5586jelbl5sbxuKh4MbgHD1dEG4QPED479wpSV91gembnK+5GqvFoRR/Rfjxqo1eJYwBWBYA7PG7ixvrccO6Q7w9YTDicuTasPyJGwSvDPjhgUd/9UCvLYrklFAfR/sfXxyY5aNVvHCNwpWWbsLufhZFsBSk7X1mB0bMzLHaYd4xFb21zZYEpeqLrihdn0L7wnUysqo16zJv6865MTQmXCKtBKT/ixDTQ5YIbEtDdTNXa/xexvYQX9W5ai305lLNCTtDWS3TFQ8ixJyh/iW6q4txbLJlySHcGg7V3pRYT1v9OmPkKE9LJJqoL4k5mfiTaTsb3XjxW975A+/8g3f+yRcPYXlnmPFKuzNlPwbrR/yFDR8BceLZ4Qs3+lafvV1GKlDt9/WtOoSpzFxKQrh/7NzksQrTvV/qdBT19/33TFvzhK15hs0QwC4117epoNlZjqWT1lJ4wq7NhHpP9poYqzBT2x1teNW4zBN8cwiCdXL0As2PGImNBedFWf2lKL3WMzvGWuhI06EtPKReQQ/uaiWBIafr0mhRtfNn7brkhtXeHAJxovy7td+XlCnWykNe95Dubc7+6eqmNY6+mEvuCNdG9oKHfQPUTPjsRzwIn8Lpuw9jgjBDpgQHQEmBjAco+Aj59bBH/No31bt14hl+ypqILBSKKN+gxT/Q5j+iT9EtOKbDx1Vx+zLhyqzviaM7DpgRhAUoq6hpqGrYzAnC+0TwwsTAfSfR4MgSnJCwTgJGJc2V6ahMV916Wqp98uvBQzr2g2VPd7YbwRYYrZC3ANmGKtgFfP8W6mGo5ELZLxUNEvUbbUlBotKj6jB1Z6lbGlWbY1NB6RrozRe5lkyzF5E+O9MRTDB2QexHmEJJaHRCEWroaZDGccRz1cFrIIyVBwd6iVRGoSYqr0iwMuMavJlWi0G+Lnfpx96Lwhva0eXR6cWeSffX6YIVFAHEj3jqVEHRFLDdP9DzH1H+TJuOq31n71b7+gDD7av4bdb+otMPiAPUh/COi8Yh9bW68xwCe0soiS5sClgAB/Fe0mvwKqFdQVas1lWfZtOJHTvs7aCOxxwKy8MLj2FzeRAzTjkREuq1Tmsm7HRC+SM7Q7Bio6nb8JzLpeMq8GjhN5U4sTzhiplTj7r33JHAfvlkv81b7bgcxYdOdG/usSuaaJctAoyv8h7lotNYy9NqdR6DOOSj4V53st+ltZdS9WZP9HvVcU1O7ckTF1+f8+wCmCEDbmbsUoP/61jUwV+kLt3Y34KzTuSkmvbGKrVOwNQ39TllNroBO9pyQuVjOPgY1J8FRikkvoDQDSKQHQQtDFF6iB7p7lH4Le5lsvsy8vJnXwG0HBsd0a504eP/5i5UGwhLP4rODiElAusOF/mzNg/hOz+urbxWIdi3K1cgXoJkr1AgBcXZ9bJwcmvClTnRsg/r6Cf69gv1L+joH9W6OGoDYhVID+ARiC4hHMctg1cjrgzoEf4FLDgWNhJQMDtTgk0wmeeQFcZrdFQXUr2TaYQ/HQgBn1hiKnRzXxzEDvGEMFWJYqEzhcxDqKFAV+yYlOAin75LhrsV3nqufeIhAV5LZDmEdVGAfNK39IF3g4o85hFsPmBy9NUdOgyPSnUYJgYGntaWUhyHzZGcB3Zf9n+Kjwb85eBWRx0iybNM/u9a8SCqD1L95Fk5SFXud/ibVhRO3gXJu5++GZtUqLUOeumPeGxnMw/hg/iFaP4AlR9U4cFRZDxB3X2m7eDetKb/O7XE1ZPZXM5VvNIKI/BtlpwmMIxfouPBqrrQca79SWzTD6hH80djv5h0nrklvlGkXpFuCtz7ZEVMneVwsV0thx4N7mLwdIZRhPilPbTsx8pUqxVN+XRLwrHFIO4S3SlsP7GFP4knQP0Fg8jiwZsN9uiqBpX6wVSrUqtP1uZTNTc2TeI5j1huIOLxjdW6puEFEwOSB4x9hFVFDymPfZTwqmv+NfKL9aCxr0zc/alvt+Zx5PwTH/uwX/3AtT9wfCTONZkm4doc4qozT5l58WOuTNsX7ueO+5Xj3vNkl2nyLGILKB3k8ijDh1BfYl3D+9hru2PfRxm8jLagzH2SNoM9HJTtAzX9popkx45rVxztFXg+yoFGWrFHgr4ZvOVnrrvwjwde+nEfebI7m77ptQZr2/Uhuk9myz8e5aY0UArocnDmL1zp6bP/Y350Sa/D9sMeAMr4XqwBqv7gZwO+e9xbjvuB4SeWLtux7xDCMJOVBUUoTPB7p/8GFL7pIr6ypW7Z1J192bHvJ1ITa2UfQlXCaqDugKOvMAq/qToaXrS90do38rIDd9zv/0f4aCcoKujkv9l1p5lbMb+nuXp27/nN69CGOdqwxcT1XvTgZXPnTyW+MYxVuEyisvSOXcMwLmPGpwjX8NlaTMAl56fBHxNcJizA2ou6ndG7FEdhIBxoF7IGmVaGKSfdgeO6Qu5fchvj7j2oLUHec8SH41zpjNdB+kTolxcqVaj8ZjX2u+0QWC+eBBh0mChQGgbv+lAcCB1kx9OmCLd+gvPSuu7f5GXX63f+7aI+6/Az+vwJ3DBToLCAVIH9BR++Mu7SqKXzGex8JKfHse/V8q9RFbtXmp/H2o33crhb7mMDaW6JY4WbKtvUquh39lVf9WOEe+xPdeVsbeBtrsh+Euma4sfC/wQPnHnlMXcs/Bxe9aWzcnX03lkmV6CSQlHHxqSt3KdsZuKvQKsPPPD8/j9DsY/ZUQXTYPRuC6P6nNiLIA+MCywe+PAA0VcGQwDeeGZzyHXeBR3/rAavGX4C9SXObIyPfDhiUbf2CB3v1g6CyhFcrmUjVD5JWhKz1Uc+SjcthjN9ooByghgIMKmjvMCBYIKbHRH7/6SWxuf3Av0J8lcV7IFQP6sfrmiU0NALNXq1qR+khVGJ0Bl7/Wtb9knaAu2m4mt4rxl+m2yov/+/47m/J+9TdMZS2Vi7Vq5OAg2dOyaUvo008+EKDy7CZKAlAKtO5mxzF77wXnKJoaX7ADif2px/5MdoP2Gd173puLt0bXsw57G2g40QapPrINciRaTv0v2GSAVYCgDrD3Q16mqp0ibu7JNCUfLC+CRpJNQoz7433MFn4bWdfUD07Bsl9N2uDgikfZJmb1QKp/n0hb6He/Vzb21UL5ZlVVRr18ZmtB9lYca/Ja9P5s3Z6MBmAtrWp/f2GFtr31UMMwpryYnkOaeveGihqpb6T1Q86OezOi7w+cF9v7pQ4XJc2dtXZr01vqs33UIIVPqln+qzgkE7ad5fQjFjDKHjH1x/8InPvnSaGccgbtl4zYlheTne3CjeQek+rYRg9UbibOtw0zhFgU/gf4DEVeKxOOHpw6Cn/tmZUN0U/+S5WHfVLVpuzHoIFRXgWYRJoMolXjfDCgQbn0UAWM5PWN3h8crcj3sWq+W7hcBuDbVlSVsDSBZw/ksFQRvMV1lrkfXI1CHTtFzP4XvLUDiUqI9oK9jR+TGMfGulACKQGSypiK8xWC+CEMQbkR3M9APigi+BnBdw/4Ym6lnHLoe9wT+DvRqMJJjpcQdP3s9NOUBpTdFxZHXWOi2M2JC7doLcSPZVrGx4a/uOEIHjo4K44sYAC1yEwVnBvwKNNXyJGD2EE8g7Qu6HmXrAXkUI4xhzjrHX0cAbDeOwJDcuL6y+e+RKkb7zs5FA32HwviD6Fc0ptlPijhF9Mr11uyH7Q1CP1AMyP3/M3bCuG/7R9A3TbWsG8MVbdJZGQptKGBPb8qY8rKxYNQclROM0XNXGENU/UyhkLTx3lwNVNbbx0zq+ye8y7HYNz+p4AoGgMFhbweaCHUeWNdVUXQ5ZFS912aYKHRUkh4CXoOMDzp9hiCKLU4fskIvaUfagBQD7InG9oMkHOvFHdQNbaqje090fq3ihpkvX5ToexQ2JzfDZjmDffuq4ULyf1rwq7vWVXYH2E4exsdNBy3/WAtZVvqQSkd6LNXtQNCZOl9F10rQB3U182ejq0LXH7w6+5gs9ILb4ZL1G20ru9WZjW+ytq6bEjVW19l5H/BxrJm5tWGYDSBjEqSCeQ22WDGVyguQRoEGpB6s+EeI/NP+qe7bncu17wmCUo39GctoTK/0GYV5tB1GHLA1g/8bDp9EaSkEZTWUUHacpnB8lmiaDUUE/SXj64Q/s1AOqgJoofEG4wOCjH7jhN0eAFwTpE5EUB2RzfqC5P9CLH9UkXbc9a57kTFc3zmr8qSWN/f7m7r6p8Aj0R9C6cM7BVb5jaSRZFfhb0O5wWVDZdmezgCysHQhyepBPPGNvX+lzAVuARTcGuGbwpqFbflavyOqw2QGPURyjsmn8Gz7u7AehT4VqPmu7I/4CHgKNC/avUoyLMpblRNufB36seX4y15lKopvydCygplr7hv7TG9l5E1dC9RYOgDRVeMtHnJlp71HvQGuZedtRt1h4+XNta5B6DFrwIxqBrkimE2Fad1z9unoaBTrxZEG90/E12bGRhZskd3MP84Chj0OS4G1dBBJHy507RWY4EkkTkU0QGvufxkp6t7O3FQZqeDz45jcPQjunuzG+Vgvn3L74upimqGuKBbGPyBUvVbrU8siKhBL1gI85YK1YZJ/R14+VAGSTNXVD91K46xtPDVL39IkBpE5gFQ+6dUx5MsWFpA/wVcl1Q9e2Y/q60Ipw5b7w7KViQ5n+Af78hGsTYZ4bLkw89wOD9vXIe+yDpFCwoLMjZ4cJ8LLj2g9Ke6BD/8T9WBYT68CZVcMpe2DXT9L6Qyp6Wz9NnAo6HvCrj7qYpHzNHu/nGuEeqt6E14vNdTTKCXoD+AU+X4UFIYJ4pUONtbDgcl+yQLWr1tlpxa+3gpEfZc+QvejMRUQeKZz8A+/62bc4EhfNPZScGI74kfDWRxwN0vfR2ppg/sdZGKlQ0MSgnR/ohc/Z28jOuTqaRp2OnmgYOHJvuu9O3+oYDr+itw6xPEH8NzF/GuQwicK/1v74k7w+kh9U++isv5l2CM6NMAIw28KPccaw5YQELak02j/S1iC9p2npMZ03Vcd0KVY9BSbRDVzv4Yfdku5uus2apmx4JmEIKyniR4KEwpxlz7n3jH+oQaDfptU/Vs5cvxnq5tVQQAv48pxJA40a6ja+uNGHStMNVze83Qh2I8w/7mfkGUY+xE0veOXwFv64XjM0Zk3plK2LTRll8w3yvJs8XyTPX/gZkDQajtHGiNJQWt+/mv8OqY4tj2HKEeoec29kCopp/A3XP1ydqWbuV7EGdy1ypfui6zAHN8GDUJWnd+uHCFXZ0KDWGYDhixNWQIOVHAURb7iMzKNc9ATiTkVB8fvCNQZfuurMOxYcMP7GmzqUa1P4OrMLVhHqOEzwE/4+0AAhUiMxjCBPOeDuW4u45vcHHk+xdveNziIwu8rpJz79iT39w+vd6w+rjbD5zVg2QbNVF56unwwLzDDg+BRNVD1UdCktpYCe2aWRIWlGJekFDEoCYeSp+EvV9nY32j2v766g4ie8pADfYisLuOMcolChQJ4hcHfF3eyqXxwbI4MDTAR28pTfGgcFajbyUZHLrpS54s67Am0svF3QPg96PFM8sIXDCepO3CLKNiatc0hr6tHhdK/5LECg72dWEL2hzEW+o3gfXPnEwx88D7T8wM0GOxL11Kd+LtT38eaf4kJN7ur3htAYMOHDX04Pzp77XuEL3Uty8E3fvH+7vZW07+mNPGEolC8Y8Rh9ZaTCLZVUxWV9kBKDqI4GNH2qpzSdPa6Ohd7q1cEIggc8Z3rgXRKkdvcHyvyG+i81hH1vrGoPE/tS121bMbQPlyv0k6x5js+Sq5LbLl/qIlotPXfTCFd92COEd/2bu1m37HSLK/rql9GfgJ0I8kdIfgHmdgcOYUEAP0u8t2x9kctd3+/PGlu18ysvEgi7aFTQD8dvkBUbsaCuBDd4VQdCdPyo3s41Q9eswpnY3TJVj6+Rn4ul8w9SQ+HEcNRz/6lr0E5iZcq9/pgLXfj+wg/WvIXbLUxtQZqHg4eA+iz8MrUyXawJuxI7uhLyAYZUSINgVnFqbVjDtRHJh6n77OLXu4lkdYrukpkSgP/Lq729+RcsZT7rTfrdLwWK23nKbgN64Y+59f78P8RXBMpz1px/2M+wOEthAamVUHNQ3Y/rR6KlMtcHwDv74hwb6ORxqv014JeukE4nQdA9a8bHgE5fiL7g+i8hZRpA4g5THDv6FirVZvMHWnai9V7SCniHwdJjb52VfrIwIHBgAYhrgccxFDN0c3QxRFh8TUgyYciLB/h/vIT9koCeKOxHWUbFxCHnHHvQIYpA6h9u6V5xqkt1LNnasgCtD/j5H3HZzZ5O6jU+DMC9/jevZKu03j4u28/z0ZN1v7Xp0Mah+9amt3x6G1obeMMUpcNbEazVAW0J6HrQsY8rR6kXyQsFifqFZ0Od3f+Bin1UHbH9RW53XD1I53zVG8WyghWvYnWb3Pt93EuhUqu+Na74aqUQN8Ygr5EVBpuHx3DPB3n3w54P2hFqhezanWdEM2jKVn0/3IeCGHd1rEhhFADwnzIerCCU1rIf+LLHOjZVO0v/eCpyXDQCdJ+X75DBLgRFhhb+yZrl798rbSaTYNMVPxMVGlRtUMrHNA7bvHN2REIylBrqBTfJwV+R+N0oAur7qsfptF0QVxk/pv3oFEvdlwjBMg8B6iiJEN+ttQgaJ/TDoA0/0cCn9+a55AekBXaCvznxSVcdUxuPHSCtK7y/uFetlVebn1/dymu51qK/Zak08CdVw1N2tWrNg+PCcV4h0yiBc4dUC+/QD7T1D5QQiarMC435pl9z9ewshKLOeepVWNVu26/tCzxCDEStIC3IDnBzgNdX7L0sikR8JLhr9ED9x4PCRIXiaSBswJtEjp39QK/dmtcDV/jAsZGoHz04KRr1jW/+A295uHfiHcX7iaxXb85tbhhsP9TOR9wKbXTpX0w3qbmU1j5In4LanHvJsAPBX0nvgP62ajzN1mDKAmontOUPlPwRlZpq8REtP6ryCz3q73qpuJs4Cy7lz7Ft0U22N3xwX1wrYt+cB9AUdP9If+5okaX4N+oD/+Dn/onPnrnXqdcifdG1MXbNHT2duuCZV6MNnXnawtUKf7VmB0sW6+zVB+gdvQT4vZeerJSAYlUx8l9JPob6HM05pkuGKvOxi/TStin6Kq56EPtrxUMSj6y29TAfm9q9XhKO99xkz1NNOmJfD/DfZSYkLgL5iXUKcwti7jCsocRxpFgM8JbQ9JW7se0Hrv+5WE1mL2Dbz1rjdWUugay8OUJrDQGv6RdTcAb7lyUEUyQsbz3n6qrncVsnjNCFacgkHWYNUBCMfgQHPMyX7j7lRLujpxMneTZcb8UDVR8Mdd25f+c0ql0muDq4iTP36J5rwFrMMgxD+33nhwu06skXHEc6bvHCmXy5X7zm317yX0FmoGFDhAe3vQe/+B0c8IWHyCrIZhn6DVsMbYXvFKYVfld4pvBcYceFkSur6Xx0MpEdLWstbZUfVDor51VmVxZWlla6K72VDUE3rA7WxiROFrqFT4T2oCM4OTgtmBJ0BWuCgWAw2M4QIwaHDo4YnDg4ZXD64NeDawdTBlMHNwzuHTw+6BmsGWyc3Ibz4q7gnuA+Ug5Tpis9yrPKS8qg8l9l56QjOTQ5IjkjuSS5tjEes2Ob2QJsLWz9HEc7znCc75jouNUx17HW0efod7zl+MAaUjVQtVAdUN1Rq1E/SEGSGo2aj1qMWo16jAaMVkSro03R1mh7tLtUD2oFdYW6Qb2hvtAEaA20kamQqY6pA+cJqUbcNG4Nt487JxWSSkmDpFHSJGmPdET6p6XT+th6ffQ+9IYFjbWDWOs9G0ijF4uDreUEezQoBmi7kOLCixaxxnmGVwdwNvnhLYrA9VO2R+zcP5iHiQBezk5668iAVMbERt+8IJeqT42JYD6B8/TVb9hzor7veWtibqQOwH/x7mP/p1sbhFQCdI+B/ow3G8vD/RGnia46CMfcWpUrK12CczJ5CWz+mX3JZQRoT/RVWrBWwsiUzgKFDFTtDpf7f5sXRXXpZtfvzoYBPBoJpVgu6K/MOm+0uBgFCQo4nlJs/tyXq3jPcdgh/YAPl1Ud9R/WMywOo3NzY//VW1C3J4bQgOpjHNmY9o9nkXo/18pkNBJizSqqw98qBdg3rt5GK6SXspWnq+RKoDlt1y5jHhSVwSvO7A+OFQ9FkDm1KZ88vjEIp7G9lP5udKQgLmJ/BEgOw6xgFXSNaLjhY885Ldh/C59XnRLZX9ucke8mrT6+/4tMUyFZR3lP2WaiULC4i4P0Jz/rwmTEhI3Vjv6Ant90oTKQSm7s5c/Yyg9pYbCmCZ35pypI1i7Xc8f0oKezHPU5hwAr80CH/139JVNa5G+R6k79reHhfS5K9NcjnGXCYoaLVBvuELRDh1UkUfVB417IoQRlKlWhk0poN5aKfkbbxz7LtEm7+QV2+g8F3Jqn99WqTZ62F5LWPX17YheH+HME6td0fcaajl6k/+GVT5QMNgcsT1CWr6sqXShkbXmKenKsft2O1wA/xrjGH/ZtZ5I7UAtgeIYbGw8QTOfcQ5GgAF3J/FPoDPB+QPUsJUDqDPodrWXuXSwbFR7CYTHAG4YdYtkpcbPXILWnmzFBve8l4PhEyltrHpN2OObM5ELNwHfV8FSsA3h7wz146Q9ppUT1KWm2RxvesYeSPgZLCi2rnQIGmzOJsKSkIFavIXvSarXv3uwT2/zDHgGaFdz37XNG8yPCM/Y45+6/4RdFcAwVPE+SATx5h+oFwDuQewyA/tIdbLqqL9w7TWaLxIAXKfva5rZ8lI+xvtlsNiYfTmcNVVWRIF7jC31IbHW4rhpKCFsrnqIVcfcsk0OvWEnACC65CGwq3D3Zzx32V8LHfuasiD6NtJS5WpE3PH1vNr2+wsopCx9drSYVSLsp+UqsKmjdg7Y8ovsePcW0z2McxsxPMH3KSYtHCeoI3R9m7APEDoD9xiGCEYhTGoJAjOAZacfgQzWE01LOQDl1J8PuRCRREopGFKOY23Vac07iPWYRd+Bld0w3EO7Ap4Gyh+DFRHdZn1E+O2NPnHZ9bndgccUAb4zzxa6XuFxwFGgbsP4r/L7p97yXRhIPmAvg3672a6yKFUP/xQ7A/RcaQO4QUgHNoZDVKSvn2kB5CYczT7yIBJYMrRl9d89SZMBl6Vg6HX93J+OZvqKEFYHQgxb8gT74qvnI3tW0/RT9w8+GIeQsZR9YcYEXUVnNxnnahsYVSbVXO5VZJYjoHrX6j/jEh335wXc+fP+rm21f4sBuX9pQKHItcdVvd4npWNQa5RPnJiyujURZEHUltMeptI5xovkf+PKgX/49Dnj/e1WD0ZRVc6JFxJTYOCqQVm2jDQ8kFJh8wWhc9iBt49NbtBoHhSOc14gVzmiFqYXrDwf9GpW9YcsPPgS2hGHdqXBwQ9VVuL4wXXv3NgK1MWN3fUdi+c7JYMTobzYj+t5Ae6O75aEj4adAl756HodXUr14Zu/Fno6UeXBPa44/hDpiUeGHwH5Gdhm6BS1wQkkIcXS9ncVKx1oW7g9MT+teHrYndrTi1XZc+HMuN9G8hhoLVTWyhCBeKY8pEpLqXeg0Za1IKy9dJukKyeaF8nmuYh4xmMsUrgRA2DcK6JOm3Ln5f4u1JQAKT9D7QvRPuV3C3ES0J7qwGcWLn2DOZ0LNB+QWsD+/HULBgB1Uidt82nbE2fUn6dkzOyfaPjZ2ExgGNgq3wqnaZZqlaeFxtcC2CV+tUrFgrZlPywcNFToQqsbosrdWO/fWkZAIOF2McK5t5fIjOtFJi6Tkp7fPWP+B3dpqG6qjwPb9m916+u5BvQ63+oFH6l4a5g8L1ys8rvRScgVL7z3FtTp5LHl/zZ99urX1UY9B6Y+44cxddN8qnLfwmXCnH3efNS9NxgZRGL6paZtlH2YR8XUGck54wTrJ2d/eJnMAJVcw+3+9N4O/2LElZ1jzG/0bcJ4DvOk2oq/pkSvP/B+nY7drIHFG1+sCUpxGzF2PoQ9gwICDQoAR1yCKQ9+gHhnWXeoD8PpX1J6440lvW9gP1E/MlE5JOYZdtmeBmpDHs2tSVvuJGjPtZ4Jomwcjvs5RsoFzYlQUb8Q9+6GpyCXsEZ7upJvclAnzrwz64o9AKQ/c4Dv2StEe1rSAO3vuHrQbVZcySPs10RXUFBSe4lWQioOtCP957vFYuyN7I6XVUd3dN1fXOg6gldRP0Up4/z7o9qCm17ThqOY9rpl7egORe4aoB6w/qZy454f989aOnGOJkavDNh44Q0zUw4/5PIc1a469huBXWHE2hmm1rnP8gFS6Pz9j1+0ySsF6IgsuJgpVKK5oECerF2jqn2mKJS/CWOGnp1iBaoD5iCqsdelntxQd68DT0MKB3AnrQ9P5dt4Mp4nHcWdlEm1nHV3+kDvCzQd98tQFSPvR/unckM31iZ29ZS2gdkFdhasSu3ridsJ5G1tPOPOJC4neP4Rza49UTKYkHCHjGF5LdiJf5jRYw75ivQ72I9jKj6kK3Zzj2hhFHUn7nW2tfTpNQbjN7Z1dGk1tR6d17DyTzcVuLrzn7NscxA5glmKX0VqGMWbJ4LvJmolmt2K84+UefgQ2fpkjvDZKZO0r6TtqJUIRFnvxBhssfEt4+4957Sl+n1bFJrfxtYGQ8xxbzCsTCZyeKCCJwn3sCNaCgBrR9+gLJ0+B3nhMNHLi1leGG/WTg9iYVEDWYwlIs/dVQMU1LYZfYN+e6u/nPGO7zTntOT1vbM+TcAMcUvpCeND4oxPlKdfaxdsNG7wp4LapJ2duonuA4W9MLyO3Mopbklofm0fwsTWFJ3TEObWmEhKCGxIgmBbQBDB+gPwGGBzaSScCPvVH/ITuggufeoob+loCbGvT3bcMGDPRrm+gCrKrrPXpYxVhTSa+59V8gDSA/w5pGIy6zFYOr0EBMjqcEIIIf9sLjwPIuJlMTsHZbIMA51BKZ8UQECgVJjWIvjO8fWXS7zrMUcUUVOYdTT0KIWcCfPcIIydA+wnsHli5RzUU3Vh0n2I7FKYfiDUp9P+aYsDaG7TV7V67ob1ReCSx6aT+4c8+X3+vUiAHyl8jlIWdaK4/cO+7Vna9fdb9WeCHRlwydWZi8xkuBXju6Gv74hU4X92LGEoFXoilAA1EiKDsI+Bj1JdSBaWSUVGK0oKsc9kaUO6v6k9Nd3XNwvYFuR6mXrcpi2Qf82xvmP4pNYW4EhabDTFoVA5StTrE9037f031bpwnHHv1tZI0J6K/BzJ/grwJG9CLB172T9xUcxHa/uMeabo03yC/5iHy/we733BATerI4qkuIE2ilrggbm7AvwbP+OpiTL1xXc6cb+6dWHku/NnCPy2dRIb12rStuvEDBE9AiWwb53onzJzV1onXw/VSvPID3z/qMWgvhnrzMRfO3SB3hQsfw2u29I+01lP6hMcVHDShWslQnKakeuXs7bbp6etrmXgWqN7US+JemDVlscrraz9gC+irPCHmAwD64n4PHySIQZggWN4wgLbPjzkXisbGqyxdybnmHVeLpTKXylJqgk09OJZKdcUDv332eU9IAPQEoP0GEwkqDxMFNyolcBZsrAPzutOaV9+K03VMtAps0uA9/1SPOyoHsYTLpBTIe0wREu4C1APUPHaLI9b1TQ8d+y6B9SLcCsqPADnpPnrUTvie0/7UrYjowzdVKrvx4KM/4iRgfeG+cZvtHmFJ590hKqJZHYS5AuaN6IMH/3aPXXW29+s+rrdA8iDFz4KWsbs8kp6CatvX2rFt3YELpB6guVjLnjXrmwD/ZvZlStMHOwBq41oNbv3YHAApjMR15aN9/4AlB5R8jirhGOeELYZ6BfTpDVfbtlYTWK+BdqJ6gK4O2Vls07x6jFRbxzpX6/OnCYd4RKjQ2Y1Osx7P2KlgadaBHLOoDyqXr3A8oyOgo0fVuqs0FOX7ARkfp+NkDEx2vTRI2enG5j7kO7Sel2E90Vpv65WXGPHgemifZTqHrye2S+Q6sW8OJ/yl8Q+5b2PvHJYH3OfCJ/+sxbu8UZx3YyYghCGiMwbj2CUywpZAOGD2KviZobfu2chlgirX93LPqtRcuKPXJ9hkcDe9kFo82OU0sxnVswpXlojW7mG6j+aHdtoJkVcY/oSnvzbxMNHVagTD/NdNqxYx8rSxix27yrFfn3hxsPs88dIP/MI/+M9vnlQ4Dnh/L32Y0hdsFe3+Squ469TxlPw7VXnCxATMz2Jp5Q6F1swH4rXP74W/uO6zWNMK57z0YK8dCzKAKefgnjWfSfpmAVtnNBlyprCP4FJwfSAWoDDAegH8N0rIU1pCuaKhc8LIP55C+hJpc8CVP+p4oG1BynzmC1h9NV/V3cHwl0TPLH3Ha8FjvRTw2Uf10skaX3Nx012DmuVabIBY57JguluS5PcpD/zERnxhOgF5/ysn2WIY/1br756jy2W06BPO/1jaYdbvueBK69VEvIZ8U704vxwI9QjUh8mN0RdW7wLm7Afu+PfNPezvQANSD0TbHu52pp+T4RBmahBGQ5kcSVJuSxcA1a8KMbinfFMp6fbKXHOcUMXNqvU706P7vcmsVCZQ7ghugprfdLPp4x87g9D626SGTezzHmKqz4ADX9GllFfzNdLOMAussMVHfp+NZfPE/uXQcnw5sVxYri8vl1fL64084sgrjgLiKGjGQvV8w5LeLqQMZ7vf/1k1aD5h7wR4eDJ+iqWQXLXxCUgB1osS81OEUYMweDqFZdA1uFpwvUYZbrZgYjuxemi15X3/f4XLVngjAQ14qkxGq9xYVgAnwGpBP+k0YbSaW2QWu2biFz/mJwoXXvjYyQ4HCS7R5PKmLmGwrtraRX4EVw81FHQr+MLgae/aimBHg0X7VKDjI9y+hNvXzMt3Z48FoQG0vQy1fWsD1iho/d+MFV42DBqGmdtzSmFxoa/wWuHNyrcrXZVHg2Ng9TCLcLkwTxgUWoOvB6ODq4NZwaKgYzBv0DV4dHITrpeynzJZuVXpVRrmEI5PfpGc29idLZHtANtjttmOWY4ljlWOTY6XLAvVQdVFpaPWo7KO1G+0spQX6gBNh9aTHr3XS74eFM5ZnC/GAy9S8ppI6hf0S3ClMxVcaEtU15asStd+T5Lt8yydiVAVSJwgA91LI+18evc+pEPPPSseHuCkO9w38M4NvnnC8zmdYPBZVvoRHURXj6wBXQ66YnSNF4oBvlyFfje052T1JWweeb+wLRbslZRsJ3XX+JpO2togNSn1rf/UBqyFLHOZ3D7BJhfpQKmx5iS0/sSmnqnMATKKMuF9NejsP9Wkub7SVfBCSeEENbTpPTetoG5+0prCOU/YunB/5Z//85T7Ib6GqnfOcuJDr/4TATh2CN0UdJ/mumVo+XE93PvvEuDxXCFnpWDNhK9fdSzQ7mENw9eya0NbplMopNz2w6xPUD3T6hd4YRES8TM1/+HnvFWDUCytQdQeJg5QFQrmNWKeGVHJQ5WZNA3ApT+sAqiPwb4RyjxV+0LV2DmcoH3kbYqqJLC3gG1P8Jjr5otjs63wJeGk8IIVw/iXH7p3n3OXFAIz2Et6G95wZFmmWh+q06w1GmEk81+zyz9j62gcF8x56FgZclOvZMHqkL2u6zWOPU6QTuk7Jgsfg6uGB2/a8WgtGUTcVfg81l28i3gNFv7Nc388wOkAxuew6tSH81zA1gR6EnEk4nDiyo0cVNf85hoyb3Mxle6S02yopOeg1YwF+p9FsVE1edCmj+ptQ+fJ5Sj1mptMzoby4Ak+rAMadMzL8OpJWpMFK2WoFMTogqwWsSqd6EhAHYLeDup/VTvQ5c1Vq61T1ltxo9faYGDGMVzUYMQ0Cqk0ur2xY49odxw9Qedq1cUxpQNIq+TACDZYXPCyte0MWZDsfGDtH61X5R3mDUj1EVRRXiW/vcT2KYbFz4gjQOM0XDiMjvX1Vp83Hd9fdvHLYoDly0g/IPtMqMULNWVdcgIBLP512JbsKkBY47wOYayU6DMXVtPwXZjExK+Btz/Q8gNfv5IPMVrCecrXLmMMt+aQB8kdq0JbIxfKeUboAkGDD2vATyJysg8F+Xbwbdfq4X4gusXjepqxXlsbBXYP8UhdkS49OCuu4Ef9aea1oV72rB04w7Dbe+D0DWnHXwyGXd15mMWVTdFVDFwQ99HUnXFdzNwkc7uZu81d4MKhwP5h6damh9R8mtKLUR0HTnt47FN0VkFmz5R8u1E7tpDYTah9hF2o6OBy4lqB9p59JYJY10dlH/zsgbN84Iofdc7U+aZ+/pijIfsfLv0bDkNAYQJwxtfN/fUNM2iJDX7izM+0vcjvgboxObHpjosGbgWXnST9UCg1zlZAGg/DeMjRIEYborcDMyOmgJ8orww/0OqHdUuo8XOdPFnv01aliybzIYn3ltFo0sWRSu6auP+DY4FUA9cE1A/04oHfG7zjI76B9iHaI7TiqdurfjbE51W/ofqm6lGpx6Xed8S/p0dgxYsEuzd1RXHRddG/k7soXZQtKlb5VlOri1VdZao+Td5QyHuhHjWhSWg7dDs1Y5XUspGqUg1TSZMFpxxdLeOph7ONFwXwLnmbfMQzh1F/zG1XSBTMUsFepTEUiTj3nETZHHsw4gizGukB13vX7Y/h4fveLPomrsHkIYp6yZ2tAzsF9v09e+CEnGC8ACCoGgjoWyQiRWjJN7GK08LAy8E2m9WyN/MBWuH1fv/l3J/Ov9r3u9iDYBVgf5Jw8o8z6QgnUl9SrWpjUr3Mtd0R3fhknSSvaLMG8lkrJka60Qbfysh6hrAXouhFyt5i2y1+zVVyVx9u0kTl0f57UBKQfRo06an64NZC1dBMM+bqkisIW6n4vik1zacDmFhSwfFhMmto9kqV1v4aOS/s5YD/IGq0az2cm/K60u4iAHXRVUrpYrinrC19+rputNyVxif+E/TuOdd4oi5BpZmdOKb3iW2l7gKvdQUe4Z15et+ONJfYVYV/gOpA2DM88JzAFj/QkR/Vz4UWPVkZQisLgIDPgp70U3GYXeWxaXAl3IIQZ2V6FunoUc/W3GbuimzFCjdceP1zLReu+8byN4V064sJlm+ubvCXt1YiGnFCsHBNxLX7w8pKHE9Z3vJ0fRujmbYy9JYpH7o46NifaItH+MVA3qKNoJkkWCS4GnSfkxZrJcMRD2otD8ETMKUSH5mPNnDxdmmsfFeRSSqdNlsiMmw5bSsOkXWYis+5SFJJY01A50IfzlVQuyi2cLB4ahDLZ4RElM8Grn2KwlR35uqZD559h87Q5DOjmDSxdm+E/pdcMnFf4RUBz/sD137gRR9xA6bVZ19bwEJWZ2S7AqoUNEyo1lfVgm0QinE6qeQ49xes+8ccf6XvGF3HWJ3ztMd9r+460cexXjzQ05p6s20zyljWCXjNc+07Z/dGtMiuy9SvhLl2t1YSyK7+1W0n+ZvEhRO1CF544Mu3Fv7UFTB2vMl9kl6EdomxnAP1ELo+1XHWzrSmhJIgIEHJnECYAXCPUumwFsmt8EfC8VH52+6dk/QzvOtgWfBagI3Fb024Bvn0LdjBP0cHUdwcSzqZJCD71n1fIH82vfusVHjrg/WD1QZPN+83VvCIcLwFgxDMWzjHBa5LdtgMkUZ7GGe63a9Dc7gXHvbP76kEcH9A23CghezrI3j7IP+K1DC4eWsP+KQL2G/n7OCYWR1rj/X33Xngxlutu67+FdyAyID1M9JibGCMr9P9R5okVGTQ7g9U6t3aa8MFBNk11ejcatDipi0f1ugHZXygj7/pe/f+svmybx7A0FzzbUGnJCAGUAjsUqalmA8K2C8C9BOl+zFZkSg63Zuph3qsqciqz/Dm9h2O2K6HNR3sQ2wf5dqCr7uhtZfWEczcXHXpn6HWKc429XnTncilW/ZIoejB3B/2btBUDo8Ayo90PtaTiRZG0XDyvMpqVW3RY0cPtPfANn5cD7063uGJf/4n8gwAPYs2IPexyN5xrhXBPTn3fcM/lb7q5kPUUpKxxSRUMhQgSQVOAQRUEcy/gi2TTW9pGBx4qaOBvIrlS8fKTCj6MZNfmPvT5z97j9222xAg43RwzRONetAAsIP/oHNfFQ7FKTYcrxxk35ga2dM+LA7gRZ+SE6mXsKVuN9mH/BBuQbB3h+ivVGXPXHOmpc+5wRWPnkgkTYGZ9dJCMoCuFO7FP/CZP3DHBzf55mLbZn+S+oN1vqa9odp6TNGw9S5tufld9e59hb4PM/fA2QdXX1HYLnFjB09IXHfwjJ58fSXDi0RlcdxTBoQcC2ujb/GzN5NB8HdeV4XVQ7JCcTH/a8K/6f5LfAw09qh/6FzIkU+AMgR2zQu//BRnb/JTNt918/5kbRCkrMifye6U+E/hiyec/mS/w+0tymM/RHaw8rOrabzawVV3bBMHiwBZJ9rhkdZCq1BrawFShR9hP0dmybmJWO4ZQeFIwJkLRwP7c8N/e61UDnsCAW96BOmZp3oNX1v2DbPqdeKeSKdBvx74lwt3+u77nP4c+bpj/yyIDdbgB7UD+1HTImztTW2OrJfjbu2qN4AeMPuVWBxc6djpiEyQV6nexoQh8APMLY5XKPjizLgXQe8E737ERaf+NXN1UiO0rDM/OfdYfBPxfYtXJ/fzYc5/4Q14fQxPNt2W0DpyC6L6Dz70w3sDbFuIStN1Zl29NUdP3+l11yiz/6zlO3eAw566G+H70mPvJIUB7Xd4yQf6MujED3T1QBP/VzNp7AhSvkxNiLvlR7vwjx64RT/qJ3PHBOtKiOcmByCRoLZ9f7V6CW/OQH9SjKIwecM9TuIjJmC5h8E7wF0nI4ydAkkD35IMZLQm9VUQ9YQPHybQcT2YHxhDnf0CSoORcFLLsVojIxkGAalnajaDW1I+tKyDej5ozDP11nUkXP2wlVvoq1KFSrUz1dNU75omEPcVbe+66Th177DtS7Z9y7ayXfu9SLcBoH0Bbf7MtUuoOcOOF+lXof0fVamF4kIJKrdzv7EsH8EX4x8nY9d5dXZB+X6O116hUA8R9Sfq96qNPcIeEH+A9FW+OJcZ8I3UpW6s+djvIn0Aqksb6TkBGBgcwvVJ3dy1QslnDvkj2bODvzjm3zo354nNtLb032Eegn+e44epjUwxityomPohgrC5pOYFXIppTagfGx6FNdQ3FzM3kV3/2OVxz/6Br1z1tK7dkZwQWrBq5/6e2yA1STG/thwpwXiK6RSvJaN1OxYJIVBxAZxPFNdjTHFQU1IuuLpofwgNDpr/c7YYILtzQs909ujpe7K9MU76Zyga0nSrk++xSbKTwrGud23nXrlwSJOQZU40TKg1+3KiGZs5R+51Ud2Jr16Ga7NSrnv3H1LtRJ+B7QrTouNaHFmbKRvrpja+Gi6adEEoCuMIfcyOCVXOZji1nPJn5LZwfeFeAp3+wIVe96Iw3zScdbM7+VoPGjHVtv1rTX+GCyphc+KPUXCM2pNZKtkrgb0kFvw0DKYLiwMcPoUG8QbqudOQrd5TsIj1x8xPZx6R+0/dnxYe4DUHWPdUL2JLDC/uLBr/H1FLj45FugmKiYn69Qu/8lHvjzUejoXYRQtE7WEkzm3dIDUgCzB+GSEFLQGlIPwt6zFRXqpTCXRE7h9WtRM3QbbuA4eCqHs/c3/Nu465/s1uz2knpCWgL7DqkPrkrln4hZNdZpMn2vy9P4sW6HkMVJBagM2+ptdyxQbSiEJFFhrRR5cDVb/pSofzYB99UwePolAERUFd7TbHsc4A4wWoF+D+hkbBD0JtOewNwpakITM1ObWRhiLCjWG8OJiOUbDKYHVB1iOoaFClqYIgTrM0vZNJYatZV69JeujoCyefWxoHaE0UH0T9fByrCeueeDjorwfne+G737wz9v2IcRSQBFQ+jPwqbNHwOKHhy0C4RkjbA375Ayf/E+855mewkoDXHKvWwp/35g2y7ISg+YrSFP0picdoPpmpLvDSdvEIP+/FXXMJndbiItri2giThF9/byG8Cida/xm994Y9Z9oTrIusXQRKAmimBGXI6dgZfDLJRJYdBRWSwthw40NrYOglKOvQJhg6GSxYkL4kcLAknP9qpESFzRkp7xiG7IJQzdbe41j7SG00HSavn3cPE7ax76aM3KZHzl1+7B0Pu5PqKa5VvtbsT7O+yB+DWr1jCXB11lfnLTvjrhWd1AulIYsCXX2yn/GtPKZXjuuKZz9mSo/VjsyMQtoBmuC+rvX1saMvWbzVlIYXiQ8Hu2/nmns0duz3hTO97maGuy39tB8bTjUPbG1A11X17uyt+iJ2aAFVR3TCFR+LYw8kV4RlCNKW8xzbAtW/tX8d+1DtxBkdXN9pOt8kTRC6q2oruu6ZhuT6Fd/eY/qy0B+cC72qlawuq575RFczeED8MxhQb8oga+Buw8EP67BwF0MLiwnwJxD+FSYMS5y5DKo41TAUDY4X/FyCLYN61v2HKASzUMj+gKujeKO6Qiktg15HWoe7QTecwpLvNIUoDnlYgUSh6Vas89SyP0wkIBklPW5hjOgJ9uZXfdzZ15t+3CntQZSfzBJjbyLvAU26tZAXrJ+dd3rrX7PzdCsq4b3TMyadX1n/I8cDqVTwpV2rk7C26b+xXnpIdzfbz3Q2OwKgVsJtirWrgZ8UC37sI4TXZeoCqmC4bYeQHeh8CNhgzt2N2+GqQnspsuvta9d9hINCMyATO8uj7yydDkFZ30nhIFED3fQT35tA3ZkFvtBuCY1OVfJMQ2aaudALkTWGsFvkfiZXeal1J+vQKVpC2UXa7tG2NooeuWkzddfZdodtoP3z92brFQN8WLlIt8HyNzo55i1Aw6UGwQd2/0BIQWkgA4CjGwgmUBy5E+jadT/JoptOm+7Wqe7LyHVi/22t113NgHXVkHcJTYfOkd6xOvs9206QfjL+NA99hk63C676Ntqnmr8nignZDXbyM3wcjBDQqCpoEVhsKL2v6ZxO0P+C0zcuZnxdItkkeEnYvuSQtb6QKwZzD+D5rB+EGs/0WWenOxo+UTa0qw/a/Wc2H2Ld8E5xSdFPbwp53ZcvUGYwkcQcAr+1EIpg+AXzbzQepfsoQ0dZmfF7SdSSikvzm8mRV/dsBLvdyxEfGpq31mTVWafdL5D5ac0I0FNCN7IayJq4mmeoaU//hVdH3KrTNtCvBgO/qvk+YPl9qQWsM30h23RxtC+N2FO7adJXmfH+8hpc/Zvd0Z91pnPwxTKJO0xweQ0te1ko1eEf+Udr56FVFZd9APVTsE48W5jVNnBgQ+HmESR0DFMZ/jITE9KCsXpCxge0/cDjNwILoOD+LmlHcc6G0UftAzbbURJKXcX13Xjsbsy+4cs5oEUnVu5LyhWrON45sM0HGvT3uiL4fdP0zoYPnF9nFCa0gLSJo5djQQAYpAHmNUaSbhao6sfcHqst1p5wZ9++oCmzc/5781i/Fkc3+QnvEaUB+I4CA1UGgV9jGmOtsaCjY/Ce4LHkzEtwuqMnEekSG7FFceCR/Fj2ihOr9RSbS1ja4fRYr7nqtxlcloRhKRc4t0Fg+InCQ3vm3ZgCZP2r5l543hH/RTQdayGlimb2o5JWT1dw0ZbGm6adP+aWxcYgOFx9HalBrFNndfVhvgB2KfaoynC0TFrw4ilk7VWVnClfrgGsi1rT60Kzrulj7v3PWDG0Px18VH/Aj6HI1KmNeI2qqMSQhg1mhbavRtd/L9CtkpozUAuePv9LmpIhlMD+IxRVdHq9I6qWDJKb4Ni37m6m7UtMewGKdGeD58Xav01rHuwo4IrgVoHKfeCCD1zigWd+dRmmt7HmoPWfOyvbB/teEG7mVHe9tykYEYWuj6FcQJ+guzIYJwFmJ7iYsgS09oo6K7qt6N5bnRe7hWi06z8ScI01l1w4c5PfofWzmzszNIvTVvS1gdzCJCHOwH5geiD0XVYEAzmLfKq691/CvqF2imZWm131U7gqnTkvKR9p4tzzwz218P2av6H1H28tk2YGtMUx+slrtVU8gLbjIRU4VXnNHkfkBeDtjBgZR7FkJpVLI2+OvpaRZmy0RDiGq02Fn8C5sXwCdk8Qh5MJGrh4sRFbH2D4gPgHuLhA8QGtB/QemH/g21M0M+Q1zjLALx7oiwe3jnCc6QLwtL+CM+AONAZuBcxPMJ6QMDBmoHCgdKK3IlFxW2FJRCWcDR4Gf8dwhyKHModvHao9cTxLP1RHbCidSUi6afStQCVjkQs1Ct+2MHfu2SVu31q7yL8rI8rCUU950DvfPFZ3R91fG96IV2jhaDjRbdj1inw6zCs5pUAkxOJEMPVMV4SO/znbm7JekfPUt+WHKAhnmfCL8MGEyZuOouQ6voTCJs8SLqOgAgJ1iXHBUylxjJQIaDUGfXxNM7DFhxY3O6KvB2jrICR48BO+vN68joYd6SCxWAWPGg9+6gmvYr0z7r47iMLDaB/zCQ7LRQQ7+rTpLiqmHFScWgRmBdgvDoD/a0ftC1JvLP9QjLPaOl1SqMU0r9G/skAduOY//Y3puFCiZ7v5F76UAZWM9lDz9dzXDE80vPm481x47pOdsfT+yM6zdPnN/pWtaJDkuCDJC+NeZoimMyxC1gAwKpWMcr6UjCJTshFMFEKk5BvcLKkCFge4p5GWB1zogbs+uPar/hhtb6hrb92ExPMDHrd7YxFGginMBW4GJ53gziDusO+Antk+cUgHnuhgur73QCAriAR8/n1EolYAh2NkwkmSyMsCpdB+7nuBpGneW0NsyUMa0eihM4RfQeotmsZca+kEEHUg1KDJzUiFg4z/L/Dcy+Dto7J9Qr4n8PeN8n2LfP9B3v/lvTd1lkeiVrt8mLEDz2AyFBYbRN0WdBmtwplnsdhN1ppndMYDp4/9VLXWf9mOATtLoZO8SbH+hnf6ESUE8fqQr7lBChas0vVdQWoH+ne1Nzf8WvecQeou63KrRsw9aW6qU+aLgX0iTJwlzNpxiQeCfgFNCW751EeRZnUvGlGOlSEc1Vu/WvSZpiBOAicu9WDfCPs8rMcg+QhvwGYfIITRHuUoIz+UzLMcqNYujfkd/PwRF2L6Hm9o4fcMj13zLVr/8igHC3ffaU10Q+qm1ncsAC1sb4oBzkyGXIbWDOM5NA3Qj/m2RM3EqcYwiq6oQOGow4MDKDmWuRVBc6C2Bfst4eLBjXNf6lw3WG9NrgMMTgABWjG0EmjnhT4GW/oDrfuI1t78liDJ+MSHAv5rx/ad5PPI/rEWfEQDgi4wKQgphDhAFagv0FyA4ACeo5CqUEVpLQX9CMg1z1z4uwoCODn2MLA1Q9nGIAp3oelBeU/VWlMrTf3mmozfN8RGY5uL70dyBbg1Juw2ucQgQV1LPXuyjpysF8/dnu61hSLoB1SqHj1jmZ/uOuI1Ljo5jTjAZaJiePM+ovPo6mY6ii5rpqc05ZxrMH7DdWW6UA12a/DFhhO1PYp2RVVxyUqZ7RpKeUubdXBiHQZa48yT8L1eerb3/CqyTt8TxvSzUYIHt+AajK9x7u0n+0eb10f1VE5HQIxitBNsHwCBEIbJATZAV4HNAeQDVR9hDbWDukW9UtFWaQ5hV8UzxTeloYT7lCNKfIHY3ugK4gbXBf8O7gXpgmxBscJPMbW4WNQVpsWnwTsQci/oYRJYB7YDtwPNiRlToqWRolIMK5LEvsHiyOFqTOo68ShzCz5WR+VSi9SmdyP6nSCgfnuDEzUHS4iV/upshR4sEtBJPR5Xb81f6Z6DV7n0RDfnl+0nuOxE9/qZxl3yQ4ZHL9MssPlge0P0Ltcar1n6OLY3jgZe2/FHVOO1T1bsi5X7Ev29BHixT7FRBbVND/MS66KzOdEdRoB/IoQlJB1m8DFcvcQuKnTGK1TJcUiwolgpWyH9MfhfsFzDhp0f9LnOlN6MdoIbFRwXY+dm+4DofOkZNt/ldpACu+zmSG01H8KbWfoaW7d5Wc0MA6kcsFqxf5u4MqoKbiloTqgzhNP3JPISUIWp5xz1G6ZPcFng2tCgblf1Jbphug6e1aft9Z0gdnYZtTdA5Np/KgNECeoP8ECQ2aWH0J3OkiC109405R28w76NtZil74TQBOo2cTv2xepsKl3H3gh677qne+yJwiPw7pwap+5CcOFnX7mNjvJguzHuAZcc5DYTv4X0D9IzwgtAWaaOCxZsdJPjFVv9B/DCkkIgxGiG6CwlSkNjDg8WkwFyQeFx9nbLhZluyB+z197Sx1ryqDrsaMgBrBuF/Sk/XBpHQJyFmhBt1rT7QQ6HY91n7HkPu+8Tj3xzH99YvGAC0DnON6ElIZqB24hMlQqV5NbLplTKSjRrE9um8FkyCyMQZmOPAF1liUMRn41YmXeCBFgkSGs3R+eefQkTys6uRsu+Kji05EEbgOwvZN1VzWZZZyZyTmvmc2zmWK3RxYakD01t4lo+pLjA4+D7O2YEefzGLm/TUxwmQMqLvPEZ2/oJdzAsWEkIvY918iF/MTgcWrjerJQ8UUyPIaTRWEZ/FFigVUy1M1ydPbv2VFg0bYyjm8M81fQIm5sS601qJId1AiG3/H0JFoVDwesAsS8g9kDKR5DGyK1dW0gqElSc/kIjsGW/Yw8BbXjETVN3SD2pY2VByx7ygI192qxKApVe67avlGPAjUX2M1jLH9rBY55nsUGgPM95B6DS4KKhqE9+zBkCOzZYsQjVvGqiH7ls7GMReyzxKYFekFxg7pbwV+e3u+tCpYCdlFU3MKE3BmwQewLYV3zuds7pSVP+fnmFebUi3gZ5fsDlli6yY93oXn+spSd29QKikiOAutBaPLJMuU5TNtWvtkeIPnKF4BG5i8z9wnFPY7NnU8GrLok1KWw+cE4OxdJ2hg9v9ttb81xx+BB/EMiAYssD+uTwUu+YLPwlDwdVD/7zuY+eYxebpJ9YT9vY/YnH9WxnmM/1WgVD29l36ITTsY49a54aqqUp+7Zuf5rDMbjOWCIHpSVlHetc1QWn+S9Ws4nGv7P/rdryE+b+t5KA+njieaDyj/qa7kH46rcu8prPEWwuOo3USmjPA336VysFj3z75sIyXopke4tiagEhHBwBcBR8OUD7GsFd+lv7+U5h6XuyVydAmqHscrojU1WF/8ybuAA/a72q2m26s8Z73jkC2Ksnepm+hjMgR+Rg8VL407dvILxhY702VY1bOn5DmRS9B2f/bFvFTtudDYhVCO1Dz24KdjnckRDPRctGWxDudoR+tvkyt6cs/CetvT5cfmMDnM5d5gaWFExtKCLZDU4An6i6g60/UP2DBl7oq6/ugNtrquqe+QzaVaLbhq90r4uP8mD9/Hf+Kt5FAGissK4XGHkBuW8wZWM/qh2x95W1nmc4WNeOO1u5ovkIjBervyfOhes6+OvzuQoC9U61+HRrKjkGSL0PXPILH/yIs2UelTseeO+X7m16SRTn5dvG1tPkZQjWINxnWxsu7ApiOKZ6Ct0An6N86xRSog+Ac4xIg/5TIHZCz8aFG2+SZRCoXn0NRhCAjmX0Ex4FMydIPZkNbm5RHHswOCdKRghxYRgLvSbU60HZXtXJUF3Klbu11wo9udRQto1vrog672tGv/Dpt3AlATNHDAM2gD8H/L5A/yt5ZbChrghiWM9LxHAC2akAWHL4Z+Scgyce93udm+ilrVOpB+erb9RWX1irNQEf1gWoPQJjlD8ZQggZFGEM9Tk+eAF44jo8cTxzqBsUwVkZBJloEhQgS4pMcVUe+MAPsvr69pykVUF6JaBzup5YaBBhr3NvR3SnNx2AkcF77+GdteZXWJmQ8DBf4c9eoUBf0Fm61Va78QBl97Zy7PkM9Q7SSdnRiA4/VSm6aik0vj+B5woTX5nc4dtKPYNnSfUH9RYC+Ic6atpzVqvcurdVG3yW9Qdb/Il++ku7+mpVDe1SpkN5l1bt3BBUNdRl0Jw/4oJMvdCOh3lJmCcW7lD475qb+1pFwWS0hrr/8pj/scfB/c9uYLtg4Z+/OgvpaRabXjPugLUUyiqsVWQnqhw04UB1v6oU1k549sOYd4htQALl7kmAWKUouhR6bBeNI0XsCcLdfa4s/THCZ+XrOhGklqpigvQtI4kNwIqRF8Jexg8DT4yzbzAxJxHGBWt+gfmrhHa543JiBOIuUK3OV26CqJZ+iwrE4xPmetW5H7hj8FODG3/zplDXn3njUX+Ru7vuK4V/Izoc7tiQnXbc+477ZumKpSuVbmL6num6S3co3b3mPsQGETtEqU6Tp9l8IIo/cXMDSTPcPCc2p/DaX3IbB3fqmat5TanLagw29K9WqC5K2Mgn4N97GwzDfrFIVqgoBvVgFt++0RF8MmIBcpfVA96CQ/o+VmI4oupoY5CtDNaFB9UJ+i5o5De1RfePrgG5ylzoP0Mf1VRUshJ68xme81fulWNWe+bPvNcBanbuGDDXWNeNQuvCPav0EVk2wGj+Zn+B+9i/pZqJ21hVCSHpoaFE4Jtp6E6h/wq1WdM44op2NBxL+7FWf1jnHzRQVXVmn2H7AttAXW3wOxumT0qtjqsvrFVZX49DaMKsYb1gHw4Y/gC676SEsWtAmBl9X3qwGmfZ9mtdGknt4ZU1VIcahXQAbu8HXh7i3DO/jJYQWry7ENiNVZmgOp991SZOQetnekJf64jYBZQDwE+UiQsGPsqbWPiLYjIw8ICOfFS55tpD3idcqz3SJ0i9QEv/QF88uM6r3nFUXdAybV91Qye6rCxC2bLgNJ4x56K957HwkdtZ2/EMF5qeXEEOQD9RLJ9hq1FThlRntHlyK9u2xdDjCOmAc4w4wipHxKCtMuyZCLDx1R/R1CsRinMJWmzY7kToTR6LA4XzYv10Y0O31iVSDbhyiepsViXLDaW4n+GkNzpKcj+4VXD5gzvee7tIexIsKRKvypmeD9W6Yzp0XIfC9bhUW1MnoyoUJGmUH/2DffWQoTPcveLJwgdA/7GUw1Faw+EiYeSz7paVD8I0cPGN6lAY2rfxj1BXMZ/PtsBIy0+Uh9M6H2piNSWS1j732FWw0oN6dZcBWvOxWm52/Bv9OEHjToPvp/oQzaBnhNpc6NZVbeRamWoT7VsXoY3fqwBs634ujr5RFRvEazm6d3WNM/WhTcu5l+TjguRmmuY+a6mItSf6A1vhuXIsdOBcFSQnY6oOo68SrMJcZWrK1g5vNsW+y3eoa43ddDZyo0eCOABUn5JQhh7WIk6rYO9vKfFN2/ETAHjgZoqXGhqmOOP0cewZcMvhig7OAKQN7E7uGQNca9DfV7091D9iZck9EGvlcb+3dBdi77u5MakbvJVVWi5zo1WLib0EatXD/v3B74FOHrjlNT+Fliv3FN0vhLvA0utPcc4mPxvV9STN4bmvtbAzogrg765rXR/dZ8+xT0zkm9odsPZQvnVq7vf6QnV0bH4QWzoKBsZLTPwwnEoenYiQP4NbdcifDX7lwKd+1srWV/NDiBOZcIXucM5ljdrohRE8IJyTJucQti3/SoBeLK7tPjZ8qJw4x37Y28/uNB92gDoNKnbhrB0LiT1h5/LWWy4H44jmgF4KaHzQt1dVkqwmWfFCVxe6t69mkdjL7MM+y2SVQJuxCmMwToTVA8oDGO4xksKbvYEtCwSM45U+rC+xbnX1DpzA//siX6IOEHhLyO8b+L4XgwiY8GO7qq2dRNm/rpUIx/PTpAfWMJ81qi0hBgaCVTC7Sx3JT8N9pbhOcKnB77xjH5hcvt3+ILLBSmK5GitDKKIzxHovNBRb6Z1UV7tUpGnPHAazjXhzT3FnYle57aXQgeC604A7O4lJ/STvhfpTcepn3xjqnknqAm/TIT1OVDfRZat7nu4snWOHSfoN63/HzvPPaoC1A/vuuc4ZalPTkzZ956YT1LV103A3jXHTFDdN98/vy4zzA8b5B/d6IUpesR9neiB8JsRVUr+WuxTtRLi/IxrVtX8ph4zQBxavo86CG162bk8l0Zx/yWegrrbWQM2XHZsoIS7z19LrkkvuaKrGfb8cQo9j6HEDmX2UHM+G4hI423To07vw9HaYcoI60vhKAF4jnRMefBgMhF6Q8MrMy5qm6h1N+XO9gq3yXNMLFWC3MIpqduP3LvJ8k2s9IQcT6n/M96/Un+W/Qd2+af85Wu5aC99rtVUOrdc8pCMPa8oT/f2gfchqniktTJM9m8My+4DHU1v8D0wG6M/KP9AzT9XXvd/oW4Qzx0wTisKZNCguB/YSAJ9EYqKQHBt+PDiJBV2oez2BhcinZx7cudaydkd085+wMwwb+ppNaAhQVOHQA3xBFZbChsA88YRrxJfRgYWPAHpS2k9lG15JvC5Bg59pL7o5R/XcUcWGrZu0NSLtWerqdVEMqE401yKrS9bVs8XDC51xbEkIKSczXJnJLv/1P/9nWVsFb9s/0b+pYsKLu/JAI3H7BF1yqGZnioatLO29Irux8Jp/4pNokUA+Re1tvpzHwbgUqbDvcRmIU8Qu07GFQcoAeDXxbj/VL5o+LtTaprXc8w8ef9UPNX+LNWruj4n6MO51K8uL/viErV+TSLMTHd/X2vez3kT2Uuw90xgLpdR34BMwdd+Q58NU5u09idbDEH0l7xj+S/ors1KyWXJR8qUE8TJ6jA+bwTsV4sozfYetzkwnjikd3/VSO+Lq+ghHTtekbS/eFz/Qd4XeAkugvT/7RrVPgzGkUX7jHAri/Ta7wySsxxgz84byleR69RWdvlxJjWM3UPtLkFKh3AUCx9DGaGLqwiHOLihlFUpYMxNI3dIH4Bucevqh+mlcIzNXokXC9oTSjf3YTMgPS60HQCeK2QGqF4RfIPDA2w/w/MaGzgPOQiexHJxrcsspqwxeJngtXfb0Lj6TAoyk66YCsSU8EcIwySh4mNEPWnwQVYnrPfCQerGNB2myX4meYwTMCZuDOkbTyTz0OOG5MXZ12taVvocDqrK+gtdQ0WLmKkd8nrKz5cFGr4208GHt+eyNn0OXXQ2FrjOEnmbdI5F0CPL+t5gEkm6tf+wcib8Bva/6bKhn5n6z8N2ulQgl95fsTKjx7vNYsb+Sx8NtOex1Ia5RWKSLgAsRytSyVMufBWJj+beq56fhPxEgwBhgOQDOA2gfYH4g4ivsGOuYaCjbOYRY2/sWBIvYbVMcLeQfo2AOx7rEiSe/OeeHVPigB3815MgX4O2DKj/W/Id8/GFtjL00vLClrnXzR0g6J+8KshosCfCd2KD55YYBg0hOWtHHAM2ANxHZA6Fnjql5po6FsrGrfKkcO7cbtLggqjIf1Rvo5sbRnKftbUej1LulgPsVPZybFN4alAgqRMCcuHBCCq5qfKL5x5tM0sjASW0CVT75Htw2qA0Bt8dXPPfnpndGdWVJf/JYOfjsH3FjXAuR/sw8q3B7rPeJxhjeGdlxYJUB3H2bbN+i2KfqTGTdlx27YVkfTEUAsrM4FOziuAtH/QoSaH9zdlJr3XcLv0mUd+Gva14Wxe+4uRuHJzkJsvZ8hCdeRRgGPS5BbYMbD/oHFARRL/gnboY2J8w98A0pPdnN3/C+v+NyBtyyZ843sAKsf1XuMy0PU+mOPqZ8/cjrQAUedR/3NXf1RmP/D2D8GkD9nRX+cDADjmSLgmjJSKzPgWY9c3c298E7CwbGn834GRpdgsJuy6Nvc/SdX8KUWU241khc0aaDn7X42E8gxQVRZ8OVx3321TfRgpCsIH2+kLSdb0QL0bVG9y++cxz7K0Dp4+NVpB9Ak/D1wepR86mo3i5NiQR3Bnn4xEs+rvknazxviwHecGbiRqBDD7z6B077qPPO/fJxxwf2p4W3P+4DT/ayKH4p2fM29CxF1o/0R1D+qdKYe+u1MNzkt1Y7qEHQAKG/c6UkvdU15HXU65Z5qzx4CBTUjcZSzqJBgEFpORQNYk4G1+RNZCiScGXmDxvISQJ6kkiOW2YYrxjj0aLVyOXre/qGGTJQYCaIrAB0Dxg9IPaVA1R9KGJxfCN/2NiUiMcdsoqJC+C721jEGeCxnaik2nD5EzUIWhnQwwON/qqBXl0UwbfGPx1BYCmhOo4tH13FC9UoVGmpJuzbz805xZNAN0GP7zVOAodOsGLoftlfMDbZbsJAzCu671+0eDTG42T/Uq3m98EUIPXXvTGOhZ941oMrMoXD8gRiQ0kNI/UyW/t571e5bQGEMxEKAp0omsAcirtGJJ6hF1EJ/y43ApgnDsZC49+rPelcYbLkwWjReXN7V53eBy1P6psKmU0IdurbFHunW1fQnYD3FvXLWsGwc4Dm7gSSTZm8GCqEXfX61j6MPfAbCA6oPKUTIrJbNLD5ESWxEa+DS//As/13DBQPrIauGXjF3V7YINobxZFg6YY7+JVcBtbNsSGCpXO5NtBaAh3GV5xzwaaBzxr7NC88yGehnlM2Vb4OXo2Ut/OagjWs+uaMTR1r3TNq/3x+z9MZouJYtJ2JiAapCGZV8EogmzPbqRu0jvDayFrwsG6ANRM6+xENwk/h9N5nEd++g9ErHqYpwNMO+yoxRRHcvZkM2G+qbdV6oqWn4b3nXN2q0U6Zn+RGcJ/L/nbw1K+ul7l87oHd8zXijuTYIG2/ne3Fwe4sVBaoSPAgtHAowevJnYriBXFviJcnYzBAyWYE4k1087Pv/YHKXeqxd6PUPEE2k75fR3HEk82prMx3G4VRCeHJ8/xOBsx2U9QZfo88jzB+7NKw0YN/BTUV/ueGbxj+yOYRfq6eNZEYfjiWGh90ouH4TALcoCbjFkZuhUqlO8kpvYb1JzbjEDcMjtZw/BFXvtufguMpOYE+u3jBAWxQQQwgOFZMVRiuQR2PKRS2xrBteQwVW6ad4fWB8y6VIVjR0XRnUJjW3NjIix/yENn/KD71gbsKv/Frhb/k6YBPVBUzpR5V74VePllv87Z2XBsF1dlavlOTMoowzwRNAfQTTxMcOdY2IaJgqmSRFG7jgsbOjRNeVCPu5j78x+4ECAkgHURU5m4CH4QflgGIDsAdJbqUZQ2cZ65L+nBR4G24gO/B17+6TOFpu7bmtO4JkFajoQP/YpXa2qgD5ylsjv4t+Xu43xW/CHrvq2eqvqV5DdYJtspp7UZdpZgTTGYtvlkrSE2F2wzVS/MCrF5t7uL3RjJjHebPpodHqP0x+1853aepdDf9LF9kigGb1wnz8ERB7QuhX4j/N3B5K1vt+vZtf3qVLVeeIpEUWLHnKEQ4VAmlVVdrPQ1eG0tsc8A5t3zjgWcZlWXZlT05kXO5kW96uSWYDOLIKI5M4sgsjiziyC2+RGbQ5ytqLlTajTCDoYLQmLCKeEZ4CJIABBlGBy0MU4/OXkJqj7T1Az8HeumfusjcH7c5s7WVDXkZedMztvOTtPzZWwDWH+z4v9kLbThRl1tfQkk5XhgEXEwJIQaQsAcJAtSPSNeFE4A0DvSb8M0H33pwYjTOK486AN6rT/HZuHedolkMxovFakzsYZKKsX6C+5s+viFeeGrwwgde8sChSLz/79rMLlNj3IAFFvhGGA1A9tsKNfR2+y38F9pfrv2QeHBvHMUVpBaDhqt+B0vA2o72u+4jx93bcKmFPyj9D1mLml+j1dfNiUGSB/qzOqjO1UK/vTv+EH5j1qYkJQsAdx9U72teH2vdDfc01K30AOJ+5X0vg79BjhIJVokpPsPWT1uNkYsO2g1W5DGNYNsD0EW0pUjNNK9F65S7t+5+hlth1Wn2vqTNBTkfwLgL9YbEQczDuy/rP0VHA/pyUKuzWoJCGGD1YU8hLQt2k+BjB247+PfB0WicV4V6UZhTyMWAqFTpC/76f4q8N+X7JP2dId6kQC8Tz9u3Gyh6KR7uG23vBRknxNYHRUeQT9FJCcyhBNsUMddJ2v30zhiReQi7MX8Gfn6FukONwifCfLNwTJC+bWd2fOy3QY+rfb3MiiD+l2HGg51E+mK0HcJgqp7My4UlgkFulMGPgXMM6KwQwdiaN6Prj84QDqt9QdQE0VbAesaOtf4z5Df2nkn6L+nvxnKe1jF19uj9hXLQ+dBGYzw9zMh5xAWPPaSvhZC1xG8Uaa9IXwpmrKAxQasfE2h/tTvV4Fjvkytiuln2zZRdFZct8xjP+V31R5gXcXhfAgxkuiUeULqGQk5UwYyXuLpwV9JL68KfxJdYFU8M2tdVgh8NvnrhCw++9tTxQby3hrtu6ap8u5O5wXQ9vgLrYQ0a68pE3Z/qdqseR8o/0bEP69UPVPsDxUfiVJPZJNw2h6jqTFNmWvyYKtPtC9dzx/XKce15sso0aRZxCyg7yLWjDB5CXAEhg5XGrseEjjka6Uts1/B97NXdwfj22BnGZP8Iw+OHNhLsm0FbfkSjmdbd7lCRn0H648FDfrpk+2rWNGrrrs/iCUv+JaVAfQR2OSjzF6r0wF2/eQlaUhDvfce8DavUwheJXors3EtX2OTXae2L6uXU9lLbx1YTLhPZnQ1q//d1RjYALON70QaCIoiOYvSBiyOqP+jZMG05rgeGnliqbEe/gxq79g10OGLjX7Xj3/sTaROnhYDT/jiAlQEmvJc5mBCLRWQFtG8Urqcs6jjgSel0nMxJvzxL5vvgNbFa9mFP6ZgaEl0BvekqhCNeDjr2wJk/cKOv/gbtTc0XNWeeu7+//x9j3O9w25GFfwbc324ugidbPsu+gPRQ+H20ao31ErrZV9tQiGzZjhPEL/EUOHq7gUyL6f8ygOWHlbGRAEF8NqsAnyVtCdKeA3+r6nCcLZ3ACesIIQaKCJUUjhbBLxtz3JwScGUYIPlT0P/X3IvVu0KpBzr3Qmfj6h46nm2mHUUHNQK1QDgxmO/WRcbGf/ljPdXriKHgE3YNfTM9j203vpfD1XIfHUjbljD17Wzhjn5HkMGMBj6eTxXgznzW7EGOBqlbEczhH70vAQRheQDLBY0fgUjDMwcGbqvE0iQ9CpR4FdiYkEEECEIOZ8ApUEfhPnzqv7GOHvMmrAt4Ew2fPMWbZNkHrh+z9gDPBSsmzaA9ieyaosdCA2daeUwdC1VfqqN3zzLZ/FqrIjjsTetfTNYjKSkUVWxMWst9yK+C9j7itEvfAMpmJnwAW32ggef37xmKeczOVMDb9ZkbQ+g33trJe9/JaxXC/QZ/9wkbPWF70Lp7LO2QG9Tnu6YItYc2h8O9qD4clDMYvoVKAiINCDjOZqeJknIElWvpCAGV7FqoQUizH5wMyvmB5/3AaX/gezf9nW8exq82QF0XrvSBbjz1Y5YdJB2lLy1CrRR7Kvx/3n2aTJqijArocMRzX3HgmiqOC0XdUbj9g19/6vtYzVh9HVD8yScT6E0kysdHyv+bXfYxxg0C++0tZNdAr5ca6u/f78nzFN1ioVoiDQze9sD5X/UtrI80/5v5v9zrw12FLdelFWTwVj77Jb5WAEbRqZbq+dgpIZ7Rview0YCGzhUTSu9G9jWoNJ9J0GUVHlSEmYEuAdjqZMo2V+EL7SUvMbS0HxDh7VqO9RjdT9jO69p0XF26uj2+v5dbW1PjHQNiD23YzaExeNOFkUa5Vwot8n7sM/CuPPhkwKdCnKv085SeYhcF6ZsT7BCQXgWdDfi34O8PfPWpszMlBXEemDkGWPvQamY+FubNWB/h1cg9uvATWK0MXzY9iFAj03+Yzrx0gU3OxLeZUls3V5TWnOe+VWczZK1dHVu5fLpaiuvith64wle9KcQvhnrJUd/PPTfct4maGq53+wYFnhTvBU2ytuCnuoylpURXfKL9P/stpu6I1bHGHyIImQOiXwIthgVeehgBBToFf2so+lKRQDJlViTUdvBvMN7NGYQv7D87gQpugdgD5I9y7bsDKXiTPsc/5TWw+uv98wN+fYUAYcJC05ZmHHZsKOq0H/MznTsOpP/gJf9UiWFpOb65UbSDsvu0JQSrO5JpU3R/zql+wvEHNwQVauwTtG6KfvJsrEth1cqfpUtJDic0/5jeHzP7l0cbG9Co9Qzqb6oRY8+Fqye690k8Tcj+Mdd/+vK7mg0iWSlv8/YwQ2eq2fO+2xedsL1zBWNEMMKn5JwTeasNxgPChAUush8N6GwLu6h3eGOpre473ed6a7esQ+yc9Z07c68tPc5YmSY4SOzA+xCsR6oBmZ4/pm7Yrhv60dQNr3boFGetymehA96gmObmFXMbP8OcR8g9jCfiLVj9B2SFQB6jHwpxF7uLIP2O0xK0t5hny6YEF8JNwfWV5ga5q17426Wn2zyR2OaoziWtqrQdPPYVti0BWDxEWSg2nh7sVW/Qgacv6JprEywQVxdkvID4V6pKwcuuOkRSB1AffVGoeKm63I5HUUPiZvh0Ryh+wjWe26uOdvup4kLxelrTqrjbVwb7Sj9xLDaDDLXpITysdLDlP6sBI7QsO87pfX2jDXpxc4rHQFiUVHE4xl9Xa34UZhToGX2CFR6KAzGJcRx7qGuv6OzHZILTpKc4ShoBNijViRD9oelXXbM9m2vvE3Y9j7CB5YBRC3TvbRcYWQBhAekvFc/Z1ojbpjNHCBK8BfxDIV7abl7Q+UmqgDZR6IJQgUENvykCfEGQXhFM9JlerGx87esq6/3N3n2v+YKyxe6b+Dvhq16bE1DOQVW+o2mcFATnEW3UDR+El0VYqRGEDVjBSo7dKvbuw35N9S9EAfBK8YXB3dfLlshWAWh/Auwb4xWxjwSxSg/SiWf07WMCKsqvte5kvUvbXsqqN2ui361OKjB3QsjOz5UQSnKdrv1vKPfJOmOg3oQbHTyUSQjFwmTTM7hJ5lKkX7C2HHMs8HotfOI5dmN9F+v980CPNc1PZjtTWBe3EIjnEdx/ItXEc0nk3jjmg090nwvo365clLozHTmM2QU0GAGy8iaqhNZbaKrQlo9o71HtQNcy07ajarHQ8ufq1ojNHKHgIZXVcNW6dohVgP9G3eyZbxk+t685OOZ84Cpnzk1aEOb1WHeJsnBlLX0wstvU/IZv7se4r9Q5nG5dYLVy/AjOX/D5QvBf77q2GmtdplwFSaqq7vpvllWOuORehg0eRPiQys7wfuzjILg/g/N8lgWNCYdlgTEG4IAows7kan2r/v+hm99cnmwQunO6GuPXaqGc2xufoAb8vUplKN8xBDr2mOxyNpcYkqzxhpCWMqB0kJzD3D+wCQwWULmGHopMJ1inLRyaJIVVIHWiOSqSJKLx5EwWdKa45oRSuQ9DWSKcwj/sdqBwTNQX77l6xmsC6DrMD3K2azsF9TfU4QMHoahjYuPdlcXRzj59AoDQx0TthUtl5ohjWE6BgQJDj6WsVe7Gpo28HaqV8MY/czvgzf1AoH018rp+9uyKA7RHyg4nkjaAhR+OPpAYRhBSxn/CUae81c4uPKM3r+C5z1bsq+3og42dhwuhpYIdD1UxyfJ1dKLQQ1Wb8PVi2zoGkx/QcbRjwsxXio/wbmNT7GZ1+OjYvVgzZC06sxGtS5U0Uij5B9r1s3dx7MvnYgPGHkoeF3veYR8I8zVOXaQlhiN6JLT1EUWD9H60rImk3vS9O8vXelfHXOxYPZ1loQgvZyrxm77A9TV+2HNCfNlrtTSUeLGOC1J3kMQE9kFBXMAasPEOH6Ctj6QHVT86TbpDrQihz8CAqRgupgoGRAvc9LLW8GFPTZwX9wll9a85CC9eDqHnwUNU/8zlThZtA/dntg3FZEg9yKOT8eltFrmpx4Zz7BkiIujHAy39uI48WZ1N3TRVa4//H7WjH1OFnTeaxtIfGAmBX2U8hxXVF84XgmeXfylPreT8EiMgCy0NGDHRqv+KKhH8Nro8mJLT9rljt1l7I1SdWc1cr2Ib3NXIwX08Nwdwm+h9oUtXlXlHg+t+vt9Oo3bBk700Pv8X6G+Qb1Uqr1j3rUZct/g3+Hep9kQjv6LTn+jT35foNPYQuK2ex+jTWIvOkkisj31r8L/CmXax/pTddTpWsdmfkVUZhAIfMYSbK9Ty7/AIw5OJdcZqV/YF8LvKjcZnjOecA4IVIxkrysP+fqWyLsclvwyVGuwOwjlw3wsPDz78R5yHqWvuDRz+U7lm9cYRGgCDgKwy4irpjqLyiYY/qNkgR6Ka+lTPheo+bYWa1NXvDqGR9RpWvYjSgLLnulfoQneTnPqepU7urSYh4aaY/u3FKxseOw3WPaLHhi92bWXSNEcaKjznM/e/ny0LSNoVLUaaml+uHb70VhI4dcNdfTab4qO6CvblPsUExz3DusC/RNYPM2n8e0DdI7kJ3N5gjRBOjIk6PjbqLA+065/og8wPem0Ujb9eTEcNW1/LVH4pLnkhd2gjq9z1/v7lIYf9AenPulIoE79GfjYWtaKooVBiOKq5/1Q16E5iy5Rr/TEVutD9hR6saQv3tiBdR5chsGtcuO3Sd21OoZStyeWb/Lab3+Qxl6L5Jb/u2KWmriTsQkPA+iz0svQ1AQ1QXCMzaP9ZVuzNPGufG2t47IZstmzKfCSfDDjHB37i1ka+7sbY70xcMDjj+qp+GBKFT8CWymgoETkrBRddStxkIYY6+DS8scAYPIifBm4Sd/t+w2sD9sIfU+t9tw1fENTOKU4A0vnzWhv6nH9Yz7BslrVUZK2E6n62uuHGKv5NOCEmzj01X9Cdm+0O0fxwx4QT3IfQxJrP07pB6zFbMUGSk4Jlc9JUgljfEc46+LkfuO1VFyncy2fOLFALZVLDxttUGfiLhblC0Jucn3t5kGkYV6r9lzUbiT5+U7VbvO30oFr6mSu1blkkLmEVIEUBtHE44pyaVEeFj0QYyTibRzbM3hIAG30JsjjJEI8ZkQXamC2Ct0F1ZKCw4MDlIjIuoOBAOhLpO/HJ70E9Kbud4u9BiUHUZQ6OjcZpGq6mM//tvfeIphoeH8JlvYVMYie8gk0fZQACoL9BjFDTuShYIVAm+Fhjww1jDk5ycHfsx0s372t/kFSA+QHPANqJkvQTFFDRYZjhOZUEufGJd97iYgaVtDP5yno+SLsf1nywHaFSyKrduUZUraFuWdLaACgA0LzhVez7SNdBm5F6uI8Gyf2hc7zLX6f7f8wkouKAyGeYslEvpK6OFjlsDuiyRztGgF/UnwrXfNZ1hy2tOuSy63d30+CKBP+bOSXOVVpr0xHiTRIqM1Ey3+Vcp7ftFhShjICeKEQwLtjxV3ZRaFdgnnS+jGWhCN+AQDwrjFmNoahUkoYErC2G5QUNOVDRx1Uq195w/VOo9KXigkQNJq5sk+67aRV1D/g9HyDP77k2FeY6If2zAeBcYih9XRAyQNMBuQ+Q+FEo4/SXAzvmqKDyOG/P5UAMre5axZVtCPIAXysGeK/9IRor9Ptd1RL91TdgAt8Rxu+mImY7BrXyGev5xgoph919cji5qZCdhikp9B1arfdqgugF0JfFuTRLp3FuUM5TrcJW7bb+2tlzU5rPLrB9Fb7GAy4r4IoH3zrQjW/OkzkuJH+AVyX3Dd3bjvnrwivCnfvSsaHM/59wORFR8Ru+/lqCDVZSFvD2Q9v5iFqhG13qF6/GJgQCu8CPe+HA+xSszbmbjLQn4Hq4mIhsUvwkcOrwg8uUis8RZcFL+XN0W3QPwPritiJEr569c156JyENBj3B0FKZxoId+Ac990909sy+Dvr+q9Yi+6LUKP9dOcBX5neA6/ZFnqrgmVajGzrTtIWqFfpqTQ6WNFYh8gEeDIwn/ImcSVxI+rF5gzcPctMCb4Oyw4eb4qrI1A1X89QHjnqi5r4Lb8Frb7j1fhYgsOYkd4NbCPU8VHw44jkf9pkP3AZ0MOBiX7j1Vc/CVWVmh+L9fe7quZsuXJqtfuFPSjcl1JPQ36aPneIOxL6nNcn3/8p7P864v+C1b1Dux7hNgjr4xCq/rCKD9od4WMf6KYB/Ik7+wJ9c9US02q3bAbtPiBx8vnN1RwTTGfqNmGTzZMT26MsMQqDd2mPMMabDCsBSPyDKfzFgj60eRnjoAnBe5dt6f+SysBqJN4NmB/8VXOQ1xwHrLX+WANVdeDzaMbQrHhvp6vYDpM6FmhDjF8Ah1EdhOG7DFZ4nfD5T/Uewg4xlHNzY8x/REOUvqH5B/QsaX9D9gsEXvL4Q9BO7whWtdJ0b29QWd73ve4wiVeq0GbIXKFiJCm2ZFVVcWW9rr6OB62eMOb7wnV/cyZLBgogAIqJIkSBFqdAtfQZu9lq0mqnbO2LEXKpIWNp6ztY1twrqFdCIf2712Xvk7A5GcgvZt4WrftWPu/YI2mx4vRUNVHUwVHXn+p1zUbH/2djvkYdQTQ8m5AsJP6bhj3/Za1r/Nneym33a/+Jlaciqob5rplVmrQdo9B3Ovhz5Z2uuPyBgojpod5+pR3ddYa5v6joSrZVWBoQeQiRkYKcynwdCviKpwaVjX4OYyv4Q0Enz21J4RaPBYoBuF7K48KJGjGDQwLgJFCIbikJS3IYIL4vYjUtodPJXXGW95z6rVL1qTAyxALUV/8ewgbwG/gDygucbrBns2XDzUz1AAjqTHDbV7EiFla80nOnqCLZ2A1/V8QGel7z06Ws2qOSpFaSveZ1WiZ0dBq23dF3Z7I0QmUHj0C9pT/RWmuDVUqpE2iGcZJ4Vhj7ASLD8S+Gf/j6EgSVf0X/YnmHZMBpTp864ZUmCpa+wG4Quqa7krGqHV2t1Zvs+4ivsXqELsPmVCJV9jTwYwp7gJGXIi5f50oB6K09ybthzwf4V9FrwgFs7eYkQWCmIhUZbGBY9ugm/8BwbWu+09Y0OGnzhwbc65fdObBTCKSu3usFb2x2MxQW/Fhpu6NhzVgtGG2iBYohz0AY+A44hevsK5Z9w4Hf6G1JymL8KbR/ovKqUyPrapoz8btLWx/dfkblUREINfqe3zVYjJqi9cvRxWHHalFCyhJjviCUBAoQv0HPA/gNY3ziyS0EDN3YuR4O0/Bld+WmOBlyfq5yV4+B9i6zuVN8aGt5no+DOMtek3v6X/DnSEMNhsBpJ6mn+0VelOEOh0wunWq9v+1m7Dzyx+GG3AkkawFVlA4MJphLqXsMxp6McJQPWBNsF/yt5JinVGGeDdZKw90cdCnYjYH/WUChHI64AyWsUxtJdIkCGQuFMYJNjvsOYCfCXKueR4AwcDaKe0Fofu0oBM6gMCAWNfCj9HEsdGwNVjLhJfmXeVqUhaVxIlaQ1wZqIBcZf2/jAd6Yul/nd0g348knaIU0v5N095jNGPhAqqC6Q9drQ44GF01P8IweM7gjC15EQ6gz2O7qWHV1L8hZED5EZjFzChwu6C2gO3A9AvnHkhJISRjwyIARWk2l/uY3MfvRJEOMU4EWgywGYv4bdw8IYNj2a3SAlEVwF+sLYLQCedNtqNV3mEmDrwI/K17svueq8f7EGF9RHIT6SZuB31dBUbAfwDV7qQ7adkrb2GKfeEMM2pI9FE64dHipU/pjO3+2b0IGfWM23ek+t/lc0AmxWUN+31xldziGNc/b+Y+dFvYHXUHeLmn9z8xOkMje7ZrO7+eZtPPbtevs+nvt0+b5Yvq+T72fJu/Pe9zLu53gtQ7gvU+73+LsgXx9Q+YlTA94JOnLUQz3mOg59z2Kpu8AgWNa1zW75NDNlBGBEGt6e/MruNvGCD/uzJ/71wbMOvOIP/Nyfc8VDse4JFgazO10bCvGGpRfpnqznDusroWM/s1a0Ln4Y4Celb8Zum/kDXvamb9XHSMHBfZntmN2K9yc2J1B9gesr7lP8poRMiZgSNaf+ZNbbWPLHDLqVR7yCdAXgF9wOLFww/cDiU/w0ysORMBHAq02mwXQ8bunZZvu84XqTo+aOoeU4dy+scl37T+Dt4/LtvDch3MsQbpKrSpJfFL9rbeVh2h9Dnds9O9PdMR6IhwecfsLirqZ9tzf6xCmrhgpl9mCvFLQCRt9Ih8I+8TSUUQE3Q+iNDHkS7sxkoWrARg5avlj1EpULigLdBmz/FXrf1HveTWOy+wzNz64zoff98/8mt6UFRKy9A2RdvjHRXrGAY4I7qHdB656QBeg+AP8on1ArGjMalHVs/e0muoeeo9kP03yGC4dwFQgQCVdcbOrCTHky72F5T3ic8A+DN/zEAh/24kM+c2InZKYRN4ItlKBDL0UnPqzLD7rzoftf1Wx7EyfeBjdSOCYU9bY/+3AozdRf2E+yHXVtIYvxLSc7GrXNskhQU1MdsyYsWxtgbjcO4a6Ngbhd0rXiVJXqaLJn/4s4oihq+FfNo/EtwXvS5jJ8z0X1PGrbkr6hkN7DyH0AB+WyZLZkteRzyUs/ZsKtgdr3zD3nsWJN9QdCp6pCNnCuRkt9Yar27nUEOyWgdiTmgq57/cDIZ7EHATmpVkRbc0ffAPNCl75qHseutKtT1nRkmQf1tOr4Ey34QifYzlP+YjrLKIGZxgUYDFahhCz6wGyYscewppxTLjah7RqnVxSc3peVOCwBRP0REuvpMUYuYE0JKI6B1EGZ6mSWEzDS8xEb4jB6rA8YLgghGgd7wTWjO5mO5w2X4XuCXTdh6HtYByIKcUCoJkQ9gALEPkDiC1ze5ItvuPCLDciSgPcoP1h0cCz6akfB+wQvGe9VvMGeu6AgrwC9UXQFE0+54uR1/+NgBpwF7HV4qx9opK6lYfqwUL1C40otJa9gqb2nqFYnjeWzCUij6KZ/gvuwHoOlP6KGM3XRdatQ3kJnwpV+XH3WtDQZHQRMZJzE/nLwZ+1rHaGCsA9UHED9lX3MS8a/nMJw+LHImmCeDJTjw318qQDju+RSiTMNXg+6GlztVV9K/WbXZsfExzSzae4rqfJM/3Fu7KbU9XodOS6UtqYbSjHhasuxA6/+Aw99wyI6RKogzTLyG7UY2YrSijKLvis6U3SuqOOiyFXVNB9NJqqjVa2VreqDKmfVvKrsqsKq0ip3lbeqIeSG6qDfoDYmabLILXoisoccocmhaaGUkCtUEwqEgqF2hhQxNHRoxNDEoSlD04fWDqUMpQ5tGNo7dHzIM1Qz1Di1DfNiV7An2EeqYap0lUd1VnVJ9a+qc8qRGpoakZqRWpJa2xSP7GgzK8BqYUU49XMa7TTDab5TotNWp1ynWie/0y2nB6Yeb64hqZakDqS6k1pN7Qe2FCS5kZubu7mFm1u5uYebB7h5RVRviuqtUb09qnfH5nrSWjHUlaFuDPVmqC9DExhaw9ZGHvtqvX2H3n6I514Bb9/Nc7/Kc3/Ac39J3lfL9/Xy/TR5P0/eL5P3F+T9DXn/n/e+ULGf4LUf50dfQ7cwWPyKBXy3LQ1iBDAYYCgEMpNWXKAT0UdgKQ/U4Dv6SvaSYG8E6yy8+4hPhbhf5pykZrqLsPuEKMfC24/7r6Vn9rlyCDqIMcBogK8HLDyFGAP7xGGfAQQjotEdim/OHk5YB3aFV4EyRtVgzkTG5MEEPwlNJvDwSlFouhGHJxfS0Qyw1SmOQ3i3zgO79PallLyNDW/8xmPbHUWro6q7H41AJCD1gEBBeQHuq5SE0BVKeilXOTHhnBDkDSS7GxRQew1sODgo8HJpR/XmyDVx/z91n9Tpx/2O4SZLd/BevsLsZf281SPnkBizysQdSdXhNh4oQ0xUw4/pPMdqBviQtrJcGrH+RwDdKIkPw6NgnDn9k9BOMK5Mfs4pJ3rNOQAkE5948FU8qhqOWSCp6f97oGfJNgGX7xIhlP+2XQ7ejjWmZ36VjRSahi4cSJ2wfWgq386dIRMDJklk7xna3drGn8Kjt+8G78fqCG8+2CdPVYBsP7p/Ojtk0z+b7dNcpdhH4IYG1zlzYmjR5p/YpXusPFz2lraAtgvaVXhVYlVP1E4ob6PrYUqrznyrSjiiQuLunyE18g66Ke06BO34N3slhlSweI6eZzLiMmQK6J+ImgvtOXs3B5zt6cv6hCrH/IHmi6VB/4cbcSqTQPYxPyBqiTXFc7sDsMcYp6HG4yWVjwc38uJMeEW/UPIfqMJralPoMbHdx1XmQtOXWkxed1Of2zTTTadlrJxtbMBMv2D2BZe/9+vY3Z4TrspW/f10fK6ZEcZ07wI6WDDOBw1pHYEGn5eEmTRUIYCoNCpkpARIVeHBKWxTArjyg9OPeE+oAXwwGHh7CLqCfVmDhbb/mNaeovdpq9ikNr46kMLoCT01RLUYLVzyXTdFBiIV/GI4icmvYUckPlaaH8ZZ5Qvulm9mspikOAKkDqBwOOrzz7wm1tYHc9UuorV7HrByl9UH2hSiyZma6Bpg6BtTy8hbGUUtSVsfm0bwWWv6OsQeu7HJ+2dlAP2xlzIMHnTqj+gJXQUXOvUUNfTVBBQeisHQ/zYtiqrSzarfnQ6De9dwnaUv0crT7JNsZdM6jMbzkV+BCoJYtxh7/wMfQlsW5lAgp4f5duHfls7B19vNa2WKyaQiFU3LarLZRxJEMtYJXwQLJtEBrw6434XX/oG/+Oo1SD+ggf6Hc51Ox4pedMloWNVSWlxVelW4IQUgm+iUyBJaFXpx6OCUldUPG4TlYHZViipVlaHKVPlVf6oSUgebolEcSmJVszo6dXfK81Q2c1qQCoIkp8fmFgwt4Ll/Ie/XuIwWaH0BBZFGjp1tubOhShbkJEsPZjbB6ExNb3P4odDEQVzjjkmvDOImEkbyzC9yCo6mZH9KLuMPexXAAa3AvALOOJC70IV615/kqf43hUTtHyCXwYr4jSkrAwTOYkHfOdxYd7Hlw7qQko8RTvi9NJzceLvnCoD18TeOvqi24if5EMtCqFbBO3/WUiozV+ukeddjbuvPWjPzn4L1kpw6tuIB/DXIEUlhFMJcEAhwCE0aI6NRY9k3bBg5lY7hdOpSr5WkFy+jHkQs3Euu/ceU684d4tivlGtkBfHmBvRr0Iyv6o3b5Uz55tqJLc+FPlvop6WSyFi94I/d17xuTTUlXixaAMYnysw91aN2UwzzPkxRsHopWvmB7h/VGFzXMr0Yqs3HVDhXg1wVLnQMX7OlfqRtPWWf8GwFhKjNKchfSHsBtJtG+kluy8y7w5wYyPlyNyy8JIpfkG4vZLPA6k21JO6Gqdwe3bQRlSCqguLXtAMoM+7UgZ//J/4xc6bMm0P96jG3wHcozP/4tQEI501/nN4VzzD0TAtOcjXYScK3AcRZoEGas0fQudDbZ6/31A3mLtS2ptWuOG1rTzfF6vp/3b2CUWx4sZ2VZm3AN+ZJJraYt2EscuLCzl8B/URtwT/2O2jva36XqChXXq5JNWfj6+XmKK9VANbF2tIfUuNBR39EScD2hXvHjbz96XM/yfUj/yjcbefcZ4oduLtHr/ovTyK5kgYpehZsGfuWB2N5Dw/37kbKOgRoVOw0mFw8axp94VWP+He+LQZYXYObpfiS8P4HdjTOv2WerHn23I9y57zwuwv/smejYdEhzHmpRaURpANgbVytAUFPqoNY+l3dxXr/QToT8JPucz3T85Fywi2G9grYpzdUbVtbba55TEgCJZHqt0jYGg+iOKn84mIn0to62rl73Zn8nUNjkgKrQPssEhcKj7s66e+j+1vHV6v9CqF3V7dlcfWebnTuQ5zRtJJBPeJqvaS+jb7zXCPgrjL+ke9CNbdW+NgHQ5yfFAJesd3ddPq+fFHejZokklEyK2nu0+t1wMrTHPQ9G6lMvS83LDhtPSXPDTg+SFt8o2dd3Qdrq6H4b4x7yN4X5Pur1f6Wfgj+5phnYjViMzD2ArgFTLUzfLrEj5WJ52wXu0SrB/8IWnMs5rjPCZlTfIyqY9SdDG53ft3sgpaKFQKzPLQ2ht/tY8UBdiT6LsfsD7wI8HKhP4VhkaaNVexYVY71+kSLg9XniZZ+oBf+QX9+06RCccD391KHKfuCbUW739Iis/808nyulLl1xfm9xD3YF9d1Ftu0QjkvNdirx4IEYJZzUM+aziS9syD9IAnB6AhIYF8FroH2l0CBYZRThIN/En2JbHNAlT+qeKDbgizzmS5g66vpqq4Ohr4k9sxSd7wavIlXxB19kma5GhvpfWoHfpLLTJ1z6yoUTudwK9o4j/Wi8GVTs8NadmJXN9V+13/v4VpbvEvCD4OZLiuDcRZEf6b/BVbIHrG2Mc7FQAVB2t78WsEbDWvbdRaHi/Ud2IBUA9FtD1c7U8/J2BAScpYsAFOo9DvVgz/No8RPIV18tdF3N2SEHKw+ANYnCuwnCsEzrnsZRd0ZcoeS0VANV3xUQ1nj+tV9B89YpwhAfZgdY6gg/RWHKW5T4m8+f4wlgnADzSUXNoic4HJi3Y0VHnIhEw6Xgl/6qPugZc6dI3e93LvDXaFwyUunkhtt8xpKPdzcy81r4/V/TL5fIu+fuQxX6w/YKQhrAPQfWdEWOucuUc1EL35MTxQqvNCxkxUOElSiSeVNt4RpxDHiJac+5FInnkZ3zkMg2WgZMRjMZYDkAOUL3B48+Ztf1/0ah4+r4SC57RobFbMxgVaAG3JhWP3BOYK7vbWeCVaX9AhePbShYLeCLgya9q6uCFY0WNRP9TaT+AdQXfaT1gK/4tggzi9xuPNpfYBASOTUIQhMghW/8rlWKHnP0zduQt9hDI5Q9gDFSFsTUKWbVVs2z7PcTMT3O3pp039P8FG4EyA+cZhrTOuQY50R4sIBvgSsCAJqTNGs0fxgAzxJYJ9lnGgoJ5YzAWFAywNoXoXBwMKHM0jfgN08ofmcmyB0+oFSfqC7F2r+oHYPeupBVx70w1O1zdRU051MkXC84sLxyniuGnNdKBRJe7PoDLqDjcFbQbMhGoaYMDhmsHCwdLK3MlF5W2lJRiWdjR42mP7O4Y5FjmWO3zpWe/J4ihd1n7Itb7NSk95puLpkXn/WckK1kLVchmF3j00Cja/wOPJC0Maf2NsLpcaqE/Ttqf1++44Rm3oE/A9elxA4x2Qb/ZmvPw5RxDMffOIffOvX7n2h5TV6xb7zsdaF6w1iPxP7ylSxbv6ep5wP8V2o2mMnsQksXVYzVbFAdw/bMPxadnVohLqMlsJXAOtEYS8AfeOQn/HX23u4p0HTv/kVtG+wftTdEF9SIK8K8we6M83dtvBivJ5rDsBqb1R3dvNIf/+/Rt5fMe63uBxP9c/zUIBFAHcC3jPB+w/87uBfBxf4pB/SepayP/xaoIZl6LybOJ+xTQXqtfUu2CWhpHCcwPhvdxziCrEElEKYacBOZsdQcjZ9DmHAXiTsYhcH/r5Aua/X32cY7FUKLAYIt1P+eue3GOANP49r9zl7yb7I2i48+CBSd1xHkLaF+1rPytS6DgbIf3TeP60DMchICV4y4iPDGLVCSxdnuAexuWwN4jQV6nvFrUBlcetCXGLpTNJiyZUDLGt1VRJ1FToPevxMd/FdxNdgod88+8djYN10XUhmJEcB1R1uK1z+wZ+Bij/mr3XnXfhUHPtUWVLf39OsDQTqk1kCiJ0vxRg638g/8JOZX2DptVsrz6oDNuiYllG3JgtaigCeheyHPHTiWqjPFVcefFO46Mf8aqgveQ+T4vGGAWOyz9DzDYWA02UXQA3utca4wz9rFxTvj1jbv9SR9eqTnZ9vNbWupF7isS+W71e5bYWI+kLMv89Vsuq1rGeHO9pZ9LkbCxAhtoIKa6nr+hhghBkW+SAHcigfpGh/uIxY3lvdTlGDohsvbubFEWCJJOhmjAUR9wNNwNVY9c+Zi859rfCE3WthqXANri5bd7pTlZtXqAsgCQP+CrgUPpkcl/wL7r+a42fX1cdATifS7X5Wwxo+Tx0AawyLrey7G/tLxRlCUX8lPPCpp+JajjRE8+tYj7Haax63sAJ7guHDT/aKODf3MEubBhzBEVBmkEEmsfxSjkhkm1KHdShIt4Nuu1oPS/m5bvFsPez9LR2+uQDtF7xTJ3sNl+8cm+ZrQ/BtpZQIVgsphYIkjyb1BVv/slWx2U+5eUcyFoQYIbv0oKx4BT+qTzOtDdWyZ/XAGe6d3SdAHocHwxhHMeVtKQEa1gvK4LQN1PYjANO6mz9C/IZEGMOSQVpBYC9C9IcZ+QANoDEA0wVqV4nE4Y8Bv/F8zRHSkV/AhiVlcFgiT2BO8Nekuwo6RF9pAt3ojpcR3tzMyCu8OIeSm7hJYmdNJBrPbnyHfrJbDyqI99FUnXG7mKlJpnYzdZurwIVCgfXDUq1NDanpNGUvRlUcONvDY56iWxUE9QGHVwlAibnageBUfdVWV3pMTpBvYLXDGttrAMpNMed5pH3EuqAgSCCwohSIASOXVR8t+6BWYHsP9OyBsnygih9VzlT5pnr+qEKBFA1Z/3DNv7VBqg2T4AAJK5QCogJPAYZvQMGs+iMBFITjndnIoRKmAj9UN9S8jpvkOc/Yuzd6HXgMUJxFUEQruNZJ+PvMnxPlYXvX9Jg2xwcr1xj5ngDwL00P5uYIem8XOyHrJ1Sf6fh6IUjeN1J6tWY9yT0ayz6CsWQDbg7oEejfe+xm0/k7jZwwAHD7httOq2vTJvPXEbAA3gFzR5lSWTawMTiU1DVR/wc1AXvxQO8N2vER3UD3IbpH6Iqnaq/q2RDdVDUq1bhU+47o9/QIzHihYO/NusK48Lrw39FdmC7MFhYrfcup5cWyrjSVn0ZvMOTrsUlwO3g72JycsZWs5UbKSjlMJsl9owVnOXa1GU8+nNt4YYDdpd2mPeItVfzH3OtK8b6EksyJQOAO72KeN/xezRaNwYlKeiR+WVwvY42mlszNQstKa+q5Arv+aDlbZxCc3ehhYjg21mOQhtBcgMg+BgbgbmIrzi4Hu9msK3tdWjD8WeQjxpuOPpIvpM4ArMqkeeHOzJZp+x5DVRn8DKh98MzgUDjqPR/xsRDf0FyX1E7zgsfcEutoZLesubXv/59z20jA75V9VtzDY6tJFYINhvtFcd7gGh942R9470f8oebSM7/XufbCv1HGTSyg1Zn5Xh/rjWMxJ/lkDkqIWjehac8hPpZouKFuuo3P2snOjEoKJTon3yjGZXIMAzIOgVz12neD8de8j1wt9lvC11Zrc0h54V4O6A9ijXa1h7NTnhCckFbMwxGc71T6tW36MD53tOtEf4K9e842HrsL6FHmzvhy5T4c7q9N/01rEqlpfi0NKiGUsoKmwuss8NBUsJLzT2hBiLIyexbZ0aOaranNQsUKNVxo/eP6aHdzmQy5rO4bzZ+Cm0WS7hFs7osEITXDmx6dvpWPeTqhrad4vJuXyrAvDccDnnn2LWNQ1zoWjiJ3ypPH/k1RQrCwTZgu4OVp24JIkINagvkDjAfsbjl5x7qvGz/Co1qjB55yzWdjrQZy1tERVMqlSXIYvGV3hNv3UPJFNKjVPA5uczOTSRGxbbStOKdIZCWNZwJSrBhHocf6opZgn/SWDOKQyOJQJX+aqXpLt5y7VWq2nrncakv/QFNv9e8rWEsqGbQioHl/oNoPtOgjasBs9dnbFurZ6Ft2ktJJS46zf4E+/9cWn0Y0A5PCfR6u2I2mce0JGDdG3yTu+sQrPtDCA12+1fCntoAiIktTRrCg5DABGID/svE0QQVnUzg13pVI41GRqCINL8YsPez3n/p65sLnLk+rcpOrNruPm0f4tVhmnwdCDikJyOKj0rfdPSe5AayHc3ctUSEdCLhR8Pq/GTW6bBQ0CjO315Si4iJf0bWim1VvV7mqjobGQPWQRbRclCcKiqyh10PRodWhrFBRyDGUN+QaOjq1Ceul6qdKVm1VeVWGOUTjU1+k5jZ1ZyWyDrAes2Y7ZTmVOFU5NTld8lQ8Nzu3REqntp5a1mb3c/PK2JxXWgeGpjO0ntcOWfZg5gtlt2cuuPCWzF8ZIL6AaEVfvlpPNuJkvfCMfnhTwmX9iqxhUPNWHzAp1j+ueXXbH/jlED/kdASMErKMQ+oo1biz3DEh5BGiEd7FPkYtowWLJTKJEmKYeKWaqRGWD6oc1opQfraxvNVm6ylCQoBqQEcpzh5cNfxMsNwuZozxhKQPc/ymT48xxzvrMhSR+GMKf0LpEbqPMbfDtU1nLqOZ4qyxzUFTAu+uMNM0Y72Ho3DsRjA3jYFWPuSCV5c4d3VTJ0KtffpG7dwiUj2petU3+psLnvv4cd81fLtzpc64tLdawsjj2ntrW//0PYv4N+f9kpGT2VryZxvnfpqEc+9vBwFVwuWsb8Aruz7DNdfC4XaDTeXYEbCyB313oPbXNKWr/T0btuJe7IyxFz/k5x/4x8E5H/VFrApsubftaaRn0Q3IdSyydpyrRdS1m3Nl8LNkwY0mVPHJsBi6aCCtYu2l+2bs8I6xMhO2//L39rbdvyMAWxdttdaX9AX1M9095dAhPYS3IFi7Q1VzewdH/sRwEbbuxKJg1YLYEW43xFw7y4YfwxSFHoNCow6Lezr9JzO7y8MxaUWMVDghkVlAd7/dwAc7kmyA7lPKi1QK78U/0Jk/UJNvKrat9qf34GEqwNwFwLsQvmlWvti3QTOCOz31hlAfP8faExXgsgaC8Ylxe3tLhtNnhnkq1guy9WD0nuX2Rhc/4cFEx8DGHtUPnQ058EfDCy8dTt0GO15LVGJRVSTdUGgnoMYNyhBYNS/08lOUvUlP2XTXTfuT1UHQssB9JqtToj+FLp5Q+pP1DvduUTv20/1t35Yg8jB5zmDjYdfGLT3wV8FH/ol/RNt11J9r/iR3K90dcle6cEG2FLzPeNmCQLF3HwMazKz/hqC2jn5dK2Q9kZ0G+/VAv1yo03fd59zPka47+s8O4/3lSCZr670xgo2cz6RlZJnxdj+iXzNVJ2uE7sm5xuJXJ1f+C20gbx15CyJr47n7FfiBaw1R0ZmyzjURWx9Dk/2on7BLb/T0xiImrijaVNgBbI3w+9Kj7xSPA105cNZnrCQJlPnqhu3jQQShc5sHsic7KgWL/BqTH8PTP7b+YRToTAZe/bGtkWiPENXW72+I7rZYql+q1mtRq1XBCFYFvIBCwEJA8CuzKSslUV22F2iI2Xatlm/47VT6CK7BNXEXv7qD6ruZu+W+Z7oY36txLwkCvWmaRjnZ4epqOBzvHoZzmriF6QyvBlcWJyHj1CDkQXQzf8BmwOuwG22tIOhGqlI32nxK0Zkte6x3kX0AVpdupGcFJD2YYkBtCUMh2GSQIhR0GLBIElSW87Qkol8OBtcnVXNXCyWdOaSPFMcDbknA1XBvPdNvuacUrnv7MojNtLr0P2uj8cveOt+aHgOpSJsXojUh+ijTY0OjsA31TcXMl8iOv9XNMbRCz/6BrlzVtK7eEdh+9Wjdf7S5Ha+9bmMxwFpCaEGrHSEC+z+KVUpqORsGckt0vOXr+p57QWw7IvtzLmkQTzlMSZzQSanPap8sfZJc0WYP5GMrRNhdkpv2Pw51Q/xk0l7ySagtSPtZYlCMd2zkWEnhWNW71nNvGlPt6xGiLjyayZZBBd6t+w+ohPHu4WcxUneb0qOJxQRJ7kjed1hZA9fpwuP/vRWkVkfyqhNbe4rfYyuF2hu81ZChZgyN47EOwT6u2Oco9gWKfY1iP8C4H+FfbQDXFl5feC+Bnf5AhV7XojDdNJR1szr5ag/6tv3rE+GevM3P+CxFdt6Jd3zg2yy7OtcBZZLhlvOoc1Rg58WBQSU3O0A6wJwD4jWw7iLzy6CBdhMsJiaq1y/0yke1P1Z5OK1xrYXUbK9Yuz92QZBYrCZgvZ+pv6Zdx1T/ZrXnXCdIFTopiZaAfYGtDlmfXDULvXCyymzSRJu+96fRuIuDj/2JtXirtnDqtGDeJfw65P81t9E8XXf3wq+E+73Cb+/aECf0TZP1UbY1ZkoA9Q9keOKAOvjMnQqsnsU7zjVBBRPsaXdkECeB6LqlgD0fR2siXAGpJdSFAuCMnjFvJ7gCTw9QfcMR9TdW96C7f++aIGQQlQH6PwD1Mzww2OAUMaIJTnujCB9uZdr6E+v59knhBRISfyD83GetZCgKy19N0XBF1UCx6DTANMPAXjoPCBiEDoDxokw9Iy+W9ZH8i7UtD7kpzdkyPhsmTzCc4H6E3SvcXeHlTlUfuYPifsJL/4m/dN/2gL8FhaNxDgfxTkM7glXrwuOxxhleE+6epQWiTSd7yyl+klT1Tn6SoVWy9IMyMAgOOQOgsqN+AZXEXQEteuAXftRDc79ReHrhQrfvnMw7A/EkszQUzgxiQ0TKib42EgMgaCcWpTFvjpIZBvoRqWGcFNwtIcGzdCMfb0iiZ166qKmdZXcJznHqkczOoOymIDeAzQX5L3D+lTyIbyhA/QFZlekqesElg2EVS6m4ivSK8CcEgE1wSmAJrAq8OGFlBqEchP+BXZGiSFVkKvyKPxUJiYMN0RAHSUw1090hz9UN/seIrF4YwQrsipjxptKj3sk72+zlx9rxsDqpmuJq5RNEvmI+x3iO2ZyyY7Sc0/eEgISUo7B15yzSx2Ct3tEEsC9vtUQ0hhD/Lw/YJtCGjwvAt3WA2g21Durj2A+CfxIePDgSSfAHbBWVlBbP/y/IK+Dvy+X7kPc+V7nPVO4blfs+Xvt9/ixBvArxOsQ7k295jO/XNhzpsuQx1e68KfeSv5V9XtEOsAnu7VpvH4luBBN+LXb3WlF44d43iQ7H0eYSTVgUIo2luy8SqoHqx5IS631dzQx1W+ppPzoc3ud47XM/Ll2v9ADT75j+wHTFpRt37wN9EesjoRjVETfhio7F0QcaNcfQ9C/XQKsIlyGI6pUn1u0HjaD1b/VfRz8k8L/eE4d0kb/1V9umfTSU4lej/3HatmFTqH8s3b/mF+Lxf4ulo5k4F2iptroZtWFgHUGlgyxIj0Ib6fSisD36/p75hscSAviwoQKtP+F7Bp5GaShjZSjhNcXyU9IesEm3GvISgqBBwPeARA+TcKTj0LlparG2hvmv5NZwx+B+Ea6Nu9Qx/fTZDztrcO7g0YM3P+Lrmrtm/qlw/aXnkPve5qp85To5v1YNllhD68OKB7JSQZd2tU5lZ5lEXNZKeJti9WrCBiLgCNCfOLY03hEYcShxAmsQ4Vm4AfEaBXhHiF2XMLQsfZgvea2FROXp3AdwffEX7F7nF0/x4g1evM3NdMh3S48RUgYZBb/VuaG4apPeL1zqJo/lNA7eFaSnreUd9f+pi5y5XMvEA3KOcM8fdpG2/JtbcxKLsEiFWcGbA+DfOO4ygjSi5tzmkDZ4t+D3HqOByANev0DL61T8pq5ksIhfA8EmngRFeHEca7wJe2BXtsJIKOln7jcO+hIx8bE5kjqBXbuuJ1nmJnyaINvolwlul1Qn1t9We12iN7rqGX439pW5Q5/kCXB94M4EvP4jzkfKWPhfz2U+ITB15ae6je5TTd8TiwlZDXbSM3w2GOG9aeODfJxpVYGHt2/zgXMxXeOw9Da3tyvmf4nLvC/O9cQ1Fu2ZuUsv/BShBTIdDXYuqPBnrf/qroz8FmVha2posQeFemK7QGxDuM4Z2nhc8eEERYJEzY2ihbFpPI95mcW6QC4gioKPj9wg9qmztvqwSor79JjGEKgR6OCYctd0RPJjqH3XDkC2L6ANJ3roB04E2l28XAvXXrhX4QIXLnrpzoRiQgkeXfMYYsPc3IZUW577VCvHUCweTl7lld3p22S0WqTrug+EezKhl8mNt3mwr9WFnYYqf2oBa0+ob+Xu17ndZ2xctWp1lyRMPDuu1SYjYgLATpr4BJaWeaxyR+tACTOZhiCuVmrfXt8HfDpGBCsxsCSwJEy0Ig9Feo6w3ys3HW1yBLHMhqX7hUufehFSF82d8L1ONH7Xhsn60ep5SEd0lxP3oa3iWN2Y9wZpbZg3hPnVcJc1cTCNtBe06ETLfZtX1e6dknCFCEF8gd4S6ANV/ZjaY2uLbU+4sm9v0NoGv1qzmxAJZS70uWd/KEwk4LwIf4+wcMm5gxVjLw33tNIBiNoRKrjZ3/F7nWx9BE5LsEchjUNr8GWkx1ZrPexJcD8r/lS4W/CU1eLO4d6A3oFig6h6HKjVhao+0IEPNOqb3tH1B75eutKOK0PIWn1cW05Wpp1bO7hkcKfUFadulXlg4YFYFUuX53ua1BhOp6N8PfRimgKKpEHzjugvYtOxLaSsotn60Zf9Z1+MXfGT5s0H7x/c4IFPfcTtcA3HdRapfOrZmiejfYVVOvOuUN/UfRxrbbhrsXXGmoJ1BK9k4VmGLxn+rfCjpfNw9Sc0n9yvZDVLn43sSzbn4utP7GAU/+PmCNjtopax2dmaPc4392FoEVv7eO4N2T5fud/kxwqwd5vLe695INynKfNchba3RoIeYuaV0ZeQW/H/dSWCGC14ev2vufXZ+XE/qE5Fy3r7DkTsxt8dLHJl1ImAE8Jp8/jAMeGo2x949AsnBnaehfsUHl/4XOEbS/9BVqP00cjuVnpUzaWaPNrmB25uRmpD0jYKLgBcBxZJKErvR7FC4euQ6Ejq1IbDbcDSJAGZl408FGZuWLiRHy8Dcu4j814uwsHuqu6P9izWbbzTx1z9wuULK5zgylyzCS2O4vp8T7h5GpdxYPNi9d9EUcArgrcKrNwHKvhAJR5o5leVYfY2tjno+s+Vld0H+26QGn8qQsMOAenDu9Y+Mehf5zv1v1ht8AVgNhfrC6JJWHeJ/iZ6PtxnjvuthT9cuiGhmCDBX3ptz4Fm7u6mGPQzRZRIOARrm+kI5jbdLgCfWH/bXNVVoyLoQVIBJALjt/TMaASvsaaSC2Vu0ju0/eymzgybxblWFMqEnACk3QErFHWpU+e783pQaafqKdwepqp0prxk+cgmzjU/XFML3a/pG9r+423LpC0DFvCN6SVCTQyX2CzJOJnGs/EWm3XebPLOX3nnb7zzL975T/6jNJPVhmVcX9gjgE4cvTjYeYacT6LudOO2FiNbQbwLZx6pu1jh3j2rgag8cmXUf4o7Zp6KrxJtcxxrPhC1tZf1XZM0Cr9tYerc00sMwtpXJsH2C55fCP/bqqq1bm17O9iv/Y2xHju5ldwky7zjhFOueZIuGZSUg1+AvUntyu9begJ7MSQDih/h7Z2CL/knpu0VIh7o+4H9X+79KfKR8tS75ccR6AN1gUrAiuKqvOp14V7OKQ+l9uAn+T/hfLjGoNP/zI90l7o7o4CYAGHfGID6hEPiYR+RE8a2Dl4czYI0OPM10GCpj4qBG+7+9hCZ1xh5jIvxVP4s5nCT+SDAwPoAbwq8G/gzQHOSG5pmMggkGL0y72vDoQhUjGlKpRRasPpXRNpceKARwhSnA6IinMU2yBzNa9r8i6VesoC05jnmdaxkdA81Xc91zdBEQ5uPK8+F5j5ZGUvtj6w8S5XfrF/ZFg2SFBckaWHczQzHjCgGGwdOUumMOsRXBVWAA1YQGTxSILlw8Zshg31i/exhPY1seUCFHqjrg2q/qo/R7Q1V7a2dEEFoVUXh150LQJsf0LjdHYvsDtgz2ytO1PcICBBTWDkYdcAx8OoZH3UoEwzF4VNAPaMNC6/0WnHPT8CrXYuAMRMTY5wniMJ2NcZi94/iLop/VJ2lZZegljx92x7mtL4ZUzSm5J7o3D8EDYGhBYsmONLYFYKql1wJ/DCwG6X9YSzbt/MwbyK0/YZoEgQEHQJpp7JCj0CW0RjmgcTFwgkgKyeqiDvil1Lv4vihZ8PkjoYK/oIXG0TVFuwyugpnmsWybjJ6ldZfXMrUVRAsCbjBbAB/HFmVXxmMcRYL/NeQF875XZdr76TmDnwgBQta6XqvAC8TtaPvzQXjt3g98XC/VhfjPgD0G+X2AeyvqYb7SZg2segNcuaE0exJYxM5mUjbVIXIO8FvrF8nO0ppnnQT6XQ/ChqYlDIUZb/evr4x7xVwbpQPAvunhOBkQThpTGB+YLQ1fBdgHuNv0H4yr+M0t2I7YPAT1S9gU4JaPtVRZLO6Gy1w7Df88Rgqv2bFS6FB/cYNVSYPF+8cpkmeBpf32C8/7BlPnPYR15j5haN+mPv54x5o+OA5V6YLQ7AAfLMD3IvQchzc4tSO/IgnaJ7G4k6w54+oELPv8Q0t9J6hsWu6Rdu/PJODeI4kNwa9W8184L7u23bCs1/CfumxINT2qSJDeXjJKoLNgbYtWG8JFQ9qnOtSZ7tRqJaqdEbjY9YwWhifXgCE2RUditV9J/Emks5TCz4Fr3X11nWSiD7MjzcXtmXDaMv8wAWnvtGxxka7IzkWUD+5lhr4mnFKoMB6Z+LdBuys1BjnK+98Ernv+XKphSurduWTiZIVBrrGmSbh93p3/SLPHDshnLLUEWYN2ZWAA4sG3AIv19mO9QDue8pWVzUYv8a5tp+sH21aH1VTOTeCwn0nj9d24qnG49Zb01e65uCrXGqim/LL5hOM80m+ixSxfWN4U8l1cX8Ex0XjXDvz6XPsmaSH8M5e1vpSfMzJ3lAIUfI6zN0UKHrtra2NpPu+/56smBcr5yX6cwnwYp5iM5VEFr76Gh3jjXBC5ANIrsGoc+5fPEiHQUdBXY77C3+mkMJgyVVgJVAxQGoX3GHwiQceduA2D77z4AvffDTMPxXOxVbM2BXBNP2GK793WsLRGTOe2Krn5MWIC5TZP8OgEdMpOGD4ELHh4GPhZfeYqRrEwB/gAWgHIgLoL441DQmElkbSMVQwnZFRqaHmu5e5aUTFZzcP8c//tTrDUVOFg5h4D+q14QgznSrQmsMblaitUFxMvA7hy83uA2IzC50vdY3cDJvu0jbATbd5rZrKVZGgAzkiKAXCB2S+QP1H2NFgi7FZoOGzSbLXQ10EdRIeMHfRuZsVjoAoDKIskkZxGBS4o4ibgAlKPMZlH3ojNgQDr6QcYEug1Yr120SV8ZaCVZhqzlG9oSlD2HpQ6gTXChwmtAzt8ApUGHcWKS/TEqTTIS5z5vcNtzWdk2tenGvW2KcYfAj2TYQUz5MRlEMY5Mm579Y8H0JQZlWwOKBy/tfBDDgMbtgNNy+86LhTHvfxJ/tLsm9pbYniX/3aJFQaaLc55juB9iy1nmHTZ/WLk/yJ1Uaw965rukefSJ7t6IWmipcxBG4zDPDIdNrDEW3ylyaQg+kq0BOjHvCSg9RmoreQ/YPsGaEFYFk2OjoGcVMUxM7WeV/o7g3DjY190aw8RhhBeTP0BSKOUYrFkUOODyJ+n7KsGvZSfFaZxlG4WRDRZq35ralwWeFwrPqMNe9h9X2ikW/242OMxmpt7fLtO3rIJa/v1wfB1xiNpQaTTa17MfZepHtdK5I1AuwqazgU0dmIlnmbn3dqc8iT4Q5CvRrwsx+43zcP0nyj9EOvJWZ6and/C+xT6KKIRIktZSWHKs7fggmTDzaKULA4k4IqKTb46EFwcQgRqH2VfM6a8eMI4bWgeCVr/Fg3plqQrAJY5nzDjkEM82lBZxua72NtfEa3fgb0yfR/gc5KgEhYXwwKhxa2N4X7OS4dS266NHA8J8TEzYY8kSWJOwd1HHLrtgV4ebXQDzj9l8UVXfyHoBHa8IiapuqQalJHyxoRWtKyhzRgrF8H/fRV+W+0xjUlf+Ps0NoFiz4O/h70+Kun4DqNtOqou+R+13QX00/W/Lubf+PDJIDinR0ALQ1eNBTVyY8pQ2DFBisaIVlHf9oZuJJUttp9Sd8EhNGb0j99c07yVdDbT9298O9Ete9iMbh2y7AJwvoFhb+M2RT0VIN0fdWmg/H8fZ1rDTgWBH9suBpbbAflQMrIxSIIQnZPRVAtLMNSViNXGFeET5lSh8nWU5Yy6Otwofg7IeCMlRtufoml8HCENDW97To2vAou9bgr5i628P7IfsbmT2n9yGOQmjECziQMmTGk7o8I11+f4yEPxNfS9PZkLxAsAmgXWo0Ha3FNzXLNLnTRq3EBE8rCWyuFk7cLakbsh1PnNnSocDyQ7l9zvdzv4hXNnW3hMksnhRLcp+ZokOjrPrMFqf58McAXweecSwhs7FxzFlL3l1PprAWJtNp+xioHIL9RHp/TWUnDWXcx0B/CDScj4E3b6P2JxvV0Z5hnsxsg41B05/qnYSrusNNO0skzl8IqDxbVky0pZB96rgUHL/tx732K05K+dqxWFpYIyT4EbavEOZVxmQgI5LAJSf7pRm16/P5TEpA5DF94FpOJbHvvmu8pf2R9PNE8sPKP6pquQfjVb23kiRsSmuq9+jG3HRJG8MJI7Qa8aeyWcHgj3965NAZs2vNQFzb2sdUnY3Bl0g7ReoQZDDcWeTZPE+/+wLlxxYJnCYdiom7wgb/56pxM43D9g3Yz9a3M+UmXsR5h/Y3VVvMwzV9qvpK7Bq0u7Uu8J3XPCfPiMP+hO//ci487K1tFthtERQqXLtzF8DOGF4V7ZOHXC/+59HRCnUyvjez5p7geX2KQ6BpNbtDkh27+mrfqS+vMYz9A3j9wm4xoexcsRJz4F1L+bsagT9/egWDZP1tX0fiWeLpwUhB1z6M+jHQC7XCo15zs38mG9bVUZOXwjoRoLrpsdAvC1Y6wn226zL1TEgVBznl12tPUSvcnio9C5Tc6QOJQ4bCAAU+JqANVffR6nqoDujPorhK7behKd7tIVEeCv7UD/Lf+oJSnj4STNQ3g6zUP8iSBx0nk3MCNF+QECA/oP6UolJ46tEeWC6/roK/PZysgxl+w+kLkF1D//t7cLnefWB0mzAWq/Vdy6/hlQTqZ1lT2kovB2lp7chxDaDFA1vtAJb/QwY8oW6ZRhd4v1dvUkijKy28b254mD0MwBuE823rhKn+677jpEXwsr6J2m4XVTdiUcdrKrqzUxvqnBOwwYN2WYMRgHwIdPyEzhJpSTjUOc1R1dHJ4G9BixcMd86IFbUWAIzP+WXoH9C/LkPXNf1QnOFau0Om3sCWBliGU+f9WK0uD5Rw08bje6+xExxY9wH3VwHprrXTPuTcLWyFudXa/xYknIkYqTGY42yahNU7pPlLgIdKUHAey5j/1jam4UKJm+/Qj5dxP23HNP/i14QhfYP4AwjeUBNxZ+qpNQWbAT0qfb/RodOvPsXdTLznFvbhUAesuRrBN/cN+ljDoVm8jgpxmNX3YtbIzrKlKQfriq14+CTVeLiojkl48OJ6SqymrlRB4gQhs5is6KhcZxiVMeGNxS2JhSREpAW5dPmN6glUN7TLYnD+igsx64bckTBMLdSj0d03NfbWisGQUUufJo/4H12LahzRZc0e0SnOPzB0KW6911xnMp7HGwfuffYEB2xXHo897RZzQz1+VhexpljU99TmWH1sKxr7oXE4kHGAyAzmPqaDhVquFHXaBwYClBxCErT4nuECiuwyEvhY2o9B6QVVkTrmgJ8aDQRUO3vU59vdYp57Zmiek/pjd/+7/+eILapZAxQTfdC+eoDn4p4U/K/x76SqbXFjSIPK+zNK5JIMgZRBvsMBQ/vH0Ruk2mMrIMaAXy+kEuzf9fMLTMY69dYBEBbxwFEo6wFUlDUWrMFcMmEsEvlmlq3bz/wXuNVCZFLlctQ8b/dx0/cHb/7i7LDx04Q1PdolN/shnYwX6F/j92woMkkfkRiKnAEu6tRXtcc7GCf/jXp2OCNIoZAfg7f1Ay0OUe6aX0SWEFvcuUvXgWq/6CVwZU78Q6gRg9dFdZe5JuUtfeLThroWfP+dWHYIyQtVnWlbNxE0dCPx7dwuyFHT9PPtg4uOgXFM3RJuN70fT/3lvTrB6gS39A9V5VTuOKtP2VjfcRKd9r+HkyL9QPseWi+49j4aP1M7qjqe7YK2DcxMeMcdJMLinU5Wgiw1bnQh7k2fFid/QTVpUDvwxlep4T7YTw38ZGhphOqYFA+FsFqwvcbB3P4P+zU56/+s0hnbxcn9TckzjmU7VOwDeKnj5gzreu7tgv5tSz9ichzVZ6ADYf6zJ4VThr3fjn0OgcK+jXhhzAet6KGwLWj5LyRuriVWVSKxjAFX6xImAyz3xxg/77Af+WTjPq16N9PIR57j0TGLVtVIS/Xh2WdF8lJGnMdtgj5NEyVsecpFTnzxrjY7QUbARZPyE9+62B/gMYHzjwDjxJEJ1QJnPEW3gh/E1yAvHvAQTQkllyqqgTiLkCXUGOWThB8AB9FGGGPIbYIHNAykHtD0U55zlgrACuu7Omfyud10M+Vf409hshZ+nnHmMYYCkijsqDKzws7fcji0J9eqz1tv/BwDn2ZKk+Pi4aDQuGo1EYmOvu0Vn7qh2qvAKwZoLlb1YRaWkaHaayhWcKJyXDejjjBTesTpwmu+JW14gtwO+WL3EDqzmfTHbh9AlfEBY0SCjWUdwRTfHaV7FdMuGfjDOlbUO2lDpinWKNFBNeAeVRg5a3Xr6RCffaRHMYdp4a5USQloVZ+CAKm5ZKLBYtmGRM1A7VTTS2uA4G6VSx+9Z90VsC37CQoEGqZ12dGKdAX835xUWJhVa4+Rsf8QZDqonHMGbJu1odGCjjgC0kMigbCdEhszo0Lmy9EGej8aajUM4cjOrCtSTrjgR+WhLdNZKEia2mXNpMxBCkQnq5P1azerOup0sAoo8yeuCyJUdf6YNu9pJJ113pFu3A9lIxahufCAgq1qiz9JWoHbSy63sXExNC8Rsb1xRGfXX1uFT0CySHunGulqRuQidIYhoJGtYR8zSnkzxGZDaK6KQ4yV3OBUsMrHa9BPYVypoNrDRgUZexSLPBh3k+46RgyKi8XCz/uuXf/j9ENKX10A1RdCBHRir0Case5jUlQ+k2e6USDv1cfaRbUYl3wt5XVmwgjySrp1FslGuJEIzDQf8bmw9SfZoNg5LVGB0q3BE5nRdzHUhrStE3ALT5b3TzuomKNZBJYM2RAdyM6l3q7Fxoh/k1wrJbNCA1uo2/s44i43rszKCemX4/JQ2IAFhRNr0QWW/m/M6KLJEvJg7XR2k78zz/sgV0SyFEkFc3age5K/NAHm0ps5lH+a5UuS7vz/5eAKqzyqj52TmC4vkNfC3u5+7m1ntM/Jzut1/62pOup9ccZLmSSICqv/5tHtPNOWkAzEdb2Uz4Y04O0WQ99gMsRGrkG6DuL5eKnkbK/tUTjfLk2Rf2fvJK25d3jiZbonIz0G3nbW6nZFmsppmJ5agFZHknUYUczixrmLnQssVgzToii/pdq/pdj/0jNUsHSQn79xAGYmRzsN8+2RDO07Qnib1l+a9UORKGgvpfsAvnxqPU66k2D+j2/3cSDbHGWIn6gauPwQnZHxFt/vyKl5I0I3X17InMw1QqilyLniCW0DTgbpSSda0jdds5P0zS7dCHY1FFpP6ZNYP4wqKy1m3lUUGaGflLBb5Bd3uV1T2pC0WznATQeXcFaeC/JlfKs3dzt8+/OmPdeb1R+oIElw2X9tYxiDWR3p6KiYVF2LlaOd53h059qQlhuP4DHRzDnyu6PZTmais2xdAcUQiq3kFuZ4sdbHb3YzYhcp+wGMQ++NUJErj9T2fuOw4WN7KBuGNvIt5rYYYU+QjAMsKqk5nmxtiWK5T6zJdm2MtENlxRXLZm00Xi1gn5DNOt5icFSR/fXh4Y7ihbo7rV794+caUAsQ9NnYhrvEt3e53dFybc00e8aZz7kYeQvUq5PF+zfuMNl4sIJIkcjbrT+37/1qyHgMWJHIXa+cbut3TjFYa5ad0ux87zg8q9cqCon2j6LYKpZPjtXTaO0OkUB+maUJcO0fEziOhubKik2BDxhDLL4FissnY2ExWIO+ojWcjfz51Lt0it8l1gUhFlEbsnbJRWv9k2bd3Qss3s+wFmp8CtTPrtZmiZZeASPW5/fKvv/iFWoVy2V8s6w8bC+gUOSjyZK1/fXh47QZyh1wLoEEdde5QCio0cHK0bcr68nNRXXBGiOVGiZ3Lvsj0bLg+U3R7N5Or5WpBcxuMkzUW9hrmuSApgP3lZ7a69xrpQCeRr0G3lbz/n/qfxa74z6ddwoCmYTSlLCDfuYaqKWhNSUIrsimkTcFtCnNTwJtC3xQEp+Qxr4lxyvLKBaT1qlgS6JTTMBNFX192op1SJmaOg8TwlEsbZKzEYk4yTETtoGISGxTWp7xha7p1JM/lIxBQ2SKbvlLFYN2fnf35lpWJUMmWFViolIw8GsjtUAGICkVU2nJPV0etHPsJzTCWMTOgUaGNCnJUuKMCH5UyrNQDCItUgKRCJZWMTdMnFUipLMVsUDB1M4VLJSebQpjKbU0hT9FUsKbCNhXAqVBOBXUqvFOBnkpRLmAtzUCV6Vz6Pf5IVNmi6ei0YZBTmmIxrWCqUFMFnSr8VIGoCklVlhd5XeyUZUbTVQWxKpxVga0KcVWwq8JeFQCrUFhleXDQZrKG2imzCp6l5jgCapVzB2VnZVvtY4VIY8fgEg5N0FWoroJ2Fb6rQF6F9Cq4V2G+CvhV6K+CgBUOrMBghQgrWJhrn0wYqcRKhqrwYgUaK+RYwccKQ1Yup11BtUaAhAS3+1g+KM2UFXd738BZ2TqbXo84I0irYAs3WzlaYdJKu32FDeTVtljMciO/ykwOVJLoA7Cpee9C2Uo20g21FbKt4G2FcSsHyR5rTyti7yzwi3Qq3ypHsXBlOSOL8Hi/HKuPK5BcIeUKLlfKmQYquum5gtCVJ4Bdd43FRk4T2LoSClZlV4bk9IkMdFfIu4LfFQavgHiFxitIXuHyCpxXskG0xMDqFWCvUHsF3Sv8XoH4CslXcL7C9BWwr9B9JSeSdH5lOSLd0rkvlM3+FQCwUIAFBSwpgUCBhQwuHXXycbZv3LFpwdKHYwMHHiylTpLFKC1hAQoLVVjQQtdfQIaFNCz9NzIUzbBx5zpZcIKkaIaNKwEMJ0iK7pjE5MGCgmMZmiIJHLvhJMvGMjRFEjgWlHUsQ1MkgWNBGccyNEUSOBaUdixDUySBY0EpxzI0RRI4dkOIlmaipa1oaTBaWo2WpqOl/Wg5EIl/hQbc0qo1KihUiV5ttjC0vtoTxav9wZUKhVm6reYWJmbpVCZJ5UcLrrY5afKwRKeKBSSb/Xe+mhFpSpXSEcOKFQpa6NHSKgWr0TZpTMRUC9JE5QKZHBChTpc9mRJ188FhtjgV4QIRq2zRzKlQMGeEEPoghAjCGIUQRmEsxuxfVxa3FnEzcAgaOFjcWkTJlgu2lw/jUT4+16Hk1sQtzg9sq0vVdkv+ErQB3jKo3fJ5K9Sh3tKyt+wYc5H68iAs7pYwnlHg3wIBXIzPW8sidAfBJSN6dRlG2AcXIOECKVwMG1xTeHb0Tz1cQIiLkYTrKIUP1hUyJzLAmdHhaXwQpLYXvXGZ5Dl5XLqcGMcrELlAIxeQ5NJhpxYd36+McxxtT2bZC13tOK1SaCwMWOSs4qSzPN++pJsLiHNhf5xjoR0L81jIx8I/FgqysJCFiCwFLUu+ABjJQkoWXrJQk4WdLARl4SgLTVmYykJWFr6yUJaFtSzEZeEuC31ZGMySsqAmYSqzsJmF0CycZqE1C7NZyM3CbxaKs6S62CT54joL3VkYz0J6Fudz6rOwn4UALRxooUELE1rI0MKHFkq0sKKFGC3caCmDYBKJJC08aaFKC1taCNPCmRbatDCnhTwt/GmhUAuLWojU8gGFbMmVeURGtZCqhVct1GphVwvBWjjWQrMWprU4/vKthXItrGshXgv3WujXwsAWErbwsIWKLWxsIWQLJ1to2cLMFnK28LOFoi0sbSFqC1db6NrC2BbStvC2hbot7G0hcAuHW2jcwuQWMrfwuYXSLaxucQDidgu9WxjeQvIWnrdQvYXtLYRv4XwL7VuY30L+Fv63UMCFBS5EcOGCCx1cGOFCChdeuFDDhR0uBHHhiAtNXJjiQhYXvhhBRoc1LsRx4Y4LfVwY5EIiFx65UMmFTS6EcuGUC61cmOWSv1tKVBeKubDMhWguXHOhmwvjXEjnwjsX6rmwz4WALhx0oaELE13I6MJHF0q6sNKFmC7g9GWoC0ldeOpCVRe2uhDWhbMutHX5Wsi1nOTorwuFXVjsQmQXLrvQ2YXRLqR24bULtV3Y7UJwF4670NyF6S5kd+G7C+Vd7ip6rYoMue9CfxcGvJDghQcvVHhhwwshYvI0aPHio0qOF368UOSFJS9EeeHKC11eGPNCmhfevFDnhT0vBHrh0AuNXpj0QqYXPr1Q6oVVL8R64dYLvV4Y9kKyF569UO2FbS+Ee+HcC+1emHeVGox/LxR8YeEREHe4+ELHF0a+kPKFly/UfGHnC0FfOPpC0xemvpD1ha8vlH1h7QtxX7j7Qt8XBr+Q+IXHL1R+YfMLoV84/ULrF2a/kPuF3y8Uf2H5C9FfuP6yERZmtj4qVSb0CoQOtv+FADAcgKEBDBNgMiv8xUdUAoYVMMSA4QYMPWCK+ZfHJPYEhiowbIEhDAxnYGgDwxwY8sDwB4ZCMCyCIRIMl2DoBMMoGFLB8AqGWjDsgvmVMbZpo2YwTIMhGwzfYCgHwzoY4sFwD4Z+MAyEEc7lIQwVYdgIQ0gYTsLQEoaZMOSE4ScMRWGsH0SFeeeBrjCMhSEtDG9hqAvDXhgCw3AYhsYwTIYhMwyfYSgNw2oYYsNwG4beMAyHITkMz2Fe/EcguEksPAznYWgPw3wY8sPwH4YCMSyIIUIMF2LoEMOIGFLE8CKGGjHsiCFIDEdiaBLDlBiyxPAlhjIxrIkhTgx3YugTw6AYEsXwKIZKMWyKIVQMp2JoFcOsGHLF8KurA2U9RIvhWgzdYhgXQ7oY3sVQL4Z9MQSM4WAMDWOYGCOmzccYSsawMoaYMdyMoWcMQ2NIGsPTGKrGsDVGiJuzMbSNYW4MeWP4G0PhrgwgkWO4HEPnGEbHkDqG1zOVBWj7wYLHcDyG5jFMjyF7DN9jKB/D+hjix3A/hv4xDJAhgQwPZKggwwYZQshwQoYWMsyQIYcMP2QoIsMSGaLIcEVGsoAxMqSRyQ1Ax4c9MgSS4ZAMjWSYJEMmGT7JUEqGVTLEkuGWDL1kGCZDMhn7d6rJyMYYkJyToZ0M82TIJ8M/JQj6sFCGiDJclKGjDCNlSCnDSxlqyrBThqAyHJWhqQxTZcgqw1etmwWorJUhrgx3Zegrw2AZEsvwWIbKMmyWIbQMp2WSP5AtR24ZfstQXIblMkSX4boM3WUYT5OaiPcy1JdhvwwBZjgwQ4MZJsyQYYYPM5SYYcUMMWa4MUOPGYbMkGSGJzNUmWHLDGFmODNDmxnmzJBnhj8zFJph0QyRZrg0Q6cZRs2I5fJqhloz7Joh2AzHZmg2w7QZss1kWkFujnUzxJvh3gz9Zhg4Q8IZHs5QcYaNM4Sc4eQMLWeYOUPOJXz+UHSGpWVcnaHrDGNnSDvD2xnqzrB3hsAzHJ6h8QyTZ8g8w+clSP+weobYM9yeofcMw2dIPsPzGarPsH2G8DOcn6H9DPNnyD+T+QUBIBbQEIGGCzR0YKpwKiloeEFDDRp20BCEhiM0NKFhCg1ZaPJrCRkg1tAQhy8DSh8aBtGQiIZHNFSiYRMNoWg4RUMrGmbRkIuGXzQUo2EZDdFouMYENyDG0ZCOhnc0eevRB0RAGg7S0JCGiTRkpOEjDSWZUAlETJrdBp1bU2EoDUlpeEpDVRq20hCWhrNgF9diF8nA8tLwl4bCNCymITINl2noTMNoGlLT8JqG2jTspiE4DcdpaG6TjER2Gr4zQd7uKN+5hX0g+tMwoIYENTyooUING2oIUcOJGlrUMKOGHDX8qKFIDUtqiFLDlRq61DCmhjQ3PXMjdIIyAwAUxKGajBiS6shUw6caStWwqoZYNdyqoVcTwoJIVsOzGqrVsK2GcDWcq5HfYV4N+Wr4V0PBGhbWELGGizV0rGFkDSlreFlDzRp21hC0hqM1NK1hag1Za/haQ9kaERHi1nC3hr41DK5xFfO4hso1bK4hdM1JHIMgg82uIXcNv2soXsPyGqLXcL1G4IbxNaSv4X0N9WvYX0MAGw7Y0MCGCTbycXywoYQNK2xcCtywoYcNQ2xIYsMTG6rYsMWGMDacsaGNDXNsyGPDHxsK2bDIhkg2XLKhkw2jbEhlwysbatk8538nmA3HbGhmwzQbstnwzYZyNqyzIZ4N92zoZ8NAGxLa8NCGijZstCGkDSdtaGnDTBty2vDThqI2LLUhqg1Xbehqw1gb0trw1oa6Nuy1IbANh21obMNkGzLb8NmG0jastpFC4rYNvW0YbkNyG57bUN2G7TaEt+G8De1tmG9Dfhv+21DghgU3RLjhwg0dbhhxQ4obXtxQ44YdNwS54cgNTW6YcpMKud5Eytzsn39Oswzu3NDnhkE3JLrh0Q2Vbth0Q6gbTt3Q6oZZN+S64deNjyPLboh2w7Ubut0w7oZ0N2dU/mIa0r4bAt5w8IaGN0y8IeMNH28oecPKG2LecPOGnjcMvSHpDU9vqHrD1hvC3nD2hrY3zL0h7w1/byh8w+IbUcYMuRd5JZWW1De8vqH2DbtvCH7D8Rua3zD9huw3fL+h/A3rb4h/w/0b+t8wAIcEODzAoQKO8CchcDiBQwscZuCQA4cfOBTBYQkOUXC4gkMXHMbgkAaHNzjUwWEPDoFwOIRDIxwm4ZAJh084lMJhFY6JjVs4nbvwlUlSMhye4VANJ60hhcOBmJyzwZ0N9WzgZ8NAGxTaHGCVZcngow0mbWhpA00bdtog1IakNkC14aoNXm0oawNbG+baoNeGwDYgtuGxDZZt6GwDaRtW2yDbhtw2ALfhuA3ObahuA3cbxtug3ob4NuC34b8NBm5ocAOFGzbcIOKGFDfAuOHGDT5uKHIDkxum3KDlhjA3oLnhzQ12buhzA6EbFt0g6YZMN4C64dQNrm6odVN7J0eiG5TdEO0GbDd8u8HcDe1uoHfDvhsE3pDwBog3XLzB4w0lb2B5w8wbdN4Q9AakNzy9EfGl6w1kb1h7g9wb8t4A+IbDNzi+ofINnG8YfYPqG2LfgPuG3zcYv6H5DdRv2H6D+BvS3wD/hvs3+L+hAA4McJiAgwYcQuCAAocXONjAoQcORHBYgoMUHLLgAAaHMzi4waEODnxwGISDIhwi4YAJh084mMKhFQ60cNiFgzAckuEADYdrOHjDoRwO7HCYh4M+HALigBCHhzhYxKEjDiRxWImDTBxy4gAUh6M4OMWhKg5ccRiLg1oc4uKAF4e/OBjGoTEOlHHYjINoHFLjABuH2zj4xqE4DsxxCrLOoG1GeBzQ4/AeB/s49MeBQA4LcpCQQ4YcQORwIgcXOdTIgUcOQ3JQkkOUHLDk8CUHMzm0yRFRTP6goO+QKAdIOVzKwVMOpXJglcOsHHTlECwHZDk8y8FaDt1yIJfDuhzxMPLlADCHgzk4zKFiDhxzGJmDyhxi5oAzh585GM2haQ5Uc9iag9gc0uYAN4e7OfjNoXAOjHOYnIPmHELngDqH1znYzqF3DsRzWJ6D9DSwRwE+h/OJVfCU+jnwz2GADgp0iKADBh0+6GBChxY60NBhhw5CdEiiAxQdrujgRYcyOrDRYY4OenQIpAMiHR7pYEmHTjqQ0mGVDrJ0yKWTwzjGpHCmBjUpuOkwTgd1OsTTAZ8O/9QoKEVDHSiqoVFKKoqUOsDU4aYOPnUoqgNTHabqoFWHsDpSA7zVwa4OfXUgrMNiHSTrkFkH0Dqc1qkQYHn/4a3DcB2U6xBdB+w6fFejvC7tdaCvw34dBOyQYAcIO1zYwcMOJXZgscOMHXTsEGQHJDs82cHKDl12ILPDmh3k7JBnB0A7HNrB0Q6VduC0w6gdVO0QazEnMn7tYGyHZjtQ22HbDuJ2SLcDvB3u7eBvh4I7MNxh4g4adwi5A8odXu5gc4eeOxDdYekOUnfIugPYHc7u4HaHujvw3WHwDop3iLwD5h0+72B6h9Y70N5h9w7Cd0i+A/Qdru/gfYfyO7DfYf4O+ncIwAMCHh7wYIGHDjyQ4GEFDzJ4yMEDEB6O8OCEhyo8cOFhDA9qeIjDAx4e/vBgiIdGPFDiYRMPonhIxQMsHm7x4IuHYjww42EaD9p4CMcDOh7e8WCPh348EORhIQ8SecjIA0geTvLgkoeaPPDkYSgPStmAyptRhFcqzPLQlge6POxlIzAviXmAzMNlHjzzUJoH1mzIpkI3D8F5QM7Dcx6s89CdB/I8rOdBPg/5eQDQhoEqHPRQoQcOPYzoQUUPMXrA0cOPNopU0aQHKj1s6UFMD2l6gNPDnR789FCoB0Y9VyA09RCqB1Q9vOrBVg+9eiDWw7IepPWQrQdwPZzrwV0P9Xrg18PAHhT2ELEHjD187MFkDy17oNnDzh6E9pC0B6g9XO3Baw9le2Dbw9we9PYQuAfEPTzuwXIPnXsg3cPqHmT3kLsH4D0c78F5D9V74N7D+B7U9xC/B/w9FQsoaWEa+EDBhw0+iPAhhQ8wfLjhgw8fivjAxIcpPmjxIYwPaHx444MdH/r4QMiHRT5I8iGTD6B8OOWDKx9q+cDLh2E+KPPJf1yz4pvQYyEv7Kyg58M+HwT6kNAHiD5c9MGjDyV9YOnDTB90+hDUB6Q+PPXJkISrFWR9WOuDXB/yCjko5HfHsQ+VfeDsw2gfVPsQ2wfcPvz2wbgbzK2g7sN2H8T7kN4H+D7c98G/DwV+YPDDhB80/BDiBxQ/vPjBxg89fiDyw5IfpPyQ5QcwP5z5wc0PdX7g88OgHxT9EOkHTD98+sHUD61+oPXDrh+E/ZDsB2g/XPvB2w/lfmD3w7wf9P0Q8AeEPzz8weIPHX8g+cPKH2T+kPMHoD8c/cHpD1V/4PrD2B/U/hD3B7w//P3B8A+Nf6D8w+YfRP+Q+gfYP9z+wfcPxX9g/sP0H7T/EP4H9D+8/8H+D/1/IADEAiAkAJEBCBBAnADCBRA1gOABxBAglAARBQgsQHwBwgwQbYCgA8QeIAQBkQgISEBcAsITEKWAYAXELCB0AREMCGRAPAPCGhDdgCAHxDog5AGRDwiAQBwEwiEQFYHgCMRIIFQCERMInED8BMIoEE2BoArEViDEApEWCLhA3AXCLxCFgWAMxGQgNAMRGgjUQLwGwjYQvYEgDsRyIKQDkR0I8ECcB8I9EPWB4A/EgCAUBBEhCAxBfAjCRBAtgqARxI4ghASRJAgoQVwJwksQZYJgE8ScIPQEESgIREE8CsJSEJ2CIBXEqiBkBZErCGBBHAvCWRDVguAWxLgg1AURLwh8QfwLwmAQDYOgGMTGIEQGkTIImEHcDMJnEEWDYBrE1CC0BhE2CLRBvA3CbhB9gyAcxOIgJAeROQjQQZwOwnUQtYPgHcTwIJQHET0I7EF8D8J8EO2DoB/E/iAECJFACAhCXBDCgxAlhGAhxAwhdAgRRAgkQjwRwooQXYQgI8QaIeQIkUcIQEIcEsKREJWE4CTEKCFUCRFLCFxC/BLCmBDNhKAmxDYhxAmRTgh4QtwTwp8QBYVgKMREITQKEVIIlEK8FMKmED2FICrEUiGkCpFVCLBCnBXCrRB1heArxGAhFAsRWQjMQnwWwrQQrYWgLcRuIYQLkVwI6EJcF8K7EOWFYC/EfCH0CxFgCARDPBjCwhAdhiAxxIohZAyRYwggQxwZwskQVYbgMsSYIdQMEWcIPEP8GcLQEI2GoDTEpiFEDZFqCFhD3BrC1xDFhmA2xLQhtA0Rbgh0Q7wbwt4Q/YYgOMTCISQOkXEIkEOcHMLlEDWH4DnE0CGUDhF1CKxDfB3C7BBth6A7xN4hBA+ReAjIQ1wewvMQpYdgPcTsIXQPEXwI5EM8H8L6EN2HID/E+iHkD5F/CABEHCDCAREViOBAxAgiVBARgwgcRPwgwggRTYigQsQWIsQQkYYIOETcIcIPEYWIYETEJCI0ERGKCFREvCLCFhG9iCBGxDIipBGRjQhwRJwjwh0R9YjgR8RAIhQSEZEIjER8JMIkES2JoEnETiKEEpGUCKhEXCXCKxFliWBLxFwi9BIRmAjERDwmwjIRnYkgTcRqImQTkZsI4EQcJ8I5EdWJ4E7EeCLUExGfCPxE/CfCQBENiqBQxIYiRBSRoggYRdwowkcRRYpgUsSUIrQUEaYINEW8KcJOEX2KIFTEoiIkFZGpCFBFnCrCVRG1iuBVxLAilBURrQhsRXwrwlwR7YqgV8S+IgQWkbAIiEVcLMJjESWLYFnEzCJ0FhG0CKRFPC3CahFdiyBbxNoi5BaRtwjARRwuwnERlYvgXMToIlQXEbsI3EX8LsJ4Ec2LoF7E9iLEF5G+CPhF3C/CfxEFjGBgxAQjNBgRwggURrwwwoYRPYwgYsQSI6QYkcUIMEacMcKNEXWM4GPEICMUGRHJCExGfDLClBGtjKBlxC4jhBmRzAhoRlwzwpsR5YxgZ8Q8I/QZEdAIhEY8NMKiER2NIGnESiNkGpHTCKBGHDXCqRFVjeBqxFgj1BoR1wi8Rvw1wrARjY2gbMRmI0QbkdoI2EbcNsK3EcWNYG7EdCO0GxHeCPRGvDfCvhH9jSBwxIIjJByR4QgQR5w4wsURNY7gccSQI5QcEeUILEd8OcLMEW2OoHPEniMEHZHoCEhHXDrC0xGljmB1xKwjdB0R7AhkRzw7wtoR3Y4gd8S6I+Qdke8IgEccPMLhERWP4HjEyCNUHhHzCJxH/DzC6BFNj6B6xNYjxB6R9gi4R9w9wu8RhY9gfMTkI8daQh+B+ojXR9g+ovcRxI9YfoT0I7IfAf6I80e4P6L+EfyPGICEAiQiIIEBiQ9ImECiBRI0kNiBhBAkkiABBYkrSHhBogwSbJCYg4QeJAIhgQiJR0hYQqITEqSQWIWELCRyIQEMiWNIOEOiGhLckBiHhDok4iGBD4l/SBhEoiESFJHYiIRIJFIiAROJm0j4RKIoEkyRmIqEViTCIoEWibdI2EWiLxKEkViMhGQkMiMBGonTSLhGojYSvJEYjoRyJKIjgR2J70iYR6I9EvSR2I+EgCQSJAEhiQtJeEiiRBIskpiRhI4kgiSBJIknSVhJoksSZJJYk4ScJPIkASiJQ0k4SqJSEpySGJWEqiRiJYEriV9JGEuiWRLUktiWhLgk0iUBL4l7SfhLomASDJOYmITGJEImgTKJl0nYTKJnEkSTWJqE1CSyJgE2ibNJuE2ibhJ8kxichOIkIieBOYnPSZhOonUStJPYnYTwJJInAT2J60l4T6J8EuyTmJ+E/iQCKIFAiQdKWFCigxIklFihhAwlcigBRIkjSjhRoooSXJQYo4QaJeIogUeJP0oYUqKREpSU2KSEKCVSKQFLiVtK+FKimBLMlJimhDYlwimBTol3SthTop8SBJVYqIREJTIqAVKJk0q4VKKmEjyVGKqEUiWiKoFVia9KmFWirRJ0ldirhGAlEisBWYnLSnhWorQSrJWYrYRuJYIrgVyJ50pYV6K7EuSVWK+EfCXyKwFgiQNLOFiiwhIclhixhIolYiyBY4kfSxhZoskSVJbYsoSYJdIsAWeJO0v4WaLQEoyWmLSEpiVCLYFqiVdL2Fqi1xLElli2hLQlsi0BbolzS7hbot4S/JYYuITCJSIugXGJj0uYXKLlEjSX2LmE0CWSLgF1iatLeF2i7BJsl5i7hN4lAi+BeInHS1heovMSpJdYvYTsJXIvAXyJ40s4X6L6EtyXGL+E+iXiL4F/if9LGGCiARMUmNjAhAgmUjABg4kbTPhgoggTTJiYwoQWJsIwgYaJN0zYYaIPE4SYWMSEJCYyMQGKiVNMuGKiFhO8mBjGhDImojGBjYlvTJhjoh0T9JjYx4RAJhIyAZGJi0x4ZKIkEyyZmMmETiaCMoGUiadMWGWiKxNkmVjLhFwm8jIBmInDTDhmojITnJkYzYRqJmIzgZuJ30wYZ6I5E9SZ2M6EeCbSMwGfiftM+GeiQBMMmpjQhIYmQjSBookXTdhookcTRJpY0oSUJrI0afDkTBNumqjTBJ8mBjWhqIlIfa1K5FMTpppo1QStJoW4CGsiWRPQmrjWhLcmyjXBrol5TehrImATCJt42ITFJjo2QbKJlX31xImcTQBt4mgTTpuo2gTXJsY2obaJuE3gbeJvE4abaNwE5SY2NyG6idRNwG7idhO+myjeBPMmpjehvYnwTaBv4n0T9pvo3wQBJxY4IcGJDE6AcOKEEy6cqOEEDyeGOKHEiShOYHHiixNmnGjjBB0n9jghyIlETkBy4pITnpwo5QQrJ2Y5ocuJYE4gc+KZE9ac6OYEOSfWOSHPiXxOAHTioBMOnajoBEcnRjqh0omYTuB04qcTRp1o6gRVJ7Y6IdaJtE7AdeKuE36dKOwEYycmO6HZidBOoHbitRO2nejtBHEnljsh3YnsToB34rwT7p2o7wR/JwY8oeCJCE9geOLDEyaeaPEEjSd2POm2J8kTUJ648oSXJ8o8weaJOU/oeSLQE4j++nOw9ESnJ0g96eJH1hO5ngD2xLEnnD1R7QluT4x7Qt0T8Z7A98S/Jww+0fAJik9sfELkEymfgPnEzSd8PlH0CaZPTH1C6xNhn9wb4EB9L6+bvk/uGsDiJyQ/kfkJ0E+cfsL1E7Wf4P3E8CeUPxH9CexPfH/C/BPtn74oYtsdIQCKBFBAgOICFB6gKAEFC6h1F66YRSQIVMGD6PEEw8kipQvUAWRTqzqfHCiWB4oBgmKHoJgjKFYJinGC0tQPi6ZYUAwXVGGhaDjCPWv0W5GyDQpnSqxIgQdVqEYY+xBeWiTuMcg+0cbhKfQfBq5R1YsEm1D0hIIoFEuhkApFVijAQnEWCrdQ1IWCLxSDoVAMRWQoMEPxGQrTULSG+vGxrT+2/0XJoYAOxXUovENRHgr2UMyHQj8UAaJAEMWDKCxE0SEKElGsiEJGFDmiABLFkSicRFElCi5RjIlCTRRxosATxZ8oDEXRKApKUWyKQlQUqaKAFcWtKHxFUSwKZlFMi0JbFOGiQBfFuyjsRdEvCoJRLIxCYhQZowDZ+9J0FJdR1IyCZxRDo8bHs9XeV+JrFGajaBsF3Sj2RiE4isRRQI7ichSeoygdBesoZkehO4rgUSCP4nkU1qOG9dHB/Yn1UciPIn8UAKQ4IIUDKSpIwUGKEVKokCKGFDik/A0xIkUTKahIsUUKMVKkkQKOFHek8CNFISkYSTFJCk1ShJIClRSvpLAlRS8piEmxTAppUmSTApwUGOacE++cuOfEPycOOvHQiYtOfHTipBMvnbjpxE8njjrx1ImrTnx14qwTb52468RfJw478diJy058duK0E6+duO3EbyeOO/HcietOfHfivBPvnbjvxH8nDjzx4IkLT0qWOfHEiyduPPHjiSNPPHniyhNfnjjzxJsn7jzx54lDTzx64tITn5449cSrJ2498euJY088e+LaE9+eOPfEuyfuPfHviYNPPHzi4hMfnzj5xMsnbj7x84mjTzx94uoTX584+8TbJ+4+8feJw088fuLyE5+fNJvw+kl/Bb+fOP7E8yeuP/H9ifNPvH/i/hP/nzgAxQMoLkDxAYoTULyA4gYUP6A4AsUTKK5A8QWKM1C8geIOFH+gOATFIyguQfEJilNQvILiFhS/oDgGxTMorkHxDYpzULyD4h4U/6A4CMVDKC5C8RGKk1C8hOImFD+hOArFUyiuQvEVirNQvIXiLhR/oTgMxWMoLkPxGYrTULyG4jYUv6E4DsVzKK5D8R2K81C8h+I+FP+hOBDFgyguRPEhihNRvIjiRhQ/ojgSxZMorkTxJYozUbyJ4k4Uf6I4FMWjKC5F8SmKU1G8CsRWGr+iOBbFsyiuRfEtinNRvIviXhT/ojgYxcMoLkbxMYqTUbyM4mYUP6M4GsXTKK5G8TWKs1G8jeJuFH+jOBzF4yi9LxpkOB3F6yhuR/E7iuNRPI/iehTfozgfxfso7kfxP4oDUjyQ4oIUH6Q4IcULKW5I8UOKI1I8keKKFF+kOCPFGynuSPFHikNSPJLikhSfpDglxSspbknxS4pjUjyT4poU36Q4J8U7Ke5J8U+Kg4I4VOOiFB+lOCnFSyluSvFTiqNSPJXiqhRfpTgrxVsp7krxV4rDUjyW4rIUn6U4LcVrKW5LaVTiuBTPpbguxXcpzsv2+rkvxX8pDkzxYIoLU3yY4sQUL6a4McWPKY5M8WSKK1N8meLMFG+muDPFnykOTfFoiktTfJri1BSvprg1xa8pjk3xbBBra3yb4twU76a4N8W/KQ5O8XC0t4GPU5wcxOUaNwfxucbRKZ5OcXWKr1OcneLtFHen+DvF4SkeT3F5is9TnJ7i9RS3p/g9xfEpnk9xfYrvU5yf4v0U96f4P8UBKh5QcYGKD1ScoOIFFTeo+EHFESqeUHGFii9UnKHiDRV3CPHDxiEqHlFxiYpPVJyi4hUVt6j4RcUxKp5RcY2Kb1Sco+IdFfeo+EeIQTYeUnGRio9UnKTiJRU3qfhJxVFCnLJxlYqvVJyl4i0Vd6n4S8VhKh5TcZlKoyWnqXhNxW0qflNxnIrnVFyn4jsV56l4T8V9Kv5TcaCKB1VcqOJDISbaeFHFjSp+VHGkiidVXKniSxVnqnhTxZ0q/lTppORRFZeq+FTFqSpeVXGril9VHKviWRXXqvhW1dWPu2ruVfGvioNVPKziYhUfqzhZxcsqblbxs4qjVTyt4moVX6s4W8XbKu5W8beKw1U8ruJyFZ+rOF3F6ypuV/G7iuOFOG/jehXfqzhfxfsq7lfxv4oDVjwwxIIbH6w4YcULK25Y8cOKI1Y8McSKG1+sOGPFGyvuWPHHikNWPLLikhWfrDhlxStDbLnxy4pjVjyz4poV36w4Z4g7N+5Z8c+Kg1Y8tOKiIR7dOGnFSytuWvHTiqNWPLXiqhVfrThrxVsr7lrx14rDVjy24rIVn604bcVrK25b8duK41Y8t+K6Fd8NMe/GeyvuW/HfigNXPLjiwhUfrjhxxYsrblzx44ojVzy54soVX644c8WbK+5c8eeKQ1c8uuLSFZ+uOHXFqytuXfHrimNXPLvi2hXfrjh3xbsr7l3x74qDVzy84uIVH684ecXLK25e8fOKo1c8veLqFV+vOHvF2yvuXvH3isNXPL7i8hWfrzh9xesrbl/x+4rjVzy/4voV3684f8X7K+5f8f+KA1g8wOICFh+wOIHFC0RsYPMDESNwPMHiChZfsDiDxRss7iDiB45DWDzC4hIWn7CaVHAFxy0sfmFxDItnWHre+YbFOSzeYXEPi39YHMTiIdayGY38nMTiJRY3sfiJxVEsnmJxFYuvWJzF4i0Wd7H4i8VhLB5jcRmLz1icxuI1Frex+I3FcSyeY3Edi+9YnMfiPRb3sfiPxYEsHmRxIYsPWZzI4kUWN7L4kcWRLJ5kcSWLL1mcyeJNFney+JPFoSweZXEpi09ZnMriVRa3sviVxbEsnmVxLYtvWZzL4l0W97L4l8XBLB5mcTGLj1mczOJlFjez+JnF0SyeZnE1i69ZnM3ibRZ3s/ibiOE4HmdxOYvPWZzO4nUituP4ncXxLJ5ncT2L71mcz+J9Fvez+J/FAUUcyAkB8UGLE1q80OKGIj7kOKLFEy2uaPFFizNavFHEjhx/FDEkxyMtLmnxSYtTWrzS4pYWv7Q4psUzLa5p8U2Lc1q80+KeFv+0dmgp9OeiFh+1OKnFSy1uKuJTjqNaPNXiqhZftTirxVst7mrxV4vDWjzW4rIWn7U4rYhrOW4r4luO41o81+K6Ft+1OK+Ieznua/FfiwNbPNjiwhYfFjExx4stbmzxY4sjWzzZ4soWX7Y4s8WbLe5s8WeLQ1s82uLSFp+2OLXFqy1ubfFri2NbPNvi2hbftji3xbst7m3xb4uDWzzc4uIWH7c4ucXLLW5u8XP2fVxxOsfVLb5ucXaLt1vc3eLvFoe3eLx6Po7ocXqL11vc3uL3FscXcT7H9S2+b3F+i/db3N/i/xYHuHjAxQVGPNBxgosXXNzg4gcXR7jcvoIrXG7KwBku3nBxh4s/XBzi4hEXl7j4xNUajys6bnHxi4tjXDzj4hoX37g4x8U7Lu6B9RfiIBcPubjIxUcuTnLxkoubXPzk4igXT7m4ysVXLs4y4paOu1z85eIwF4+5uMzFZy5Oc/Gai9tc/GbEOB3PubjOxXcuznPxnov7XPzn4kAXD7q40MWHLk508aKLG1386OJIF0+6uNLFly7OdPGmETt1/OniUBePurjUxacuTnXxqotbXfzq4lgXz7q41sW3Ls518a6Le1386+JgFw8bsVjHxy5OdvGyi5td/OziaBdPu7jaxddGzNbxtou7Xfzt4nAXj7u43MXnRkx387qL21387uJ4F88bsd7dUo/5Ot53cb+L/10ccMSBHRe8boUJO154ccOLH14c8eKJF1e8+OKIGTveeHHHiz9eHPLikReXvPjkxSkvXnlxy4tfXhzz4pkX1xzxZsc5L955cc+Lf14c9OKhFxe9+OjFSS9eenHTi59eHPXiqRdXvfjqxVkv3npx14u/Xhz24rEXl7347MVpL157cduL314c9+K5F9e9+O7FeS/ee3HfEf92HPjiwRcXvvjwxYkvXnxx44sfXxx55OUXVu748sWZL958ceeLP18c+uLRF5e++PTFqS9efXHri19fHPvi2ZdVhW9fnPvi3Rf3vvj3xcEvHn5x8YuPX5z84uUXN7/4+YjRO55+cfWLr1+c/eLtF3e/+PvlPkY8/uLyF5+/OP3F6y9uf/H7i+NfPP/i+hffvzj/xfsv7n/x/4sDYDwA4wIkHvA4AcYLMG6A8QOMI5A4weMKGF/AOAPmFlfcAeMPGIfAeATGJTA+gXEKjFdg3ALjFyTGwHkGxjUwvoFxDox3YNwD4x8kBvF4CMZFSDzicRKMl2DcBOMnGEfBeArGVbC58hFLwFtI7OLxF4zDYDwG4zIYn8E4DcZrMG6D8RuM42DNcFjH4zsY58F4D8Z9MP6DcSCMB2FcCONDJCbyeBHGjTB+hHEkEid5XAnjSxhnwngTxp0w/oRxKIxHkVjK41MYp8J4FcatMH6FcSyMZ2FcC+NbGOfCeBfGvTD+hXEwjIdhXAzjYxgnw3gZxs0wfoZxNIynYVyNxGseZ8N4G8bdMP6GcTiMx2FcjsRzHqfDeB3G7TB+h3E8jOdhXA/jexjnw3gfxv0w/oe5IxQPxLggxgcxTojxQsw9HfkhxhExnkhiRY8vYpwR440Yd8T4I8YhMR6JcUmMT2KcEuOVGLfE+CXGMTGeiXFNjG+SmNNrDsWeHv/EOCiJQz0uSuJRj5NivBTjphg/xTgq5haB1gq+inFWjLdi3BXjrxiHxXgsxmUxPotx2qw1jdti/BbjuBjPxbguxncxzovxXoz7YvwX48AYDyaxsMeHMU5M4mKPG2P8GOPIGE/GuDLGlzHOjPFmjDuT+Nnj0BiPxrg0xqcxTo3xaoxbY/wa49gYz8a4Nsa3Mc5N4m6Pe2P8m8TgHg/HuDjGxzFOjvFyjJtj/Bzj6BhPx7g6xtcxzo7xdoy7Y/wd4/AYj8e4PMbnMU6P8XqM22P8HuP4GM/HuD7G9zHOj/F+jPtj/B/jABkPyLhAxgcyTpDxgowbZPwg4wgZT8i4QsYXMs6Q8YaMO2T8IeMQJY74uETGJzJOkfGKElt8/CLjGBnPyLhGxjcyzpHxjox7ZPwj4yAZD8n6ffHIx0kyXpJxk4yfZBwl4ykZV8n4SsZZMt6ScZeMv5QY5uMxGZfJ+EzGaTJek3GbjN9kHCfjORnXyfhOxnky3lNin4//ZBwo40EZFyrx0MeJMl5UYqOPH2UcKeNJGVcq8dLHmTLelHGnjD9lHCrjURmXyvhUxqlKXPVxq4xfZRwr41kZ18r4Vsa5Mt6Vca+Mf2UcLONhGRfL+FjGyTJelnGzjJ9lHC3jaRlXy/haxtlK3PZxt4y/ZRwu43EZl8v4XMbpMl6XcbsS330cL+N5GdfL+F7G+TLel3G/jP9lHDDjgRkXzPhgxgkzXphxw4wfZhwx44klVvz4YsYZM96YcceMP2YcMuORGZfM+GTGKTNemXHLEl9+HLPEmR/XzPhmxjkz3plxzxJ/fhw046EZF834aMZJM16acdOMn2YcNeOpGVfN+GrGWTPemnHXjL+WGPbjsRmXzfhsiWk/Xptx24zfZm79ynMzrpvx3Yzzlrj3474Z/804cMaDMy6c8eGME2e8OOPGGT/OOHLGkzOunPURwcw5by6x88efMw6d8eiMS2d8OuPUGa/OuHXGrzOOnfHsjGtnfDvj3FlTPvb++HfGwTMennHxjI9nnDzj5Rk3z/h5xtEznp5x9YyvZ5w94+0Zd8/4e+beuDw+4/IZn884fYnrP26f8fuM42c8P+P6Gd/POH/G+zPun/H/jANoPEDjAhof0DiBxgs0bqDxAxMjgDxB4woaX9A4g8YbNO6g8QeNQ2g8QuMSGp/QOIXWKMAWIL/QOIbGMzSuofENjXNovEPjHhr/0FpUcAjIRTQ+onESE5eA3ETjJyZGAXmKxlU0vqJxFo23aNxF4y8ah9F4jMZlND6jcRqN12jcRuM3GsfReI7GdTS+o3EeE/eA3EfjPyYGAnmQxoW0JgdMBPIiExuB/EjjSBpP0riSxpc0zmTiJpA7afxJ41Aaj9K4lManNE6l8SqNW2n8SuNYGs/SuJbGtzTOpfEujXtp/EvjYBoP07iYxsc0TqbxMo2bafxM42gaTzOxms7XNM6m8TaNu2n8TeNwGo/TuJzG5zROZ+I60J0w+Z3G8TSep3E9je9pTQS4D+R+Gv/TOKCJA0EuqPFBjRNqvFDjhpp7S3JEjSdqXFHjixpnNHEjyB01/qhxSK31FEuCfFLjlBqv1Lilxi81jqnxTI1ranxT45wa79S4p8Y/NQ6q8VCNi2p8VOOkGi/VuKnGTzWOqvFUjatqfFXjrBpv1birxl81DqvxWI3LanxW47Qar9W4rcZvNY5r4lyQ65p4F+S8Gu81sS/Ygo+BdR6scWGND2ucWOPFGjfW+LHGkU2cDHJlEy+DnFnjzRp31viziaFBHq1xaRNPg5xaq2fCko2vQY6t8WyNa2t8W+PcGu/WuLfGvzUObuJwkItrfFzj5Bov17i5xs81jq7xdI2ra3xd4+ya4AJ31/i7xuE1Hq9xeY3Pa5xe4/Uat9f4vcbxNZ6vcX2N72ucX+P9GvfX+L/GATYesHGBjQ9snGDjBRs32PjBxhE2nnBihZAvnJgh5A0bd9j4w8YhNh6xcYmNT2ycYuMVG7fY+MXGMbaGEtYI+cbGOTbesXGPjX9sHGTjIRsX2fjIxkk2XnJik5CfbBxl4ykbV9n4ysZZNt6ycZeNv2wcZuMxG5fZ+MzGaTZes3Gbjd9sHGfjORvX2fjOxnk23rNxn43/bBxo40EbF9r40MaJNl60caONH20caeNJG1fa+NLGmTbetHGnjT9tHGrjURuX2vjUxqk2XrVxq03POcfaeNbGtTa+tXGujXdt3GvjXxsH23jYxsU2PrZxso2Xbdxs42cbR9t42sbVNr62cbaNt23cbeNvG4fbeNzG5TY+t3G6jddt7i/A7zaOt/G8jettfG/jfBvv27jfxv82DrjxwI0Lbnxw44QbL9y44cYPN4648cSNK258ceOMG2/cuOPGHzcOufHIjUtufHLjlBuv3Ljlxi83jrnxzI1rbnxz44ecUwOeGvnUEKjGQjUoqtFRDZNqvFQDpxpB1VCq5l+zgasaZdVwq8ZdNQCrkVgNyWpsVoO0Gq3VsK3GbzWQqxFdDe1qjFeDvRr11fCvxoE1IKyRYQ0Ra6xYg8YaPdYwssaTNbCsEWYNNWvMWYPPGoXWcLTGpTVArZFqDVlr7FqD2BrNBql2x7c10K0Rbw19awxcg+EaFdfwuMbJNWCukXMNoWssXYPqGl3XNBfwdg28awReQ/Eak9fgvEbpNVyvcXsN4GskX0P6GtvXIL9G+zXsr+lzBAEbEdjQwMYINliwUYMNH2wcYQMKG1nYEMPGGjbosNGHTYcjj9jAxEYoNlSxMYsNXmwUY8MZIdbwAMdGOjbksbGPDYJsNGTDIhsf2UDJRkw2dLIxlA2mbFRlwysbZ9mASwhePASzsZgNymx0ZsM0G6/ZwM1GcDaUs9V0Ziwe1dlwz8Z9NgC0kaANCW1saINEGy3asNHGjzaQtBGlDS1tjGmDTRt12vDTxqE2ILWRqQ1Rbaxqg1Ybvdow1sazNrC1Ea4NdW3Ma4NfGwXbcNjGxTZAtpGykJh57GyDaBtN27Daxtc20LYRtw29bQxug3EbldvwXIjpVmC3kbsN4W0sb4N6G93bMN/G+zbwtxHADQVuTHCDg5vecVy4ccMNIG4kcUMKXO2KkHGjjRt23PjjBiJDIOmhyY1RhqzSo5Ybvtw45gY0N7K5Ic6NdW7Qc6OfGwbdeOgGRjdCuqHSjZlu8HSjqBtO3bjqBlg30roh1429bhB2o7EhlfX47Kb7jdhu6HZjuBvM3ajuhnc3zhvyXo/8bgh4Y8EbFN7o8IaJN14ccmOPIG8oeWPKG1zeKPOGmzfuvAHojURvSHpj0xukDmG1h603fr2B7I1ob2h7Y9wb7A6ht4e/Nw6+AfGNjG+IfGPlGzTf6PmG0TeevoH1rWJp0u4x9w2+bxR+w/Ebl98KJYJ6D9lv7H6D+BvN37D+xve3SueBv4f+NwbAwQCOCnB4gOOEXIOYHHAIgWMJHFTg6AKHGTjewIEHjkCIJOJjEhyc4CgFhys4bsEBDI5kcEiDYxsc5OBoB4c9OP7BgRCOiHBohGMkXP0b0OTDJxxH4XTykBUOsXCshYMuHH0RKczHYzgwwxEaDtVwzIaDNxzF4XAOx3U4wMtpm21MsR8OAnE0iMNCHB/iQBFHjDh0xDEkDiZxVInDSxxn4oATR544BCWiqA9KcXSKw1Qcry47qRMsDmWJSOuDWxzl4nAXx704AMaRMA6JcWyMg2QcLeOwGcfPOJDGETUOrXGMjYNtHHXj8BvH4UQe95E5DtFxrI6Ddhy94zAex/M4sMcRPpH0fW6gAv/MipBxIMcFOUBolopChlxt7Azxo4kcVuT4glmhPHHk0CPHIDkYyVFJDk9ynJIDliK4/CpVQpkf1OToJoc5Od7JgU+OgHIolGOiHBzlKhampR835QAqR1I5pMqxla43k7Zy2JXjrxyI5ar3IbMfo+VgLUdtueY4jMsCXY7scohXRL0f9OXoL4eBOR4scuGPEHOomGPGXIXsEJnFyRxX5gAzR5o5d9xhzxyE5mg0h6W5GuA49UesOXTNMWwOZnNUi93XyLk54M2Rbw6Bc11TTPyj4xwm53g5B85FgN5VEcHUx70GVdHjdo67cwCeI/EckhfR/AfpOVrPYXuO33MgnyP6XAWlKmpY/0f9OfzPcYAOCHRkoEMEnWcFQy+hSzNQGHEC2NYFMICosWvShQ8dhehwxIglQEDRkYoOWYzoAoQYI8wAscaIN0DQ0RGPDn12HVZhSEdFOjzScZIOmHTkZCQoIEvp3CKHrnSYtas3G7x0BKZDMR2T6eBMR2m6WsixDQhwOpLTIZ0R7YCQB22wtMThHxAEdURoJENem6u2ONAIxEcjRgL1I5KlDjF1Ot6hU0efOgzV8agOTHWEqkNVHbPq4FXX3EWzWq7VAa6OdHXIq2NfIwMDaViHxTo+1oGyjph16KxjaB1M66hah9e6Wpd5G9g1ReBAFtdBubOfhOk6XteBu47gdShvRHog3OsoX9eRE/uBALAjgV1nVzQIQsKOFnbYsOOHHUjsiGKHFjvG2MHGjjp2+LHjkB2Q7Mhkhyg7VtlBy45edhiz45kd2OwIZ4c6O+bZwc+OgnY4tOOiHSDtSGmHTDt22kHUjqZ2WLXjqx1o7Yhrh147BtvB2I7Kdni247QdsO3IbYdwO5bbQd2O7naYt+O9HfjtCHCHgjsm3MHhjhJ3uLiTHAHIHUnukHLHljvI3NHmDjt3/Lnr+54U6Q5Nd4y6g9Udte7wdcexO6Ddke0OcXesu4PeHf3uMHjHwzsw3hHyDpV3zLyD5x1F73B6x9U7wN65Kxdy79h7B+E7Gt9h+Y7Pd6C+I/Yduu8YfgfzO6rf4f2O83fAvyP/HQLwWIAHBTw64GECjxd44MAjCB5K8JiCBxc8yuDhBo87eADCIxEekvDYhAcpPFrhYQuPX3ggwyMaHtrwGIcHOzzq4eEPj4N4QMQjIx4i8ViJB008euJhFI+neGDFIyweavGYiwdfPArj4RiPy3iAxiM1HrLx2I0HcTya42Ed8tzhF/R4xMdDPx4D8mCQR4U8PORxIg8YeeTIQ0geS/KgkkeXPMzk8SYPPHnuBYyiPCblwSnP3XtxlcetPIDlkSwPaXlsy4NcHu3ysJfHvzwQ5hExD415jMyDZR418/CZx9E8oOb5/wZDbB5r86CbR988DOfxOA/MeYTOQ3Ues/PgnUfxPJzncT0P8Hmkz0N+HvvzIKBHAz0s6PFBDxR6xNBDhx5D9GCiRxU9vOhxRg84euTRQ5Aei/SgpEcnPUzp8UoPXHoE00OZHtP04KZHOT3c6XFPD4B6JNRDoh4b9SCpR0s9bOrxUw+kekTVQ6seY/Vgq0ddPfzqcVgPyHpk1kO0Hqv1oK1Hbz2M6/FcD+x6hNdDvR7z9eCvR4E9HOxxYQ8Qe6TYQ8YeO/YgskeTPazs8WUPNHvE2UPPHoP2YLRHpT087XFqD1h75NpD2B7L9qC2R7c9zO3xbg98ewTcQ+EeE/fguEfJPVzucXMPoHsk3UPqHlv33IuXtnvY3ePvHoj3iLyH5j1G78F6j9p7+N7j+B7Q98i+h/g91u9Bf4/+exjg4wEfGPgufHY/jQeK8OGEjyt8gOEjDR9y+NjDByE+GvF93I/FONXPOtWSP9Z39S2Y8VGND298/JBzesTTY58eBfV4qEdGPUbq0VKPm3oE1WOpHlX1+KpHWj3m6tEXtEMzkfXYDHrcKnmtR249huvRXI/reoTXY70e9fXKM4PgkAl7dNjjRGjZKHbsUWSPJ3tk2WPMnhIK7uwRaI9Fe1Ta49MeqfaYtUevPY5NAu2QbXuU2+PdngQpA/douMfFPULusXKPmnv83CPpHlP36LrH2T3i7rF3j8J7PN4j8x6j92g9ie1Dgu+xfI/qe3zfI/0e8/fov8cBPiLwsYGPEny84CMHH0P4aMLHFT7C8LGGjzp8/OEjER+T+OjExylKYPGyi49ifDzjIxsf4/hox8c9PgLysZCPinx8pAQlIjP56MnHUT6i8rGVj7J8vOUjLyWCEWnMx2U+QvOxmo/afPymBDki0/nUAnCej/h87OejQB8P+sjQx4g+WvRxo48gfSzpo0ofX/pI08ecPvr0caiPSH1s6qNUH6/6yNXHsD6a9XGtj3B9rOujXh//+kjYx8Q+OvZxsq/iKHT2UrSPp31k7WNsH237uNtH4D4W91G5j899pO5jdh+9+zheCfREtvdRvo/3feTvY4AfDfy44EcIP1b4UcOPH34k8WOKH10sMaNIHD/2+FHIEkeKZPJjlB+t/KwDBPNjmR/V/PjmRzpL5CnSz4+DfkT0Y6MfJf146UdOP4b60dSPq36E9WOtH3X9+OtHYj8m+9HZj9N+xPZjtx/F/XjuR3Y/xvvR3o/7fgT4Y8EfFf748EeKP2b80eOPI39Eia9chDJ/vPkjzyWCFmn0x6W/krioWqTWH7/+SPbHtD+6/XHuEniL7Puj4B8PA8scV2kDy0Vu/hH0j6V/VP1rSQbtL3P/6PvH4T8i/7H5j9J/vP4j9x/DS29oJtf/CP/H+j/q/6l7IgEgEwDpAMgJQGIAsgOQIoA8ASxxjhhG2gByB5BAgCwCpBIgnwBJBcgsTHgxcgyQaIBsA6QcIO8AyQfIQEAaAnIRkJCArASsbBWfwCQFZCogXQE5C0hcwK4TCDPyGJDMgIwGpDUgtwEJDshyQKoD8h2Q9IDMB6Q/IAcCiRDIhkBKBPIikByBDAmkSSBXAgkTyJpM6DTyJ5BEgUwKpFMgpwKJFciuQIoF8iyQbIFV8sIumHuBBAxkYSYUG/k4WOUMMwPpGcjRQKJmorWRsqfXUpO8gQzOhHEjlwMJHcjqQGoH8juQ5IFMD6R7IOfnq6ZgfyAFBHkgSAbBlhxYCHNDkCCCLBGkiiBfBEkjyBxB+ghySJBIgmwSpJQgrwTJJcgwQZoJck2QcIKsE6SeIP8ESSjIREE6amLSkZiC7BSkqCBPBckqyFhB2gpyV5DAgiwWpLIgnwVJLchsQXoLclyQ6IJsF6S8IO8FyS/IgEEaDHJhkBCDrBikRusrMUgyyJRBugxyZhM4j+wZrJwQR8NkGmTUIK0GuTVIsEGWDVJtkG+DpBtk3iD9Bjk4SMTBdtW7cFFZTc5Bhm7C9JGrm4B9ZO0gdQf5O0jiQSYP0nmQ04PEHmT3IMUHeT5I9kHGD9J+sFw0ACBZQEgFQj4QkoKQGYT0IOQIIVEI2UJIGcNziwoeSAYR0oiQS4SEImQVJ7Qg+UVIMkKmEdKNkHOExCNkHyEFCXlISEZCRhLSkpCbhAQlZCkhVQmrzwAtJHMJ6UvIYUIiE7KZkNKEvCYkNyHDCWlOyHVCwhOynpD6hPwnJEEhEwrpUMiJQmIUsqOQIoU8KSRLIWMKaVPInUICFbKokEqFfCokVSGzCulVyLFCohWyrZByhbwrJF8hAwtpWMjFQkIWsrKQmoX8LCRpIVMPL1NntabAjWRvJ4QjeVxI5kJGF9K6kNuFBC9keSHVC/leSPpC5hfSv5ADnkCQZIMhJQx5YUgOQ4YY0sSQK4aEMWSNIXUM+WNIItmXKsBJklOGxDJklyHFDHlmSDZDxhnSzpB7hgQ0ZKEhFQ35aEhKT2RK0tOQo4ZENWSrIWUNeWtIXkMGG9LYkMuGhDZktSG1DfltSHJDphvS3bBoBfCN2W9IgUMeHJLhkBGHtDjkxiFBDllySJXXx15AM8mcQ/occuiQSIdsOqTUIa8OyXXIsEOaHXLtkHCHrDuk3iH/Dkl4yMRDOh5y8pCYh+w8pGhiCzlZDxl7SNtP7E4S+JDFh1Q+5PMhqQ+ZfUjvQ44fEv0wJH4fKeL9ocJcBiDSAJELiIRAZAUiNRD5gUgSRKYg0gWRM4jEAUUPJYUQeYRIJkRGIdIKkVuIBENkGSLVFFu3SYfIPET6IXIQkYiIbESkJCIvEcmJyFBEmiJyFZGwiKxFrHwav5QkRmQyIp0ROY1IbER2I1IckeeIZEdkPCLtYV8UC4BKFiRSYb/YGCkSmZFIj0SOJBIlkS2JlEnkTSJ5EhmUSKNELiUSKpFVidRKLO4JskqmJdItkXOJxEtkXyIFFyvAb2wgspKWidxMJGgiSxOpmsjXUNAmV3kO30oOJxI5kc2JlE7kdSK5ExmeSPNEricSPpH1idRP7EgAAksmKNJBkROKxFBkhyJFFHmiSBZFxijSRpE7igRSZJEilRT5pEgqRWYp0kuRY4pEU2SbIuUUeadIPkUGKtJQkYuKhFRkpSI1FfmpSFJFpirSVZGzisRVZK8ihRV5rEhmRUYr0lqR24oEV2S5ItUV+a5IekXmK9JfkQOLRFhkwyIlFnmxSI5FhizSZJEri4RZVE1InUX+LJJokUmLdFrk1CKxFtm1SLFFni2SbZFxi7Rb5N4iARdZuEjFRT4uknKRmYv0XOToIlEX2bpI2UXeLpJ3kcGLNF7k8iKhF1m9SO1Ffi+SfJHpi3Rf5Pwi8RfZv0gBRh4wkoGREYy0YOQGI0EYWcJIFUa+MJKGkTmM9GHkECORGNnESClGXjGSi5FhjDRj5Boj4RhZx0g9Rv4xkpCRiYx0ZOQkIzEZ2clIUUaeMpKVkbGMtGXkLiOBGVnMSGVGPjOSmpHZjPRm5Dgj0RnZzkh5Rt4zkp+RAY00aORCIyEaWdFIjUZ+NJKkkSmNdGnkTCNxGtnTSKFGHjWSqZFRjbRq5FYjwRpZ1ki1Rr41kq6ReY30a+RgIxEb2dhIyUZeNpKzkaGNNG3kaiNhG1nbSN1G/jaSuJHJjXRu5HQjsRvZ3UjxRp43kr2R8Y20b+R+IwEcWeBIBUc+OJLCkRmO9HDkiCNRHNniSBlH3jiSx5FBjjRy5JIjoRxZ5UgtR345ksyRaY50c8TDOMcIeYzox5iVnpCICY+MSMkImoz4yQiljKjKCLCMWMsIu4wIzAjGjLjMCNGMaM0I3IwYzgjnjMjOCPKMeM8I/Ywo0AgIjdhQihKZiNEIHo040ggpjejSCDSNmNMIP41I1AhKj20UoaoRtRoBrBHLGmGtEeEe28zhXiMENqJhIzA2YmQjXDYiZyOINuJpI7Q2omwj4DZibyMMNyJyIzg34nQjZDeidyOQN2J6I7w3In0j6DfifyMUOKKCI0A4YoUjbDgiiCOYOOKKI8SYgo0m8DhikCMcOSKTI0g54pUjdJmCmCagmUKbJsw5Ip4j+DnioCMkOqKjI1A6YqYjfDoiqSOoOuKrI9Q6oq4jADtisSMsOyK0I1g74rYjhDuiuSOwO2K8I9w7Ir8jCDziwSM0PKLEI2A8YscjjDwiyiO4POLMI+Q8os8jENXWzQRPj0j1CFqP+PUIZY+o9ghwj1j3CHuPCPgIho+4+AiRj2j5CJyPGPoIp4/I+giyj3j7CL2PKPwIyI/Y/AjTj4j9CN6POP4I6Y/o/gj0j5j/CP+PSICKCZz4gIoUnKiBih+cFUChCifCQIKNZGUfEASJRpDAhApRnHAFiVyQIAaJZ5DQBolykIAHiX2QMAiJiJDgCImTkJAJiZ6QQAqJqZDwCom0kKALib+QUAyJypAADYnVkLANieCQYA6J65AQD4n2kMAPiQGRcBCJDJEgEYkXkdARiSKRgJIKLZ0wE4k4keATiUORkBSJTpFAFYlZkfAViWSRoBaJb5FQF4l6kQAYiYWRsBiJkJFgGYmbqQjaiaaRwBqJsZFwG4m8kSAciceR0ByJ0pGAHYndkTAeiei9lT/jfCTkR6J/JBBIYoIkPKgChSdoSOKHJJRIoookwEhijSTsSCKQJBhJ4pIkREmilSRwSWKYJJxJIpskyEninST0SaKgJCBKYqMkTEoipip2euKoJKRKoqsk0EpiriT8SiKxJChL4rMkVEuitiSAS2K5JKxLIrwk2EviviQETKLBJDBMYsQkXEwixySITOLJJLTklk8CnEnsmYShSUSaBKdJnJqErFXw+gSySUybhLdJpJsEvUn8m4TCSVScBMhJrJyEzUkEnQTTSVydpJoJbSeBt7LSbjierOIZoz/xehK6J1F8EtAnsX0S5icRfxL8J3GAFRFA0YESKCgxgxI+KJGEElQo8YUSaihRhxKAKLGIEpYoEYoSrChxC7gEKZpRAhslxlHCHSXyUYIgJR5SQiMlSlICJit0gsIoJaJSgislzlJCLiX6UgIxJSZTwjMlUlOCNit8g0I5JapTAjwl1lPCPiUCVIJBJS5UQkQlWrTiRjWGVMJJJbJUgkwl3lRCTyUKVQJSJTZVwlQlYlWCVyWOVUJaJbpVAl1lTRHoF4qElaBYiY+VUFmJmpUAWomllbBaibCVYFuJu5XVJ4JxKDBXYnQlXFcidyWIV+J5JbRXonwl4FdifyUMWCKCJThY4oQlZFiihyuOiGKKJbxYIo0l6FjijyUUWaKSJUBZYpUlbFkimCWYWZYTRzjrNpe4J4qBlnBoiYyWIGmJl5ZlMEFUtCYGaBWFWUvEtQRfSxy2hGRXcBYFaswuC/i2RHJLULfEd0uot0R9SwC4xIJLWLhEiEuVQb2G6hByiSaXwHKJMZdwc4k8lyB0iUeX0HRZHTJejWLXJYxdItoluF3i3CXkXaLfJRBeYuIlPF4i5SVoXuLnJZReouolwF5i7SXsXiLwJRhf4vIlRF/WkILboxh+CeeXFXbE/Sjcj0L/JQpgAgImNmDCBCZiYIIHJo5gQgomumACDSbmYMIPJhJhghImPmFCFSZqYQIYJpZhwhomwmGCHSbuYUIgJhpi0pWJkZhwiYmcmCCKiaeY0IqJspiAi4m9mDCMiciY4IyJ05iQjYnemECOiemY8I6J9Jigj4n/mFCw2REUIDKxIhM2MhEkE0wycSUTYjLRJhN4MjEoE44ykSkTpDLxqrjqOxTLBLRMbMuEuUzEywS/TBzMhMRMdMwEykzMzITPTCTNBNVMfA2ukgx1MwE4s85KVC5F6My6hmE7G8Iz0TwT2DMxPhPuM5E/EwQ08UATGmRBwhQwNLFDE0Y0EUUTXDRxRhNyNNFHE4g0MUkTnjSRShO0NPFLE8o0UU0T4DSxThP2NBFQFgtNK5dFSFO01AROTQzVhFNNZNUEWc2agJHXFIVl8dgUmzVhWhOxNcFbE8c1IV0T3TWBXhPzNeFfEwlmdxKGhnao2ESNTQDZxJJNWNmsUA1rTnFnE4I20WgTmDYxahOuNpFrE8Q28WwT2jZRbhPwNrFvEwY3EXETHDsrca7PFjy3gXQTUzfhdRNpN0F3E383oXgTlTcBehOrN2F7s+pULD/F9U2I30T7TeDfxABOOOBEBk6Q4MQLTujgRBFOQOFsh4MyqIjDCT6cOMQJSZzoxAlUnJjFCV+cSMYJapz4xgl1nKjHCYCcWMgJi5wIyQmWnLjJCaGcaMoJrJwYywm3nMjLCcKceMwJzZwozQnYtNCNCuOciM4J7pw4T4v4qOjvWYIREzrhoRMpOkGjEz86oaQTVToBphNrOmGnE4E6wagTlzohqhOtOoGrE8M64awT2TpBrhPvOqGvEwU7AbETGzthshMxO8GzE0c7IbUTXTuBthNzO+G3E4k7QbkTnzuhuhO1OwG8E8s7Yb0T4TvBvhP3OyHAEw08gcETIzzhwhM5PEHEE088ocUTZTwBxxN7PGHIE5E8wckTpzwhyxO9PIHME9M84c0T6TxBzxP/PKHQExU9AdITKz1h0xNBPcHUE1c9IdYTbT2B1xODPeHYE5k9QdoTrz2h2xPFPQHdE9s9Yd4T8T3B3xMHPiHhEx0+geITMz7h4xNJPkHlE18+oeYTdT4B6BOLPmHpE6E+weoTtz4h7BPNPoHtE+M+4e4T+T5B8BMPP6HxEyU/AfMTOz9h9BNRP8H1E2c/IfcTfT+B+BOTP+H5E6k/QfsTvz+h/BPVPwH+E+s/Yf8TAUDBABQXQCECFC1AgQMUQ0DhBBRZQEEGFG9AoQcUhUABCRSbQGEKFLFAwQsUx0AhDRTdQIEOFPNA4Q8UCUFBERQfQaESFDVBARQUS0FhFRRhQcEWFHdBIRgUjUGBGRSjQeEaFLlBQRwUz0GhHRTlQQEfFPtBYSAUEULBIRQnQiEjFD1CgSQUU0LhJRRpQkEnFH9CoSgUlUIBKhSrQmErFMFCwSwU10IhLhTtQoEvFAND4TAUGUNBMhQvQ6EzFEVDATUUW0NhNhRxQ8E3FIdDITkUnUOBOhSzQ+E7FMlDQT0U30OhPhT1QwFAFAtEYUEUIUTBQhQ3RCFEFE1EgUUUY0ThRhR5REFIFI9EoUkUpUQBSxS7RGFMFNFEwU1U50A1D1T/QLUQVBdBNRJUL43JhOkoqKaC6iuo1oLqLqgGg+oxqDaD6jSoZoPqN6iWg+o6qMaD6j2o9oPqQKgmhOpDqFaE6kaohoTqSai2hOpMqOaE6k+oFoXqUqhG5cpVq3aF6liopoXqW6jWhepeqAaG6mGoNubKZKtmhupnqJbmymqrxobqbaj2hupwqCaH6nOoVofqdqiGh+p5qLaH6nyo5ofqf64UuOqCqEaI6oWodojqiKimiOqLqNaI6o6oBonqkag2ieqUqGaJ6peolunKmqvGieqdqPaJ6qCoJorqo6hWiuqmqIaK6qmotorqrKjmiuqvqBaL6rKoRovqNXPvm46Larqovotqvajui2rAqB6MasOoTuxKxqt+jGrJMkVAGjOqN6PaM6pDo5o0qk+7UvWqW6MaNqpno8w9MveqeaP6N6qFo7o4qpGjejmqnaM6Oqqpo/o6qrWjujuqwaN6PKrNozo9qtmj+j2q5aO6Pqrxo3o/qv2jOkCqCaT6QKoVpLpBqiGkekKqLaQ6Q6o5pPpDqkWkukSqUaR6RapdpDpGqmm88gardaS6R6qBpHpIqo2kOkmqmaT6ySulsLpKqrGkekuqvaQ6TKrJpPpMqtWkuk2q4c5lvbWdlAyA5MPqP6kWlOpCqUaU6kWpdpTqSKmmlOpLqdaU6k6pBpXqUa80xZIbkKxY/SrVslJdK9W4Ur0r1b5SHSzVxFJ9LNXK0v1h8nmvp6XaWqqzpZpbqr+lWlyqy6UaXarXp1Wvy3i5ppfqe6nWl+p+qQaY6oGpNpjqhKlmmOqHqZaY6oqpxpjqjan2mFIZKUmy+mSqVaa6Zaphpnpmqm2mOmeqeab6Z6qFprpoqpGmemmqnaY6aqqpvvIqq7WmumuqwaZ6bKrNpjptSkpLvmW13FTXdTdP6b2p9pvqwKkmnOrDr1Sc60YqsWE9OdWWU5051ZxT/fmVolldOtWoU7061a5THTvVtFN9O9W6U9071cBTPTzVxlOdPNXMU/081dJfWZ3V2FO9PdXeUx0+1eRTfT7V6lPdPtXwUz0/1fZTnT/V/F/5n9UCVF1A1QjpSo21A1VHUDUFlQpuqaHVHVQNQtUjVG1C1SlUzULVL1QtQ9U1VI1D1TtqljsdRNVEVH1E1UpU3UTVUFQ9RdVWVJ1F1VxU/UXVYlRdRtVoVL1G1W5UHUfVdGB5p9V6VN1H1YBVCkG1IVUnUjUjWD5qtSRVV1I1JlVvgk3qy1CtJgXLU61WpepWqoal6lmqtqXqXKrmpepfqham6mKwRNbqZap2pupoKidyea3V2lTdTdXgVD1O1eZUVOKV7Fr9TtXyVF1P1fhU6sylv1YHVDVBVR9UtUJVN1Q1RFVPVLVFVWdUNUdVf1S1SFWXVDVKVa9UtUtVx1Q1TZXqSqmz1T1hCbTVQ1VtVNVJVc1U1U9Wekt1VVVjVfVWVXuF7UGSZFt9VtVqVd1W1XBVPVfVdlWdV9V8Vf1X1YJVXVjViFW9WNWOVR1Z1ZRVfVnVmlXdWdWgVT1a1ab0oiOatapfq1q2qmurGrdqt6P2rergqiau6uOqVq7q5qqGrurpqrau6uyq5q7q76oWr+ryqkav6vWqdq/q+Kqmr+r7qtav6v6qBrDqAas2sOoEq2aw6gerlrDqCqvGsOoNq/aw6hCrJrHqE6tWseoWq4ax6hmrtrHqHKvmudJ4qoWsusiqkax6yaqdrDrKqqms+sqqtay6y6rBrHrMqs2sOs2q2az6zarlrLrOqvGses+q/aw60KoJrfrQqhWtutGqIa160qotrcjnKzm5+tOqRa261KpRrXrVql2tOlYsabn61kqjnuzlamCrHrZqY6tOtmpmq362ammrrrZqbKvetmpvqw63anKrPrdqdatut2p4q563anurzrdqfqv+F0uBri64aoSrXrhqh6uOuGqKq764ao2r7rhqkKseuWqTq065aparfrlqmauuuWqcq965ap+rDrpqoqs+umqlsWzqaqgrvWnSqquzrprrqr+uWuyqy64a7arXrtrtquOumu6q765a76r7rhrwqgev2vCqE6+a8aofr1ryqiuvGvNKV4b07OrQqya9sk+Uql3detWwVz171bZXnXvVvFf9e9XCV1181chXvXzVzlcdfdXUV3191dpX3X3V4Fc9ftXmV51+1exX/X7V8lddf9X4V71/1f5XHYDVBFh9gNUKWN2A1RBYPYHVFlidgdUcWP2B1SJYXYLVKFi9gtUuWB2D1TRYn28UXQq6B6uBsHoIq42wOgmrmbD6CaulsNa7ayys3sJqL6wOw2oyrD7DajWsbsMSWZNzeG2H1XlYzYfVf2QpiNeFWI2I1YtY7YjVkVhNidWXWK2J1Z1YDYrVo1htitWpWM2KzRxZKevVtViNi9W7WO2L1cFYTYzVx1itjNXNWA2N1dNYbY3V2VjNTZbfXi2O1eVYjY7V61jtTpbxXk2P1fdYrY/V/VgNkNUDWW2Q1QlZzZDVD1ktkdUVWY2R1RtZ7ZHVIVlNktUnWa2S1S1ZDZPVM1ltk9U5Wc2T1T9ZLZTVRVmNlNVLWe2U1VFZTZXVV1mtleWQJ8G+ekxbjbxM+2q2rH7LarmsrstqvKzey2q/rA7MasKsPsxqxaxuzGrIrJ7Masuszsxqzqz+zGrRrC7NatSsXs1q16yOzWrarL7Nat2s7s1q4KweLkvjr07Oauasfs5q6ayudvdNvZ3V3lkdntXkWX2e1epZ3Z7V8Fk9n9X2WZ2f1fxZ/Z/VAlpdoNUIWr2g1Q5aHaHVFFp9odUaWt2h1SBaPaLVJlqdotUsWv2i1TJaXaPVOFq9o9U+Wh2k1URafaTVSlrdpNVQWj2l1VZanaXVXFr9pdViWl2m1WhavabVblodp9V0Wn2n1Xpa3afVgFo9qNWGWp2o1Yxa/ajVklpdqdWYWr2p1Z5aHarVpFp9qtWqWt2q1bBaPavVtlqdq9W8Wv2r1cJaXazVyFq9rNXOWh2t1dRafa3V2lrdrdXgWj2u1eZana5l6pbvei2v1fVaja/V+1rtr9UBW02w1QdbrbDVDVsNsdUTW22x1RlbzbHVH1ststUlW42y1StbFkwZs9c0W32z1Tpb3bPVQFs9tNVGW5201Uxb/bTVUltdtdVYW7211V5bHbbVZFvma6m2121bDbfVc1ttt9V5W8231X9bLbjVhVuNuNWLW+241ZFbTbnVl1utudWdWw261aNbbbrVqVvNutWvWy271bVbjbvVu1vtu9XBW0281cdbrbzVzVsNvdXTW2291dlbzb3V31stvtXlW42+1etb7b7V8VtNv9X3W62/1f1bDcDVA1xtwNUJXM3A1Q9cLcHVFVyNwdUbXO3B1SFcTcLVJ1ytwtUtXA3D1TNcbcMFRDhnC3q2CGgLh7bYaAuUtqhpC6G2eGoLrrZIawu7thhsC8i26GwL1ba4bQviuK0RgndbrLcFflsUuIWEW3y4BYtb5LiFkVtMuQWYW7S5hZ5bHLoFpVuEuoWrW+y6BbJbVLuFuFu8uwW/WyS8hcVbjLwFzFv0vIXSZ1gdBtlbxL2F31ssvgXmW5S+hexb/L4F81tkv4X5W8y/BQBcNMCFBlycwAUNXATBhRNcbIHGGWLUwYUgXDzCBSdcpMKFLVwMwwU0XHTDhTpc3MMFQVxExIVHXKzEBU5cFMWFVFx8xQVbXOTFhWFcTMYFaFy0xoVuXBzHBXVchPdupRH24wJBLirkQkQuXuSCRy6S5MJKLsbkAs53UzxQlItLuSCVi1i58JWLZbnAlotyuZCXi3+5YJiLjLkwmYuZuQAaDabF0JqLs7mgGw3AxXCci825rSAF7WIIz8XzXHDPRfpc2M/FAF1A0EUHXajQxQ1dENFFFF140cUaXeDR7VqCSMb4BN5DKXLpwpgupukCnC7a6UKfLg7qgqI0QBrDpTR0GgOpbus7EVYfb3XBVxeJdWFZF6N1AVsXvXWhXBfXdUFeGvCN4V8XC3aBYRcldvuhhI9jMNlFlt2OB8g57oYYjI6haRendtu4AGDHcLaLbbtAt4t6uxC4i4e7FNAi5S5s7mLoLqDuout1Fh/c3QXhXUTeheddrN4F7t1GHxD9GN93wX4X+XdhgBcTeAGCFy14oYMXR3hBhRdheOGGF3t4gYgXlXghihqukMFLPAIlwxovxvECHi/6ofdwj4u8LZYETGT45MVSXmDlRVleyOXFX14w5kVm3gYVq3YyfiOjOS+08+I8L+jztjwYDZKxoRcoelGjF0Kq4SQZXHqRphp1kjGoF5B60akXqnpxqxfEehGtt6FNqEsGvl4U7IXEXnzsbYAIOJNhtBdTf7tINtCHvMk4XI3JyQjdC9e92N3bIxWoJ0N8L973gn8vEvjCgm9jv3ihjB6+UGINK8og44s4vvDji0W+wOSLUr6Q5YtfvmDmi2y+MOeLeb4A6IuGvtDoi5O+oOmLoL5w6outvkDri7q+EOyLx9bYrIzUvrDti+HWeK6M7r5Q79tmXAxYbrMROixjxS9w/KLINaIsN7GANcvI8wtDv5j0C1C/nbKQaxnHfkHtF+F+4e4X+36B8BcVfyHyFy9/wfMXSX9h9RdjfwH3F31/ofgXl39B+hexf+H7F8t/gf0X5X8h/xf/f8EAGBmAYQIYM4ABBBhNgKEFGGeAQQcYgbDRiLlV6jjFjFrAEAaMZ8DgBox0wLAHjIHAzcGDI3MRnYZNZhAFRlRgeAXGWmDgBUZhYEjGhmdmsAZGbmwUZ8Z0YIAHRntg6AfGgWBQCEaIYLgIxo5gIAlGlfXMingTDD7BSBQMS8EYFQxYwegVDGXBuBYMcsGIFwx/wVgYDIzBKBkMmcH4GQymwcgaDLPBmBsMwMFoHAzNwTgdDNrBCB4M58HYHgz0wagfDAHCeCAMDsJIIQwbwhgiDCjC6CIMNcK4IwxCwogkDE/u3coClzCKCUOaML4Jg50w8gnDoDAmCgOkMFoKQ6cwjgqDqjDCCsOtMPYKA7EwKgtDtDBeC4O3MJILw7owxgsDvjD6C0PBMC4Mg8QwYgzDxzCWDAPLMMpsI84z/gyD0TAyDcPUMGYNA9gwmg1D2zDODYPeMAIOw+EwNg4D5TBqDkPoMJ4Og+sw0g7D7jAGDwPyMDoPQ/Uwbg+D+DCiD8P7MNYPA/8wChBDAjE+EIMFMXIQwwgxphADDDHaEEMPMQ4RgxIxQhHDFTF2EQMZMaoRQxwx3hGDHzESErcEESKhAZMYPYmhlBhXiUGWGHGJ4ZcYi4mBmRiliSGbGL+JwZwY2YlhnhjziQGgGA2KoaEYJ7pliRhBiuEk/Pw3Bppi1CmGoGI8Kgan4s4jPLUKMKwY0IrRrRjqinGvGASLEbEYHouxshg4i1G0GFKL8bUYbIuRtxiGizG5GKCL0boYuotxvBjUixG+GO6Lsb8YCIxRwRgijPHCGDyMkcQYVowxxhhwjNHHGIqMcckYpIwRyxi+jLHMGNiMUc4Y8ozxzxgMjZHRGCaNMdMYQI3R1BhajXHWGHSNEdgYjo2x2RiojVHbGMKN8dwY3I2R3hj2jTHgGBCO0eEYKo5x4xhEjhHlGF6OseYYeI5R6BiSjvHpGKyOkesYxo4x7RjgjtHuGPqOcfAYFI8R8hguj7HzGEiPUfUYYo/x9hh8j5H4GJaPMfoYsI/R+xjKj3H9GOSPEf8Y/o+xABkYkFECGTKQ8QMZTJCRBRlmkDEHGYCQ0QgZmpBxChm0kBEMGc6QsQ0Z6JBRDxkCkfEQGRyRkRIZNpExFBlQkdEVGWqRcRcZhJERGRmekbEaGbiRURwZ0pHxHRnskZEfGQaSMSEZIJLRIhk6knEkGVSSESYZbpKxJxmIklEpGaKS8SoZvJKRLBnWkjEuGfCS0S8ZCpNxMRkkkxEzGT6TsTQZWJNRNhlyk/E3GYyTkTkZppPz83w9j2ieDO3JOJ8M+skIoAwHytigDBTKqKEMIcp4ogwuykijDDvKGKQMSMropAxVyrilDGLKiKYMb8pYpwx8yiioDInK+KgMlsrIqQyjypiqDLDKaKsMvco4rAzKygitDNfK2K0M5MqorgzxynivDP7KSLAMC8sYsQwYy+ixDCXLuLIMMsuIsww/y1i0DEzLKLUMWcv4tQxmy8i2DHPLmLcMgMtouAyNyzi5DJrLCLoMp8vYugy0y6i7DMHLeLwMzstIvQzbyxi+DOjL6L4M9cu4vwwCzIjADA/MWMEMHMwowgwpzPjCDDbMyMMMQ8yYxAxQzGjFDF3MOMYMaswIxwx3zNjHDITMqMgMkcx4yQyezEjKDKvMGMsMuMzoywzFzLjMDNLMiM0M38xYzgzszCjPDPnM+M8MBs3I0AwTzZjRDCDNaNIMLc040ww6zQjUDEfN2NQMVM2o1QxhzXjWDG7NSNcMe80Y2AyIzejYDJXNuNkMos2I2gyvzVjbDLzNKNwMyc343AzWzcjdDOPNmN4M8M1o3wz9zTjgDArOCOEMF87Y4QwkzqjiDDHOeOMMPs5I5AxLzhjlDFjO6OUMZc645gxyzojnDH/OWOgMjM4o6QyZzvjpDKbOyOoMs86Y6wzAzmjsDM3OOO0M2s4I7gznztjuDPTOqO8MAc948AwOz0jxDBvPGPIMKM/o8gw1z7jzDELPiPQMT89Y9Qxczyj2DGnP+PYMds/I9wyDz5j4DJDPaPkMnc84+gyqzwj7DLfP2PsMxM+o/AzRz3j9DN7PSP4M688Y/wz4z+j/DAXQuAANEtCIAQ0f0FgCDSzQKAMNOdD4Aw1G0MgEDVPQmAUNYNBoBg1t0DrnrHrOGuisiM766KyWztrprKTOuqotstSaK059sB47q/N489vK7azj2qJOrfHOiu+s/85q8LwKD5HA141nFXnWlGeFedabZ/V51qJnZXrWqWfVetawZ0V71rdntXvWvmfKi2WxWiWfNfNZQZ/19Fldn7X2mRI7Ga5W5WeNFq/e2/r9rObP2v6s9M+6/6wC3JJgrRDQesEtHtZaAq0s0DoDrTrQGgStSND6BK1W0NoFrWTcsmatctCaB62A0HoIrY7QWgmtnNwyaq2q3BJrrbjRJE7VGFqboZWaW7atVRxa06EVnlvurdUfWguileGcILdqRGtItKJ0y8u12kRrT7QSdcvStUpFa1a0gkXrWbS6RWtdtPJF62C3KF5rZLRiRutntJpGa2u00kbrbrQKR2tytEJH63W0ekdrebSyR+t8tOpHa4C0Ikjrg7RaeEsHtpJI64q0ykhvuhaffT2SVidprfIWLmwd8xY1bI2TVjxp/ZNWQ29pxFZKad2UVlFpTZVWWGm9lVZfaS2WVmZpnZZWbWkNl1Z0aZOpai+t/dJKMK0L0yoxrRnTCjKtJ9PqMq0108ozrUPTqjStUdOKZd4XKGbZ2jatdNO6N62C05r4LZDZ1IKK57yWTivrtM5Oq+60Bn8LcnaF/BbrbO2eVvJpXZ9W+WnNn1YAaj2gVgdqraBWDmodoVYVao2hVhxq/aFWI2ptolYqat2iVjFqTaNWOGq9o1Y/ai2kVkZqnaRWTWoNpVZUcHnVVltq7QUXYm1dplZpas2mVnBqPacuf+BSr6381DpQrQrVGlGtGNX6Ua0m1doSLjTbulOtQtWaZE1NvF5Vq1e1llUrW7XOVatetQZWK2K1PlarZbV2VitpuKxuq2y15lYrcLgcb6tztVZXK3e1jlererXGVyt+tf5Xq4G1NlgrhbVuWKuItaZYK4y43HCrj7UWWSuTtU5Zq5a1hlkrmrW+WaudtfZZK6G1LlqrpLVmWiuotZ5aq6u11lorr7UOW6uytUZbK7a1flurubW2Wyu9te5bq8C1JlwrxLVeXKvHuJR0K8u1zlyrzrUGXSvStT5dq9W1dl27/9S1a5W71rxrBbzWw2t1vNbKa+W81tFrVb3W2GvFvdbfazW+1uZrpb7W7WsVv9b0a4W/1vtr9b/WAmxlwNYJdxYKDcFWFGx9wVYbbO3BViJ3riyVwtYsbAXD1jNsdctuO6zweesgtipiayS2YmLrJ7aaYmsrttK682FRYWxNxlZobL3GVm9sLcdWdmydx1b99TpWrgjZ+pCtFtnaka0k2bqSrTLZmpOtQNl6lK1O2VqVrVzZOpatatkal6142fqXrYbZ2pitlNm6ma2i2ZqarbDZeputvtlanK3M2TqdrdrZGp6t6Nn6nq322dqfrQTauqCtEtqaoa0g2nqirS7aWqOtPNo6pK1K2hqlrVja+qWtZtraps3ORvb0VVBbE7UVUlsvtdVTW0u1lVVbZ7VVV1uDtRVZW5+11Vpbu7WVXFvXtVVeW/O1FWBbD7bVYVsrtpVjW0e2VWVbY7YVZ1t/ttVoW5u2lWpbt7ZVbFvTthVuW++21W9bC7eVcVsnt1VzW0O3FXVbX7fVdlt7t5V4W5e3VXpbs7cVfFvPt9V9W+u3lX9bB7hVgVsjuBWDWz+41YRbW7iVhlt3uFWIW5O4FYpbr7jVi1vLuJUtnn1B7RDsbUPBbaC4DSO3QeZ2zxTwNBy+boPbbei7DYy3YfM2qN6G3NuAfBuub4P5bai/TY7DQYI4iOCGGNwAhBuecIMXbmgTn/tSwCJu0IQOqPoTwIdj3GCNG8pxAz1uGCjfIDqE5AaY3PCTG5xyQ9fuBCxArzgo5obM3I1lg21xMM4N1bmBPDfM5wYB3RChG0B4N0YBPrqhSTdw6YY13aCnGxJ1A6ZuONUNtro7t8O076ZXQF53U5LwcBw+doPLbujZDUy7YWs3qO2GvN2AuBsud4PpdKA9DsS7YXp3p1SAPw4AvOGBOnQghxbqsIMclniDFm9I4w14vOGQN1jyhlLeQMsbhnmDtO9ETuAdOfzzBofe0NEbWHrDTm9Q6g1ZvQGtN9z1BsPeUNkbSHvDbG8Q7g3RvQG8N7z3Bv/e0OAbOHzDim/Q8Q1J6nsShjPfYOcbCn0DpW8Y9Q2yviHYN0D7hm/f4G4d+JUDw2/YuA4py3vghaPlcPUbzH5D3W8g/A2Tv0H0dyMO8Lscnn+Dd/keXhuCAwXmoAEcUoADDnA4wg5VzKEMONABh0HgIAkcQoEDLHD4BQ7OwKEbO6wzh33/CbFBRvBimQ42zcEoOFQN75YG5oKDYHCIDA6gweE1OPgGh+bgwB0c1oODfnBIEA4YwjuSocY5FAkHKuEwJrwJZwB0DpDC4VM4uAqHXuHALBy2hYO6cMgXDgjD4WI4mGwHmudANBymigfL9tbelB10cHwOnsOhdTjwDofl4aA9HNKLd3aHA+JgYbwXTffmIAQdpIhDGHGAIw5/xMGROHQSB1bisEsclIlDNnFAJw73xMGgeGOlMBIdZoqDUPEe9uArOrwVB7/i0FgcOIvDanHQLQ7JxQG7OJwXB/viUGAcKIzDiHGQ8Q5A0gHKOHwZBzfjePpU5E+FTeOgahxyjQOycbg2DubGod44EByHieMgchxijgPQcXg6Dl7Hoe048B2HxeOgeRxSjwPucTg+DtbHofw40B+HAeQggRxCkAMMcvhBDk7IoQs5sCGHPeSgiBwykQMqcrhFDsbIoRo5kCOHeeQgkBwikgNIcnhJDj7JoSk5cNXvFAd6yfEk7ugUAKfJ8U/WQnFyoE4O48tbJgkBygFCOXzY71sMPcqBSTlsKQc15ZCnHBCVw6XyIme/9btArBymlYO4cohXDgDL4WE5eCyHluXAsxyWloPWckhbDnjL4XA5WC6H0uVAuxyGl4P08tZMwPv1xsmhATt0MAcW5rDDHJSYQxZzQGMOd/JbcwGVzIGUOcySh2DsEM0cwJnDO3PwZ96KRdjIDivNQac5JDUHrOZw1hzsmkNhc6BsDqPNQbY5BDcH6PLgnR3cm0N/c2BwDhvOQcU55DgHJOdw5RzMnEOdcyB0DpPOQdQ5xDoHYOfw7By8oQdYeeB3DgvPQeM5pDwHnOdw9BysnkPZc6B7DoPPQfI5hD4H2Ofw+xycn0P3c2B/DvvPQQF668jhhDvcQAcj6FAFHcigwxx0EIQOkdABFDq8Qgdf6NAMHbihwzp00IcOCdEBIzqcRAeb6FAUHaiiw1h0kIsOgdEBMjp8RgfX6NAbHZijw3Z0UI8O+dEBQTpcSAcT6VAjHYikw5R0EJMOcdIBUDo8SgdP6dAqHXilw7J00JYO6dIBXzocTAeL6VAyHWimw9B0kJoOYdMBbjr8TQfH6dA5HVinw+50UJ4O2dMBfTrcTwcD6lBBHUiowwx1EKIOUdQBjDq8UQc/6tBIHTipwyp10KUOydQBm7qcS5d76XKAvpOsnHwXm+xyNF2upsvZdLn7LobZ5TI9pnO5nS7H38U6u5xPl/vpckBdLqjLCXW5oT47PpHqL2fU5Y66HFKXS+pySl1uqcsxdbmmPmuryPeXg+pyUV1OqstNeiQ85Kq6nFWXu/BiuH1ScCLqf3o3RNi/XFeXc/WNHMqBdbmwLifW5Ua8GHGXK+tyJl7suMuhdbm0LqfWJwIswv/l2rqcW5f7603Hi0V3ObkuN9fl6LpcXZez63J3XQ6vy+V1Ob0ut+PFuLtcjxfz7nI/Xgy8ywV2OcEuN9jlCLtcYZcz7HKHXQ6xyyV5MfUut+TF2LtcY5dz7HJPXgy+y0V2OckuN9nlKLtcZZez7HKXXQ6zy2V2OS0vtt/lOLtcZ5fz7HKvvbk2sQAvJ9oRihQj8HKlXc60y512OdQul9rlVLvcapdj7XKtXc61y732OYXpkSAgJ9vlZrscbZer7XK2Xe62y+F2udwup9vldrscb5fr7XK+Xe63ywF6sRAPteU35i9H3ZsSEzPxcsddDrnLJXc55S633OWYu1xzl3Puct+9pThiMV5OustNdznqLlfd5ay73HWXw+5y2V1Ou8ttdznuLtfd5by73HeXA+9y4V1OvMuNdznyLlfe5cy73HmXQ+9y6V1Ovcutdzn2Ltfe5dy73HuXg+9y8V1OvsvNdzn6Llff5ey73H2Xw+9y+V1Ov8vtdzn+Ltff5fy73H+XA/ByAV5OwMsNeDkCL1fg5Qy83IGXQ/ByCV5OwcsteDkGL9fg5Ry83IOXg/ByEV5OwstNeDkKL1fh5Sy83IWXw/ByGV5Ow8tteDkOL9fh5Ty83IeXA/FyIV5OxMuNeDkSL1fi5Uy83ImXQ/FyKV5OxcuteDkWL9fi6Tw84YenBPGkIZ5W12PtIaby5CWe3sQToHiKFE+i4mlWPBGLp2rxZDYe+1U6ME8Z6SnFPO2MJ6bx1DWe3MbT33iCHE+h40k2PQmbJ+rxVD6e7MfTAXnCIE8p5Eln/SWlR9f4qY08+ZGnR/IESp5iyZOwepI+T+Tqif48GbrXqYpQylNOeVIqT1vraQ099ZUnx/L7TVrRT8HlSbo8jZcn+vVEkJ4s2JNJesIxT0nmt82RzPUTn3lqNE+e5unVPAGbp2jzJG6e5s0TwXmqOE8m8fWdhNSesNST2nnaa0+L6qnzPLmep9/zBH2ews+T/HkaQE8U6KkEPdmgpyP0hIWe0tCTHnpaRE+c6KkVPfmip2f0BI6e4tGTQHqaSE8k6akmPRmlp6v0hJae8tKTYnraTE+s6ak3PTmnp+/0BJ+eAtSThHoaUU806qlIPVmpt/P0lp/eFtRbh3p7oc+RZlPqrUy93am3RPW2qd5a1duveouirynO6NvbwXrLWG8r661nvT2tt7D1NrfeCtfb5XpLXW+78Y3ZvX3b5w7EBthbBXs7YW857G1JvnG9tzf2FijfJPlbqXyzfW/J7G1bvrG/tz/7XPFspL3VtLej+YbV39baW197e2xvoe1ttr0Vt7fr9pZ+n9tHa3BvH+4txr0Nubcq93bm3vLc26J763Rvr+4t2L1Nu7dy93bv3hLe28Z7a3lvP+8t6r2Nvbe693b43jLf2+p7631vz+8t/L3Nv7cC+HYB31Lg2w58a4JvX/AtDr4NwrdK+HYK33Lh2zJ864Zv7/AtIL5NxLeS+HYT35Li21Z8a4tvf/EtMr6Nxrfa+HYc37Lvmzp9649vD/ItRL7NyLci+XYl39Lk2558a5Rvn/ItVr4Ny7dq+f+f8JwVyIkYGPEDqHyYlQ/G8iFbPrDLh3/5IDEfT4mBXjxgaT54zYe4+UA4Hy7ng+p86J2PNwnG6efVBwj6gYM+vNAHIfpQRR/Q6MMefXCkD6H0gZY+HNMHbfrQTh8A6sOE/Umq4KHxAEz14as+yNWHwvqAWR9W64NvfYiuD+T14b4+KNiHDvsAYx+G7IOVfUizD3z24fF+bt2Blj8eZAW9goO7fQi4DxT34eQ+6NyHpvsAdh/m7oPhfci8D6z34fc+SN+H8vuAfx8W8IMHfojBD0T44Qo/qOGHPvwAiR9G8YMtfkjGD9z44R0/COSHivyAkh928oNTfgjLD3T54TA/aOaH1vwAnB+m84N5fsjPDwz64UM/yOiHIv2ApR/W9IOffojUD6T64VY/KOuHbv0Arx8G9oPFfkjZDzz74Yl/H5Whbj8g7ofN/eC6H4L3A/V+ON8P+vuhgT+A8IcZ/mDEH7L4Axt/+OMPkvyhlD/g8odl/uDNH+L5A0F/uOgPKv2hpz9A9Yex/mDXHxL7A2d/ePXfR3qo7g/o/WG/Pzj4hxD/QOMfjvyDln9o8w+A/mHSP5j6h1z/wOwfvv2DvH8o+A8Y/2HlP/j8h6j/QPYf7v6D4n/o/A+w/2H4P1j/h/T/wP8fJ8MDABABADUAAAkAbAEANwAQCAAoAcApANAFAM0AABwAzAMAgwCQEQBYAsBPAJAKAGUBAC8ALAYAzwAQGwCIA8B1AFAPAP0BAEIAjAgAGwGQJAC4BMCbABAUAJUCAFUA7AoAZwEQLgDoBcDBANAYAC0DAGgATA0AswGQNwAYB8DnAJAdAMUDAHsArA8A/wEQQQBICMANAVAigGdJAEcABgmAJQFIJQC8BOCZAIgTgHoCgFAANgqASwEIKgBUBeSMgOwRkEcFInpAbgnIMgH5ViDyB+SggGw6aEsIZKiAXD/oqkT+CshkATktILsF5LmAjBeQ+wKyYEA+DaCHh5qcICjw9IpgArk08LUXDD7JtAE5NyD7DMThgowckJsDsnRAvg8cxktiQrtoKpDXAzJ8QK4PxGcMRI+DTCCI7RJbDvLkQMQWyB0CWUQgnwhkFoEcI5BtBPKOQAYSyEUCWXkgPgxkKoGcJZC9BPKYQEYTyG0CWU4g3wlkPkF8L0wsPcirAozWyJUCWVMgfwr06pCcKpCdBT0IKeIN5F6BLCyQjwUys0COFsjWAnlbIIML5HKBrC6Q3wUyvUDOI4i+A3lgICMM5IaBLDGQLwYyx0AOGcgmA3llIMMM5FqCqD+QfwYy0UBOGshOA3lqIGMN5K6BLDaQzwYy20COG8h2A3lvIAMO5IKCqESQHwcy5YDOGxD/BILwQCYOaMcBQTmgMgek54AeHRCpA8p1QM4OaNwB4TughgoU8oFuHhDTAwp7QHYPaPEBgT6g2gek/IC+K9C8hJrrTJkkaAYCIUGgLggkB4EOIRCnBYKdQMYQaNsCvU+gggikcYFcKBCxBuVOcotAgxEIMwK1RiDhCHQdgdgvEEAFspBAKxIICANRVSD1GKRvgiglUMoElGskXYHQOuDiJ4kJdDKBeCZQ1AQym0B7ExTGiNQC6U6g5wlERkHHgRw7qAtJOBSoiQKrOrqjQIwUKJQC2VKgZQoEToHqKZBCBfqoQDQVKKkCeVWguQqEWIE6LKiIpOMKxF2B4iuQgQXasEAwFqjIAmlZoDcLRGiBMi2QqwUatkDYFqjdAglcoIsLxHKBgi6Q1QVau0CAF6jyAqleoN8LRH2B0i+Q/wWawEAoGKgHA0lhsHMNxpfBJjBYygbzzWBVG0wNhAV1UEIwFg02jMGyN5ibBivIYBscDFaDHWWwrgw2x8EQNKhTbrQhMlUbB4mM74ZEwkY/sJ9rTxqsrIPpb7BIDXaqwXo12LQGS9dg/xqsYoOtbLCgDXa1wdo22OAGy9xgrxuseINtb7D4DXbAwTo42AwHS+JgXxysjoMtcrBQDnbLwZo52DgHy+dgDx2spIPtdLCoDvTASQfg0wFUdQBsIIDAB6DZAcR2AMgdwHcHYN8BNHgAJB7ATggQ/QGkeQCAIzJ6gxYQoIBEBQwgbwIofAAhIsAtCPD0AZh9AH0fAKUIoBICCIsAWCEA/AdwMAJ0gsi0BZZDgLERID8EiAQBUEF0+IebALCJAAQhwEYIIBMCJIUAYCHAXQjgGAKUhgC8IXpPQNoIECDiQ5PgRQQwEgG6RAA6EWBRBBAVAXJFAGgR4lSE+BUhrkWIdxHiYIT4GCFuRoinEeJshPgbIS5HiNcR4niE+B4h7keIBxLihIT4ISGuSIj3EsKohPgkIW5JiGcS4pyE+CchLkqIlxLiqIT4KiHuSki75LAEAS1BcksQ6RJkvQQhMEE6TBDbE8RJBUFJISuJpgkya4IwmyDlJoi/CXKJgrysIEkniNgJsneCUJ4grSeI8QnyfYLgnyARKIgKCjKEgnChIHUoiCOKXWc3mX9MZCjANOG/F5P0l+H3Mf1BPL+/pmJFsH2BqIvuawpj2MKFdhZc1KpNNm9nVo9CSOmpckBJnH0OPp+cL7VyvnmljwL/Dci6+rVnbNJAI3yCXwfkvHZlVYQsIwcYoFJDVUzFyvDggGYn4oBXrTb7x9hrFSMFVDZvVQByOmHL6gl2XD5ndXWKszG35Zks5z1ec4NO6Fy7Sa2xUhwH+UXeGh828rN6DXrGNi1cwUi/ddZhEaq1FtM4QXJodhQjMK3rDecAp060iNWTD7G2JvqZ/8xMRSO9JgtJEqypMKb5KByIq0wleT+jy4BagvXXmpb2+c2FOFYrS8iUmCJuiNDLtq7Ob04O8ez2FHHROCGqGR8go+XsDsxURPwvW57DljkhAsrPHYzK0kh7E4jg+0Eb0ex/nqh/OTuam7TrsY7FXzGfyq7UqTsEzClADBWBIx6B3Z0Ez/CkucYcdvtm3SlN6KjAz026YmVF9AYp6E069Qyg5kZRFMJsh4KraRufZ2y7gp4oOIZWgZ+IrF8RZ50RoHhK98bhcopF5pQAkJ3Rt8LEUrK+oq/894ZjAP3vc+19d+x+SSgmHArFAHmhIIO8MK8IsBF5w8esTlpqMkzebUhkyRFUoJYcoSKuEgkoTcuSuesb8EjSTeHKYtxgcDzTWjKMd+fo8nkO76GG6DEYJw695ObVgNdK7hinsx9Nx/vdoxPqOX+Fycam6KZ5q1AwM82AT9AP7uV4e3h2MzfAm6Qz3TtY1BDnfdpISIQpAZ6GjIpiRSifOHm6WLTWWLDG0J+NE2YEtu87i7ohkxufADCshXhzaf6PLjyl4lPzSLaApmuZJmu67nTzAXE4Dm1FdYF4jXzgjgEAbFC3gmZh2aYtmh/BPp9rD7qd8PT8LWSUz83j8ika1EqqGoKCuzQr17tpsinwx2s9AdvQO8ZYTxii7PRgqUdcUQ4ULh4UJIXQ1KcQ6h9AZUV1+UATdD5JMdVszKyJJKu6o/pZgyRTkfO2Y/GcFJUDJh5d45kYz9uqZEQEF+D6suEcVPT12SySWbN2K0aHNCWepr4xXPfQrEpYzlyFaiqSEMfcYXXCcTbVAtmCbkWtToet54gkUOCzotuBq3b6HzFmIO8R9O951qn08Qb+sz6xkUj0YDCuH+laqCIRWpD2GPfHTnCeHS+t/o+fsZgNsXo4ZiiWHLw6TglqgB/z/yU1dnvysVzH4r1Zb89tY2PvG3vGry6lfTybSqRhL63zHmnc6ffXFxq3q0n6uYrn7euaF+//n27qKlfJy+ALd4cF7q5icH6GBW/5NUUYalkNAc/bVGS8zey8I+qoK86dwCzNtVxC5Z2jB1WWMLCGxKT1nlCbxZ2SBrfISXlP4hI+Ss8GNNK7mTPk/mUr03dQ2tY59LU9uPCtkRj+J7f/vDKdECIjEoWKEA3REiM1faNR6FWEmC1lqc3XFERF6PHtUbSmwXMHQTicj0FjXuA4wmRMLw1LVTKdnKEGtN+a0exI9DgeTjU3jblpzklrBvYJncpYu352oF7vqZkIx+vGj+oOcORFOMheeujFPnAbYmu/9IDDgdKm7V/VqaavUl9JLyP+EKrqX/mWRa0N"});var $G=I0((exports,module)=>{var b={},aa=WG(),ba=XG();b.readBinary=function(){var i=ba.toByteArray(ZG());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+`
236
236
  `)}),b.printErr||(b.printErr=function(i){process.stderr.write(i+`
237
- `)}),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 _,i0;n<e;){var t0=i[n];if(typeof t0=="function"&&(t0=A.aa(t0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var r0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[r0>>0]=t0;break;case"i8":I[r0>>0]=t0;break;case"i16":J[r0>>1]=t0;break;case"i32":K[r0>>2]=t0;break;case"i64":H=[t0>>>0,(G=t0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[r0>>2]=H[0],K[r0+4>>2]=H[1];break;case"float":L[r0>>2]=t0;break;case"double":N[r0>>3]=t0;break;default:E("invalid type for setValue: "+c0)}i0!==o&&(_=A.D(o),i0=o),n+=_}}return a}function Q(i){var r;if(r===0||!i)return"";for(var a=0,n,o=0;n=P[i+o>>0],a|=n,!(n==0&&!r||(o++,r&&o==r)););if(r||(r=o),n="",128>a){for(;0<r;)a=String.fromCharCode.apply(String,P.subarray(i,i+Math.min(r,1024))),n=n?n+a:a,i+=1024,r-=1024;return n}return b.UTF8ToString(i)}function oa(i){function r(r0,c0,l0){c0=c0||1/0;var d0="",v0=[],F0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,F0=[];i[e]!=="E";)if(i[e]==="S"){e++;var O0=i.indexOf("_",e);F0.push(_[i.substring(e,O0)||0]||"?"),e=O0+1}else if(i[e]==="C")F0.push(F0[F0.length-1]),e+=2;else{var O0=parseInt(i.substr(e)),B0=O0.toString().length;if(!O0||!B0){e--;break}var j0=i.substr(e+B0,O0);F0.push(j0),_.push(j0),e+=B0+O0}if(e++,F0=F0.join("::"),c0--,c0===0)return r0?[F0]:F0}else(i[e]==="K"||i0&&i[e]==="L")&&e++,(O0=parseInt(i.substr(e)))&&(B0=O0.toString().length,F0=i.substr(e+B0,O0),e+=B0+O0);i0=!1,i[e]==="I"?(e++,O0=r(!0),B0=r(!0,1,!0),d0+=B0[0]+" "+F0+"<"+O0.join(", ")+">"):d0=F0;x:for(;e<i.length&&0<c0--;)if(F0=i[e++],F0 in s)v0.push(s[F0]);else switch(F0){case"P":v0.push(r(!0,1,!0)[0]+"*");break;case"R":v0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,O0=i.indexOf("E",e)-e,v0.push(i.substr(e,O0)),e+=O0+2;break;case"A":if(O0=parseInt(i.substr(e)),e+=O0.toString().length,i[e]!=="_")throw"?";e++,v0.push(r(!0,1,!0)[0]+" ["+O0+"]");break;case"E":break x;default:d0+="?"+F0;break x}return l0||v0.length!==1||v0[0]!=="void"||(v0=[]),r0?(d0&&v0.push(d0+"?"),v0):d0+("("+v0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var t0=ia(i.length);ga(i.substr(1),t0);var n=ia(4),o=b.___cxa_demangle(t0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{t0&&pa(t0),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:"..."},_=[],i0=!0,t0=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()"}t0=r()}catch{t0+="?"}return 0<=t0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t0}function qa(){return ra().replace(/__Z[\w\d_]+/g,function(i){var r=oa(i);return i===r?i:i+" ["+r+"]"})}function ra(){var i=Error();if(!i.stack){try{throw Error(0)}catch(r){i=r}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function sa(){var i=C;return 0<i%4096&&(i+=4096-i%4096),i}for(va=0,B=0,wa=0,z=0,xa=0,ya=0,C=0,za=b.TOTAL_STACK||5242880,D=b.TOTAL_MEMORY||318767104,R=65536;R<D||R<2*za;)R=16777216>R?2*R:R+16777216;var I,P,J,ta,K,ua,L,N,va,B,wa,z,xa,ya,C,za,D,R;R!==D&&(D=R);assert(typeof Int32Array<"u"&&typeof Float64Array<"u"&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(D);I=new Int8Array(buffer);J=new Int16Array(buffer);K=new Int32Array(buffer);P=new Uint8Array(buffer);ta=new Uint16Array(buffer);ua=new Uint32Array(buffer);L=new Float32Array(buffer);N=new Float64Array(buffer);K[0]=255;assert(P[0]===255&&P[3]===0,"Typed arrays 2 must be run on a little-endian system");b.HEAP=void 0;b.buffer=buffer;b.HEAP8=I;b.HEAP16=J;b.HEAP32=K;b.HEAPU8=P;b.HEAPU16=ta;b.HEAPU32=ua;b.HEAPF32=L;b.HEAPF64=N;function S(i){for(;0<i.length;){var r=i.shift();if(typeof r=="function")r();else{var a=r.X;typeof a=="number"?r.q===void 0?A.r("v",a):A.r("vi",a,[r.q]):a(r.q===void 0?null:r.q)}}}var Aa=[],Ba=[],Ca=[],Da=[],Ea=[],T=!1;function Fa(){var i=b.preRun.shift();Aa.unshift(i)}function Ga(i,r){for(var a=0,e=0;e<i.length;++e){var n=i.charCodeAt(e);55296<=n&&57343>=n&&(n=65536+((n&1023)<<10)|i.charCodeAt(++e)&1023),127>=n?++a:a=2047>=n?a+2:65535>=n?a+3:2097151>=n?a+4:67108863>=n?a+5:a+6}a=Array(a+1);var o=a.length,e=0;if(0<o){for(var n=e,o=e+o-1,s=0;s<i.length;++s){var _=i.charCodeAt(s);if(55296<=_&&57343>=_&&(_=65536+((_&1023)<<10)|i.charCodeAt(++s)&1023),127>=_){if(e>=o)break;a[e++]=_}else{if(2047>=_){if(e+1>=o)break;a[e++]=192|_>>6}else{if(65535>=_){if(e+2>=o)break;a[e++]=224|_>>12}else{if(2097151>=_){if(e+3>=o)break;a[e++]=240|_>>18}else{if(67108863>=_){if(e+4>=o)break;a[e++]=248|_>>24}else{if(e+5>=o)break;a[e++]=252|_>>30,a[e++]=128|_>>24&63}a[e++]=128|_>>18&63}a[e++]=128|_>>12&63}a[e++]=128|_>>6&63}a[e++]=128|_&63}}a[e]=0,e=e-n}else e=0;return r&&(a.length=e),a}function ga(i,r){for(var a=Ga(i,void 0),n=0;n<a.length;)I[r+n>>0]=a[n],n+=1}Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(i,r){var a=i&65535,n=r&65535;return a*n+((i>>>16)*n+a*(r>>>16)<<16)|0});Math.ba=Math.imul;Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var r=0;32>r;r++)if(i&1<<31-r)return r;return 32});Math.V=Math.clz32;var ja=Math.abs,ma=Math.ceil,la=Math.floor,ka=Math.min,U=0,Ha=null,V=null;b.preloadedImages={};b.preloadedAudios={};var W=null,va=8,B=va+407936;Ba.push();var W="encode.js.mem",Ia=A.p(O(12,"i8",2),8);assert(Ia%8==0);b._i64Subtract=Ja;function Ka(i){return b.___errno_location&&(K[b.___errno_location()>>2]=i),i}b._memset=La;b._bitshift64Lshr=Ma;b._bitshift64Shl=Na;b._memcpy=Oa;b._i64Add=Pa;function X(i){X.L||(C=sa(),X.L=!0,assert(A.g),X.K=A.g,A.g=function(){E("cannot dynamically allocate, sbrk now has control")});var r=C;return i==0||X.K(i)?r:4294967295}b._memmove=Qa;function Ra(i){b.exit(i)}wa=z=A.p(B);xa=wa+za;ya=C=A.p(xa);assert(ya<D,"TOTAL_MEMORY not big enough for stack");var Sa=O([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.I={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0};b.J={abort:E,assert,invoke_vii:function(i,r,a){try{b.dynCall_vii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},invoke_iii:function(i,r,a){try{return b.dynCall_iii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},__exit:Ra,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Ka,_sysconf:function(i){switch(i){case 30:return 4096;case 85:return R/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ka(22),-1},_sbrk:X,_time:function(i){var r=Date.now()/1e3|0;return i&&(K[i>>2]=r),r},_emscripten_memcpy_big:function(i,r,a){return P.set(P.subarray(r,r+a),i),i},_llvm_trap:function(){E("trap!")},_exit:function(i){Ra(i)},___assert_fail:function(i,r,a,n){throw F=!0,"Assertion failed: "+Q(i)+", at: "+[r?Q(r):"unknown filename",a,n?Q(n):"unknown function"]+" at "+qa()},STACKTOP:z,STACK_MAX:xa,tempDoublePtr:Ia,ABORT:F,cttz_i8:Sa};var Y=(function(i,r,a){var n=new i.Int8Array(a),o=new i.Int16Array(a),e=new i.Int32Array(a),s=new i.Uint8Array(a),_=new i.Uint16Array(a),i0=new i.Uint32Array(a),t0=new i.Float32Array(a),r0=new i.Float64Array(a),c0=r.STACKTOP|0,l0=r.STACK_MAX|0,d0=r.tempDoublePtr|0,v0=r.ABORT|0,F0=r.cttz_i8|0,O0=0,B0=0,j0=0,k0=0,Y0=i.NaN,z0=i.Infinity,sx=0,Q0=0,mx=0,K0=0,wx=0,$0=0,Mx=0,jx=0,te=0,A0=0,N0=0,L0=0,H0=0,tx=0,Fx=0,yx=0,xe=0,Sx=0,Vx=0,Fe=i.Math.floor,ne=i.Math.abs,We=i.Math.sqrt,Ct=i.Math.pow,ce=i.Math.cos,Ye=i.Math.sin,re=i.Math.tan,Le=i.Math.acos,y6=i.Math.asin,tt=i.Math.atan,R6=i.Math.atan2,ji=i.Math.exp,Yr=i.Math.log,kf=i.Math.ceil,ix=i.Math.imul,Of=i.Math.min,Ax=i.Math.clz32,St=r.abort,oi=r.assert,No=r.invoke_vii,os=r.invoke_iii,Lo=r.__exit,Z7=r._pthread_self,ie=r._abort,Mo=r.___setErrNo,Ff=r._sysconf,ci=r._sbrk,V5=r._time,G5=r._emscripten_memcpy_big,Dn=r._llvm_trap,Ix=r._exit,W0=r.___assert_fail,Gg0=0;function Uo(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0;for(g0=c0,c0=c0+16|0,D0=g0,e[D0>>2]=0,e[D0+4>>2]=0,e[D0+8>>2]=0,e[D0+12>>2]=0,E0=0,w0=0;f;)e0=e[h+(w0<<2)>>2]|0,e0?(E0>>>0<4&&(e[D0+(E0<<2)>>2]=w0),s0=E0+1|0,f=f-e0|0):s0=E0,E0=s0,w0=w0+1|0;if(E0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Tx(1,0,e0&7|0)|0,s0=A0,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]=s0,n[$+1>>0]=s0>>8,n[$+2>>0]=s0>>16,n[$+3>>0]=s0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,s0=e[D0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=vx(s0|0,0,l|0)|0,(k|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),w0=Tx(s0|0,0,$&7|0)|0,D0=A0,w0=e0|w0,k=f,E0=k,n[E0>>0]=w0,n[E0+1>>0]=w0>>8,n[E0+2>>0]=w0>>16,n[E0+3>>0]=w0>>24,k=k+4|0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,e[p>>2]=(e[p>>2]|0)+l,n[d+s0>>0]=0,o[w+(s0<<1)>>1]=0,c0=g0;return}for(Gx(d|0,0,w0|0)|0,p0=c+8|0,u0=Px[e[c>>2]&1](e[p0>>2]|0,w0<<4|8)|0,h0=u0,u0||Ix(1),S0=1;;){f=w0,e0=h0;x:for(;;){do{if(!f)break x;f=f+-1|0,s0=e[h+(f<<2)>>2]|0}while((s0|0)==0);$=f&65535,s0>>>0<S0>>>0?(e[e0>>2]=S0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=s0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-h0|0,o0=f0>>3,n0=o0+1|0;x:do if(o0>>>0<13)for(M=1;;){if(M>>>0>=o0>>>0)break x;for(a0=u0+(M<<3)|0,x0=e[a0>>2]|0,a0=e[a0+4>>2]|0,$=M;f=$,$=$+-1|0,s0=u0+($<<3)|0,!!(rD(x0,e[s0>>2]|0)|0);)if(q=e[s0+4>>2]|0,j=u0+(f<<3)|0,e[j>>2]=e[s0>>2],e[j+4>>2]=q,!$){f=0;break}j=u0+(f<<3)|0,e[j>>2]=x0,e[j+4>>2]=a0,M=M+1|0}else for(q=o0>>>0<57?2:0;;){if((q|0)>=6)break x;for(f=e[19428+(q<<2)>>2]|0,j=f;!(j>>>0>=o0>>>0);){for($=u0+(j<<3)|0,s0=e[$>>2]|0,$=e[$+4>>2]|0,M=j;!(M>>>0<f>>>0||(x0=M-f|0,a0=u0+(x0<<3)|0,!(rD(s0,e[a0>>2]|0)|0)));)b0=a0,y0=e[b0+4>>2]|0,a0=u0+(M<<3)|0,e[a0>>2]=e[b0>>2],e[a0+4>>2]=y0,M=x0;b0=u0+(M<<3)|0,e[b0>>2]=s0,e[b0+4>>2]=$,j=j+1|0}q=q+1|0}while(!1);for(j=e0,s0=e0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=j+8|0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=0,$=n0,j=j+16|0,q=o0;!((q|0)<=1);)e0=e[u0+(s0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(M=$+1|0,f=e[u0+(M<<3)>>2]|0,a0=s0,x0=$):(a0=s0+1|0,e0=e[u0+(a0<<3)>>2]|0,M=$,x0=s0),e0>>>0>f>>>0?(s0=a0,$=M+1|0,e0=M):(f=e0,s0=a0+1|0,$=M,e0=a0),e[j+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[j+-4>>1]=x0,o[j+-2>>1]=e0,b0=j,e[b0>>2]=-1,e[b0+4>>2]=-1,j=j+8|0,q=q+-1|0;if(AD((f0>>2)+-1|0,u0,d,14)|0)break;S0=S0<<1}if(Ex[e[c+4>>2]&1](e[p0>>2]|0,u0),fs(d,w0,w),f0=e[p>>2]|0,n0=k+(f0>>>3)|0,o0=s[n0>>0]|0,f0=f0&7,E0>>>0>=5){b0=Tx(1431655764,255,f0|0)|0,e0=A0,b0=o0|b0,f=n0,q=f,n[q>>0]=b0,n[q+1>>0]=b0>>8,n[q+2>>0]=b0>>16,n[q+3>>0]=b0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+40|0,e[p>>2]=f,e0=0,q=8;x:for(;;){for(;;){if(e0>>>0>=w0>>>0){f=114;break x}for(j=n[d+e0>>0]|0,M=1,s0=e0;s0=s0+1|0,!(s0>>>0>=w0>>>0||(n[d+s0>>0]|0)!=j<<24>>24);)M=M+1|0;if(e0=e0+M|0,j<<24>>24)break;if(a0=e[11564+(M<<2)>>2]|0,$=8+(M<<3)|0,s0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,b0=vx(s0|0,$|0,a0|0)|0,!((b0|0)==0&(A0|0)==0)){f=99;break x}b0=s[x0>>0]|0,c=Tx(s0|0,$|0,f&7|0)|0,y0=A0,c=b0|c,b0=x0,w=b0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,b0=(e[p>>2]|0)+a0|0,e[p>>2]=b0,f=b0}if(q<<24>>24==j<<24>>24)s0=M;else{if($=j&255,s0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,b0=vx($|0,0,s0&255|0)|0,!((b0|0)==0&(A0|0)==0)){f=103;break}y0=s[x0>>0]|0,w=Tx($|0,0,f&7|0)|0,b0=A0,w=y0|w,f=x0,y0=f,n[y0>>0]=w,n[y0+1>>0]=w>>8,n[y0+2>>0]=w>>16,n[y0+3>>0]=w>>24,f=f+4|0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,f=(e[p>>2]|0)+(s0&255)|0,e[p>>2]=f,s0=M+-1|0}if(s0>>>0>=3){if(x0=s0+-3|0,s0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,a0=k+(f>>>3)|0,b0=vx($|0,x0|0,s0|0)|0,!((b0|0)==0&(A0|0)==0)){f=112;break}b0=s[a0>>0]|0,y0=Tx($|0,x0|0,f&7|0)|0,q=A0,y0=b0|y0,f=a0,b0=f,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,f=f+4|0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,f=(e[p>>2]|0)+s0|0,e[p>>2]=f,q=j;continue}for(q=j&255,M=404394+q|0,q=14380+(q<<2)|0;;){if(!s0){q=j;continue x}if($=n[M>>0]|0,x0=e[q>>2]|0,a0=k+(f>>>3)|0,b0=vx(x0|0,0,$&255|0)|0,!((b0|0)==0&(A0|0)==0)){f=109;break x}b0=s[a0>>0]|0,c=Tx(x0|0,0,f&7|0)|0,y0=A0,c=b0|c,b0=a0,w=b0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,b0=(e[p>>2]|0)+($&255)|0,e[p>>2]=b0,f=b0,s0=s0+-1|0}}if((f|0)==99)W0(406196,406218,54,406251);else if((f|0)==103)W0(406196,406218,54,406251);else if((f|0)==109)W0(406196,406218,54,406251);else if((f|0)==112)W0(406196,406218,54,406251);else if((f|0)==114){c0=g0;return}}for(b0=Tx(1,0,f0|0)|0,e0=A0,b0=o0|b0,f=n0,s0=f,n[s0>>0]=b0,n[s0+1>>0]=b0>>8,n[s0+2>>0]=b0>>16,n[s0+3>>0]=b0>>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=E0+-1|0,s0=k+(f>>>3)|0,(e0&-4|0)==0&!0||W0(406196,406218,54,406251),q=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,$=A0,b0=q|b0,q=s0,a0=q,n[a0>>0]=b0,n[a0+1>>0]=b0>>8,n[a0+2>>0]=b0>>16,n[a0+3>>0]=b0>>24,q=q+4|0,n[q>>0]=$,n[q+1>>0]=$>>8,n[q+2>>0]=$>>16,n[q+3>>0]=$>>24,q=(e[p>>2]|0)+2|0,e[p>>2]=q,$=E0+-1|0,a0=0;(a0|0)!=(E0|0);){for(x0=D0+(a0<<2)|0,f=a0;M=f+1|0,(f|0)!=($|0);){if(f=D0+(M<<2)|0,e0=e[f>>2]|0,s0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+s0>>0]|0)){f=M;continue}e[f>>2]=s0,e[x0>>2]=e0,f=M}a0=a0+1|0}switch(E0|0){case 2:{f=e[D0>>2]|0,e0=k+(q>>>3)|0,s0=s[e0>>0]|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),b0=Tx(f|0,0,q&7|0)|0,f=A0,b0=s0|b0,s0=e0,e0=s0,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+3>>0]=f>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,e0=e[D0+4>>2]|0,f=k+(s0>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),b0=s[f>>0]|0,D0=Tx(e0|0,0,s0&7|0)|0,y0=A0,D0=b0|D0,b0=f,k=b0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=g0;return}case 3:{f=e[D0>>2]|0,e0=k+(q>>>3)|0,s0=s[e0>>0]|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),f=Tx(f|0,0,q&7|0)|0,b0=A0,s0=s0|f,f=e0,e0=f,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,f=f+4|0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[D0+4>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,e0=A0,b0=y0|b0,f=s0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+3>>0]=e0>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,e0=e[D0+8>>2]|0,f=k+(s0>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),b0=s[f>>0]|0,D0=Tx(e0|0,0,s0&7|0)|0,y0=A0,D0=b0|D0,b0=f,k=b0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=g0;return}default:{$=e[D0>>2]|0,f=k+(q>>>3)|0,e0=s[f>>0]|0,(vx($|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),b0=Tx($|0,0,q&7|0)|0,s0=A0,b0=e0|b0,e0=f,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,f=f+4|0,n[f>>0]=s0,n[f+1>>0]=s0>>8,n[f+2>>0]=s0>>16,n[f+3>>0]=s0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[D0+4>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,e0=A0,b0=y0|b0,f=s0,s0=f,n[s0>>0]=b0,n[s0+1>>0]=b0>>8,n[s0+2>>0]=b0>>16,n[s0+3>>0]=b0>>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[D0+8>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,f=A0,b0=y0|b0,e0=s0,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+3>>0]=f>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,f=e[D0+12>>2]|0,e0=k+(s0>>>3)|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[e0>>0]|0,E0=Tx(f|0,0,s0&7|0)|0,b0=A0,E0=y0|E0,y0=e0,D0=y0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,y0=y0+4|0,n[y0>>0]=b0,n[y0+1>>0]=b0>>8,n[y0+2>>0]=b0>>16,n[y0+3>>0]=b0>>24,y0=(e[p>>2]|0)+l|0,e[p>>2]=y0,b0=k+(y0>>>3)|0,l=s[b0>>0]|0,k=Tx((n[d+$>>0]|0)==1|0,0,y0&7|0)|0,y0=A0,k=l|k,l=b0,n[l>>0]=k,n[l+1>>0]=k>>8,n[l+2>>0]=k>>16,n[l+3>>0]=k>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=g0;return}}}function tD(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0,M,q,j){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0,M=M|0,q=q|0,j=j|0;var n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0;for(ox=c0,c0=c0+2704|0,bx=ox+1800|0,_x=ox+900|0,Dx=ox,z5(k,l,q,j),J0=c+8|0,u0=Px[e[c>>2]&1](e[J0>>2]|0,11272)|0,u0||Ix(1),V0=e[M>>2]|0,q0=e[M+8>>2]|0,l=e[M+12>>2]|0,xx=e[M+4>>2]|0,e[bx>>2]=256,e[bx+4>>2]=V0,e[bx+8>>2]=q0,e[bx+12>>2]=l,e[bx+16>>2]=xx,e[bx+20>>2]=1,e[bx+24>>2]=0,e[bx+880>>2]=0,xx?l=e[l>>2]|0:l=0,e[bx+884>>2]=l,e[bx+888>>2]=0,q0=bx+892|0,e[q0>>2]=0,xx=bx+896|0,e[xx>>2]=0,R0=e[M+24>>2]|0,U0=e[M+32>>2]|0,l=e[M+36>>2]|0,V0=e[M+28>>2]|0,e[_x>>2]=704,e[_x+4>>2]=R0,e[_x+8>>2]=U0,e[_x+12>>2]=l,e[_x+16>>2]=V0,e[_x+20>>2]=1,e[_x+24>>2]=0,e[_x+880>>2]=0,V0?l=e[l>>2]|0:l=0,e[_x+884>>2]=l,e[_x+888>>2]=0,U0=_x+892|0,e[U0>>2]=0,V0=_x+896|0,e[V0>>2]=0,T0=e[M+48>>2]|0,P0=e[M+56>>2]|0,l=e[M+60>>2]|0,R0=e[M+52>>2]|0,e[Dx>>2]=e0+16+(48<<s0),e[Dx+4>>2]=T0,e[Dx+8>>2]=P0,e[Dx+12>>2]=l,e[Dx+16>>2]=R0,e[Dx+20>>2]=1,e[Dx+24>>2]=0,e[Dx+880>>2]=0,R0?l=e[l>>2]|0:l=0,e[Dx+884>>2]=l,e[Dx+888>>2]=0,P0=Dx+892|0,e[P0>>2]=0,R0=Dx+896|0,e[R0>>2]=0,Q5(bx,u0,q,j),Q5(_x,u0,q,j),Q5(Dx,u0,q,j),l=e[q>>2]|0,n0=j+(l>>>3)|0,o0=s[n0>>0]|0,(s0&-4|0)==0&!0||W0(406196,406218,54,406251),f0=Tx(s0|0,0,l&7|0)|0,l=A0,o0=o0|f0,f0=n0,n0=f0,n[n0>>0]=o0,n[n0+1>>0]=o0>>8,n[n0+2>>0]=o0>>16,n[n0+3>>0]=o0>>24,f0=f0+4|0,n[f0>>0]=l,n[f0+1>>0]=l>>8,n[f0+2>>0]=l>>16,n[f0+3>>0]=l>>24,f0=(e[q>>2]|0)+2|0,e[q>>2]=f0,l=e0>>>s0,n0=j+(f0>>>3)|0,o0=s[n0>>0]|0,(l&-16|0)==0&!0||W0(406196,406218,54,406251),T0=Tx(l|0,0,f0&7|0)|0,l=A0,T0=o0|T0,s0=n0,n[s0>>0]=T0,n[s0+1>>0]=T0>>8,n[s0+2>>0]=T0>>16,n[s0+3>>0]=T0>>24,n0=n0+4|0,n[n0>>0]=l,n[n0+1>>0]=l>>8,n[n0+2>>0]=l>>16,n[n0+3>>0]=l>>24,n0=(e[q>>2]|0)+4|0,e[q>>2]=n0,l=($&-4|0)==0&!0,s0=0;!(s0>>>0>=(e[M>>2]|0)>>>0);){if(o0=j+(n0>>>3)|0,f0=s[o0>>0]|0,!l){p0=16;break}g0=Tx($|0,0,n0&7|0)|0,b0=A0,g0=f0|g0,T0=o0,y0=T0,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>24,T0=T0+4|0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,T0=(e[q>>2]|0)+2|0,e[q>>2]=T0,n0=T0,s0=s0+1|0}for((p0|0)==16&&W0(406196,406218,54,406251),T0=M+76|0,l=e[T0>>2]|0,o0=M+92|0,n0=e[o0>>2]|0,l?nD(c,e[M+72>>2]|0,l,n0,u0,q,j):iD(n0,6,u0,q,j),b0=M+84|0,l=e[b0>>2]|0,e0=M+108|0,n0=e[e0>>2]|0,l?nD(c,e[M+80>>2]|0,l,n0,u0,q,j):iD(n0,2,u0,q,j),f0=e[M+88>>2]|0,o0=e[o0>>2]|0,s0=e[bx>>2]|0,l=ix(o0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[q0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[xx>>2]=l,l=f0,n0=0;(n0|0)!=(o0|0);)y0=ix(n0,s0)|0,ui(l+(n0*1040|0)|0,s0,u0,(e[q0>>2]|0)+y0|0,(e[xx>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;for(o0=e[M+96>>2]|0,f0=e[M+100>>2]|0,s0=e[_x>>2]|0,l=ix(f0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[U0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[V0>>2]=l,l=o0,n0=0;(n0|0)!=(f0|0);)y0=ix(n0,s0)|0,ui(l+(n0*2832|0)|0,s0,u0,(e[U0>>2]|0)+y0|0,(e[V0>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;for(o0=e[M+104>>2]|0,f0=e[e0>>2]|0,s0=e[Dx>>2]|0,l=ix(f0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[P0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[R0>>2]=l,l=o0,n0=0;(n0|0)!=(f0|0);)y0=ix(n0,s0)|0,ui(l+(n0*2096|0)|0,s0,u0,(e[P0>>2]|0)+y0|0,(e[R0>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;y0=c+4|0,Ex[e[y0>>2]&1](e[J0>>2]|0,u0),g0=M+80|0,D0=M+72|0,n0=w,l=p,E0=0;x:for(;;){if(E0>>>0>=a0>>>0){p0=87;break}c=e[x0+(E0<<4)>>2]|0,s0=e[x0+(E0<<4)+4>>2]|0,w0=e[x0+(E0<<4)+8>>2]|0,p=e[x0+(E0<<4)+12>>2]|0,w=p&65535,S0=p>>>16,h0=p&65535,W5(_x,h0,q,j),M=s0&16777215,s0=M^s0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Ax(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Ax(c+-66|0)|0)^31)+10|0;break}if(c>>>0<6210){f0=21;break}f0=c>>>0<22594?22:23}while(!1);do if(s0>>>0<10)o0=s0+65534|0;else{if(s0>>>0<134){u0=s0+-6|0,o0=((Ax(u0|0)|0)^31)+-1|0,o0=(o0<<1)+(u0>>>o0)+4|0;break}if(s0>>>0>=2118){o0=23;break}o0=((Ax(s0+-70|0)|0)^31)+12|0}while(!1);if(f0=f0&65535,p0=e[17268+(f0<<2)>>2]|0,f0=c-(e[18788+(f0<<2)>>2]|0)|0,e0=o0&65535,s0=Tx(s0-(e[17364+(e0<<2)>>2]|0)|0,0,p0|0)|0,o0=A0,f0=s0|f0,s0=p0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[q>>2]|0,p0=j+(e0>>>3)|0,u0=s[p0>>0]|0,cx=vx(f0|0,o0|0,s0|0)|0,!((cx|0)==0&(A0|0)==0)){p0=61;break}if(s0>>>0>=57){p0=63;break}f0=Tx(f0|0,o0|0,e0&7|0)|0,e0=A0,f0=u0|f0,cx=p0,u0=cx,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,cx=cx+4|0,n[cx>>0]=e0,n[cx+1>>0]=e0>>8,n[cx+2>>0]=e0>>16,n[cx+3>>0]=e0>>24,e[q>>2]=(e[q>>2]|0)+s0;e:do if(e[T0>>2]|0)for(o0=f,f0=c;;){if(!f0)break e;switch($|0){case 0:{l=n0&63;break}case 1:{l=(n0&255)>>>2;break}case 2:{l=n[406969+(n0&255)>>0]|n[406969+(l&255|256)>>0];break}case 3:{l=((s[407481+(n0&255)>>0]|0)<<3)+(s[407481+(l&255)>>0]|0)&255;break}default:l=0}cx=n[h+(o0&d)>>0]|0,aD(bx,cx&255,l&255,e[D0>>2]|0,q,j,6),l=n0,n0=cx,o0=o0+1|0,f0=f0+-1|0}else for(o0=f,f0=c;;){if(!f0)break e;W5(bx,s[h+(o0&d)>>0]|0,q,j),o0=o0+1|0,f0=f0+-1|0}while(!1);u0=f+c+M|0;do if(M){if(l=n[h+(u0+-2&d)>>0]|0,n0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=w0>>>24,p0=w0&16777215,!(e[b0>>2]|0))W5(Dx,S0,q,j);else{switch(o0=p&7,h0>>>6|0){case 7:case 4:case 2:case 0:{o0=o0>>>0<3?o0:3;break}default:o0=3}aD(Dx,S0,o0,e[g0>>2]|0,q,j,2)}if(o0=e[q>>2]|0,f0=j+(o0>>>3)|0,s0=s[f0>>0]|0,cx=vx(p0|0,0,e0|0)|0,!((cx|0)==0&(A0|0)==0)){p0=82;break x}if(w0>>>0>=956301312){p0=84;break x}h0=Tx(p0|0,0,o0&7|0)|0,w0=A0,h0=s0|h0,cx=f0,S0=cx,n[S0>>0]=h0,n[S0+1>>0]=h0>>8,n[S0+2>>0]=h0>>16,n[S0+3>>0]=h0>>24,cx=cx+4|0,n[cx>>0]=w0,n[cx+1>>0]=w0>>8,n[cx+2>>0]=w0>>16,n[cx+3>>0]=w0>>24,e[q>>2]=(e[q>>2]|0)+e0}while(!1);f=u0,E0=E0+1|0}if((p0|0)==61)W0(406196,406218,54,406251);else if((p0|0)==63)W0(406267,406218,55,406251);else if((p0|0)==82)W0(406196,406218,54,406251);else if((p0|0)==84)W0(406267,406218,55,406251);else if((p0|0)==87){if(Ex[e[y0>>2]&1](e[J0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[R0>>2]|0),e[R0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[U0>>2]|0),e[U0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[V0>>2]|0),e[V0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[q0>>2]|0),e[q0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[xx>>2]|0),e[xx>>2]=0,!k){c0=ox;return}cx=(e[q>>2]|0)+7|0,e[q>>2]=cx&-8,n[j+(cx>>>3)>>0]=0,c0=ox;return}}function If(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+32|0,M=j+8|0,a0=j+16|0,k=j,q=f&l,f=p+((e[w>>2]|0)>>>3)|0,s0=s[f>>0]|0,e0=f,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>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,oD(d,M,a0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,s0=p+(e0>>>3)|0,$=s[s0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||W0(406196,406218,54,406251),f=Tx(f|0,k|0,e0&7|0)|0,k=A0,f=$|f,x0=s0,$=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[a0>>2]|0,k=M,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,s0=s[e0>>0]|0,M=vx(f|0,k|0,$|0)|0,(M|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$>>>0>=57&&W0(406267,406218,55,406251),M=Tx(f|0,k|0,x0&7|0)|0,f=A0,M=s0|M,x0=e0,a0=x0,n[a0>>0]=M,n[a0+1>>0]=M>>8,n[a0+2>>0]=M>>16,n[a0+3>>0]=M>>24,x0=x0+4|0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,x0=(e[w>>2]|0)+$|0,e[w>>2]=x0,f=p+(x0>>>3)|0,a0=s[f>>0]|0,x0=Tx(1,0,x0&7|0)|0,M=A0,x0=a0|x0,a0=f,n[a0>>0]=x0,n[a0+1>>0]=x0>>8,n[a0+2>>0]=x0>>16,n[a0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,e[w>>2]=(e[w>>2]|0)+1,f=(e[w>>2]|0)+7|0,e[w>>2]=f&-8,n[p+(f>>>3)>>0]=0,f=l+1|0,(q+d|0)>>>0>f>>>0?(f=f-q|0,$x(p+((e[w>>2]|0)>>>3)|0,h+q|0,f|0)|0,k=(e[w>>2]|0)+(f<<3)|0,e[w>>2]=k,d=d-f|0,f=0):(k=e[w>>2]|0,f=q),$x(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&W0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=j;return}h=e[w>>2]|0,l=p+(h>>>3)|0,q=s[l>>0]|0,h=Tx(1,0,h&7|0)|0,c=A0,h=q|h,q=l,n[q>>0]=h,n[q+1>>0]=h>>8,n[q+2>>0]=h>>16,n[q+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,l=(e[w>>2]|0)+1|0,e[w>>2]=l,c=p+(l>>>3)|0,q=s[c>>0]|0,l=Tx(1,0,l&7|0)|0,h=A0,l=q|l,q=c,n[q>>0]=l,n[q+1>>0]=l>>8,n[q+2>>0]=l>>16,n[q+3>>0]=l>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+8|0,e[w>>2]=c&-8,n[p+(c>>>3)>>0]=0,c0=j}function rD(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function z5(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,s0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,s0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Tx(c&1|0,0,e[f>>2]&7|0)|0,e0=A0,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),oD(h,$,s0,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||W0(406196,406218,54,406251),d=Tx(d|0,h|0,w&7|0)|0,h=A0,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[s0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=vx(d|0,h|0,k|0)|0,($|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k>>>0>=57&&W0(406267,406218,55,406251),e0=Tx(d|0,h|0,e0&7|0)|0,$=A0,e0=p|e0,d=w,s0=d,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+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 Q5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0;n0=c0,c0=c0+1136|0,j=n0+104|0,q=n0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,a0=e[c+16>>2]|0,M=e[c+4>>2]|0,Gx(j|0,0,(M<<2)+8|0)|0,w=q,p=w+104|0;do e[w>>2]=0,w=w+4|0;while((w|0)<(p|0));for($=0,x0=1,w=0;($|0)!=(a0|0);){for(s0=s[d+$>>0]|0,(s0|0)==(x0+1|0)?w=1:w=(s0|0)==(w|0)?0:s0+2|0,$&&(e0=j+(w<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1),w=e[k+($<<2)>>2]|0,w>>>0>176?e0=w>>>0>752?20:14:e0=w>>>0>40?7:0;!(e0>>>0>=25||(p=e0+1|0,w>>>0<(e[17556+(p<<3)>>2]|0)>>>0));)e0=p;w=q+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=s0}if(K5(M+-1|0,f,l),M>>>0<=1){c0=n0;return}for(a0=c+20|0,ui(j,M+2|0,h,c+28|0,c+286|0,f,l),ui(q,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,j=s[d>>0]|0,e[c+24>>2]=e[a0>>2],e[a0>>2]=j,w>>>0>176?p=w>>>0>752?20:14:p=w>>>0>40?7:0;!(p>>>0>=25||(d=p+1|0,w>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)p=d;$=e[17556+(p<<3)+4>>2]|0,s0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=_[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=vx(d|0,0,e0&255|0)|0,(c|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)>=57&&W0(406267,406218,55,406251),c=Tx(d|0,0,w&7|0)|0,d=A0,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=vx(s0|0,0,$|0)|0,(l|0)==0&(A0|0)==0||W0(406196,406218,54,406251),h=Tx(s0|0,0,p&7|0)|0,c=A0,h=w|h,l=d,j=l,n[j>>0]=h,n[j+1>>0]=h>>8,n[j+2>>0]=h>>16,n[j+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+$,c0=n0}function iD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0;if(f0=c0,c0=c0+1904|0,$=f0,o0=f0+1632|0,n0=f0+1088|0,K5(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(q=h+-1|0,j=(1<<q)+-1|0,s0=q+c|0,Gx($|0,0,s0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Tx(1,0,e0&7|0)|0,p=A0,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||W0(406196,406218,54,406251),x0=Tx(p|0,0,w&7|0)|0,M=A0,x0=e0|x0,w=k,a0=w,n[a0>>0]=x0,n[a0+1>>0]=x0>>8,n[a0+2>>0]=x0>>16,n[a0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=M,n[w+1>>0]=M>>8,n[w+2>>0]=M>>16,n[w+3>>0]=M>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(q<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=s0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(ui($,s0,f,o0,n0,l,d),$=o0+q|0,f=n0+(q<<1)|0,x0=vx(j|0,0,q|0)|0,x0=(x0|0)==0&(A0|0)==0,a0=q>>>0<57,M=0;;){if(M>>>0>=c>>>0){w=22;break}if(p=(M|0)==0?0:M+h+-1|0,w=n[o0+p>>0]|0,p=_[n0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,s0=s[e0>>0]|0,p0=vx(p|0,0,w&255|0)|0,!((p0|0)==0&(A0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Tx(p|0,0,k&7|0)|0,k=A0,s0=s0|p,p=e0,e0=p,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,p=p+4|0,n[p>>0]=k,n[p+1>>0]=k>>8,n[p+2>>0]=k>>16,n[p+3>>0]=k>>24,w=(e[l>>2]|0)+(w&255)|0,e[l>>2]=w,p=n[$>>0]|0,k=_[f>>1]|0,e0=d+(w>>>3)|0,s0=s[e0>>0]|0,p0=vx(k|0,0,p&255|0)|0,!((p0|0)==0&(A0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Tx(k|0,0,w&7|0)|0,k=A0,s0=s0|w,w=e0,p0=w,n[p0>>0]=s0,n[p0+1>>0]=s0>>8,n[p0+2>>0]=s0>>16,n[p0+3>>0]=s0>>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(!a0){w=20;break}p0=Tx(j|0,0,w&7|0)|0,s0=A0,k=k|p0,p0=p,e0=p0,n[e0>>0]=k,n[e0+1>>0]=k>>8,n[e0+2>>0]=k>>16,n[e0+3>>0]=k>>24,p0=p0+4|0,n[p0>>0]=s0,n[p0+1>>0]=s0>>8,n[p0+2>>0]=s0>>16,n[p0+3>>0]=s0>>24,e[l>>2]=(e[l>>2]|0)+q,M=M+1|0}if((w|0)==10)W0(406196,406218,54,406251);else if((w|0)==12)W0(406267,406218,55,406251);else if((w|0)==14)W0(406196,406218,54,406251);else if((w|0)==16)W0(406267,406218,55,406251);else if((w|0)==18)W0(406196,406218,54,406251);else if((w|0)==20)W0(406267,406218,55,406251);else if((w|0)==22){o0=e[l>>2]|0,p0=d+(o0>>>3)|0,c=s[p0>>0]|0,o0=Tx(1,0,o0&7|0)|0,d=A0,o0=c|o0,c=p0,n[c>>0]=o0,n[c+1>>0]=o0>>8,n[c+2>>0]=o0>>16,n[c+3>>0]=o0>>24,p0=p0+4|0,n[p0>>0]=d,n[p0+1>>0]=d>>8,n[p0+2>>0]=d>>16,n[p0+3>>0]=d>>24,e[l>>2]=(e[l>>2]|0)+1,c0=f0;return}}function nD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0;if(S0=c0,c0=c0+2160|0,a0=S0+1088|0,n0=S0,h0=S0+1888|0,u0=S0+1344|0,K5(l+-1|0,w,p),(l|0)==1){c0=S0;return}f0=c+8|0,p0=Px[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,p0||Ix(1);x:do if(!f)o0=p0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)j=e[h+(e0<<2)>>2]|0,k=j>>>0>k>>>0?j:k,e0=e0+1|0;for(k>>>0<256?s0=0:W0(405316,404333,616,405333);!(s0>>>0>k>>>0);)n[a0+s0>>0]=s0,s0=s0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){o0=p0;break x}for(k=e[h+(x0<<2)>>2]&255,s0=0;;){if(s0>>>0>=$>>>0)break e;if((n[a0+s0>>0]|0)==k<<24>>24)break;s0=s0+1|0}for(e[p0+(x0<<2)>>2]=s0,e0=n[a0+s0>>0]|0,k=s0;k;)j=k+-1|0,n[a0+k>>0]=n[a0+j>>0]|0,k=j;n[a0>>0]=e0,x0=x0+1|0}W0(405354,404333,624,405333)}while(!1);for(e[a0>>2]=0,k=0,s0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[o0+(k<<2)>>2]|0)){e0=0;break}j=k+1|0,e[a0>>2]=j,k=j}for(;!(k>>>0>=f>>>0||e[o0+(k<<2)>>2]|0);)j=k+1|0,e[a0>>2]=j,k=j,e0=e0+1|0;s0=e0>>>0>s0>>>0?e0:s0}for(s0?(j=(Ax(s0|0)|0)^31,j=j>>>0<6?j:6):j=0,e[a0>>2]=0,$=2<<j,x0=j+((512<<j)+-512)|0,h=$+-1|0,s0=0,M=0;!(s0>>>0>=f>>>0);){if(M>>>0>s0>>>0){q=38;break}k=e[o0+(s0<<2)>>2]|0;x:do if(k)e[o0+(M<<2)>>2]=k+j,e[a0>>2]=(e[a0>>2]|0)+1,k=M+1|0;else{for(k=s0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[o0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[a0>>2]=s0+e0,k=M;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[o0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}M=(Ax(e0|0)|0)^31,e[o0+(k<<2)>>2]=M|e0-(1<<M)<<9,k=k+1|0}while(!1);s0=e[a0>>2]|0,M=k}for((q|0)==38&&W0(405282,404333,656,405297),Gx(n0|0,0,1088)|0,k=0;(k|0)!=(M|0);)q=n0+((e[o0+(k<<2)>>2]&511)<<2)|0,e[q>>2]=(e[q>>2]|0)+1,k=k+1|0;q=(j|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Tx(q&1|0,0,h&7|0)|0,a0=A0,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]=a0,n[k+1>>0]=a0>>8,n[k+2>>0]=a0>>16,n[k+3>>0]=a0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(q)if(e0=j+-1|0,s0=p+(k>>>3)|0,$=s[s0>>0]|0,(e0&-16|0)==0&!0){h=Tx(e0|0,0,k&7|0)|0,a0=A0,h=$|h,q=s0,f=q,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,q=q+4|0,n[q>>0]=a0,n[q+1>>0]=a0>>8,n[q+2>>0]=a0>>16,n[q+3>>0]=a0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else W0(406196,406218,54,406251);while(!1);for(ui(n0,j+l|0,d,h0,u0,w,p),a0=0;;){if(a0>>>0>=M>>>0){q=70;break}if(f=e[o0+(a0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[h0+h>>0]|0,e0=_[u0+(h<<1)>>1]|0,s0=e[w>>2]|0,$=p+(s0>>>3)|0,x0=s[$>>0]|0,d=vx(e0|0,0,k&255|0)|0,!((d|0)==0&(A0|0)==0)){q=60;break}if((k&255)>=57){q=62;break}if(q=Tx(e0|0,0,s0&7|0)|0,l=A0,q=x0|q,d=$,n0=d,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,k=(e[w>>2]|0)+(k&255)|0,e[w>>2]=k,!((h|0)==0|h>>>0>j>>>0)){if(e0=p+(k>>>3)|0,s0=s[e0>>0]|0,d=vx(f|0,0,h|0)|0,!((d|0)==0&(A0|0)==0)){q=65;break}if(h>>>0>=57){q=67;break}q=Tx(f|0,0,k&7|0)|0,l=A0,q=s0|q,d=e0,n0=d,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,e[w>>2]=(e[w>>2]|0)+h}a0=a0+1|0}if((q|0)==60)W0(406196,406218,54,406251);else if((q|0)==62)W0(406267,406218,55,406251);else if((q|0)==65)W0(406196,406218,54,406251);else if((q|0)==67)W0(406267,406218,55,406251);else if((q|0)==70){o0=e[w>>2]|0,p=p+(o0>>>3)|0,u0=s[p>>0]|0,o0=Tx(1,0,o0&7|0)|0,h0=A0,o0=u0|o0,u0=p,n[u0>>0]=o0,n[u0+1>>0]=o0>>8,n[u0+2>>0]=o0>>16,n[u0+3>>0]=o0>>24,p=p+4|0,n[p>>0]=h0,n[p+1>>0]=h0>>8,n[p+2>>0]=h0>>16,n[p+3>>0]=h0>>24,e[w>>2]=(e[w>>2]|0)+1,Ex[e[c+4>>2]&1](e[f0>>2]|0,p0),c0=S0;return}}function W5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;q=c+884|0,d=e[q>>2]|0;do if(d)M=c+888|0,j=d;else{for(x0=c+880|0,w=(e[x0>>2]|0)+1|0,e[x0>>2]=w,x0=e[(e[c+12>>2]|0)+(w<<2)>>2]|0,w=n[(e[c+8>>2]|0)+w>>0]|0,e[q>>2]=x0,w=w&255,a0=c+888|0,e[a0>>2]=ix(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,s0=n[c+28+e0>>0]|0,d=_[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=vx(d|0,0,s0&255|0)|0,($|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(s0&255)>=57&&W0(406267,406218,55,406251),w=Tx(d|0,0,w&7|0)|0,e0=A0,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)+(s0&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,s0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=_[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=vx(d|0,0,e0&255|0)|0,(x0|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)>=57&&W0(406267,406218,55,406251),x0=Tx(d|0,0,w&7|0)|0,d=A0,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=vx(s0|0,0,$|0)|0,(x0|0)==0&(A0|0)==0){s0=Tx(s0|0,0,w&7|0)|0,j=A0,s0=d|s0,M=p,x0=M,n[x0>>0]=s0,n[x0+1>>0]=s0>>8,n[x0+2>>0]=s0>>16,n[x0+3>>0]=s0>>24,M=M+4|0,n[M>>0]=j,n[M+1>>0]=j>>8,n[M+2>>0]=j>>16,n[M+3>>0]=j>>24,e[f>>2]=(e[f>>2]|0)+$,M=a0,j=e[q>>2]|0;break}else W0(406196,406218,54,406251)}while(!1);if(e[q>>2]=j+-1,p=(e[M>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=_[(e[c+896>>2]|0)+(p<<1)>>1]|0,k=e[f>>2]|0,d=l+(k>>>3)|0,w=s[d>>0]|0,l=vx(p|0,0,e0&255|0)|0,(l|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)<57){j=Tx(p|0,0,k&7|0)|0,c=A0,j=w|j,l=d,h=l,n[h>>0]=j,n[h+1>>0]=j>>8,n[h+2>>0]=j>>16,n[h+3>>0]=j>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+(e0&255);return}else W0(406267,406218,55,406251)}function aD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0;n0=c+884|0,k=e[n0>>2]|0;do if(k)j=c+888|0,o0=k;else{for(M=c+880|0,s0=(e[M>>2]|0)+1|0,e[M>>2]=s0,M=e[(e[c+12>>2]|0)+(s0<<2)>>2]|0,s0=n[(e[c+8>>2]|0)+s0>>0]|0,e[n0>>2]=M,s0=s0&255,q=c+888|0,e[q>>2]=s0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(s0|0)==(e0+1|0)?$=1:$=(s0|0)==(e[k>>2]|0)?0:s0+2|0,e[k>>2]=e0,e[p>>2]=s0,x0=n[c+28+$>>0]|0,k=_[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,s0=s[e0>>0]|0,a0=vx(k|0,0,x0&255|0)|0,(a0|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(x0&255)>=57&&W0(406267,406218,55,406251),p=Tx(k|0,0,p&7|0)|0,$=A0,p=s0|p,a0=e0,s0=a0,n[s0>>0]=p,n[s0+1>>0]=p>>8,n[s0+2>>0]=p>>16,n[s0+3>>0]=p>>24,a0=a0+4|0,n[a0>>0]=$,n[a0+1>>0]=$>>8,n[a0+2>>0]=$>>16,n[a0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),M>>>0>176?p=M>>>0>752?20:14:p=M>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,M>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(a0=e[17556+(p<<3)+4>>2]|0,x0=M-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=_[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,s0=s[e0>>0]|0,M=vx(k|0,0,$&255|0)|0,(M|0)==0&(A0|0)==0||W0(406196,406218,54,406251),($&255)>=57&&W0(406267,406218,55,406251),M=Tx(k|0,0,p&7|0)|0,p=A0,M=s0|M,k=e0,e0=k,n[e0>>0]=M,n[e0+1>>0]=M>>8,n[e0+2>>0]=M>>16,n[e0+3>>0]=M>>24,k=k+4|0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,k=(e[d>>2]|0)+($&255)|0,e[d>>2]=k,p=w+(k>>>3)|0,e0=s[p>>0]|0,M=vx(x0|0,0,a0|0)|0,(M|0)==0&(A0|0)==0){x0=Tx(x0|0,0,k&7|0)|0,o0=A0,x0=e0|x0,j=p,M=j,n[M>>0]=x0,n[M+1>>0]=x0>>8,n[M+2>>0]=x0>>16,n[M+3>>0]=x0>>24,j=j+4|0,n[j>>0]=o0,n[j+1>>0]=o0>>8,n[j+2>>0]=o0>>16,n[j+3>>0]=o0>>24,e[d>>2]=(e[d>>2]|0)+a0,j=q,o0=e[n0>>2]|0;break}else W0(406196,406218,54,406251)}while(!1);if(e[n0>>2]=o0+-1,e0=(ix(e[l+((e[j>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=_[(e[c+896>>2]|0)+(e0<<1)>>1]|0,s0=e[d>>2]|0,k=w+(s0>>>3)|0,p=s[k>>0]|0,w=vx(e0|0,0,$&255|0)|0,(w|0)==0&(A0|0)==0||W0(406196,406218,54,406251),($&255)<57){l=Tx(e0|0,0,s0&7|0)|0,c=A0,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 W0(406267,406218,55,406251)}function sD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;for(j=p+2816|0,n0=w+1024|0,o0=k+2080|0,q=0;(q|0)!=(d|0);){for(a0=e[l+(q<<4)>>2]|0,e0=e[l+(q<<4)+4>>2]|0,s0=e[l+(q<<4)+12>>2]|0,M=s0&65535,x0=s0>>>16,s0=p+((s0&65535)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,e[j>>2]=(e[j>>2]|0)+1,s0=h,$=a0;$;)f0=w+((s[c+(s0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[n0>>2]=(e[n0>>2]|0)+1,s0=s0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(M&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[o0>>2]=(e[o0>>2]|0)+1),h=h+a0+e0|0,q=q+1|0}}function ui(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,s0=0,$=0,x0=0,a0=0,M=0;for(M=c0,c0=c0+16|0,x0=M,e[x0>>2]=0,e[x0+4>>2]=0,e[x0+8>>2]=0,e[x0+12>>2]=0,$=0,e0=0;!(e0>>>0>=h>>>0);){if(!(e[c+(e0<<2)>>2]|0))k=$;else{if($>>>0>=4){if($>>>0>4)break}else e[x0+($<<2)>>2]=e0;k=$+1|0}$=k,e0=e0+1|0}for(a0=0,k=h+-1|0;k;)a0=a0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Tx(1,0,e0&7|0)|0,h=A0,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=vx(h|0,0,a0|0)|0,(p|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),f=Tx(h|0,0,c&7|0)|0,$=A0,f=e0|f,p=k,s0=p,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+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)+a0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=M;return}if(Gx(l|0,0,h|0)|0,Ho(c,h,15,f,l),fs(l,h,d),$>>>0>=5){$7(l,h,f,w,p),c0=M;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Tx(1,0,e[w>>2]&7|0)|0,e0=A0,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||W0(406196,406218,54,406251),f=Tx(e0|0,0,k&7|0)|0,d=A0,f=h|f,h=c,s0=h,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+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;s0=k+1|0,(k|0)!=(h|0);){if(k=x0+(s0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=s0;continue}e[k>>2]=c,e[f>>2]=e0,k=s0}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,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),e0=Tx(k|0,0,e0&7|0)|0,k=A0,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)+a0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(vx(c|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$=Tx(c|0,0,h&7|0)|0,x0=A0,$=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)+a0,c0=M;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),k=Tx(k|0,0,e0&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),e0=Tx(e0|0,0,k&7|0)|0,k=A0,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)+a0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(vx(c|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$=Tx(c|0,0,h&7|0)|0,x0=A0,$=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)+a0,c0=M;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),k=Tx(k|0,0,e0&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k=Tx(e0|0,0,k&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k=Tx(e0|0,0,k&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),f=Tx(e0|0,0,k&7|0)|0,$=A0,f=h|f,s0=c,d=s0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,s0=s0+4|0,n[s0>>0]=$,n[s0+1>>0]=$>>8,n[s0+2>>0]=$>>16,n[s0+3>>0]=$>>24,s0=(e[w>>2]|0)+a0|0,e[w>>2]=s0,a0=p+(s0>>>3)|0,$=s[a0>>0]|0,l=Tx((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,s0&7|0)|0,p=A0,l=$|l,x0=a0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,a0=a0+4|0,n[a0>>0]=p,n[a0+1>>0]=p>>8,n[a0+2>>0]=p>>16,n[a0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=M;return}}}function Y5(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0;D0=0;x:for(;;){if(D0>>>0>=d>>>0){h=42;break}if(u0=e[l+(D0<<4)>>2]|0,f0=e[l+(D0<<4)+4>>2]|0,E0=e[l+(D0<<4)+8>>2]|0,q=e[l+(D0<<4)+12>>2]|0,S0=q&65535,w0=q>>>16,q=q&65535,M=n[k+q>>0]|0,q=_[e0+(q<<1)>>1]|0,j=e[x0>>2]|0,n0=a0+(j>>>3)|0,o0=s[n0>>0]|0,h0=vx(q|0,0,M&255|0)|0,!((h0|0)==0&(A0|0)==0)){h=4;break}if((M&255)>=57){h=6;break}p0=Tx(q|0,0,j&7|0)|0,h0=A0,o0=o0|p0,p0=n0,j=p0,n[j>>0]=o0,n[j+1>>0]=o0>>8,n[j+2>>0]=o0>>16,n[j+3>>0]=o0>>24,p0=p0+4|0,n[p0>>0]=h0,n[p0+1>>0]=h0>>8,n[p0+2>>0]=h0>>16,n[p0+3>>0]=h0>>24,p0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=p0,h0=f0&16777215,j=h0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,q=((Ax(f0|0)|0)^31)+-1|0,q=(q<<1)+(f0>>>q)+2|0;break}if(u0>>>0<2114){q=((Ax(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?q=21:q=u0>>>0<22594?22:23}else q=u0;while(!1);do if(j>>>0>=10){if(j>>>0<134){f0=j+-6|0,M=((Ax(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+4|0;break}j>>>0<2118?M=((Ax(j+-70|0)|0)^31)+12|0:M=23}else M=j+65534|0;while(!1);if(q=q&65535,o0=e[17268+(q<<2)>>2]|0,q=u0-(e[18788+(q<<2)>>2]|0)|0,n0=M&65535,j=Tx(j-(e[17364+(n0<<2)>>2]|0)|0,0,o0|0)|0,M=A0,q=j|q,j=o0+(e[17460+(n0<<2)>>2]|0)|0,n0=a0+(p0>>>3)|0,o0=s[n0>>0]|0,f0=vx(q|0,M|0,j|0)|0,!((f0|0)==0&(A0|0)==0)){h=21;break}if(j>>>0>=57){h=23;break}for(q=Tx(q|0,M|0,p0&7|0)|0,f0=A0,q=o0|q,p0=n0,o0=p0,n[o0>>0]=q,n[o0+1>>0]=q>>8,n[o0+2>>0]=q>>16,n[o0+3>>0]=q>>24,p0=p0+4|0,n[p0>>0]=f0,n[p0+1>>0]=f0>>8,n[p0+2>>0]=f0>>16,n[p0+3>>0]=f0>>24,p0=(e[x0>>2]|0)+j|0,e[x0>>2]=p0,o0=u0;o0;){if(q=s[c+(h&f)>>0]|0,M=n[w+q>>0]|0,q=_[p+(q<<1)>>1]|0,j=a0+(p0>>>3)|0,n0=s[j>>0]|0,u0=vx(q|0,0,M&255|0)|0,!((u0|0)==0&(A0|0)==0)){h=27;break x}if((M&255)>=57){h=29;break x}q=Tx(q|0,0,p0&7|0)|0,f0=A0,q=n0|q,u0=j,n0=u0,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,u0=u0+4|0,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,u0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=u0,p0=u0,h=h+1|0,o0=o0+-1|0}if(h=h+h0|0,(h0|0)!=0&(S0&65535)>127){if(o0=E0>>>24,f0=E0&16777215,n0=n[s0+w0>>0]|0,M=_[$+(w0<<1)>>1]|0,q=a0+(p0>>>3)|0,j=s[q>>0]|0,w0=vx(M|0,0,n0&255|0)|0,!((w0|0)==0&(A0|0)==0)){h=33;break}if((n0&255)>=57){h=35;break}if(M=Tx(M|0,0,p0&7|0)|0,w0=A0,j=j|M,M=q,q=M,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,M=M+4|0,n[M>>0]=w0,n[M+1>>0]=w0>>8,n[M+2>>0]=w0>>16,n[M+3>>0]=w0>>24,M=(e[x0>>2]|0)+(n0&255)|0,e[x0>>2]=M,q=a0+(M>>>3)|0,j=s[q>>0]|0,w0=vx(f0|0,0,o0|0)|0,!((w0|0)==0&(A0|0)==0)){h=37;break}if(E0>>>0>=956301312){h=39;break}h0=Tx(f0|0,0,M&7|0)|0,w0=A0,h0=j|h0,E0=q,S0=E0,n[S0>>0]=h0,n[S0+1>>0]=h0>>8,n[S0+2>>0]=h0>>16,n[S0+3>>0]=h0>>24,E0=E0+4|0,n[E0>>0]=w0,n[E0+1>>0]=w0>>8,n[E0+2>>0]=w0>>16,n[E0+3>>0]=w0>>24,e[x0>>2]=(e[x0>>2]|0)+o0}D0=D0+1|0}switch(h|0){case 4:{W0(406196,406218,54,406251);break}case 6:{W0(406267,406218,55,406251);break}case 21:{W0(406196,406218,54,406251);break}case 23:{W0(406267,406218,55,406251);break}case 27:{W0(406196,406218,54,406251);break}case 29:{W0(406267,406218,55,406251);break}case 33:{W0(406196,406218,54,406251);break}case 35:{W0(406267,406218,55,406251);break}case 37:{W0(406196,406218,54,406251);break}case 39:{W0(406267,406218,55,406251);break}case 42:return}}function oD(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,s0=0,$=0;(c|0)!=1?(k=(Ax(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,s0=e0):W0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=s0):W0(405253,404333,87,405236),$>>>0<25?d=p:W0(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 K5(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;if(!c){k=f+((e[h>>2]|0)>>>3)|0,c=s[k>>0]|0,f=k,n[f>>0]=c,n[f+1>>0]=c>>8,n[f+2>>0]=c>>16,n[f+3>>0]=c>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[h>>2]|0)+1|0,e[h>>2]=k;return}k=(Ax(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Tx(1,0,p&7|0)|0,d=A0,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||W0(406196,406218,54,406251),e0=Tx(k|0,0,l&7|0)|0,l=A0,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=vx(w|0,0,k|0)|0,(f|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k>>>0>=57&&W0(406267,406218,55,406251),p=Tx(w|0,0,p&7|0)|0,f=A0,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 cD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+1040|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*1040|0)+1032>>3],$=+r0[c+(o0*1040|0)+1032>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*1040|0)+1024>>2]|0){if(f=e[c+(o0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*1040|0)|0,1040)|0,h=j+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+cs(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Tf(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)cD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*1040|0)+1024|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*1040|0)+1024>>2]|0),$=0;($|0)!=256;)M=c+(n0*1040|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*1040|0)+1032>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)cD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function uD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+2832|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*2832|0)+2824>>3],$=+r0[c+(o0*2832|0)+2824>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*2832|0)+2816>>2]|0){if(f=e[c+(o0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*2832|0)|0,2832)|0,h=j+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+_f(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function fD(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)uD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*2832|0)+2816|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2832|0)+2816>>2]|0),$=0;($|0)!=704;)M=c+(n0*2832|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*2832|0)+2824>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)uD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function dD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+2096|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*2096|0)+2088>>3],$=+r0[c+(o0*2096|0)+2088>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*2096|0)+2080>>2]|0){if(f=e[c+(o0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*2096|0)|0,2096)|0,h=j+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+us(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Rf(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)dD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*2096|0)+2080|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2096|0)+2080>>2]|0),$=0;($|0)!=520;)M=c+(n0*2096|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*2096|0)+2088>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)dD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function lD(c,h,f,l,d,w,p,k,e0,s0,$,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,s0=s0|0,$=$|0,x0=x0|0;var a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0;if(Ce=c0,c0=c0+2304|0,ae=Ce+512|0,Nx=Ce,px=Ce+2048|0,Ox=Ce+1536|0,n0=h,u0=f>>>0<98304?f:98304,h0=e[$>>2]|0,fx=64-((Ax(w|0)|0)^31)|0,w||W0(405532,405401,464,405439),w>>>0>=2147483649&&W0(405605,405401,465,405439),a0=w+-1|0,a0&w&&W0(405630,405401,467,405439),nx=vx(16777215,-1,fx|0)|0,(a0|0)!=(nx|0)&&W0(405667,405401,469,405439),!f){l||W0(405466,405401,472,405439),c=x0+(h0>>>3)|0,d=s[c>>0]|0,px=Tx(1,0,h0&7|0)|0,ax=A0,px=d|px,d=c,n[d>>0]=px,n[d+1>>0]=px>>8,n[d+2>>0]=px>>16,n[d+3>>0]=px>>24,c=c+4|0,n[c>>0]=ax,n[c+1>>0]=ax>>8,n[c+2>>0]=ax>>16,n[c+3>>0]=ax>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ax=x0+(c>>>3)|0,x0=s[ax>>0]|0,c=Tx(1,0,c&7|0)|0,d=A0,c=x0|c,x0=ax,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=d,n[ax+1>>0]=d>>8,n[ax+2>>0]=d>>16,n[ax+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=Ce;return}for(Pf(u0,0,$,x0),o0=x0+((e[$>>2]|0)>>>3)|0,nx=s[o0>>0]|0,a0=o0,n[a0>>0]=nx,n[a0+1>>0]=nx>>8,n[a0+2>>0]=nx>>16,n[a0+3>>0]=nx>>24,o0=o0+4|0,n[o0>>0]=0,n[o0+1>>0]=0,n[o0+2>>0]=0,n[o0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,o0=hD(c,h,u0,px,Ox,$,x0)|0,a0=0;w=e[e0>>2]|0,!((a0|7)>>>0>=w>>>0);)zx=e[$>>2]|0,nx=x0+(zx>>>3)|0,Bx=s[nx>>0]|0,zx=Tx(s[s0+(a0>>>3)>>0]|0,0,zx&7|0)|0,ux=A0,zx=Bx|zx,Bx=nx,n[Bx>>0]=zx,n[Bx+1>>0]=zx>>8,n[Bx+2>>0]=zx>>16,n[Bx+3>>0]=zx>>24,nx=nx+4|0,n[nx>>0]=ux,n[nx+1>>0]=ux>>8,n[nx+2>>0]=ux>>16,n[nx+3>>0]=ux>>24,e[$>>2]=(e[$>>2]|0)+8,a0=a0+8|0;j=w&7,a0=s[s0+(w>>>3)>>0]|0,w=e[$>>2]|0,M=x0+(w>>>3)|0,q=s[M>>0]|0,nx=vx(a0|0,0,j|0)|0,(nx|0)==0&(A0|0)==0||W0(406196,406218,54,406251),Rx=Tx(a0|0,0,w&7|0)|0,Wx=A0,Rx=q|Rx,Qx=M,Hx=Qx,n[Hx>>0]=Rx,n[Hx+1>>0]=Rx>>8,n[Hx+2>>0]=Rx>>16,n[Hx+3>>0]=Rx>>24,Qx=Qx+4|0,n[Qx>>0]=Wx,n[Qx+1>>0]=Wx>>8,n[Qx+2>>0]=Wx>>16,n[Qx+3>>0]=Wx>>24,e[$>>2]=(e[$>>2]|0)+j,Qx=h,Wx=p+61|0,Hx=k+122|0,Rx=Nx+84|0,Lx=p+64|0,lx=k+128|0,kx=Nx+256|0,gx=p+39|0,ex=k+78|0,Z0=Nx+188|0,Kx=Nx+256|0,ee=p+62|0,ue=k+124|0,zx=Nx+88|0,Bx=p+63|0,ux=k+126|0,nx=Nx+92|0,w=f,a0=n0,q=u0,M=o0;x:for(;;){X0=h0+3|0,G0=M>>>0>980,Dx=a0,ox=q,j=a0,cx=q;e:for(;;){$x(Nx|0,17764,512)|0,bx=Dx,M=bx+ox|0,Cx=M;t:do if(ox>>>0>15)for(n0=ox+-5|0,_x=w+-16|0,_x=bx+(n0>>>0<_x>>>0?n0:_x)|0,n0=bx+1|0,f=n0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,R0=-1;;){if(q=Ie(q|0,f|0,-1124073472,1979815)|0,q=vx(q|0,A0|0,fx|0)|0,T0=j,T0>>>0>=n0>>>0){ax=24;break x}for(D0=0-R0|0,xx=n0,E0=32;;){if(g0=xx,f=E0,E0=E0+1|0,J0=xx,q0=J0,J0=J0+4|0,J0=Ie(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[J0>>0]|s[J0+1>>0]<<8|s[J0+2>>0]<<16|s[J0+3>>0]<<24|0,-1124073472,1979815)|0,J0=vx(J0|0,A0|0,fx|0)|0,(q|0)!=(J0|0)){ax=26;break x}if(o0=xx+(f>>>5)|0,o0>>>0>_x>>>0)break t;if(u0=o0,f=u0,u0=u0+4|0,u0=Ie(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=vx(u0|0,A0|0,fx|0)|0,f=xx+D0|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)==(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)&&(D0|0)<0&&(n[xx+4>>0]|0)==(n[xx+(4-R0)>>0]|0)){ax=30;break}if(q=d+(q<<2)|0,n0=e[q>>2]|0,f=h+n0|0,(n0|0)<0){ax=32;break x}if(f>>>0>=xx>>>0){ax=34;break x}if(e[q>>2]=g0-Qx,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){q=u0,xx=o0;continue}if((n[xx+4>>0]|0)==(n[h+(n0+4)>>0]|0))break;q=u0,xx=o0}for((ax|0)==30&&(ax=0,e[d+(q<<2)>>2]=g0-Qx),o0=f,J0=bx+(ox+-4)|0,q=0,n0=xx+5|0;;){if(n0>>>0>J0>>>0){q0=q,q=n0;break}if(q0=f+(q+5)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)){q0=q,q=n0;break}q=q+4|0,n0=n0+4|0}for(;!(q>>>0>=M>>>0||(n[f+(q0+5)>>0]|0)!=(n[q>>0]|0));)q0=q0+1|0,q=q+1|0;P0=q0+5|0,y0=g0-o0|0,b0=g0-j|0,U0=xx+P0|0,V0=U0;r:do if(P0){for(o0=P0,u0=xx;q=n[u0>>0]|0,n0=n[f>>0]|0,q<<24>>24==n0<<24>>24;)if(o0=o0+-1|0,o0)u0=u0+1|0,f=f+1|0;else break r;if(q<<24>>24!=n0<<24>>24){ax=48;break x}}while(!1);do if(b0>>>0>=6210){if(!(((j-a0|0)*50|0)>>>0>b0>>>0|G0^1)){ax=84;break e}if(b0>>>0<22594){if(q=n[ee>>0]|0,j=_[ue>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,g0=vx(j|0,0,q&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=87;break x}if((q&255)>=57){ax=89;break x}if(g0=Tx(j|0,0,f&7|0)|0,f=A0,g0=o0|g0,j=n0,n0=j,n[n0>>0]=g0,n[n0+1>>0]=g0>>8,n[n0+2>>0]=g0>>16,n[n0+3>>0]=g0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-6210|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16384|0)==0&!0)){ax=91;break x}E0=Tx(j|0,0,q&7|0)|0,g0=A0,E0=n0|E0,u0=f,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+14,e[zx>>2]=(e[zx>>2]|0)+1,u0=0;break}else{if(q=n[Bx>>0]|0,j=_[ux>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,g0=vx(j|0,0,q&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=94;break x}if((q&255)>=57){ax=96;break x}if(g0=Tx(j|0,0,f&7|0)|0,f=A0,g0=o0|g0,j=n0,n0=j,n[n0>>0]=g0,n[n0+1>>0]=g0>>8,n[n0+2>>0]=g0>>16,n[n0+3>>0]=g0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-22594|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=98;break x}E0=Tx(j|0,0,q&7|0)|0,g0=A0,E0=n0|E0,u0=f,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,u0=0;break}}else{if(b0>>>0<6){if(q=b0+40|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,g0=vx(f|0,0,j&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=52;break x}if((j&255)>=57){ax=54;break x}E0=Tx(f|0,0,n0&7|0)|0,g0=A0,E0=u0|E0,u0=o0,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),u0=Nx+(q<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(b0>>>0<130){if(u0=b0+-2|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0,g0=(D0<<1)+E0+42|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=58;break x}if((q&255)>=57){ax=60;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(E0<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=62;break x}if(D0>>>0>=57){ax=64;break x}o0=Tx(q|0,0,n0&7|0)|0,C0=A0,o0=f|o0,u0=j,E0=u0,n[E0>>0]=o0,n[E0+1>>0]=o0>>8,n[E0+2>>0]=o0>>16,n[E0+3>>0]=o0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+D0,u0=Nx+(g0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(b0>>>0>=2114){if(q=n[Wx>>0]|0,j=_[Hx>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=77;break x}if((q&255)>=57){ax=79;break x}if(C0=Tx(j|0,0,f&7|0)|0,f=A0,C0=o0|C0,j=n0,n0=j,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-2114|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-4096|0)==0&!0)){ax=81;break x}D0=Tx(j|0,0,q&7|0)|0,C0=A0,D0=n0|D0,u0=f,g0=u0,n[g0>>0]=D0,n[g0+1>>0]=D0>>8,n[g0+2>>0]=D0>>16,n[g0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Rx>>2]=(e[Rx>>2]|0)+1,u0=0;break}if(u0=b0+-66|0,E0=(Ax(u0|0)|0)^31,D0=E0+50|0,q=n[p+D0>>0]|0,j=_[k+(D0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=68;break x}if((q&255)>=57){ax=70;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(1<<E0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,E0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=72;break x}if(E0>>>0>=57){ax=74;break x}o0=Tx(q|0,0,n0&7|0)|0,C0=A0,o0=f|o0,u0=j,g0=u0,n[g0>>0]=o0,n[g0+1>>0]=o0>>8,n[g0+2>>0]=o0>>16,n[g0+3>>0]=o0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+E0,u0=Nx+(D0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=b0>>>0);){if(j=s[T0+u0>>0]|0,q=n[px+j>>0]|0,j=_[Ox+(j<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=102;break x}if((q&255)>=57){ax=104;break x}E0=Tx(j|0,0,f&7|0)|0,g0=A0,E0=o0|E0,C0=n0,D0=C0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,C0=C0+4|0,n[C0>>0]=g0,n[C0+1>>0]=g0>>8,n[C0+2>>0]=g0>>16,n[C0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=u0+1|0}if((y0|0)==(R0|0)){if(q=n[Lx>>0]|0,j=_[lx>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=108;break x}if((q&255)>=57){ax=110;break x}b0=Tx(j|0,0,f&7|0)|0,C0=A0,b0=o0|b0,y0=n0,T0=y0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,y0=y0+4|0,n[y0>>0]=C0,n[y0+1>>0]=C0>>8,n[y0+2>>0]=C0>>16,n[y0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[kx>>2]=(e[kx>>2]|0)+1,y0=R0}else{if(u0=y0+3|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0&1,g0=((D0<<1)+-2|E0)+80|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=113;break x}if((q&255)>=57){ax=115;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-((E0|2)<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=117;break x}if(D0>>>0>=57){ax=119;break x}b0=Tx(q|0,0,n0&7|0)|0,R0=A0,b0=f|b0,C0=j,T0=C0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+D0,C0=Nx+(g0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}do if(P0>>>0<12){if(q=q0+1|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=123;break x}if((j&255)>=57){ax=125;break x}T0=Tx(f|0,0,n0&7|0)|0,R0=A0,T0=u0|T0,C0=o0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(q<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}else{if(P0>>>0<72){if(u0=q0+-3|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0,g0=(D0<<1)+E0+4|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=129;break x}if((q&255)>=57){ax=131;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(E0<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=133;break x}if(D0>>>0>=57){ax=135;break x}T0=Tx(q|0,0,n0&7|0)|0,R0=A0,T0=f|T0,C0=j,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+D0,C0=Nx+(g0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1;break}if(P0>>>0<136){if(q=q0+-3|0,E0=(q>>>5)+30|0,j=n[p+E0>>0]|0,f=_[k+(E0<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=139;break x}if((j&255)>=57){ax=141;break x}if(C0=Tx(f|0,0,n0&7|0)|0,f=A0,C0=u0|C0,n0=o0,o0=n0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=f,n[n0+1>>0]=f>>8,n[n0+2>>0]=f>>16,n[n0+3>>0]=f>>24,n0=(e[$>>2]|0)+(j&255)|0,e[$>>2]=n0,f=x0+(n0>>>3)|0,o0=s[f>>0]|0,n0=Tx(q&31|0,0,n0&7|0)|0,j=A0,n0=o0|n0,q=f,f=q,n[f>>0]=n0,n[f+1>>0]=n0>>8,n[f+2>>0]=n0>>16,n[f+3>>0]=n0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+5|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=143;break x}if((j&255)>=57){ax=145;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(E0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1;break}if(P0>>>0>=2120){if(q=n[gx>>0]|0,j=_[ex>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=162;break x}if((q&255)>=57){ax=164;break x}if(C0=Tx(j|0,0,f&7|0)|0,f=A0,C0=o0|C0,j=n0,n0=j,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=q0+-2115|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=166;break x}if(q=Tx(j|0,0,q&7|0)|0,j=A0,n0=n0|q,q=f,f=q,n[f>>0]=n0,n[f+1>>0]=n0>>8,n[f+2>>0]=n0>>16,n[f+3>>0]=n0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+24|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=168;break x}if((j&255)>=57){ax=170;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),e[Z0>>2]=(e[Z0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1;break}if(u0=q0+-67|0,E0=(Ax(u0|0)|0)^31,D0=E0+28|0,q=n[p+D0>>0]|0,j=_[k+(D0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=149;break x}if((q&255)>=57){ax=151;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(1<<E0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,E0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=153;break x}if(E0>>>0>=57){ax=155;break x}if(q=Tx(q|0,0,n0&7|0)|0,n0=A0,f=f|q,q=j,j=q,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=q+4|0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>24,q=(e[$>>2]|0)+E0|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=157;break x}if((j&255)>=57){ax=159;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(D0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1}while(!1);if(U0>>>0>=_x>>>0){j=V0;break t}for(j=xx+(q0+2)|0,C0=j,C0=s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Ie(C0|0,j|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,o0=vx(C0|0,j|0,24)|0,o0=Ie(o0|0,A0|0,-1124073472,1979815)|0,o0=vx(o0|0,A0|0,fx|0)|0,u0=U0-Qx|0,e[d+(xx<<2)>>2]=u0+-3,xx=vx(C0|0,j|0,8)|0,xx=Ie(xx|0,A0|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=vx(C0|0,j|0,16)|0,j=Ie(j|0,A0|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,fx|0)|0,e[d+(j<<2)>>2]=u0+-1,o0=d+(o0<<2)|0,j=e[o0>>2]|0,e[o0>>2]=u0,o0=y0,u0=V0;g0=h+j|0,C0=u0,q=u0,!((s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)||(n[q+4>>0]|0)!=(n[h+(j+4)>>0]|0));){for(n0=j+5|0,j=0,f=q+5|0;!(f>>>0>J0>>>0||(C0=h+(n0+j)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)));)j=j+4|0,f=f+4|0;for(;!(f>>>0>=M>>>0||(n[h+(n0+j)>>0]|0)!=(n[f>>0]|0));)j=j+1|0,f=f+1|0;D0=j+5|0,T0=q+D0|0,R0=T0,P0=u0-g0|0;do if(!D0)ax=189;else{for(u0=D0,E0=q,o0=g0;;){if(f=n[E0>>0]|0,n0=n[o0>>0]|0,f<<24>>24!=n0<<24>>24){ax=186;break}if(u0=u0+-1|0,u0)E0=E0+1|0,o0=o0+1|0;else break}if((ax|0)==186&&(ax=0,f<<24>>24!=n0<<24>>24)){ax=187;break x}if(D0>>>0<10){ax=189;break}if(D0>>>0<134){if(D0=j+-1|0,y0=((Ax(D0|0)|0)^31)+-1|0,g0=D0>>>y0,b0=(y0<<1)+g0+20|0,f=n[p+b0>>0]|0,n0=_[k+(b0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=196;break x}if((f&255)>=57){ax=198;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-(g0<<y0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,y0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=200;break x}if(y0>>>0>=57){ax=202;break x}V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,C0=Nx+(b0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1;break}if(D0>>>0>=2118){if(f=n[gx>>0]|0,n0=_[ex>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=215;break x}if((f&255)>=57){ax=217;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,o0=A0,C0=E0|C0,n0=u0,u0=n0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>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,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,n0=j+-2113|0,o0=x0+(f>>>3)|0,u0=s[o0>>0]|0,!((n0&-16777216|0)==0&!0)){ax=219;break x}V0=Tx(n0|0,0,f&7|0)|0,xx=A0,V0=u0|V0,C0=o0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+24,e[Z0>>2]=(e[Z0>>2]|0)+1;break}if(D0=j+-65|0,g0=(Ax(D0|0)|0)^31,y0=g0+28|0,f=n[p+y0>>0]|0,n0=_[k+(y0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=206;break x}if((f&255)>=57){ax=208;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-(1<<g0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,g0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=210;break x}if(g0>>>0>=57){ax=212;break x}V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+g0,C0=Nx+(y0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}while(!1);if((ax|0)==189){if(ax=0,f=j+19|0,n0=n[p+f>>0]|0,o0=_[k+(f<<1)>>1]|0,u0=e[$>>2]|0,E0=x0+(u0>>>3)|0,D0=s[E0>>0]|0,C0=vx(o0|0,0,n0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=190;break x}if((n0&255)>=57){ax=192;break x}V0=Tx(o0|0,0,u0&7|0)|0,xx=A0,V0=D0|V0,C0=E0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),C0=Nx+(f<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}if(D0=P0+3|0,y0=((Ax(D0|0)|0)^31)+-1|0,g0=D0>>>y0&1,b0=((y0<<1)+-2|g0)+80|0,f=n[p+b0>>0]|0,n0=_[k+(b0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=222;break x}if((f&255)>=57){ax=224;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-((g0|2)<<y0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,y0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=226;break x}if(y0>>>0>=57){ax=228;break x}if(V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,C0=Nx+(b0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,T0>>>0>=_x>>>0){j=R0;break t}j=q+(j+2)|0,C0=j,C0=s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Ie(C0|0,j|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,o0=vx(C0|0,j|0,24)|0,o0=Ie(o0|0,A0|0,-1124073472,1979815)|0,o0=vx(o0|0,A0|0,fx|0)|0,u0=T0-Qx|0,e[d+(xx<<2)>>2]=u0+-3,xx=vx(C0|0,j|0,8)|0,xx=Ie(xx|0,A0|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=vx(C0|0,j|0,16)|0,j=Ie(j|0,A0|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,fx|0)|0,e[d+(j<<2)>>2]=u0+-1,o0=d+(o0<<2)|0,j=e[o0>>2]|0,e[o0>>2]=u0,o0=P0,u0=R0}n0=q+1|0,f=n0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,R0=o0,j=u0}while(!1);if(D0=j,D0>>>0>M>>>0){ax=233;break x}if(f=w-ox|0,n0=f>>>0<65536?f:65536,(w|0)==(ox|0)){w=0,ax=254;break}if(o0=cx+n0|0,o0>>>0>=1048577){w=f,ax=254;break}for(Gx(ae|0,0,1024)|0,w=0;!(w>>>0>=n0>>>0);)C0=ae+(s[bx+(ox+w)>>0]<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,w=w+43|0;for(C0=n0+42|0,w=(C0>>>0)/43|0,C0>>>0<11008?(p0=+(w>>>0),f0=+t0[19516+(w<<2)>>2]):(f0=+(w>>>0),p0=f0,f0=+Xx(f0)),w0=(f0+.5)*p0+200,q=0;(q|0)!=256;)w=e[ae+(q<<2)>>2]|0,p0=+(w>>>0),S0=+(s[px+q>>0]|0),w>>>0<256?f0=+t0[19516+(w<<2)>>2]:f0=+Xx(p0),w0=w0-p0*(S0+f0),q=q+1|0;if(!(w0>=0)){w=f,ax=254;break}if(cx>>>0<=65536){ax=250;break x}for(w=20,M=o0+-1|0,q=X0;;){if(!w){w=f,Dx=Cx,ox=n0,cx=o0;continue e}ox=q&7,C0=8-ox|0,C0=w>>>0<C0>>>0?w:C0,cx=x0+(q>>>3)|0,n[cx>>0]=(M&(1<<C0)+-1)<<ox|s[cx>>0]&(-1<<ox+C0|(1<<ox)+255),w=w-C0|0,M=M>>>C0,q=q+C0|0}}e:do if((ax|0)==84)ax=0,C0=g0-a0|0,Cx=x0+(h0>>>3)|0,n[Cx>>0]=s[Cx>>0]&(1<<(h0&7))+255,e[$>>2]=h0,Pf(C0,1,$,x0),Cx=(e[$>>2]|0)+7|0,e[$>>2]=Cx&-8,$x(x0+(Cx>>>3)|0,a0|0,C0|0)|0,a0=(e[$>>2]|0)+(C0<<3)|0,e[$>>2]=a0,n[x0+(a0>>>3)>>0]=0,w=w+(Dx-g0)|0,a0=g0;else if((ax|0)==254)if(ax=0,D0>>>0<M>>>0){if(E0=M-j|0,E0>>>0>=6210){if(!(((j-a0|0)*50|0)>>>0>E0>>>0|G0^1)){C0=M-a0|0,G0=x0+(h0>>>3)|0,n[G0>>0]=s[G0>>0]&(1<<(h0&7))+255,e[$>>2]=h0,Pf(C0,1,$,x0),G0=(e[$>>2]|0)+7|0,e[$>>2]=G0&-8,$x(x0+(G0>>>3)|0,a0|0,C0|0)|0,a0=(e[$>>2]|0)+(C0<<3)|0,e[$>>2]=a0,n[x0+(a0>>>3)>>0]=0,a0=Cx;break}if(E0>>>0<22594){if(a0=n[ee>>0]|0,M=_[ue>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=299;break x}if((a0&255)>=57){ax=301;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-6210|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-16384|0)==0&!0)){ax=303;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+14,e[zx>>2]=(e[zx>>2]|0)+1,n0=0}else{if(a0=n[Bx>>0]|0,M=_[ux>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=306;break x}if((a0&255)>=57){ax=308;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-22594|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-16777216|0)==0&!0)){ax=310;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,n0=0}for(;;){if(n0>>>0>=E0>>>0){a0=Cx;break e}if(M=s[D0+n0>>0]|0,a0=n[px+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=314;break x}if((a0&255)>=57){ax=316;break x}cx=Tx(M|0,0,q&7|0)|0,G0=A0,cx=f|cx,C0=j,X0=C0,n[X0>>0]=cx,n[X0+1>>0]=cx>>8,n[X0+2>>0]=cx>>16,n[X0+3>>0]=cx>>24,C0=C0+4|0,n[C0>>0]=G0,n[C0+1>>0]=G0>>8,n[C0+2>>0]=G0>>16,n[C0+3>>0]=G0>>24,e[$>>2]=(e[$>>2]|0)+(a0&255),n0=n0+1|0}}do if(E0>>>0<6){if(a0=E0+40|0,M=n[p+a0>>0]|0,q=_[k+(a0<<1)>>1]|0,j=e[$>>2]|0,f=x0+(j>>>3)|0,n0=s[f>>0]|0,C0=vx(q|0,0,M&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=258;break x}if((M&255)>=57){ax=260;break x}X0=Tx(q|0,0,j&7|0)|0,C0=A0,X0=n0|X0,n0=f,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),n0=Nx+(a0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0}else{if(E0>>>0<130){if(n0=E0+-2|0,u0=((Ax(n0|0)|0)^31)+-1|0,o0=n0>>>u0,h0=(u0<<1)+o0+42|0,a0=n[p+h0>>0]|0,M=_[k+(h0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=264;break x}if((a0&255)>=57){ax=266;break x}if(C0=Tx(M|0,0,q&7|0)|0,M=A0,C0=f|C0,q=j,n[q>>0]=C0,n[q+1>>0]=C0>>8,n[q+2>>0]=C0>>16,n[q+3>>0]=C0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=j,a0=n0-(o0<<u0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,C0=vx(a0|0,0,u0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=268;break x}if(u0>>>0>=57){ax=270;break x}X0=Tx(a0|0,0,j&7|0)|0,C0=A0,X0=q|X0,n0=M,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+u0,n0=Nx+(h0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0;break}if(E0>>>0>=2114){if(a0=n[Wx>>0]|0,M=_[Hx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=283;break x}if((a0&255)>=57){ax=285;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-2114|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-4096|0)==0&!0)){ax=287;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Rx>>2]=(e[Rx>>2]|0)+1,n0=0;break}if(n0=E0+-66|0,o0=(Ax(n0|0)|0)^31,u0=o0+50|0,a0=n[p+u0>>0]|0,M=_[k+(u0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=274;break x}if((a0&255)>=57){ax=276;break x}if(C0=Tx(M|0,0,q&7|0)|0,M=A0,C0=f|C0,q=j,n[q>>0]=C0,n[q+1>>0]=C0>>8,n[q+2>>0]=C0>>16,n[q+3>>0]=C0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=j,a0=n0-(1<<o0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,C0=vx(a0|0,0,o0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=278;break x}if(o0>>>0>=57){ax=280;break x}X0=Tx(a0|0,0,j&7|0)|0,C0=A0,X0=q|X0,n0=M,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+o0,n0=Nx+(u0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0}while(!1);for(;;){if(n0>>>0>=E0>>>0){a0=Cx;break e}if(M=s[D0+n0>>0]|0,a0=n[px+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=291;break x}if((a0&255)>=57){ax=293;break x}cx=Tx(M|0,0,q&7|0)|0,G0=A0,cx=f|cx,C0=j,X0=C0,n[X0>>0]=cx,n[X0+1>>0]=cx>>8,n[X0+2>>0]=cx>>16,n[X0+3>>0]=cx>>24,C0=C0+4|0,n[C0>>0]=G0,n[C0+1>>0]=G0>>8,n[C0+2>>0]=G0>>16,n[C0+3>>0]=G0>>24,e[$>>2]=(e[$>>2]|0)+(a0&255),n0=n0+1|0}}else a0=Cx;while(!1);if(!w){ax=320;break}q=w>>>0<98304?w:98304,h0=e[$>>2]|0,Pf(q,0,$,x0),M=x0+((e[$>>2]|0)>>>3)|0,Cx=s[M>>0]|0,C0=M,n[C0>>0]=Cx,n[C0+1>>0]=Cx>>8,n[C0+2>>0]=Cx>>16,n[C0+3>>0]=Cx>>24,M=M+4|0,n[M>>0]=0,n[M+1>>0]=0,n[M+2>>0]=0,n[M+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,M=hD(c,a0,q,px,Ox,$,x0)|0,pD(Nx,p,k,$,x0)}switch(ax|0){case 24:{W0(405740,405401,539,405439);break}case 26:{W0(405474,405401,544,405439);break}case 32:{W0(405779,405401,559,405439);break}case 34:{W0(405800,405401,560,405439);break}case 48:{W0(405815,405401,579,405439);break}case 52:{W0(406196,406218,54,406251);break}case 54:{W0(406267,406218,55,406251);break}case 58:{W0(406196,406218,54,406251);break}case 60:{W0(406267,406218,55,406251);break}case 62:{W0(406196,406218,54,406251);break}case 64:{W0(406267,406218,55,406251);break}case 68:{W0(406196,406218,54,406251);break}case 70:{W0(406267,406218,55,406251);break}case 72:{W0(406196,406218,54,406251);break}case 74:{W0(406267,406218,55,406251);break}case 77:{W0(406196,406218,54,406251);break}case 79:{W0(406267,406218,55,406251);break}case 81:{W0(406196,406218,54,406251);break}case 87:{W0(406196,406218,54,406251);break}case 89:{W0(406267,406218,55,406251);break}case 91:{W0(406196,406218,54,406251);break}case 94:{W0(406196,406218,54,406251);break}case 96:{W0(406267,406218,55,406251);break}case 98:{W0(406196,406218,54,406251);break}case 102:{W0(406196,406218,54,406251);break}case 104:{W0(406267,406218,55,406251);break}case 108:{W0(406196,406218,54,406251);break}case 110:{W0(406267,406218,55,406251);break}case 113:{W0(406196,406218,54,406251);break}case 115:{W0(406267,406218,55,406251);break}case 117:{W0(406196,406218,54,406251);break}case 119:{W0(406267,406218,55,406251);break}case 123:{W0(406196,406218,54,406251);break}case 125:{W0(406267,406218,55,406251);break}case 129:{W0(406196,406218,54,406251);break}case 131:{W0(406267,406218,55,406251);break}case 133:{W0(406196,406218,54,406251);break}case 135:{W0(406267,406218,55,406251);break}case 139:{W0(406196,406218,54,406251);break}case 141:{W0(406267,406218,55,406251);break}case 143:{W0(406196,406218,54,406251);break}case 145:{W0(406267,406218,55,406251);break}case 149:{W0(406196,406218,54,406251);break}case 151:{W0(406267,406218,55,406251);break}case 153:{W0(406196,406218,54,406251);break}case 155:{W0(406267,406218,55,406251);break}case 157:{W0(406196,406218,54,406251);break}case 159:{W0(406267,406218,55,406251);break}case 162:{W0(406196,406218,54,406251);break}case 164:{W0(406267,406218,55,406251);break}case 166:{W0(406196,406218,54,406251);break}case 168:{W0(406196,406218,54,406251);break}case 170:{W0(406267,406218,55,406251);break}case 187:{W0(405815,405401,638,405439);break}case 190:{W0(406196,406218,54,406251);break}case 192:{W0(406267,406218,55,406251);break}case 196:{W0(406196,406218,54,406251);break}case 198:{W0(406267,406218,55,406251);break}case 200:{W0(406196,406218,54,406251);break}case 202:{W0(406267,406218,55,406251);break}case 206:{W0(406196,406218,54,406251);break}case 208:{W0(406267,406218,55,406251);break}case 210:{W0(406196,406218,54,406251);break}case 212:{W0(406267,406218,55,406251);break}case 215:{W0(406196,406218,54,406251);break}case 217:{W0(406267,406218,55,406251);break}case 219:{W0(406196,406218,54,406251);break}case 222:{W0(406196,406218,54,406251);break}case 224:{W0(406267,406218,55,406251);break}case 226:{W0(406196,406218,54,406251);break}case 228:{W0(406267,406218,55,406251);break}case 233:{W0(405853,405401,671,405439);break}case 250:{W0(405503,405401,681,405439);break}case 258:{W0(406196,406218,54,406251);break}case 260:{W0(406267,406218,55,406251);break}case 264:{W0(406196,406218,54,406251);break}case 266:{W0(406267,406218,55,406251);break}case 268:{W0(406196,406218,54,406251);break}case 270:{W0(406267,406218,55,406251);break}case 274:{W0(406196,406218,54,406251);break}case 276:{W0(406267,406218,55,406251);break}case 278:{W0(406196,406218,54,406251);break}case 280:{W0(406267,406218,55,406251);break}case 283:{W0(406196,406218,54,406251);break}case 285:{W0(406267,406218,55,406251);break}case 287:{W0(406196,406218,54,406251);break}case 291:{W0(406196,406218,54,406251);break}case 293:{W0(406267,406218,55,406251);break}case 299:{W0(406196,406218,54,406251);break}case 301:{W0(406267,406218,55,406251);break}case 303:{W0(406196,406218,54,406251);break}case 306:{W0(406196,406218,54,406251);break}case 308:{W0(406267,406218,55,406251);break}case 310:{W0(406196,406218,54,406251);break}case 314:{W0(406196,406218,54,406251);break}case 316:{W0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ax=x0+(c>>>3)|0,d=s[ax>>0]|0,c=Tx(1,0,c&7|0)|0,C0=A0,c=d|c,d=ax,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=C0,n[ax+1>>0]=C0>>8,n[ax+2>>0]=C0>>16,n[ax+3>>0]=C0>>24,ax=(e[$>>2]|0)+1|0,e[$>>2]=ax,C0=x0+(ax>>>3)|0,d=s[C0>>0]|0,x0=Tx(1,0,ax&7|0)|0,ax=A0,x0=d|x0,d=C0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,C0=C0+4|0,n[C0>>0]=ax,n[C0+1>>0]=ax>>8,n[C0+2>>0]=ax>>16,n[C0+3>>0]=ax>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=Ce;return}else{n[s0>>0]=0,e[e0>>2]=0,pD(Nx,p,k,e0,s0),c0=Ce;return}}}function Pf(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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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=Tx(1,0,d&7|0)|0,d=A0,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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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 hD(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,s0=0,$=0,x0=0;$=c0,c0=c0+1024|0,s0=$,Gx(s0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=s0+((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=s0+(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=s0+((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=s0+(k<<2)|0,h=e[e0>>2]|0,x0=(h>>>0<11?h:11)<<1|1,e[e0>>2]=h+x0,f=f+x0|0,k=k+1|0}}while(!1);for(Uo(c,s0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[s0+(h<<2)>>2]|0,k&&(f=f+(ix(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function pD(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,s0=0,$=0,x0=0,a0=0,M=0;M=c0,c0=c0+1872|0,a0=M+704|0,x0=M,s0=M+1736|0,Gx(x0|0,0,704)|0,Ho(c,64,15,a0,h),$=h+64|0,Ho(c+256|0,64,14,a0,$),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,fs(x0,64,s0),p=f,k=s0,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=s0+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=s0+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=s0+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=s0+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=s0+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,fs($,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,s0=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[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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,s0=x0+64|0,e[s0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[s0+4>>2]=e0,s0=h+16|0,e0=s0,s0=s0+4|0,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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]=s0,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,s0=x0+192|0,e[s0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[s0+4>>2]=f,s0=w,f=s0,s0=s0+4|0,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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]=s0,c=0;(c|0)!=8;)s0=c<<3,n[x0+(s0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(s0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(s0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;$7(x0,704,a0,l,d),$7($,64,a0,l,d),c0=M}function bD(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0,pr=0,f6=0,P6=0,Jx=0,Se=0,Zt=0,bt=0,Lt=0,Je=0,_e=0,br=0;br=c0,c0=c0+4560|0,Je=br+2376|0,f6=br+128|0,pr=br+4176|0,bt=br+4304|0,Zt=br+3664|0,P6=br,M0=br+3408|0,Jx=br+1864|0,Lt=br+840|0,Se=br+832|0,Te=d,oe=w,hx=64-((Ax(k|0)|0)^31)|0,_0=(k|0)==0,rx=k>>>0<2147483649,_x=k+-1|0,Ux=(_x&k|0)==0,J0=vx(16777215,-1,hx|0)|0,J0=(_x|0)==(J0|0),_x=h,Dx=w,bx=d,ox=Jx+4|0,cx=Jx+8|0,X0=Jx+256|0,G0=Jx+336|0,Cx=Jx+256|0,Qx=P6+64|0,Wx=P6+24|0,Hx=f6+24|0,Rx=f6+32|0,Lx=P6+48|0,lx=f6+40|0,kx=P6+8|0,gx=f6+48|0,ex=P6+56|0,Z0=f6+56|0,Kx=P6+16|0,ee=pr+48|0,ue=M0+16|0,zx=pr+80|0,Bx=M0+32|0,ux=pr+112|0,nx=M0+48|0,fx=M0+96|0,Nx=pr+64|0,ae=M0+112|0,Ox=pr+96|0,px=M0+128|0,ax=f6+64|0,Ce=P6+32|0,C0=f6+128|0,se=P6+40|0,Yx=f6+192|0,dx=f6+384|0,xx=Lt,Ae=Lt+1024|0,U0=h;x:for(;;){if(!f){_e=155;break}if(V0=f>>>0<131072?f:131072,e[Se>>2]=Te,q0=U0+V0|0,k=U0,_0){_e=4;break}if(!rx){_e=6;break}if(!Ux){_e=8;break}if(!J0){_e=10;break}e:do if(V0>>>0>15)for(p0=V0+-6|0,R0=f+-16|0,R0=U0+(p0>>>0<R0>>>0?p0:R0)|0,p0=U0+1|0,a0=p0,x0=a0,a0=a0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=-1,n0=oe;;){if(x0=Ie(x0|0,a0|0,-1480785920,7733)|0,x0=vx(x0|0,A0|0,hx|0)|0,y0=k,y0>>>0>=p0>>>0){_e=15;break x}for(w0=0-T0|0,b0=p0,h0=32;;){if(E0=b0,a0=h0,h0=h0+1|0,P0=b0,g0=P0,P0=P0+4|0,P0=Ie(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+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=vx(P0|0,A0|0,hx|0)|0,(x0|0)!=(P0|0)){_e=17;break x}if(p0=b0+(a0>>>5)|0,p0>>>0>R0>>>0)break e;if(u0=p0,a0=u0,u0=u0+4|0,u0=Ie(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+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=vx(u0|0,A0|0,hx|0)|0,a0=b0+w0|0,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)==(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)&&(n[b0+4>>0]|0)==(n[b0+(4-T0)>>0]|0)&&(w0|0)<0&&(n[b0+5>>0]|0)==(n[b0+(5-T0)>>0]|0)){_e=22;break}if(x0=p+(x0<<2)|0,o0=e[x0>>2]|0,a0=h+o0|0,(o0|0)<0){_e=24;break x}if(a0>>>0>=b0>>>0){_e=26;break x}if(e[x0>>2]=E0-_x,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)!=(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)){x0=u0,b0=p0;continue}if((n[b0+4>>0]|0)!=(n[h+(o0+4)>>0]|0)){x0=u0,b0=p0;continue}if((n[b0+5>>0]|0)==(n[h+(o0+5)>>0]|0))break;x0=u0,b0=p0}for((_e|0)==22&&(_e=0,e[p+(x0<<2)>>2]=E0-_x),p0=a0,P0=U0+(V0+-4)|0,x0=0,o0=b0+6|0;;){if(o0>>>0>P0>>>0){g0=x0,x0=o0;break}if(g0=a0+(x0+6)|0,(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)){g0=x0,x0=o0;break}x0=x0+4|0,o0=o0+4|0}for(;!(x0>>>0>=q0>>>0||(n[a0+(g0+6)>>0]|0)!=(n[x0>>0]|0));)g0=g0+1|0,x0=x0+1|0;D0=g0+6|0,o0=E0-p0|0,w0=E0-k|0,E0=b0+D0|0,k=E0;t:do if(D0){for(u0=D0,h0=b0;x0=n[h0>>0]|0,p0=n[a0>>0]|0,x0<<24>>24==p0<<24>>24;)if(u0=u0+-1|0,u0)h0=h0+1|0,a0=a0+1|0;else break t;if(x0<<24>>24!=p0<<24>>24){_e=41;break x}}while(!1);do if(w0>>>0>=6){if(w0>>>0<130){p0=w0+-2|0,h0=((Ax(p0|0)|0)^31)+-1|0,u0=p0>>>h0,e[e[Se>>2]>>2]=(h0<<1)+u0+2|p0-(u0<<h0)<<8;break}if(w0>>>0<2114){u0=w0+-66|0,h0=(Ax(u0|0)|0)^31,e[e[Se>>2]>>2]=h0+10|u0-(1<<h0)<<8;break}if(w0>>>0<6210){e[e[Se>>2]>>2]=(w0<<8)+-541184|21;break}if(x0=w0<<8,w0>>>0<22594){e[e[Se>>2]>>2]=x0+-1589760|22;break}else{e[e[Se>>2]>>2]=x0+-5784064|23;break}}else e[e[Se>>2]>>2]=w0;while(!1);e[Se>>2]=(e[Se>>2]|0)+4,$x(n0|0,y0|0,w0|0)|0,n0=n0+w0|0,(o0|0)==(T0|0)?(e[e[Se>>2]>>2]=64,x0=e[Se>>2]|0,o0=T0):(y0=o0+3|0,x0=((Ax(y0|0)|0)^31)+-1|0,T0=y0>>>x0&1,e[e[Se>>2]>>2]=((x0<<1)+-2|T0)+80|y0-((T0|2)<<x0)<<8,x0=e[Se>>2]|0),x0=x0+4|0,e[Se>>2]=x0;do if(D0>>>0>=12){if(D0>>>0<72){D0=g0+-2|0,T0=((Ax(D0|0)|0)^31)+-1|0,y0=D0>>>T0,e[x0>>2]=(T0<<1)+y0+28|D0-(y0<<T0)<<8,e[Se>>2]=(e[Se>>2]|0)+4;break}if(D0>>>0<136){T0=g0+-2|0,e[x0>>2]=(T0>>>5)+54|T0<<8&7936,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}if(D0>>>0<2120){y0=g0+-66|0,T0=(Ax(y0|0)|0)^31,e[x0>>2]=T0+52|y0-(1<<T0)<<8,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}else{e[x0>>2]=(D0<<8)+-542720|63,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}}else e[x0>>2]=g0+26,e[Se>>2]=(e[Se>>2]|0)+4;while(!1);if(E0>>>0>=R0>>>0)break e;for(a0=b0+(g0+1)|0,T0=a0,T0=s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,D0=Ie(T0|0,a0|0,-1480785920,7733)|0,D0=vx(D0|0,A0|0,hx|0)|0,y0=E0-_x|0,e[p+(D0<<2)>>2]=y0+-5,D0=vx(T0|0,a0|0,8)|0,D0=Ie(D0|0,A0|0,-1480785920,7733)|0,D0=vx(D0|0,A0|0,hx|0)|0,e[p+(D0<<2)>>2]=y0+-4,a0=vx(T0|0,a0|0,16)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=y0+-3,a0=b0+(g0+4)|0,b0=a0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=vx(b0|0,a0|0,16)|0,T0=Ie(T0|0,A0|0,-1480785920,7733)|0,T0=vx(T0|0,A0|0,hx|0)|0,g0=Ie(b0|0,a0|0,-1480785920,7733)|0,g0=vx(g0|0,A0|0,hx|0)|0,e[p+(g0<<2)>>2]=y0+-2,a0=vx(b0|0,a0|0,8)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=y0+-1,T0=p+(T0<<2)|0,a0=e[T0>>2]|0,e[T0>>2]=y0;u0=h+a0|0,T0=k,x0=k,!((s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+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+(a0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(a0+5)>>0]|0));){for(p0=a0+6|0,a0=0,o0=x0+6|0;!(o0>>>0>P0>>>0||(T0=h+(p0+a0)|0,(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)a0=a0+4|0,o0=o0+4|0;for(;!(o0>>>0>=q0>>>0||(n[h+(p0+a0)>>0]|0)!=(n[o0>>0]|0));)a0=a0+1|0,o0=o0+1|0;E0=a0+6|0,D0=x0+E0|0,g0=D0,o0=k-u0|0;do if(E0){for(h0=E0,w0=x0;;){if(k=n[w0>>0]|0,p0=n[u0>>0]|0,k<<24>>24!=p0<<24>>24){_e=80;break}if(h0=h0+-1|0,h0)w0=w0+1|0,u0=u0+1|0;else break}if((_e|0)==80&&(_e=0,k<<24>>24!=p0<<24>>24)){_e=81;break x}if(E0>>>0<10){_e=83;break}if(E0>>>0<134){T0=((Ax(a0|0)|0)^31)+-1|0,b0=a0>>>T0,e[e[Se>>2]>>2]=(T0<<1)+b0+44|a0-(b0<<T0)<<8;break}if(E0>>>0<2118){b0=a0+-64|0,T0=(Ax(b0|0)|0)^31,e[e[Se>>2]>>2]=T0+52|b0-(1<<T0)<<8;break}else{e[e[Se>>2]>>2]=(E0<<8)+-542208|63;break}}else _e=83;while(!1);if((_e|0)==83&&(_e=0,e[e[Se>>2]>>2]=a0+44),T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,E0=o0+3|0,b0=((Ax(E0|0)|0)^31)+-1|0,y0=E0>>>b0&1,e[T0>>2]=((b0<<1)+-2|y0)+80|E0-((y0|2)<<b0)<<8,e[Se>>2]=(e[Se>>2]|0)+4,D0>>>0>=R0>>>0){k=g0;break e}b0=x0+(a0+1)|0,k=b0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,b0=b0+4|0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,y0=Ie(k|0,b0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,T0=D0-_x|0,e[p+(y0<<2)>>2]=T0+-5,y0=vx(k|0,b0|0,8)|0,y0=Ie(y0|0,A0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,e[p+(y0<<2)>>2]=T0+-4,b0=vx(k|0,b0|0,16)|0,b0=Ie(b0|0,A0|0,-1480785920,7733)|0,b0=vx(b0|0,A0|0,hx|0)|0,e[p+(b0<<2)>>2]=T0+-3,a0=x0+(a0+4)|0,b0=a0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,k=vx(b0|0,a0|0,16)|0,k=Ie(k|0,A0|0,-1480785920,7733)|0,k=vx(k|0,A0|0,hx|0)|0,y0=Ie(b0|0,a0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,e[p+(y0<<2)>>2]=T0+-2,a0=vx(b0|0,a0|0,8)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=T0+-1,k=p+(k<<2)|0,a0=e[k>>2]|0,e[k>>2]=T0,k=g0}p0=x0+1|0,a0=p0,x0=a0,a0=a0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=o0}else n0=oe;while(!1);if(a0=k,a0>>>0>q0>>>0){_e=93;break}if(a0>>>0<q0>>>0){k=q0-k|0;do if(k>>>0>=6){if(k>>>0<130){T0=k+-2|0,R0=((Ax(T0|0)|0)^31)+-1|0,P0=T0>>>R0,e[e[Se>>2]>>2]=(R0<<1)+P0+2|T0-(P0<<R0)<<8;break}if(k>>>0<2114){P0=k+-66|0,R0=(Ax(P0|0)|0)^31,e[e[Se>>2]>>2]=R0+10|P0-(1<<R0)<<8;break}if(k>>>0<6210){e[e[Se>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[Se>>2]>>2]=x0+-1589760|22;break}else{e[e[Se>>2]>>2]=x0+-5784064|23;break}}else e[e[Se>>2]>>2]=k;while(!1);e[Se>>2]=(e[Se>>2]|0)+4,$x(n0|0,a0|0,k|0)|0,n0=n0+k|0}if(p0=n0-Dx|0,$=+(V0>>>0),+(p0>>>0)<$*.98)_e=126;else{for(Gx(Lt|0,0,1024)|0,S0=$*8*.98,k=0;;){if(k>>>0>=V0>>>0){k=xx,$=0,o0=0;break}R0=Lt+(s[U0+k>>0]<<2)|0,e[R0>>2]=(e[R0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=Ae>>>0);)x0=e[k>>2]|0,M=+(x0>>>0),x0>>>0<256?f0=+t0[19516+(x0<<2)>>2]:f0=+Xx(M),a0=e[k+4>>2]|0,q=+(a0>>>0),a0>>>0<256?j=+t0[19516+(a0<<2)>>2]:j=+Xx(q),k=k+8|0,$=$-M*f0-q*j,o0=o0+x0+a0|0;f0=S0/43,q=+(o0>>>0),o0?(o0>>>0<256?M=+t0[19516+(o0<<2)>>2]:M=+Xx(q),j=q,$=$+q*M):j=q,($<j?j:$)<f0?_e=126:(gD(V0,1,e0,s0),R0=(e[e0>>2]|0)+7|0,e[e0>>2]=R0&-8,$x(s0+(R0>>>3)|0,U0|0,V0|0)|0,U0=(e[e0>>2]|0)+(V0<<3)|0,e[e0>>2]=U0,n[s0+(U0>>>3)>>0]=0)}if((_e|0)==126){_e=0,E0=(e[Se>>2]|0)-bx>>2,gD(V0,0,e0,s0),x0=s0+((e[e0>>2]|0)>>>3)|0,U0=s[x0>>0]|0,a0=x0,n[a0>>0]=U0,n[a0+1>>0]=U0>>8,n[a0+2>>0]=U0>>16,n[a0+3>>0]=U0>>24,x0=x0+4|0,n[x0>>0]=0,n[x0+1>>0]=0,n[x0+2>>0]=0,n[x0+3>>0]=0,e[e0>>2]=(e[e0>>2]|0)+13,Gx(Lt|0,0,1024)|0,x0=P6,a0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(a0|0));for(Gx(M0|0,0,256)|0,Gx(Jx|0,0,512)|0,k=n0-Dx|0,x0=0;(x0|0)!=(k|0);)U0=Lt+(s[w+x0>>0]<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,x0=x0+1|0;for(Uo(c,Lt,p0,8,bt,Zt,e0,s0),k=0;(k|0)!=(E0|0);)U0=Jx+((e[d+(k<<2)>>2]&255)<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,k=k+1|0;e[ox>>2]=(e[ox>>2]|0)+1,e[cx>>2]=(e[cx>>2]|0)+1,e[X0>>2]=(e[X0>>2]|0)+1,e[G0>>2]=(e[G0>>2]|0)+1,Gx(f6|0,0,704)|0,Ho(Jx,64,15,Je,P6),Ho(Cx,64,14,Je,Qx),e[f6>>2]=e[Wx>>2],e[f6+4>>2]=e[Wx+4>>2],e[f6+8>>2]=e[Wx+8>>2],e[f6+12>>2]=e[Wx+12>>2],e[f6+16>>2]=e[Wx+16>>2],e[f6+20>>2]=e[Wx+20>>2],a0=P6,k=e[a0+4>>2]|0,x0=Hx,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,x0=Lx,k=e[x0+4>>2]|0,a0=Rx,e[a0>>2]=e[x0>>2],e[a0+4>>2]=k,a0=kx,k=e[a0+4>>2]|0,x0=lx,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,x0=ex,k=e[x0+4>>2]|0,a0=gx,e[a0>>2]=e[x0>>2],e[a0+4>>2]=k,a0=Kx,k=e[a0+4>>2]|0,x0=Z0,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,fs(f6,64,pr),o[M0>>1]=o[ee>>1]|0,o[M0+2>>1]=o[ee+2>>1]|0,o[M0+4>>1]=o[ee+4>>1]|0,o[M0+6>>1]=o[ee+6>>1]|0,o[M0+8>>1]=o[ee+8>>1]|0,o[M0+10>>1]=o[ee+10>>1]|0,o[M0+12>>1]=o[ee+12>>1]|0,o[M0+14>>1]=o[ee+14>>1]|0,o[ue>>1]=o[zx>>1]|0,o[ue+2>>1]=o[zx+2>>1]|0,o[ue+4>>1]=o[zx+4>>1]|0,o[ue+6>>1]=o[zx+6>>1]|0,o[ue+8>>1]=o[zx+8>>1]|0,o[ue+10>>1]=o[zx+10>>1]|0,o[ue+12>>1]=o[zx+12>>1]|0,o[ue+14>>1]=o[zx+14>>1]|0,o[Bx>>1]=o[ux>>1]|0,o[Bx+2>>1]=o[ux+2>>1]|0,o[Bx+4>>1]=o[ux+4>>1]|0,o[Bx+6>>1]=o[ux+6>>1]|0,o[Bx+8>>1]=o[ux+8>>1]|0,o[Bx+10>>1]=o[ux+10>>1]|0,o[Bx+12>>1]=o[ux+12>>1]|0,o[Bx+14>>1]=o[ux+14>>1]|0,x0=nx,k=pr,a0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(a0|0));o[fx>>1]=o[Nx>>1]|0,o[fx+2>>1]=o[Nx+2>>1]|0,o[fx+4>>1]=o[Nx+4>>1]|0,o[fx+6>>1]=o[Nx+6>>1]|0,o[fx+8>>1]=o[Nx+8>>1]|0,o[fx+10>>1]=o[Nx+10>>1]|0,o[fx+12>>1]=o[Nx+12>>1]|0,o[fx+14>>1]=o[Nx+14>>1]|0,o[ae>>1]=o[Ox>>1]|0,o[ae+2>>1]=o[Ox+2>>1]|0,o[ae+4>>1]=o[Ox+4>>1]|0,o[ae+6>>1]=o[Ox+6>>1]|0,o[ae+8>>1]=o[Ox+8>>1]|0,o[ae+10>>1]=o[Ox+10>>1]|0,o[ae+12>>1]=o[Ox+12>>1]|0,o[ae+14>>1]=o[Ox+14>>1]|0,fs(Qx,64,px),x0=f6,a0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(a0|0));for(R0=Wx,U0=e[R0+4>>2]|0,k=f6,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=Ce,U0=e[k+4>>2]|0,R0=ax,e[R0>>2]=e[k>>2],e[R0+4>>2]=U0,R0=se,U0=e[R0+4>>2]|0,k=C0,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=Lx,U0=e[k+4>>2]|0,R0=Yx,e[R0>>2]=e[k>>2],e[R0+4>>2]=U0,R0=ex,U0=e[R0+4>>2]|0,k=dx,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=0;(k|0)!=8;)U0=k<<3,n[f6+(U0+128)>>0]=n[P6+k>>0]|0,n[f6+(U0+256)>>0]=n[P6+(k+8)>>0]|0,n[f6+(U0+448)>>0]=n[P6+(k+16)>>0]|0,k=k+1|0;for($7(f6,704,Je,e0,s0),$7(Qx,64,Je,e0,s0),k=oe,w0=0;!(w0>>>0>=E0>>>0);){if(h0=e[d+(w0<<2)>>2]|0,u0=h0&255,h0=h0>>>8,x0=n[P6+u0>>0]|0,a0=_[M0+(u0<<1)>>1]|0,n0=e[e0>>2]|0,o0=s0+(n0>>>3)|0,p0=s[o0>>0]|0,U0=vx(a0|0,0,x0&255|0)|0,!((U0|0)==0&(A0|0)==0)){_e=138;break x}if((x0&255)>=57){_e=140;break x}if(U0=Tx(a0|0,0,n0&7|0)|0,n0=A0,U0=p0|U0,a0=o0,o0=a0,n[o0>>0]=U0,n[o0+1>>0]=U0>>8,n[o0+2>>0]=U0>>16,n[o0+3>>0]=U0>>24,a0=a0+4|0,n[a0>>0]=n0,n[a0+1>>0]=n0>>8,n[a0+2>>0]=n0>>16,n[a0+3>>0]=n0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,a0=e[18276+(u0<<2)>>2]|0,n0=s0+(x0>>>3)|0,o0=s[n0>>0]|0,U0=vx(h0|0,0,a0|0)|0,!((U0|0)==0&(A0|0)==0)){_e=142;break x}P0=Tx(h0|0,0,x0&7|0)|0,U0=A0,P0=o0|P0,x0=n0,R0=x0,n[R0>>0]=P0,n[R0+1>>0]=P0>>8,n[R0+2>>0]=P0>>16,n[R0+3>>0]=P0>>24,x0=x0+4|0,n[x0>>0]=U0,n[x0+1>>0]=U0>>8,n[x0+2>>0]=U0>>16,n[x0+3>>0]=U0>>24,x0=(e[e0>>2]|0)+a0|0,e[e0>>2]=x0;e:do if(u0>>>0<24)for(h0=(e[18788+(u0<<2)>>2]|0)+h0|0,u0=0;;){if(u0>>>0>=h0>>>0)break e;if(n0=s[k>>0]|0,a0=n[bt+n0>>0]|0,n0=_[Zt+(n0<<1)>>1]|0,o0=s0+(x0>>>3)|0,p0=s[o0>>0]|0,U0=vx(n0|0,0,a0&255|0)|0,!((U0|0)==0&(A0|0)==0)){_e=147;break x}if((a0&255)>=57){_e=149;break x}T0=Tx(n0|0,0,x0&7|0)|0,R0=A0,T0=p0|T0,U0=o0,P0=U0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,U0=U0+4|0,n[U0>>0]=R0,n[U0+1>>0]=R0>>8,n[U0+2>>0]=R0>>16,n[U0+3>>0]=R0>>24,U0=(e[e0>>2]|0)+(a0&255)|0,e[e0>>2]=U0,k=k+1|0,x0=U0,u0=u0+1|0}while(!1);w0=w0+1|0}}f=f-V0|0,U0=q0}switch(_e|0){case 4:{W0(405532,405543,251,405590);break}case 6:{W0(405605,405543,252,405590);break}case 8:{W0(405630,405543,254,405590);break}case 10:{W0(405667,405543,256,405590);break}case 15:{W0(405740,405543,289,405590);break}case 17:{W0(405755,405543,295,405590);break}case 24:{W0(405779,405543,309,405590);break}case 26:{W0(405800,405543,310,405590);break}case 41:{W0(405815,405543,329,405590);break}case 81:{W0(405815,405543,378,405590);break}case 93:{W0(405853,405543,415,405590);break}case 138:{W0(406196,406218,54,406251);break}case 140:{W0(406267,406218,55,406251);break}case 142:{W0(406196,406218,54,406251);break}case 147:{W0(406196,406218,54,406251);break}case 149:{W0(406267,406218,55,406251);break}case 155:{if(!l){c0=br;return}c=e[e0>>2]|0,Je=s0+(c>>>3)|0,p=s[Je>>0]|0,c=Tx(1,0,c&7|0)|0,_e=A0,c=p|c,p=Je,n[p>>0]=c,n[p+1>>0]=c>>8,n[p+2>>0]=c>>16,n[p+3>>0]=c>>24,Je=Je+4|0,n[Je>>0]=_e,n[Je+1>>0]=_e>>8,n[Je+2>>0]=_e>>16,n[Je+3>>0]=_e>>24,Je=(e[e0>>2]|0)+1|0,e[e0>>2]=Je,_e=s0+(Je>>>3)|0,p=s[_e>>0]|0,s0=Tx(1,0,Je&7|0)|0,Je=A0,s0=p|s0,p=_e,n[p>>0]=s0,n[p+1>>0]=s0>>8,n[p+2>>0]=s0>>16,n[p+3>>0]=s0>>24,_e=_e+4|0,n[_e>>0]=Je,n[_e+1>>0]=Je>>8,n[_e+2>>0]=Je>>16,n[_e+3>>0]=Je>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=br;return}}}function gD(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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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=Tx(1,0,d&7|0)|0,d=A0,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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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 dW(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0,pr=0,f6=0,P6=0,Jx=0,Se=0,Zt=0,bt=0,Lt=0,Je=0;if(Je=c0,c0=c0+16|0,bt=Je+8|0,Lt=Je+4|0,P6=Je,!(qo(c)|0)||(Se=c+5232|0,(e[Se>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=Je,w|0;if(Zt=c+4|0,p=e[Zt>>2]|0,p>>>0<2){U0=1<<e[c+8>>2],s0=e[h>>2]|0,s0=s0>>>0<U0>>>0?s0:U0,s0=s0>>>0>131072?131072:s0,V0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,R0=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((s0|0)==131072)if(p=c+24|0,k=Px[e[V0>>2]&1](e[p>>2]|0,524288)|0,k||Ix(1),e[e0>>2]=k,p=Px[e[V0>>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 Ix(1);while(!1);if(p=c+24|0,k=Px[e[V0>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),p=Px[e[V0>>2]&1](e[p>>2]|0,s0)|0,!p)Ix(1);else{$=k,e0=p,R0=k,P0=p,Jx=20;break x}}while(!1);e0=e[c+5212>>2]|0,R0=0,P0=0,Jx=20;break}default:q0=0}while(!1);do if((Jx|0)==20){n0=c+193|0,o0=c+5220|0,f0=c+196|0,p0=c+200|0,u0=c+20|0,h0=c+24|0,S0=c+192|0,w0=c+4308|0,E0=c+4436|0,D0=c+5204|0,g0=c+4692|0,y0=c+5216|0,b0=c+5224|0,T0=(w|0)==0;x:for(;;){for(p=e[Se>>2]|0;;){if((p|0)==1&&(n[n0>>0]|0)!=0){Jx=24;break}if(k=e[o0>>2]|0,k)break;if(p){Jx=49;break x}if(j=e[h>>2]|0,M=U0>>>0<j>>>0?U0:j,j=(j|0)==(M|0)?1:0,p=(M<<1)+502|0,e[bt>>2]=s[n0>>0],p>>>0>(e[l>>2]|0)>>>0)if(k=e[p0>>2]|0,(e[f0>>2]|0)>>>0<p>>>0){if(Ex[e[u0>>2]&1](e[h0>>2]|0,k),e[p0>>2]=0,k=Px[e[V0>>2]&1](e[h0>>2]|0,p)|0,!k){Jx=34;break x}e[p0>>2]=k,e[f0>>2]=p,q=0}else q=0;else q=1,k=e[d>>2]|0;if(n[k>>0]=n[S0>>0]|0,p=mD(c,e[Zt>>2]|0,M,Lt)|0,s0=e[f>>2]|0,x0=j<<24>>24!=0,a0=e[Lt>>2]|0,e[Zt>>2]|0?bD(V0,s0,M,x0,$,e0,p,a0,bt,k):lD(V0,s0,M,x0,p,a0,w0,E0,D0,g0,bt,k),e[f>>2]=(e[f>>2]|0)+M,e[h>>2]=(e[h>>2]|0)-M,s0=e[bt>>2]|0,x0=s0>>>3,q<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Jx=41;break x}if(!((s0&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[b0>>2]|0)+x0|0,e[b0>>2]=p,T0||(e[w>>2]=p)}else e[y0>>2]=k,e[o0>>2]=x0;if(n[S0>>0]=n[k+((e[bt>>2]|0)>>>3)>>0]|0,n[n0>>0]=e[bt>>2]&7,!(j<<24>>24))continue x;e[Se>>2]=2,p=2}if((Jx|0)==24){Jx=0,vD(c);continue}if(p=e[l>>2]|0,!p){Jx=49;break}p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[y0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[y0>>2]=(e[y0>>2]|0)+p,e[o0>>2]=(e[o0>>2]|0)-p,p=(e[b0>>2]|0)+p|0,e[b0>>2]=p,!T0&&(e[w>>2]=p)}if((Jx|0)==34)Ix(1);else if((Jx|0)==41)W0(406280,406053,1436,406308);else if((Jx|0)==43)W0(406340,406053,1437,406308);else if((Jx|0)==49){if(Ex[e[u0>>2]&1](e[h0>>2]|0,R0),Ex[e[u0>>2]&1](e[h0>>2]|0,P0),(e[Se>>2]|0)!=1){q0=1;break}if(e[o0>>2]|0){q0=1;break}e[Se>>2]=0,e[y0>>2]=0,q0=1;break}}while(!1);return w=q0,c0=Je,w|0}rx=c+80|0,M0=c+152|0,f0=c+12|0,p0=c+193|0,u0=c+5220|0,h0=c+5216|0,S0=c+16|0,w0=c+116|0,E0=c+92|0,D0=c+5236|0,g0=c+5208|0,y0=c+24|0,b0=c+5212|0,T0=c+196|0,P0=c+200|0,R0=c+20|0,U0=c+24|0,V0=c+192|0,q0=c+4308|0,xx=c+4436|0,J0=c+5204|0,_x=c+4692|0,Dx=c+128|0,bx=c+120|0,ox=c+124|0,cx=c+20|0,X0=c+160|0,G0=c+136|0,Cx=c+132|0,Qx=c+4|0,Wx=c+72|0,Hx=c+8|0,Rx=c+144|0,Lx=c+28|0,lx=c+32|0,kx=c+36|0,gx=c+40|0,ex=c+44|0,Z0=c+48|0,Kx=c+52|0,ee=c+56|0,ue=c+60|0,zx=c+64|0,Bx=c+68|0,ux=c+8|0,nx=c+194|0,fx=c+195|0,Nx=c+176|0,ae=c+176|0,Ox=c+160|0,px=c+8|0,ax=c+5224|0,Ce=(w|0)==0,C0=c+108|0,se=c+96|0,Yx=c+112|0,dx=c+104|0,Ae=c+116|0,Ux=c+116|0,Te=c+92|0,oe=c+104|0,hx=c+100|0,_0=c+88|0;x:for(;;){if(k=rx,p=M0,p=hr(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=A0,qo(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&(pr=e0-p|0,(pr|0)!=0)&&(f6=e[h>>2]|0,(f6|0)!=0)){if($=pr>>>0<f6>>>0?pr:f6,s0=e[f>>2]|0,qo(c)|0){if(p=e[C0>>2]|0,(p|0)==0&&$>>>0<(e[se>>2]|0)>>>0){if(e[C0>>2]=$,p=Px[e[S0>>2]&1](e[y0>>2]|0,$+9|0)|0,!p){Jx=62;break}for(k=e[Yx>>2]|0,k&&($x(p|0,k|0,(e[dx>>2]|0)+9|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[dx>>2]=$,e[Ae>>2]=p+2,n[p+1>>0]=0,n[(e[Ae>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[Ae>>2]|0)+((e[dx>>2]|0)+p)>>0]=0,p=p+1|0;$x(e[Ux>>2]|0,s0|0,$|0)|0}else{if(e0=e[hx>>2]|0,(e[oe>>2]|0)>>>0<e0>>>0){if(p=Px[e[S0>>2]&1](e[y0>>2]|0,e0+9|0)|0,!p){Jx=71;break}for(k=e[Yx>>2]|0,k&&($x(p|0,k|0,(e[dx>>2]|0)+9|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[dx>>2]=e0,e[Ae>>2]=p+2,n[p+1>>0]=0,n[(e[Ae>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[Ae>>2]|0)+((e[dx>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Ux>>2]|0)+((e[_0>>2]|0)+-2)>>0]=0,n[(e[Ux>>2]|0)+((e[_0>>2]|0)+-1)>>0]=0,p=e[C0>>2]|0}e0=p&e[Te>>2],p=e[se>>2]|0,p>>>0>e0>>>0&&(Jx=p-e0|0,$x((e[Ux>>2]|0)+((e[_0>>2]|0)+e0)|0,s0|0,($>>>0<Jx>>>0?$:Jx)|0)|0),k=(e[Ux>>2]|0)+e0|0,p=s0,(e0+$|0)>>>0>(e[_0>>2]|0)>>>0?(Jx=(e[hx>>2]|0)-e0|0,$x(k|0,p|0,($>>>0<Jx>>>0?$:Jx)|0)|0,Jx=e[_0>>2]|0,$x(e[Ux>>2]|0,p+(Jx-e0)|0,$+(e0-Jx)|0)|0):$x(k|0,p|0,$|0)|0,p=e[Ux>>2]|0,n[p+-2>>0]=n[p+((e[_0>>2]|0)+-2)>>0]|0,p=e[Ux>>2]|0,n[p+-1>>0]=n[p+((e[_0>>2]|0)+-1)>>0]|0,p=(e[C0>>2]|0)+$|0,e[C0>>2]=p,p>>>0>1073741824&&(e[C0>>2]=p&1073741823|1073741824)}Jx=rx,Jx=Mf(e[Jx>>2]|0,e[Jx+4>>2]|0,$|0,0)|0,p=rx,e[p>>2]=Jx,e[p+4>>2]=A0,p=e[C0>>2]|0,p>>>0<=(e[Te>>2]|0)>>>0&&(Jx=(e[Ux>>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[Se>>2]|0,e0=(p|0)==1,e0&&(n[p0>>0]|0)!=0){vD(c);continue}if(k=e[u0>>2]|0,s0=(k|0)==0,!s0){if(p=e[l>>2]|0,!p){Jx=234;break}if(p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[h0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[h0>>2]=(e[h0>>2]|0)+p,e[u0>>2]=(e[u0>>2]|0)-p,p=(e[ax>>2]|0)+p|0,e[ax>>2]=p,Ce)continue;e[w>>2]=p;continue}if(p){Jx=234;break}if(o0=(e[h>>2]|0)==0?1:0,s0=rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,x0=M0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,M=hr(e0|0,s0|0,$|0,x0|0)|0,p=A0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(a0=vx($|0,x0|0,30)|0,a0=$&1073741823|((a0&1^1)<<30)+1073741824):a0=$,!(qo(c)|0)){Jx=231;break}if(j=e[w0>>2]|0,n0=e[E0>>2]|0,n[D0>>0]&1){Jx=231;break}if(q=o0<<24>>24==0,q||(n[D0>>0]=1),qo(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&M>>>0>k>>>0){Jx=231;break}if(p=e[Zt>>2]|0,(p|0)==1)if(e[g0>>2]|0)Jx=114;else{if(p=Px[e[S0>>2]&1](e[y0>>2]|0,524288)|0,!p){Jx=108;break}if(e[g0>>2]=p,p=Px[e[S0>>2]&1](e[y0>>2]|0,131072)|0,!p){Jx=110;break}e[b0>>2]=p,p=e[Zt>>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[Dx>>2]|0,p=k+(M>>>1)+1|0,p>>>0>(e[bx>>2]|0)>>>0){if(p=p+((M>>>2)+16)|0,e[bx>>2]=p,p=Px[e[S0>>2]&1](e[y0>>2]|0,p<<4)|0,!p){Jx=127;break x}k=e[ox>>2]|0,k&&($x(p|0,k|0,e[Dx>>2]<<4|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[ox>>2]|0),e[ox>>2]=0),e[ox>>2]=p,k=e[Dx>>2]|0}else p=e[ox>>2]|0;k=p+(k<<4)|0,p=e[Qx>>2]|0;t:do switch(p|0){case 10:{kW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Wx>>2]|0,X0,G0,k,Dx,Cx);break}case 11:{OW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Wx>>2]|0,X0,G0,k,Dx,Cx);break}default:{if((p|0)>9)break t;do if((p|0)<5)Jx=139;else{if((e[px>>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:{FW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Lx>>2]|0,X0,G0,k,Dx,Cx);break t}case 3:{IW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[lx>>2]|0,X0,G0,k,Dx,Cx);break t}case 4:{TW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[kx>>2]|0,X0,G0,k,Dx,Cx);break t}case 5:{RW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[gx>>2]|0,X0,G0,k,Dx,Cx);break t}case 6:{PW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ex>>2]|0,X0,G0,k,Dx,Cx);break t}case 7:{_W(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Z0>>2]|0,X0,G0,k,Dx,Cx);break t}case 8:{lW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Kx>>2]|0,X0,G0,k,Dx,Cx);break t}case 9:{hW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ee>>2]|0,X0,G0,k,Dx,Cx);break t}case 41:{bW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[zx>>2]|0,X0,G0,k,Dx,Cx);break t}case 42:{gW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Bx>>2]|0,X0,G0,k,Dx,Cx);break t}default:break t}while(!1)}while(!1);pW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ue>>2]|0,X0,G0,k,Dx,Cx)}}while(!1);e0=e[Hx>>2]|0,k=e[f0>>2]|0,k=((e0|0)>(k|0)?e0:k)+1|0,k=1<<((k|0)<24?k:24),e0=k>>>3,M=rx,s0=Rx,s0=hr(e[M>>2]|0,e[M+4>>2]|0,e[s0>>2]|0,e[s0+4>>2]|0)|0,qo(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[Zt>>2]|0,(p|0)<4?$=((e[Cx>>2]|0)+(e[Dx>>2]|0)|0)>>>0>12286:$=0;do if(!(q^1|$|(s0+x0|0)>>>0>k>>>0)){if((e[Cx>>2]|0)>>>0>=e0>>>0||(e[Dx>>2]|0)>>>0>=e0>>>0)break;e0=M0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(n0=vx(k|0,e0|0,30)|0,k=k&1073741823|((n0&1^1)<<30)+1073741824),s0=rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,s0>>>0>0|(s0|0)==0&e0>>>0>3221225471?($=vx(e0|0,s0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,n0=M0,e[n0>>2]=e0,e[n0+4>>2]=s0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Jx=168;else{if((e[ux>>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:{n0=e[Lx>>2]|0,n[n0+262148>>0]=1,e[n0+262152>>2]=0,e[n0+262156>>2]=0;break t}case 3:{n0=e[lx>>2]|0,n[n0+262152>>0]=1,e[n0+262156>>2]=0,e[n0+262160>>2]=0;break t}case 4:{n0=e[kx>>2]|0,n[n0+524304>>0]=1,e[n0+524308>>2]=0,e[n0+524312>>2]=0;break t}case 5:{n0=e[gx>>2]|0,n[n0+1081344>>0]=1,e[n0+1081348>>2]=0,e[n0+1081352>>2]=0;break t}case 6:{n0=e[ex>>2]|0,n[n0+2129920>>0]=1,e[n0+2129924>>2]=0,e[n0+2129928>>2]=0;break t}case 7:{n0=e[Z0>>2]|0,n[n0+8454144>>0]=1,e[n0+8454148>>2]=0,e[n0+8454152>>2]=0;break t}case 8:{n0=e[Kx>>2]|0,n[n0+16842752>>0]=1,e[n0+16842756>>2]=0,e[n0+16842760>>2]=0;break t}case 9:{n0=e[ee>>2]|0,n[n0+33619968>>0]=1,e[n0+33619972>>2]=0,e[n0+33619976>>2]=0;break t}case 41:{n0=e[zx>>2]|0,n[n0+524290>>0]=1,e[n0+524292>>2]=0,e[n0+524296>>2]=0;break t}case 42:{n0=e[Bx>>2]|0,n[n0+1311744>>0]=1,e[n0+1311748>>2]=0,e[n0+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);n0=e[ue>>2]|0,n[n0+524290>>0]=1,e[n0+524292>>2]=0,e[n0+524296>>2]=0;break t}while(!1);n[(e[Wx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[G0>>2]|0,p){k=e[Dx>>2]|0,e[Dx>>2]=k+1,M=e[ox>>2]|0,e[M+(k<<4)>>2]=p,e[M+(k<<4)+4>>2]=67108864,e[M+(k<<4)+8>>2]=0,o[M+(k<<4)+14>>1]=16,k=M+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){M=p+-2|0,p=((Ax(M|0)|0)^31)+-1|0,p=(p<<1)+(M>>>p)+2|0;break}if(p>>>0<2114){p=((Ax(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);M=p&65535,o[k>>1]=o[88156+((M>>>3)*3<<1)>>1]|(M<<3&56|2)&65535,e[Cx>>2]=(e[Cx>>2]|0)+(e[G0>>2]|0),e[G0>>2]=0}if(k=rx,p=e[k>>2]|0,k=e[k+4>>2]|0,s0=Rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,q&((p|0)==(e0|0)&(k|0)==(s0|0))){e[u0>>2]=0;break}if(k>>>0<s0>>>0|(k|0)==(s0|0)&p>>>0<e0>>>0){Jx=194;break x}if(!(k>>>0>s0>>>0|(k|0)==(s0|0)&p>>>0>e0>>>0|q^1)){Jx=196;break x}if(e0=hr(p|0,k|0,e0|0,s0|0)|0,q=A0,!(q>>>0<0|(q|0)==0&e0>>>0<16777217)){Jx=198;break x}if(p=(e0<<1)+502|0,(e[T0>>2]|0)>>>0<p>>>0){if(Ex[e[R0>>2]&1](e[U0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,q=Px[e[S0>>2]&1](e[U0>>2]|0,p)|0,k=q,!q){Jx=202;break x}e[P0>>2]=k,e[T0>>2]=p}else k=e[P0>>2]|0;e[P6>>2]=s[p0>>0],$=k,n[$>>0]=n[V0>>0]|0,x0=j,s0=Rx,BW(S0,x0,n0,e[s0>>2]|0,e[s0+4>>2]|0,e0,o0<<24>>24!=0,c,n[nx>>0]|0,n[fx>>0]|0,e[Cx>>2]|0,e[Dx>>2]|0,e[ox>>2]|0,Nx,X0,P6,$),n[V0>>0]=n[$+((e[P6>>2]|0)>>>3)>>0]|0,n[p0>>0]=e[P6>>2]&7,$=rx,s0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Rx,e[e0>>2]=s0,e[e0+4>>2]=$,e0=M0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(j=vx(p|0,e0|0,30)|0,p=p&1073741823|((j&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&s0>>>0>3221225471?(e0=vx(s0|0,$|0,30)|0,e0=s0&1073741823|((e0&1^1)<<30)+1073741824):e0=s0,j=M0,e[j>>2]=s0,e[j+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[Zt>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Jx=214;else{if((e[ux>>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:{j=e[Lx>>2]|0,n[j+262148>>0]=1,e[j+262152>>2]=0,e[j+262156>>2]=0;break t}case 3:{j=e[lx>>2]|0,n[j+262152>>0]=1,e[j+262156>>2]=0,e[j+262160>>2]=0;break t}case 4:{j=e[kx>>2]|0,n[j+524304>>0]=1,e[j+524308>>2]=0,e[j+524312>>2]=0;break t}case 5:{j=e[gx>>2]|0,n[j+1081344>>0]=1,e[j+1081348>>2]=0,e[j+1081352>>2]=0;break t}case 6:{j=e[ex>>2]|0,n[j+2129920>>0]=1,e[j+2129924>>2]=0,e[j+2129928>>2]=0;break t}case 7:{j=e[Z0>>2]|0,n[j+8454144>>0]=1,e[j+8454148>>2]=0,e[j+8454152>>2]=0;break t}case 8:{j=e[Kx>>2]|0,n[j+16842752>>0]=1,e[j+16842756>>2]=0,e[j+16842760>>2]=0;break t}case 9:{j=e[ee>>2]|0,n[j+33619968>>0]=1,e[j+33619972>>2]=0,e[j+33619976>>2]=0;break t}case 41:{j=e[zx>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}case 42:{j=e[Bx>>2]|0,n[j+1311744>>0]=1,e[j+1311748>>2]=0,e[j+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);j=e[ue>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}while(!1);n[(e[Wx>>2]|0)+524304>>0]=1}while(!1);e0=Rx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[nx>>0]=n[x0+(p+-1&n0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;j=Mf(p|0,e0|0,-2,0)|0,n[fx>>0]=n[x0+(j&n0)>>0]|0}while(!1);e[Dx>>2]=0,e[Cx>>2]=0,e[ae>>2]=e[Ox>>2],e[ae+4>>2]=e[Ox+4>>2],e[ae+8>>2]=e[Ox+8>>2],e[ae+12>>2]=e[Ox+12>>2],e[h0>>2]=k,e[u0>>2]=(e[P6>>2]|0)>>>3}else Jx=114;while(!1);do if((Jx|0)==114){if(e[bt>>2]=s[p0>>0],!((e0|0)==($|0)&(s0|0)==(x0|0)^1|q^1)){e[u0>>2]=0;break}if(k=(M<<1)+502|0,p=e[P0>>2]|0,(e[T0>>2]|0)>>>0<k>>>0){if(Ex[e[R0>>2]&1](e[U0>>2]|0,p),e[P0>>2]=0,p=Px[e[S0>>2]&1](e[U0>>2]|0,k)|0,!p){Jx=118;break x}e[P0>>2]=p,e[T0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[V0>>0]|0,s0=mD(c,e[Zt>>2]|0,M,Lt)|0,p=j+(a0&n0)|0,k=o0<<24>>24!=0,e[Zt>>2]|0?bD(S0,p,M,k,e[g0>>2]|0,e[b0>>2]|0,s0,e[Lt>>2]|0,bt,e0):lD(S0,p,M,k,s0,e[Lt>>2]|0,q0,xx,J0,_x,bt,e0),n[V0>>0]=n[e0+((e[bt>>2]|0)>>>3)>>0]|0,n[p0>>0]=e[bt>>2]&7,j=rx,n0=e[j+4>>2]|0,Jx=M0,e[Jx>>2]=e[j>>2],e[Jx+4>>2]=n0,e[h0>>2]=e0,e[u0>>2]=(e[bt>>2]|0)>>>3}while(!1);o0<<24>>24&&(e[Se>>2]=2)}switch(Jx|0){case 62:{Ix(1);break}case 71:{Ix(1);break}case 108:{Ix(1);break}case 110:{Ix(1);break}case 118:{Ix(1);break}case 127:{Ix(1);break}case 194:{W0(406017,406053,906,406080);break}case 196:{W0(406103,406053,907,406080);break}case 198:{W0(406149,406053,908,406080);break}case 202:{Ix(1);break}case 231:return w=0,c0=Je,w|0;case 234:return e0^1|s0^1?(w=1,c0=Je,w|0):(e[Se>>2]=0,e[h0>>2]=0,w=1,c0=Je,w|0)}return 0}function qo(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0;if(e0=c+5237|0,n[e0>>0]&1)return 1;f=e[c+4>>2]|0,(f|0)>=0?(f|0)>11?w=11:p=4:(f=0,p=4),(p|0)==4&&(w=f),e[c+4>>2]=w,f=c+8|0,l=e[f>>2]|0,(l|0)>=10?(l|0)>24&&(e[f>>2]=24,l=24):(e[f>>2]=10,l=10),d=c+12|0,f=e[d>>2]|0,p=(w|0)==0;do if(w>>>0>=2)if((w|0)<4)f=14;else{if(!f){if(!((w|0)>8&(l|0)>16)){f=16;break}f=(l|0)>18?18:l;break}if((f|0)>=16){if((f|0)>24){f=24;break}}else f=16}else f=l;while(!1);e[d>>2]=f,d=1<<((l|0)>(f|0)?l:f)+1,e[c+88>>2]=d,e[c+92>>2]=d+-1,f=1<<f,e[c+96>>2]=f,e[c+100>>2]=d+f,f=c+192|0,d=c+193|0;x:do switch(l|0){case 16:{n[f>>0]=0,n[d>>0]=1;break}case 17:{n[f>>0]=1,n[d>>0]=7;break}default:if((l|0)>17){n[f>>0]=(l<<1)+222|1,n[d>>0]=4;break x}else{n[f>>0]=(l<<4)+128|1,n[d>>0]=7;break x}}while(!1);x:do if(p){d=c+4436|0,w=c+4692|0,p=c+5204|0,h=c+4308|0,f=406473,l=h+128|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));$x(d|0,88174,256)|0,h=w,f=406601,l=h+57|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));e[p>>2]=448}else{f=c+16|0,d=c+28|0;e:do if((w|0)>9)l=d,p=65;else{do if((w|0)>=5&(l|0)<17)if((w|0)<7){l=d,p=56;break}else{w=(w|0)<9?41:42,p=31;break}else p=31;while(!1);t:do if((p|0)==31){l=d;r:do switch(w|0){case 10:{p=65;break e}case 40:{p=56;break t}case 2:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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 mD(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,Ex[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)Ix(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Gx(w|0,0,d<<2|0)|0,w|0}function lW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,M=8)}else c=k+16842752|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&127|ex<<7)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+16842760|0,X0=k+16842756|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=10;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<7,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>128?M+-128|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&127)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&127)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<7,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>128?l+-128|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&127)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&127)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function hW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,M=8)}else c=k+33619968|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&255|ex<<8)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+33619976|0,X0=k+33619972|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=16;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<8,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>256?M+-256|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&255)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&255)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=16;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<8,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>256?l+-256|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&255)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&255)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function pW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,fx=ae,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+524300|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Nx=8)}else c=k+524290|0,n[c>>0]&1&&(Gx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Gx(k+131072|0,0,131072)|0),Nx=8;(Nx|0)==8&&h>>>0>2&f>>>0>2&&(Lx=f+-3|0,gx=d+(Lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,lx=k+524288|0,kx=o[lx>>1]|0,o[lx>>1]=kx+1<<16>>16,ex=kx&65535,Z0=k+(gx<<2)|0,Rx=Lx-(e[Z0>>2]|0)|0,n[(Lx&65535)+(k+196608)>>0]=gx,o[k+262144+(ex<<2)>>1]=Rx>>>0>65535?65535:Rx,gx=k+131072+(gx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[gx>>1]|0,e[Z0>>2]=Lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Lx=Z0&65535,ex=k+(kx<<2)|0,Rx=gx-(e[ex>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(Lx<<2)>>1]=Rx>>>0>65535?65535:Rx,kx=k+131072+(kx<<1)|0,o[k+262144+(Lx<<2)+2>>1]=o[kx>>1]|0,e[ex>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[lx>>1]|0,o[lx>>1]=ex+1<<16>>16,lx=ex&65535,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),q0=nx+4|0,xx=nx+8|0,J0=nx+12|0,_x=nx+4|0,Dx=nx+8|0,bx=nx+12|0,ox=k+524288|0,cx=k+524296|0,X0=k+524292|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,V0=$,c=q;x:for(;;){R0=V0,U0=M+G0|0;e:for(;;){if(P0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(b0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[q0>>2]=0,e[xx>>2]=0,e[J0>>2]=4240,T0=p&w,p0=e[nx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[_x>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(o0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-o0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>b0>>>0?h=p0:Nx=17:h>>>0>=p>>>0|o0>>>0>b0>>>0?h=p0:Nx=17,(Nx|0)==17){for(Nx=0,n0=h&w,h=0,q=E0;j=q,!(j>>>0>g0>>>0||(S0=q,w0=d+(n0+h)|0,(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=D0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[Dx>>2]=o0,e[bx>>2]=Ox,f=Ox,l=1):h=p0}p0=h,u0=u0+1|0}n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,u0=j,h0=h;;){if(n0=u0,u0=u0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>b0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!S0&&(h=n0+p0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=E0;else continue;for(;q=h,!(q>>>0>g0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=D0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[Dx>>2]=o0,e[bx>>2]=h,n0=o0,p0=j,f=h,q=f0,j=u0,l=1,h=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,D0=hx&65535,g0=k+(_0<<2)|0,E0=p-(e[g0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(D0<<2)>>1]=E0>>>0>65535?65535:E0,_0=k+131072+(_0<<1)|0,o[k+262144+(D0<<2)+2>>1]=o[_0>>1]|0,e[g0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(px=h&31,ax=h>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=P0>>>0)){for(f=Ce+px|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+Ce|0;!(h>>>0>f>>>0||(_0=d+(T0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(T0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=px>>>0|(q|0)==0)&&(C0=b0+ax+1+(s[407930+(px-q)>>0]<<s[280786+px>>0])|0,se=(q*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[bx>>2]|0)>>>0)&&(e[nx>>2]=q,e[_x>>2]=px^q,e[Dx>>2]=C0,e[bx>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){R0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,b0=f0>>>0<Bx>>>0?f0:Bx,T0=f0&w,p0=e[fx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>b0>>>0?l=p0:Nx=71:l>>>0>=f0>>>0|j>>>0>b0>>>0?l=p0:Nx=71,(Nx|0)==71){for(Nx=0,q=l&w,l=0,M=E0;f=M,!(f>>>0>g0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=D0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=Yx,h=Yx,c=1):l=p0}p0=l,u0=u0+1|0}q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,u0=f,h0=l;;){if(_0=u0,u0=u0+-1|0,!_0||(j=j+n0|0,j>>>0>b0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,n0=_[k+262144+(n0<<2)>>1]|0,!S0&&(l=q+p0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=E0;else continue;for(;M=l,!(M>>>0>g0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=D0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,p0=f,h=l,M=n0,f=u0,c=1,l=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,g0=hx&65535,U0=k+(_0<<2)|0,D0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<2)+2>>1]=o[_0>>1]|0,e[U0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(dx=l&31,Ae=l>>>5,Ux=(e[11272+(dx<<2)>>2]|0)+(ix(dx,Ae)|0)|0,dx>>>0<=P0>>>0)){for(h=Ux+dx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(_0=d+(T0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(T0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=dx>>>0|(M|0)==0)&&(Te=b0+Ae+1+(s[407930+(dx-M)>>0]<<s[280786+dx>>0])|0,oe=(M*540|0)+3840+(ix((Ax(Te|0)|0)^31,-120)|0)|0,oe>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=dx^M,e[lx>>2]=Te,e[kx>>2]=oe,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[J0>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],R0=R0+1|0,(R0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=V0+16|0,_0=e[q0>>2]|0,l=p^_0,e[V0>>2]=o0,e[V0+4>>2]=p|_0<<24,p=V0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,_0=((Ax(U0|0)|0)^31)+-1|0,hx=U0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|U0-((hx|2)<<_0)),e[V0+8>>2]=p,q=c<<16>>16==0,j=V0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,U0=hx&65535,V0=k+(_0<<2)|0,R0=p-(e[V0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(U0<<2)>>1]=R0>>>0>65535?65535:R0,_0=k+131072+(_0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,V0=n0,c=0}e[s0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(R0-$>>4),c0=ae}function bW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,fx=ae,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+524300|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Nx=8)}else c=k+524290|0,n[c>>0]&1&&(Gx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Gx(k+131072|0,0,131072)|0),Nx=8;(Nx|0)==8&&h>>>0>2&f>>>0>2&&(Lx=f+-3|0,gx=d+(Lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,lx=k+524288|0,kx=o[lx>>1]|0,o[lx>>1]=kx+1<<16>>16,ex=kx&65535,Z0=k+(gx<<2)|0,Rx=Lx-(e[Z0>>2]|0)|0,n[(Lx&65535)+(k+196608)>>0]=gx,o[k+262144+(ex<<2)>>1]=Rx>>>0>65535?65535:Rx,gx=k+131072+(gx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[gx>>1]|0,e[Z0>>2]=Lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Lx=Z0&65535,ex=k+(kx<<2)|0,Rx=gx-(e[ex>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(Lx<<2)>>1]=Rx>>>0>65535?65535:Rx,kx=k+131072+(kx<<1)|0,o[k+262144+(Lx<<2)+2>>1]=o[kx>>1]|0,e[ex>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[lx>>1]|0,o[lx>>1]=ex+1<<16>>16,lx=ex&65535,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),q0=nx+4|0,xx=nx+8|0,J0=nx+12|0,_x=nx+4|0,Dx=nx+8|0,bx=nx+12|0,ox=k+524288|0,cx=k+524296|0,X0=k+524292|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,V0=$,c=q;x:for(;;){R0=V0,U0=M+G0|0;e:for(;;){if(P0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(b0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[q0>>2]=0,e[xx>>2]=0,e[J0>>2]=4240,T0=p&w,p0=e[nx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[_x>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(o0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-o0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>b0>>>0?h=p0:Nx=17:h>>>0>=p>>>0|o0>>>0>b0>>>0?h=p0:Nx=17,(Nx|0)==17){for(Nx=0,n0=h&w,h=0,q=E0;j=q,!(j>>>0>g0>>>0||(S0=q,w0=d+(n0+h)|0,(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=D0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[Dx>>2]=o0,e[bx>>2]=Ox,f=Ox,l=1):h=p0}p0=h,u0=u0+1|0}n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,u0=j,h0=h;;){if(n0=u0,u0=u0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>b0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!S0&&(h=n0+p0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=E0;else continue;for(;q=h,!(q>>>0>g0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=D0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[Dx>>2]=o0,e[bx>>2]=h,n0=o0,p0=j,f=h,q=f0,j=u0,l=1,h=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,D0=hx&65535,g0=k+(_0<<2)|0,E0=p-(e[g0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(D0<<2)>>1]=E0>>>0>65535?65535:E0,_0=k+131072+(_0<<1)|0,o[k+262144+(D0<<2)+2>>1]=o[_0>>1]|0,e[g0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(px=h&31,ax=h>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=P0>>>0)){for(f=Ce+px|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+Ce|0;!(h>>>0>f>>>0||(_0=d+(T0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(T0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=px>>>0|(q|0)==0)&&(C0=b0+ax+1+(s[407930+(px-q)>>0]<<s[280786+px>>0])|0,se=(q*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[bx>>2]|0)>>>0)&&(e[nx>>2]=q,e[_x>>2]=px^q,e[Dx>>2]=C0,e[bx>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){R0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,b0=f0>>>0<Bx>>>0?f0:Bx,T0=f0&w,p0=e[fx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>b0>>>0?l=p0:Nx=71:l>>>0>=f0>>>0|j>>>0>b0>>>0?l=p0:Nx=71,(Nx|0)==71){for(Nx=0,q=l&w,l=0,M=E0;f=M,!(f>>>0>g0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=D0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=Yx,h=Yx,c=1):l=p0}p0=l,u0=u0+1|0}q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,u0=f,h0=l;;){if(_0=u0,u0=u0+-1|0,!_0||(j=j+n0|0,j>>>0>b0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,n0=_[k+262144+(n0<<2)>>1]|0,!S0&&(l=q+p0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=E0;else continue;for(;M=l,!(M>>>0>g0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=D0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,p0=f,h=l,M=n0,f=u0,c=1,l=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,g0=hx&65535,U0=k+(_0<<2)|0,D0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<2)+2>>1]=o[_0>>1]|0,e[U0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(dx=l&31,Ae=l>>>5,Ux=(e[11272+(dx<<2)>>2]|0)+(ix(dx,Ae)|0)|0,dx>>>0<=P0>>>0)){for(h=Ux+dx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(_0=d+(T0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(T0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=dx>>>0|(M|0)==0)&&(Te=b0+Ae+1+(s[407930+(dx-M)>>0]<<s[280786+dx>>0])|0,oe=(M*540|0)+3840+(ix((Ax(Te|0)|0)^31,-120)|0)|0,oe>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=dx^M,e[lx>>2]=Te,e[kx>>2]=oe,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[J0>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],R0=R0+1|0,(R0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=V0+16|0,_0=e[q0>>2]|0,l=p^_0,e[V0>>2]=o0,e[V0+4>>2]=p|_0<<24,p=V0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,_0=((Ax(U0|0)|0)^31)+-1|0,hx=U0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|U0-((hx|2)<<_0)),e[V0+8>>2]=p,q=c<<16>>16==0,j=V0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,U0=hx&65535,V0=k+(_0<<2)|0,R0=p-(e[V0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(U0<<2)>>1]=R0>>>0>65535?65535:R0,_0=k+131072+(_0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,V0=n0,c=0}e[s0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(R0-$>>4),c0=ae}function gW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(Nx=c0,c0=c0+32|0,nx=Nx+16|0,fx=Nx,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+1311756|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,Gx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,oe=8)}else n[k+1311744>>0]&1&&(Gx(k|0,-52,131072)|0,Gx(k+131072|0,0,131072)|0,Gx(k+1310720|0,0,1025)|0),oe=8;(oe|0)==8&&h>>>0>2&f>>>0>2&&(lx=f+-3|0,gx=d+(lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,Z0=gx&511,ex=k+1310720+(Z0<<1)|0,kx=o[ex>>1]|0,o[ex>>1]=kx+1<<16>>16,kx=kx&511,ex=k+(gx<<2)|0,Lx=lx-(e[ex>>2]|0)|0,n[(lx&65535)+(k+196608)>>0]=gx,o[k+262144+(Z0<<11)+(kx<<2)>>1]=Lx>>>0>65535?65535:Lx,gx=k+131072+(gx<<1)|0,o[k+262144+(Z0<<11)+(kx<<2)+2>>1]=o[gx>>1]|0,e[ex>>2]=lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,ex=kx&511,lx=k+1310720+(ex<<1)|0,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Z0=Z0&511,lx=k+(kx<<2)|0,Lx=gx-(e[lx>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(ex<<11)+(Z0<<2)>>1]=Lx>>>0>65535?65535:Lx,kx=k+131072+(kx<<1)|0,o[k+262144+(ex<<11)+(Z0<<2)+2>>1]=o[kx>>1]|0,e[lx>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,lx=Z0&511,gx=k+1310720+(lx<<1)|0,ex=o[gx>>1]|0,o[gx>>1]=ex+1<<16>>16,ex=ex&511,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<11)+(ex<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<11)+(ex<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),xx=nx+4|0,J0=nx+8|0,_x=nx+12|0,Dx=nx+4|0,bx=nx+8|0,ox=nx+12|0,cx=k+1311752|0,X0=k+1311748|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=q;x:for(;;){U0=q0,V0=M+G0|0;e:for(;;){if(R0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(T0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,u0=e[nx>>2]|0,b0=d+P0|0,h0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[Dx>>2]=0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f=4240,l=0,p0=0;(p0|0)!=16;){if(o0=(e[e0+(e[11372+(p0<<2)>>2]<<2)>>2]|0)+(e[11436+(p0<<2)>>2]|0)|0,h=p-o0|0,p0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>T0>>>0?h=u0:oe=17:h>>>0>=p>>>0|o0>>>0>T0>>>0?h=u0:oe=17,(oe|0)==17){for(oe=0,n0=h&w,h=0,q=D0;j=q,!(j>>>0>y0>>>0||(w0=q,E0=d+(n0+h)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=g0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(ae=(h*540|0)+(e[11500+(p0<<2)>>2]|0)|0,f>>>0<ae>>>0)?(e[nx>>2]=h,e[bx>>2]=o0,e[ox>>2]=ae,f=ae,l=1):h=u0}u0=h,p0=p0+1|0}E0=h0&511,n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=P0+u0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,p0=j,h0=h;;){if(n0=p0,p0=p0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>T0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(E0<<11)+(h0<<2)+2>>1]|0,f0=_[k+262144+(E0<<11)+(f0<<2)>>1]|0,!S0&&(h=n0+u0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[bx>>2]=o0,e[ox>>2]=h,n0=o0,u0=j,f=h,q=f0,j=p0,l=1,h=h0}if(_0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,g0=_0&511,y0=k+1310720+(g0<<1)|0,hx=o[y0>>1]|0,o[y0>>1]=hx+1<<16>>16,hx=hx&511,y0=k+(_0<<2)|0,D0=p-(e[y0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<11)+(hx<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[y0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(Ox=h&31,px=h>>>5,ax=(e[11272+(Ox<<2)>>2]|0)+(ix(Ox,px)|0)|0,Ox>>>0<=R0>>>0)){for(f=ax+Ox|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ax|0;!(h>>>0>f>>>0||(_0=d+(P0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(P0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Ox>>>0|(q|0)==0)&&(Ce=T0+px+1+(s[407930+(Ox-q)>>0]<<s[280786+Ox>>0])|0,C0=(q*540|0)+3840+(ix((Ax(Ce|0)|0)^31,-120)|0)|0,C0>>>0>=(e[ox>>2]|0)>>>0)&&(e[nx>>2]=q,e[Dx>>2]=Ox^q,e[bx>>2]=Ce,e[ox>>2]=C0,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,P0=_0&511,R0=k+1310720+(P0<<1)|0,hx=o[R0>>1]|0,o[R0>>1]=hx+1<<16>>16,hx=hx&511,R0=k+(_0<<2)|0,T0=p-(e[R0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(P0<<11)+(hx<<2)>>1]=T0>>>0>65535?65535:T0,_0=k+131072+(_0<<1)|0,o[k+262144+(P0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[R0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,P0=_0&511,R0=k+1310720+(P0<<1)|0,hx=o[R0>>1]|0,o[R0>>1]=hx+1<<16>>16,hx=hx&511,R0=k+(_0<<2)|0,T0=p-(e[R0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(P0<<11)+(hx<<2)>>1]=T0>>>0>65535?65535:T0,_0=k+131072+(_0<<1)|0,o[k+262144+(P0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[R0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<Bx>>>0?f0:Bx,P0=f0&w,u0=e[fx>>2]|0,b0=d+P0|0,h0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,h=4240,c=0,p0=0;(p0|0)!=16;){if(j=(e[e0+(e[11372+(p0<<2)>>2]<<2)>>2]|0)+(e[11436+(p0<<2)>>2]|0)|0,l=f0-j|0,p0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>T0>>>0?l=u0:oe=71:l>>>0>=f0>>>0|j>>>0>T0>>>0?l=u0:oe=71,(oe|0)==71){for(oe=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>y0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(se=(l*540|0)+(e[11500+(p0<<2)>>2]|0)|0,h>>>0<se>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=se,h=se,c=1):l=u0}u0=l,p0=p0+1|0}E0=h0&511,q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=P0+u0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,p0=f,h0=l;;){if(_0=p0,p0=p0+-1|0,!_0||(j=j+n0|0,j>>>0>T0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(E0<<11)+(h0<<2)+2>>1]|0,n0=_[k+262144+(E0<<11)+(n0<<2)>>1]|0,!S0&&(l=q+u0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>y0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,u0=f,h=l,M=n0,f=p0,c=1,l=h0}if(_0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,y0=_0&511,V0=k+1310720+(y0<<1)|0,hx=o[V0>>1]|0,o[V0>>1]=hx+1<<16>>16,hx=hx&511,V0=k+(_0<<2)|0,g0=f0-(e[V0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(y0<<11)+(hx<<2)>>1]=g0>>>0>65535?65535:g0,_0=k+131072+(_0<<1)|0,o[k+262144+(y0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(Yx=l&31,dx=l>>>5,Ae=(e[11272+(Yx<<2)>>2]|0)+(ix(Yx,dx)|0)|0,Yx>>>0<=R0>>>0)){for(h=Ae+Yx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ae|0;!(l>>>0>h>>>0||(_0=d+(P0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(P0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=Yx>>>0|(M|0)==0)&&(Ux=T0+dx+1+(s[407930+(Yx-M)>>0]<<s[280786+Yx>>0])|0,Te=(M*540|0)+3840+(ix((Ax(Ux|0)|0)^31,-120)|0)|0,Te>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=Yx^M,e[lx>>2]=Ux,e[kx>>2]=Te,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,_0=e[xx>>2]|0,l=p^_0,e[q0>>2]=o0,e[q0+4>>2]=p|_0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,_0=((Ax(V0|0)|0)^31)+-1|0,hx=V0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|V0-((hx|2)<<_0)),e[q0+8>>2]=p,q=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,V0=_0&511,q0=k+1310720+(V0<<1)|0,hx=o[q0>>1]|0,o[q0>>1]=hx+1<<16>>16,hx=hx&511,q0=k+(_0<<2)|0,U0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(V0<<11)+(hx<<2)>>1]=U0>>>0>65535?65535:U0,_0=k+131072+(_0<<1)|0,o[k+262144+(V0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[q0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=Nx}function wD(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,Ex[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)Ix(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function X5(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=+t0[19516+(w<<2)>>2]:l=+Xx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+t0[19516+(d<<2)>>2]:p=+Xx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,t0[d>>2]=p,p<1&&(t0[d>>2]=1)):t0[f+(w<<2)>>2]=k,w=w+1|0}function cs(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+1024>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=256)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=256||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==256)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function _f(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+2816>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=704)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=704||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==704)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function us(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+2080>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=520)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=520||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==520)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function mW(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0;for(Cx=c0,c0=c0+6688|0,X0=Cx+2832|0,cx=Cx,Dx=Cx+6432|0,J0=Cx+6176|0,bx=Cx+5920|0,_x=Cx+5664|0,$=0,y0=0;($|0)!=(f|0);)G0=y0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,y0=G0;for(G0=c+8|0,q0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,q0||Ix(1),q=w+1|0,a0=0,M=0;$=d&w,(M|0)!=(f|0);)d=e[h+(M<<4)>>2]|0,($+d|0)>>>0>w>>>0?(V0=q-$|0,$x(q0+a0|0,l+$|0,V0|0)|0,$=0,x0=d-V0|0,d=a0+V0|0):(x0=d,d=a0),x0&&($x(q0+d|0,l+$|0,x0|0)|0,d=d+x0|0),a0=d,d=$+x0+(e[h+(M<<4)+4>>2]&16777215)|0,M=M+1|0;f0=((y0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(y0){if(y0>>>0<128){if(M=k+16|0,d=e[M>>2]|0,q=k+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[c+4>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=k+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=k+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[c+4>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=k+12|0;e[k>>2]=1,n[(e[k+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1;break}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,f0*1040|0)|0,g0||Ix(1),$=0;($|0)!=(f0|0);)Gx(g0+($*1040|0)|0,0,1024)|0,e[g0+($*1040|0)+1024>>2]=0,r0[g0+($*1040|0)+1032>>3]=z0,$=$+1|0;for(M=(y0>>>0)/(f0>>>0)|0,q=y0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((ix(y0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(M>>>0)|0)|0),x0=g0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,a0=q0+(($+70|0)>>>0<y0>>>0?$:q)|0;$=x0+-1|0,!!$;)x0=g0+(l*1040|0)+(s[a0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,a0=a0+1|0;l=l+1|0}for(e[X0>>2]=7,x0=((y0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,a0=cx+1024|0,M=cx+1032|0,q=y0>>>0>70,l=y0+-69|0,w=cx+1024|0,o0=0;!(o0>>>0>=x0>>>0);){for(Gx(cx|0,0,1028)|0,r0[M>>3]=z0,q?(d=(e[X0>>2]|0)*16807|0,V0=(d|0)==0,e[X0>>2]=V0?1:d,$=70,d=((V0?1:d)>>>0)%(l>>>0)|0):($=y0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=q0+d|0;$=$+-1|0,!!$;)V0=cx+(s[d>>0]<<2)|0,e[V0>>2]=(e[V0>>2]|0)+1,d=d+1|0;for($=(o0>>>0)%(f0>>>0)|0,d=g0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[a0>>2]|0),d=0;(d|0)!=256;)V0=g0+($*1040|0)+(d<<2)|0,e[V0>>2]=(e[V0>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;o0=o0+1|0}V0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,V0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<11)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<3)|0,w0||Ix(1),E0=ix(y0,(f0+7|0)>>>3)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<1)|0,D0||Ix(1),p0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,h0=V0+u0|0,R0=0,o0=0;x:for(;;){if(o0>>>0>=p0>>>0){l=136;break}if(w=(f0+7|0)>>>3,f0>>>0>=257){l=73;break}e:do if(f0>>>0<2)for($=0;;){if(($|0)==(y0|0)){a0=1;break e}n[V0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[g0+(d*1040|0)+1024>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,f0)|0,a0=0;;){if((a0|0)==(f0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,f0<<3|0)|0,Gx(E0|0,0,ix(y0,w)|0)|0,a0=0;!(a0>>>0>=y0>>>0);){for($=ix(s[q0+a0>>0]|0,f0)|0,d=V0+a0|0,n0=1e99,x0=0;(x0|0)!=(f0|0);)R0=w0+(x0<<3)|0,j=+r0[R0>>3]+ +r0[S0+($+x0<<3)>>3],r0[R0>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*28.1:j=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}R0=E0+(d+$)|0,n[R0>>0]=n[R0>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=111;break x}l=a0+-1|0,d=d-w|0,a0=V0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(P0=n[a0>>0]|0,R0=$<<24>>24==P0<<24>>24,$=R0?$:P0,x0=R0?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[V0+x0>>0]|0,d>>>0>=f0>>>0){l=120;break x}d=D0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(P0=V0+d|0,R0=o[D0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=R0,(R0&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}Gx(g0+(d*1040|0)|0,0,1024)|0,e[g0+(d*1040|0)+1024>>2]=0,r0[g0+(d*1040|0)+1032>>3]=z0,d=d+1|0}for(;($|0)!=(y0|0);)R0=s[V0+$>>0]|0,P0=g0+(R0*1040|0)+(s[q0+$>>0]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,R0=g0+(R0*1040|0)+1024|0,e[R0>>2]=(e[R0>>2]|0)+1,$=$+1|0;R0=a0,f0=x0,o0=o0+1|0}if((l|0)==73)W0(404083,403848,80,404281);else if((l|0)==104)W0(404124,403848,130,404281);else if((l|0)==111)W0(404145,403848,141,404281);else if((l|0)==120)W0(404005,403848,165,404260);else if((l|0)==126)W0(404005,403848,172,404260);else if((l|0)==129)W0(404057,403848,174,404260);else if((l|0)==136){for(P0=c+4|0,Ex[e[P0>>2]&1](e[G0>>2]|0,S0),Ex[e[P0>>2]&1](e[G0>>2]|0,w0),Ex[e[P0>>2]&1](e[G0>>2]|0,E0),Ex[e[P0>>2]&1](e[G0>>2]|0,D0),Ex[e[P0>>2]&1](e[G0>>2]|0,g0),$=R0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((R0<<4)+1008|0)>>>6,g0=Px[e[c>>2]&1](e[G0>>2]|0,q*1040|0)|0,a0=g0,g0||Ix(1),g0=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=g0,g0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(R0>>>0<64?R0:64)*1040|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=R0>>>0){l=151;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[V0+x0>>0]|0)==(n[V0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&W0(403825,403848,231,404239),(d|0)!=(R0|0)&&W0(403911,403848,237,404239),p0=q,f0=q,g0=0,$=0,S0=0;;){if(R0>>>0<=S0>>>0){l=193;break}for(h0=R0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*1040|0)|0,Gx(x0|0,0,1024)|0,q=w0+(w*1040|0)+1024|0,e[q>>2]=0,r0[w0+(w*1040|0)+1032>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)y0=w0+(w*1040|0)+(s[q0+$>>0]<<2)|0,e[y0>>2]=(e[y0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*1040|0)+1032>>3]=+cs(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=Tf(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=g0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*1040|0)|0,!d){l=170;break}x0||$x(d|0,a0|0,p0*1040|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=g0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=179;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+g0|0,q=g0,l=g0,w=0;;){if((w|0)==(u0|0)){d=0;break}y0=J0+(w<<2)|0,D0=e[y0>>2]|0,$x(d+(q*1040|0)|0,w0+(D0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[Dx+(D0<<2)>>2],e[_x+(e[y0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=g0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+g0|0,(g0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(o0|0)){l=191;break}g0=d,S0=S0+64|0}if((l|0)==170)Ix(1);else if((l|0)==179)Ix(1);else if((l|0)==189)W0(403935,403848,273,404239);else if((l|0)==191)W0(403969,403848,274,404239);else if((l|0)==193){Ex[e[P0>>2]&1](e[G0>>2]|0,w0),y0=g0<<6,x0=ix(g0>>>1,g0)|0,x0=y0>>>0<x0>>>0?y0:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[P0>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){U0=$;break}Ix(1)}else U0=E0;while(!1);for(d=g0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(g0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=Tf(E0,M,b0,D0,U0,g0,R0,256,x0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,U0),Ex[e[P0>>2]&1](e[G0>>2]|0,M),y0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,y0||Ix(1),$=0;($|0)!=(g0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+1024|0,p0=cx+1032|0,u0=X0+1024|0,h0=X0+1024|0,$=0,d=0,S0=0;(S0|0)!=(R0|0);){for(Gx(cx|0,0,1028)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(s[q0+o0>>0]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,1040)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)U0=X0+(d<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[E0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;j=+cs(X0),j=j-+r0[E0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*1040|0)+1024>>2]|0),M=0;(M|0)!=256;)U0=X0+(M<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[E0+(x0*1040|0)+(M<<2)>>2]|0),M=M+1|0;n0=+cs(X0),n0=n0-+r0[E0+(x0*1040|0)+1032>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[P0>>2]&1](e[G0>>2]|0,D0),Ex[e[P0>>2]&1](e[G0>>2]|0,a0),M=k+16|0,$=e[M>>2]|0,$>>>0<R0>>>0){for(a0=($|0)==0?R0:$;!(a0>>>0>=R0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=k+20|0,$=e[M>>2]|0,$>>>0<R0>>>0){for(a0=($|0)==0?R0:$;!(a0>>>0>=R0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=k+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=k+12|0;for(M=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(R0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(R0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,U0=x0&255,n[(e[M>>2]|0)+l>>0]=U0,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(U0&255)?w&255:x0&255)&255,x0=q}e[k+4>>2]=l,e[k>>2]=(w&255)+1,Ex[e[P0>>2]&1](e[G0>>2]|0,y0),Ex[e[P0>>2]&1](e[G0>>2]|0,T0),Ex[e[P0>>2]&1](e[G0>>2]|0,b0),Ex[e[P0>>2]&1](e[G0>>2]|0,V0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,Ex[e[k>>2]&1](e[G0>>2]|0,q0),U0=f<<1,V0=Px[e[c>>2]&1](e[G0>>2]|0,U0)|0,V0||Ix(1),$=0;($|0)!=(f|0);)o[V0+($<<1)>>1]=o[h+($<<4)+12>>1]|0,$=$+1|0;p0=((f>>>0)/530|0)+1|0,p0=p0>>>0>50?50:p0;do if(f){if(f>>>0<128){if(M=e0+16|0,d=e[M>>2]|0,q=e0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=e0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=e0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=e0+12|0;e[e0>>2]=1,n[(e[e0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=f,e[q>>2]=(e[q>>2]|0)+1;break}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,p0*2832|0)|0,g0||Ix(1),$=0;($|0)!=(p0|0);)Gx(g0+($*2832|0)|0,0,2816)|0,e[g0+($*2832|0)+2816>>2]=0,r0[g0+($*2832|0)+2824>>3]=z0,$=$+1|0;for(a0=(f>>>0)/(p0>>>0)|0,M=f+-41|0,d=7,q=0;(q|0)!=(p0|0);){for($=((ix(q,f)|0)>>>0)/(p0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(a0>>>0)|0)|0),x0=g0+(q*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=V0+((($+40|0)>>>0<f>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)q0=g0+(q*2832|0)+(_[x0>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[X0>>2]=7,a0=((U0>>>0)/40|0)+100+p0+-1|0,a0=a0-((a0>>>0)%(p0>>>0)|0)|0,M=cx+2816|0,q=cx+2824|0,l=f>>>0>40,w=f+-39|0,o0=cx+2816|0,f0=0;!(f0>>>0>=a0>>>0);){for(Gx(cx|0,0,2820)|0,r0[q>>3]=z0,l?($=(e[X0>>2]|0)*16807|0,q0=($|0)==0,e[X0>>2]=q0?1:$,d=40,$=((q0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[o0>>2]=(e[o0>>2]|0)+d,x0=V0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)q0=cx+(_[x0>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(p0>>>0)|0,d=g0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=704;)q0=g0+($*2832|0)+(d<<2)|0,e[q0>>2]=(e[q0>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}R0=Px[e[c>>2]&1](e[G0>>2]|0,f)|0,R0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,p0*5632|0)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<3)|0,w0||Ix(1),E0=ix((p0+7|0)>>>3,f)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<1)|0,D0||Ix(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,h0=R0+u0|0,P0=0,o0=0;x:for(;;){if(o0>>>0>=f0>>>0){l=382;break}if(w=(p0+7|0)>>>3,p0>>>0>=257){l=319;break}e:do if(p0>>>0<2)for($=0;;){if(($|0)==(f|0)){a0=1;break e}n[R0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,p0*5632|0)|0,d=0;;){if((d|0)==(p0|0)){$=704;break}$=e[g0+(d*2832|0)+2816>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,p0)|0,a0=0;;){if((a0|0)==(p0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,p0<<3|0)|0,Gx(E0|0,0,ix(w,f)|0)|0,a0=0;!(a0>>>0>=f>>>0);){for($=ix(_[V0+(a0<<1)>>1]|0,p0)|0,d=R0+a0|0,n0=1e99,x0=0;(x0|0)!=(p0|0);)q0=w0+(x0<<3)|0,j=+r0[q0>>3]+ +r0[S0+($+x0<<3)>>3],r0[q0>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*13.5:j=13.5,x0=0;!(x0>>>0>=p0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}q0=E0+(d+$)|0,n[q0>>0]=n[q0>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=357;break x}l=a0+-1|0,d=d-w|0,a0=R0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(P0=n[a0>>0]|0,q0=$<<24>>24==P0<<24>>24,$=q0?$:P0,x0=q0?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(p0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=f>>>0){d=0;break}if(d=s[R0+x0>>0]|0,d>>>0>=p0>>>0){l=366;break x}d=D0+(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=R0+d|0,q0=o[D0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=q0,(q0&255)>>>0>=p0>>>0){l=372;break x}d=d+1|0}if(x0=$&65535,x0>>>0>p0>>>0){l=375;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Gx(g0+(d*2832|0)|0,0,2816)|0,e[g0+(d*2832|0)+2816>>2]=0,r0[g0+(d*2832|0)+2824>>3]=z0,d=d+1|0}for(;($|0)!=(f|0);)q0=s[R0+$>>0]|0,P0=g0+(q0*2832|0)+(_[V0+($<<1)>>1]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,q0=g0+(q0*2832|0)+2816|0,e[q0>>2]=(e[q0>>2]|0)+1,$=$+1|0;P0=a0,p0=x0,o0=o0+1|0}if((l|0)==319)W0(404083,403848,80,404221);else if((l|0)==350)W0(404124,403848,130,404221);else if((l|0)==357)W0(404145,403848,141,404221);else if((l|0)==366)W0(404005,403848,165,404200);else if((l|0)==372)W0(404005,403848,172,404200);else if((l|0)==375)W0(404057,403848,174,404200);else if((l|0)==382){for(Ex[e[k>>2]&1](e[G0>>2]|0,S0),Ex[e[k>>2]&1](e[G0>>2]|0,w0),Ex[e[k>>2]&1](e[G0>>2]|0,E0),Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,g0),$=P0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((P0<<4)+1008|0)>>>6,q0=Px[e[c>>2]&1](e[G0>>2]|0,q*2832|0)|0,a0=q0,q0||Ix(1),q0=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=q0,q0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(P0>>>0<64?P0:64)*2832|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=P0>>>0){l=397;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[R0+x0>>0]|0)==(n[R0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&W0(403825,403848,231,404179),(d|0)!=(P0|0)&&W0(403911,403848,237,404179),p0=q,f0=q,g0=0,$=0,S0=0;;){if(P0>>>0<=S0>>>0){l=439;break}for(h0=P0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*2832|0)|0,Gx(x0|0,0,2816)|0,q=w0+(w*2832|0)+2816|0,e[q>>2]=0,r0[w0+(w*2832|0)+2824>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)q0=w0+(w*2832|0)+(_[V0+($<<1)>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*2832|0)+2824>>3]=+_f(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=fD(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=g0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*2832|0)|0,!d){l=416;break}x0||$x(d|0,a0|0,p0*2832|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=g0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=425;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+g0|0,q=g0,l=g0,w=0;;){if((w|0)==(u0|0)){d=0;break}q0=J0+(w<<2)|0,y0=e[q0>>2]|0,$x(d+(q*2832|0)|0,w0+(y0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[Dx+(y0<<2)>>2],e[_x+(e[q0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=g0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+g0|0,(g0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(o0|0)){l=437;break}g0=d,S0=S0+64|0}if((l|0)==416)Ix(1);else if((l|0)==425)Ix(1);else if((l|0)==435)W0(403935,403848,273,404179);else if((l|0)==437)W0(403969,403848,274,404179);else if((l|0)==439){Ex[e[k>>2]&1](e[G0>>2]|0,w0),q0=g0<<6,x0=ix(g0>>>1,g0)|0,x0=q0>>>0<x0>>>0?q0:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[k>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){xx=$;break}Ix(1)}else xx=E0;while(!1);for(d=g0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(g0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=fD(E0,M,b0,D0,xx,g0,P0,256,x0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,xx),Ex[e[k>>2]&1](e[G0>>2]|0,M),y0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,y0||Ix(1),$=0;($|0)!=(g0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+2816|0,p0=cx+2824|0,u0=X0+2816|0,h0=X0+2816|0,$=0,d=0,S0=0;(S0|0)!=(P0|0);){for(Gx(cx|0,0,2820)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(_[V0+(o0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,2832)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)xx=X0+(d<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[E0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;j=+_f(X0),j=j-+r0[E0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*2832|0)+2816>>2]|0),M=0;(M|0)!=704;)xx=X0+(M<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[E0+(x0*2832|0)+(M<<2)>>2]|0),M=M+1|0;n0=+_f(X0),n0=n0-+r0[E0+(x0*2832|0)+2824>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,a0),M=e0+16|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=e0+20|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=e0+12|0;for(M=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(P0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,xx=x0&255,n[(e[M>>2]|0)+l>>0]=xx,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(xx&255)?w&255:x0&255)&255,x0=q}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,Ex[e[k>>2]&1](e[G0>>2]|0,y0),Ex[e[k>>2]&1](e[G0>>2]|0,T0),Ex[e[k>>2]&1](e[G0>>2]|0,b0),Ex[e[k>>2]&1](e[G0>>2]|0,R0);break}}}else e[e0>>2]=1;while(!1);for(Ex[e[k>>2]&1](e[G0>>2]|0,V0),U0=Px[e[c>>2]&1](e[G0>>2]|0,U0)|0,U0||Ix(1),y0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(_[h+(d<<4)+12>>1]|0)>127?(o[U0+(y0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=y0+1|0):$=y0,y0=$,d=d+1|0;if(p0=((y0>>>0)/544|0)+1|0,p0=p0>>>0>50?50:p0,!y0){e[s0>>2]=1,c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}if(y0>>>0<128){if(M=s0+16|0,d=e[M>>2]|0,q=s0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=s0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=s0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=s0+12|0;e[s0>>2]=1,n[(e[s0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1,c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,p0*2096|0)|0,g0||Ix(1),$=0;($|0)!=(p0|0);)Gx(g0+($*2096|0)|0,0,2080)|0,e[g0+($*2096|0)+2080>>2]=0,r0[g0+($*2096|0)+2088>>3]=z0,$=$+1|0;for(a0=(y0>>>0)/(p0>>>0)|0,M=y0+-41|0,d=7,q=0;(q|0)!=(p0|0);){for($=((ix(y0,q)|0)>>>0)/(p0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(a0>>>0)|0)|0),x0=g0+(q*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=U0+((($+40|0)>>>0<y0>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)f=g0+(q*2096|0)+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[X0>>2]=7,a0=((y0<<1>>>0)/40|0)+100+p0+-1|0,a0=a0-((a0>>>0)%(p0>>>0)|0)|0,M=cx+2080|0,q=cx+2088|0,l=y0>>>0>40,w=y0+-39|0,o0=cx+2080|0,f0=0;!(f0>>>0>=a0>>>0);){for(Gx(cx|0,0,2084)|0,r0[q>>3]=z0,l?($=(e[X0>>2]|0)*16807|0,f=($|0)==0,e[X0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=y0,$=0),e[o0>>2]=(e[o0>>2]|0)+d,x0=U0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=cx+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(p0>>>0)|0,d=g0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=520;)f=g0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}R0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,R0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,p0*4160|0)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<3)|0,w0||Ix(1),E0=ix(y0,(p0+7|0)>>>3)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<1)|0,D0||Ix(1),f0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,h0=R0+u0|0,P0=0,o0=0;x:for(;;){if(o0>>>0>=f0>>>0){l=631;break}if(w=(p0+7|0)>>>3,p0>>>0>=257){l=568;break}e:do if(p0>>>0<2)for($=0;;){if(($|0)==(y0|0)){a0=1;break e}n[R0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,p0*4160|0)|0,d=0;;){if((d|0)==(p0|0)){$=520;break}$=e[g0+(d*2096|0)+2080>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,p0)|0,a0=0;;){if((a0|0)==(p0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,p0<<3|0)|0,Gx(E0|0,0,ix(y0,w)|0)|0,a0=0;!(a0>>>0>=y0>>>0);){for($=ix(_[U0+(a0<<1)>>1]|0,p0)|0,d=R0+a0|0,n0=1e99,x0=0;(x0|0)!=(p0|0);)p=w0+(x0<<3)|0,j=+r0[p>>3]+ +r0[S0+($+x0<<3)>>3],r0[p>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*14.6:j=14.6,x0=0;!(x0>>>0>=p0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=E0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=606;break x}l=a0+-1|0,d=d-w|0,a0=R0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(f=n[a0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(p0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[R0+x0>>0]|0,d>>>0>=p0>>>0){l=615;break x}d=D0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(f=R0+d|0,p=o[D0+(s[f>>0]<<1)>>1]|0,n[f>>0]=p,(p&255)>>>0>=p0>>>0){l=621;break x}d=d+1|0}if(x0=$&65535,x0>>>0>p0>>>0){l=624;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Gx(g0+(d*2096|0)|0,0,2080)|0,e[g0+(d*2096|0)+2080>>2]=0,r0[g0+(d*2096|0)+2088>>3]=z0,d=d+1|0}for(;($|0)!=(y0|0);)p=s[R0+$>>0]|0,f=g0+(p*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=g0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;P0=a0,p0=x0,o0=o0+1|0}if((l|0)==568)W0(404083,403848,80,404105);else if((l|0)==599)W0(404124,403848,130,404105);else if((l|0)==606)W0(404145,403848,141,404105);else if((l|0)==615)W0(404005,403848,165,404035);else if((l|0)==621)W0(404005,403848,172,404035);else if((l|0)==624)W0(404057,403848,174,404035);else if((l|0)==631){for(Ex[e[k>>2]&1](e[G0>>2]|0,S0),Ex[e[k>>2]&1](e[G0>>2]|0,w0),Ex[e[k>>2]&1](e[G0>>2]|0,E0),Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,g0),$=P0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((P0<<4)+1008|0)>>>6,p=Px[e[c>>2]&1](e[G0>>2]|0,q*2096|0)|0,a0=p,p||Ix(1),p=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=p,p||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(P0>>>0<64?P0:64)*2096|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=P0>>>0){l=646;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[R0+x0>>0]|0)==(n[R0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&W0(403825,403848,231,403889),(d|0)!=(P0|0)&&W0(403911,403848,237,403889),p0=q,f0=q,y0=0,$=0,S0=0;;){if(P0>>>0<=S0>>>0){l=688;break}for(h0=P0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*2096|0)|0,Gx(x0|0,0,2080)|0,q=w0+(w*2096|0)+2080|0,e[q>>2]=0,r0[w0+(w*2096|0)+2088>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=w0+(w*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*2096|0)+2088>>3]=+us(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=Rf(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=y0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*2096|0)|0,!d){l=665;break}x0||$x(d|0,a0|0,p0*2096|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=y0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=674;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+y0|0,q=y0,l=y0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=J0+(w<<2)|0,f=e[p>>2]|0,$x(d+(q*2096|0)|0,w0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[Dx+(f<<2)>>2],e[_x+(e[p>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=y0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+y0|0,(y0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(o0|0)){l=686;break}y0=d,S0=S0+64|0}if((l|0)==665)Ix(1);else if((l|0)==674)Ix(1);else if((l|0)==684)W0(403935,403848,273,403889);else if((l|0)==686)W0(403969,403848,274,403889);else if((l|0)==688){Ex[e[k>>2]&1](e[G0>>2]|0,w0),bx=y0<<6,x0=ix(y0>>>1,y0)|0,x0=bx>>>0<x0>>>0?bx:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[k>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){ox=$;break}Ix(1)}else ox=E0;while(!1);for(d=y0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(y0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=Rf(E0,M,b0,D0,ox,y0,P0,256,x0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,ox),Ex[e[k>>2]&1](e[G0>>2]|0,M),g0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,g0||Ix(1),$=0;($|0)!=(y0|0);)e[g0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+2080|0,p0=cx+2088|0,u0=X0+2080|0,h0=X0+2080|0,$=0,d=0,S0=0;(S0|0)!=(P0|0);){for(Gx(cx|0,0,2084)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(_[U0+(o0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,2096)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)ox=X0+(d<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[E0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;j=+us(X0),j=j-+r0[E0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*2096|0)+2080>>2]|0),M=0;(M|0)!=520;)ox=X0+(M<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[E0+(x0*2096|0)+(M<<2)>>2]|0),M=M+1|0;n0=+us(X0),n0=n0-+r0[E0+(x0*2096|0)+2088>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=g0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,a0),M=s0+16|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=s0+20|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=s0+12|0;for(M=s0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(P0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[g0+(d<<2)>>2]|0,c=x0&255,n[(e[M>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=q}e[s0+4>>2]=l,e[s0>>2]=(w&255)+1,Ex[e[k>>2]&1](e[G0>>2]|0,g0),Ex[e[k>>2]&1](e[G0>>2]|0,T0),Ex[e[k>>2]&1](e[G0>>2]|0,b0),Ex[e[k>>2]&1](e[G0>>2]|0,R0),c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}}}function $7(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0;h0=c0,c0=c0+1552|0,p0=h0+840|0,u0=h0+136|0,n0=h0+72|0,o0=h0+112|0,f0=h0+76|0,q=h0,e[n0>>2]=0,p=o0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=q,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(M=h,w=0):W0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)M=M+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,s0=0;!(x0>>>0>=M>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(a0=p<<24>>24==0,h=a0?h+1|0:h,w=a0?s0+$|0:s0,$>>>0>3&&!a0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=s0),x0=x0+$|0,e0=p,s0=w}w=e0>>>0>k<<1>>>0&1,h=s0>>>0>h<<1>>>0&1}else w=0,h=0;a0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=M>>>0);){s0=n[c+x0>>0]|0,p=s0<<24>>24==0,p?a0?(h=1,j=30):(w=x0,h=1,j=23):$?(h=1,j=43):(w=x0,h=1,j=23);e:do if((j|0)==23){for(;j=0,w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=s0<<24>>24);)h=h+1|0,j=23;if(!p)if(h){j=43;break}else{j=42;break x}if((h|0)!=11)if(h>>>0<3){j=30;break}else k=h;else n[p0+(e[n0>>2]|0)>>0]=0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,k=10;for(p=e[n0>>2]|0,w=p,k=k+-3|0;;){if(n[p0+w>>0]=17,n[u0+(e[n0>>2]|0)>>0]=k&7,w=(e[n0>>2]|0)+1|0,e[n0>>2]=w,k=k>>>3,!k){k=p;break}k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)w0=p0+k|0,S0=n[w0>>0]|0,s0=p0+w|0,n[w0>>0]=n[s0>>0]|0,n[s0>>0]=S0,k=k+1|0;for(w=e[n0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}s0=u0+p|0,S0=n[s0>>0]|0,w0=u0+w|0,n[s0>>0]=n[w0>>0]|0,n[w0>>0]=S0,p=p+1|0}}while(!1);e:do if((j|0)==30)for(j=0,w=0;;){if((w|0)==(h|0)){w=e0;break e}n[p0+(e[n0>>2]|0)>>0]=0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=w+1|0}else if((j|0)==43){if(j=0,e0<<24>>24==s0<<24>>24?w=h:(n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=h+-1|0),(w|0)==7&&(n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=w+-1|0),w>>>0<3)for(p=0;;){if((p|0)==(w|0)){w=s0;break e}n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,p=p+1|0}for(p=e[n0>>2]|0,e0=p,k=w+-3|0;;){if(n[p0+e0>>0]=16,n[u0+(e[n0>>2]|0)>>0]=k&3,w=(e[n0>>2]|0)+1|0,e[n0>>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=p0+k|0,S0=n[e0>>0]|0,w0=p0+w|0,n[e0>>0]=n[w0>>0]|0,n[w0>>0]=S0,k=k+1|0;for(w=e[n0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=s0;break e}e0=u0+p|0,S0=n[e0>>0]|0,w0=u0+w|0,n[e0>>0]=n[w0>>0]|0,n[w0>>0]=S0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((j|0)==42&&W0(406724,406674,168,406740),h=e[n0>>2]|0,w=0;;){if((w|0)==(h|0)){a0=0,w=0,p=0;break}w0=q+(s[p0+w>>0]<<2)|0,e[w0>>2]=(e[w0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[q+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=a0;else h=p,w=1;else h=a0;a0=h,p=p+1|0}Ho(q,18,5,f,o0),fs(o0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[o0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[o0+1>>0]|0)==0&&(n[o0+2>>0]|0)==0?h=(n[o0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,S0=s[$>>0]|0,f=Tx(h|0,0,f&7|0)|0,w0=A0,f=S0|f,S0=$,n[S0>>0]=f,n[S0+1>>0]=f>>8,n[S0+2>>0]=f>>16,n[S0+3>>0]=f>>24,$=$+4|0,n[$>>0]=w0,n[$+1>>0]=w0>>8,n[$+2>>0]=w0>>16,n[$+3>>0]=w0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[o0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,s0=s[e0>>0]|0,w0=vx(k|0,0,p&255|0)|0,!((w0|0)==0&(A0|0)==0)){j=76;break}q=Tx(k|0,0,$&7|0)|0,S0=A0,q=s0|q,w0=e0,f=w0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,w0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=w0,$=w0,h=h+1|0}(j|0)==76&&W0(406196,406218,54,406251),(x0|0)==1&&(n[o0+a0>>0]=0),$=e[n0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){j=94;break}if(s0=s[p0+x0>>0]|0,h=n[o0+s0>>0]|0,w=_[f0+(s0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,w0=vx(w|0,0,h&255|0)|0,!((w0|0)==0&(A0|0)==0)){j=83;break}if((h&255)>=57){j=85;break}switch(n0=Tx(w|0,0,p&7|0)|0,w0=A0,n0=e0|n0,S0=k,n[S0>>0]=n0,n[S0+1>>0]=n0>>8,n[S0+2>>0]=n0>>16,n[S0+3>>0]=n0>>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,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,s0|0){case 16:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&252|0)==0&!0)){j=88;break x}j=Tx(h|0,0,k&7|0)|0,S0=A0,j=p|j,w0=w,n0=w0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,e[l>>2]=(e[l>>2]|0)+2;break}case 17:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&248|0)==0&!0)){j=91;break x}j=Tx(h|0,0,k&7|0)|0,S0=A0,j=p|j,w0=w,n0=w0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((j|0)==83)W0(406196,406218,54,406251);else if((j|0)==85)W0(406267,406218,55,406251);else if((j|0)==88)W0(406196,406218,54,406251);else if((j|0)==91)W0(406196,406218,54,406251);else if((j|0)==94){c0=h0;return}}function wW(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function yW(){return c0|0}function DW(c){c=c|0,c0=c}function vW(c,h){c=c|0,h=h|0,c0=c,l0=h}function EW(c,h){c=c|0,h=h|0,O0||(O0=c,B0=h)}function zg0(c){c=c|0,n[d0>>0]=n[c>>0],n[d0+1>>0]=n[c+1>>0],n[d0+2>>0]=n[c+2>>0],n[d0+3>>0]=n[c+3>>0]}function Qg0(c){c=c|0,n[d0>>0]=n[c>>0],n[d0+1>>0]=n[c+1>>0],n[d0+2>>0]=n[c+2>>0],n[d0+3>>0]=n[c+3>>0],n[d0+4>>0]=n[c+4>>0],n[d0+5>>0]=n[c+5>>0],n[d0+6>>0]=n[c+6>>0],n[d0+7>>0]=n[c+7>>0]}function AW(c){c=c|0,A0=c}function CW(){return A0|0}function SW(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(hx=c0,c0=c0+224|0,se=hx+200|0,ax=hx+184|0,Ae=hx+168|0,dx=hx+152|0,Ce=hx+144|0,Yx=hx+140|0,Ux=hx+136|0,C0=hx+24|0,$=hx+20|0,M=hx+16|0,x0=hx+12|0,q=hx+8|0,j=hx+4|0,oe=hx,e[oe>>2]=w,s0=d,f0=p,Te=l>>>24,Te=(Te<<2|2)+((l-(Te<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,Te=k?1:Te>>>0<l>>>0?0:Te,!w)return d=0,oe=e[oe>>2]|0,oe=d?oe:-1,c0=hx,oe|0;if(k)return e[oe>>2]=1,n[p>>0]=6,d=1,oe=e[oe>>2]|0,oe=d?oe:-1,c0=hx,oe|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:n0=7:(h=16,n0=7),$=1<<h,ux=$+-16|0,e[ax>>2]=e[4721],e[ax+4>>2]=e[4722],e[ax+8>>2]=e[4723],e[ax+12>>2]=e[4724],e[Ae>>2]=e[4721],e[Ae+4>>2]=e[4722],e[Ae+8>>2]=e[4723],e[Ae+12>>2]=e[4724],nx=e[oe>>2]|0,$=$>>>0>l>>>0?l:$,fx=1<<((h|0)>23?24:h+1|0),Nx=fx>>>3,e[dx>>2]=0,ae=dx+4|0,e[ae>>2]=10,k=dx+8|0,e[k>>2]=h,Ox=dx+12|0,e[Ox>>2]=0,e[ae>>2]=10,ae=(h|0)>16?(h|0)>18?18:h:16,e[Ox>>2]=ae,ae=1<<ae,e[se>>2]=1,Ox=se+4|0,e[Ox>>2]=1,px=se+8|0,e[px>>2]=0,l>>>0>=2147483649&&W0(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),Bx=SD(0,524308)|0,Bx||Ix(1),e[Bx+524292>>2]=0,e[Bx+524300>>2]=0,n[Bx+524304>>0]=1,s0=Bx+524304|0,h=1<<e[k>>2],e[Bx>>2]=h+-1,h=1-h|0,zx=Bx+524296|0,e[zx>>2]=h,k=0;(k|0)!=131072;)e[Bx+4+(k<<2)>>2]=h,k=k+1|0;h=Bx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Bx+524292|0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Px[e[se>>2]&1](e[px>>2]|0,$<<3)|0,!e0)Ix(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[s0>>0]=0,ox=Bx+524292|0,cx=C0+8|0,X0=C0+12|0,G0=C0+28|0,Cx=C0+32|0,Qx=C0+36|0,Wx=C0+48|0,Hx=C0+52|0,Rx=C0+56|0,Lx=C0+60|0,lx=C0+72|0,kx=C0+80|0,gx=C0+88|0,ex=C0+96|0,Z0=C0+104|0,Kx=C0+8|0,ee=C0+32|0,ue=C0+56|0,k=f0,Dx=0,bx=1,_x=0,a0=0,M=0;x:for(;;){if(h=(bx&1)==0,!((h^1)&Dx>>>0<l>>>0)){n0=93;break}for(xx=Dx+fx|0,xx=xx>>>0>l>>>0?l:xx,V0=(((xx-Dx|0)>>>0)/12|0)+16|0,e[Ce>>2]=0,e[Yx>>2]=0,h=0,q0=Dx,T0=0,R0=0,q=0,J0=0;;){if(xx>>>0<=q0>>>0){s0=h,f0=R0,c=q,e0=J0;break}if(U0=xx-q0|0,U0=U0>>>0<ae>>>0?U0:ae,P0=Px[e[se>>2]&1](e[px>>2]|0,(U0<<4)+16|0)|0,!P0){n0=27;break x}for(h=U0+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,t0[P0+(e0<<4)+12>>2]=z0,e0=e0+1|0;e:do if(U0>>>0>2&q0>>>0>127)for(b0=q0+-127|0,y0=b0+U0|0,y0=q0>>>0<y0>>>0?q0:y0;;){if(b0>>>0>=y0>>>0)break e;for(s0=e[Bx>>2]|0,w0=q0-b0|0,w0=s0-(w0>>>0<15?15:w0)|0,E0=b0&2147483647,D0=d+E0|0,h0=Bx+4+((ix(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[h0>>2]|0,s0=(b0&s0)<<1,e[h0>>2]=b0,h0=0,$=0,S0=0,e0=s0,s0=s0|1,g0=64;;){if(p0=u0&2147483647,(b0|0)==(u0|0)|(b0-u0|0)>>>0>w0>>>0|(g0|0)==0){n0=36;break}if(f0=$>>>0<S0>>>0?$:S0,f0>>>0>=129){n0=38;break x}for(n0=E0+f0|0,o0=d+(p0+128)|0,c=d+(p0+124)|0,j=0,h=d+(p0+f0)|0;!(h>>>0>c>>>0||(_0=d+(n0+j)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)j=j+4|0,h=h+4|0;for(;!(h>>>0>=o0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;f0=f0+j|0;t:do if(f0){for(h=f0,n0=D0,o0=d+p0|0;c=n[n0>>0]|0,j=n[o0>>0]|0,c<<24>>24==j<<24>>24;)if(h=h+-1|0,h)n0=n0+1|0,o0=o0+1|0;else break t;if(c<<24>>24!=j<<24>>24){n0=51;break x}}while(!1);if(h0){n0=53;break x}if(f0>>>0>=128){n0=55;break}h=e[ox>>2]|0,(s[d+(E0+f0)>>0]|0)>(s[d+(p0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Bx>>2])<<1|1,$=f0,h=S0,e0=c,c=(e[ox>>2]|0)+(c<<2)|0):(e[h+(s0<<2)>>2]=u0,c=(u0&e[Bx>>2])<<1,h=f0,s0=c,c=(e[ox>>2]|0)+(c<<2)|0),h0=0,S0=h,u0=e[c>>2]|0,g0=g0+-1|0}(n0|0)==36?(e[(e[ox>>2]|0)+(e0<<2)>>2]=e[zx>>2],e[(e[ox>>2]|0)+(s0<<2)>>2]=e[zx>>2]):(n0|0)==55&&(_0=e[ox>>2]|0,e[_0+(e0<<2)>>2]=e[_0+((u0&e[Bx>>2])<<1<<2)>>2],_0=e[ox>>2]|0,e[_0+(s0<<2)>>2]=e[_0+(((u0&e[Bx>>2])<<1|1)<<2)>>2]),b0=b0+1|0}while(!1);if(e0=J0+(yD(se,U0,q0,d,2147483647,dx,ux,ax,Bx,P0)|0)|0,s0=e0+1|0,s0=V0>>>0>s0>>>0?V0:s0,(T0|0)!=(s0|0)){if(h=Px[e[se>>2]&1](e[px>>2]|0,s0<<4)|0,$=h,!h){n0=63;break x}R0&&(_0=R0,$x(h|0,_0|0,J0<<4|0)|0,Ex[e[Ox>>2]&1](e[px>>2]|0,_0))}else s0=T0,$=R0;if(J5(U0,q0,ux,P0,ax,Ce,$+(J0<<4)|0,Yx),q=q+U0|0,Ex[e[Ox>>2]&1](e[px>>2]|0,P0),h=e[Yx>>2]|0,h>>>0>Nx>>>0){s0=h,f0=$,c=q;break}if(e0>>>0>Nx>>>0){s0=h,f0=$,c=q;break}else q0=q0+U0|0,T0=s0,R0=$,J0=e0}if(h=e[Ce>>2]|0,!h)h=s0;else{s0=e0+1|0,_0=f0,e[_0+(e0<<4)>>2]=h,e[_0+(e0<<4)+4>>2]=67108864,e[_0+(e0<<4)+8>>2]=0,o[_0+(e0<<4)+14>>1]=16,e0=_0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){_0=h+-2|0,h=((Ax(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2|0;break}if(h>>>0<2114){h=((Ax(h+-66|0)|0)^31)+10|0;break}h>>>0<6210?h=21:h=h>>>0<22594?22:23}while(!1);h=h&65535,o[e0>>1]=o[88156+((h>>>3)*3<<1)>>1]|(h<<3&56|2)&65535,h=(e[Yx>>2]|0)+(e[Ce>>2]|0)|0,e[Yx>>2]=h,e0=s0}j=Dx+c|0,q=(j|0)==(l|0),f=f&255,e[Ux>>2]=f;do if(c){if(!(ED(d,2147483647,Dx,0,c,h,e0)|0)){if(e[ax>>2]=e[Ae>>2],e[ax+4>>2]=e[Ae+4>>2],e[ax+8>>2]=e[Ae+8>>2],e[ax+12>>2]=e[Ae+12>>2],h=Px[e[se>>2]&1](e[px>>2]|0,c+16|0)|0,!h){n0=83;break x}n[h>>0]=x0,If(q,d,Dx,2147483647,c,Ux,h);break}e[C0>>2]=0,e[C0+4>>2]=0,e[C0+8>>2]=0,e[C0+12>>2]=0,e[C0+16>>2]=0,e[C0+20>>2]=0,e[C0+24>>2]=0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,e[G0+16>>2]=0,e[Wx>>2]=0,e[Hx>>2]=0,e[Hx+4>>2]=0,e[Hx+8>>2]=0,e[Hx+12>>2]=0,e[Hx+16>>2]=0,n0=lx,o0=n0+40|0;do e[n0>>2]=0,n0=n0+4|0;while((n0|0)<(o0|0));if(s0=$5(d,Dx,2147483647,c)|0,s0=s0?2:3,$=f0,kD(se,d,Dx,2147483647,dx,_x,a0,$,e0,s0,C0),OD(0,0,C0),h=Px[e[se>>2]&1](e[px>>2]|0,(c<<1)+502|0)|0,!h){n0=86;break x}n[h>>0]=x0,tD(se,d,Dx,c,2147483647,_x,a0,q,0,0,s0,$,e0,C0,Ux,h),(c+4|0)>>>0<(e[Ux>>2]|0)>>>3>>>0&&(e[ax>>2]=e[Ae>>2],e[ax+4>>2]=e[Ae+4>>2],e[ax+8>>2]=e[Ae+8>>2],e[ax+12>>2]=e[Ae+12>>2],n[h>>0]=x0,e[Ux>>2]=f,If(q,d,Dx,2147483647,c,Ux,h)),Ex[e[Ox>>2]&1](e[px>>2]|0,e[Kx>>2]|0),e[cx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[X0>>2]|0),e[X0>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ee>>2]|0),e[Cx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Qx>>2]|0),e[Qx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ue>>2]|0),e[Rx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[lx>>2]|0),e[lx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[kx>>2]|0),e[kx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[gx>>2]|0),e[gx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ex>>2]|0),e[ex>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0}else{if(h=Px[e[se>>2]&1](e[px>>2]|0,16)|0,!h){n0=79;break x}n[h>>0]=x0,_0=e[Ux>>2]|0,Dx=h+(_0>>>3)|0,J0=s[Dx>>0]|0,xx=Tx(3,0,_0&7|0)|0,_x=A0,xx=J0|xx,J0=Dx,n[J0>>0]=xx,n[J0+1>>0]=xx>>8,n[J0+2>>0]=xx>>16,n[J0+3>>0]=xx>>24,Dx=Dx+4|0,n[Dx>>0]=_x,n[Dx+1>>0]=_x>>8,n[Dx+2>>0]=_x>>16,n[Dx+3>>0]=_x>>24,e[Ux>>2]=_0+9&-8}while(!1);s0=e[Ux>>2]|0,e0=s0>>>3,x0=n[h+e0>>0]|0,$=n[d+(j+-1)>>0]|0,a0=n[d+(j+-2)>>0]|0,e[Ae>>2]=e[ax>>2],e[Ae+4>>2]=e[ax+4>>2],e[Ae+8>>2]=e[ax+8>>2],e[Ae+12>>2]=e[ax+12>>2],M=M+e0|0,M>>>0>nx>>>0?e0=0:($x(k|0,h|0,e0|0)|0,k=k+e0|0,e0=bx),Ex[e[Ox>>2]&1](e[px>>2]|0,h),Ex[e[Ox>>2]&1](e[px>>2]|0,f0),f=s0&7,Dx=j,bx=e0,_x=$}if((n0|0)==27)Ix(1);else if((n0|0)==38)W0(405873,405905,373,405932);else if((n0|0)==51)W0(405955,405905,378,405932);else if((n0|0)==53)Dn();else if((n0|0)==63)Ix(1);else if((n0|0)==79)Ix(1);else if((n0|0)==83)Ix(1);else if((n0|0)==86)Ix(1);else if((n0|0)==93){if(e[oe>>2]=M,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ox>>2]|0),e[ox>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,Bx),h){n0=107;break}if((Te|0)!=0&&(e[oe>>2]|0)>>>0>Te>>>0){n0=106;break}else h=1;return _0=e[oe>>2]|0,_0=h?_0:-1,c0=hx,_0|0}}else{if(a0=x3(5240)|0,!a0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;e[a0+16>>2]=1,e[a0+20>>2]=1,e[a0+24>>2]=0,e[a0>>2]=0,e[a0+4>>2]=11,e[a0+8>>2]=22,e[a0+12>>2]=0,n0=a0+80|0,e[n0>>2]=0,e[n0+4>>2]=0,e[a0+128>>2]=0,e[a0+132>>2]=0,e[a0+136>>2]=0,n0=a0+144|0,e[a0+4300>>2]=0,e[a0+4304>>2]=0,k=a0+5204|0,e[a0+5232>>2]=0,n[a0+5236>>0]=0,n[a0+5237>>0]=0,e[a0+28>>2]=0,e0=a0+32|0,e[n0>>2]=0,e[n0+4>>2]=0,e[n0+8>>2]=0,e[n0+12>>2]=0,n0=a0+194|0,o0=n0+10|0;do n[n0>>0]=0,n0=n0+1|0;while((n0|0)<(o0|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=a0+104|0,n0=e0,o0=n0+44|0;do e[n0>>2]=0,n0=n0+4|0;while((n0|0)<(o0|0));if(e[k>>2]=0,e[a0+108>>2]=0,e[a0+112>>2]=0,e[a0+116>>2]=0,e[a0+124>>2]=0,e[a0+120>>2]=0,e[a0+160>>2]=4,e[a0+164>>2]=11,e[a0+168>>2]=15,e[a0+172>>2]=16,_0=a0+176|0,Ux=a0+160|0,e[_0>>2]=e[Ux>>2],e[_0+4>>2]=e[Ux+4>>2],e[_0+8>>2]=e[Ux+8>>2],e[_0+12>>2]=e[Ux+12>>2],!a0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;if(e[$>>2]=l,e[M>>2]=s0,e[x0>>2]=e[oe>>2],e[q>>2]=f0,e[j>>2]=0,n[a0+5237>>0]&1||(e[a0+4>>2]=c,e[a0+8>>2]=h,e[a0>>2]=f),h=dW(a0,$,M,x0,q,j)|0,(e[a0+5232>>2]|0)==2&&(e[a0+5220>>2]|0)==0?f=h&1:f=0,e[oe>>2]=e[j>>2],$=a0+200|0,h=e[a0+20>>2]|0,k=e[a0+24>>2]|0,Ex[h&1](k,e[$>>2]|0),e[$>>2]=0,$=a0+124|0,e0=a0+20|0,s0=a0+24|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[a0+112>>2]|0),e[a0+112>>2]=0,$=a0+28|0,x0=e[a0+72>>2]|0,x0&&(_0=x0+524292|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0),_0=a0+72|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ux=a0+32|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+36|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+40|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+44|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+48|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+52|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+56|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+60|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+64|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+68|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+4300|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+5208|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+5212|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,Ex[h&1](k,a0),f<<24>>24)if((Te|0)!=0&&(e[oe>>2]|0)>>>0>Te>>>0)n0=106;else return d=1,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;else n0=107}while(!1);if((n0|0)==106){if(e[oe>>2]=0,Te>>>0>w>>>0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0}else if((n0|0)==107&&(e[oe>>2]=0,(Te|0)==0|Te>>>0>w>>>0))return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|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?n0=113:s0=1):(h=x0,s0=0):(h=16777216,n0=113),(n0|0)==113&&(n0=0,s0=2),e0=s0<<1|(h<<3)+-8|1<<(s0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(s0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),$x(p+k|0,d+f|0,h|0)|0,f=f+h|0,$=k+h|0,x0=x0-h|0;return n[p+$>>0]=3,e[oe>>2]=$+1,d=1,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0}function J5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0;for(h0=d+8|0,S0=d+12|0,w0=d+4|0,e0=e[l+12>>2]|0,s0=0,D0=0;(e0|0)!=-1;){x0=s0+e0|0,a0=l+(x0<<4)|0,M=e[a0>>2]|0,E0=M&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=s0+$|0,e0=e[l+(x0<<4)+12>>2]|0,D0||($=$+(e[w>>2]|0)|0,e[w>>2]=0),f0=e[l+(x0<<4)+4>>2]|0,p0=f0&33554431,a0=e[a0>>2]|0,a0=(a0&16777215)+9-(a0>>>24)|0,o0=u0+h|0,o0=p0>>>0>(o0>>>0<f>>>0?o0:f)>>>0,f0=f0>>>25,f0=(f0|0)==0?p0+15|0:f0+-1|0,e[p+(D0<<4)>>2]=$,e[p+(D0<<4)+4>>2]=E0|(a0^M)<<24,s0=p+(D0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[s0>>1]=x0,s0=x0,x0=0):(j=f0+-12|0,x0=((Ax(j|0)|0)^31)+-1|0,n0=j>>>x0&1,q=((x0<<1)+65534|n0)+16&65535,o[s0>>1]=q,s0=q,x0=x0<<24|j-((n0|2)<<x0)),e[p+(D0<<4)+8>>2]=x0,j=s0<<16>>16==0,n0=p+(D0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){M=$+-2|0,q=((Ax(M|0)|0)^31)+-1|0,q=(q<<1)+(M>>>q)+2&65535;break}if($>>>0<2114){q=((Ax($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?q=21:q=$>>>0<22594?22:23}else q=$&65535;while(!1);do if(a0>>>0>=10){if(a0>>>0<134){M=a0+-6|0,s0=((Ax(M|0)|0)^31)+-1|0,s0=(s0<<1)+(M>>>s0)+4&65535;break}a0>>>0<2118?s0=((Ax(a0+-70|0)|0)^31)+12&65535:s0=23}else s0=a0+65534&65535;while(!1);x0=s0&65535,a0=q&65535,M=x0&7|a0<<3&56,j&(q&65535)<8&(s0&65535)<16?s0=((s0&65535)<8?M:M|64)&65535:s0=o[88156+((x0>>>3)+((a0>>>3)*3|0)<<1)>>1]|M&65535,o[n0>>1]=s0,o0|(f0|0)==0||(e[S0>>2]=e[h0>>2],e[h0>>2]=e[w0>>2],e[w0>>2]=e[d>>2],e[d>>2]=p0),e[k>>2]=(e[k>>2]|0)+$,s0=u0+E0|0,D0=D0+1|0}e[w>>2]=(e[w>>2]|0)+(c-s0)}function yD(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0;Lx=c0,c0=c0+6320|0,Qx=Lx+6160|0,Hx=Lx+1252|0,Rx=Lx+1024|0,Wx=Lx,G0=(e[w+4>>2]|0)<11?150:325,Cx=h>>>0>127?f+h+-127|0:f,e[s0>>2]=0,t0[s0+12>>2]=0,e[Hx+4904>>2]=h,cx=c+8|0,$=Px[e[c>>2]&1](e[cx>>2]|0,(h<<2)+8|0)|0,$||Ix(1),X0=Hx+4896|0,e[X0>>2]=$,DD(Hx,f,l,d),q0=Rx+224|0,e[q0>>2]=0,xx=Wx,J0=w+4|0,_x=e0+524292|0,Dx=e0+524296|0,bx=Wx,ox=Wx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){o0=98;break}for(V0=$+f|0,U0=V0>>>0<p>>>0?V0:p,P0=h-$|0,T0=V0&d,h0=(e[J0>>2]|0)!=11?16:64,h0=V0>>>0<h0>>>0?0:V0-h0|0,R0=l+T0|0,f0=l+(T0+1)|0,u0=T0+P0|0,p0=l+u0|0,u0=l+(u0+-4)|0,x0=xx,M=1,a0=V0;a0=a0+-1|0,!(!(a0>>>0>h0>>>0&M>>>0<3)||(n0=V0-a0|0,n0>>>0>U0>>>0));){if(o0=a0&d,(n[R0>>0]|0)!=(n[l+o0>>0]|0)){y0=M,b0=x0,M=y0,x0=b0;continue}if((n[f0>>0]|0)==(n[l+(o0+1)>>0]|0))q=0,j=R0;else{y0=M,b0=x0,M=y0,x0=b0;continue}for(;!(j>>>0>u0>>>0||(b0=l+(o0+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+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,j=j+4|0;for(;!(j>>>0>=p0>>>0||(n[l+(o0+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;if(q>>>0<=M>>>0){y0=M,b0=x0,M=y0,x0=b0;continue}M=x0,e[M>>2]=n0,e[M+4>>2]=q<<5,x0=M+8|0,M=q}do if(M>>>0<P0>>>0){for(y0=P0>>>0<128?P0:128,b0=P0>>>0>127,a0=e0+4+((ix(s[R0>>0]|s[R0+1>>0]<<8|s[R0+2>>0]<<16|s[R0+3>>0]<<24,506832829)|0)>>>15<<2)|0,n0=e[a0>>2]|0,q=(V0&e[e0>>2])<<1,j=q|1,b0?(e[a0>>2]=V0,D0=0,g0=0,E0=64):(D0=0,g0=0,E0=64);;){if(S0=V0-n0|0,w0=n0&d,(V0|0)==(n0|0)|S0>>>0>U0>>>0|(E0|0)==0){o0=22;break}if(h0=D0>>>0<g0>>>0?D0:g0,h0>>>0>=129){o0=25;break x}for(p0=T0+h0|0,o0=w0+P0|0,u0=l+o0|0,o0=l+(o0+-4)|0,f0=0,a0=l+(w0+h0)|0;!(a0>>>0>o0>>>0||(lx=l+(p0+f0)|0,(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f0=f0+4|0,a0=a0+4|0;for(;!(a0>>>0>=u0>>>0||(n[l+(p0+f0)>>0]|0)!=(n[a0>>0]|0));)f0=f0+1|0,a0=a0+1|0;h0=h0+f0|0;e:do if(h0){for(a0=h0,p0=R0,u0=l+w0|0;o0=n[p0>>0]|0,f0=n[u0>>0]|0,o0<<24>>24==f0<<24>>24;)if(a0=a0+-1|0,a0)p0=p0+1|0,u0=u0+1|0;else break e;if(o0<<24>>24!=f0<<24>>24){o0=38;break x}}while(!1);if(a0=x0,(x0|0)!=0&h0>>>0>M>>>0&&(e[a0>>2]=S0,e[a0+4>>2]=h0<<5,x0=a0+8|0,M=h0),h0>>>0>=y0>>>0){o0=42;break}(s[l+(T0+h0)>>0]|0)>(s[l+(w0+h0)>>0]|0)?(b0&&(e[(e[_x>>2]|0)+(q<<2)>>2]=n0),o0=(n0&e[e0>>2])<<1|1,n0=h0,a0=g0,q=o0,o0=(e[_x>>2]|0)+(o0<<2)|0):(b0&&(e[(e[_x>>2]|0)+(j<<2)>>2]=n0),o0=(n0&e[e0>>2])<<1,n0=D0,a0=h0,j=o0,o0=(e[_x>>2]|0)+(o0<<2)|0),D0=n0,g0=a0,n0=e[o0>>2]|0,E0=E0+-1|0}if((o0|0)==22){if(!b0)break;e[(e[_x>>2]|0)+(q<<2)>>2]=e[Dx>>2],e[(e[_x>>2]|0)+(j<<2)>>2]=e[Dx>>2];break}else if((o0|0)==42){if(!b0)break;lx=e[_x>>2]|0,e[lx+(q<<2)>>2]=e[lx+((n0&e[e0>>2])<<1<<2)>>2],lx=e[_x>>2]|0,e[lx+(j<<2)>>2]=e[lx+(((n0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(a0=0;(a0|0)!=38;)e[Qx+(a0<<2)>>2]=268435455,a0=a0+1|0;M=M+1|0,M=M>>>0<4?4:M;e:do if(PD(R0,M,P0,Qx)|0)for(q=P0>>>0>37?37:P0;;){if(M>>>0>q>>>0)break e;a0=e[Qx+(M<<2)>>2]|0,a0>>>0<268435455&&(lx=a0&31,e[x0>>2]=U0+(a0>>>5)+1,e[x0+4>>2]=M<<5|((M|0)==(lx|0)?0:lx),x0=x0+8|0),M=M+1|0}while(!1);x0=x0-bx>>3;do if(x0){if(a0=x0+-1|0,(e[Wx+(a0<<3)+4>>2]|0)>>>5>>>0<=G0>>>0){if(lx=x0,Bf(h,f,$,l,d,w,p,k,lx,Wx,Hx,Rx,s0),(lx|0)!=1)break}else R0=Wx+(a0<<3)|0,U0=e[R0+4>>2]|0,lx=Wx,e[lx>>2]=e[R0>>2],e[lx+4>>2]=U0,Bf(h,f,$,l,d,w,p,k,1,Wx,Hx,Rx,s0);if(x0=(e[ox>>2]|0)>>>5,x0>>>0>G0>>>0){for(T0=V0+x0|0,T0=T0>>>0<Cx>>>0?T0:Cx,b0=(V0+64|0)>>>0>T0>>>0?V0+1|0:T0+-63|0;!(b0>>>0>=T0>>>0);){for(M=e[e0>>2]|0,E0=M+-15|0,D0=b0&d,g0=l+D0|0,S0=e0+4+((ix(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>15<<2)|0,h0=e[S0>>2]|0,M=(b0&M)<<1,e[S0>>2]=b0,S0=0,q=0,w0=0,a0=M,M=M|1,y0=64;;){if(u0=h0&d,(b0|0)==(h0|0)|(b0-h0|0)>>>0>E0>>>0|(y0|0)==0){o0=71;break}if(p0=q>>>0<w0>>>0?q:w0,p0>>>0>=129){o0=73;break x}for(o0=D0+p0|0,f0=l+(u0+128)|0,j=l+(u0+124)|0,n0=0,x0=l+(u0+p0)|0;!(x0>>>0>j>>>0||(lx=l+(o0+n0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)n0=n0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(o0+n0)>>0]|0)!=(n[x0>>0]|0));)n0=n0+1|0,x0=x0+1|0;p0=p0+n0|0;e:do if(p0){for(x0=p0,o0=g0,f0=l+u0|0;j=n[o0>>0]|0,n0=n[f0>>0]|0,j<<24>>24==n0<<24>>24;)if(x0=x0+-1|0,x0)o0=o0+1|0,f0=f0+1|0;else break e;if(j<<24>>24!=n0<<24>>24){o0=86;break x}}while(!1);if(S0){o0=88;break x}if(p0>>>0>=128){o0=90;break}x0=e[_x>>2]|0,(s[l+(D0+p0)>>0]|0)>(s[l+(u0+p0)>>0]|0)?(e[x0+(a0<<2)>>2]=h0,j=(h0&e[e0>>2])<<1|1,q=p0,x0=w0,a0=j,j=(e[_x>>2]|0)+(j<<2)|0):(e[x0+(M<<2)>>2]=h0,j=(h0&e[e0>>2])<<1,x0=p0,M=j,j=(e[_x>>2]|0)+(j<<2)|0),S0=0,w0=x0,h0=e[j>>2]|0,y0=y0+-1|0}(o0|0)==71?(e[(e[_x>>2]|0)+(a0<<2)>>2]=e[Dx>>2],e[(e[_x>>2]|0)+(M<<2)>>2]=e[Dx>>2]):(o0|0)==90&&(lx=e[_x>>2]|0,e[lx+(a0<<2)>>2]=e[lx+((h0&e[e0>>2])<<1<<2)>>2],lx=e[_x>>2]|0,e[lx+(M<<2)>>2]=e[lx+(((h0&e[e0>>2])<<1|1)<<2)>>2]),b0=b0+1|0}$=$+(((e[ox>>2]|0)>>>5)+-1)|0,e[q0>>2]=0}}else Bf(h,f,$,l,d,w,p,k,0,Wx,Hx,Rx,s0);while(!1);$=$+1|0}if((o0|0)==25)W0(405873,405905,373,405932);else if((o0|0)==38)W0(405955,405905,378,405932);else if((o0|0)==73)W0(405873,405905,373,405932);else if((o0|0)==86)W0(405955,405905,378,405932);else if((o0|0)==88)Dn();else if((o0|0)==98){for(Ex[e[c+4>>2]&1](e[cx>>2]|0,e[X0>>2]|0),e[X0>>2]=0;!(e[s0+(h<<4)+8>>2]|0||(e[s0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[s0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[s0+(h<<4)>>2]&16777215)+(e[s0+(h<<4)+8>>2]|0)|0,lx=h-d|0,e[s0+(lx<<4)+12>>2]=d,h=lx,$=$+1|0;return c0=Lx,$|0}return 0}function DD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;o0=c0,c0=c0+4128|0,$=o0+4112|0,M=o0+1040|0,q=o0+1024|0,s0=o0,j=e[c+4904>>2]|0,n0=e[c+4896>>2]|0;x:do if($5(f,h,l,j)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,s0=0;(s0|0)!=(j|0);)d=n[f+(s0+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,s0=s0+1|0;for(a0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Gx(M|0,0,3072)|0,e0=j>>>0>495?495:j,e[q>>2]=0,e[q+4>>2]=0,e[q+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){s0=0;break}p=n[f+(x0+h&l)>>0]|0,s0=p&255,f0=M+(d<<10)+(s0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=q+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=a0:d=$>>>0<224?0:a0:d=0,$=s0,x0=x0+1|0}for(;(s0|0)!=(j|0);)s0>>>0>=495&&(s0>>>0>=496?(d=s0+h|0,p=s[f+(d+-496&l)>>0]|0,s0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=a0:d=d>>>0<224?0:a0:d=0):d=0,f0=M+(d<<10)+((s[f+(s0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(s0+495|0)>>>0<j>>>0&&(p=s0+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=a0:d=(p&255)<224?0:a0:d=0,f0=M+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),s0?(d=s0+h|0,p=s[f+(d+-1&l)>>0]|0,s0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=a0:d=d>>>0<224?0:a0:d=0):d=0,p=e[M+(d<<10)+((s[f+(s0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[q+(d<<2)>>2]|0,d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(+(d>>>0)),p>>>0<256?w=+t0[19516+(p<<2)>>2]:w=+Xx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,s0>>>0<2e3&&(w=w+(.7-+((2e3-s0|0)>>>0)/2e3*.35)),t0[n0+(s0+1<<2)>>2]=w,s0=s0+1|0}else{for(Gx(s0|0,0,1024)|0,d=j>>>0>2e3?2e3:j,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=s0+((s[f+(p+h&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,p=p+1|0}for(;;){if((e0|0)==(j|0))break x;e0>>>0>=2e3&&(f0=s0+((s[f+(e0+h+-2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,d=d+-1|0),p=e0+h|0,(e0+2e3|0)>>>0<j>>>0&&(f0=s0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[s0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(+(d>>>0)),p>>>0<256?w=+t0[19516+(p<<2)>>2]:w=+Xx(+(p>>>0)),k=k-w+.029,t0[n0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(t0[n0>>2]=0,w=0,d=0;;){if((d|0)==(j|0)){p=0;break}f0=d+1|0,l=n0+(f0<<2)|0,k=+t0[l>>2]+w,t0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+t0[19516+(d<<2)>>2]:w=+Xx(+(d>>>0)),t0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+t0[19516+(d<<2)>>2]:w=+Xx(+(d>>>0)),t0[c+2816+(p<<2)>>2]=w,p=p+1|0;t0[c+4900>>2]=3.4594316482543945,c0=o0}function Bf(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0;if(Cx=c0,c0=c0+64|0,p0=Cx+36|0,f0=Cx+8|0,G0=Cx,_x=h+f|0,Dx=_x&d,J0=_x>>>0<p>>>0?_x:p,bx=c-f|0,xx=(e[w+4>>2]|0)<11,q0=xx?150:325,xx=xx?1:5,o0=e[a0+(f<<4)+12>>2]|0,h=e[a0+(f<<4)>>2]&16777215,w=e[a0+(f<<4)+8>>2]|0,q=e[a0+(f<<4)+4>>2]|0,j=q&33554431,f?(j+h|0)>>>0>_x>>>0|j>>>0>p>>>0|(q>>>25|0)==1?h=e[a0+(f-h-w<<4)+12>>2]|0:h=f:h=0,q=a0+(f<<4)+12|0,e[q>>2]=h,n0=(e[d0>>2]=o0,+t0[d0>>2]),V0=$+4896|0,w=e[V0>>2]|0,M=+t0[w+(f<<2)>>2],!(n0<=M-+t0[w>>2]))o0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=o0,h=e[V0>>2]|0,t0[f0+20>>2]=n0-(+t0[h+(f<<2)>>2]-+t0[h>>2]),h=0,w=q;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}U0=e[a0+(w<<4)+8>>2]|0,R0=e[a0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[a0+(w<<4)+4>>2]&33554431,h=h+1|0,w=a0+(w-R0-U0<<4)+12|0}for(;!((h|0)>=4);)e[f0+4+(h<<2)>>2]=e[w>>2],w=w+4|0,h=h+1|0;for(o0=x0+224|0,h=e[o0>>2]|0,p=h+1|0,e[o0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,j=x0+(h*28|0)|0,e[j>>2]=e[f0>>2],e[j+4>>2]=e[f0+4>>2],e[j+8>>2]=e[f0+8>>2],e[j+12>>2]=e[f0+12>>2],e[j+16>>2]=e[f0+16>>2],e[j+20>>2]=e[f0+20>>2],e[j+24>>2]=e[f0+24>>2],j=1;!(j>>>0>=p>>>0);)q=h&7,h=h+1|0,w=h&7,+t0[x0+(q*28|0)+20>>2]>+t0[x0+(w*28|0)+20>>2]&&(R0=x0+(q*28|0)|0,e[p0>>2]=e[R0>>2],e[p0+4>>2]=e[R0+4>>2],e[p0+8>>2]=e[R0+8>>2],e[p0+12>>2]=e[R0+12>>2],e[p0+16>>2]=e[R0+16>>2],e[p0+20>>2]=e[R0+20>>2],e[p0+24>>2]=e[R0+24>>2],U0=x0+(w*28|0)|0,e[R0>>2]=e[U0>>2],e[R0+4>>2]=e[U0+4>>2],e[R0+8>>2]=e[U0+8>>2],e[R0+12>>2]=e[U0+12>>2],e[R0+16>>2]=e[U0+16>>2],e[R0+20>>2]=e[U0+20>>2],e[R0+24>>2]=e[U0+24>>2],e[U0>>2]=e[p0>>2],e[U0+4>>2]=e[p0+4>>2],e[U0+8>>2]=e[p0+8>>2],e[U0+12>>2]=e[p0+12>>2],e[U0+16>>2]=e[p0+16>>2],e[U0+20>>2]=e[p0+20>>2],e[U0+24>>2]=e[p0+24>>2]),j=j+1|0;U0=e[V0>>2]|0,w=U0,M=+t0[U0+(f<<2)>>2]}q=0-(e[o0>>2]|0)&7,h=2,M=+t0[x0+(q*28|0)+24>>2]+ +t0[$+4900>>2]+(M-+t0[w+(e[x0+(q*28|0)>>2]<<2)>>2]),q=4,j=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+t0[a0+(w<<4)+12>>2]<=M))break x;h=h+1|0}while((h|0)!=(j|0));U0=j+q|0,h=j,M=M+1,q=q<<1,j=U0}for(g0=h+-1|0,y0=l+Dx|0,T0=Dx+bx|0,b0=l+T0|0,T0=l+(T0+-4)|0,P0=G0+4|0,R0=G0+4|0,U0=0;;){if(U0>>>0>=xx>>>0){h=82;break}if(w=e[o0>>2]|0,U0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}h0=U0-w&7,S0=f-(e[x0+(h0*28|0)>>2]|0)|0;do if(S0>>>0>=6){if(S0>>>0<130){D0=S0+-2|0,w=((Ax(D0|0)|0)^31)+-1|0,w=(w<<1)+(D0>>>w)+2&65535;break}if(S0>>>0<2114){w=((Ax(S0+-66|0)|0)^31)+10&65535;break}S0>>>0<6210?w=21:w=S0>>>0<22594?22:23}else w=S0&65535;while(!1);for(D0=w&65535,E0=e[V0>>2]|0,w0=+t0[x0+(h0*28|0)+20>>2]+ +((e[17268+(D0<<2)>>2]|0)>>>0)+(+t0[E0+(f<<2)>>2]-+t0[E0>>2]),E0=D0<<3&56,D0=(D0>>>3)*3|0,c=(w&65535)<8,w=g0,u0=0;u0>>>0<16&w>>>0<bx>>>0;){p=(e[x0+(h0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,q=_x-p|0;x:do if(!(q>>>0>=_x>>>0|p>>>0>J0>>>0)&&(ox=q&d,cx=Dx+w|0,cx>>>0<=d>>>0)&&(X0=ox+w|0,X0>>>0<=d>>>0)&&(n[l+cx>>0]|0)==(n[l+X0>>0]|0)){for(q=0,j=y0;!(j>>>0>T0>>>0||(p0=l+(ox+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=b0>>>0||(n[l+(ox+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;for(n0=w0+ +t0[$+2816+(u0<<2)>>2],p0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>q>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Ax(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Ax(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,j=p&7|E0,((p0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?j:j|64)&65535:w=o[88156+((p>>>3)+D0<<1)>>1]|j&65535,M=((w&65535)<128?w0:n0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +t0[$+((w&65535)<<2)>>2],w=k+f|0,!(M<+t0[a0+(w<<4)+12>>2])){w=k;continue}e[a0+(w<<4)>>2]=k|150994944,e[a0+(w<<4)+4>>2]=f0,e[a0+(w<<4)+8>>2]=S0,t0[a0+(w<<4)+12>>2]=M,w=k}}while(!1);u0=u0+1|0}x:do if(U0>>>0<=1)for(k=h,h0=0;;){if((h0|0)==(e0|0))break x;for(f0=s0+(h0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=G0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>J0>>>0,w=p&1,q=c+15|0,u0=vx(c|0,f0|0,37)|0,q>>>0<16?j=0:(Qx=c+3|0,j=((Ax(Qx|0)|0)^31)+-1|0,p0=Qx>>>j&1,q=((j<<1)+65534|p0)+16|0,j=j<<24|Qx-((p0|2)<<j)),n0=w0+ +(j>>>24>>>0)+ +t0[$+2816+((q&65535)<<2)>>2],k>>>0<u0>>>0&&(Qx=p|u0>>>0>q0>>>0,w=Qx?w:0,k=Qx?u0:k),p0=w<<24>>24==0,j=vx(c|0,f0|0,37)|0,j=j+1|0,p=k>>>0>j>>>0,f0=k;!(f0>>>0>u0>>>0);){p0?w=f0:(w=e[P0>>2]&31,w||(w=(e[R0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){Qx=w+-6|0,q=((Ax(Qx|0)|0)^31)+-1|0,q=(q<<1)+(Qx>>>q)+4|0;break}w>>>0<2118?q=((Ax(w+-70|0)|0)^31)+12|0:q=23}else q=w+65534|0;while(!1);Qx=q&65535,M=n0+ +((e[17460+(Qx<<2)>>2]|0)>>>0)+ +t0[$+(((o[88156+((Qx>>>3)+D0<<1)>>1]|(q&7|E0)&65535)&65535)<<2)>>2],q=f0+f|0,M<+t0[a0+(q<<4)+12>>2]&&(e[a0+(q<<4)>>2]=f0|f0+9-w<<24,e[a0+(q<<4)+4>>2]=c,e[a0+(q<<4)+8>>2]=S0,t0[a0+(q<<4)+12>>2]=M),f0=f0+1|0}k=p?k:j,h0=h0+1|0}while(!1);U0=U0+1|0}if((h|0)==82){c0=Cx;return}}function kW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0;V0=(1<<e[p+8>>2])+-16|0,wD(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){U0=f+-127|0,R0=U0+h|0,R0=R0>>>0>f>>>0?f:R0,P0=k+524292|0,T0=k+524296|0;e:for(;;){if(U0>>>0>=R0>>>0)break x;for(q=e[k>>2]|0,D0=f-U0|0,D0=q-(D0>>>0<15?15:D0)|0,g0=U0&w,y0=d+g0|0,w0=k+4+((ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>15<<2)|0,S0=e[w0>>2]|0,q=(U0&q)<<1,e[w0>>2]=U0,w0=0,j=0,E0=0,M=q,q=q|1,b0=64;;){if(h0=S0&w,(U0|0)==(S0|0)|(U0-S0|0)>>>0>D0>>>0|(b0|0)==0){l=6;break}if(u0=j>>>0<E0>>>0?j:E0,u0>>>0>=129){l=8;break e}for(f0=g0+u0|0,p0=d+(h0+128)|0,n0=d+(h0+124)|0,o0=0,l=d+(h0+u0)|0;!(l>>>0>n0>>>0||(q0=d+(f0+o0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)o0=o0+4|0,l=l+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(f0+o0)>>0]|0)!=(n[l>>0]|0));)o0=o0+1|0,l=l+1|0;u0=u0+o0|0;t:do if(u0){for(l=u0,f0=y0,p0=d+h0|0;n0=n[f0>>0]|0,o0=n[p0>>0]|0,n0<<24>>24==o0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,p0=p0+1|0;else break t;if(n0<<24>>24!=o0<<24>>24){l=21;break e}}while(!1);if(w0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[P0>>2]|0,(s[d+(g0+u0)>>0]|0)>(s[d+(h0+u0)>>0]|0)?(e[l+(M<<2)>>2]=S0,n0=(S0&e[k>>2])<<1|1,j=u0,l=E0,M=n0,n0=(e[P0>>2]|0)+(n0<<2)|0):(e[l+(q<<2)>>2]=S0,n0=(S0&e[k>>2])<<1,l=u0,q=n0,n0=(e[P0>>2]|0)+(n0<<2)|0),w0=0,E0=l,S0=e[n0>>2]|0,b0=b0+-1|0}(l|0)==6?(e[(e[P0>>2]|0)+(M<<2)>>2]=e[T0>>2],e[(e[P0>>2]|0)+(q<<2)>>2]=e[T0>>2]):(l|0)==25&&(q0=e[P0>>2]|0,e[q0+(M<<2)>>2]=e[q0+((S0&e[k>>2])<<1<<2)>>2],q0=e[P0>>2]|0,e[q0+(q<<2)>>2]=e[q0+(((S0&e[k>>2])<<1|1)<<2)>>2]),U0=U0+1|0}(l|0)==8?W0(405873,405905,373,405932):(l|0)==21?W0(405955,405905,378,405932):(l|0)==23&&Dn()}while(!1);for(l=c+8|0,M=Px[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,M||Ix(1),q=h+1|0,j=0;(j|0)!=(q|0);)e[M+(j<<4)>>2]=1,e[M+(j<<4)+4>>2]=0,e[M+(j<<4)+8>>2]=0,t0[M+(j<<4)+12>>2]=z0,j=j+1|0;q0=yD(c,h,f,d,w,p,V0,e0,k,M)|0,e[x0>>2]=(e[x0>>2]|0)+q0,J5(h,f,V0,M,e0,s0,$,a0),Ex[e[c+4>>2]&1](e[l>>2]|0,M)}function OW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0;nx=c0,c0=c0+12256|0,lx=nx+12028|0,Lx=nx+12024|0,zx=nx+11e3|0,ee=nx+8184|0,ue=nx+6104|0,Kx=nx+5080|0,Qx=nx+4928|0,ux=nx+4912|0,Bx=nx,kx=(1<<e[p+8>>2])+-16|0,Rx=h<<2,ex=c+8|0,Z0=Px[e[c>>2]&1](e[ex>>2]|0,Rx)|0,Z0||Ix(1),Cx=h>>>0>127?f+h+-127|0:f,Hx=Px[e[c>>2]&1](e[ex>>2]|0,h<<5)|0,q0=Hx,Hx||Ix(1),wD(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){V0=f+-127|0,U0=V0+h|0,U0=U0>>>0>f>>>0?f:U0,P0=k+524292|0,R0=k+524296|0;e:for(;;){if(V0>>>0>=U0>>>0)break x;for(q=e[k>>2]|0,g0=f-V0|0,g0=q-(g0>>>0<15?15:g0)|0,y0=V0&w,b0=d+y0|0,E0=k+4+((ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>15<<2)|0,w0=e[E0>>2]|0,q=(V0&q)<<1,e[E0>>2]=V0,E0=0,j=0,D0=0,M=q,q=q|1,T0=64;;){if(S0=w0&w,(V0|0)==(w0|0)|(V0-w0|0)>>>0>g0>>>0|(T0|0)==0){j=11;break}if(h0=j>>>0<D0>>>0?j:D0,h0>>>0>=129){j=13;break e}for(p0=y0+h0|0,u0=d+(S0+128)|0,o0=d+(S0+124)|0,f0=0,l=d+(S0+h0)|0;!(l>>>0>o0>>>0||(Hx=d+(p0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0)));)f0=f0+4|0,l=l+4|0;for(;!(l>>>0>=u0>>>0||(n[d+(p0+f0)>>0]|0)!=(n[l>>0]|0));)f0=f0+1|0,l=l+1|0;h0=h0+f0|0;t:do if(h0){for(l=h0,p0=b0,u0=d+S0|0;o0=n[p0>>0]|0,f0=n[u0>>0]|0,o0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)p0=p0+1|0,u0=u0+1|0;else break t;if(o0<<24>>24!=f0<<24>>24){j=26;break e}}while(!1);if(E0){j=28;break e}if(h0>>>0>=128){j=30;break}l=e[P0>>2]|0,(s[d+(y0+h0)>>0]|0)>(s[d+(S0+h0)>>0]|0)?(e[l+(M<<2)>>2]=w0,o0=(w0&e[k>>2])<<1|1,j=h0,l=D0,M=o0,o0=(e[P0>>2]|0)+(o0<<2)|0):(e[l+(q<<2)>>2]=w0,o0=(w0&e[k>>2])<<1,l=h0,q=o0,o0=(e[P0>>2]|0)+(o0<<2)|0),E0=0,D0=l,w0=e[o0>>2]|0,T0=T0+-1|0}(j|0)==11?(e[(e[P0>>2]|0)+(M<<2)>>2]=e[R0>>2],e[(e[P0>>2]|0)+(q<<2)>>2]=e[R0>>2]):(j|0)==30&&(Hx=e[P0>>2]|0,e[Hx+(M<<2)>>2]=e[Hx+((w0&e[k>>2])<<1<<2)>>2],Hx=e[P0>>2]|0,e[Hx+(q<<2)>>2]=e[Hx+(((w0&e[k>>2])<<1|1)<<2)>>2]),V0=V0+1|0}(j|0)==13?W0(405873,405905,373,405932):(j|0)==26?W0(405955,405905,378,405932):(j|0)==28&&Dn()}while(!1);Wx=c+4|0,Hx=p+4|0,X0=k+524292|0,G0=k+524296|0,ox=0,f0=Rx,M=0;x:for(;;){if((M+3|0)>>>0>=h>>>0){j=142;break}if(bx=M+f|0,Dx=bx>>>0<kx>>>0?bx:kx,xx=h-M|0,l=ox+128|0,f0>>>0<l>>>0){for(j=(f0|0)==0,o0=j?l:f0;!(o0>>>0>=l>>>0);)o0=o0<<1;if(q=Px[e[c>>2]&1](e[ex>>2]|0,o0<<3)|0,!q){j=42;break}l=q0,j||$x(q|0,l|0,f0<<3|0)|0,Ex[e[Wx>>2]&1](e[ex>>2]|0,l),cx=o0}else q=q0,cx=f0;for(J0=q,_x=J0+(ox<<3)|0,V0=bx&w,S0=(e[Hx>>2]|0)!=11?16:64,S0=bx>>>0<S0>>>0?0:bx-S0|0,q0=d+V0|0,w0=d+(V0+1)|0,D0=V0+xx|0,E0=d+D0|0,D0=d+(D0+-4)|0,l=_x,o0=1,j=bx;j=j+-1|0,!(!(j>>>0>S0>>>0&o0>>>0<3)||(u0=bx-j|0,u0>>>0>Dx>>>0));){if(h0=j&w,(n[q0>>0]|0)!=(n[d+h0>>0]|0)){R0=o0,U0=l,o0=R0,l=U0;continue}if((n[w0>>0]|0)==(n[d+(h0+1)>>0]|0))f0=0,p0=q0;else{R0=o0,U0=l,o0=R0,l=U0;continue}for(;!(p0>>>0>D0>>>0||(U0=d+(h0+f0)|0,(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)!=(s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0)));)f0=f0+4|0,p0=p0+4|0;for(;!(p0>>>0>=E0>>>0||(n[d+(h0+f0)>>0]|0)!=(n[p0>>0]|0));)f0=f0+1|0,p0=p0+1|0;if(f0>>>0<=o0>>>0){R0=o0,U0=l,o0=R0,l=U0;continue}o0=l,e[o0>>2]=u0,e[o0+4>>2]=f0<<5,l=o0+8|0,o0=f0}do if(o0>>>0<xx>>>0){for(R0=xx>>>0<128?xx:128,U0=xx>>>0>127,j=k+4+((ix(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[j>>2]|0,f0=(bx&e[k>>2])<<1,p0=f0|1,U0?(e[j>>2]=bx,T0=0,P0=0,b0=64):(T0=0,P0=0,b0=64);;){if(g0=bx-u0|0,y0=u0&w,(bx|0)==(u0|0)|g0>>>0>Dx>>>0|(b0|0)==0){j=63;break}if(D0=T0>>>0<P0>>>0?T0:P0,D0>>>0>=129){j=66;break x}for(w0=V0+D0|0,h0=y0+xx|0,E0=d+h0|0,h0=d+(h0+-4)|0,S0=0,j=d+(y0+D0)|0;!(j>>>0>h0>>>0||(fx=d+(w0+S0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)S0=S0+4|0,j=j+4|0;for(;!(j>>>0>=E0>>>0||(n[d+(w0+S0)>>0]|0)!=(n[j>>0]|0));)S0=S0+1|0,j=j+1|0;D0=D0+S0|0;e:do if(D0){for(j=D0,w0=q0,E0=d+y0|0;h0=n[w0>>0]|0,S0=n[E0>>0]|0,h0<<24>>24==S0<<24>>24;)if(j=j+-1|0,j)w0=w0+1|0,E0=E0+1|0;else break e;if(h0<<24>>24!=S0<<24>>24){j=79;break x}}while(!1);if(j=l,(l|0)!=0&D0>>>0>o0>>>0&&(e[j>>2]=g0,e[j+4>>2]=D0<<5,l=j+8|0,o0=D0),D0>>>0>=R0>>>0){j=83;break}(s[d+(V0+D0)>>0]|0)>(s[d+(y0+D0)>>0]|0)?(U0&&(e[(e[X0>>2]|0)+(f0<<2)>>2]=u0),h0=(u0&e[k>>2])<<1|1,u0=D0,j=P0,f0=h0,h0=(e[X0>>2]|0)+(h0<<2)|0):(U0&&(e[(e[X0>>2]|0)+(p0<<2)>>2]=u0),h0=(u0&e[k>>2])<<1,u0=T0,j=D0,p0=h0,h0=(e[X0>>2]|0)+(h0<<2)|0),T0=u0,P0=j,u0=e[h0>>2]|0,b0=b0+-1|0}if((j|0)==63){if(!U0)break;e[(e[X0>>2]|0)+(f0<<2)>>2]=e[G0>>2],e[(e[X0>>2]|0)+(p0<<2)>>2]=e[G0>>2];break}else if((j|0)==83){if(!U0)break;fx=e[X0>>2]|0,e[fx+(f0<<2)>>2]=e[fx+((u0&e[k>>2])<<1<<2)>>2],fx=e[X0>>2]|0,e[fx+(p0<<2)>>2]=e[fx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(j=0;(j|0)!=38;)e[Qx+(j<<2)>>2]=268435455,j=j+1|0;o0=o0+1|0,o0=o0>>>0<4?4:o0;e:do if(PD(q0,o0,xx,Qx)|0)for(f0=xx>>>0>37?37:xx;;){if(o0>>>0>f0>>>0)break e;j=e[Qx+(o0<<2)>>2]|0,j>>>0<268435455&&(fx=j&31,e[l>>2]=Dx+(j>>>5)+1,e[l+4>>2]=o0<<5|((o0|0)==(fx|0)?0:fx),l=l+8|0),o0=o0+1|0}while(!1);for(f0=l-_x>>3,l=ox+f0|0,o0=ox;j=o0,o0=o0+1|0,!(o0>>>0>=l>>>0);){if((e[J0+(j<<3)+4>>2]|0)>>>5>>>0>=(e[J0+(o0<<3)+4>>2]|0)>>>5>>>0){j=105;break x}if(j=e[J0+(j<<3)>>2]|0,!(j>>>0>Dx>>>0)&&j>>>0>(e[J0+(o0<<3)>>2]|0)>>>0){j=108;break x}}if(p0=Z0+(M<<2)|0,e[p0>>2]=f0,f0){if(j=l+-1|0,fx=e[J0+(j<<3)+4>>2]|0,o0=fx>>>5,fx>>>0>10431){for(xx=o0+-1|0,l=ox+1|0,fx=J0+(j<<3)|0,V0=e[fx+4>>2]|0,q0=_x,e[q0>>2]=e[fx>>2],e[q0+4>>2]=V0,e[p0>>2]=1,q0=bx+o0|0,q0=q0>>>0<Cx>>>0?q0:Cx,V0=(bx+64|0)>>>0>q0>>>0?bx+1|0:q0+-63|0;!(V0>>>0>=q0>>>0);){for(f0=e[k>>2]|0,T0=f0+-15|0,P0=V0&w,R0=d+P0|0,y0=k+4+((ix(s[R0>>0]|s[R0+1>>0]<<8|s[R0+2>>0]<<16|s[R0+3>>0]<<24,506832829)|0)>>>15<<2)|0,g0=e[y0>>2]|0,f0=(V0&f0)<<1,e[y0>>2]=V0,y0=0,p0=0,b0=0,o0=f0,f0=f0|1,U0=64;;){if(D0=g0&w,(V0|0)==(g0|0)|(V0-g0|0)>>>0>T0>>>0|(U0|0)==0){j=115;break}if(E0=p0>>>0<b0>>>0?p0:b0,E0>>>0>=129){j=117;break x}for(S0=P0+E0|0,w0=d+(D0+128)|0,u0=d+(D0+124)|0,h0=0,j=d+(D0+E0)|0;!(j>>>0>u0>>>0||(fx=d+(S0+h0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)h0=h0+4|0,j=j+4|0;for(;!(j>>>0>=w0>>>0||(n[d+(S0+h0)>>0]|0)!=(n[j>>0]|0));)h0=h0+1|0,j=j+1|0;E0=E0+h0|0;e:do if(E0){for(j=E0,S0=R0,w0=d+D0|0;u0=n[S0>>0]|0,h0=n[w0>>0]|0,u0<<24>>24==h0<<24>>24;)if(j=j+-1|0,j)S0=S0+1|0,w0=w0+1|0;else break e;if(u0<<24>>24!=h0<<24>>24){j=130;break x}}while(!1);if(y0){j=132;break x}if(E0>>>0>=128){j=134;break}j=e[X0>>2]|0,(s[d+(P0+E0)>>0]|0)>(s[d+(D0+E0)>>0]|0)?(e[j+(o0<<2)>>2]=g0,u0=(g0&e[k>>2])<<1|1,p0=E0,j=b0,o0=u0,u0=(e[X0>>2]|0)+(u0<<2)|0):(e[j+(f0<<2)>>2]=g0,u0=(g0&e[k>>2])<<1,j=E0,f0=u0,u0=(e[X0>>2]|0)+(u0<<2)|0),y0=0,b0=j,g0=e[u0>>2]|0,U0=U0+-1|0}(j|0)==115?(e[(e[X0>>2]|0)+(o0<<2)>>2]=e[G0>>2],e[(e[X0>>2]|0)+(f0<<2)>>2]=e[G0>>2]):(j|0)==134&&(fx=e[X0>>2]|0,e[fx+(o0<<2)>>2]=e[fx+((g0&e[k>>2])<<1<<2)>>2],fx=e[X0>>2]|0,e[fx+(f0<<2)>>2]=e[fx+(((g0&e[k>>2])<<1|1)<<2)>>2]),V0=V0+1|0}Gx(Z0+(M+1<<2)|0,0,xx<<2|0)|0,M=M+xx|0}}else l=ox;ox=l,q0=q,f0=cx,M=M+1|0}if((j|0)==42)Ix(1);else if((j|0)==66)W0(405873,405905,373,405932);else if((j|0)==79)W0(405955,405905,378,405932);else if((j|0)==105)W0(403595,403667,793,403707);else if((j|0)==108)W0(403740,403667,795,403707);else if((j|0)==117)W0(405873,405905,373,405932);else if((j|0)==130)W0(405955,405905,378,405932);else if((j|0)==132)Dn();else if((j|0)==142){for(b0=e[a0>>2]|0,T0=e[s0>>2]|0,e[ux>>2]=e[e0>>2],e[ux+4>>2]=e[e0+4>>2],e[ux+8>>2]=e[e0+8>>2],e[ux+12>>2]=e[e0+12>>2],P0=e[x0>>2]|0,R0=Px[e[c>>2]&1](e[ex>>2]|0,(h<<4)+16|0)|0,R0||Ix(1),U0=Bx+4904|0,e[U0>>2]=h,l=Px[e[c>>2]&1](e[ex>>2]|0,Rx+8|0)|0,l||Ix(1),y0=Bx+4896|0,e[y0>>2]=l,p0=R0+12|0,u0=lx+224|0,h0=q0,S0=f-T0|0,w0=Bx+2816|0,E0=Bx+4900|0,D0=h+1|0,g0=0;(g0|0)!=2;){for(l=0;(l|0)!=(D0|0);)e[R0+(l<<4)>>2]=1,e[R0+(l<<4)+4>>2]=0,e[R0+(l<<4)+8>>2]=0,t0[R0+(l<<4)+12>>2]=z0,l=l+1|0;if(!g0)DD(Bx,f,d,w);else{for(M=e[x0>>2]|0,Gx(zx|0,0,1024)|0,Gx(ee|0,0,2816)|0,Gx(ue|0,0,2080)|0,M=M-P0|0,o0=S0,f0=0;(f0|0)!=(M|0);){for(q=e[$+(f0<<4)>>2]|0,j=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,fx=o[$+(f0<<4)+12>>1]|0,c=ee+((fx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(fx&65535)>127&&(l=ue+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(q|0);)fx=zx+(s[d+(o0+l&w)>>0]<<2)|0,e[fx>>2]=(e[fx>>2]|0)+1,l=l+1|0;o0=o0+(q+j)|0,f0=f0+1|0}for(X5(zx,256,Kx),X5(ee,704,Bx),X5(ue,520,w0),l=2139095040,M=0;(M|0)!=704;)fx=e[Bx+(M<<2)>>2]|0,e[lx>>2]=l,e[Lx>>2]=fx,n0=(e[d0>>2]=l,+t0[d0>>2]),l=e[(n0<(e[d0>>2]=fx,+t0[d0>>2])?lx:Lx)>>2]|0,M=M+1|0;for(e[E0>>2]=l,M=e[U0>>2]|0,l=e[y0>>2]|0,t0[l>>2]=0,n0=0,q=0;(q|0)!=(M|0);)Nx=n0+ +t0[Kx+(s[d+(q+f&w)>>0]<<2)>>2],fx=q+1|0,t0[l+(fx<<2)>>2]=Nx,n0=Nx,q=fx}for(e[x0>>2]=P0,e[a0>>2]=b0,e[s0>>2]=T0,e[e0>>2]=e[ux>>2],e[e0+4>>2]=e[ux+4>>2],e[e0+8>>2]=e[ux+8>>2],e[e0+12>>2]=e[ux+12>>2],q=(e[Hx>>2]|0)<11?150:325,e[R0>>2]=0,t0[p0>>2]=0,e[u0>>2]=0,l=0,M=0;;){if((M+3|0)>>>0>=h>>>0){l=h;break}fx=Z0+(M<<2)|0,Bf(h,f,M,d,w,p,kx,e0,e[fx>>2]|0,h0+(l<<3)|0,Bx,lx,R0),fx=e[fx>>2]|0,l=l+fx|0,(fx|0)==1&&(gx=(e[h0+(l+-1<<3)+4>>2]|0)>>>5,gx>>>0>q>>>0)&&(e[u0>>2]=0,M=M+(gx+-1)|0),M=M+1|0}for(;!(e[R0+(l<<4)+8>>2]|0||(e[R0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[R0+(l<<4)+12>>2]=-1,M=0;l;)c=(e[R0+(l<<4)>>2]&16777215)+(e[R0+(l<<4)+8>>2]|0)|0,fx=l-c|0,e[R0+(fx<<4)+12>>2]=c,l=fx,M=M+1|0;e[x0>>2]=(e[x0>>2]|0)+M,J5(h,f,kx,R0,e0,s0,$,a0),g0=g0+1|0}Ex[e[Wx>>2]&1](e[ex>>2]|0,e[y0>>2]|0),e[y0>>2]=0,Ex[e[Wx>>2]&1](e[ex>>2]|0,R0),Ex[e[Wx>>2]&1](e[ex>>2]|0,q0),Ex[e[Wx>>2]&1](e[ex>>2]|0,Z0),c0=nx;return}}function FW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0;if(gx=c0,c0=c0+32|0,lx=gx+16|0,kx=gx,Rx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,Lx=f+h|0,Hx=h>>>0>7?Lx+-7|0:f,Wx=p+4|0,Qx=(e[Wx>>2]|0)<9?64:512,M=Qx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)Cx=d+c|0,G0=Cx,Cx=Cx+4|0,Cx=Ie(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Ox=8)}else n[k+262148>>0]&1&&Gx(k|0,0,262149)|0,Ox=8;(Ox|0)==8&&h>>>0>6&f>>>0>2&&(G0=f+-3|0,Cx=d+(G0&w)|0,X0=Cx,Cx=Cx+4|0,Cx=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=G0,Cx=f+-2|0,G0=d+(Cx&w)|0,X0=G0,G0=G0+4|0,G0=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+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=vx(G0|0,A0|0,48)|0,e[k+(G0<<2)>>2]=Cx,G0=f+-1|0,Cx=d+(G0&w)|0,X0=Cx,Cx=Cx+4|0,Cx=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=G0),g0=lx+4|0,y0=lx+8|0,b0=lx+12|0,T0=lx+4|0,P0=k+262156|0,R0=k+262152|0,U0=lx+12|0,V0=lx+8|0,q0=Qx<<2,xx=Lx+-7|0,J0=kx+4|0,_x=kx+8|0,Dx=kx+12|0,bx=kx+4|0,ox=kx+8|0,cx=kx+12|0,X0=e0+8|0,G0=e0+12|0,Cx=e0+4|0,p=f,D0=$,c=q;x:for(;;){S0=D0,E0=M+q0|0;e:for(;;){if(w0=Lx-p|0,(p+8|0)>>>0>=Lx>>>0)break x;if(u0=p>>>0<Rx>>>0?p:Rx,e[lx>>2]=0,e[g0>>2]=0,e[y0>>2]=0,e[b0>>2]=4240,h0=p&w,f0=d+h0|0,j=f0,o0=j,o0=s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24,j=j+4|0,j=Ie(o0|0,s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,48)|0,n0=e[e0>>2]|0,l=p-n0|0,e[T0>>2]=0,l>>>0<p>>>0&&(ex=l&w,(n[d+ex>>0]|0)==(o0&255)<<24>>24)){for(h=h0+w0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(p0=d+(ex+f)|0,(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)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(ex+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=22;break}}if(p0=k+(j<<2)|0,q=e[p0>>2]|0,e[p0>>2]=p,j=p-q|0,n0=q&w,!(((p|0)==(q|0)?1:(n[d+n0>>0]|0)!=(o0&255)<<24>>24)|j>>>0>u0>>>0)){for(h=h0+w0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(o0=d+(n0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(n0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=32;break}if((e[P0>>2]|0)>>>0<(e[R0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=1;){if(f0=o[21084+(n0<<1)>>1]|0,h=f0&65535,e[R0>>2]=(e[R0>>2]|0)+1,f0<<16>>16!=0&&(Z0=h&31,Kx=h>>>5,ee=(e[11272+(Z0<<2)>>2]|0)+(ix(Z0,Kx)|0)|0,Z0>>>0<=w0>>>0)){for(f=ee+Z0|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ee|0;!(h>>>0>f>>>0||(f0=d+(h0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(h0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Z0>>>0|(q|0)==0)&&(ue=u0+Kx+1+(s[407930+(Z0-q)>>0]<<s[280786+Z0>>0])|0,zx=(q*540|0)+3840+(ix((Ax(ue|0)|0)^31,-120)|0)|0,zx>>>0>=(e[U0>>2]|0)>>>0)&&(e[lx>>2]=q,e[T0>>2]=Z0^q,e[V0>>2]=ue,e[U0>>2]=zx,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}if(e[p0>>2]=p,l&1){E0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>E0>>>0)for(l=p+17|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;w0=d+(p&w)|0,h0=w0,w0=w0+4|0,w0=Ie(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+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=vx(w0|0,A0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;w0=d+(p&w)|0,h0=w0,w0=w0+4|0,w0=Ie(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+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=vx(w0|0,A0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Ox|0)==22?(Ox=0,e[lx>>2]=f,e[V0>>2]=n0,e[U0>>2]=(f*540|0)+3900,e[k+(j<<2)>>2]=p,E0=0):(Ox|0)==32&&(Ox=0,e[lx>>2]=f,e[V0>>2]=j,e[U0>>2]=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0),E0=0);e:for(;;){if(w0=w0+-1|0,(e[Wx>>2]|0)<5?(n0=(e[lx>>2]|0)+-1|0,n0=n0>>>0<w0>>>0?n0:w0):n0=0,e[kx>>2]=n0,e[J0>>2]=0,e[_x>>2]=0,e[Dx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,S0=f0&w,p0=d+S0|0,q=p0,o0=q,q=q+4|0,q=Ie(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=vx(q|0,A0|0,48)|0,o0=n[d+(S0+n0)>>0]|0,j=e[e0>>2]|0,l=f0-j|0,e[bx>>2]=0,l>>>0<f0>>>0&&(Bx=l&w,o0<<24>>24==(n[d+(Bx+n0)>>0]|0))){for(h=S0+w0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=p0;!(l>>>0>h>>>0||(u0=d+(Bx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Bx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(e[kx>>2]=M,e[ox>>2]=j,e[cx>>2]=(M*540|0)+3900,e[k+(q<<2)>>2]=f0):Ox=64}else Ox=64;do if((Ox|0)==64){if(Ox=0,u0=k+(q<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,q=f0-f|0,j=f&w,((f0|0)==(f|0)?1:o0<<24>>24!=(n[d+(j+n0)>>0]|0))|q>>>0>h0>>>0){f0=p,o0=c;break e}for(h=S0+w0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=p0;!(l>>>0>h>>>0||(o0=d+(j+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(j+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0>3){e[kx>>2]=M,e[ox>>2]=q,e[cx>>2]=(M*540|0)+3840+(ix((Ax(q|0)|0)^31,-120)|0);break}if((e[P0>>2]|0)>>>0<(e[R0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,j=(ix(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(p0=o[21084+(j<<1)>>1]|0,h=p0&65535,e[R0>>2]=(e[R0>>2]|0)+1,p0<<16>>16!=0&&(ux=h&31,nx=h>>>5,fx=(e[11272+(ux<<2)>>2]|0)+(ix(ux,nx)|0)|0,ux>>>0<=w0>>>0)){for(M=fx+ux|0,q=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+fx|0;!(h>>>0>M>>>0||(p0=d+(S0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(S0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ux>>>0|(f|0)==0)&&(Nx=h0+nx+1+(s[407930+(ux-f)>>0]<<s[280786+ux>>0])|0,ae=(f*540|0)+3840+(ix((Ax(Nx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[cx>>2]|0)>>>0)&&(e[kx>>2]=f,e[bx>>2]=ux^f,e[ox>>2]=Nx,e[cx>>2]=ae,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}n0=n0+1|0,j=j+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,o0=c;break e}}while(!1);if((e[Dx>>2]|0)>>>0<((e[b0>>2]|0)+700|0)>>>0){f0=p,o0=c;break}if(c=c+1|0,e[lx>>2]=e[kx>>2],e[lx+4>>2]=e[kx+4>>2],e[lx+8>>2]=e[kx+8>>2],e[lx+12>>2]=e[kx+12>>2],E0=E0+1|0,(E0|0)<4&(p+9|0)>>>0<Lx>>>0)p=f0;else{o0=c;break}}p=e[lx>>2]|0,M=f0+(p<<1)+Qx|0,c=e[y0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,E0=e[e0>>2]|0,l=f-E0|0,h=e[Cx>>2]|0,f=f-h|0,(c|0)==(E0|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[X0>>2]|0)){c=2;break t}if((c|0)==(e[G0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[G0>>2]=e[X0>>2],e[X0>>2]=e[Cx>>2],e[Cx>>2]=e[e0>>2],e[e0>>2]=e[y0>>2],p=e[lx>>2]|0}else c=c+15|0;while(!1);n0=D0+16|0,E0=e[g0>>2]|0,l=p^E0,e[D0>>2]=o0,e[D0+4>>2]=p|E0<<24,p=D0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(S0=c+-12|0,E0=((Ax(S0|0)|0)^31)+-1|0,w0=S0>>>E0&1,c=((E0<<1)+65534|w0)+16&65535,o[p>>1]=c,p=E0<<24|S0-((w0|2)<<E0)),e[D0+8>>2]=p,q=c<<16>>16==0,j=D0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){D0=o0+-2|0,f=((Ax(D0|0)|0)^31)+-1|0,f=(f<<1)+(D0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){D0=l+-6|0,c=((Ax(D0|0)|0)^31)+-1|0,c=(c<<1)+(D0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[lx>>2]|0)|0,c=c>>>0<Hx>>>0?c:Hx,p=f0+2|0;!(p>>>0>=c>>>0);)D0=d+(p&w)|0,E0=D0,D0=D0+4|0,D0=Ie(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0,s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0,-1124073472,1979815)|0,D0=vx(D0|0,A0|0,48)|0,e[k+(D0<<2)>>2]=p,p=p+1|0;p=f0+(e[lx>>2]|0)|0,D0=n0,c=0}e[s0>>2]=c+w0,e[x0>>2]=(e[x0>>2]|0)+(S0-$>>4),c0=gx}function IW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0;if(Cx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,Qx=f+h|0,G0=h>>>0>7?Qx+-7|0:f,X0=p+4|0,cx=(e[X0>>2]|0)<9?64:512,p=cx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)ox=d+c|0,bx=ox,ox=ox+4|0,ox=Ie(s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,s[ox>>0]|s[ox+1>>0]<<8|s[ox+2>>0]<<16|s[ox+3>>0]<<24|0,-1124073472,1979815)|0,ox=vx(ox|0,A0|0,48)|0,ox=k+(ox<<2)|0,e[ox>>2]=0,e[ox+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,M=8)}else n[k+262152>>0]&1&&Gx(k|0,0,262153)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(ox=f+-3|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-2|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-1|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox),J0=cx<<2,_x=Qx+-7|0,Dx=e0+8|0,bx=e0+12|0,ox=e0+4|0,l=f,xx=$,o0=p,c=q;x:for(;;){P0=xx,R0=o0+J0|0;e:for(;;){if(V0=Qx-l|0,(l+8|0)>>>0>=Qx>>>0)break x;if(g0=l>>>0<Cx>>>0?l:Cx,y0=l&w,b0=d+y0|0,T0=b0,p=T0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,T0=T0+4|0,T0=Ie(p|0,s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0,-1124073472,1979815)|0,T0=vx(T0|0,A0|0,48)|0,j=p&255,h=e[e0>>2]|0,M=l-h|0,M>>>0<l>>>0&&(Wx=M&w,(n[d+Wx>>0]|0)==(p&255)<<24>>24)){for(M=y0+V0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=b0;!(p>>>0>M>>>0||(q0=d+(Wx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Wx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(y0+f)>>0]|0,p=1,q=f,f=(f*540|0)+3900|0):(p=0,q=0,h=0,f=4240)}else p=0,q=0,h=0,f=4240;for(E0=y0+V0|0,w0=d+E0|0,E0=d+(E0+-4)|0,p0=q,n0=f,D0=k+(T0+1<<2)|0,u0=0,M=k+(T0<<2)|0,h0=q,S0=f;M=e[M>>2]|0,(u0|0)!=2;){if(f0=l-M|0,q=M&w,((l|0)==(M|0)?1:(j|0)!=(s[d+(q+p0)>>0]|0))|f0>>>0>g0>>>0)q=p0,f=h0,M=S0;else{for(M=0,f=b0;!(f>>>0>E0>>>0||(q0=d+(q+M)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)M=M+4|0,f=f+4|0;for(;!(f>>>0>=w0>>>0||(n[d+(q+M)>>0]|0)!=(n[f>>0]|0));)M=M+1|0,f=f+1|0;M>>>0>3&&(Hx=(M*540|0)+3840+(ix((Ax(f0|0)|0)^31,-120)|0)|0,n0>>>0<Hx>>>0)?(q=M,n0=Hx,j=s[d+(y0+M)>>0]|0,p=1,f=M,h=f0,M=Hx):(q=p0,f=h0,M=S0)}q0=D0,p0=q,D0=D0+4|0,u0=u0+1|0,h0=f,S0=M,M=q0}if(e[k+(T0+(l>>>3&1)<<2)>>2]=l,p&1){q0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=o0>>>0){l=h;continue}if(h>>>0>R0>>>0)for(p=l+17|0,p=p>>>0<_x>>>0?p:_x,l=h;;){if(l>>>0>=p>>>0)continue e;q0=d+(l&w)|0,V0=q0,q0=q0+4|0,q0=Ie(s[V0>>0]|s[V0+1>>0]<<8|s[V0+2>>0]<<16|s[V0+3>>0]<<24|0,s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,-1124073472,1979815)|0,q0=vx(q0|0,A0|0,48)|0,e[k+(q0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<_x>>>0?p:_x,l=h;;){if(l>>>0>=p>>>0)continue e;q0=d+(l&w)|0,V0=q0,q0=q0+4|0,q0=Ie(s[V0>>0]|s[V0+1>>0]<<8|s[V0+2>>0]<<16|s[V0+3>>0]<<24|0,s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,-1124073472,1979815)|0,q0=vx(q0|0,A0|0,48)|0,e[k+(q0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(V0=V0+-1|0,(e[X0>>2]|0)<5?(n0=h0+-1|0,n0=n0>>>0<V0>>>0?n0:V0):n0=0,p0=l+1|0,T0=p0>>>0<Cx>>>0?p0:Cx,P0=p0&w,R0=d+P0|0,U0=R0,p=U0,U0=U0+4|0,U0=Ie(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0,-1124073472,1979815)|0,U0=vx(U0|0,A0|0,48)|0,p=n[d+(P0+n0)>>0]|0,j=p&255,o0=e[e0>>2]|0,M=p0-o0|0,M>>>0<p0>>>0&&(Rx=M&w,p<<24>>24==(n[d+(Rx+n0)>>0]|0))){for(M=P0+V0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=R0;!(p>>>0>M>>>0||(b0=d+(Rx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+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,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Rx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(P0+f)>>0]|0,p=1,n0=f,M=(f*540|0)+3900|0):(p=0,M=4240,o0=0)}else p=0,M=4240,o0=0;for(y0=P0+V0|0,g0=d+y0|0,y0=d+(y0+-4)|0,w0=n0,E0=M,b0=k+(U0+1<<2)|0,D0=0,q=p,p=k+(U0<<2)|0,u0=M;p=e[p>>2]|0,(D0|0)!=2;){if(f0=p0-p|0,f=p&w,((p0|0)==(p|0)?1:(j|0)!=(s[d+(f+w0)>>0]|0))|f0>>>0>T0>>>0)M=w0,f=E0,p=u0;else{for(p=0,M=R0;!(M>>>0>y0>>>0||(lx=d+(f+p)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)p=p+4|0,M=M+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(f+p)>>0]|0)!=(n[M>>0]|0));)p=p+1|0,M=M+1|0;p>>>0>3&&(Lx=(p*540|0)+3840+(ix((Ax(f0|0)|0)^31,-120)|0)|0,E0>>>0<Lx>>>0)?(M=p,f=Lx,j=s[d+(P0+p)>>0]|0,q=1,n0=p,p=Lx,o0=f0):(M=w0,f=E0,p=u0)}lx=b0,w0=M,E0=f,b0=b0+4|0,D0=D0+1|0,u0=p,p=lx}if(e[k+(U0+(p0>>>3&1)<<2)>>2]=p0,(q&1)==0|u0>>>0<(S0+700|0)>>>0){p0=l,f0=c,n0=h0;break}if(c=c+1|0,q0=q0+1|0,(q0|0)<4&(l+9|0)>>>0<Qx>>>0)l=p0,h0=n0,h=o0,S0=u0;else{f0=c,h=o0;break}}o0=p0+(n0<<1)+cx|0;e:do if(h>>>0<=(p0>>>0<Cx>>>0?p0:Cx)>>>0)if(l=h+3|0,lx=e[e0>>2]|0,c=l-lx|0,p=e[ox>>2]|0,l=l-p|0,(h|0)==(lx|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[Dx>>2]|0)){c=2;break t}if((h|0)==(e[bx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[bx>>2]=e[Dx>>2],e[Dx>>2]=e[ox>>2],e[ox>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);j=xx+16|0,e[xx>>2]=f0,e[xx+4>>2]=n0,p=xx+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,lx=((Ax(V0|0)|0)^31)+-1|0,q0=V0>>>lx&1,c=((lx<<1)+65534|q0)+16&65535,o[p>>1]=c,p=lx<<24|V0-((q0|2)<<lx)),e[xx+8>>2]=p,f=c<<16>>16==0,q=xx+12|0;do if(f0>>>0>=6){if(f0>>>0<130){lx=f0+-2|0,p=((Ax(lx|0)|0)^31)+-1|0,p=(p<<1)+(lx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Ax(f0+-66|0)|0)^31)+10&65535;break}f0>>>0<6210?p=21:p=f0>>>0<22594?22:23}else p=f0&65535;while(!1);do if(n0>>>0>=10){if(n0>>>0<134){lx=n0+-6|0,c=((Ax(lx|0)|0)^31)+-1|0,c=(c<<1)+(lx>>>c)+4&65535;break}n0>>>0<2118?c=((Ax(n0+-70|0)|0)^31)+12&65535:c=23}else c=n0+65534&65535;while(!1);for(l=c&65535,h=p&65535,M=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|M&65535,o[q>>1]=c,e[a0>>2]=(e[a0>>2]|0)+f0,l=p0+n0|0,p=l>>>0<G0>>>0?l:G0,c=p0+2|0;;){if(c>>>0>=p>>>0){xx=j,c=0;continue x}lx=d+(c&w)|0,xx=lx,lx=lx+4|0,lx=Ie(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=vx(lx|0,A0|0,48)|0,e[k+(lx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[s0>>2]=c+V0,e[x0>>2]=(e[x0>>2]|0)+(P0-$>>4)}function TW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0;if(ue=c0,c0=c0+32|0,Kx=ue+16|0,ee=ue,ex=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Z0=f+h|0,gx=h>>>0>7?Z0+-7|0:f,kx=p+4|0,lx=(e[kx>>2]|0)<9?64:512,q=lx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Lx=d+c|0,Rx=Lx,Lx=Lx+4|0,Lx=Ie(s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,s[Lx>>0]|s[Lx+1>>0]<<8|s[Lx+2>>0]<<16|s[Lx+3>>0]<<24|0,-1124073472,1979815)|0,Lx=vx(Lx|0,A0|0,47)|0,Lx=k+(Lx<<2)|0,e[Lx>>2]=0,e[Lx+4>>2]=0,e[Lx+8>>2]=0,e[Lx+12>>2]=0,c=c+1|0;h&&(n[k+524304>>0]=0,M=8)}else n[k+524304>>0]&1&&Gx(k|0,0,524305)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(Lx=f+-3|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx,Lx=f+-2|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx,Lx=f+-1|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx),_x=Kx+4|0,Dx=Kx+8|0,bx=Kx+12|0,ox=Kx+12|0,cx=Kx+4|0,X0=Kx+8|0,G0=k+524312|0,Cx=k+524308|0,Qx=lx<<2,Wx=Z0+-7|0,Hx=ee+12|0,Rx=ee+4|0,Lx=ee+8|0,R0=ee+12|0,U0=ee+4|0,V0=ee+8|0,q0=e0+8|0,xx=e0+12|0,J0=e0+4|0,p=f,P0=$,c=j;x:for(;;){b0=P0,T0=q+Qx|0;e:for(;;){if(y0=Z0-p|0,(p+8|0)>>>0>=Z0>>>0)break x;if(E0=p>>>0<ex>>>0?p:ex,e[Kx>>2]=0,e[_x>>2]=0,e[Dx>>2]=0,e[bx>>2]=4240,D0=p&w,w0=d+D0|0,g0=w0,l=g0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,g0=g0+4|0,g0=Ie(l|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=vx(g0|0,A0|0,47)|0,o0=l&255,n0=e[ox>>2]|0,j=e[e0>>2]|0,h=p-j|0,e[cx>>2]=0,h>>>0<p>>>0&&(zx=h&w,(n[d+zx>>0]|0)==(l&255)<<24>>24)){for(h=D0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=w0;!(l>>>0>h>>>0||(S0=d+(zx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(zx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(f=(M*540|0)+3900|0,e[Kx>>2]=M,e[X0>>2]=j,e[ox>>2]=f,h=M,M=s[d+(D0+M)>>0]|0,l=1):(h=0,f=n0,M=o0,l=0)}else h=0,f=n0,M=o0,l=0;for(S0=D0+y0|0,h0=d+S0|0,S0=d+(S0+-4)|0,u0=k+(g0+1<<2)|0,p0=0,j=k+(g0<<2)|0;j=e[j>>2]|0,(p0|0)!=4;){if(o0=p-j|0,f0=j&w,!(((p|0)==(j|0)?1:(M|0)!=(s[d+(f0+h)>>0]|0))|o0>>>0>E0>>>0)){for(j=0,n0=w0;!(n0>>>0>S0>>>0||(dx=d+(f0+j)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)j=j+4|0,n0=n0+4|0;for(;!(n0>>>0>=h0>>>0||(n[d+(f0+j)>>0]|0)!=(n[n0>>0]|0));)j=j+1|0,n0=n0+1|0;j>>>0>3&&(Bx=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<Bx>>>0)&&(e[Kx>>2]=j,e[X0>>2]=o0,e[ox>>2]=Bx,h=j,f=Bx,M=s[d+(D0+j)>>0]|0,l=1)}j=u0,u0=u0+4|0,p0=p0+1|0}if(!(l&1)){if((e[G0>>2]|0)>>>0<(e[Cx>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=1;){if(dx=o[21084+(n0<<1)>>1]|0,h=dx&65535,e[Cx>>2]=(e[Cx>>2]|0)+1,dx<<16>>16!=0&&(ux=h&31,nx=h>>>5,fx=(e[11272+(ux<<2)>>2]|0)+(ix(ux,nx)|0)|0,ux>>>0<=y0>>>0)){for(M=fx+ux|0,j=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+fx|0;!(h>>>0>M>>>0||(dx=d+(D0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(D0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ux>>>0|(f|0)==0)&&(Nx=E0+nx+1+(s[407930+(ux-f)>>0]<<s[280786+ux>>0])|0,ae=(f*540|0)+3840+(ix((Ax(Nx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[ox>>2]|0)>>>0)&&(e[Kx>>2]=f,e[cx>>2]=ux^f,e[X0>>2]=Nx,e[ox>>2]=ae,e[G0>>2]=(e[G0>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(g0+(p>>>3&3)<<2)>>2]=p,l&1){b0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=q>>>0){p=h;continue}if(h>>>0>T0>>>0)for(l=p+17|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;dx=d+(p&w)|0,y0=dx,dx=dx+4|0,dx=Ie(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;dx=d+(p&w)|0,y0=dx,dx=dx+4|0,dx=Ie(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(y0=y0+-1|0,(e[kx>>2]|0)<5?(j=(e[Kx>>2]|0)+-1|0,j=j>>>0<y0>>>0?j:y0):j=0,e[ee>>2]=j,e[Rx>>2]=0,e[Lx>>2]=0,e[Hx>>2]=4240,f0=p+1|0,E0=f0>>>0<ex>>>0?f0:ex,D0=f0&w,w0=d+D0|0,g0=w0,l=g0,g0=g0+4|0,g0=Ie(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+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=vx(g0|0,A0|0,47)|0,l=n[d+(D0+j)>>0]|0,o0=l&255,q=e[R0>>2]|0,n0=e[e0>>2]|0,h=f0-n0|0,e[U0>>2]=0,h>>>0<f0>>>0&&(Ox=h&w,l<<24>>24==(n[d+(Ox+j)>>0]|0))){for(h=D0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=w0;!(l>>>0>h>>>0||(dx=d+(Ox+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Ox+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(q=(M*540|0)+3900|0,e[ee>>2]=M,e[V0>>2]=n0,e[R0>>2]=q,h=M,M=s[d+(D0+M)>>0]|0,l=1):(h=j,M=o0,l=0)}else h=j,M=o0,l=0;for(S0=D0+y0|0,h0=d+S0|0,S0=d+(S0+-4)|0,u0=k+(g0+1<<2)|0,p0=0,f=k+(g0<<2)|0;f=e[f>>2]|0,(p0|0)!=4;){if(n0=f0-f|0,o0=f&w,!(((f0|0)==(f|0)?1:(M|0)!=(s[d+(o0+h)>>0]|0))|n0>>>0>E0>>>0)){for(f=0,j=w0;!(j>>>0>S0>>>0||(dx=d+(o0+f)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)f=f+4|0,j=j+4|0;for(;!(j>>>0>=h0>>>0||(n[d+(o0+f)>>0]|0)!=(n[j>>0]|0));)f=f+1|0,j=j+1|0;f>>>0>3&&(px=(f*540|0)+3840+(ix((Ax(n0|0)|0)^31,-120)|0)|0,q>>>0<px>>>0)&&(e[ee>>2]=f,e[V0>>2]=n0,e[R0>>2]=px,h=f,q=px,M=s[d+(D0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,p0=p0+1|0}if(!(l&1)){if((e[G0>>2]|0)>>>0<(e[Cx>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,j=(ix(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(dx=o[21084+(j<<1)>>1]|0,h=dx&65535,e[Cx>>2]=(e[Cx>>2]|0)+1,dx<<16>>16!=0&&(ax=h&31,Ce=h>>>5,C0=(e[11272+(ax<<2)>>2]|0)+(ix(ax,Ce)|0)|0,ax>>>0<=y0>>>0)){for(M=C0+ax|0,f=280811+M|0,M=280811+(M+-4)|0,q=0,h=280811+C0|0;!(h>>>0>M>>>0||(dx=d+(D0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+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=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(D0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=ax>>>0|(q|0)==0)&&(se=E0+Ce+1+(s[407930+(ax-q)>>0]<<s[280786+ax>>0])|0,Yx=(q*540|0)+3840+(ix((Ax(se|0)|0)^31,-120)|0)|0,Yx>>>0>=(e[R0>>2]|0)>>>0)&&(e[ee>>2]=q,e[U0>>2]=ax^q,e[V0>>2]=se,e[R0>>2]=Yx,e[G0>>2]=(e[G0>>2]|0)+1,l=1)}n0=n0+1|0,j=j+1|0}l=(l&1)!=0}l=l&1}if(e[k+(g0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,o0=c;break}if((e[Hx>>2]|0)>>>0<((e[bx>>2]|0)+700|0)>>>0){f0=p,o0=c;break}if(c=c+1|0,e[Kx>>2]=e[ee>>2],e[Kx+4>>2]=e[ee+4>>2],e[Kx+8>>2]=e[ee+8>>2],e[Kx+12>>2]=e[ee+12>>2],b0=b0+1|0,(b0|0)<4&(p+9|0)>>>0<Z0>>>0)p=f0;else{o0=c;break}}p=e[Kx>>2]|0,q=f0+(p<<1)+lx|0,c=e[Dx>>2]|0;e:do if(c>>>0<=(f0>>>0<ex>>>0?f0:ex)>>>0)if(M=c+3|0,dx=e[e0>>2]|0,l=M-dx|0,h=e[J0>>2]|0,M=M-h|0,(c|0)==(dx|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(M>>>0<7){c=266017486>>>(M<<2)&15;break}if((c|0)==(e[q0>>2]|0)){c=2;break t}if((c|0)==(e[xx>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[xx>>2]=e[q0>>2],e[q0>>2]=e[J0>>2],e[J0>>2]=e[e0>>2],e[e0>>2]=e[Dx>>2],p=e[Kx>>2]|0}else c=c+15|0;while(!1);n0=P0+16|0,dx=e[_x>>2]|0,l=p^dx,e[P0>>2]=o0,e[P0+4>>2]=p|dx<<24,p=P0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(b0=c+-12|0,dx=((Ax(b0|0)|0)^31)+-1|0,T0=b0>>>dx&1,c=((dx<<1)+65534|T0)+16&65535,o[p>>1]=c,p=dx<<24|b0-((T0|2)<<dx)),e[P0+8>>2]=p,f=c<<16>>16==0,j=P0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){dx=o0+-2|0,M=((Ax(dx|0)|0)^31)+-1|0,M=(M<<1)+(dx>>>M)+2&65535;break}if(o0>>>0<2114){M=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?M=21:M=o0>>>0<22594?22:23}else M=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){dx=l+-6|0,c=((Ax(dx|0)|0)^31)+-1|0,c=(c<<1)+(dx>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=M&65535,h=p&7|l<<3&56,f&(M&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[Kx>>2]|0)|0,c=c>>>0<gx>>>0?c:gx,p=f0+2|0;!(p>>>0>=c>>>0);)dx=d+(p&w)|0,P0=dx,dx=dx+4|0,dx=Ie(s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Kx>>2]|0)|0,P0=n0,c=0}e[s0>>2]=c+y0,e[x0>>2]=(e[x0>>2]|0)+(b0-$>>4),c0=ue}function RW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,M=8)}else c=k+1081344|0,n[c>>0]&1&&(Gx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,gx=k+(ex<<1)|0,e[k+32768+((_[gx>>1]&15|ex<<4)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+1081352|0,X0=k+1081348|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=4;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<4,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>16?M+-16|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+32768+((S0|M&15)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&15)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<4,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>16?l+-16|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+32768+((S0|l&15)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&15)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function PW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,M=8)}else c=k+2129920|0,n[c>>0]&1&&(Gx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,gx=k+(ex<<1)|0,e[k+32768+((_[gx>>1]&31|ex<<5)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+2129928|0,X0=k+2129924|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=4;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<5,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>32?M+-32|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+32768+((S0|M&31)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&31)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<5,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>32?l+-32|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+32768+((S0|l&31)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&31)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function _W(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,M=8)}else c=k+8454144|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&63|ex<<6)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+8454152|0,X0=k+8454148|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=10;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<6,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>64?M+-64|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&63)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&63)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<6,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>64?l+-64|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&63)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&63)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function BW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0,M,q,j,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0,M=M|0,q=q|0,j=j|0,n0=n0|0;var o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0;if(se=c0,c0=c0+12768|0,px=se+7760|0,fx=se+4928|0,Nx=se+2096|0,P0=se+12504|0,T0=se+10968|0,f0=se,u0=se+12248|0,p0=se+10456|0,D0=se+11544|0,E0=se+9048|0,y0=se+11480|0,g0=se+8920|0,Ox=se+8808|0,U0=se+8804|0,R0=se+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(C0=vx(l|0,d|0,30)|0,C0=l&1073741823|((C0&1^1)<<30)+1073741824):C0=l,!w){f=e[j>>2]|0,n0=n0+(f>>>3)|0,x0=s[n0>>0]|0,f=Tx(3,0,f&7|0)|0,M=A0,f=x0|f,x0=n0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,n0=n0+4|0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>24,e[j>>2]=(e[j>>2]|0)+9&-8,c0=se;return}if(!(ED(h,f,l,d,w,$,x0)|0)){e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],If(p,h,C0,f,w,j,n0),c0=se;return}if(ax=n[n0>>0]|0,Ce=e[j>>2]|0,ae=k+4|0,l=e[ae>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(o0=0;(o0|0)!=(x0|0);){do if((e[a0+(o0<<4)+4>>2]&16777215|0)!=0&&(_[a0+(o0<<4)+12>>1]|0)>127){if($=a0+(o0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=a0+(o0<<4)+8|0,nx=e[d>>2]|0,ux=nx>>>24,l=((l&65535)+-12-(ux<<1)<<ux)+(nx&16777215)+12|0,l>>>0>=28){Bx=l+-20|0,zx=(Ax(Bx|0)|0)^31,nx=zx+-1|0,ux=Bx>>>nx&1,zx=zx+-2|0,o[$>>1]=(((zx<<1)+32766|ux)<<1)+28|Bx&1,e[d>>2]=zx<<24|(Bx-((ux|2)<<nx)|0)>>>1;break}}else d=a0+(o0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);o0=o0+1|0}l=e[ae>>2]|0,d=1,$=12,w0=19}else nx=0,ux=0,w0=38;else d=0,$=0,w0=19;do if((w0|0)==19){if((l|0)>=3){if((l|0)>=4){nx=d,ux=$,w0=38;break}z5(p,w,j,n0),Gx(px|0,0,1028)|0,r0[px+1032>>3]=z0,Gx(fx|0,0,2820)|0,r0[fx+2824>>3]=z0,Gx(Nx|0,0,2084)|0,r0[Nx+2088>>3]=z0,sD(h,C0,f,a0,x0,px,fx,Nx),l=n0+((e[j>>2]|0)>>>3)|0,s0=s[l>>0]|0,d=l,n[d>>0]=s0,n[d+1>>0]=s0>>8,n[d+2>>0]=s0>>16,n[d+3>>0]=s0>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,l=c+8|0,d=Px[e[c>>2]&1](e[l>>2]|0,11272)|0,d||Ix(1),ui(px,256,d,P0,T0,j,n0),ui(fx,704,d,D0,E0,j,n0),ui(Nx,64,d,y0,g0,j,n0),Ex[e[c+4>>2]&1](e[l>>2]|0,d),Y5(h,C0,f,a0,x0,P0,T0,D0,E0,y0,g0,j,n0),p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[n0+(x0>>>3)>>0]=0);break}if(z5(p,w,j,n0),s0=n0+((e[j>>2]|0)>>>3)|0,Ox=s[s0>>0]|0,e0=s0,n[e0>>0]=Ox,n[e0+1>>0]=Ox>>8,n[e0+2>>0]=Ox>>16,n[e0+3>>0]=Ox>>24,s0=s0+4|0,n[s0>>0]=0,n[s0+1>>0]=0,n[s0+2>>0]=0,n[s0+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,x0>>>0<129){for(Gx(px|0,0,1024)|0,$=0,o0=C0,p0=0;(p0|0)!=(x0|0);){for(l=e[a0+(p0<<4)>>2]|0,d=e[a0+(p0<<4)+4>>2]|0,f0=o0,u0=l;u0;)s0=px+((s[h+(f0&f)>>0]|0)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,o0=o0+l+(d&16777215)|0,p0=p0+1|0}Uo(c,px,$,8,P0,T0,j,n0),px=e[j>>2]|0,e0=n0+(px>>>3)|0,c=s[e0>>0]|0,px=Tx(372273155,9593412,px&7|0)|0,s0=A0,px=c|px,c=e0,n[c>>0]=px,n[c+1>>0]=px>>8,n[c+2>>0]=px>>16,n[c+3>>0]=px>>24,e0=e0+4|0,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,e0=(e[j>>2]|0)+56|0,e[j>>2]=e0,e0=n0+(e0>>>3)|0,s0=s[e0>>0]|0,c=e0,n[c>>0]=s0,n[c+1>>0]=s0>>8,n[c+2>>0]=s0>>16,n[c+3>>0]=s0>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e0=(e[j>>2]|0)+3|0,e[j>>2]=e0,c=n0+(e0>>>3)|0,s0=s[c>>0]|0,e0=Tx(57269251,0,e0&7|0)|0,px=A0,e0=s0|e0,s0=c,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=px,n[c+1>>0]=px>>8,n[c+2>>0]=px>>16,n[c+3>>0]=px>>24,e[j>>2]=(e[j>>2]|0)+28,Y5(h,C0,f,a0,x0,P0,T0,404412,86620,405116,88028,j,n0)}else Gx(fx|0,0,1028)|0,r0[fx+1032>>3]=z0,Gx(Nx|0,0,2820)|0,r0[Nx+2824>>3]=z0,Gx(f0|0,0,2084)|0,r0[f0+2088>>3]=z0,sD(h,C0,f,a0,x0,fx,Nx,f0),Uo(c,fx,e[fx+1024>>2]|0,8,u0,p0,j,n0),Uo(c,Nx,e[Nx+2816>>2]|0,10,D0,E0,j,n0),Uo(c,f0,e[f0+2080>>2]|0,6,y0,g0,j,n0),Y5(h,C0,f,a0,x0,u0,p0,D0,E0,y0,g0,j,n0);p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[n0+(x0>>>3)>>0]=0)}while(!1);if((w0|0)==38){Lx=Ox+8|0,lx=Ox+12|0,g0=Ox+24|0,Rx=Ox+28|0,e[Ox>>2]=0,e[Ox+4>>2]=0,e[Ox+8>>2]=0,e[Ox+12>>2]=0,e[Ox+16>>2]=0,e[Ox+20>>2]=0,e[Ox+24>>2]=0,kx=Ox+32|0,gx=Ox+36|0,y0=Ox+48|0,e[Rx>>2]=0,e[Rx+4>>2]=0,e[Rx+8>>2]=0,e[Rx+12>>2]=0,e[Rx+16>>2]=0,e[y0>>2]=0,Rx=Ox+52|0,ex=Ox+56|0,Z0=Ox+60|0,Kx=Ox+72|0,e[Rx>>2]=0,e[Rx+4>>2]=0,e[Rx+8>>2]=0,e[Rx+12>>2]=0,e[Rx+16>>2]=0,Rx=Ox+76|0,ee=Ox+80|0,ue=Ox+88|0,D0=Ox+92|0,zx=Ox+96|0,T0=Ox+100|0,Bx=Ox+104|0,P0=Ox+108|0,d=(l|0)<10,$=Kx,o0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(o0|0));do if(d){if(e[U0>>2]=1,e[R0>>2]=0,!((l|0)<5|w>>>0<64)){p0=C0+w|0,$=Nx,o0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(o0|0));for(f0=C0;o0=f0+64|0,!(o0>>>0>p0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=o0>>>0);)Hx=s[h+(d&f)>>0]|0,Wx=Nx+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(Hx>>>6<<2)>>2]|0)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+1,$=Hx;f0=f0+4096|0}for(e[px>>2]=0,e[px+4>>2]=0,e[px+8>>2]=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[fx+20>>2]=0,d=0,E0=0;(d|0)!=9;)Hx=e[Nx+(d<<2)>>2]|0,Wx=px+(((d>>>0)%3|0)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+Hx,Wx=fx+((d>>>0>5?d+-6|0:d)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+Hx,d=d+1|0,E0=E0+Hx|0;for(p0=px+12|0,f0=px,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=p0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=u0+d|0;for(u0?(S0=+(u0>>>0),u0>>>0<256?h0=+t0[19516+(u0<<2)>>2]:h0=+Xx(S0),G0=b0+S0*h0):G0=b0,w0=fx+12|0,f0=fx,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=w0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=p0+d|0;for(p0?(S0=+(p0>>>0),p0>>>0<256?h0=+t0[19516+(p0<<2)>>2]:h0=+Xx(S0),cx=b0+S0*h0):cx=b0,u0=fx+24|0,f0=w0,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=u0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=p0+d|0;for(p0?(S0=+(p0>>>0),p0>>>0<256?h0=+t0[19516+(p0<<2)>>2]:h0=+Xx(S0),V0=b0+S0*h0):V0=b0,q0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,o0=Nx+($+3<<2)|0,$=Nx+($<<2)|0,b0=0,d=0;f0=$+4|0,$=e[$>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),h0=b0-S0*h0,!(f0>>>0>=o0>>>0);)d=e[f0>>2]|0,S0=+(d>>>0),d>>>0<256?b0=+t0[19516+(d<<2)>>2]:b0=+Xx(S0),$=f0+4|0,b0=h0-S0*b0,d=p0+d|0;p0&&(b0=+(p0>>>0),p0>>>0<256?S0=+t0[19516+(p0<<2)>>2]:S0=+Xx(b0),h0=h0+b0*S0),q0=q0+h0,u0=u0+1|0}E0||W0(406445,406053,339,406456),h0=1/+(E0>>>0),G0=G0*h0,S0=(cx+V0)*h0,h0=(l|0)<7?G0*10:q0*h0;do if(G0-S0<.2&G0-h0<.2)e[U0>>2]=1;else if(S0-h0<.02){e[U0>>2]=2,e[R0>>2]=18916;break}else{e[U0>>2]=3,e[R0>>2]=19172;break}while(!1);if(Hx=e[R0>>2]|0,Dx=Hx,Hx){for(Hx=e[U0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[a0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[px>>2]=256,e[px+4>>2]=Hx,w0=256/(Hx>>>0)|0,e[px+8>>2]=w0,e[px+12>>2]=512,r0[px+16>>3]=400,e[px+24>>2]=0,e[px+28>>2]=Ox,e[px+36>>2]=D0,Cx=px+40|0,e[Cx>>2]=512,Qx=px+44|0,e[Qx>>2]=0,Wx=px+48|0,e[Wx>>2]=0,e[px+64>>2]=0,w0=w0+1|0,w0=u0>>>0<w0>>>0?u0:w0,p0=Ox+16|0,l=e[p0>>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,$||Ix(1),o0=e[p0>>2]|0,l=Ox+8|0,o0&&$x($|0,e[l>>2]|0,o0|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}if(f0=Ox+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(o0=(l|0)==0?u0:l;!(o0>>>0>=u0>>>0);)o0=o0<<1;p0=c+8|0,d=Px[e[c>>2]&1](e[p0>>2]|0,o0<<2)|0,d||Ix(1),$=e[f0>>2]|0,l=Ox+12|0,$&&$x(d|0,e[l>>2]|0,$<<2|0)|0,Ex[e[c+4>>2]&1](e[p0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=o0,X0=c}else X0=c,p0=c+8|0;for(e[Ox+4>>2]=u0,l=Px[e[X0>>2]&1](e[p0>>2]|0,Hx<<4)|0,l||Ix(1),ox=px+60|0,e[ox>>2]=l,e[ue>>2]|0&&W0(407776,406802,255,407793),d=ix(w0,Hx)|0,e[D0>>2]=d,d=Px[e[X0>>2]&1](e[p0>>2]|0,d*1040|0)|0,l=d,d||Ix(1),e[ue>>2]=l,bx=px+32|0,e[bx>>2]=l,l=0;(l|0)!=(Hx|0);)Gx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,r0[d+(l*1040|0)+1032>>3]=z0,l=l+1|0;for(e[px+56>>2]=0,e[px+52>>2]=0,FD(c,fx,x0,g0,zx,T0),ID(c,Nx,x0,y0,Bx,P0),U0=fx+40|0,xx=fx+24|0,J0=fx+36|0,_x=fx+32|0,y0=Nx+40|0,T0=Nx+24|0,P0=Nx+36|0,k=Nx+32|0,$=C0,d=e0,l=s0,R0=0;(R0|0)!=(x0|0);){for(w0=e[a0+(R0<<4)>>2]|0,E0=e[a0+(R0<<4)+4>>2]|0,o0=e[a0+(R0<<4)+12>>2]|0,D0=o0&65535,g0=o0>>>16,u0=e[U0>>2]|0,f0=e[xx>>2]|0,o0=f0+(u0*2832|0)+((o0&65535)<<2)|0,e[o0>>2]=(e[o0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[J0>>2]|0)+1|0,e[J0>>2]=u0,(u0|0)==(e[_x>>2]|0)?(Nf(fx,0),u0=$,f0=w0):(u0=$,f0=w0);f0;)o0=n[h+(u0&f)>>0]|0,l=(e[Wx>>2]|0)+(e[Dx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Yx=e[bx>>2]|0,dx=Yx+(l*1040|0)+((o0&255)<<2)|0,e[dx>>2]=(e[dx>>2]|0)+1,l=Yx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[Qx>>2]|0)+1|0,e[Qx>>2]=l,(l|0)==(e[Cx>>2]|0)&&RD(c,px,0),l=d,u0=u0+1|0,d=o0,f0=f0+-1|0;dx=E0&16777215,$=$+w0+dx|0;do if(dx){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(D0&65535)<=127||(dx=e[y0>>2]|0,Yx=e[T0>>2]|0,g0=Yx+(dx*2096|0)+(g0<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,dx=Yx+(dx*2096|0)+2080|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[P0>>2]|0)+1|0,e[P0>>2]=dx,(dx|0)!=(e[k>>2]|0)))break;Lf(Nx,0)}while(!1);R0=R0+1|0}for(RD(c,px,1),Ex[e[c+4>>2]&1](e[p0>>2]|0,e[ox>>2]|0),e[ox>>2]=0,Nf(fx,1),Lf(Nx,1),e[Kx>>2]|0&&W0(406853,406802,473,407737),l=e[Ox>>2]|0,e[Rx>>2]=l<<6,l=Px[e[X0>>2]&1](e[p0>>2]|0,l<<8)|0,l||Ix(1),e[Kx>>2]=l,$=0;!($>>>0>=(e[Ox>>2]|0)>>>0);){for(l=ix($,Hx)|0,d=$<<6,o0=0;(o0|0)!=64;)e[(e[Kx>>2]|0)+(d+o0<<2)>>2]=l+(e[Dx+(o0<<2)>>2]|0),o0=o0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[a0+(d<<4)>>2]|0)|0,d=d+1|0;if(w0=(l>>>9)+1|0,u0=w0>>>0<257?w0:257,e[px>>2]=256,e[px+4>>2]=512,r0[px+8>>3]=400,e[px+16>>2]=0,E0=px+20|0,e[E0>>2]=Ox,e[px+28>>2]=D0,xx=px+32|0,e[xx>>2]=512,J0=px+36|0,e[J0>>2]=0,_x=px+40|0,e[_x>>2]=0,e[px+72>>2]=0,p0=Ox+16|0,l=e[p0>>2]|0,l>>>0<w0>>>0){for(f0=(l|0)==0?w0:l;!(f0>>>0>=w0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Ix(1),o0=e[p0>>2]|0,l=Ox+8|0,o0&&$x($|0,e[l>>2]|0,o0|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}if(p0=Ox+20|0,l=e[p0>>2]|0,l>>>0<w0>>>0){for(f0=(l|0)==0?w0:l;!(f0>>>0>=w0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||Ix(1),o0=e[p0>>2]|0,l=Ox+12|0,o0&&$x($|0,e[l>>2]|0,o0<<2|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}for(e[(e[E0>>2]|0)+4>>2]=w0,e[ue>>2]|0&&W0(407776,407818,70,407905),e[D0>>2]=u0,l=Px[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||Ix(1),e[ue>>2]=d,U0=px+24|0,e[U0>>2]=d,Gx(l|0,0,1024)|0,e[l+1024>>2]=0,r0[l+1032>>3]=z0,e[px+48>>2]=0,e[px+44>>2]=0,FD(c,fx,x0,g0,zx,T0),ID(c,Nx,x0,y0,Bx,P0),p0=fx+40|0,u0=fx+24|0,w0=fx+36|0,E0=fx+32|0,D0=Nx+40|0,g0=Nx+24|0,y0=Nx+36|0,T0=Nx+32|0,l=C0,R0=0;(R0|0)!=(x0|0);){for($=e[a0+(R0<<4)>>2]|0,o0=e[a0+(R0<<4)+4>>2]|0,Rx=e[a0+(R0<<4)+12>>2]|0,P0=Rx&65535,k=Rx>>>16,dx=e[p0>>2]|0,Yx=e[u0>>2]|0,Rx=Yx+(dx*2832|0)+((Rx&65535)<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*2832|0)+2816|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[w0>>2]|0)+1|0,e[w0>>2]=dx,(dx|0)==(e[E0>>2]|0)?(Nf(fx,0),d=l,f0=$):(d=l,f0=$);f0;)dx=e[_x>>2]|0,Yx=e[U0>>2]|0,Rx=Yx+(dx*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*1040|0)+1024|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[J0>>2]|0)+1|0,e[J0>>2]=dx,(dx|0)==(e[xx>>2]|0)&&TD(px,0),d=d+1|0,f0=f0+-1|0;dx=o0&16777215,l=l+$+dx|0,(dx|0)!=0&(P0&65535)>127&&(dx=e[D0>>2]|0,Yx=e[g0>>2]|0,Rx=Yx+(dx*2096|0)+(k<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*2096|0)+2080|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[y0>>2]|0)+1|0,e[y0>>2]=dx,(dx|0)==(e[T0>>2]|0))&&Lf(Nx,0),R0=R0+1|0}TD(px,1),Nf(fx,1),Lf(Nx,1),l=2}else l=$5(h,C0,f,w)|0,l=l?2:3,kD(c,h,C0,f,k,e0,s0,a0,x0,l,Ox);while(!1);(e[ae>>2]|0)>3&&OD(ux,nx,Ox),tD(c,h,C0,w,f,e0,s0,p,ux,nx,l,a0,x0,Ox,j,n0),Yx=c+4|0,dx=c+8|0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+8>>2]|0),e[Lx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[lx>>2]|0),e[lx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+32>>2]|0),e[kx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[gx>>2]|0),e[gx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+56>>2]|0),e[ex>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[ee>>2]|0),e[ee>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[ue>>2]|0),e[ue>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[zx>>2]|0),e[zx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Bx>>2]|0),e[Bx>>2]=0}if((w+4|0)>>>0>=(e[j>>2]|0)>>>3>>>0){c0=se;return}e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],n[n0>>0]=ax,e[j>>2]=Ce&255,If(p,h,C0,f,w,j,n0),c0=se}function vD(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 ED(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,s0=0,$=0,x0=0,a0=0,M=0,q=0;if(q=c0,c0=c0+1024|0,a0=q,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Gx(a0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=a0+((s[c+(l&h)>>0]|0)<<2)|0,e[f>>2]=(e[f>>2]|0)+1,l=l+13|0,p=p+1|0;for(M=k/13,d=a0+1024|0,l=a0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+t0[19516+(p<<2)>>2]:x0=+Xx(e0),w=e[l+4>>2]|0,s0=+(w>>>0),w>>>0<256?$=+t0[19516+(w<<2)>>2]:$=+Xx(s0),l=l+8|0,k=k-e0*x0-s0*$,f=f+p+w|0;if(s0=+(f>>>0),f?(f>>>0<256?e0=+t0[19516+(f<<2)>>2]:e0=+Xx(s0),$=s0,k=k+s0*e0):$=s0,(k<$?$:k)>M)return a0=0,c0=q,a0|0}return a0=1,c0=q,a0|0}function AD(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&&W0(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 Ho(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0;for(p0=c0,c0=c0+16|0,n0=p0+8|0,o0=p0,j=1;;){w=h,q=0;x:for(;;){do{if(!w)break x;w=w+-1|0,p=e[c+(w<<2)>>2]|0}while((p|0)==0);e[l+(q<<3)>>2]=p>>>0>j>>>0?p:j,o[l+(q<<3)+4>>1]=-1,o[l+(q<<3)+6>>1]=w,q=q+1|0}if((q|0)==1)break;x:do if(q>>>0<13)for($=1;;){if($>>>0>=q>>>0)break x;for(s0=l+($<<3)|0,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,k=n0,e[k>>2]=e0,e[k+4>>2]=s0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(CD(n0,p)|0);)if(x0=p,a0=e[x0+4>>2]|0,M=l+(w<<3)|0,e[M>>2]=e[x0>>2],e[M+4>>2]=a0,!k){w=0;break}M=l+(w<<3)|0,e[M>>2]=e0,e[M+4>>2]=s0,$=$+1|0}else for(x0=q>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,a0=w;!(a0>>>0>=q>>>0);){for(k=l+(a0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=o0,e[$>>2]=p,e[$+4>>2]=k,$=a0;!($>>>0<w>>>0||(e0=$-w|0,s0=l+(e0<<3)|0,!(CD(o0,s0)|0)));)u0=s0,s0=e[u0+4>>2]|0,M=l+($<<3)|0,e[M>>2]=e[u0>>2],e[M+4>>2]=s0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,a0=a0+1|0}x0=x0+1|0}while(!1);for(s0=l+(q<<3)|0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=q+1|0,M=l+(s0<<3)|0,e[M>>2]=-1,e[M+4>>2]=-1,M=q<<1,e0=0,w=q;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(s0<<3)>>2]|0,k>>>0>p>>>0?(a0=s0+1|0,p=e[l+(a0<<3)>>2]|0,x0=e0,$=s0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,a0=s0,$=e0),k>>>0>p>>>0?(e0=x0,s0=a0+1|0,k=a0):(p=k,e0=x0+1|0,s0=a0,k=x0),u0=M-w|0,e[l+(u0<<3)>>2]=(e[l+($<<3)>>2]|0)+p,o[l+(u0<<3)+4>>1]=$,o[l+(u0<<3)+6>>1]=k,u0=l+(u0+1<<3)|0,e[u0>>2]=-1,e[u0+4>>2]=-1;if(AD(M+-1|0,l,d,f)|0){f0=36;break}j=j<<1}if((f0|0)==36){c0=p0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=p0}function Z5(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,s0=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){s0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((s0|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(Gx(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,s0=29):c>>>0>4&&(w=0,s0=29);x:do if((s0|0)==29)for(;;){if(s0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,s0=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){s0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(s0=42)}else s0=42;while(!1);do if((s0|0)==42){s0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(s0=44);x:do if((s0|0)==44)for(s0=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 fs(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,s0=0,$=0;s0=c0,c0=c0+64|0,w=s0+32|0,e0=s0,l=w,d=l+32|0;do o[l>>1]=0,l=l+2|0;while((l|0)<(d|0));for(l=0;(l|0)!=(h|0);)k=w+((s[c+l>>0]|0)<<1)|0,o[k>>1]=(o[k>>1]|0)+1<<16>>16,l=l+1|0;for(o[w>>1]=0,o[e0>>1]=0,l=0,d=1;;){if((d|0)==16){k=0;break}k=l+(_[w+(d+-1<<1)>>1]|0)<<1,o[e0+(d<<1)>>1]=k,l=k,d=d+1|0}for(;(k|0)!=(h|0);){if(l=n[c+k>>0]|0,l<<24>>24){for(d=l&255,l=e0+(d<<1)|0,w=o[l>>1]|0,o[l>>1]=w+1<<16>>16,l=w,w=e[19452+((w&15)<<2)>>2]|0,p=4;!(p>>>0>=d>>>0);)$=(l&65535)>>>4,l=$,w=w<<4|e[19452+(($&15)<<2)>>2],p=p+4|0;o[f+(k<<1)>>1]=w>>>(0-d&3)}k=k+1|0}c0=s0}function CD(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 SD(c,h){return c=c|0,h=h|0,x3(h)|0}function NW(c,h){c=c|0,h=h|0,_D(h)}function kD(c,h,f,l,d,w,p,k,e0,s0,$){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,s0=s0|0,$=$|0;var x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0;for(G0=c0,c0=c0+2096|0,ox=G0,mW(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),X0=c+8|0,xx=Px[e[c>>2]&1](e[X0>>2]|0,e[$>>2]<<2)|0,xx||Ix(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[xx+(d<<2)>>2]=s0,d=d+1|0;for(Dx=$+48|0,a0=e[Dx>>2]|0,_x=Px[e[c>>2]&1](e[X0>>2]|0,x0*66560|0)|0,_x||Ix(1),d=x0<<6,s0=0;(s0|0)!=(d|0);)Gx(_x+(s0*1040|0)|0,0,1024)|0,e[_x+(s0*1040|0)+1024>>2]=0,r0[_x+(s0*1040|0)+1032>>3]=z0,s0=s0+1|0;for(M=$+96|0,e[M>>2]|0&&W0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Px[e[c>>2]&1](e[X0>>2]|0,x0*2832|0)|0,x0||Ix(1),e[M>>2]=x0,d=e[d>>2]|0,s0=0;(s0|0)!=(d|0);)Gx(x0+(s0*2832|0)|0,0,2816)|0,e[x0+(s0*2832|0)+2816>>2]=0,r0[x0+(s0*2832|0)+2824>>3]=z0,s0=s0+1|0;for(cx=Px[e[c>>2]&1](e[X0>>2]|0,a0*8384|0)|0,cx||Ix(1),d=a0<<2,s0=0;(s0|0)!=(d|0);)Gx(cx+(s0*2096|0)|0,0,2080)|0,e[cx+(s0*2096|0)+2080>>2]=0,r0[cx+(s0*2096|0)+2088>>3]=z0,s0=s0+1|0;for(d=e[$+12>>2]|0,d?a0=e[d>>2]|0:a0=0,d=e[$+36>>2]|0,d?s0=e[d>>2]|0:s0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,V0=$+32|0,q0=$+36|0,b0=e[M>>2]|0,T0=$+8|0,P0=$+12|0,R0=$+56|0,U0=$+60|0,M=p,o0=0,x0=0,f0=0,n0=0,u0=0,p0=0,y0=0;(y0|0)!=(e0|0);){for(s0?g0=f0:(n0=n0+1|0,g0=s[(e[V0>>2]|0)+n0>>0]|0,s0=e[(e[q0>>2]|0)+(n0<<2)>>2]|0),E0=k+(y0<<4)+12|0,w0=b0+(g0*2832|0)+((_[E0>>1]|0)<<2)|0,e[w0>>2]=(e[w0>>2]|0)+1,w0=b0+(g0*2832|0)+2816|0,e[w0>>2]=(e[w0>>2]|0)+1,w0=e[k+(y0<<4)>>2]|0,S0=M,D0=u0,p=a0,u0=f,h0=w0;h0;){switch(p?(f0=D0,a0=p):(p0=p0+1|0,f0=s[(e[T0>>2]|0)+p0>>0]|0,a0=e[(e[P0>>2]|0)+(p0<<2)>>2]|0),p=a0+-1|0,M=f0<<6,e[xx+(f0<<2)>>2]|0){case 0:{a0=w&63;break}case 1:{a0=(w&255)>>>2;break}case 2:{a0=n[406969+(w&255)>>0]|n[406969+(S0&255|256)>>0];break}case 3:{a0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(S0&255)>>0]|0)&255;break}default:a0=0}S0=M+(a0&255)|0,D0=h+(u0&l)|0,M=_x+(S0*1040|0)+((s[D0>>0]|0)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,S0=_x+(S0*1040|0)+1024|0,e[S0>>2]=(e[S0>>2]|0)+1,S0=w,w=n[D0>>0]|0,D0=f0,u0=u0+1|0,h0=h0+-1|0}if(s0=s0+-1|0,h0=e[k+(y0<<4)+4>>2]&16777215,f=f+w0+h0|0,h0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,M=o[E0>>1]|0,(M&65535)>127){switch(d?f0=x0:(f0=x0+1|0,o0=s[(e[R0>>2]|0)+f0>>0]|0,d=e[(e[U0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,a0=o0<<2,E0=M&65535,x0=E0&7,E0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}M=a0+x0|0,a0=cx+(M*2096|0)+((_[k+(y0<<4)+14>>1]|0)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,M=cx+(M*2096|0)+2080|0,e[M>>2]=(e[M>>2]|0)+1,M=u0,a0=o0,x0=f0}else M=u0,a0=o0;else M=S0,a0=o0;o0=a0,f0=g0,u0=D0,a0=p,y0=y0+1|0}for(D0=c+4|0,Ex[e[D0>>2]&1](e[X0>>2]|0,xx),x0=$+72|0,e[x0>>2]|0&&W0(406853,406802,86,406832),d=e[$>>2]|0,s0=$+76|0,e[s0>>2]=d<<6,d=Px[e[c>>2]&1](e[X0>>2]|0,d<<8)|0,d||Ix(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&W0(406882,406802,92,406832),f=e[s0>>2]|0,E0=$+92|0,e[E0>>2]=f,f=Px[e[c>>2]&1](e[X0>>2]|0,f*1040|0)|0,f||Ix(1),e[d>>2]=f,w0=e[s0>>2]|0,d=e[x0>>2]|0,u0=w0<<2,p=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,p||Ix(1),h0=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,h0||Ix(1),M=Px[e[c>>2]&1](e[X0>>2]|0,49176)|0,M||Ix(1),s0=0;(s0|0)!=(w0|0);)e[p+(s0<<2)>>2]=1,s0=s0+1|0;for(S0=d,d=0;(d|0)!=(w0|0);)h=_x+(d*1040|0)|0,$x(f+(d*1040|0)|0,h|0,1040)|0,r0[f+(d*1040|0)+1032>>3]=+cs(h),e[S0+(d<<2)>>2]=d,d=d+1|0;for(a0=0,s0=0;!(w0>>>0<=s0>>>0);){for(d=w0-s0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[h0+(a0+x0<<2)>>2]=s0+x0,x0=x0+1|0;a0=a0+(Tf(f,p,S0+(s0<<2)|0,h0+(a0<<2)|0,M,d,d,256,2048)|0)|0,s0=s0+64|0}d=a0<<6,x0=ix(a0>>>1,a0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(s0=2048;!(s0>>>0>=d>>>0);)s0=s0<<1;if(d=Px[e[c>>2]&1](e[X0>>2]|0,s0*24|0)|0,!d)Ix(1);else{$x(d|0,M|0,49152)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,M),J0=d;break}}else J0=M;while(!1);for(p0=Tf(f,p,S0,h0,J0,a0,w0,256,x0)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,J0),Ex[e[D0>>2]&1](e[X0>>2]|0,p),w=ox+1024|0,n0=ox+1024|0,f0=0;;){if((f0|0)==(w0|0)){d=0;break}if(x0=e[((f0|0)==0?S0:S0+(f0+-1<<2)|0)>>2]|0,d=_x+(f0*1040|0)|0,o0=_x+(f0*1040|0)+1024|0,!(e[o0>>2]|0))q=0;else{for($x(ox|0,d|0,1040)|0,e[n0>>2]=(e[n0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),s0=0;(s0|0)!=256;)J0=ox+(s0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[f+(x0*1040|0)+(s0<<2)>>2]|0),s0=s0+1|0;q=+cs(ox),q=q-+r0[f+(x0*1040|0)+1032>>3]}for(s0=x0,p=0;(p|0)!=(p0|0);){if(M=h0+(p<<2)|0,x0=e[M>>2]|0,!(e[o0>>2]|0))j=0;else{for($x(ox|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),a0=0;(a0|0)!=256;)J0=ox+(a0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[f+(x0*1040|0)+(a0<<2)>>2]|0),a0=a0+1|0;j=+cs(ox),j=j-+r0[f+(x0*1040|0)+1032>>3]}j<q&&(q=j,s0=e[M>>2]|0),p=p+1|0}e[S0+(f0<<2)>>2]=s0,f0=f0+1|0}for(;;){if((d|0)==(p0|0)){s0=0;break}J0=e[h0+(d<<2)>>2]|0,Gx(f+(J0*1040|0)|0,0,1024)|0,e[f+(J0*1040|0)+1024>>2]=0,r0[f+(J0*1040|0)+1032>>3]=z0,d=d+1|0}for(;(s0|0)!=(w0|0);){for(d=e[S0+(s0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[_x+(s0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)J0=f+(d*1040|0)+(x0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[_x+(s0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;s0=s0+1|0}for(Ex[e[D0>>2]&1](e[X0>>2]|0,h0),w=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,w||Ix(1),d=0;;){if((d|0)==(w0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(w0|0);)s0=w+(e[S0+(x0<<2)>>2]<<2)|0,(e[s0>>2]|0)==-1&&(e[s0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[X0>>2]|0,d*1040|0)|0,p||Ix(1),a0=0,M=0;(M|0)!=(w0|0);)x0=S0+(M<<2)|0,d=e[x0>>2]|0,s0=e[w+(d<<2)>>2]|0,(s0|0)==(a0|0)?($x(p+(a0*1040|0)|0,f+(d*1040|0)|0,1040)|0,s0=e[w+(e[x0>>2]<<2)>>2]|0,d=a0+1|0):d=a0,e[x0>>2]=s0,a0=d,M=M+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,w),d=0;(d|0)!=(a0|0);)$x(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,p),e[E0>>2]=a0,Ex[e[D0>>2]&1](e[X0>>2]|0,_x),x0=$+80|0,e[x0>>2]|0&&W0(406910,406802,106,406832),d=e[Dx>>2]|0,s0=$+84|0,e[s0>>2]=d<<2,d=Px[e[c>>2]&1](e[X0>>2]|0,d<<4)|0,d||Ix(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&W0(406940,406802,112,406832),f=e[s0>>2]|0,E0=$+108|0,e[E0>>2]=f,f=Px[e[c>>2]&1](e[X0>>2]|0,f*2096|0)|0,f||Ix(1),e[d>>2]=f,w0=e[s0>>2]|0,d=e[x0>>2]|0,u0=w0<<2,p=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,p||Ix(1),h0=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,h0||Ix(1),M=Px[e[c>>2]&1](e[X0>>2]|0,49176)|0,M||Ix(1),s0=0;(s0|0)!=(w0|0);)e[p+(s0<<2)>>2]=1,s0=s0+1|0;for(S0=d,d=0;(d|0)!=(w0|0);)$=cx+(d*2096|0)|0,$x(f+(d*2096|0)|0,$|0,2096)|0,r0[f+(d*2096|0)+2088>>3]=+us($),e[S0+(d<<2)>>2]=d,d=d+1|0;for(a0=0,s0=0;!(w0>>>0<=s0>>>0);){for(d=w0-s0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[h0+(a0+x0<<2)>>2]=s0+x0,x0=x0+1|0;a0=a0+(Rf(f,p,S0+(s0<<2)|0,h0+(a0<<2)|0,M,d,d,256,2048)|0)|0,s0=s0+64|0}d=a0<<6,x0=ix(a0>>>1,a0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(s0=2048;!(s0>>>0>=d>>>0);)s0=s0<<1;if(d=Px[e[c>>2]&1](e[X0>>2]|0,s0*24|0)|0,!d)Ix(1);else{$x(d|0,M|0,49152)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,M),bx=d;break}}else bx=M;while(!1);for(p0=Rf(f,p,S0,h0,bx,a0,w0,256,x0)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,bx),Ex[e[D0>>2]&1](e[X0>>2]|0,p),w=ox+2080|0,n0=ox+2080|0,f0=0;;){if((f0|0)==(w0|0)){d=0;break}if(x0=e[((f0|0)==0?S0:S0+(f0+-1<<2)|0)>>2]|0,d=cx+(f0*2096|0)|0,o0=cx+(f0*2096|0)+2080|0,!(e[o0>>2]|0))q=0;else{for($x(ox|0,d|0,2096)|0,e[n0>>2]=(e[n0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),s0=0;(s0|0)!=520;)bx=ox+(s0<<2)|0,e[bx>>2]=(e[bx>>2]|0)+(e[f+(x0*2096|0)+(s0<<2)>>2]|0),s0=s0+1|0;q=+us(ox),q=q-+r0[f+(x0*2096|0)+2088>>3]}for(s0=x0,p=0;(p|0)!=(p0|0);){if(M=h0+(p<<2)|0,x0=e[M>>2]|0,!(e[o0>>2]|0))j=0;else{for($x(ox|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),a0=0;(a0|0)!=520;)bx=ox+(a0<<2)|0,e[bx>>2]=(e[bx>>2]|0)+(e[f+(x0*2096|0)+(a0<<2)>>2]|0),a0=a0+1|0;j=+us(ox),j=j-+r0[f+(x0*2096|0)+2088>>3]}j<q&&(q=j,s0=e[M>>2]|0),p=p+1|0}e[S0+(f0<<2)>>2]=s0,f0=f0+1|0}for(;;){if((d|0)==(p0|0)){s0=0;break}ox=e[h0+(d<<2)>>2]|0,Gx(f+(ox*2096|0)|0,0,2080)|0,e[f+(ox*2096|0)+2080>>2]=0,r0[f+(ox*2096|0)+2088>>3]=z0,d=d+1|0}for(;(s0|0)!=(w0|0);){for(d=e[S0+(s0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[cx+(s0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)ox=f+(d*2096|0)+(x0<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[cx+(s0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;s0=s0+1|0}for(Ex[e[D0>>2]&1](e[X0>>2]|0,h0),w=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,w||Ix(1),d=0;;){if((d|0)==(w0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(w0|0);)s0=w+(e[S0+(x0<<2)>>2]<<2)|0,(e[s0>>2]|0)==-1&&(e[s0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[X0>>2]|0,d*2096|0)|0,p||Ix(1),a0=0,M=0;(M|0)!=(w0|0);)x0=S0+(M<<2)|0,d=e[x0>>2]|0,s0=e[w+(d<<2)>>2]|0,(s0|0)==(a0|0)?($x(p+(a0*2096|0)|0,f+(d*2096|0)|0,2096)|0,s0=e[w+(e[x0>>2]<<2)>>2]|0,d=a0+1|0):d=a0,e[x0>>2]=s0,a0=d,M=M+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,w),d=0;(d|0)!=(a0|0);)$x(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;Ex[e[D0>>2]&1](e[X0>>2]|0,p),e[E0>>2]=a0,Ex[e[D0>>2]&1](e[X0>>2]|0,cx),c0=G0}function OD(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);)Z5(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);)Z5(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);)Z5(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function FD(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,s0=0,$=0,x0=0,a0=0,M=0;if(a0=(f>>>10)+1|0,x0=a0>>>0<257?a0:257,e[h>>2]=704,e[h+4>>2]=1024,r0[h+8>>3]=500,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=1024,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0)|0,k||Ix(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if($=l+20|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if(e[(e[M>>2]|0)+4>>2]=a0,e[d>>2]|0&&W0(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)Ix(1);else{e[d>>2]=p,e[h+24>>2]=p,Gx(f|0,0,2816)|0,e[f+2816>>2]=0,r0[f+2824>>3]=z0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function ID(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,s0=0,$=0,x0=0,a0=0,M=0;if(a0=(f>>>9)+1|0,x0=a0>>>0<257?a0:257,e[h>>2]=64,e[h+4>>2]=512,r0[h+8>>3]=100,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=512,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0)|0,k||Ix(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if($=l+20|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if(e[(e[M>>2]|0)+4>>2]=a0,e[d>>2]|0&&W0(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)Ix(1);else{e[d>>2]=p,e[h+24>>2]=p,Gx(f|0,0,2080)|0,e[f+2080>>2]=0,r0[f+2088>>3]=z0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function TD(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+2112|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*1040|0)|0,s0=S0+(q*1040|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*1040|0)|0,S0+(q*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)s0=f0+($*1040|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,s0=f0+($*1040|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*1040|0)|0,0,1024)|0,e[S0+(f*1040|0)+1024>>2]=0,r0[S0+(f*1040|0)+1032>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*1040|0)|0,f0+1040|0,1040)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*1040|0)|0,0,1024)|0,e[S0+(b0*1040|0)+1024>>2]=0,r0[S0+(b0*1040|0)+1032>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*1040|0)|0,0,1024)|0,e[S0+(D0*1040|0)+1024>>2]=0,r0[S0+(D0*1040|0)+1032>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,r0[x0+(f*1040|0)+1032>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function Nf(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+5696|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*2832|0)|0,s0=S0+(q*2832|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2832|0)|0,S0+(q*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)s0=f0+($*2832|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,s0=f0+($*2832|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*2832|0)|0,0,2816)|0,e[S0+(f*2832|0)+2816>>2]=0,r0[S0+(f*2832|0)+2824>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*2832|0)|0,f0+2832|0,2832)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*2832|0)|0,0,2816)|0,e[S0+(b0*2832|0)+2816>>2]=0,r0[S0+(b0*2832|0)+2824>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*2832|0)|0,0,2816)|0,e[S0+(D0*2832|0)+2816>>2]=0,r0[S0+(D0*2832|0)+2824>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,r0[x0+(f*2832|0)+2824>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function Lf(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+4224|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*2096|0)|0,s0=S0+(q*2096|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2096|0)|0,S0+(q*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)s0=f0+($*2096|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,s0=f0+($*2096|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*2096|0)|0,0,2080)|0,e[S0+(f*2096|0)+2080>>2]=0,r0[S0+(f*2096|0)+2088>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*2096|0)|0,f0+2096|0,2096)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*2096|0)|0,0,2080)|0,e[S0+(b0*2096|0)+2080>>2]=0,r0[S0+(b0*2096|0)+2088>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*2096|0)|0,0,2080)|0,e[S0+(D0*2096|0)+2080>>2]=0,r0[S0+(D0*2096|0)+2088>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,r0[x0+(f*2096|0)+2088>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function RD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0;if(V0=c0,c0=c0+16|0,p0=V0,P0=e[h+28>>2]|0,b0=h+4|0,R0=e[b0>>2]|0,p=e[h+60>>2]|0,y0=h+32|0,w=e[y0>>2]|0,U0=h+44|0,d=e[U0>>2]|0,D0=h+12|0,l=e[D0>>2]|0,d>>>0<l>>>0?e[U0>>2]=l:l=d,T0=h+24|0,e[T0>>2]|0){if(l){for(S0=c+8|0,w0=Px[e[c>>2]&1](e[S0>>2]|0,R0<<3)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[S0>>2]|0,R0*2080|0)|0,E0||Ix(1),h0=Px[e[c>>2]&1](e[S0>>2]|0,R0<<4)|0,h0||Ix(1),e[p0>>2]=0,e[p0+4>>2]=0,e[p0+8>>2]=0,e[p0+12>>2]=0,u0=h+48|0,o0=0;(o0|0)!=(R0|0);){for(M=(e[u0>>2]|0)+o0|0,n0=e[h>>2]|0,l=w+(M*1040|0)|0,a0=w+(M*1040|0)+(n0<<2)|0,n0&1?(s0=0,x0=0,g0=42):(k=0,x0=0);(g0|0)==42&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,x0=x0+d|0),!(l>>>0>=a0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,x0=x0+d|0,g0=42;for(s0=+(x0>>>0),x0?(x0>>>0<256?e0=+t0[19516+(x0<<2)>>2]:e0=+Xx(s0),$=s0,k=k+s0*e0):$=s0,n0=w0+(o0<<3)|0,r0[n0>>3]=k<$?$:k,M=w+(M*1040|0)|0,j=0;(j|0)!=2;){for(q=(ix(j,R0)|0)+o0|0,l=(e[h+52+(j<<2)>>2]|0)+o0|0,$x(E0+(q*1040|0)|0,M|0,1040)|0,d=E0+(q*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)a0=E0+(q*1040|0)+(d<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=E0+(q*1040|0)|0,a0=E0+(q*1040|0)+(x0<<2)|0,x0&1?(s0=0,x0=0,g0=62):(k=0,x0=0);(g0|0)==62&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,x0=x0+d|0),!(l>>>0>=a0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,x0=x0+d|0,g0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+t0[19516+(x0<<2)>>2]:e0=+Xx($),s0=$,k=k+$*e0):s0=$,$=k<s0?s0:k,r0[h0+(q<<3)>>3]=$,a0=p0+(j<<3)|0,r0[a0>>3]=+r0[a0>>3]+($-+r0[n0>>3]-+r0[p+(q<<3)>>3]),j=j+1|0}o0=o0+1|0}if(x0=P0,k=+r0[p0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+r0[h+16>>3],k>f0)&&+r0[p0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[T0>>2]<<2)>>2]=e[U0>>2],n[(e[x0+8>>2]|0)+(e[T0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=ix(e[x0>>2]|0,R0)|0,l=0;(l|0)!=(R0|0);)p0=p+(l<<3)|0,r0[p+(R0+l<<3)>>3]=+r0[p0>>3],r0[p0>>3]=+r0[w0+(l<<3)>>3],l=l+1|0;e[T0>>2]=(e[T0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+R0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[b0>>2]|0,d=0;;){if((d|0)==(l|0))break x;b0=p+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0}while(!1);e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[D0>>2]}else g0=84;do if((g0|0)==84){if(l=e[U0>>2]|0,d=e[T0>>2]|0,+r0[p0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[T0>>2]|0,b0=e[x0+8>>2]|0,n[b0+l>>0]=n[b0+(l+-2)>>0]|0,l=h+52|0,b0=e[l>>2]|0,d=h+56|0,e[l>>2]=e[d>>2],e[d>>2]=b0,d=0;(d|0)!=(R0|0);)y0=R0+d|0,$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,E0+(y0*1040|0)|0,1040)|0,b0=p+(d<<3)|0,r0[p+(y0<<3)>>3]=+r0[b0>>3],r0[b0>>3]=+r0[h0+(y0<<3)>>3],b0=(e[u0>>2]|0)+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0;e[T0>>2]=(e[T0>>2]|0)+1,e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[D0>>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)!=(R0|0);)$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,E0+(d*1040|0)|0,1040)|0,k=+r0[h0+(d<<3)>>3],r0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(r0[p+(R0+d<<3)>>3]=k),b0=(e[u0>>2]|0)+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0;e[U0>>2]=0,b0=h+64|0,U0=(e[b0>>2]|0)+1|0,e[b0>>2]=U0,U0>>>0>1&&(U0=h+40|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0>>2]|0))}while(!1);U0=c+4|0,Ex[e[U0>>2]&1](e[S0>>2]|0,h0),Ex[e[U0>>2]&1](e[S0>>2]|0,E0),Ex[e[U0>>2]&1](e[S0>>2]|0,w0)}}else{for(q=P0,e[e[q+12>>2]>>2]=l,n[e[q+8>>2]>>0]=0,M=w,a0=0;(a0|0)!=(R0|0);){for(c=e[h>>2]|0,l=M+(a0*1040|0)|0,x0=M+(a0*1040|0)+(c<<2)|0,c&1?(s0=0,w=0,g0=12):(k=0,w=0);(g0|0)==12&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,w=w+d|0,g0=12;$=+(w>>>0),w?(w>>>0<256?e0=+t0[19516+(w<<2)>>2]:e0=+Xx($),s0=$,k=k+$*e0):s0=$,f0=k<s0?s0:k,r0[p+(a0<<3)>>3]=f0,r0[p+(R0+a0<<3)>>3]=f0,a0=a0+1|0}e[T0>>2]=(e[T0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,g0=h+48|0,p=(e[g0>>2]|0)+R0|0,e[g0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[b0>>2]|0,d=0;;){if((d|0)==(l|0))break x;b0=p+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0}while(!1);e[U0>>2]=0}if(!f){c0=V0;return}f=P0,U0=ix(e[f>>2]|0,R0)|0,e[e[h+36>>2]>>2]=U0,e[f+4>>2]=e[T0>>2],c0=V0}function PD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0;n0=c,w=o[88430+((ix(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,E0=c+1|0,S0=E0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(o0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,a0=1<<j,p=(k&255)>>>7,w<<24>>24){if(a0=w<<24>>24!=10,q>>>0>f>>>0){h0=d,w=o0,d=h0;continue}x0=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+q|0,k=c+(q+-4)|0,s0=0,w=n0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+(x0+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){h0=d,w=o0,d=h0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){h0=d,w=o0,d=h0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){h0=d,w=o0,d=h0;continue x}for($=x0+1|0,x0=c+q|0,k=c+(q+-4)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+($+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q+-1|0)){h0=d,w=o0,d=h0;continue x}break}default:for(k=0;;){if(k>>>0>=q>>>0)break e;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+k>>0]|0)){h0=d,w=o0,d=h0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){h0=d,w=o0,d=h0;continue x}k=k+1|0}}while(!1);if(h0=(M+((a0?44:9)<<j)<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=q+1|0,d>>>0>=f>>>0){d=1,w=o0;continue}switch(n[c+q>>0]|0){case 32:{w=(M+(((a0&1)<<6|4)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 34:{if(u0=(M+((a0?87:66)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=62){d=1,w=o0;continue x}w=(M+((a0?97:69)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 46:{if(u0=(M+((a0?101:79)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=o0;continue x}w=(M+((a0?114:88)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 44:{if(u0=(M+((a0?112:99)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=o0;continue x}w=(M+((a0?107:58)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 39:{w=(M+((a0?94:74)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 40:{w=(M+((a0?113:78)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{w=(M+((a0&1|104)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 39:{w=(M+(((a0&1)<<3)+108<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}default:{d=1,w=o0;continue x}}default:{d=1,w=o0;continue x}}}for($=(e[11272+(q<<2)>>2]|0)+(ix(q,M)|0)|0,k=q>>>0<f>>>0?q:f,x0=c+k|0,k=c+(k+-4)|0,s0=0,w=n0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+($+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;for((s0|0)==(q|0)&&(h0=(M<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=1),w=q+-1|0,s0>>>0>=w>>>0&&(u0=(M+(12<<j)<<5)+q|0,h0=l+(w<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,h0=q+2|0,h0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+q>>0]|0)==110&&(n[c+(q+1)>>0]|0)==103&&(n[c+h0>>0]|0)==32&&(h0=(M+(49<<j)<<5)+q|0,d=l+(q+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0),d=1),q>>>0>9?(w=q+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=q+-2|0,k=s0>>>0<k>>>0?s0:k;!(w>>>0>k>>>0);)h0=(M+(s[407930+(q-w)>>0]<<j)<<5)+q|0,d=l+(w<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=1,w=w+1|0;if(s0>>>0<q>>>0){w=o0;continue}if(w=q+6|0,w>>>0>=f>>>0){w=o0;continue}do switch(n[c+q>>0]|0){case 32:switch(u0=(M+a0<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,n[c+(q+1)>>0]|0){case 97:switch(n[c+(q+2)>>0]|0){case 32:{h0=(M+(28<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(46<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 116:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(60<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=100){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(10<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 98:{if((n[c+(q+2)>>0]|0)!=121){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(38<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:switch(n[c+(q+2)>>0]|0){case 110:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(a0<<4)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(47<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 102:{switch(n[c+(q+2)>>0]|0){case 111:{if((n[c+(q+3)>>0]|0)!=114){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(25<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 114:break;default:{w=o0;continue x}}if((n[c+(q+3)>>0]|0)!=111){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=109){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(37<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 111:switch(n[c+(q+2)>>0]|0){case 102:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(a0<<3)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(45<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 110:{if((n[c+(q+2)>>0]|0)!=111){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(80<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 116:{switch(n[c+(q+2)>>0]|0){case 104:break;case 111:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(17<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}switch(n[c+(q+3)>>0]|0){case 101:{if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(5<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 97:break;default:{w=o0;continue x}}if((n[c+(q+4)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(29<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 119:{if((n[c+(q+2)>>0]|0)!=105){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=104){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(35<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 34:{if(u0=(M+(19<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=62){w=o0;continue x}h0=(M+(21<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 46:{if(u0=(M+(20<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){w=o0;continue x}if(u0=(M+(31<<j)<<5)+q|0,h0=l+(q+2<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+2)>>0]|0)!=84){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=104){w=o0;continue x}switch(n[c+(q+4)>>0]|0){case 101:{if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(43<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:break;default:{w=o0;continue x}}if((n[c+(q+5)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+6)>>0]|0)!=32){w=o0;continue x}h0=(M+(75<<j)<<5)+q|0,w=l+(q+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 44:{if(u0=(M+(76<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){w=o0;continue x}h0=(M+(14<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 10:{if(u0=(M+(22<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=9){w=o0;continue x}h0=(M+(50<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 93:{h0=(M+(24<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 39:{h0=(M+(36<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 58:{h0=(M+(51<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 40:{h0=(M+(57<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{h0=(M+(70<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 39:{h0=(M+(86<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 97:{if((n[c+(q+1)>>0]|0)!=108){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(84<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 101:switch(n[c+(q+1)>>0]|0){case 100:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(53<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 114:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(82<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+2)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(95<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 102:{if((n[c+(q+1)>>0]|0)!=117){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=108){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(90<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:switch(n[c+(q+1)>>0]|0){case 118:{if((n[c+(q+2)>>0]|0)!=101){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(92<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 122:{if((n[c+(q+2)>>0]|0)!=101){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(100<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 108:{switch(n[c+(q+1)>>0]|0){case 101:break;case 121:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(61<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}if((n[c+(q+2)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(93<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 111:{if((n[c+(q+1)>>0]|0)!=117){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(106<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}while(!1)}if(f>>>0<=4)return f=d,f=f&1,f=f<<24>>24!=0,f|0;h0=n[c>>0]|0,o0=h0<<24>>24==32;x:do switch(h0<<24>>24){case 32:case 46:{w=o[88430+((ix(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=o0?6:32,p0=o0?2:77,u0=o0?89:67,h0=c+2|0,p=w<<16>>16==0&1,w=w&65535;e:for(;;){if(p<<24>>24)break x;if(n0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(q>>>0>h>>>0){j=d,w=n0,d=j;continue}for($=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,x0=c+(q+1)|0,k=c+(q+-3)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(D0=w,a0=280811+($+s0)|0,(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)!=(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){D0=d,w=n0,d=D0;continue}if(d=q+1|0,D0=(M+(f0<<j)<<5)+q|0,w=l+(d<<2)|0,a0=e[w>>2]|0,e[w>>2]=a0>>>0<D0>>>0?a0:D0,w=q+2|0,w>>>0>=f>>>0){d=1,w=n0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{D0=(M+(p0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<D0>>>0?w:D0,d=1,w=n0;continue e}case 40:{D0=(M+(u0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<D0>>>0?w:D0,d=1,w=n0;continue e}default:{if(!o0){d=1,w=n0;continue e}switch(d<<24>>24){case 44:{if(a0=(M+(103<<j)<<5)+q|0,D0=l+(w<<2)|0,x0=e[D0>>2]|0,e[D0>>2]=x0>>>0<a0>>>0?x0:a0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+(33<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 46:{if(a0=(M+(71<<j)<<5)+q|0,D0=l+(w<<2)|0,x0=e[D0>>2]|0,e[D0>>2]=x0>>>0<a0>>>0?x0:a0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+(52<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(81<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 39:{w=(M+(98<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}default:{d=1,w=n0;continue e}}default:{d=1,w=n0;continue e}}}}}if(!o0){D0=d,w=n0,d=D0;continue}if(a0=w<<24>>24!=10,q>>>0>h>>>0){D0=d,w=n0,d=D0;continue}x0=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(q+1)|0,k=c+(q+-3)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(g0=w,D0=280811+(x0+s0)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){g0=d,w=n0,d=g0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){g0=d,w=n0,d=g0;continue e}if((w&255^32|0)!=(s[E0>>0]|0)){g0=d,w=n0,d=g0;continue e}for(s0=x0+1|0,$=c+(q+1)|0,k=c+(q+-3)|0,e0=0,w=h0;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(q+-1|0)){g0=d,w=n0,d=g0;continue e}break}default:for(k=0;;){if(k>>>0>=q>>>0)break t;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+(k+1)>>0]|0)){g0=d,w=n0,d=g0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){g0=d,w=n0,d=g0;continue e}k=k+1|0}}while(!1);if(d=q+1|0,g0=(M+((a0?85:30)<<j)<<5)+q|0,w=l+(d<<2)|0,D0=e[w>>2]|0,e[w>>2]=D0>>>0<g0>>>0?D0:g0,w=q+2|0,w>>>0>=f>>>0){d=1,w=n0;continue}switch(n[c+d>>0]|0){case 32:{g0=(M+((a0?83:15)<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<g0>>>0?w:g0,d=1,w=n0;continue e}case 44:{if(a0||(D0=(M+(109<<j)<<5)+q|0,g0=l+(w<<2)|0,x0=e[g0>>2]|0,e[g0>>2]=x0>>>0<D0>>>0?x0:D0),(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+((a0?111:65)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 46:{if(D0=(M+((a0?115:96)<<j)<<5)+q|0,g0=l+(w<<2)|0,x0=e[g0>>2]|0,e[g0>>2]=x0>>>0<D0>>>0?x0:D0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+((a0?117:91)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(((a0&1)<<3^8)+110<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 39:{w=(M+(120-(a0&1)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}default:{d=1,w=n0;continue e}}default:{d=1,w=n0;continue e}}}}default:}while(!1);if(f>>>0<=5)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;w=n[E0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{w0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(w0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(w0=241);while(!1);x:do if((w0|0)==241)for(j=c+2|0,w=o[88430+((ix(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,n0=f+-2|0,p=w<<16>>16==0&1,w=w&65535;;){if(p<<24>>24)break x;if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,a0=w&127,M=s[280786+a0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|a0>>>0>n0>>>0){g0=d,w=q,d=g0;continue}for(s0=(e[11272+(a0<<2)>>2]|0)+(ix(a0,w>>>16)|0)|0,$=c+(a0+2)|0,k=c+(a0+-2)|0,e0=0,w=j;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(a0|0)){g0=d,w=q,d=g0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<M)<<5)+a0|0,d=l+(a0+2<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q;continue}if(k=a0+2|0,k>>>0>=f>>>0){g0=d,w=q,d=g0;continue}if((n[c+k>>0]|0)!=32){g0=d,w=q,d=g0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<M)<<5)+a0|0,d=l+(a0+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q}while(!1);if(f>>>0<=8)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;switch(n[c>>0]|0){case 32:{if((n[E0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;break}case 46:{if((n[E0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;break}default:return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0}for(j=c+5|0,w=o[88430+((ix(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,n0=f+-5|0,p=w<<16>>16==0&1,w=w&65535;!(p<<24>>24);){if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,a0=w&127,M=s[280786+a0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|a0>>>0>n0>>>0){g0=d,w=q,d=g0;continue}for(s0=(e[11272+(a0<<2)>>2]|0)+(ix(a0,w>>>16)|0)|0,$=c+(a0+5)|0,k=c+(a0+1)|0,e0=0,w=j;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(a0|0)){g0=d,w=q,d=g0;continue}if(d=a0+5|0,D0=(x0+(((n[c>>0]|0)==32?41:72)<<M)<<5)+a0|0,g0=l+(d<<2)|0,E0=e[g0>>2]|0,e[g0>>2]=E0>>>0<D0>>>0?E0:D0,d>>>0>=f>>>0){d=1,w=q;continue}if(!((n[c>>0]|0)==32&(a0+8|0)>>>0<f>>>0)){d=1,w=q;continue}if((n[c+d>>0]|0)!=32){d=1,w=q;continue}if((n[c+(a0+6)>>0]|0)!=111){d=1,w=q;continue}if((n[c+(a0+7)>>0]|0)!=102){d=1,w=q;continue}if((n[c+(a0+8)>>0]|0)!=32){d=1,w=q;continue}if(D0=(x0+(62<<M)<<5)+a0|0,g0=l+(a0+9<<2)|0,E0=e[g0>>2]|0,e[g0>>2]=E0>>>0<D0>>>0?E0:D0,(a0+12|0)>>>0>=f>>>0){d=1,w=q;continue}if((n[c+(a0+9)>>0]|0)!=116){d=1,w=q;continue}if((n[c+(a0+10)>>0]|0)!=104){d=1,w=q;continue}if((n[c+(a0+11)>>0]|0)!=101){d=1,w=q;continue}if((n[c+(a0+12)>>0]|0)!=32){d=1,w=q;continue}w=(x0+(73<<M)<<5)+a0|0,d=l+(a0+13<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q}return g0=d&1,g0=g0<<24>>24!=0,g0|0}function $5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0;d=0,n0=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,o0=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)&&(s0=(k&255)<<6&1984|e0&63,s0>>>0>127)){p=2,w=s0;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)&&(a0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,a0>>>0>2047)){p=3,w=a0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(M=n[c+(w+1)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+2)>>0]|0,(q&-64)<<24>>24==-128)&&(j=n[c+(w+3)>>0]|0,(j&-64)<<24>>24==-128)&&(o0=(k&255)<<18&1835008|(M&255)<<12&258048|(q&255)<<6&4032|j&63,o0>>>0>65535&o0>>>0<1114112)){w=4,o0=20;break e}else o0=19}else o0=19}else o0=19;while(!1);(o0|0)==19&&(o0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(o0|0)==20&&(o0=0,p=w,d=d+w|0),n0=n0+p|0}return+(n0>>>0)>+(l>>>0)*.75|0}function Xx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0;r0[d0>>3]=c,f=e[d0>>2]|0,h=e[d0+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{r0[d0>>3]=c*0x40000000000000,h=e[d0+4>>2]|0,l=e[d0>>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[d0>>2]=l,e[d0+4>>2]=(d&1048575)+1072079006,e0=+r0[d0>>3]+-1,c=e0*(e0*.5),s0=e0/(e0+2),p=s0*s0,k=p*p,r0[d0>>3]=e0-c,l=e[d0+4>>2]|0,e[d0>>2]=0,e[d0+4>>2]=l,w=+r0[d0>>3],c=s0*(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 x3(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0;do if(c>>>0<245){if(M=c>>>0<11?16:c+11&-8,c=M>>>3,k=e[5147]|0,h=k>>>c,h&3){h=(h&1^1)+c|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,d=e[l>>2]|0,w=d+8|0,p=e[w>>2]|0;do if((f|0)!=(p|0))if(p>>>0<(e[5151]|0)>>>0&&ie(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else ie();else e[5147]=k&~(1<<h);while(!1);return J0=h<<3,e[d+4>>2]=J0|3,J0=d+(J0|4)|0,e[J0>>2]=e[J0>>2]|1,J0=w,J0|0}if(p=e[5149]|0,M>>>0>p>>>0){if(h){l=2<<c,l=h<<c&(l|0-l),l=(l&0-l)+-1|0,e0=l>>>12&16,l=l>>>e0,d=l>>>5&8,l=l>>>d,w=l>>>2&4,l=l>>>w,f=l>>>1&2,l=l>>>f,h=l>>>1&1,h=(d|e0|w|f|h)+(l>>>h)|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,w=e[l>>2]|0,e0=w+8|0,d=e[e0>>2]|0;do if((f|0)!=(d|0))if(d>>>0<(e[5151]|0)>>>0&&ie(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,s0=e[5149]|0;break}else ie();else e[5147]=k&~(1<<h),s0=p;while(!1);return J0=h<<3,p=J0-M|0,e[w+4>>2]=M|3,k=w+M|0,e[w+(M|4)>>2]=p|1,e[w+J0>>2]=p,s0&&(d=e[5152]|0,f=s0>>>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?ie():($=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,J0=e0,J0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,xx=k>>>12&16,k=k>>>xx,q0=k>>>5&8,k=k>>>q0,J0=k>>>2&4,k=k>>>J0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((q0|xx|J0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-M|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-M|0,J0=h>>>0<k>>>0,k=J0?h:k,h=c,e0=J0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&ie(),p=e0+M|0,e0>>>0>=p>>>0&&ie(),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)){a0=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)ie();else{e[h>>2]=0,a0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&ie(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&ie(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,a0=f;break}else ie();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]=a0,!a0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&ie(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=a0:e[w+20>>2]=a0,!a0)break;h=e[5151]|0,a0>>>0<h>>>0&&ie(),e[a0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)ie();else{e[a0+16>>2]=c,e[c+24>>2]=a0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)ie();else{e[a0+20>>2]=c,e[c+24>>2]=a0;break}}while(!1);return k>>>0<16?(J0=k+M|0,e[e0+4>>2]=J0|3,J0=e0+(J0+4)|0,e[J0>>2]=e[J0>>2]|1):(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=e[5149]|0,c&&(d=e[5152]|0,f=c>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(c=20628+(c+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?ie():(q=c,j=h)):(e[5147]=h|f,q=20628+(c+2<<2)|0,j=l),e[q>>2]=d,e[j+12>>2]=d,e[d+8>>2]=j,e[d+12>>2]=l),e[5149]=k,e[5152]=p),J0=e0+8|0,J0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,M=c&-8,e0=e[5148]|0,e0){h=0-M|0,c=c>>>8,c?M>>>0>16777215?k=31:(j=(c+1048320|0)>>>16&8,S0=c<<j,q=(S0+520192|0)>>>16&4,S0=S0<<q,k=(S0+245760|0)>>>16&2,k=14-(q|j|k)+(S0<<k>>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,S0=86;else for(d=h,f=0,w=M<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-M|0,h>>>0<d>>>0)if((l|0)==(M|0)){l=p,c=p,S0=90;break x}else c=p;else h=d;if(S0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(S0|0)==0|(S0|0)==(p|0)?f:S0,p)d=h,w=w<<1;else{S0=86;break}}while(!1);if((S0|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,a0=c>>>12&16,c=c>>>a0,x0=c>>>5&8,c=c>>>x0,q=c>>>2&4,c=c>>>q,j=c>>>1&2,c=c>>>j,f=c>>>1&1,f=e[20892+((x0|a0|q|j|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,S0=90):(k=h,e0=c)}if((S0|0)==90)for(;;){if(S0=0,j=(e[l+4>>2]&-8)-M|0,f=j>>>0<h>>>0,h=f?j:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,S0=90;continue}if(l=e[l+20>>2]|0,l)S0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-M|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&ie(),p=e0+M|0,e0>>>0>=p>>>0&&ie(),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)){o0=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)ie();else{e[h>>2]=0,o0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&ie(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&ie(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,o0=f;break}else ie();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]=o0,!o0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&ie(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=o0:e[w+20>>2]=o0,!o0)break;h=e[5151]|0,o0>>>0<h>>>0&&ie(),e[o0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)ie();else{e[o0+16>>2]=c,e[c+24>>2]=o0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)ie();else{e[o0+20>>2]=c,e[c+24>>2]=o0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=k>>>3,k>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?ie():(f0=c,p0=h)):(e[5147]=f|c,f0=20628+(h+2<<2)|0,p0=l),e[f0>>2]=p,e[p0+12>>2]=p,e[e0+(M+8)>>2]=p0,e[e0+(M+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,J0=c<<xx,q0=(J0+520192|0)>>>16&4,J0=J0<<q0,l=(J0+245760|0)>>>16&2,l=14-(q0|xx|l)+(J0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(M+28)>>2]=l,e[e0+(M+20)>>2]=0,e[e0+(M+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break}c=e[c>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(k|0)){for(l=k<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(k|0)){h0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break x}}else h0=c;while(!1);if(c=h0+8|0,h=e[c>>2]|0,J0=e[5151]|0,h>>>0>=J0>>>0&h0>>>0>=J0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(M+8)>>2]=h,e[e0+(M+12)>>2]=h0,e[e0+(M+24)>>2]=0;break}else ie()}else J0=k+M|0,e[e0+4>>2]=J0|3,J0=e0+(J0+4)|0,e[J0>>2]=e[J0>>2]|1;while(!1);return J0=e0+8|0,J0|0}}}else M=-1;while(!1);if(f=e[5149]|0,f>>>0>=M>>>0)return c=f-M|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+M,e[5149]=c,e[h+(M+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=M|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,J0=h+(f+4)|0,e[J0>>2]=e[J0>>2]|1),J0=h+8|0,J0|0;if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,J0=e[5153]|0,e[5153]=J0+M,e[J0+(M+4)>>2]=xx|1,e[J0+4>>2]=M|3,J0=J0+8|0,J0|0;do if(!(e[5265]|0))if(c=Ff(30)|0,c+-1&c)ie();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(V5(0)|0)&-16^1431655768;break}while(!1);if(w=M+48|0,d=e[5267]|0,p=M+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=M>>>0||(c=e[5257]|0,(c|0)!=0&&(p0=e[5255]|0,h0=p0+k|0,h0>>>0<=p0>>>0|h0>>>0>c>>>0)))return J0=0,J0|0;x:do if(e[5258]&4)c=0,S0=191;else{f=e[5153]|0;e:do if(f){for(c=21036;h=e[c>>2]|0,!(h>>>0<=f>>>0&&(n0=c+4|0,(h+(e[n0>>2]|0)|0)>>>0>f>>>0));)if(c=e[c+8>>2]|0,!c){S0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=ci(h|0)|0,h0=(f|0)==((e[c>>2]|0)+(e[n0>>2]|0)|0),c=h0?h:0,h0){if((f|0)!=-1){n0=f,j=c,S0=194;break x}}else S0=184;else c=0}else S0=174;while(!1);do if((S0|0)==174)if(l=ci(0)|0,(l|0)!=-1)if(c=l,h=e[5266]|0,f=h+-1|0,f&c?h=k-c+(f+c&0-h)|0:h=k,c=e[5255]|0,f=c+h|0,h>>>0>M>>>0&h>>>0<2147483647){if(h0=e[5257]|0,(h0|0)!=0&&f>>>0<=c>>>0|f>>>0>h0>>>0){c=0;break}if(f=ci(h|0)|0,S0=(f|0)==(l|0),c=S0?h:0,S0){n0=l,j=c,S0=194;break x}else S0=184}else c=0;else c=0;while(!1);e:do if((S0|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((ci(u0|0)|0)==-1){ci(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){n0=f,j=h,S0=194;break x}}while(!1);e[5258]=e[5258]|4,S0=191}while(!1);if((S0|0)==191&&k>>>0<2147483647&&(w0=ci(k|0)|0,E0=ci(0)|0,w0>>>0<E0>>>0&((w0|0)!=-1&(E0|0)!=-1))&&(D0=E0-w0|0,g0=D0>>>0>(M+40|0)>>>0,g0)&&(n0=w0,j=g0?D0:c,S0=194),(S0|0)==194){c=(e[5255]|0)+j|0,e[5255]=c,c>>>0>(e[5256]|0)>>>0&&(e[5256]=c),p=e[5153]|0;x:do if(p){for(d=21036;;){if(c=e[d>>2]|0,h=d+4|0,f=e[h>>2]|0,(n0|0)==(c+f|0)){S0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((S0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<n0>>>0&p>>>0>=c>>>0){e[h>>2]=f+j,J0=(e[5150]|0)+j|0,xx=p+8|0,xx=(xx&7|0)==0?0:0-xx&7,q0=J0-xx|0,e[5153]=p+xx,e[5150]=q0,e[p+(xx+4)>>2]=q0|1,e[p+(J0+4)>>2]=40,e[5154]=e[5269];break}for(c=e[5151]|0,n0>>>0<c>>>0?(e[5151]=n0,e0=n0):e0=c,h=n0+j|0,c=21036;;){if((e[c>>2]|0)==(h|0)){S0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((S0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=n0,a0=c+4|0,e[a0>>2]=(e[a0>>2]|0)+j,a0=n0+8|0,a0=(a0&7|0)==0?0:0-a0&7,s0=n0+(j+8)|0,s0=(s0&7|0)==0?0:0-s0&7,c=n0+(s0+j)|0,x0=a0+M|0,q=n0+x0|0,$=c-(n0+a0)-M|0,e[n0+(a0+4)>>2]=M|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){J0=(e[5149]|0)+$|0,e[5149]=J0,e[5152]=q,e[n0+(x0+4)>>2]=J0|1,e[n0+(J0+x0)>>2]=J0;break}if(p=j+4|0,h=e[n0+(p+s0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[n0+((s0|24)+j)>>2]|0,l=e[n0+(j+12+s0)>>2]|0;do if((l|0)==(c|0)){if(f=s0|16,l=n0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=n0+(f+j)|0,h=e[f>>2]|0,!h){V0=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)ie();else{e[f>>2]=0,V0=h;break}}else if(d=e[n0+((s0|8)+j)>>2]|0,d>>>0<e0>>>0&&ie(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&ie(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,V0=l;break}else ie();while(!1);if(!w)break;h=e[n0+(j+28+s0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&ie(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=V0:e[w+20>>2]=V0,!V0)break t}else{if(e[f>>2]=V0,V0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,V0>>>0<f>>>0&&ie(),e[V0+24>>2]=w,c=s0|16,h=e[n0+(c+j)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[V0+16>>2]=h,e[h+24>>2]=V0;break}while(!1);if(c=e[n0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)ie();else{e[V0+20>>2]=c,e[c+24>>2]=V0;break}}else{f=e[n0+((s0|8)+j)>>2]|0,l=e[n0+(j+12+s0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&ie(),(e[f+12>>2]|0)==(c|0))break;ie()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))T0=l+8|0;else{if(l>>>0<e0>>>0&&ie(),h=l+8|0,(e[h>>2]|0)==(c|0)){T0=h;break}ie()}while(!1);e[f+12>>2]=l,e[T0>>2]=f}while(!1);c=n0+((k|s0)+j)|0,d=k+$|0}else d=$;if(c=c+4|0,e[c>>2]=e[c>>2]&-2,e[n0+(x0+4)>>2]=d|1,e[n0+(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,q0=20628+(h+2<<2)|0,xx=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){q0=c,xx=h;break}ie()}while(!1);e[q0>>2]=q,e[xx+12>>2]=q,e[n0+(x0+8)>>2]=xx,e[n0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}q0=(c+1048320|0)>>>16&8,xx=c<<q0,V0=(xx+520192|0)>>>16&4,xx=xx<<V0,l=(xx+245760|0)>>>16&2,l=14-(V0|q0|l)+(xx<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(c=20892+(l<<2)|0,e[n0+(x0+28)>>2]=l,e[n0+(x0+20)>>2]=0,e[n0+(x0+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=q,e[n0+(x0+24)>>2]=c,e[n0+(x0+12)>>2]=q,e[n0+(x0+8)>>2]=q;break}c=e[c>>2]|0;t:do if((e[c+4>>2]&-8|0)!=(d|0)){for(l=d<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(d|0)){J0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=q,e[n0+(x0+24)>>2]=c,e[n0+(x0+12)>>2]=q,e[n0+(x0+8)>>2]=q;break e}}else J0=c;while(!1);if(c=J0+8|0,h=e[c>>2]|0,xx=e[5151]|0,h>>>0>=xx>>>0&J0>>>0>=xx>>>0){e[h+12>>2]=q,e[c>>2]=q,e[n0+(x0+8)>>2]=h,e[n0+(x0+12)>>2]=J0,e[n0+(x0+24)>>2]=0;break}else ie()}else J0=(e[5150]|0)+$|0,e[5150]=J0,e[5153]=q,e[n0+(x0+4)>>2]=J0|1;while(!1);return J0=n0+(a0|8)|0,J0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(y0=e[h+4>>2]|0,b0=c+y0|0,b0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(y0+-39)|0,h=c+(y0+-47+((h&7|0)==0?0:0-h&7))|0,d=p+16|0,h=h>>>0<d>>>0?p:h,c=h+8|0,f=n0+8|0,f=(f&7|0)==0?0:0-f&7,J0=j+-40-f|0,e[5153]=n0+f,e[5150]=J0,e[n0+(f+4)>>2]=J0|1,e[n0+(j+-36)>>2]=40,e[5154]=e[5269],f=h+4|0,e[f>>2]=27,e[c>>2]=e[5259],e[c+4>>2]=e[5260],e[c+8>>2]=e[5261],e[c+12>>2]=e[5262],e[5259]=n0,e[5260]=j,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<b0>>>0)do J0=c,c=c+4|0,e[c>>2]=7;while((J0+8|0)>>>0<b0>>>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?ie():(P0=c,R0=h)):(e[5147]=f|c,P0=20628+(h+2<<2)|0,R0=l),e[P0>>2]=p,e[R0+12>>2]=p,e[p+8>>2]=R0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,J0=c<<xx,q0=(J0+520192|0)>>>16&4,J0=J0<<q0,l=(J0+245760|0)>>>16&2,l=14-(q0|xx|l)+(J0<<l>>>15)|0,l=w>>>(l+7|0)&1|l<<1):l=0,f=20892+(l<<2)|0,e[p+28>>2]=l,e[p+20>>2]=0,e[d>>2]=0,c=e[5148]|0,h=1<<l,!(c&h)){e[5148]=c|h,e[f>>2]=p,e[p+24>>2]=f,e[p+12>>2]=p,e[p+8>>2]=p;break}c=e[f>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(w|0)){for(l=w<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(w|0)){U0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else U0=c;while(!1);if(c=U0+8|0,h=e[c>>2]|0,J0=e[5151]|0,h>>>0>=J0>>>0&U0>>>0>=J0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=U0,e[p+24>>2]=0;break}else ie()}}else{J0=e[5151]|0,(J0|0)==0|n0>>>0<J0>>>0&&(e[5151]=n0),e[5259]=n0,e[5260]=j,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do J0=c<<1,xx=20628+(J0<<2)|0,e[20628+(J0+3<<2)>>2]=xx,e[20628+(J0+2<<2)>>2]=xx,c=c+1|0;while((c|0)!=32);J0=n0+8|0,J0=(J0&7|0)==0?0:0-J0&7,xx=j+-40-J0|0,e[5153]=n0+J0,e[5150]=xx,e[n0+(J0+4)>>2]=xx|1,e[n0+(j+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,J0=e[5153]|0,e[5153]=J0+M,e[J0+(M+4)>>2]=xx|1,e[J0+4>>2]=M|3,J0=J0+8|0,J0|0}return e[5135]|0?c=e[(Z7()|0)+60>>2]|0:c=20584,e[c>>2]=12,J0=0,J0|0}function _D(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&ie(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&ie(),M=f&-8,j=c+(M+-8)|0;do if(f&1)p0=h,w=M;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+M|0,$>>>0<k>>>0&&ie(),($|0)==(e[5152]|0)){if(h=c+(M+-4)|0,f=e[h>>2]|0,(f&3|0)!=3){p0=$,w=x0;break}e[5149]=x0,e[h>>2]=f&-2,e[c+(e0+4)>>2]=x0|1,e[j>>2]=x0;return}if(d=h>>>3,h>>>0<256){if(l=e[c+(e0+8)>>2]|0,f=e[c+(e0+12)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<k>>>0&&ie(),(e[l+12>>2]|0)!=($|0)&&ie()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),p0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&ie(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:ie()):p=f+8|0,e[l+12>>2]=f,e[p>>2]=l,p0=$,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)){s0=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)ie();else{e[f>>2]=0,s0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&ie(),h=d+12|0,(e[h>>2]|0)!=($|0)&&ie(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,s0=l;break}else ie();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]=s0,!s0){e[5148]=e[5148]&~(1<<h),p0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&ie(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=s0:e[p+20>>2]=s0,!s0){p0=$,w=x0;break}f=e[5151]|0,s0>>>0<f>>>0&&ie(),e[s0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[s0+16>>2]=h,e[h+24>>2]=s0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)ie();else{e[s0+20>>2]=h,e[h+24>>2]=s0,p0=$,w=x0;break}else p0=$,w=x0}else p0=$,w=x0}while(!1);if(p0>>>0>=j>>>0&&ie(),h=c+(M+-4)|0,f=e[h>>2]|0,f&1||ie(),f&2)e[h>>2]=f&-2,e[p0+4>>2]=w|1,e[p0+w>>2]=w;else{if((j|0)==(e[5153]|0)){if(f0=(e[5150]|0)+w|0,e[5150]=f0,e[5153]=p0,e[p0+4>>2]=f0|1,(p0|0)!=(e[5152]|0))return;e[5152]=0,e[5149]=0;return}if((j|0)==(e[5152]|0)){f0=(e[5149]|0)+w|0,e[5149]=f0,e[5152]=p0,e[p0+4>>2]=f0|1,e[p0+f0>>2]=f0;return}w=(f&-8)+w|0,d=f>>>3;do if(f>>>0>=256){p=e[c+(M+16)>>2]|0,h=e[c+(M|4)>>2]|0;do if((h|0)==(j|0)){if(f=c+(M+12)|0,h=e[f>>2]|0,!h&&(f=c+(M+8)|0,h=e[f>>2]|0,!h)){q=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=0,q=h;break}}else if(f=e[c+M>>2]|0,f>>>0<(e[5151]|0)>>>0&&ie(),l=f+12|0,(e[l>>2]|0)!=(j|0)&&ie(),d=h+8|0,(e[d>>2]|0)==(j|0)){e[l>>2]=h,e[d>>2]=f,q=h;break}else ie();while(!1);if(p){if(h=e[c+(M+20)>>2]|0,f=20892+(h<<2)|0,(j|0)==(e[f>>2]|0)){if(e[f>>2]=q,!q){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&ie(),h=p+16|0,(e[h>>2]|0)==(j|0)?e[h>>2]=q:e[p+20>>2]=q,!q)break;f=e[5151]|0,q>>>0<f>>>0&&ie(),e[q+24>>2]=p,h=e[c+(M+8)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[q+16>>2]=h,e[h+24>>2]=q;break}while(!1);if(h=e[c+(M+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)ie();else{e[q+20>>2]=h,e[h+24>>2]=q;break}}}else{if(l=e[c+M>>2]|0,f=e[c+(M|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&ie(),(e[l+12>>2]|0)!=(j|0)&&ie()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&ie(),h=f+8|0,(e[h>>2]|0)==(j|0)?a0=h:ie()):a0=f+8|0,e[l+12>>2]=f,e[a0>>2]=l}while(!1);if(e[p0+4>>2]=w|1,e[p0+w>>2]=w,(p0|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?ie():(n0=h,o0=f)):(e[5147]=l|h,n0=20628+(f+2<<2)|0,o0=d),e[n0>>2]=p0,e[o0+12>>2]=p0,e[p0+8>>2]=o0,e[p0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(n0=(h+1048320|0)>>>16&8,o0=h<<n0,j=(o0+520192|0)>>>16&4,o0=o0<<j,d=(o0+245760|0)>>>16&2,d=14-(j|n0|d)+(o0<<d>>>15)|0,d=w>>>(d+7|0)&1|d<<1):d=0,h=20892+(d<<2)|0,e[p0+28>>2]=d,e[p0+20>>2]=0,e[p0+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)ie();else{e[l>>2]=p0,e[p0+24>>2]=h,e[p0+12>>2]=p0,e[p0+8>>2]=p0;break x}}else f0=h;while(!1);if(h=f0+8|0,f=e[h>>2]|0,o0=e[5151]|0,f>>>0>=o0>>>0&f0>>>0>=o0>>>0){e[f+12>>2]=p0,e[h>>2]=p0,e[p0+8>>2]=f,e[p0+12>>2]=f0,e[p0+24>>2]=0;break}else ie()}else e[5148]=f|l,e[h>>2]=p0,e[p0+24>>2]=h,e[p0+12>>2]=p0,e[p0+8>>2]=p0;while(!1);if(p0=(e[5155]|0)+-1|0,e[5155]=p0,!p0)h=21044;else return;for(;h=e[h>>2]|0,h;)h=h+8|0;e[5155]=-1}}function LW(){}function hr(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,A0=l,c-f>>>0|0|0}function Gx(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 vx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(A0=0,h>>>f-32|0)}function Tx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(A0=c<<f-32,0)}function $x(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return G5(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 Mf(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,A0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function Uf(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((h|0)<(c|0)&(c|0)<(h+f|0)){for(l=c,h=h+f|0,c=c+f|0;(f|0)>0;)c=c-1|0,h=h-1|0,f=f-1|0,n[c>>0]=n[h>>0]|0;c=l}else $x(c,h,f)|0;return c|0}function Wg0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(A0=(h|0)<0?-1:0,h>>f-32|0)}function BD(c){c=c|0;var h=0;return h=n[F0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[F0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[F0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[F0+(c>>>24)>>0]|0)+24|0))}function MW(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=ix(d,w)|0,l=c>>>16,c=(f>>>16)+(ix(d,l)|0)|0,d=h>>>16,h=ix(d,w)|0,A0=(c>>>16)+(ix(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function Yg0(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,s0=0;return s0=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=hr(s0^c,e0^h,s0,e0)|0,p=A0,c=w^s0,h=d^e0,hr((qf(k,p,hr(w^f,d^l,w,d)|0,A0,0)|0)^c,A0^h,c,h)|0}function Kg0(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,s0=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,s0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=hr(p^c,w^h,p,w)|0,h=A0,qf(c,h,hr(s0^f,e0^l,s0,e0)|0,A0,k)|0,l=hr(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=A0,c0=d,A0=f,l|0}function Ie(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=MW(d,w)|0,c=A0,A0=(ix(h,w)|0)+(ix(l,d)|0)+c|c&0,f|0|0|0}function Xg0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,qf(c,h,f,l,0)|0}function Jg0(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,qf(c,h,f,l,d)|0,c0=w,A0=e[d+4>>2]|0,e[d>>2]|0|0}function qf(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,s0=0,$=0,x0=0,a0=0,M=0,q=0;if($=c,e0=h,s0=e0,p=f,a0=l,k=a0,!s0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,a0=0,d=0,A0=a0,d|0):(a0=0,d=0,A0=a0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),a0=0,d=($>>>0)/(p>>>0)>>>0,A0=a0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Ax(k|0)|0)-(Ax(s0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|s0<<k,h=s0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,a0=0,d=0,A0=a0,d|0):(a0=0,d=0,A0=a0,d|0)}if(w=p-1|0,w&p){k=(Ax(p|0)|0)+33-(Ax(s0|0)|0)|0,q=64-k|0,x0=32-k|0,e0=x0>>31,M=k-32|0,h=M>>31,p=k,c=x0-1>>31&s0>>>(M>>>0)|(s0<<x0|$>>>(k>>>0))&h,h=h&s0>>>(k>>>0),w=$<<q&e0,k=(s0<<q|$>>>(M>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(M=e0|h&0,q=c|0|0,A0=M,q|0):(q=BD(p|0)|0,M=s0>>>(q>>>0)|0,q=s0<<32-q|$>>>(q>>>0)|0,A0=M,q|0)}else{if(w)return d&&(e[d>>2]=(s0>>>0)%(p>>>0),e[d+4>>2]=0),M=0,q=(s0>>>0)/(p>>>0)>>>0,A0=M,q|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(s0>>>0)%(k>>>0)),M=0,q=(s0>>>0)/(k>>>0)>>>0,A0=M,q|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&s0|h&0),M=0,q=s0>>>((BD(k|0)|0)>>>0),A0=M,q|0;if(w=(Ax(k|0)|0)-(Ax(s0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=s0<<k|$>>>(h>>>0),h=s0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,M=0,q=0,A0=M,q|0):(M=0,q=0,A0=M,q|0)}while(!1);if(!p)s0=k,e0=0,k=0;else{x0=f|0|0,$=a0|l&0,s0=Mf(x0|0,$|0,-1,-1)|0,f=A0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,a0=c>>>31|h<<1|0,hr(s0,f,l,a0)|0,q=A0,M=q>>31|((q|0)<0?-1:0)<<1,k=M&1,c=hr(l,a0,M&x0,(((q|0)<0?-1:0)>>31|((q|0)<0?-1:0)<<1)&$)|0,h=A0,p=p-1|0;while((p|0)!=0);s0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),M=(w|0)>>>31|(s0|p)<<1|(p<<1|w>>>31)&0|e0,q=(w<<1|0)&-2|k,A0=M,q|0}function UW(c,h,f){c=c|0,h=h|0,f=f|0,Ex[c&1](h|0,f|0)}function qW(c,h,f){return c=c|0,h=h|0,f=f|0,Px[c&1](h|0,f|0)|0}function HW(c,h){c=c|0,h=h|0,St(0)}function jW(c,h){return c=c|0,h=h|0,St(1),0}var Ex=[HW,NW],Px=[jW,SD];return{_i64Subtract:hr,_free:_D,_i64Add:Mf,_memmove:Uf,_memset:Gx,_malloc:x3,_encode:SW,_memcpy:$x,_bitshift64Lshr:vx,_bitshift64Shl:Tx,runPostSets:LW,stackAlloc:wW,stackSave:yW,stackRestore:DW,establishStackSpace:vW,setThrew:EW,setTempRet0:AW,getTempRet0:CW,dynCall_vii:UW,dynCall_iii:qW}})(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()+`
237
+ `)}),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 _,i0;n<e;){var t0=i[n];if(typeof t0=="function"&&(t0=A.aa(t0)),o=s||r[n],o===0)n++;else{o=="i64"&&(o="i32");var r0=a+n,c0=o,c0=c0||"i8";switch(c0.charAt(c0.length-1)==="*"&&(c0="i32"),c0){case"i1":I[r0>>0]=t0;break;case"i8":I[r0>>0]=t0;break;case"i16":J[r0>>1]=t0;break;case"i32":K[r0>>2]=t0;break;case"i64":H=[t0>>>0,(G=t0,1<=+ja(G)?0<G?(ka(+la(G/4294967296),4294967295)|0)>>>0:~~+ma((G-+(~~G>>>0))/4294967296)>>>0:0)],K[r0>>2]=H[0],K[r0+4>>2]=H[1];break;case"float":L[r0>>2]=t0;break;case"double":N[r0>>3]=t0;break;default:E("invalid type for setValue: "+c0)}i0!==o&&(_=A.D(o),i0=o),n+=_}}return a}function Q(i){var r;if(r===0||!i)return"";for(var a=0,n,o=0;n=P[i+o>>0],a|=n,!(n==0&&!r||(o++,r&&o==r)););if(r||(r=o),n="",128>a){for(;0<r;)a=String.fromCharCode.apply(String,P.subarray(i,i+Math.min(r,1024))),n=n?n+a:a,i+=1024,r-=1024;return n}return b.UTF8ToString(i)}function oa(i){function r(r0,c0,l0){c0=c0||1/0;var d0="",v0=[],F0;if(i[e]==="N"){for(e++,i[e]==="K"&&e++,F0=[];i[e]!=="E";)if(i[e]==="S"){e++;var O0=i.indexOf("_",e);F0.push(_[i.substring(e,O0)||0]||"?"),e=O0+1}else if(i[e]==="C")F0.push(F0[F0.length-1]),e+=2;else{var O0=parseInt(i.substr(e)),B0=O0.toString().length;if(!O0||!B0){e--;break}var j0=i.substr(e+B0,O0);F0.push(j0),_.push(j0),e+=B0+O0}if(e++,F0=F0.join("::"),c0--,c0===0)return r0?[F0]:F0}else(i[e]==="K"||i0&&i[e]==="L")&&e++,(O0=parseInt(i.substr(e)))&&(B0=O0.toString().length,F0=i.substr(e+B0,O0),e+=B0+O0);i0=!1,i[e]==="I"?(e++,O0=r(!0),B0=r(!0,1,!0),d0+=B0[0]+" "+F0+"<"+O0.join(", ")+">"):d0=F0;x:for(;e<i.length&&0<c0--;)if(F0=i[e++],F0 in s)v0.push(s[F0]);else switch(F0){case"P":v0.push(r(!0,1,!0)[0]+"*");break;case"R":v0.push(r(!0,1,!0)[0]+"&");break;case"L":e++,O0=i.indexOf("E",e)-e,v0.push(i.substr(e,O0)),e+=O0+2;break;case"A":if(O0=parseInt(i.substr(e)),e+=O0.toString().length,i[e]!=="_")throw"?";e++,v0.push(r(!0,1,!0)[0]+" ["+O0+"]");break;case"E":break x;default:d0+="?"+F0;break x}return l0||v0.length!==1||v0[0]!=="void"||(v0=[]),r0?(d0&&v0.push(d0+"?"),v0):d0+("("+v0.join(", ")+")")}var a=!!b.___cxa_demangle;if(a)try{var t0=ia(i.length);ga(i.substr(1),t0);var n=ia(4),o=b.___cxa_demangle(t0,0,0,n);if(ha(n)===0&&o)return Q(o)}catch{}finally{t0&&pa(t0),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:"..."},_=[],i0=!0,t0=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()"}t0=r()}catch{t0+="?"}return 0<=t0.indexOf("?")&&!a&&A.e("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),t0}function qa(){return ra().replace(/__Z[\w\d_]+/g,function(i){var r=oa(i);return i===r?i:i+" ["+r+"]"})}function ra(){var i=Error();if(!i.stack){try{throw Error(0)}catch(r){i=r}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function sa(){var i=C;return 0<i%4096&&(i+=4096-i%4096),i}for(va=0,B=0,wa=0,z=0,xa=0,ya=0,C=0,za=b.TOTAL_STACK||5242880,D=b.TOTAL_MEMORY||318767104,R=65536;R<D||R<2*za;)R=16777216>R?2*R:R+16777216;var I,P,J,ta,K,ua,L,N,va,B,wa,z,xa,ya,C,za,D,R;R!==D&&(D=R);assert(typeof Int32Array<"u"&&typeof Float64Array<"u"&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(D);I=new Int8Array(buffer);J=new Int16Array(buffer);K=new Int32Array(buffer);P=new Uint8Array(buffer);ta=new Uint16Array(buffer);ua=new Uint32Array(buffer);L=new Float32Array(buffer);N=new Float64Array(buffer);K[0]=255;assert(P[0]===255&&P[3]===0,"Typed arrays 2 must be run on a little-endian system");b.HEAP=void 0;b.buffer=buffer;b.HEAP8=I;b.HEAP16=J;b.HEAP32=K;b.HEAPU8=P;b.HEAPU16=ta;b.HEAPU32=ua;b.HEAPF32=L;b.HEAPF64=N;function S(i){for(;0<i.length;){var r=i.shift();if(typeof r=="function")r();else{var a=r.X;typeof a=="number"?r.q===void 0?A.r("v",a):A.r("vi",a,[r.q]):a(r.q===void 0?null:r.q)}}}var Aa=[],Ba=[],Ca=[],Da=[],Ea=[],T=!1;function Fa(){var i=b.preRun.shift();Aa.unshift(i)}function Ga(i,r){for(var a=0,e=0;e<i.length;++e){var n=i.charCodeAt(e);55296<=n&&57343>=n&&(n=65536+((n&1023)<<10)|i.charCodeAt(++e)&1023),127>=n?++a:a=2047>=n?a+2:65535>=n?a+3:2097151>=n?a+4:67108863>=n?a+5:a+6}a=Array(a+1);var o=a.length,e=0;if(0<o){for(var n=e,o=e+o-1,s=0;s<i.length;++s){var _=i.charCodeAt(s);if(55296<=_&&57343>=_&&(_=65536+((_&1023)<<10)|i.charCodeAt(++s)&1023),127>=_){if(e>=o)break;a[e++]=_}else{if(2047>=_){if(e+1>=o)break;a[e++]=192|_>>6}else{if(65535>=_){if(e+2>=o)break;a[e++]=224|_>>12}else{if(2097151>=_){if(e+3>=o)break;a[e++]=240|_>>18}else{if(67108863>=_){if(e+4>=o)break;a[e++]=248|_>>24}else{if(e+5>=o)break;a[e++]=252|_>>30,a[e++]=128|_>>24&63}a[e++]=128|_>>18&63}a[e++]=128|_>>12&63}a[e++]=128|_>>6&63}a[e++]=128|_&63}}a[e]=0,e=e-n}else e=0;return r&&(a.length=e),a}function ga(i,r){for(var a=Ga(i,void 0),n=0;n<a.length;)I[r+n>>0]=a[n],n+=1}Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(i,r){var a=i&65535,n=r&65535;return a*n+((i>>>16)*n+a*(r>>>16)<<16)|0});Math.ba=Math.imul;Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var r=0;32>r;r++)if(i&1<<31-r)return r;return 32});Math.V=Math.clz32;var ja=Math.abs,ma=Math.ceil,la=Math.floor,ka=Math.min,U=0,Ha=null,V=null;b.preloadedImages={};b.preloadedAudios={};var W=null,va=8,B=va+407936;Ba.push();var W="encode.js.mem",Ia=A.p(O(12,"i8",2),8);assert(Ia%8==0);b._i64Subtract=Ja;function Ka(i){return b.___errno_location&&(K[b.___errno_location()>>2]=i),i}b._memset=La;b._bitshift64Lshr=Ma;b._bitshift64Shl=Na;b._memcpy=Oa;b._i64Add=Pa;function X(i){X.L||(C=sa(),X.L=!0,assert(A.g),X.K=A.g,A.g=function(){E("cannot dynamically allocate, sbrk now has control")});var r=C;return i==0||X.K(i)?r:4294967295}b._memmove=Qa;function Ra(i){b.exit(i)}wa=z=A.p(B);xa=wa+za;ya=C=A.p(xa);assert(ya<D,"TOTAL_MEMORY not big enough for stack");var Sa=O([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",3);b.I={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:1/0};b.J={abort:E,assert,invoke_vii:function(i,r,a){try{b.dynCall_vii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},invoke_iii:function(i,r,a){try{return b.dynCall_iii(i,r,a)}catch(n){if(typeof n!="number"&&n!=="longjmp")throw n;Y.setThrew(1,0)}},__exit:Ra,_pthread_self:function(){return 0},_abort:function(){b.abort()},___setErrNo:Ka,_sysconf:function(i){switch(i){case 30:return 4096;case 85:return R/4096;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Ka(22),-1},_sbrk:X,_time:function(i){var r=Date.now()/1e3|0;return i&&(K[i>>2]=r),r},_emscripten_memcpy_big:function(i,r,a){return P.set(P.subarray(r,r+a),i),i},_llvm_trap:function(){E("trap!")},_exit:function(i){Ra(i)},___assert_fail:function(i,r,a,n){throw F=!0,"Assertion failed: "+Q(i)+", at: "+[r?Q(r):"unknown filename",a,n?Q(n):"unknown function"]+" at "+qa()},STACKTOP:z,STACK_MAX:xa,tempDoublePtr:Ia,ABORT:F,cttz_i8:Sa};var Y=(function(i,r,a){var n=new i.Int8Array(a),o=new i.Int16Array(a),e=new i.Int32Array(a),s=new i.Uint8Array(a),_=new i.Uint16Array(a),i0=new i.Uint32Array(a),t0=new i.Float32Array(a),r0=new i.Float64Array(a),c0=r.STACKTOP|0,l0=r.STACK_MAX|0,d0=r.tempDoublePtr|0,v0=r.ABORT|0,F0=r.cttz_i8|0,O0=0,B0=0,j0=0,k0=0,Y0=i.NaN,z0=i.Infinity,sx=0,Q0=0,mx=0,K0=0,wx=0,$0=0,Mx=0,jx=0,te=0,A0=0,N0=0,L0=0,H0=0,tx=0,Fx=0,yx=0,xe=0,Sx=0,Vx=0,Fe=i.Math.floor,ne=i.Math.abs,We=i.Math.sqrt,Ct=i.Math.pow,ce=i.Math.cos,Ye=i.Math.sin,re=i.Math.tan,Le=i.Math.acos,y6=i.Math.asin,tt=i.Math.atan,R6=i.Math.atan2,ji=i.Math.exp,Yr=i.Math.log,kf=i.Math.ceil,ix=i.Math.imul,Of=i.Math.min,Ax=i.Math.clz32,St=r.abort,oi=r.assert,No=r.invoke_vii,os=r.invoke_iii,Lo=r.__exit,Z7=r._pthread_self,ie=r._abort,Mo=r.___setErrNo,Ff=r._sysconf,ci=r._sbrk,V5=r._time,G5=r._emscripten_memcpy_big,Dn=r._llvm_trap,Ix=r._exit,W0=r.___assert_fail,Gg0=0;function Uo(c,h,f,l,d,w,p,k){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0;var e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0;for(g0=c0,c0=c0+16|0,D0=g0,e[D0>>2]=0,e[D0+4>>2]=0,e[D0+8>>2]=0,e[D0+12>>2]=0,E0=0,w0=0;f;)e0=e[h+(w0<<2)>>2]|0,e0?(E0>>>0<4&&(e[D0+(E0<<2)>>2]=w0),s0=E0+1|0,f=f-e0|0):s0=E0,E0=s0,w0=w0+1|0;if(E0>>>0<2){e0=e[p>>2]|0,$=k+(e0>>>3)|0,f=s[$>>0]|0,e0=Tx(1,0,e0&7|0)|0,s0=A0,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]=s0,n[$+1>>0]=s0>>8,n[$+2>>0]=s0>>16,n[$+3>>0]=s0>>24,$=(e[p>>2]|0)+4|0,e[p>>2]=$,s0=e[D0>>2]|0,f=k+($>>>3)|0,e0=s[f>>0]|0,k=vx(s0|0,0,l|0)|0,(k|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),w0=Tx(s0|0,0,$&7|0)|0,D0=A0,w0=e0|w0,k=f,E0=k,n[E0>>0]=w0,n[E0+1>>0]=w0>>8,n[E0+2>>0]=w0>>16,n[E0+3>>0]=w0>>24,k=k+4|0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,e[p>>2]=(e[p>>2]|0)+l,n[d+s0>>0]=0,o[w+(s0<<1)>>1]=0,c0=g0;return}for(Gx(d|0,0,w0|0)|0,p0=c+8|0,u0=Px[e[c>>2]&1](e[p0>>2]|0,w0<<4|8)|0,h0=u0,u0||Ix(1),S0=1;;){f=w0,e0=h0;x:for(;;){do{if(!f)break x;f=f+-1|0,s0=e[h+(f<<2)>>2]|0}while((s0|0)==0);$=f&65535,s0>>>0<S0>>>0?(e[e0>>2]=S0,o[e0+4>>1]=-1,o[e0+6>>1]=$):(e[e0>>2]=s0,o[e0+4>>1]=-1,o[e0+6>>1]=$),e0=e0+8|0}f0=e0-h0|0,o0=f0>>3,n0=o0+1|0;x:do if(o0>>>0<13)for(M=1;;){if(M>>>0>=o0>>>0)break x;for(a0=u0+(M<<3)|0,x0=e[a0>>2]|0,a0=e[a0+4>>2]|0,$=M;f=$,$=$+-1|0,s0=u0+($<<3)|0,!!(rD(x0,e[s0>>2]|0)|0);)if(q=e[s0+4>>2]|0,j=u0+(f<<3)|0,e[j>>2]=e[s0>>2],e[j+4>>2]=q,!$){f=0;break}j=u0+(f<<3)|0,e[j>>2]=x0,e[j+4>>2]=a0,M=M+1|0}else for(q=o0>>>0<57?2:0;;){if((q|0)>=6)break x;for(f=e[19428+(q<<2)>>2]|0,j=f;!(j>>>0>=o0>>>0);){for($=u0+(j<<3)|0,s0=e[$>>2]|0,$=e[$+4>>2]|0,M=j;!(M>>>0<f>>>0||(x0=M-f|0,a0=u0+(x0<<3)|0,!(rD(s0,e[a0>>2]|0)|0)));)b0=a0,y0=e[b0+4>>2]|0,a0=u0+(M<<3)|0,e[a0>>2]=e[b0>>2],e[a0+4>>2]=y0,M=x0;b0=u0+(M<<3)|0,e[b0>>2]=s0,e[b0+4>>2]=$,j=j+1|0}q=q+1|0}while(!1);for(j=e0,s0=e0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=j+8|0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=0,$=n0,j=j+16|0,q=o0;!((q|0)<=1);)e0=e[u0+(s0<<3)>>2]|0,f=e[u0+($<<3)>>2]|0,e0>>>0>f>>>0?(M=$+1|0,f=e[u0+(M<<3)>>2]|0,a0=s0,x0=$):(a0=s0+1|0,e0=e[u0+(a0<<3)>>2]|0,M=$,x0=s0),e0>>>0>f>>>0?(s0=a0,$=M+1|0,e0=M):(f=e0,s0=a0+1|0,$=M,e0=a0),e[j+-8>>2]=(e[u0+(x0<<3)>>2]|0)+f,o[j+-4>>1]=x0,o[j+-2>>1]=e0,b0=j,e[b0>>2]=-1,e[b0+4>>2]=-1,j=j+8|0,q=q+-1|0;if(AD((f0>>2)+-1|0,u0,d,14)|0)break;S0=S0<<1}if(Ex[e[c+4>>2]&1](e[p0>>2]|0,u0),fs(d,w0,w),f0=e[p>>2]|0,n0=k+(f0>>>3)|0,o0=s[n0>>0]|0,f0=f0&7,E0>>>0>=5){b0=Tx(1431655764,255,f0|0)|0,e0=A0,b0=o0|b0,f=n0,q=f,n[q>>0]=b0,n[q+1>>0]=b0>>8,n[q+2>>0]=b0>>16,n[q+3>>0]=b0>>24,f=f+4|0,n[f>>0]=e0,n[f+1>>0]=e0>>8,n[f+2>>0]=e0>>16,n[f+3>>0]=e0>>24,f=(e[p>>2]|0)+40|0,e[p>>2]=f,e0=0,q=8;x:for(;;){for(;;){if(e0>>>0>=w0>>>0){f=114;break x}for(j=n[d+e0>>0]|0,M=1,s0=e0;s0=s0+1|0,!(s0>>>0>=w0>>>0||(n[d+s0>>0]|0)!=j<<24>>24);)M=M+1|0;if(e0=e0+M|0,j<<24>>24)break;if(a0=e[11564+(M<<2)>>2]|0,$=8+(M<<3)|0,s0=e[$>>2]|0,$=e[$+4>>2]|0,x0=k+(f>>>3)|0,b0=vx(s0|0,$|0,a0|0)|0,!((b0|0)==0&(A0|0)==0)){f=99;break x}b0=s[x0>>0]|0,c=Tx(s0|0,$|0,f&7|0)|0,y0=A0,c=b0|c,b0=x0,w=b0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,b0=(e[p>>2]|0)+a0|0,e[p>>2]=b0,f=b0}if(q<<24>>24==j<<24>>24)s0=M;else{if($=j&255,s0=n[404394+$>>0]|0,$=e[14380+($<<2)>>2]|0,x0=k+(f>>>3)|0,b0=vx($|0,0,s0&255|0)|0,!((b0|0)==0&(A0|0)==0)){f=103;break}y0=s[x0>>0]|0,w=Tx($|0,0,f&7|0)|0,b0=A0,w=y0|w,f=x0,y0=f,n[y0>>0]=w,n[y0+1>>0]=w>>8,n[y0+2>>0]=w>>16,n[y0+3>>0]=w>>24,f=f+4|0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,f=(e[p>>2]|0)+(s0&255)|0,e[p>>2]=f,s0=M+-1|0}if(s0>>>0>=3){if(x0=s0+-3|0,s0=e[14452+(x0<<2)>>2]|0,x0=5640+(x0<<3)|0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,a0=k+(f>>>3)|0,b0=vx($|0,x0|0,s0|0)|0,!((b0|0)==0&(A0|0)==0)){f=112;break}b0=s[a0>>0]|0,y0=Tx($|0,x0|0,f&7|0)|0,q=A0,y0=b0|y0,f=a0,b0=f,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,f=f+4|0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,f=(e[p>>2]|0)+s0|0,e[p>>2]=f,q=j;continue}for(q=j&255,M=404394+q|0,q=14380+(q<<2)|0;;){if(!s0){q=j;continue x}if($=n[M>>0]|0,x0=e[q>>2]|0,a0=k+(f>>>3)|0,b0=vx(x0|0,0,$&255|0)|0,!((b0|0)==0&(A0|0)==0)){f=109;break x}b0=s[a0>>0]|0,c=Tx(x0|0,0,f&7|0)|0,y0=A0,c=b0|c,b0=a0,w=b0,n[w>>0]=c,n[w+1>>0]=c>>8,n[w+2>>0]=c>>16,n[w+3>>0]=c>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,b0=(e[p>>2]|0)+($&255)|0,e[p>>2]=b0,f=b0,s0=s0+-1|0}}if((f|0)==99)W0(406196,406218,54,406251);else if((f|0)==103)W0(406196,406218,54,406251);else if((f|0)==109)W0(406196,406218,54,406251);else if((f|0)==112)W0(406196,406218,54,406251);else if((f|0)==114){c0=g0;return}}for(b0=Tx(1,0,f0|0)|0,e0=A0,b0=o0|b0,f=n0,s0=f,n[s0>>0]=b0,n[s0+1>>0]=b0>>8,n[s0+2>>0]=b0>>16,n[s0+3>>0]=b0>>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=E0+-1|0,s0=k+(f>>>3)|0,(e0&-4|0)==0&!0||W0(406196,406218,54,406251),q=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,$=A0,b0=q|b0,q=s0,a0=q,n[a0>>0]=b0,n[a0+1>>0]=b0>>8,n[a0+2>>0]=b0>>16,n[a0+3>>0]=b0>>24,q=q+4|0,n[q>>0]=$,n[q+1>>0]=$>>8,n[q+2>>0]=$>>16,n[q+3>>0]=$>>24,q=(e[p>>2]|0)+2|0,e[p>>2]=q,$=E0+-1|0,a0=0;(a0|0)!=(E0|0);){for(x0=D0+(a0<<2)|0,f=a0;M=f+1|0,(f|0)!=($|0);){if(f=D0+(M<<2)|0,e0=e[f>>2]|0,s0=e[x0>>2]|0,(s[d+e0>>0]|0)>=(s[d+s0>>0]|0)){f=M;continue}e[f>>2]=s0,e[x0>>2]=e0,f=M}a0=a0+1|0}switch(E0|0){case 2:{f=e[D0>>2]|0,e0=k+(q>>>3)|0,s0=s[e0>>0]|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),b0=Tx(f|0,0,q&7|0)|0,f=A0,b0=s0|b0,s0=e0,e0=s0,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+3>>0]=f>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,e0=e[D0+4>>2]|0,f=k+(s0>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),b0=s[f>>0]|0,D0=Tx(e0|0,0,s0&7|0)|0,y0=A0,D0=b0|D0,b0=f,k=b0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=g0;return}case 3:{f=e[D0>>2]|0,e0=k+(q>>>3)|0,s0=s[e0>>0]|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),f=Tx(f|0,0,q&7|0)|0,b0=A0,s0=s0|f,f=e0,e0=f,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,f=f+4|0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[D0+4>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,e0=A0,b0=y0|b0,f=s0,n[f>>0]=b0,n[f+1>>0]=b0>>8,n[f+2>>0]=b0>>16,n[f+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+3>>0]=e0>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,e0=e[D0+8>>2]|0,f=k+(s0>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),b0=s[f>>0]|0,D0=Tx(e0|0,0,s0&7|0)|0,y0=A0,D0=b0|D0,b0=f,k=b0,n[k>>0]=D0,n[k+1>>0]=D0>>8,n[k+2>>0]=D0>>16,n[k+3>>0]=D0>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+l,c0=g0;return}default:{$=e[D0>>2]|0,f=k+(q>>>3)|0,e0=s[f>>0]|0,(vx($|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),l>>>0>=57&&W0(406267,406218,55,406251),b0=Tx($|0,0,q&7|0)|0,s0=A0,b0=e0|b0,e0=f,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,f=f+4|0,n[f>>0]=s0,n[f+1>>0]=s0>>8,n[f+2>>0]=s0>>16,n[f+3>>0]=s0>>24,f=(e[p>>2]|0)+l|0,e[p>>2]=f,e0=e[D0+4>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,e0=A0,b0=y0|b0,f=s0,s0=f,n[s0>>0]=b0,n[s0+1>>0]=b0>>8,n[s0+2>>0]=b0>>16,n[s0+3>>0]=b0>>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[D0+8>>2]|0,s0=k+(f>>>3)|0,(vx(e0|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[s0>>0]|0,b0=Tx(e0|0,0,f&7|0)|0,f=A0,b0=y0|b0,e0=s0,n[e0>>0]=b0,n[e0+1>>0]=b0>>8,n[e0+2>>0]=b0>>16,n[e0+3>>0]=b0>>24,s0=s0+4|0,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+3>>0]=f>>24,s0=(e[p>>2]|0)+l|0,e[p>>2]=s0,f=e[D0+12>>2]|0,e0=k+(s0>>>3)|0,(vx(f|0,0,l|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),y0=s[e0>>0]|0,E0=Tx(f|0,0,s0&7|0)|0,b0=A0,E0=y0|E0,y0=e0,D0=y0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,y0=y0+4|0,n[y0>>0]=b0,n[y0+1>>0]=b0>>8,n[y0+2>>0]=b0>>16,n[y0+3>>0]=b0>>24,y0=(e[p>>2]|0)+l|0,e[p>>2]=y0,b0=k+(y0>>>3)|0,l=s[b0>>0]|0,k=Tx((n[d+$>>0]|0)==1|0,0,y0&7|0)|0,y0=A0,k=l|k,l=b0,n[l>>0]=k,n[l+1>>0]=k>>8,n[l+2>>0]=k>>16,n[l+3>>0]=k>>24,b0=b0+4|0,n[b0>>0]=y0,n[b0+1>>0]=y0>>8,n[b0+2>>0]=y0>>16,n[b0+3>>0]=y0>>24,e[p>>2]=(e[p>>2]|0)+1,c0=g0;return}}}function tD(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0,M,q,j){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0,M=M|0,q=q|0,j=j|0;var n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0;for(ox=c0,c0=c0+2704|0,bx=ox+1800|0,_x=ox+900|0,Dx=ox,z5(k,l,q,j),J0=c+8|0,u0=Px[e[c>>2]&1](e[J0>>2]|0,11272)|0,u0||Ix(1),V0=e[M>>2]|0,q0=e[M+8>>2]|0,l=e[M+12>>2]|0,xx=e[M+4>>2]|0,e[bx>>2]=256,e[bx+4>>2]=V0,e[bx+8>>2]=q0,e[bx+12>>2]=l,e[bx+16>>2]=xx,e[bx+20>>2]=1,e[bx+24>>2]=0,e[bx+880>>2]=0,xx?l=e[l>>2]|0:l=0,e[bx+884>>2]=l,e[bx+888>>2]=0,q0=bx+892|0,e[q0>>2]=0,xx=bx+896|0,e[xx>>2]=0,R0=e[M+24>>2]|0,U0=e[M+32>>2]|0,l=e[M+36>>2]|0,V0=e[M+28>>2]|0,e[_x>>2]=704,e[_x+4>>2]=R0,e[_x+8>>2]=U0,e[_x+12>>2]=l,e[_x+16>>2]=V0,e[_x+20>>2]=1,e[_x+24>>2]=0,e[_x+880>>2]=0,V0?l=e[l>>2]|0:l=0,e[_x+884>>2]=l,e[_x+888>>2]=0,U0=_x+892|0,e[U0>>2]=0,V0=_x+896|0,e[V0>>2]=0,T0=e[M+48>>2]|0,P0=e[M+56>>2]|0,l=e[M+60>>2]|0,R0=e[M+52>>2]|0,e[Dx>>2]=e0+16+(48<<s0),e[Dx+4>>2]=T0,e[Dx+8>>2]=P0,e[Dx+12>>2]=l,e[Dx+16>>2]=R0,e[Dx+20>>2]=1,e[Dx+24>>2]=0,e[Dx+880>>2]=0,R0?l=e[l>>2]|0:l=0,e[Dx+884>>2]=l,e[Dx+888>>2]=0,P0=Dx+892|0,e[P0>>2]=0,R0=Dx+896|0,e[R0>>2]=0,Q5(bx,u0,q,j),Q5(_x,u0,q,j),Q5(Dx,u0,q,j),l=e[q>>2]|0,n0=j+(l>>>3)|0,o0=s[n0>>0]|0,(s0&-4|0)==0&!0||W0(406196,406218,54,406251),f0=Tx(s0|0,0,l&7|0)|0,l=A0,o0=o0|f0,f0=n0,n0=f0,n[n0>>0]=o0,n[n0+1>>0]=o0>>8,n[n0+2>>0]=o0>>16,n[n0+3>>0]=o0>>24,f0=f0+4|0,n[f0>>0]=l,n[f0+1>>0]=l>>8,n[f0+2>>0]=l>>16,n[f0+3>>0]=l>>24,f0=(e[q>>2]|0)+2|0,e[q>>2]=f0,l=e0>>>s0,n0=j+(f0>>>3)|0,o0=s[n0>>0]|0,(l&-16|0)==0&!0||W0(406196,406218,54,406251),T0=Tx(l|0,0,f0&7|0)|0,l=A0,T0=o0|T0,s0=n0,n[s0>>0]=T0,n[s0+1>>0]=T0>>8,n[s0+2>>0]=T0>>16,n[s0+3>>0]=T0>>24,n0=n0+4|0,n[n0>>0]=l,n[n0+1>>0]=l>>8,n[n0+2>>0]=l>>16,n[n0+3>>0]=l>>24,n0=(e[q>>2]|0)+4|0,e[q>>2]=n0,l=($&-4|0)==0&!0,s0=0;!(s0>>>0>=(e[M>>2]|0)>>>0);){if(o0=j+(n0>>>3)|0,f0=s[o0>>0]|0,!l){p0=16;break}g0=Tx($|0,0,n0&7|0)|0,b0=A0,g0=f0|g0,T0=o0,y0=T0,n[y0>>0]=g0,n[y0+1>>0]=g0>>8,n[y0+2>>0]=g0>>16,n[y0+3>>0]=g0>>24,T0=T0+4|0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,T0=(e[q>>2]|0)+2|0,e[q>>2]=T0,n0=T0,s0=s0+1|0}for((p0|0)==16&&W0(406196,406218,54,406251),T0=M+76|0,l=e[T0>>2]|0,o0=M+92|0,n0=e[o0>>2]|0,l?nD(c,e[M+72>>2]|0,l,n0,u0,q,j):iD(n0,6,u0,q,j),b0=M+84|0,l=e[b0>>2]|0,e0=M+108|0,n0=e[e0>>2]|0,l?nD(c,e[M+80>>2]|0,l,n0,u0,q,j):iD(n0,2,u0,q,j),f0=e[M+88>>2]|0,o0=e[o0>>2]|0,s0=e[bx>>2]|0,l=ix(o0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[q0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[xx>>2]=l,l=f0,n0=0;(n0|0)!=(o0|0);)y0=ix(n0,s0)|0,ui(l+(n0*1040|0)|0,s0,u0,(e[q0>>2]|0)+y0|0,(e[xx>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;for(o0=e[M+96>>2]|0,f0=e[M+100>>2]|0,s0=e[_x>>2]|0,l=ix(f0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[U0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[V0>>2]=l,l=o0,n0=0;(n0|0)!=(f0|0);)y0=ix(n0,s0)|0,ui(l+(n0*2832|0)|0,s0,u0,(e[U0>>2]|0)+y0|0,(e[V0>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;for(o0=e[M+104>>2]|0,f0=e[e0>>2]|0,s0=e[Dx>>2]|0,l=ix(f0,s0)|0,n0=Px[e[c>>2]&1](e[J0>>2]|0,l)|0,n0||Ix(1),e[P0>>2]=n0,l=Px[e[c>>2]&1](e[J0>>2]|0,l<<1)|0,l||Ix(1),e[R0>>2]=l,l=o0,n0=0;(n0|0)!=(f0|0);)y0=ix(n0,s0)|0,ui(l+(n0*2096|0)|0,s0,u0,(e[P0>>2]|0)+y0|0,(e[R0>>2]|0)+(y0<<1)|0,q,j),n0=n0+1|0;y0=c+4|0,Ex[e[y0>>2]&1](e[J0>>2]|0,u0),g0=M+80|0,D0=M+72|0,n0=w,l=p,E0=0;x:for(;;){if(E0>>>0>=a0>>>0){p0=87;break}c=e[x0+(E0<<4)>>2]|0,s0=e[x0+(E0<<4)+4>>2]|0,w0=e[x0+(E0<<4)+8>>2]|0,p=e[x0+(E0<<4)+12>>2]|0,w=p&65535,S0=p>>>16,h0=p&65535,W5(_x,h0,q,j),M=s0&16777215,s0=M^s0>>>24;do if(c>>>0<6)f0=c;else{if(c>>>0<130){u0=c+-2|0,f0=((Ax(u0|0)|0)^31)+-1|0,f0=(f0<<1)+(u0>>>f0)+2|0;break}if(c>>>0<2114){f0=((Ax(c+-66|0)|0)^31)+10|0;break}if(c>>>0<6210){f0=21;break}f0=c>>>0<22594?22:23}while(!1);do if(s0>>>0<10)o0=s0+65534|0;else{if(s0>>>0<134){u0=s0+-6|0,o0=((Ax(u0|0)|0)^31)+-1|0,o0=(o0<<1)+(u0>>>o0)+4|0;break}if(s0>>>0>=2118){o0=23;break}o0=((Ax(s0+-70|0)|0)^31)+12|0}while(!1);if(f0=f0&65535,p0=e[17268+(f0<<2)>>2]|0,f0=c-(e[18788+(f0<<2)>>2]|0)|0,e0=o0&65535,s0=Tx(s0-(e[17364+(e0<<2)>>2]|0)|0,0,p0|0)|0,o0=A0,f0=s0|f0,s0=p0+(e[17460+(e0<<2)>>2]|0)|0,e0=e[q>>2]|0,p0=j+(e0>>>3)|0,u0=s[p0>>0]|0,cx=vx(f0|0,o0|0,s0|0)|0,!((cx|0)==0&(A0|0)==0)){p0=61;break}if(s0>>>0>=57){p0=63;break}f0=Tx(f0|0,o0|0,e0&7|0)|0,e0=A0,f0=u0|f0,cx=p0,u0=cx,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,cx=cx+4|0,n[cx>>0]=e0,n[cx+1>>0]=e0>>8,n[cx+2>>0]=e0>>16,n[cx+3>>0]=e0>>24,e[q>>2]=(e[q>>2]|0)+s0;e:do if(e[T0>>2]|0)for(o0=f,f0=c;;){if(!f0)break e;switch($|0){case 0:{l=n0&63;break}case 1:{l=(n0&255)>>>2;break}case 2:{l=n[406969+(n0&255)>>0]|n[406969+(l&255|256)>>0];break}case 3:{l=((s[407481+(n0&255)>>0]|0)<<3)+(s[407481+(l&255)>>0]|0)&255;break}default:l=0}cx=n[h+(o0&d)>>0]|0,aD(bx,cx&255,l&255,e[D0>>2]|0,q,j,6),l=n0,n0=cx,o0=o0+1|0,f0=f0+-1|0}else for(o0=f,f0=c;;){if(!f0)break e;W5(bx,s[h+(o0&d)>>0]|0,q,j),o0=o0+1|0,f0=f0+-1|0}while(!1);u0=f+c+M|0;do if(M){if(l=n[h+(u0+-2&d)>>0]|0,n0=n[h+(u0+-1&d)>>0]|0,(w&65535)<=127)break;if(e0=w0>>>24,p0=w0&16777215,!(e[b0>>2]|0))W5(Dx,S0,q,j);else{switch(o0=p&7,h0>>>6|0){case 7:case 4:case 2:case 0:{o0=o0>>>0<3?o0:3;break}default:o0=3}aD(Dx,S0,o0,e[g0>>2]|0,q,j,2)}if(o0=e[q>>2]|0,f0=j+(o0>>>3)|0,s0=s[f0>>0]|0,cx=vx(p0|0,0,e0|0)|0,!((cx|0)==0&(A0|0)==0)){p0=82;break x}if(w0>>>0>=956301312){p0=84;break x}h0=Tx(p0|0,0,o0&7|0)|0,w0=A0,h0=s0|h0,cx=f0,S0=cx,n[S0>>0]=h0,n[S0+1>>0]=h0>>8,n[S0+2>>0]=h0>>16,n[S0+3>>0]=h0>>24,cx=cx+4|0,n[cx>>0]=w0,n[cx+1>>0]=w0>>8,n[cx+2>>0]=w0>>16,n[cx+3>>0]=w0>>24,e[q>>2]=(e[q>>2]|0)+e0}while(!1);f=u0,E0=E0+1|0}if((p0|0)==61)W0(406196,406218,54,406251);else if((p0|0)==63)W0(406267,406218,55,406251);else if((p0|0)==82)W0(406196,406218,54,406251);else if((p0|0)==84)W0(406267,406218,55,406251);else if((p0|0)==87){if(Ex[e[y0>>2]&1](e[J0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[R0>>2]|0),e[R0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[U0>>2]|0),e[U0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[V0>>2]|0),e[V0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[q0>>2]|0),e[q0>>2]=0,Ex[e[y0>>2]&1](e[J0>>2]|0,e[xx>>2]|0),e[xx>>2]=0,!k){c0=ox;return}cx=(e[q>>2]|0)+7|0,e[q>>2]=cx&-8,n[j+(cx>>>3)>>0]=0,c0=ox;return}}function If(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+32|0,M=j+8|0,a0=j+16|0,k=j,q=f&l,f=p+((e[w>>2]|0)>>>3)|0,s0=s[f>>0]|0,e0=f,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>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,oD(d,M,a0,k),f=e[k>>2]|0,k=e[k+4>>2]|0,e0=e[w>>2]|0,s0=p+(e0>>>3)|0,$=s[s0>>0]|0,k>>>0<0|(k|0)==0&f>>>0<4||W0(406196,406218,54,406251),f=Tx(f|0,k|0,e0&7|0)|0,k=A0,f=$|f,x0=s0,$=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[a0>>2]|0,k=M,f=e[k>>2]|0,k=e[k+4>>2]|0,e0=p+(x0>>>3)|0,s0=s[e0>>0]|0,M=vx(f|0,k|0,$|0)|0,(M|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$>>>0>=57&&W0(406267,406218,55,406251),M=Tx(f|0,k|0,x0&7|0)|0,f=A0,M=s0|M,x0=e0,a0=x0,n[a0>>0]=M,n[a0+1>>0]=M>>8,n[a0+2>>0]=M>>16,n[a0+3>>0]=M>>24,x0=x0+4|0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,x0=(e[w>>2]|0)+$|0,e[w>>2]=x0,f=p+(x0>>>3)|0,a0=s[f>>0]|0,x0=Tx(1,0,x0&7|0)|0,M=A0,x0=a0|x0,a0=f,n[a0>>0]=x0,n[a0+1>>0]=x0>>8,n[a0+2>>0]=x0>>16,n[a0+3>>0]=x0>>24,f=f+4|0,n[f>>0]=M,n[f+1>>0]=M>>8,n[f+2>>0]=M>>16,n[f+3>>0]=M>>24,e[w>>2]=(e[w>>2]|0)+1,f=(e[w>>2]|0)+7|0,e[w>>2]=f&-8,n[p+(f>>>3)>>0]=0,f=l+1|0,(q+d|0)>>>0>f>>>0?(f=f-q|0,$x(p+((e[w>>2]|0)>>>3)|0,h+q|0,f|0)|0,k=(e[w>>2]|0)+(f<<3)|0,e[w>>2]=k,d=d-f|0,f=0):(k=e[w>>2]|0,f=q),$x(p+(k>>>3)|0,h+f|0,d|0)|0,f=(e[w>>2]|0)+(d<<3)|0,e[w>>2]=f,f&7&&W0(405180,406218,82,405195),n[p+(f>>>3)>>0]=0,!c){c0=j;return}h=e[w>>2]|0,l=p+(h>>>3)|0,q=s[l>>0]|0,h=Tx(1,0,h&7|0)|0,c=A0,h=q|h,q=l,n[q>>0]=h,n[q+1>>0]=h>>8,n[q+2>>0]=h>>16,n[q+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,l=(e[w>>2]|0)+1|0,e[w>>2]=l,c=p+(l>>>3)|0,q=s[c>>0]|0,l=Tx(1,0,l&7|0)|0,h=A0,l=q|l,q=c,n[q>>0]=l,n[q+1>>0]=l>>8,n[q+2>>0]=l>>16,n[q+3>>0]=l>>24,c=c+4|0,n[c>>0]=h,n[c+1>>0]=h>>8,n[c+2>>0]=h>>16,n[c+3>>0]=h>>24,c=(e[w>>2]|0)+8|0,e[w>>2]=c&-8,n[p+(c>>>3)>>0]=0,c0=j}function rD(c,h){return c=c|0,h=h|0,c>>>0<h>>>0|0}function z5(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,s0=0,$=0,x0=0;if(x0=c0,c0=c0+32|0,$=x0+8|0,s0=x0+16|0,w=x0,d=l+((e[f>>2]|0)>>>3)|0,k=s[d>>0]|0,p=Tx(c&1|0,0,e[f>>2]&7|0)|0,e0=A0,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),oD(h,$,s0,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||W0(406196,406218,54,406251),d=Tx(d|0,h|0,w&7|0)|0,h=A0,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[s0>>2]|0,h=$,d=e[h>>2]|0,h=e[h+4>>2]|0,w=l+(e0>>>3)|0,p=s[w>>0]|0,$=vx(d|0,h|0,k|0)|0,($|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k>>>0>=57&&W0(406267,406218,55,406251),e0=Tx(d|0,h|0,e0&7|0)|0,$=A0,e0=p|e0,d=w,s0=d,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+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 Q5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0;n0=c0,c0=c0+1136|0,j=n0+104|0,q=n0,d=e[c+8>>2]|0,k=e[c+12>>2]|0,a0=e[c+16>>2]|0,M=e[c+4>>2]|0,Gx(j|0,0,(M<<2)+8|0)|0,w=q,p=w+104|0;do e[w>>2]=0,w=w+4|0;while((w|0)<(p|0));for($=0,x0=1,w=0;($|0)!=(a0|0);){for(s0=s[d+$>>0]|0,(s0|0)==(x0+1|0)?w=1:w=(s0|0)==(w|0)?0:s0+2|0,$&&(e0=j+(w<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1),w=e[k+($<<2)>>2]|0,w>>>0>176?e0=w>>>0>752?20:14:e0=w>>>0>40?7:0;!(e0>>>0>=25||(p=e0+1|0,w>>>0<(e[17556+(p<<3)>>2]|0)>>>0));)e0=p;w=q+(e0<<2)|0,e[w>>2]=(e[w>>2]|0)+1,w=x0,$=$+1|0,x0=s0}if(K5(M+-1|0,f,l),M>>>0<=1){c0=n0;return}for(a0=c+20|0,ui(j,M+2|0,h,c+28|0,c+286|0,f,l),ui(q,26,h,c+802|0,c+828|0,f,l),w=e[k>>2]|0,j=s[d>>0]|0,e[c+24>>2]=e[a0>>2],e[a0>>2]=j,w>>>0>176?p=w>>>0>752?20:14:p=w>>>0>40?7:0;!(p>>>0>=25||(d=p+1|0,w>>>0<(e[17556+(d<<3)>>2]|0)>>>0));)p=d;$=e[17556+(p<<3)+4>>2]|0,s0=w-(e[17556+(p<<3)>>2]|0)|0,e0=n[c+802+p>>0]|0,d=_[c+828+(p<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,c=vx(d|0,0,e0&255|0)|0,(c|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)>=57&&W0(406267,406218,55,406251),c=Tx(d|0,0,w&7|0)|0,d=A0,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=vx(s0|0,0,$|0)|0,(l|0)==0&(A0|0)==0||W0(406196,406218,54,406251),h=Tx(s0|0,0,p&7|0)|0,c=A0,h=w|h,l=d,j=l,n[j>>0]=h,n[j+1>>0]=h>>8,n[j+2>>0]=h>>16,n[j+3>>0]=h>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+$,c0=n0}function iD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0;if(f0=c0,c0=c0+1904|0,$=f0,o0=f0+1632|0,n0=f0+1088|0,K5(c+-1|0,l,d),c>>>0<=1){c0=f0;return}for(q=h+-1|0,j=(1<<q)+-1|0,s0=q+c|0,Gx($|0,0,s0<<2|0)|0,e0=e[l>>2]|0,w=d+(e0>>>3)|0,k=s[w>>0]|0,e0=Tx(1,0,e0&7|0)|0,p=A0,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||W0(406196,406218,54,406251),x0=Tx(p|0,0,w&7|0)|0,M=A0,x0=e0|x0,w=k,a0=w,n[a0>>0]=x0,n[a0+1>>0]=x0>>8,n[a0+2>>0]=x0>>16,n[a0+3>>0]=x0>>24,w=w+4|0,n[w>>0]=M,n[w+1>>0]=M>>8,n[w+2>>0]=M>>16,n[w+3>>0]=M>>24,e[l>>2]=(e[l>>2]|0)+4,e[$+(q<<2)>>2]=c,e[$>>2]=1,w=h;!(w>>>0>=s0>>>0);)e[$+(w<<2)>>2]=1,w=w+1|0;for(ui($,s0,f,o0,n0,l,d),$=o0+q|0,f=n0+(q<<1)|0,x0=vx(j|0,0,q|0)|0,x0=(x0|0)==0&(A0|0)==0,a0=q>>>0<57,M=0;;){if(M>>>0>=c>>>0){w=22;break}if(p=(M|0)==0?0:M+h+-1|0,w=n[o0+p>>0]|0,p=_[n0+(p<<1)>>1]|0,k=e[l>>2]|0,e0=d+(k>>>3)|0,s0=s[e0>>0]|0,p0=vx(p|0,0,w&255|0)|0,!((p0|0)==0&(A0|0)==0)){w=10;break}if((w&255)>=57){w=12;break}if(p=Tx(p|0,0,k&7|0)|0,k=A0,s0=s0|p,p=e0,e0=p,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,p=p+4|0,n[p>>0]=k,n[p+1>>0]=k>>8,n[p+2>>0]=k>>16,n[p+3>>0]=k>>24,w=(e[l>>2]|0)+(w&255)|0,e[l>>2]=w,p=n[$>>0]|0,k=_[f>>1]|0,e0=d+(w>>>3)|0,s0=s[e0>>0]|0,p0=vx(k|0,0,p&255|0)|0,!((p0|0)==0&(A0|0)==0)){w=14;break}if((p&255)>=57){w=16;break}if(w=Tx(k|0,0,w&7|0)|0,k=A0,s0=s0|w,w=e0,p0=w,n[p0>>0]=s0,n[p0+1>>0]=s0>>8,n[p0+2>>0]=s0>>16,n[p0+3>>0]=s0>>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(!a0){w=20;break}p0=Tx(j|0,0,w&7|0)|0,s0=A0,k=k|p0,p0=p,e0=p0,n[e0>>0]=k,n[e0+1>>0]=k>>8,n[e0+2>>0]=k>>16,n[e0+3>>0]=k>>24,p0=p0+4|0,n[p0>>0]=s0,n[p0+1>>0]=s0>>8,n[p0+2>>0]=s0>>16,n[p0+3>>0]=s0>>24,e[l>>2]=(e[l>>2]|0)+q,M=M+1|0}if((w|0)==10)W0(406196,406218,54,406251);else if((w|0)==12)W0(406267,406218,55,406251);else if((w|0)==14)W0(406196,406218,54,406251);else if((w|0)==16)W0(406267,406218,55,406251);else if((w|0)==18)W0(406196,406218,54,406251);else if((w|0)==20)W0(406267,406218,55,406251);else if((w|0)==22){o0=e[l>>2]|0,p0=d+(o0>>>3)|0,c=s[p0>>0]|0,o0=Tx(1,0,o0&7|0)|0,d=A0,o0=c|o0,c=p0,n[c>>0]=o0,n[c+1>>0]=o0>>8,n[c+2>>0]=o0>>16,n[c+3>>0]=o0>>24,p0=p0+4|0,n[p0>>0]=d,n[p0+1>>0]=d>>8,n[p0+2>>0]=d>>16,n[p0+3>>0]=d>>24,e[l>>2]=(e[l>>2]|0)+1,c0=f0;return}}function nD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0;if(S0=c0,c0=c0+2160|0,a0=S0+1088|0,n0=S0,h0=S0+1888|0,u0=S0+1344|0,K5(l+-1|0,w,p),(l|0)==1){c0=S0;return}f0=c+8|0,p0=Px[e[c>>2]&1](e[f0>>2]|0,f<<2)|0,p0||Ix(1);x:do if(!f)o0=p0;else{for(k=e[h>>2]|0,e0=1;(e0|0)!=(f|0);)j=e[h+(e0<<2)>>2]|0,k=j>>>0>k>>>0?j:k,e0=e0+1|0;for(k>>>0<256?s0=0:W0(405316,404333,616,405333);!(s0>>>0>k>>>0);)n[a0+s0>>0]=s0,s0=s0+1|0;$=k+1|0,x0=0;e:for(;;){if(x0>>>0>=f>>>0){o0=p0;break x}for(k=e[h+(x0<<2)>>2]&255,s0=0;;){if(s0>>>0>=$>>>0)break e;if((n[a0+s0>>0]|0)==k<<24>>24)break;s0=s0+1|0}for(e[p0+(x0<<2)>>2]=s0,e0=n[a0+s0>>0]|0,k=s0;k;)j=k+-1|0,n[a0+k>>0]=n[a0+j>>0]|0,k=j;n[a0>>0]=e0,x0=x0+1|0}W0(405354,404333,624,405333)}while(!1);for(e[a0>>2]=0,k=0,s0=0;!(k>>>0>=f>>>0);){for(;;){if(k>>>0>=f>>>0){e0=0;break}if(!(e[o0+(k<<2)>>2]|0)){e0=0;break}j=k+1|0,e[a0>>2]=j,k=j}for(;!(k>>>0>=f>>>0||e[o0+(k<<2)>>2]|0);)j=k+1|0,e[a0>>2]=j,k=j,e0=e0+1|0;s0=e0>>>0>s0>>>0?e0:s0}for(s0?(j=(Ax(s0|0)|0)^31,j=j>>>0<6?j:6):j=0,e[a0>>2]=0,$=2<<j,x0=j+((512<<j)+-512)|0,h=$+-1|0,s0=0,M=0;!(s0>>>0>=f>>>0);){if(M>>>0>s0>>>0){q=38;break}k=e[o0+(s0<<2)>>2]|0;x:do if(k)e[o0+(M<<2)>>2]=k+j,e[a0>>2]=(e[a0>>2]|0)+1,k=M+1|0;else{for(k=s0,e0=1;k=k+1|0,!(k>>>0>=f>>>0||e[o0+(k<<2)>>2]|0);)e0=e0+1|0;for(e[a0>>2]=s0+e0,k=M;;){if(!e0)break x;if(e0>>>0<$>>>0)break;e[o0+(k<<2)>>2]=x0,k=k+1|0,e0=e0-h|0}M=(Ax(e0|0)|0)^31,e[o0+(k<<2)>>2]=M|e0-(1<<M)<<9,k=k+1|0}while(!1);s0=e[a0>>2]|0,M=k}for((q|0)==38&&W0(405282,404333,656,405297),Gx(n0|0,0,1088)|0,k=0;(k|0)!=(M|0);)q=n0+((e[o0+(k<<2)>>2]&511)<<2)|0,e[q>>2]=(e[q>>2]|0)+1,k=k+1|0;q=(j|0)!=0,h=e[w>>2]|0,k=p+(h>>>3)|0,f=s[k>>0]|0,h=Tx(q&1|0,0,h&7|0)|0,a0=A0,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]=a0,n[k+1>>0]=a0>>8,n[k+2>>0]=a0>>16,n[k+3>>0]=a0>>24,k=(e[w>>2]|0)+1|0,e[w>>2]=k;do if(q)if(e0=j+-1|0,s0=p+(k>>>3)|0,$=s[s0>>0]|0,(e0&-16|0)==0&!0){h=Tx(e0|0,0,k&7|0)|0,a0=A0,h=$|h,q=s0,f=q,n[f>>0]=h,n[f+1>>0]=h>>8,n[f+2>>0]=h>>16,n[f+3>>0]=h>>24,q=q+4|0,n[q>>0]=a0,n[q+1>>0]=a0>>8,n[q+2>>0]=a0>>16,n[q+3>>0]=a0>>24,e[w>>2]=(e[w>>2]|0)+4;break}else W0(406196,406218,54,406251);while(!1);for(ui(n0,j+l|0,d,h0,u0,w,p),a0=0;;){if(a0>>>0>=M>>>0){q=70;break}if(f=e[o0+(a0<<2)>>2]|0,h=f&511,f=f>>>9,k=n[h0+h>>0]|0,e0=_[u0+(h<<1)>>1]|0,s0=e[w>>2]|0,$=p+(s0>>>3)|0,x0=s[$>>0]|0,d=vx(e0|0,0,k&255|0)|0,!((d|0)==0&(A0|0)==0)){q=60;break}if((k&255)>=57){q=62;break}if(q=Tx(e0|0,0,s0&7|0)|0,l=A0,q=x0|q,d=$,n0=d,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,k=(e[w>>2]|0)+(k&255)|0,e[w>>2]=k,!((h|0)==0|h>>>0>j>>>0)){if(e0=p+(k>>>3)|0,s0=s[e0>>0]|0,d=vx(f|0,0,h|0)|0,!((d|0)==0&(A0|0)==0)){q=65;break}if(h>>>0>=57){q=67;break}q=Tx(f|0,0,k&7|0)|0,l=A0,q=s0|q,d=e0,n0=d,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,d=d+4|0,n[d>>0]=l,n[d+1>>0]=l>>8,n[d+2>>0]=l>>16,n[d+3>>0]=l>>24,e[w>>2]=(e[w>>2]|0)+h}a0=a0+1|0}if((q|0)==60)W0(406196,406218,54,406251);else if((q|0)==62)W0(406267,406218,55,406251);else if((q|0)==65)W0(406196,406218,54,406251);else if((q|0)==67)W0(406267,406218,55,406251);else if((q|0)==70){o0=e[w>>2]|0,p=p+(o0>>>3)|0,u0=s[p>>0]|0,o0=Tx(1,0,o0&7|0)|0,h0=A0,o0=u0|o0,u0=p,n[u0>>0]=o0,n[u0+1>>0]=o0>>8,n[u0+2>>0]=o0>>16,n[u0+3>>0]=o0>>24,p=p+4|0,n[p>>0]=h0,n[p+1>>0]=h0>>8,n[p+2>>0]=h0>>16,n[p+3>>0]=h0>>24,e[w>>2]=(e[w>>2]|0)+1,Ex[e[c+4>>2]&1](e[f0>>2]|0,p0),c0=S0;return}}function W5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;q=c+884|0,d=e[q>>2]|0;do if(d)M=c+888|0,j=d;else{for(x0=c+880|0,w=(e[x0>>2]|0)+1|0,e[x0>>2]=w,x0=e[(e[c+12>>2]|0)+(w<<2)>>2]|0,w=n[(e[c+8>>2]|0)+w>>0]|0,e[q>>2]=x0,w=w&255,a0=c+888|0,e[a0>>2]=ix(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,s0=n[c+28+e0>>0]|0,d=_[c+286+(e0<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,$=vx(d|0,0,s0&255|0)|0,($|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(s0&255)>=57&&W0(406267,406218,55,406251),w=Tx(d|0,0,w&7|0)|0,e0=A0,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)+(s0&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,s0=x0-(e[17556+(w<<3)>>2]|0)|0,e0=n[c+802+w>>0]|0,d=_[c+828+(w<<1)>>1]|0,w=e[f>>2]|0,p=l+(w>>>3)|0,k=s[p>>0]|0,x0=vx(d|0,0,e0&255|0)|0,(x0|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)>=57&&W0(406267,406218,55,406251),x0=Tx(d|0,0,w&7|0)|0,d=A0,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=vx(s0|0,0,$|0)|0,(x0|0)==0&(A0|0)==0){s0=Tx(s0|0,0,w&7|0)|0,j=A0,s0=d|s0,M=p,x0=M,n[x0>>0]=s0,n[x0+1>>0]=s0>>8,n[x0+2>>0]=s0>>16,n[x0+3>>0]=s0>>24,M=M+4|0,n[M>>0]=j,n[M+1>>0]=j>>8,n[M+2>>0]=j>>16,n[M+3>>0]=j>>24,e[f>>2]=(e[f>>2]|0)+$,M=a0,j=e[q>>2]|0;break}else W0(406196,406218,54,406251)}while(!1);if(e[q>>2]=j+-1,p=(e[M>>2]|0)+h|0,e0=n[(e[c+892>>2]|0)+p>>0]|0,p=_[(e[c+896>>2]|0)+(p<<1)>>1]|0,k=e[f>>2]|0,d=l+(k>>>3)|0,w=s[d>>0]|0,l=vx(p|0,0,e0&255|0)|0,(l|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(e0&255)<57){j=Tx(p|0,0,k&7|0)|0,c=A0,j=w|j,l=d,h=l,n[h>>0]=j,n[h+1>>0]=j>>8,n[h+2>>0]=j>>16,n[h+3>>0]=j>>24,l=l+4|0,n[l>>0]=c,n[l+1>>0]=c>>8,n[l+2>>0]=c>>16,n[l+3>>0]=c>>24,e[f>>2]=(e[f>>2]|0)+(e0&255);return}else W0(406267,406218,55,406251)}function aD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0;n0=c+884|0,k=e[n0>>2]|0;do if(k)j=c+888|0,o0=k;else{for(M=c+880|0,s0=(e[M>>2]|0)+1|0,e[M>>2]=s0,M=e[(e[c+12>>2]|0)+(s0<<2)>>2]|0,s0=n[(e[c+8>>2]|0)+s0>>0]|0,e[n0>>2]=M,s0=s0&255,q=c+888|0,e[q>>2]=s0<<p,p=c+20|0,e0=e[p>>2]|0,k=c+24|0,(s0|0)==(e0+1|0)?$=1:$=(s0|0)==(e[k>>2]|0)?0:s0+2|0,e[k>>2]=e0,e[p>>2]=s0,x0=n[c+28+$>>0]|0,k=_[c+286+($<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,s0=s[e0>>0]|0,a0=vx(k|0,0,x0&255|0)|0,(a0|0)==0&(A0|0)==0||W0(406196,406218,54,406251),(x0&255)>=57&&W0(406267,406218,55,406251),p=Tx(k|0,0,p&7|0)|0,$=A0,p=s0|p,a0=e0,s0=a0,n[s0>>0]=p,n[s0+1>>0]=p>>8,n[s0+2>>0]=p>>16,n[s0+3>>0]=p>>24,a0=a0+4|0,n[a0>>0]=$,n[a0+1>>0]=$>>8,n[a0+2>>0]=$>>16,n[a0+3>>0]=$>>24,e[d>>2]=(e[d>>2]|0)+(x0&255),M>>>0>176?p=M>>>0>752?20:14:p=M>>>0>40?7:0;!(p>>>0>=25||(k=p+1|0,M>>>0<(e[17556+(k<<3)>>2]|0)>>>0));)p=k;if(a0=e[17556+(p<<3)+4>>2]|0,x0=M-(e[17556+(p<<3)>>2]|0)|0,$=n[c+802+p>>0]|0,k=_[c+828+(p<<1)>>1]|0,p=e[d>>2]|0,e0=w+(p>>>3)|0,s0=s[e0>>0]|0,M=vx(k|0,0,$&255|0)|0,(M|0)==0&(A0|0)==0||W0(406196,406218,54,406251),($&255)>=57&&W0(406267,406218,55,406251),M=Tx(k|0,0,p&7|0)|0,p=A0,M=s0|M,k=e0,e0=k,n[e0>>0]=M,n[e0+1>>0]=M>>8,n[e0+2>>0]=M>>16,n[e0+3>>0]=M>>24,k=k+4|0,n[k>>0]=p,n[k+1>>0]=p>>8,n[k+2>>0]=p>>16,n[k+3>>0]=p>>24,k=(e[d>>2]|0)+($&255)|0,e[d>>2]=k,p=w+(k>>>3)|0,e0=s[p>>0]|0,M=vx(x0|0,0,a0|0)|0,(M|0)==0&(A0|0)==0){x0=Tx(x0|0,0,k&7|0)|0,o0=A0,x0=e0|x0,j=p,M=j,n[M>>0]=x0,n[M+1>>0]=x0>>8,n[M+2>>0]=x0>>16,n[M+3>>0]=x0>>24,j=j+4|0,n[j>>0]=o0,n[j+1>>0]=o0>>8,n[j+2>>0]=o0>>16,n[j+3>>0]=o0>>24,e[d>>2]=(e[d>>2]|0)+a0,j=q,o0=e[n0>>2]|0;break}else W0(406196,406218,54,406251)}while(!1);if(e[n0>>2]=o0+-1,e0=(ix(e[l+((e[j>>2]|0)+f<<2)>>2]|0,e[c>>2]|0)|0)+h|0,$=n[(e[c+892>>2]|0)+e0>>0]|0,e0=_[(e[c+896>>2]|0)+(e0<<1)>>1]|0,s0=e[d>>2]|0,k=w+(s0>>>3)|0,p=s[k>>0]|0,w=vx(e0|0,0,$&255|0)|0,(w|0)==0&(A0|0)==0||W0(406196,406218,54,406251),($&255)<57){l=Tx(e0|0,0,s0&7|0)|0,c=A0,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 W0(406267,406218,55,406251)}function sD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;for(j=p+2816|0,n0=w+1024|0,o0=k+2080|0,q=0;(q|0)!=(d|0);){for(a0=e[l+(q<<4)>>2]|0,e0=e[l+(q<<4)+4>>2]|0,s0=e[l+(q<<4)+12>>2]|0,M=s0&65535,x0=s0>>>16,s0=p+((s0&65535)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,e[j>>2]=(e[j>>2]|0)+1,s0=h,$=a0;$;)f0=w+((s[c+(s0&f)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[n0>>2]=(e[n0>>2]|0)+1,s0=s0+1|0,$=$+-1|0;e0=e0&16777215,(e0|0)!=0&(M&65535)>127&&(f0=k+(x0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,e[o0>>2]=(e[o0>>2]|0)+1),h=h+a0+e0|0,q=q+1|0}}function ui(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,s0=0,$=0,x0=0,a0=0,M=0;for(M=c0,c0=c0+16|0,x0=M,e[x0>>2]=0,e[x0+4>>2]=0,e[x0+8>>2]=0,e[x0+12>>2]=0,$=0,e0=0;!(e0>>>0>=h>>>0);){if(!(e[c+(e0<<2)>>2]|0))k=$;else{if($>>>0>=4){if($>>>0>4)break}else e[x0+($<<2)>>2]=e0;k=$+1|0}$=k,e0=e0+1|0}for(a0=0,k=h+-1|0;k;)a0=a0+1|0,k=k>>>1;if($>>>0<2){e0=e[w>>2]|0,c=p+(e0>>>3)|0,k=s[c>>0]|0,e0=Tx(1,0,e0&7|0)|0,h=A0,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=vx(h|0,0,a0|0)|0,(p|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),f=Tx(h|0,0,c&7|0)|0,$=A0,f=e0|f,p=k,s0=p,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+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)+a0,n[l+(e[x0>>2]|0)>>0]=0,o[d+(e[x0>>2]<<1)>>1]=0,c0=M;return}if(Gx(l|0,0,h|0)|0,Ho(c,h,15,f,l),fs(l,h,d),$>>>0>=5){$7(l,h,f,w,p),c0=M;return}for(k=p+((e[w>>2]|0)>>>3)|0,c=s[k>>0]|0,h=Tx(1,0,e[w>>2]&7|0)|0,e0=A0,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||W0(406196,406218,54,406251),f=Tx(e0|0,0,k&7|0)|0,d=A0,f=h|f,h=c,s0=h,n[s0>>0]=f,n[s0+1>>0]=f>>8,n[s0+2>>0]=f>>16,n[s0+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;s0=k+1|0,(k|0)!=(h|0);){if(k=x0+(s0<<2)|0,e0=e[k>>2]|0,c=e[f>>2]|0,(s[l+e0>>0]|0)>=(s[l+c>>0]|0)){k=s0;continue}e[k>>2]=c,e[f>>2]=e0,k=s0}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,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),e0=Tx(k|0,0,e0&7|0)|0,k=A0,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)+a0|0,e[w>>2]=h,c=e[x0+4>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(vx(c|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$=Tx(c|0,0,h&7|0)|0,x0=A0,$=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)+a0,c0=M;return}case 3:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),k=Tx(k|0,0,e0&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),e0=Tx(e0|0,0,k&7|0)|0,k=A0,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)+a0|0,e[w>>2]=h,c=e[x0+8>>2]|0,k=p+(h>>>3)|0,e0=s[k>>0]|0,(vx(c|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),$=Tx(c|0,0,h&7|0)|0,x0=A0,$=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)+a0,c0=M;return}default:{k=e[x0>>2]|0,e0=e[w>>2]|0,c=p+(e0>>>3)|0,h=s[c>>0]|0,(vx(k|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),a0>>>0>=57&&W0(406267,406218,55,406251),k=Tx(k|0,0,e0&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+4>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k=Tx(e0|0,0,k&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+8>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k=Tx(e0|0,0,k&7|0)|0,e0=A0,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)+a0|0,e[w>>2]=k,e0=e[x0+12>>2]|0,c=p+(k>>>3)|0,h=s[c>>0]|0,(vx(e0|0,0,a0|0)|0)==0&(A0|0)==0||W0(406196,406218,54,406251),f=Tx(e0|0,0,k&7|0)|0,$=A0,f=h|f,s0=c,d=s0,n[d>>0]=f,n[d+1>>0]=f>>8,n[d+2>>0]=f>>16,n[d+3>>0]=f>>24,s0=s0+4|0,n[s0>>0]=$,n[s0+1>>0]=$>>8,n[s0+2>>0]=$>>16,n[s0+3>>0]=$>>24,s0=(e[w>>2]|0)+a0|0,e[w>>2]=s0,a0=p+(s0>>>3)|0,$=s[a0>>0]|0,l=Tx((n[l+(e[x0>>2]|0)>>0]|0)==1|0,0,s0&7|0)|0,p=A0,l=$|l,x0=a0,n[x0>>0]=l,n[x0+1>>0]=l>>8,n[x0+2>>0]=l>>16,n[x0+3>>0]=l>>24,a0=a0+4|0,n[a0>>0]=p,n[a0+1>>0]=p>>8,n[a0+2>>0]=p>>16,n[a0+3>>0]=p>>24,e[w>>2]=(e[w>>2]|0)+1,c0=M;return}}}function Y5(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0;D0=0;x:for(;;){if(D0>>>0>=d>>>0){h=42;break}if(u0=e[l+(D0<<4)>>2]|0,f0=e[l+(D0<<4)+4>>2]|0,E0=e[l+(D0<<4)+8>>2]|0,q=e[l+(D0<<4)+12>>2]|0,S0=q&65535,w0=q>>>16,q=q&65535,M=n[k+q>>0]|0,q=_[e0+(q<<1)>>1]|0,j=e[x0>>2]|0,n0=a0+(j>>>3)|0,o0=s[n0>>0]|0,h0=vx(q|0,0,M&255|0)|0,!((h0|0)==0&(A0|0)==0)){h=4;break}if((M&255)>=57){h=6;break}p0=Tx(q|0,0,j&7|0)|0,h0=A0,o0=o0|p0,p0=n0,j=p0,n[j>>0]=o0,n[j+1>>0]=o0>>8,n[j+2>>0]=o0>>16,n[j+3>>0]=o0>>24,p0=p0+4|0,n[p0>>0]=h0,n[p0+1>>0]=h0>>8,n[p0+2>>0]=h0>>16,n[p0+3>>0]=h0>>24,p0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=p0,h0=f0&16777215,j=h0^f0>>>24;do if(u0>>>0>=6){if(u0>>>0<130){f0=u0+-2|0,q=((Ax(f0|0)|0)^31)+-1|0,q=(q<<1)+(f0>>>q)+2|0;break}if(u0>>>0<2114){q=((Ax(u0+-66|0)|0)^31)+10|0;break}u0>>>0<6210?q=21:q=u0>>>0<22594?22:23}else q=u0;while(!1);do if(j>>>0>=10){if(j>>>0<134){f0=j+-6|0,M=((Ax(f0|0)|0)^31)+-1|0,M=(M<<1)+(f0>>>M)+4|0;break}j>>>0<2118?M=((Ax(j+-70|0)|0)^31)+12|0:M=23}else M=j+65534|0;while(!1);if(q=q&65535,o0=e[17268+(q<<2)>>2]|0,q=u0-(e[18788+(q<<2)>>2]|0)|0,n0=M&65535,j=Tx(j-(e[17364+(n0<<2)>>2]|0)|0,0,o0|0)|0,M=A0,q=j|q,j=o0+(e[17460+(n0<<2)>>2]|0)|0,n0=a0+(p0>>>3)|0,o0=s[n0>>0]|0,f0=vx(q|0,M|0,j|0)|0,!((f0|0)==0&(A0|0)==0)){h=21;break}if(j>>>0>=57){h=23;break}for(q=Tx(q|0,M|0,p0&7|0)|0,f0=A0,q=o0|q,p0=n0,o0=p0,n[o0>>0]=q,n[o0+1>>0]=q>>8,n[o0+2>>0]=q>>16,n[o0+3>>0]=q>>24,p0=p0+4|0,n[p0>>0]=f0,n[p0+1>>0]=f0>>8,n[p0+2>>0]=f0>>16,n[p0+3>>0]=f0>>24,p0=(e[x0>>2]|0)+j|0,e[x0>>2]=p0,o0=u0;o0;){if(q=s[c+(h&f)>>0]|0,M=n[w+q>>0]|0,q=_[p+(q<<1)>>1]|0,j=a0+(p0>>>3)|0,n0=s[j>>0]|0,u0=vx(q|0,0,M&255|0)|0,!((u0|0)==0&(A0|0)==0)){h=27;break x}if((M&255)>=57){h=29;break x}q=Tx(q|0,0,p0&7|0)|0,f0=A0,q=n0|q,u0=j,n0=u0,n[n0>>0]=q,n[n0+1>>0]=q>>8,n[n0+2>>0]=q>>16,n[n0+3>>0]=q>>24,u0=u0+4|0,n[u0>>0]=f0,n[u0+1>>0]=f0>>8,n[u0+2>>0]=f0>>16,n[u0+3>>0]=f0>>24,u0=(e[x0>>2]|0)+(M&255)|0,e[x0>>2]=u0,p0=u0,h=h+1|0,o0=o0+-1|0}if(h=h+h0|0,(h0|0)!=0&(S0&65535)>127){if(o0=E0>>>24,f0=E0&16777215,n0=n[s0+w0>>0]|0,M=_[$+(w0<<1)>>1]|0,q=a0+(p0>>>3)|0,j=s[q>>0]|0,w0=vx(M|0,0,n0&255|0)|0,!((w0|0)==0&(A0|0)==0)){h=33;break}if((n0&255)>=57){h=35;break}if(M=Tx(M|0,0,p0&7|0)|0,w0=A0,j=j|M,M=q,q=M,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,M=M+4|0,n[M>>0]=w0,n[M+1>>0]=w0>>8,n[M+2>>0]=w0>>16,n[M+3>>0]=w0>>24,M=(e[x0>>2]|0)+(n0&255)|0,e[x0>>2]=M,q=a0+(M>>>3)|0,j=s[q>>0]|0,w0=vx(f0|0,0,o0|0)|0,!((w0|0)==0&(A0|0)==0)){h=37;break}if(E0>>>0>=956301312){h=39;break}h0=Tx(f0|0,0,M&7|0)|0,w0=A0,h0=j|h0,E0=q,S0=E0,n[S0>>0]=h0,n[S0+1>>0]=h0>>8,n[S0+2>>0]=h0>>16,n[S0+3>>0]=h0>>24,E0=E0+4|0,n[E0>>0]=w0,n[E0+1>>0]=w0>>8,n[E0+2>>0]=w0>>16,n[E0+3>>0]=w0>>24,e[x0>>2]=(e[x0>>2]|0)+o0}D0=D0+1|0}switch(h|0){case 4:{W0(406196,406218,54,406251);break}case 6:{W0(406267,406218,55,406251);break}case 21:{W0(406196,406218,54,406251);break}case 23:{W0(406267,406218,55,406251);break}case 27:{W0(406196,406218,54,406251);break}case 29:{W0(406267,406218,55,406251);break}case 33:{W0(406196,406218,54,406251);break}case 35:{W0(406267,406218,55,406251);break}case 37:{W0(406196,406218,54,406251);break}case 39:{W0(406267,406218,55,406251);break}case 42:return}}function oD(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,s0=0,$=0;(c|0)!=1?(k=(Ax(c+-1|0)|0)^31,e0=k+1|0,c?(w=e0>>>0<16?4:(k+4|0)>>>2,s0=e0):W0(405225,404333,86,405236),c>>>0<16777217?(p=w,$=s0):W0(405253,404333,87,405236),$>>>0<25?d=p:W0(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 K5(c,h,f){c=c|0,h=h|0,f=f|0;var l=0,d=0,w=0,p=0,k=0,e0=0;if(!c){k=f+((e[h>>2]|0)>>>3)|0,c=s[k>>0]|0,f=k,n[f>>0]=c,n[f+1>>0]=c>>8,n[f+2>>0]=c>>16,n[f+3>>0]=c>>24,k=k+4|0,n[k>>0]=0,n[k+1>>0]=0,n[k+2>>0]=0,n[k+3>>0]=0,k=(e[h>>2]|0)+1|0,e[h>>2]=k;return}k=(Ax(c|0)|0)^31,p=e[h>>2]|0,l=f+(p>>>3)|0,w=s[l>>0]|0,p=Tx(1,0,p&7|0)|0,d=A0,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||W0(406196,406218,54,406251),e0=Tx(k|0,0,l&7|0)|0,l=A0,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=vx(w|0,0,k|0)|0,(f|0)==0&(A0|0)==0||W0(406196,406218,54,406251),k>>>0>=57&&W0(406267,406218,55,406251),p=Tx(w|0,0,p&7|0)|0,f=A0,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 cD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+1040|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*1040|0)+1032>>3],$=+r0[c+(o0*1040|0)+1032>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*1040|0)+1024>>2]|0){if(f=e[c+(o0*1040|0)+1024>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*1040|0)|0,1040)|0,h=j+1024|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=256;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*1040|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+cs(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Tf(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)cD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*1040|0)+1024|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*1040|0)+1024>>2]|0),$=0;($|0)!=256;)M=c+(n0*1040|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*1040|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*1040|0)+1032>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)cD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function uD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+2832|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*2832|0)+2824>>3],$=+r0[c+(o0*2832|0)+2824>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*2832|0)+2816>>2]|0){if(f=e[c+(o0*2832|0)+2816>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*2832|0)|0,2832)|0,h=j+2816|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=704;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*2832|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+_f(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function fD(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)uD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*2832|0)+2816|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2832|0)+2816>>2]|0),$=0;($|0)!=704;)M=c+(n0*2832|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2832|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*2832|0)+2824>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)uD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function dD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;if(f0=c0,c0=c0+2096|0,j=f0,(f|0)==(l|0)){c0=f0;return}if(n0=l>>>0<f>>>0,o0=n0?f:l,n0=n0?l:f,f=e[h+(n0<<2)>>2]|0,l=e[h+(o0<<2)>>2]|0,h=f+l|0,q=+(f>>>0),f>>>0<256?M=+t0[19516+(f<<2)>>2]:M=+Xx(q),a0=+(l>>>0),l>>>0<256?x0=+t0[19516+(l<<2)>>2]:x0=+Xx(a0),s0=+(h>>>0),h>>>0<256?e0=+t0[19516+(h<<2)>>2]:e0=+Xx(s0),k=+r0[c+(n0*2096|0)+2088>>3],$=+r0[c+(o0*2096|0)+2088>>3],s0=(q*M+a0*x0-s0*e0)*.5-k-$,e[c+(n0*2096|0)+2080>>2]|0){if(f=e[c+(o0*2096|0)+2080>>2]|0,f){for(e[p>>2]|0?(k=+r0[w+16>>3],k<0?e0=0:e0=k):e0=1e99,$x(j|0,c+(n0*2096|0)|0,2096)|0,h=j+2080|0,e[h>>2]=(e[h>>2]|0)+f,f=0;(f|0)!=520;)h=j+(f<<2)|0,e[h>>2]=(e[h>>2]|0)+(e[c+(o0*2096|0)+(f<<2)>>2]|0),f=f+1|0;if(k=+us(j),!(k<e0-s0)){c0=f0;return}}}else k=$;e0=s0+k,f=e[p>>2]|0;do if(f){if(s0=+r0[w+16>>3],s0!=e0){if(!(s0>e0))break}else if(((e[w+4>>2]|0)-(e[w>>2]|0)|0)>>>0<=(o0-n0|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]=n0,e[w+4>>2]=o0,r0[w+8>>3]=k,r0[w+16>>3]=e0,c0=f0;return}while(!1);if(f>>>0>=d>>>0){c0=f0;return}e[w+(f*24|0)>>2]=n0,e[w+(f*24|0)+4>>2]=o0,r0[w+(f*24|0)+8>>3]=k,r0[w+(f*24|0)+16>>3]=e0,e[p>>2]=(e[p>>2]|0)+1,c0=f0}function Rf(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 s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;for(b0=c0,c0=c0+32|0,y0=b0+24|0,g0=b0,e[y0>>2]=0,s0=w+-1|0,x0=0;(x0|0)!=(w|0);){for($=l+(x0<<2)|0,M=x0;a0=M+1|0,(M|0)!=(s0|0);)dD(c,h,e[$>>2]|0,e[l+(a0<<2)>>2]|0,e0,d,y0),M=a0;x0=x0+1|0}u0=d+16|0,h0=d+4|0,S0=d+8|0,s0=w,f0=0,p0=1;x:for(;;)for(o0=s0;;){if(s0=s0+-1|0,o0>>>0<=p0>>>0)break x;if(+r0[u0>>3]>=f0){s0=o0,f0=1e99,p0=k;continue x}for(n0=e[d>>2]|0,w=e[h0>>2]|0,$=c+(n0*2096|0)+2080|0,e[$>>2]=(e[$>>2]|0)+(e[c+(w*2096|0)+2080>>2]|0),$=0;($|0)!=520;)M=c+(n0*2096|0)+($<<2)|0,e[M>>2]=(e[M>>2]|0)+(e[c+(w*2096|0)+($<<2)>>2]|0),$=$+1|0;for(r0[c+(n0*2096|0)+2088>>3]=+r0[S0>>3],x0=h+(n0<<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]=n0),x0=x0+1|0}for(;!(o0>>>0<=x0>>>0);){if($=l+(x0<<2)|0,(e[$>>2]|0)==(w|0)){w0=22;break}x0=x0+1|0}for((w0|0)==22&&(w0=0,Uf($|0,l+(x0+1<<2)|0,(o0-x0<<2)+-4|0)|0),a0=e[y0>>2]|0,$=0,M=0;(M|0)!=(a0|0);)x0=d+(M*24|0)|0,(e[x0>>2]|0)!=(n0|0)&&(E0=e[d+(M*24|0)+4>>2]|0,(E0|0)!=(n0|0))&&(D0=e[x0>>2]|0,!((D0|0)==(w|0)|(E0|0)==(w|0)))&&(q=+r0[u0>>3],j=+r0[d+(M*24|0)+16>>3],q!=j?q>j?w0=32:w0=33:((e[h0>>2]|0)-(e[d>>2]|0)|0)>>>0>(E0-D0|0)>>>0?w0=32:w0=33,(w0|0)==32?(w0=0,e[g0>>2]=e[d>>2],e[g0+4>>2]=e[d+4>>2],e[g0+8>>2]=e[d+8>>2],e[g0+12>>2]=e[d+12>>2],e[g0+16>>2]=e[d+16>>2],e[g0+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[g0>>2],e[x0+4>>2]=e[g0+4>>2],e[x0+8>>2]=e[g0+8>>2],e[x0+12>>2]=e[g0+12>>2],e[x0+16>>2]=e[g0+16>>2],e[x0+20>>2]=e[g0+20>>2]):(w0|0)==33&&(w0=0,T0=d+($*24|0)|0,e[T0>>2]=e[x0>>2],e[T0+4>>2]=e[x0+4>>2],e[T0+8>>2]=e[x0+8>>2],e[T0+12>>2]=e[x0+12>>2],e[T0+16>>2]=e[x0+16>>2],e[T0+20>>2]=e[x0+20>>2]),$=$+1|0),M=M+1|0;for(e[y0>>2]=$,$=0;($|0)!=(s0|0);)dD(c,h,n0,e[l+($<<2)>>2]|0,e0,d,y0),$=$+1|0;o0=o0+-1|0}return c0=b0,o0|0}function lD(c,h,f,l,d,w,p,k,e0,s0,$,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,s0=s0|0,$=$|0,x0=x0|0;var a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0;if(Ce=c0,c0=c0+2304|0,ae=Ce+512|0,Nx=Ce,px=Ce+2048|0,Ox=Ce+1536|0,n0=h,u0=f>>>0<98304?f:98304,h0=e[$>>2]|0,fx=64-((Ax(w|0)|0)^31)|0,w||W0(405532,405401,464,405439),w>>>0>=2147483649&&W0(405605,405401,465,405439),a0=w+-1|0,a0&w&&W0(405630,405401,467,405439),nx=vx(16777215,-1,fx|0)|0,(a0|0)!=(nx|0)&&W0(405667,405401,469,405439),!f){l||W0(405466,405401,472,405439),c=x0+(h0>>>3)|0,d=s[c>>0]|0,px=Tx(1,0,h0&7|0)|0,ax=A0,px=d|px,d=c,n[d>>0]=px,n[d+1>>0]=px>>8,n[d+2>>0]=px>>16,n[d+3>>0]=px>>24,c=c+4|0,n[c>>0]=ax,n[c+1>>0]=ax>>8,n[c+2>>0]=ax>>16,n[c+3>>0]=ax>>24,c=(e[$>>2]|0)+1|0,e[$>>2]=c,ax=x0+(c>>>3)|0,x0=s[ax>>0]|0,c=Tx(1,0,c&7|0)|0,d=A0,c=x0|c,x0=ax,n[x0>>0]=c,n[x0+1>>0]=c>>8,n[x0+2>>0]=c>>16,n[x0+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=d,n[ax+1>>0]=d>>8,n[ax+2>>0]=d>>16,n[ax+3>>0]=d>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=Ce;return}for(Pf(u0,0,$,x0),o0=x0+((e[$>>2]|0)>>>3)|0,nx=s[o0>>0]|0,a0=o0,n[a0>>0]=nx,n[a0+1>>0]=nx>>8,n[a0+2>>0]=nx>>16,n[a0+3>>0]=nx>>24,o0=o0+4|0,n[o0>>0]=0,n[o0+1>>0]=0,n[o0+2>>0]=0,n[o0+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,o0=hD(c,h,u0,px,Ox,$,x0)|0,a0=0;w=e[e0>>2]|0,!((a0|7)>>>0>=w>>>0);)zx=e[$>>2]|0,nx=x0+(zx>>>3)|0,Bx=s[nx>>0]|0,zx=Tx(s[s0+(a0>>>3)>>0]|0,0,zx&7|0)|0,ux=A0,zx=Bx|zx,Bx=nx,n[Bx>>0]=zx,n[Bx+1>>0]=zx>>8,n[Bx+2>>0]=zx>>16,n[Bx+3>>0]=zx>>24,nx=nx+4|0,n[nx>>0]=ux,n[nx+1>>0]=ux>>8,n[nx+2>>0]=ux>>16,n[nx+3>>0]=ux>>24,e[$>>2]=(e[$>>2]|0)+8,a0=a0+8|0;j=w&7,a0=s[s0+(w>>>3)>>0]|0,w=e[$>>2]|0,M=x0+(w>>>3)|0,q=s[M>>0]|0,nx=vx(a0|0,0,j|0)|0,(nx|0)==0&(A0|0)==0||W0(406196,406218,54,406251),Rx=Tx(a0|0,0,w&7|0)|0,Wx=A0,Rx=q|Rx,Qx=M,Hx=Qx,n[Hx>>0]=Rx,n[Hx+1>>0]=Rx>>8,n[Hx+2>>0]=Rx>>16,n[Hx+3>>0]=Rx>>24,Qx=Qx+4|0,n[Qx>>0]=Wx,n[Qx+1>>0]=Wx>>8,n[Qx+2>>0]=Wx>>16,n[Qx+3>>0]=Wx>>24,e[$>>2]=(e[$>>2]|0)+j,Qx=h,Wx=p+61|0,Hx=k+122|0,Rx=Nx+84|0,Lx=p+64|0,lx=k+128|0,kx=Nx+256|0,gx=p+39|0,ex=k+78|0,Z0=Nx+188|0,Kx=Nx+256|0,ee=p+62|0,ue=k+124|0,zx=Nx+88|0,Bx=p+63|0,ux=k+126|0,nx=Nx+92|0,w=f,a0=n0,q=u0,M=o0;x:for(;;){X0=h0+3|0,G0=M>>>0>980,Dx=a0,ox=q,j=a0,cx=q;e:for(;;){$x(Nx|0,17764,512)|0,bx=Dx,M=bx+ox|0,Cx=M;t:do if(ox>>>0>15)for(n0=ox+-5|0,_x=w+-16|0,_x=bx+(n0>>>0<_x>>>0?n0:_x)|0,n0=bx+1|0,f=n0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,R0=-1;;){if(q=Ie(q|0,f|0,-1124073472,1979815)|0,q=vx(q|0,A0|0,fx|0)|0,T0=j,T0>>>0>=n0>>>0){ax=24;break x}for(D0=0-R0|0,xx=n0,E0=32;;){if(g0=xx,f=E0,E0=E0+1|0,J0=xx,q0=J0,J0=J0+4|0,J0=Ie(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,s[J0>>0]|s[J0+1>>0]<<8|s[J0+2>>0]<<16|s[J0+3>>0]<<24|0,-1124073472,1979815)|0,J0=vx(J0|0,A0|0,fx|0)|0,(q|0)!=(J0|0)){ax=26;break x}if(o0=xx+(f>>>5)|0,o0>>>0>_x>>>0)break t;if(u0=o0,f=u0,u0=u0+4|0,u0=Ie(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=vx(u0|0,A0|0,fx|0)|0,f=xx+D0|0,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)==(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)&&(D0|0)<0&&(n[xx+4>>0]|0)==(n[xx+(4-R0)>>0]|0)){ax=30;break}if(q=d+(q<<2)|0,n0=e[q>>2]|0,f=h+n0|0,(n0|0)<0){ax=32;break x}if(f>>>0>=xx>>>0){ax=34;break x}if(e[q>>2]=g0-Qx,(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0)!=(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)){q=u0,xx=o0;continue}if((n[xx+4>>0]|0)==(n[h+(n0+4)>>0]|0))break;q=u0,xx=o0}for((ax|0)==30&&(ax=0,e[d+(q<<2)>>2]=g0-Qx),o0=f,J0=bx+(ox+-4)|0,q=0,n0=xx+5|0;;){if(n0>>>0>J0>>>0){q0=q,q=n0;break}if(q0=f+(q+5)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)){q0=q,q=n0;break}q=q+4|0,n0=n0+4|0}for(;!(q>>>0>=M>>>0||(n[f+(q0+5)>>0]|0)!=(n[q>>0]|0));)q0=q0+1|0,q=q+1|0;P0=q0+5|0,y0=g0-o0|0,b0=g0-j|0,U0=xx+P0|0,V0=U0;r:do if(P0){for(o0=P0,u0=xx;q=n[u0>>0]|0,n0=n[f>>0]|0,q<<24>>24==n0<<24>>24;)if(o0=o0+-1|0,o0)u0=u0+1|0,f=f+1|0;else break r;if(q<<24>>24!=n0<<24>>24){ax=48;break x}}while(!1);do if(b0>>>0>=6210){if(!(((j-a0|0)*50|0)>>>0>b0>>>0|G0^1)){ax=84;break e}if(b0>>>0<22594){if(q=n[ee>>0]|0,j=_[ue>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,g0=vx(j|0,0,q&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=87;break x}if((q&255)>=57){ax=89;break x}if(g0=Tx(j|0,0,f&7|0)|0,f=A0,g0=o0|g0,j=n0,n0=j,n[n0>>0]=g0,n[n0+1>>0]=g0>>8,n[n0+2>>0]=g0>>16,n[n0+3>>0]=g0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-6210|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16384|0)==0&!0)){ax=91;break x}E0=Tx(j|0,0,q&7|0)|0,g0=A0,E0=n0|E0,u0=f,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+14,e[zx>>2]=(e[zx>>2]|0)+1,u0=0;break}else{if(q=n[Bx>>0]|0,j=_[ux>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,g0=vx(j|0,0,q&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=94;break x}if((q&255)>=57){ax=96;break x}if(g0=Tx(j|0,0,f&7|0)|0,f=A0,g0=o0|g0,j=n0,n0=j,n[n0>>0]=g0,n[n0+1>>0]=g0>>8,n[n0+2>>0]=g0>>16,n[n0+3>>0]=g0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-22594|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=98;break x}E0=Tx(j|0,0,q&7|0)|0,g0=A0,E0=n0|E0,u0=f,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,u0=0;break}}else{if(b0>>>0<6){if(q=b0+40|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,g0=vx(f|0,0,j&255|0)|0,!((g0|0)==0&(A0|0)==0)){ax=52;break x}if((j&255)>=57){ax=54;break x}E0=Tx(f|0,0,n0&7|0)|0,g0=A0,E0=u0|E0,u0=o0,D0=u0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,u0=u0+4|0,n[u0>>0]=g0,n[u0+1>>0]=g0>>8,n[u0+2>>0]=g0>>16,n[u0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),u0=Nx+(q<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(b0>>>0<130){if(u0=b0+-2|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0,g0=(D0<<1)+E0+42|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=58;break x}if((q&255)>=57){ax=60;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(E0<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=62;break x}if(D0>>>0>=57){ax=64;break x}o0=Tx(q|0,0,n0&7|0)|0,C0=A0,o0=f|o0,u0=j,E0=u0,n[E0>>0]=o0,n[E0+1>>0]=o0>>8,n[E0+2>>0]=o0>>16,n[E0+3>>0]=o0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+D0,u0=Nx+(g0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0;break}if(b0>>>0>=2114){if(q=n[Wx>>0]|0,j=_[Hx>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=77;break x}if((q&255)>=57){ax=79;break x}if(C0=Tx(j|0,0,f&7|0)|0,f=A0,C0=o0|C0,j=n0,n0=j,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=b0+-2114|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-4096|0)==0&!0)){ax=81;break x}D0=Tx(j|0,0,q&7|0)|0,C0=A0,D0=n0|D0,u0=f,g0=u0,n[g0>>0]=D0,n[g0+1>>0]=D0>>8,n[g0+2>>0]=D0>>16,n[g0+3>>0]=D0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Rx>>2]=(e[Rx>>2]|0)+1,u0=0;break}if(u0=b0+-66|0,E0=(Ax(u0|0)|0)^31,D0=E0+50|0,q=n[p+D0>>0]|0,j=_[k+(D0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=68;break x}if((q&255)>=57){ax=70;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(1<<E0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,E0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=72;break x}if(E0>>>0>=57){ax=74;break x}o0=Tx(q|0,0,n0&7|0)|0,C0=A0,o0=f|o0,u0=j,g0=u0,n[g0>>0]=o0,n[g0+1>>0]=o0>>8,n[g0+2>>0]=o0>>16,n[g0+3>>0]=o0>>24,u0=u0+4|0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+E0,u0=Nx+(D0<<2)|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=0}while(!1);for(;!(u0>>>0>=b0>>>0);){if(j=s[T0+u0>>0]|0,q=n[px+j>>0]|0,j=_[Ox+(j<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=102;break x}if((q&255)>=57){ax=104;break x}E0=Tx(j|0,0,f&7|0)|0,g0=A0,E0=o0|E0,C0=n0,D0=C0,n[D0>>0]=E0,n[D0+1>>0]=E0>>8,n[D0+2>>0]=E0>>16,n[D0+3>>0]=E0>>24,C0=C0+4|0,n[C0>>0]=g0,n[C0+1>>0]=g0>>8,n[C0+2>>0]=g0>>16,n[C0+3>>0]=g0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),u0=u0+1|0}if((y0|0)==(R0|0)){if(q=n[Lx>>0]|0,j=_[lx>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=108;break x}if((q&255)>=57){ax=110;break x}b0=Tx(j|0,0,f&7|0)|0,C0=A0,b0=o0|b0,y0=n0,T0=y0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,y0=y0+4|0,n[y0>>0]=C0,n[y0+1>>0]=C0>>8,n[y0+2>>0]=C0>>16,n[y0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+(q&255),e[kx>>2]=(e[kx>>2]|0)+1,y0=R0}else{if(u0=y0+3|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0&1,g0=((D0<<1)+-2|E0)+80|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=113;break x}if((q&255)>=57){ax=115;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-((E0|2)<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=117;break x}if(D0>>>0>=57){ax=119;break x}b0=Tx(q|0,0,n0&7|0)|0,R0=A0,b0=f|b0,C0=j,T0=C0,n[T0>>0]=b0,n[T0+1>>0]=b0>>8,n[T0+2>>0]=b0>>16,n[T0+3>>0]=b0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+D0,C0=Nx+(g0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}do if(P0>>>0<12){if(q=q0+1|0,j=n[p+q>>0]|0,f=_[k+(q<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=123;break x}if((j&255)>=57){ax=125;break x}T0=Tx(f|0,0,n0&7|0)|0,R0=A0,T0=u0|T0,C0=o0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(q<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}else{if(P0>>>0<72){if(u0=q0+-3|0,D0=((Ax(u0|0)|0)^31)+-1|0,E0=u0>>>D0,g0=(D0<<1)+E0+4|0,q=n[p+g0>>0]|0,j=_[k+(g0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=129;break x}if((q&255)>=57){ax=131;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(E0<<D0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,D0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=133;break x}if(D0>>>0>=57){ax=135;break x}T0=Tx(q|0,0,n0&7|0)|0,R0=A0,T0=f|T0,C0=j,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+D0,C0=Nx+(g0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1;break}if(P0>>>0<136){if(q=q0+-3|0,E0=(q>>>5)+30|0,j=n[p+E0>>0]|0,f=_[k+(E0<<1)>>1]|0,n0=e[$>>2]|0,o0=x0+(n0>>>3)|0,u0=s[o0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=139;break x}if((j&255)>=57){ax=141;break x}if(C0=Tx(f|0,0,n0&7|0)|0,f=A0,C0=u0|C0,n0=o0,o0=n0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=f,n[n0+1>>0]=f>>8,n[n0+2>>0]=f>>16,n[n0+3>>0]=f>>24,n0=(e[$>>2]|0)+(j&255)|0,e[$>>2]=n0,f=x0+(n0>>>3)|0,o0=s[f>>0]|0,n0=Tx(q&31|0,0,n0&7|0)|0,j=A0,n0=o0|n0,q=f,f=q,n[f>>0]=n0,n[f+1>>0]=n0>>8,n[f+2>>0]=n0>>16,n[f+3>>0]=n0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+5|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=143;break x}if((j&255)>=57){ax=145;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(E0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1;break}if(P0>>>0>=2120){if(q=n[gx>>0]|0,j=_[ex>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=162;break x}if((q&255)>=57){ax=164;break x}if(C0=Tx(j|0,0,f&7|0)|0,f=A0,C0=o0|C0,j=n0,n0=j,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,j=j+4|0,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=(e[$>>2]|0)+(q&255)|0,e[$>>2]=q,j=q0+-2115|0,f=x0+(q>>>3)|0,n0=s[f>>0]|0,!((j&-16777216|0)==0&!0)){ax=166;break x}if(q=Tx(j|0,0,q&7|0)|0,j=A0,n0=n0|q,q=f,f=q,n[f>>0]=n0,n[f+1>>0]=n0>>8,n[f+2>>0]=n0>>16,n[f+3>>0]=n0>>24,q=q+4|0,n[q>>0]=j,n[q+1>>0]=j>>8,n[q+2>>0]=j>>16,n[q+3>>0]=j>>24,q=(e[$>>2]|0)+24|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=168;break x}if((j&255)>=57){ax=170;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),e[Z0>>2]=(e[Z0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1;break}if(u0=q0+-67|0,E0=(Ax(u0|0)|0)^31,D0=E0+28|0,q=n[p+D0>>0]|0,j=_[k+(D0<<1)>>1]|0,f=e[$>>2]|0,n0=x0+(f>>>3)|0,o0=s[n0>>0]|0,C0=vx(j|0,0,q&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=149;break x}if((q&255)>=57){ax=151;break x}if(C0=Tx(j|0,0,f&7|0)|0,j=A0,C0=o0|C0,f=n0,n[f>>0]=C0,n[f+1>>0]=C0>>8,n[f+2>>0]=C0>>16,n[f+3>>0]=C0>>24,n0=n0+4|0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,n0=(e[$>>2]|0)+(q&255)|0,e[$>>2]=n0,q=u0-(1<<E0)|0,j=x0+(n0>>>3)|0,f=s[j>>0]|0,C0=vx(q|0,0,E0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=153;break x}if(E0>>>0>=57){ax=155;break x}if(q=Tx(q|0,0,n0&7|0)|0,n0=A0,f=f|q,q=j,j=q,n[j>>0]=f,n[j+1>>0]=f>>8,n[j+2>>0]=f>>16,n[j+3>>0]=f>>24,q=q+4|0,n[q>>0]=n0,n[q+1>>0]=n0>>8,n[q+2>>0]=n0>>16,n[q+3>>0]=n0>>24,q=(e[$>>2]|0)+E0|0,e[$>>2]=q,j=n[Lx>>0]|0,f=_[lx>>1]|0,n0=x0+(q>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,j&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=157;break x}if((j&255)>=57){ax=159;break x}T0=Tx(f|0,0,q&7|0)|0,R0=A0,T0=o0|T0,C0=n0,P0=C0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,C0=C0+4|0,n[C0>>0]=R0,n[C0+1>>0]=R0>>8,n[C0+2>>0]=R0>>16,n[C0+3>>0]=R0>>24,e[$>>2]=(e[$>>2]|0)+(j&255),C0=Nx+(D0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,e[Kx>>2]=(e[Kx>>2]|0)+1}while(!1);if(U0>>>0>=_x>>>0){j=V0;break t}for(j=xx+(q0+2)|0,C0=j,C0=s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Ie(C0|0,j|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,o0=vx(C0|0,j|0,24)|0,o0=Ie(o0|0,A0|0,-1124073472,1979815)|0,o0=vx(o0|0,A0|0,fx|0)|0,u0=U0-Qx|0,e[d+(xx<<2)>>2]=u0+-3,xx=vx(C0|0,j|0,8)|0,xx=Ie(xx|0,A0|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=vx(C0|0,j|0,16)|0,j=Ie(j|0,A0|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,fx|0)|0,e[d+(j<<2)>>2]=u0+-1,o0=d+(o0<<2)|0,j=e[o0>>2]|0,e[o0>>2]=u0,o0=y0,u0=V0;g0=h+j|0,C0=u0,q=u0,!((s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)||(n[q+4>>0]|0)!=(n[h+(j+4)>>0]|0));){for(n0=j+5|0,j=0,f=q+5|0;!(f>>>0>J0>>>0||(C0=h+(n0+j)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24|0)));)j=j+4|0,f=f+4|0;for(;!(f>>>0>=M>>>0||(n[h+(n0+j)>>0]|0)!=(n[f>>0]|0));)j=j+1|0,f=f+1|0;D0=j+5|0,T0=q+D0|0,R0=T0,P0=u0-g0|0;do if(!D0)ax=189;else{for(u0=D0,E0=q,o0=g0;;){if(f=n[E0>>0]|0,n0=n[o0>>0]|0,f<<24>>24!=n0<<24>>24){ax=186;break}if(u0=u0+-1|0,u0)E0=E0+1|0,o0=o0+1|0;else break}if((ax|0)==186&&(ax=0,f<<24>>24!=n0<<24>>24)){ax=187;break x}if(D0>>>0<10){ax=189;break}if(D0>>>0<134){if(D0=j+-1|0,y0=((Ax(D0|0)|0)^31)+-1|0,g0=D0>>>y0,b0=(y0<<1)+g0+20|0,f=n[p+b0>>0]|0,n0=_[k+(b0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=196;break x}if((f&255)>=57){ax=198;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-(g0<<y0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,y0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=200;break x}if(y0>>>0>=57){ax=202;break x}V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,C0=Nx+(b0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1;break}if(D0>>>0>=2118){if(f=n[gx>>0]|0,n0=_[ex>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=215;break x}if((f&255)>=57){ax=217;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,o0=A0,C0=E0|C0,n0=u0,u0=n0,n[u0>>0]=C0,n[u0+1>>0]=C0>>8,n[u0+2>>0]=C0>>16,n[u0+3>>0]=C0>>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,f=(e[$>>2]|0)+(f&255)|0,e[$>>2]=f,n0=j+-2113|0,o0=x0+(f>>>3)|0,u0=s[o0>>0]|0,!((n0&-16777216|0)==0&!0)){ax=219;break x}V0=Tx(n0|0,0,f&7|0)|0,xx=A0,V0=u0|V0,C0=o0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+24,e[Z0>>2]=(e[Z0>>2]|0)+1;break}if(D0=j+-65|0,g0=(Ax(D0|0)|0)^31,y0=g0+28|0,f=n[p+y0>>0]|0,n0=_[k+(y0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=206;break x}if((f&255)>=57){ax=208;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-(1<<g0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,g0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=210;break x}if(g0>>>0>=57){ax=212;break x}V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+g0,C0=Nx+(y0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}while(!1);if((ax|0)==189){if(ax=0,f=j+19|0,n0=n[p+f>>0]|0,o0=_[k+(f<<1)>>1]|0,u0=e[$>>2]|0,E0=x0+(u0>>>3)|0,D0=s[E0>>0]|0,C0=vx(o0|0,0,n0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=190;break x}if((n0&255)>=57){ax=192;break x}V0=Tx(o0|0,0,u0&7|0)|0,xx=A0,V0=D0|V0,C0=E0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+(n0&255),C0=Nx+(f<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1}if(D0=P0+3|0,y0=((Ax(D0|0)|0)^31)+-1|0,g0=D0>>>y0&1,b0=((y0<<1)+-2|g0)+80|0,f=n[p+b0>>0]|0,n0=_[k+(b0<<1)>>1]|0,o0=e[$>>2]|0,u0=x0+(o0>>>3)|0,E0=s[u0>>0]|0,C0=vx(n0|0,0,f&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=222;break x}if((f&255)>=57){ax=224;break x}if(C0=Tx(n0|0,0,o0&7|0)|0,n0=A0,C0=E0|C0,o0=u0,n[o0>>0]=C0,n[o0+1>>0]=C0>>8,n[o0+2>>0]=C0>>16,n[o0+3>>0]=C0>>24,u0=u0+4|0,n[u0>>0]=n0,n[u0+1>>0]=n0>>8,n[u0+2>>0]=n0>>16,n[u0+3>>0]=n0>>24,u0=(e[$>>2]|0)+(f&255)|0,e[$>>2]=u0,f=D0-((g0|2)<<y0)|0,n0=x0+(u0>>>3)|0,o0=s[n0>>0]|0,C0=vx(f|0,0,y0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=226;break x}if(y0>>>0>=57){ax=228;break x}if(V0=Tx(f|0,0,u0&7|0)|0,xx=A0,V0=o0|V0,C0=n0,q0=C0,n[q0>>0]=V0,n[q0+1>>0]=V0>>8,n[q0+2>>0]=V0>>16,n[q0+3>>0]=V0>>24,C0=C0+4|0,n[C0>>0]=xx,n[C0+1>>0]=xx>>8,n[C0+2>>0]=xx>>16,n[C0+3>>0]=xx>>24,e[$>>2]=(e[$>>2]|0)+y0,C0=Nx+(b0<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,T0>>>0>=_x>>>0){j=R0;break t}j=q+(j+2)|0,C0=j,C0=s[C0>>0]|s[C0+1>>0]<<8|s[C0+2>>0]<<16|s[C0+3>>0]<<24,j=j+4|0,j=s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,xx=Ie(C0|0,j|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,o0=vx(C0|0,j|0,24)|0,o0=Ie(o0|0,A0|0,-1124073472,1979815)|0,o0=vx(o0|0,A0|0,fx|0)|0,u0=T0-Qx|0,e[d+(xx<<2)>>2]=u0+-3,xx=vx(C0|0,j|0,8)|0,xx=Ie(xx|0,A0|0,-1124073472,1979815)|0,xx=vx(xx|0,A0|0,fx|0)|0,e[d+(xx<<2)>>2]=u0+-2,j=vx(C0|0,j|0,16)|0,j=Ie(j|0,A0|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,fx|0)|0,e[d+(j<<2)>>2]=u0+-1,o0=d+(o0<<2)|0,j=e[o0>>2]|0,e[o0>>2]=u0,o0=P0,u0=R0}n0=q+1|0,f=n0,q=f,f=f+4|0,q=s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24,f=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,R0=o0,j=u0}while(!1);if(D0=j,D0>>>0>M>>>0){ax=233;break x}if(f=w-ox|0,n0=f>>>0<65536?f:65536,(w|0)==(ox|0)){w=0,ax=254;break}if(o0=cx+n0|0,o0>>>0>=1048577){w=f,ax=254;break}for(Gx(ae|0,0,1024)|0,w=0;!(w>>>0>=n0>>>0);)C0=ae+(s[bx+(ox+w)>>0]<<2)|0,e[C0>>2]=(e[C0>>2]|0)+1,w=w+43|0;for(C0=n0+42|0,w=(C0>>>0)/43|0,C0>>>0<11008?(p0=+(w>>>0),f0=+t0[19516+(w<<2)>>2]):(f0=+(w>>>0),p0=f0,f0=+Xx(f0)),w0=(f0+.5)*p0+200,q=0;(q|0)!=256;)w=e[ae+(q<<2)>>2]|0,p0=+(w>>>0),S0=+(s[px+q>>0]|0),w>>>0<256?f0=+t0[19516+(w<<2)>>2]:f0=+Xx(p0),w0=w0-p0*(S0+f0),q=q+1|0;if(!(w0>=0)){w=f,ax=254;break}if(cx>>>0<=65536){ax=250;break x}for(w=20,M=o0+-1|0,q=X0;;){if(!w){w=f,Dx=Cx,ox=n0,cx=o0;continue e}ox=q&7,C0=8-ox|0,C0=w>>>0<C0>>>0?w:C0,cx=x0+(q>>>3)|0,n[cx>>0]=(M&(1<<C0)+-1)<<ox|s[cx>>0]&(-1<<ox+C0|(1<<ox)+255),w=w-C0|0,M=M>>>C0,q=q+C0|0}}e:do if((ax|0)==84)ax=0,C0=g0-a0|0,Cx=x0+(h0>>>3)|0,n[Cx>>0]=s[Cx>>0]&(1<<(h0&7))+255,e[$>>2]=h0,Pf(C0,1,$,x0),Cx=(e[$>>2]|0)+7|0,e[$>>2]=Cx&-8,$x(x0+(Cx>>>3)|0,a0|0,C0|0)|0,a0=(e[$>>2]|0)+(C0<<3)|0,e[$>>2]=a0,n[x0+(a0>>>3)>>0]=0,w=w+(Dx-g0)|0,a0=g0;else if((ax|0)==254)if(ax=0,D0>>>0<M>>>0){if(E0=M-j|0,E0>>>0>=6210){if(!(((j-a0|0)*50|0)>>>0>E0>>>0|G0^1)){C0=M-a0|0,G0=x0+(h0>>>3)|0,n[G0>>0]=s[G0>>0]&(1<<(h0&7))+255,e[$>>2]=h0,Pf(C0,1,$,x0),G0=(e[$>>2]|0)+7|0,e[$>>2]=G0&-8,$x(x0+(G0>>>3)|0,a0|0,C0|0)|0,a0=(e[$>>2]|0)+(C0<<3)|0,e[$>>2]=a0,n[x0+(a0>>>3)>>0]=0,a0=Cx;break}if(E0>>>0<22594){if(a0=n[ee>>0]|0,M=_[ue>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=299;break x}if((a0&255)>=57){ax=301;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-6210|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-16384|0)==0&!0)){ax=303;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+14,e[zx>>2]=(e[zx>>2]|0)+1,n0=0}else{if(a0=n[Bx>>0]|0,M=_[ux>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=306;break x}if((a0&255)>=57){ax=308;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-22594|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-16777216|0)==0&!0)){ax=310;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+24,e[nx>>2]=(e[nx>>2]|0)+1,n0=0}for(;;){if(n0>>>0>=E0>>>0){a0=Cx;break e}if(M=s[D0+n0>>0]|0,a0=n[px+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=314;break x}if((a0&255)>=57){ax=316;break x}cx=Tx(M|0,0,q&7|0)|0,G0=A0,cx=f|cx,C0=j,X0=C0,n[X0>>0]=cx,n[X0+1>>0]=cx>>8,n[X0+2>>0]=cx>>16,n[X0+3>>0]=cx>>24,C0=C0+4|0,n[C0>>0]=G0,n[C0+1>>0]=G0>>8,n[C0+2>>0]=G0>>16,n[C0+3>>0]=G0>>24,e[$>>2]=(e[$>>2]|0)+(a0&255),n0=n0+1|0}}do if(E0>>>0<6){if(a0=E0+40|0,M=n[p+a0>>0]|0,q=_[k+(a0<<1)>>1]|0,j=e[$>>2]|0,f=x0+(j>>>3)|0,n0=s[f>>0]|0,C0=vx(q|0,0,M&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=258;break x}if((M&255)>=57){ax=260;break x}X0=Tx(q|0,0,j&7|0)|0,C0=A0,X0=n0|X0,n0=f,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+(M&255),n0=Nx+(a0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0}else{if(E0>>>0<130){if(n0=E0+-2|0,u0=((Ax(n0|0)|0)^31)+-1|0,o0=n0>>>u0,h0=(u0<<1)+o0+42|0,a0=n[p+h0>>0]|0,M=_[k+(h0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=264;break x}if((a0&255)>=57){ax=266;break x}if(C0=Tx(M|0,0,q&7|0)|0,M=A0,C0=f|C0,q=j,n[q>>0]=C0,n[q+1>>0]=C0>>8,n[q+2>>0]=C0>>16,n[q+3>>0]=C0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=j,a0=n0-(o0<<u0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,C0=vx(a0|0,0,u0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=268;break x}if(u0>>>0>=57){ax=270;break x}X0=Tx(a0|0,0,j&7|0)|0,C0=A0,X0=q|X0,n0=M,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+u0,n0=Nx+(h0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0;break}if(E0>>>0>=2114){if(a0=n[Wx>>0]|0,M=_[Hx>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=283;break x}if((a0&255)>=57){ax=285;break x}if(C0=Tx(M|0,0,q&7|0)|0,q=A0,C0=f|C0,M=j,j=M,n[j>>0]=C0,n[j+1>>0]=C0>>8,n[j+2>>0]=C0>>16,n[j+3>>0]=C0>>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,a0=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=a0,M=E0+-2114|0,q=x0+(a0>>>3)|0,j=s[q>>0]|0,!((M&-4096|0)==0&!0)){ax=287;break x}X0=Tx(M|0,0,a0&7|0)|0,C0=A0,X0=j|X0,n0=q,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+12,e[Rx>>2]=(e[Rx>>2]|0)+1,n0=0;break}if(n0=E0+-66|0,o0=(Ax(n0|0)|0)^31,u0=o0+50|0,a0=n[p+u0>>0]|0,M=_[k+(u0<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=274;break x}if((a0&255)>=57){ax=276;break x}if(C0=Tx(M|0,0,q&7|0)|0,M=A0,C0=f|C0,q=j,n[q>>0]=C0,n[q+1>>0]=C0>>8,n[q+2>>0]=C0>>16,n[q+3>>0]=C0>>24,j=j+4|0,n[j>>0]=M,n[j+1>>0]=M>>8,n[j+2>>0]=M>>16,n[j+3>>0]=M>>24,j=(e[$>>2]|0)+(a0&255)|0,e[$>>2]=j,a0=n0-(1<<o0)|0,M=x0+(j>>>3)|0,q=s[M>>0]|0,C0=vx(a0|0,0,o0|0)|0,!((C0|0)==0&(A0|0)==0)){ax=278;break x}if(o0>>>0>=57){ax=280;break x}X0=Tx(a0|0,0,j&7|0)|0,C0=A0,X0=q|X0,n0=M,G0=n0,n[G0>>0]=X0,n[G0+1>>0]=X0>>8,n[G0+2>>0]=X0>>16,n[G0+3>>0]=X0>>24,n0=n0+4|0,n[n0>>0]=C0,n[n0+1>>0]=C0>>8,n[n0+2>>0]=C0>>16,n[n0+3>>0]=C0>>24,e[$>>2]=(e[$>>2]|0)+o0,n0=Nx+(u0<<2)|0,e[n0>>2]=(e[n0>>2]|0)+1,n0=0}while(!1);for(;;){if(n0>>>0>=E0>>>0){a0=Cx;break e}if(M=s[D0+n0>>0]|0,a0=n[px+M>>0]|0,M=_[Ox+(M<<1)>>1]|0,q=e[$>>2]|0,j=x0+(q>>>3)|0,f=s[j>>0]|0,C0=vx(M|0,0,a0&255|0)|0,!((C0|0)==0&(A0|0)==0)){ax=291;break x}if((a0&255)>=57){ax=293;break x}cx=Tx(M|0,0,q&7|0)|0,G0=A0,cx=f|cx,C0=j,X0=C0,n[X0>>0]=cx,n[X0+1>>0]=cx>>8,n[X0+2>>0]=cx>>16,n[X0+3>>0]=cx>>24,C0=C0+4|0,n[C0>>0]=G0,n[C0+1>>0]=G0>>8,n[C0+2>>0]=G0>>16,n[C0+3>>0]=G0>>24,e[$>>2]=(e[$>>2]|0)+(a0&255),n0=n0+1|0}}else a0=Cx;while(!1);if(!w){ax=320;break}q=w>>>0<98304?w:98304,h0=e[$>>2]|0,Pf(q,0,$,x0),M=x0+((e[$>>2]|0)>>>3)|0,Cx=s[M>>0]|0,C0=M,n[C0>>0]=Cx,n[C0+1>>0]=Cx>>8,n[C0+2>>0]=Cx>>16,n[C0+3>>0]=Cx>>24,M=M+4|0,n[M>>0]=0,n[M+1>>0]=0,n[M+2>>0]=0,n[M+3>>0]=0,e[$>>2]=(e[$>>2]|0)+13,M=hD(c,a0,q,px,Ox,$,x0)|0,pD(Nx,p,k,$,x0)}switch(ax|0){case 24:{W0(405740,405401,539,405439);break}case 26:{W0(405474,405401,544,405439);break}case 32:{W0(405779,405401,559,405439);break}case 34:{W0(405800,405401,560,405439);break}case 48:{W0(405815,405401,579,405439);break}case 52:{W0(406196,406218,54,406251);break}case 54:{W0(406267,406218,55,406251);break}case 58:{W0(406196,406218,54,406251);break}case 60:{W0(406267,406218,55,406251);break}case 62:{W0(406196,406218,54,406251);break}case 64:{W0(406267,406218,55,406251);break}case 68:{W0(406196,406218,54,406251);break}case 70:{W0(406267,406218,55,406251);break}case 72:{W0(406196,406218,54,406251);break}case 74:{W0(406267,406218,55,406251);break}case 77:{W0(406196,406218,54,406251);break}case 79:{W0(406267,406218,55,406251);break}case 81:{W0(406196,406218,54,406251);break}case 87:{W0(406196,406218,54,406251);break}case 89:{W0(406267,406218,55,406251);break}case 91:{W0(406196,406218,54,406251);break}case 94:{W0(406196,406218,54,406251);break}case 96:{W0(406267,406218,55,406251);break}case 98:{W0(406196,406218,54,406251);break}case 102:{W0(406196,406218,54,406251);break}case 104:{W0(406267,406218,55,406251);break}case 108:{W0(406196,406218,54,406251);break}case 110:{W0(406267,406218,55,406251);break}case 113:{W0(406196,406218,54,406251);break}case 115:{W0(406267,406218,55,406251);break}case 117:{W0(406196,406218,54,406251);break}case 119:{W0(406267,406218,55,406251);break}case 123:{W0(406196,406218,54,406251);break}case 125:{W0(406267,406218,55,406251);break}case 129:{W0(406196,406218,54,406251);break}case 131:{W0(406267,406218,55,406251);break}case 133:{W0(406196,406218,54,406251);break}case 135:{W0(406267,406218,55,406251);break}case 139:{W0(406196,406218,54,406251);break}case 141:{W0(406267,406218,55,406251);break}case 143:{W0(406196,406218,54,406251);break}case 145:{W0(406267,406218,55,406251);break}case 149:{W0(406196,406218,54,406251);break}case 151:{W0(406267,406218,55,406251);break}case 153:{W0(406196,406218,54,406251);break}case 155:{W0(406267,406218,55,406251);break}case 157:{W0(406196,406218,54,406251);break}case 159:{W0(406267,406218,55,406251);break}case 162:{W0(406196,406218,54,406251);break}case 164:{W0(406267,406218,55,406251);break}case 166:{W0(406196,406218,54,406251);break}case 168:{W0(406196,406218,54,406251);break}case 170:{W0(406267,406218,55,406251);break}case 187:{W0(405815,405401,638,405439);break}case 190:{W0(406196,406218,54,406251);break}case 192:{W0(406267,406218,55,406251);break}case 196:{W0(406196,406218,54,406251);break}case 198:{W0(406267,406218,55,406251);break}case 200:{W0(406196,406218,54,406251);break}case 202:{W0(406267,406218,55,406251);break}case 206:{W0(406196,406218,54,406251);break}case 208:{W0(406267,406218,55,406251);break}case 210:{W0(406196,406218,54,406251);break}case 212:{W0(406267,406218,55,406251);break}case 215:{W0(406196,406218,54,406251);break}case 217:{W0(406267,406218,55,406251);break}case 219:{W0(406196,406218,54,406251);break}case 222:{W0(406196,406218,54,406251);break}case 224:{W0(406267,406218,55,406251);break}case 226:{W0(406196,406218,54,406251);break}case 228:{W0(406267,406218,55,406251);break}case 233:{W0(405853,405401,671,405439);break}case 250:{W0(405503,405401,681,405439);break}case 258:{W0(406196,406218,54,406251);break}case 260:{W0(406267,406218,55,406251);break}case 264:{W0(406196,406218,54,406251);break}case 266:{W0(406267,406218,55,406251);break}case 268:{W0(406196,406218,54,406251);break}case 270:{W0(406267,406218,55,406251);break}case 274:{W0(406196,406218,54,406251);break}case 276:{W0(406267,406218,55,406251);break}case 278:{W0(406196,406218,54,406251);break}case 280:{W0(406267,406218,55,406251);break}case 283:{W0(406196,406218,54,406251);break}case 285:{W0(406267,406218,55,406251);break}case 287:{W0(406196,406218,54,406251);break}case 291:{W0(406196,406218,54,406251);break}case 293:{W0(406267,406218,55,406251);break}case 299:{W0(406196,406218,54,406251);break}case 301:{W0(406267,406218,55,406251);break}case 303:{W0(406196,406218,54,406251);break}case 306:{W0(406196,406218,54,406251);break}case 308:{W0(406267,406218,55,406251);break}case 310:{W0(406196,406218,54,406251);break}case 314:{W0(406196,406218,54,406251);break}case 316:{W0(406267,406218,55,406251);break}case 320:if(l){c=e[$>>2]|0,ax=x0+(c>>>3)|0,d=s[ax>>0]|0,c=Tx(1,0,c&7|0)|0,C0=A0,c=d|c,d=ax,n[d>>0]=c,n[d+1>>0]=c>>8,n[d+2>>0]=c>>16,n[d+3>>0]=c>>24,ax=ax+4|0,n[ax>>0]=C0,n[ax+1>>0]=C0>>8,n[ax+2>>0]=C0>>16,n[ax+3>>0]=C0>>24,ax=(e[$>>2]|0)+1|0,e[$>>2]=ax,C0=x0+(ax>>>3)|0,d=s[C0>>0]|0,x0=Tx(1,0,ax&7|0)|0,ax=A0,x0=d|x0,d=C0,n[d>>0]=x0,n[d+1>>0]=x0>>8,n[d+2>>0]=x0>>16,n[d+3>>0]=x0>>24,C0=C0+4|0,n[C0>>0]=ax,n[C0+1>>0]=ax>>8,n[C0+2>>0]=ax>>16,n[C0+3>>0]=ax>>24,e[$>>2]=(e[$>>2]|0)+8&-8,c0=Ce;return}else{n[s0>>0]=0,e[e0>>2]=0,pD(Nx,p,k,e0,s0),c0=Ce;return}}}function Pf(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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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=Tx(1,0,d&7|0)|0,d=A0,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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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 hD(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,s0=0,$=0,x0=0;$=c0,c0=c0+1024|0,s0=$,Gx(s0|0,0,1024)|0;x:do if(f>>>0<32768){for(k=0;;){if((k|0)==(f|0)){k=0;break}e0=s0+((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=s0+(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=s0+((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=s0+(k<<2)|0,h=e[e0>>2]|0,x0=(h>>>0<11?h:11)<<1|1,e[e0>>2]=h+x0,f=f+x0|0,k=k+1|0}}while(!1);for(Uo(c,s0,e0,8,l,d,w,p),f=0,h=0;(h|0)!=256;)k=e[s0+(h<<2)>>2]|0,k&&(f=f+(ix(k,s[l+h>>0]|0)|0)|0),h=h+1|0;return c0=$,((f*125|0)>>>0)/(e0>>>0)|0|0}function pD(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,s0=0,$=0,x0=0,a0=0,M=0;M=c0,c0=c0+1872|0,a0=M+704|0,x0=M,s0=M+1736|0,Gx(x0|0,0,704)|0,Ho(c,64,15,a0,h),$=h+64|0,Ho(c+256|0,64,14,a0,$),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,fs(x0,64,s0),p=f,k=s0,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=s0+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=s0+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=s0+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=s0+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=s0+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,fs($,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,s0=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[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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,s0=x0+64|0,e[s0>>2]=s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24,e[s0+4>>2]=e0,s0=h+16|0,e0=s0,s0=s0+4|0,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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]=s0,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,s0=x0+192|0,e[s0>>2]=s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,e[s0+4>>2]=f,s0=w,f=s0,s0=s0+4|0,s0=s[s0>>0]|s[s0+1>>0]<<8|s[s0+2>>0]<<16|s[s0+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]=s0,c=0;(c|0)!=8;)s0=c<<3,n[x0+(s0+128)>>0]=n[h+(c+40)>>0]|0,n[x0+(s0+256)>>0]=n[h+(c+48)>>0]|0,n[x0+(s0+448)>>0]=n[h+(c+56)>>0]|0,c=c+1|0;$7(x0,704,a0,l,d),$7($,64,a0,l,d),c0=M}function bD(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0,pr=0,f6=0,P6=0,Zx=0,Se=0,Zt=0,bt=0,Lt=0,Je=0,_e=0,br=0;br=c0,c0=c0+4560|0,Je=br+2376|0,f6=br+128|0,pr=br+4176|0,bt=br+4304|0,Zt=br+3664|0,P6=br,M0=br+3408|0,Zx=br+1864|0,Lt=br+840|0,Se=br+832|0,Te=d,oe=w,hx=64-((Ax(k|0)|0)^31)|0,_0=(k|0)==0,rx=k>>>0<2147483649,_x=k+-1|0,Ux=(_x&k|0)==0,J0=vx(16777215,-1,hx|0)|0,J0=(_x|0)==(J0|0),_x=h,Dx=w,bx=d,ox=Zx+4|0,cx=Zx+8|0,X0=Zx+256|0,G0=Zx+336|0,Cx=Zx+256|0,Qx=P6+64|0,Wx=P6+24|0,Hx=f6+24|0,Rx=f6+32|0,Lx=P6+48|0,lx=f6+40|0,kx=P6+8|0,gx=f6+48|0,ex=P6+56|0,Z0=f6+56|0,Kx=P6+16|0,ee=pr+48|0,ue=M0+16|0,zx=pr+80|0,Bx=M0+32|0,ux=pr+112|0,nx=M0+48|0,fx=M0+96|0,Nx=pr+64|0,ae=M0+112|0,Ox=pr+96|0,px=M0+128|0,ax=f6+64|0,Ce=P6+32|0,C0=f6+128|0,se=P6+40|0,Yx=f6+192|0,dx=f6+384|0,xx=Lt,Ae=Lt+1024|0,U0=h;x:for(;;){if(!f){_e=155;break}if(V0=f>>>0<131072?f:131072,e[Se>>2]=Te,q0=U0+V0|0,k=U0,_0){_e=4;break}if(!rx){_e=6;break}if(!Ux){_e=8;break}if(!J0){_e=10;break}e:do if(V0>>>0>15)for(p0=V0+-6|0,R0=f+-16|0,R0=U0+(p0>>>0<R0>>>0?p0:R0)|0,p0=U0+1|0,a0=p0,x0=a0,a0=a0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=-1,n0=oe;;){if(x0=Ie(x0|0,a0|0,-1480785920,7733)|0,x0=vx(x0|0,A0|0,hx|0)|0,y0=k,y0>>>0>=p0>>>0){_e=15;break x}for(w0=0-T0|0,b0=p0,h0=32;;){if(E0=b0,a0=h0,h0=h0+1|0,P0=b0,g0=P0,P0=P0+4|0,P0=Ie(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+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=vx(P0|0,A0|0,hx|0)|0,(x0|0)!=(P0|0)){_e=17;break x}if(p0=b0+(a0>>>5)|0,p0>>>0>R0>>>0)break e;if(u0=p0,a0=u0,u0=u0+4|0,u0=Ie(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+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=vx(u0|0,A0|0,hx|0)|0,a0=b0+w0|0,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)==(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)&&(n[b0+4>>0]|0)==(n[b0+(4-T0)>>0]|0)&&(w0|0)<0&&(n[b0+5>>0]|0)==(n[b0+(5-T0)>>0]|0)){_e=22;break}if(x0=p+(x0<<2)|0,o0=e[x0>>2]|0,a0=h+o0|0,(o0|0)<0){_e=24;break x}if(a0>>>0>=b0>>>0){_e=26;break x}if(e[x0>>2]=E0-_x,(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24|0)!=(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)){x0=u0,b0=p0;continue}if((n[b0+4>>0]|0)!=(n[h+(o0+4)>>0]|0)){x0=u0,b0=p0;continue}if((n[b0+5>>0]|0)==(n[h+(o0+5)>>0]|0))break;x0=u0,b0=p0}for((_e|0)==22&&(_e=0,e[p+(x0<<2)>>2]=E0-_x),p0=a0,P0=U0+(V0+-4)|0,x0=0,o0=b0+6|0;;){if(o0>>>0>P0>>>0){g0=x0,x0=o0;break}if(g0=a0+(x0+6)|0,(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)){g0=x0,x0=o0;break}x0=x0+4|0,o0=o0+4|0}for(;!(x0>>>0>=q0>>>0||(n[a0+(g0+6)>>0]|0)!=(n[x0>>0]|0));)g0=g0+1|0,x0=x0+1|0;D0=g0+6|0,o0=E0-p0|0,w0=E0-k|0,E0=b0+D0|0,k=E0;t:do if(D0){for(u0=D0,h0=b0;x0=n[h0>>0]|0,p0=n[a0>>0]|0,x0<<24>>24==p0<<24>>24;)if(u0=u0+-1|0,u0)h0=h0+1|0,a0=a0+1|0;else break t;if(x0<<24>>24!=p0<<24>>24){_e=41;break x}}while(!1);do if(w0>>>0>=6){if(w0>>>0<130){p0=w0+-2|0,h0=((Ax(p0|0)|0)^31)+-1|0,u0=p0>>>h0,e[e[Se>>2]>>2]=(h0<<1)+u0+2|p0-(u0<<h0)<<8;break}if(w0>>>0<2114){u0=w0+-66|0,h0=(Ax(u0|0)|0)^31,e[e[Se>>2]>>2]=h0+10|u0-(1<<h0)<<8;break}if(w0>>>0<6210){e[e[Se>>2]>>2]=(w0<<8)+-541184|21;break}if(x0=w0<<8,w0>>>0<22594){e[e[Se>>2]>>2]=x0+-1589760|22;break}else{e[e[Se>>2]>>2]=x0+-5784064|23;break}}else e[e[Se>>2]>>2]=w0;while(!1);e[Se>>2]=(e[Se>>2]|0)+4,$x(n0|0,y0|0,w0|0)|0,n0=n0+w0|0,(o0|0)==(T0|0)?(e[e[Se>>2]>>2]=64,x0=e[Se>>2]|0,o0=T0):(y0=o0+3|0,x0=((Ax(y0|0)|0)^31)+-1|0,T0=y0>>>x0&1,e[e[Se>>2]>>2]=((x0<<1)+-2|T0)+80|y0-((T0|2)<<x0)<<8,x0=e[Se>>2]|0),x0=x0+4|0,e[Se>>2]=x0;do if(D0>>>0>=12){if(D0>>>0<72){D0=g0+-2|0,T0=((Ax(D0|0)|0)^31)+-1|0,y0=D0>>>T0,e[x0>>2]=(T0<<1)+y0+28|D0-(y0<<T0)<<8,e[Se>>2]=(e[Se>>2]|0)+4;break}if(D0>>>0<136){T0=g0+-2|0,e[x0>>2]=(T0>>>5)+54|T0<<8&7936,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}if(D0>>>0<2120){y0=g0+-66|0,T0=(Ax(y0|0)|0)^31,e[x0>>2]=T0+52|y0-(1<<T0)<<8,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}else{e[x0>>2]=(D0<<8)+-542720|63,T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,e[T0>>2]=64,e[Se>>2]=(e[Se>>2]|0)+4;break}}else e[x0>>2]=g0+26,e[Se>>2]=(e[Se>>2]|0)+4;while(!1);if(E0>>>0>=R0>>>0)break e;for(a0=b0+(g0+1)|0,T0=a0,T0=s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,D0=Ie(T0|0,a0|0,-1480785920,7733)|0,D0=vx(D0|0,A0|0,hx|0)|0,y0=E0-_x|0,e[p+(D0<<2)>>2]=y0+-5,D0=vx(T0|0,a0|0,8)|0,D0=Ie(D0|0,A0|0,-1480785920,7733)|0,D0=vx(D0|0,A0|0,hx|0)|0,e[p+(D0<<2)>>2]=y0+-4,a0=vx(T0|0,a0|0,16)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=y0+-3,a0=b0+(g0+4)|0,b0=a0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=vx(b0|0,a0|0,16)|0,T0=Ie(T0|0,A0|0,-1480785920,7733)|0,T0=vx(T0|0,A0|0,hx|0)|0,g0=Ie(b0|0,a0|0,-1480785920,7733)|0,g0=vx(g0|0,A0|0,hx|0)|0,e[p+(g0<<2)>>2]=y0+-2,a0=vx(b0|0,a0|0,8)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=y0+-1,T0=p+(T0<<2)|0,a0=e[T0>>2]|0,e[T0>>2]=y0;u0=h+a0|0,T0=k,x0=k,!((s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+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+(a0+4)>>0]|0)||(n[x0+5>>0]|0)!=(n[h+(a0+5)>>0]|0));){for(p0=a0+6|0,a0=0,o0=x0+6|0;!(o0>>>0>P0>>>0||(T0=h+(p0+a0)|0,(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)!=(s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0)));)a0=a0+4|0,o0=o0+4|0;for(;!(o0>>>0>=q0>>>0||(n[h+(p0+a0)>>0]|0)!=(n[o0>>0]|0));)a0=a0+1|0,o0=o0+1|0;E0=a0+6|0,D0=x0+E0|0,g0=D0,o0=k-u0|0;do if(E0){for(h0=E0,w0=x0;;){if(k=n[w0>>0]|0,p0=n[u0>>0]|0,k<<24>>24!=p0<<24>>24){_e=80;break}if(h0=h0+-1|0,h0)w0=w0+1|0,u0=u0+1|0;else break}if((_e|0)==80&&(_e=0,k<<24>>24!=p0<<24>>24)){_e=81;break x}if(E0>>>0<10){_e=83;break}if(E0>>>0<134){T0=((Ax(a0|0)|0)^31)+-1|0,b0=a0>>>T0,e[e[Se>>2]>>2]=(T0<<1)+b0+44|a0-(b0<<T0)<<8;break}if(E0>>>0<2118){b0=a0+-64|0,T0=(Ax(b0|0)|0)^31,e[e[Se>>2]>>2]=T0+52|b0-(1<<T0)<<8;break}else{e[e[Se>>2]>>2]=(E0<<8)+-542208|63;break}}else _e=83;while(!1);if((_e|0)==83&&(_e=0,e[e[Se>>2]>>2]=a0+44),T0=(e[Se>>2]|0)+4|0,e[Se>>2]=T0,E0=o0+3|0,b0=((Ax(E0|0)|0)^31)+-1|0,y0=E0>>>b0&1,e[T0>>2]=((b0<<1)+-2|y0)+80|E0-((y0|2)<<b0)<<8,e[Se>>2]=(e[Se>>2]|0)+4,D0>>>0>=R0>>>0){k=g0;break e}b0=x0+(a0+1)|0,k=b0,k=s[k>>0]|s[k+1>>0]<<8|s[k+2>>0]<<16|s[k+3>>0]<<24,b0=b0+4|0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,y0=Ie(k|0,b0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,T0=D0-_x|0,e[p+(y0<<2)>>2]=T0+-5,y0=vx(k|0,b0|0,8)|0,y0=Ie(y0|0,A0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,e[p+(y0<<2)>>2]=T0+-4,b0=vx(k|0,b0|0,16)|0,b0=Ie(b0|0,A0|0,-1480785920,7733)|0,b0=vx(b0|0,A0|0,hx|0)|0,e[p+(b0<<2)>>2]=T0+-3,a0=x0+(a0+4)|0,b0=a0,b0=s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,a0=a0+4|0,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,k=vx(b0|0,a0|0,16)|0,k=Ie(k|0,A0|0,-1480785920,7733)|0,k=vx(k|0,A0|0,hx|0)|0,y0=Ie(b0|0,a0|0,-1480785920,7733)|0,y0=vx(y0|0,A0|0,hx|0)|0,e[p+(y0<<2)>>2]=T0+-2,a0=vx(b0|0,a0|0,8)|0,a0=Ie(a0|0,A0|0,-1480785920,7733)|0,a0=vx(a0|0,A0|0,hx|0)|0,e[p+(a0<<2)>>2]=T0+-1,k=p+(k<<2)|0,a0=e[k>>2]|0,e[k>>2]=T0,k=g0}p0=x0+1|0,a0=p0,x0=a0,a0=a0+4|0,x0=s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24,a0=s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24,T0=o0}else n0=oe;while(!1);if(a0=k,a0>>>0>q0>>>0){_e=93;break}if(a0>>>0<q0>>>0){k=q0-k|0;do if(k>>>0>=6){if(k>>>0<130){T0=k+-2|0,R0=((Ax(T0|0)|0)^31)+-1|0,P0=T0>>>R0,e[e[Se>>2]>>2]=(R0<<1)+P0+2|T0-(P0<<R0)<<8;break}if(k>>>0<2114){P0=k+-66|0,R0=(Ax(P0|0)|0)^31,e[e[Se>>2]>>2]=R0+10|P0-(1<<R0)<<8;break}if(k>>>0<6210){e[e[Se>>2]>>2]=(k<<8)+-541184|21;break}if(x0=k<<8,k>>>0<22594){e[e[Se>>2]>>2]=x0+-1589760|22;break}else{e[e[Se>>2]>>2]=x0+-5784064|23;break}}else e[e[Se>>2]>>2]=k;while(!1);e[Se>>2]=(e[Se>>2]|0)+4,$x(n0|0,a0|0,k|0)|0,n0=n0+k|0}if(p0=n0-Dx|0,$=+(V0>>>0),+(p0>>>0)<$*.98)_e=126;else{for(Gx(Lt|0,0,1024)|0,S0=$*8*.98,k=0;;){if(k>>>0>=V0>>>0){k=xx,$=0,o0=0;break}R0=Lt+(s[U0+k>>0]<<2)|0,e[R0>>2]=(e[R0>>2]|0)+1,k=k+43|0}for(;!(k>>>0>=Ae>>>0);)x0=e[k>>2]|0,M=+(x0>>>0),x0>>>0<256?f0=+t0[19516+(x0<<2)>>2]:f0=+Xx(M),a0=e[k+4>>2]|0,q=+(a0>>>0),a0>>>0<256?j=+t0[19516+(a0<<2)>>2]:j=+Xx(q),k=k+8|0,$=$-M*f0-q*j,o0=o0+x0+a0|0;f0=S0/43,q=+(o0>>>0),o0?(o0>>>0<256?M=+t0[19516+(o0<<2)>>2]:M=+Xx(q),j=q,$=$+q*M):j=q,($<j?j:$)<f0?_e=126:(gD(V0,1,e0,s0),R0=(e[e0>>2]|0)+7|0,e[e0>>2]=R0&-8,$x(s0+(R0>>>3)|0,U0|0,V0|0)|0,U0=(e[e0>>2]|0)+(V0<<3)|0,e[e0>>2]=U0,n[s0+(U0>>>3)>>0]=0)}if((_e|0)==126){_e=0,E0=(e[Se>>2]|0)-bx>>2,gD(V0,0,e0,s0),x0=s0+((e[e0>>2]|0)>>>3)|0,U0=s[x0>>0]|0,a0=x0,n[a0>>0]=U0,n[a0+1>>0]=U0>>8,n[a0+2>>0]=U0>>16,n[a0+3>>0]=U0>>24,x0=x0+4|0,n[x0>>0]=0,n[x0+1>>0]=0,n[x0+2>>0]=0,n[x0+3>>0]=0,e[e0>>2]=(e[e0>>2]|0)+13,Gx(Lt|0,0,1024)|0,x0=P6,a0=x0+128|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(a0|0));for(Gx(M0|0,0,256)|0,Gx(Zx|0,0,512)|0,k=n0-Dx|0,x0=0;(x0|0)!=(k|0);)U0=Lt+(s[w+x0>>0]<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,x0=x0+1|0;for(Uo(c,Lt,p0,8,bt,Zt,e0,s0),k=0;(k|0)!=(E0|0);)U0=Zx+((e[d+(k<<2)>>2]&255)<<2)|0,e[U0>>2]=(e[U0>>2]|0)+1,k=k+1|0;e[ox>>2]=(e[ox>>2]|0)+1,e[cx>>2]=(e[cx>>2]|0)+1,e[X0>>2]=(e[X0>>2]|0)+1,e[G0>>2]=(e[G0>>2]|0)+1,Gx(f6|0,0,704)|0,Ho(Zx,64,15,Je,P6),Ho(Cx,64,14,Je,Qx),e[f6>>2]=e[Wx>>2],e[f6+4>>2]=e[Wx+4>>2],e[f6+8>>2]=e[Wx+8>>2],e[f6+12>>2]=e[Wx+12>>2],e[f6+16>>2]=e[Wx+16>>2],e[f6+20>>2]=e[Wx+20>>2],a0=P6,k=e[a0+4>>2]|0,x0=Hx,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,x0=Lx,k=e[x0+4>>2]|0,a0=Rx,e[a0>>2]=e[x0>>2],e[a0+4>>2]=k,a0=kx,k=e[a0+4>>2]|0,x0=lx,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,x0=ex,k=e[x0+4>>2]|0,a0=gx,e[a0>>2]=e[x0>>2],e[a0+4>>2]=k,a0=Kx,k=e[a0+4>>2]|0,x0=Z0,e[x0>>2]=e[a0>>2],e[x0+4>>2]=k,fs(f6,64,pr),o[M0>>1]=o[ee>>1]|0,o[M0+2>>1]=o[ee+2>>1]|0,o[M0+4>>1]=o[ee+4>>1]|0,o[M0+6>>1]=o[ee+6>>1]|0,o[M0+8>>1]=o[ee+8>>1]|0,o[M0+10>>1]=o[ee+10>>1]|0,o[M0+12>>1]=o[ee+12>>1]|0,o[M0+14>>1]=o[ee+14>>1]|0,o[ue>>1]=o[zx>>1]|0,o[ue+2>>1]=o[zx+2>>1]|0,o[ue+4>>1]=o[zx+4>>1]|0,o[ue+6>>1]=o[zx+6>>1]|0,o[ue+8>>1]=o[zx+8>>1]|0,o[ue+10>>1]=o[zx+10>>1]|0,o[ue+12>>1]=o[zx+12>>1]|0,o[ue+14>>1]=o[zx+14>>1]|0,o[Bx>>1]=o[ux>>1]|0,o[Bx+2>>1]=o[ux+2>>1]|0,o[Bx+4>>1]=o[ux+4>>1]|0,o[Bx+6>>1]=o[ux+6>>1]|0,o[Bx+8>>1]=o[ux+8>>1]|0,o[Bx+10>>1]=o[ux+10>>1]|0,o[Bx+12>>1]=o[ux+12>>1]|0,o[Bx+14>>1]=o[ux+14>>1]|0,x0=nx,k=pr,a0=x0+48|0;do o[x0>>1]=o[k>>1]|0,x0=x0+2|0,k=k+2|0;while((x0|0)<(a0|0));o[fx>>1]=o[Nx>>1]|0,o[fx+2>>1]=o[Nx+2>>1]|0,o[fx+4>>1]=o[Nx+4>>1]|0,o[fx+6>>1]=o[Nx+6>>1]|0,o[fx+8>>1]=o[Nx+8>>1]|0,o[fx+10>>1]=o[Nx+10>>1]|0,o[fx+12>>1]=o[Nx+12>>1]|0,o[fx+14>>1]=o[Nx+14>>1]|0,o[ae>>1]=o[Ox>>1]|0,o[ae+2>>1]=o[Ox+2>>1]|0,o[ae+4>>1]=o[Ox+4>>1]|0,o[ae+6>>1]=o[Ox+6>>1]|0,o[ae+8>>1]=o[Ox+8>>1]|0,o[ae+10>>1]=o[Ox+10>>1]|0,o[ae+12>>1]=o[Ox+12>>1]|0,o[ae+14>>1]=o[Ox+14>>1]|0,fs(Qx,64,px),x0=f6,a0=x0+64|0;do e[x0>>2]=0,x0=x0+4|0;while((x0|0)<(a0|0));for(R0=Wx,U0=e[R0+4>>2]|0,k=f6,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=Ce,U0=e[k+4>>2]|0,R0=ax,e[R0>>2]=e[k>>2],e[R0+4>>2]=U0,R0=se,U0=e[R0+4>>2]|0,k=C0,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=Lx,U0=e[k+4>>2]|0,R0=Yx,e[R0>>2]=e[k>>2],e[R0+4>>2]=U0,R0=ex,U0=e[R0+4>>2]|0,k=dx,e[k>>2]=e[R0>>2],e[k+4>>2]=U0,k=0;(k|0)!=8;)U0=k<<3,n[f6+(U0+128)>>0]=n[P6+k>>0]|0,n[f6+(U0+256)>>0]=n[P6+(k+8)>>0]|0,n[f6+(U0+448)>>0]=n[P6+(k+16)>>0]|0,k=k+1|0;for($7(f6,704,Je,e0,s0),$7(Qx,64,Je,e0,s0),k=oe,w0=0;!(w0>>>0>=E0>>>0);){if(h0=e[d+(w0<<2)>>2]|0,u0=h0&255,h0=h0>>>8,x0=n[P6+u0>>0]|0,a0=_[M0+(u0<<1)>>1]|0,n0=e[e0>>2]|0,o0=s0+(n0>>>3)|0,p0=s[o0>>0]|0,U0=vx(a0|0,0,x0&255|0)|0,!((U0|0)==0&(A0|0)==0)){_e=138;break x}if((x0&255)>=57){_e=140;break x}if(U0=Tx(a0|0,0,n0&7|0)|0,n0=A0,U0=p0|U0,a0=o0,o0=a0,n[o0>>0]=U0,n[o0+1>>0]=U0>>8,n[o0+2>>0]=U0>>16,n[o0+3>>0]=U0>>24,a0=a0+4|0,n[a0>>0]=n0,n[a0+1>>0]=n0>>8,n[a0+2>>0]=n0>>16,n[a0+3>>0]=n0>>24,x0=(e[e0>>2]|0)+(x0&255)|0,e[e0>>2]=x0,a0=e[18276+(u0<<2)>>2]|0,n0=s0+(x0>>>3)|0,o0=s[n0>>0]|0,U0=vx(h0|0,0,a0|0)|0,!((U0|0)==0&(A0|0)==0)){_e=142;break x}P0=Tx(h0|0,0,x0&7|0)|0,U0=A0,P0=o0|P0,x0=n0,R0=x0,n[R0>>0]=P0,n[R0+1>>0]=P0>>8,n[R0+2>>0]=P0>>16,n[R0+3>>0]=P0>>24,x0=x0+4|0,n[x0>>0]=U0,n[x0+1>>0]=U0>>8,n[x0+2>>0]=U0>>16,n[x0+3>>0]=U0>>24,x0=(e[e0>>2]|0)+a0|0,e[e0>>2]=x0;e:do if(u0>>>0<24)for(h0=(e[18788+(u0<<2)>>2]|0)+h0|0,u0=0;;){if(u0>>>0>=h0>>>0)break e;if(n0=s[k>>0]|0,a0=n[bt+n0>>0]|0,n0=_[Zt+(n0<<1)>>1]|0,o0=s0+(x0>>>3)|0,p0=s[o0>>0]|0,U0=vx(n0|0,0,a0&255|0)|0,!((U0|0)==0&(A0|0)==0)){_e=147;break x}if((a0&255)>=57){_e=149;break x}T0=Tx(n0|0,0,x0&7|0)|0,R0=A0,T0=p0|T0,U0=o0,P0=U0,n[P0>>0]=T0,n[P0+1>>0]=T0>>8,n[P0+2>>0]=T0>>16,n[P0+3>>0]=T0>>24,U0=U0+4|0,n[U0>>0]=R0,n[U0+1>>0]=R0>>8,n[U0+2>>0]=R0>>16,n[U0+3>>0]=R0>>24,U0=(e[e0>>2]|0)+(a0&255)|0,e[e0>>2]=U0,k=k+1|0,x0=U0,u0=u0+1|0}while(!1);w0=w0+1|0}}f=f-V0|0,U0=q0}switch(_e|0){case 4:{W0(405532,405543,251,405590);break}case 6:{W0(405605,405543,252,405590);break}case 8:{W0(405630,405543,254,405590);break}case 10:{W0(405667,405543,256,405590);break}case 15:{W0(405740,405543,289,405590);break}case 17:{W0(405755,405543,295,405590);break}case 24:{W0(405779,405543,309,405590);break}case 26:{W0(405800,405543,310,405590);break}case 41:{W0(405815,405543,329,405590);break}case 81:{W0(405815,405543,378,405590);break}case 93:{W0(405853,405543,415,405590);break}case 138:{W0(406196,406218,54,406251);break}case 140:{W0(406267,406218,55,406251);break}case 142:{W0(406196,406218,54,406251);break}case 147:{W0(406196,406218,54,406251);break}case 149:{W0(406267,406218,55,406251);break}case 155:{if(!l){c0=br;return}c=e[e0>>2]|0,Je=s0+(c>>>3)|0,p=s[Je>>0]|0,c=Tx(1,0,c&7|0)|0,_e=A0,c=p|c,p=Je,n[p>>0]=c,n[p+1>>0]=c>>8,n[p+2>>0]=c>>16,n[p+3>>0]=c>>24,Je=Je+4|0,n[Je>>0]=_e,n[Je+1>>0]=_e>>8,n[Je+2>>0]=_e>>16,n[Je+3>>0]=_e>>24,Je=(e[e0>>2]|0)+1|0,e[e0>>2]=Je,_e=s0+(Je>>>3)|0,p=s[_e>>0]|0,s0=Tx(1,0,Je&7|0)|0,Je=A0,s0=p|s0,p=_e,n[p>>0]=s0,n[p+1>>0]=s0>>8,n[p+2>>0]=s0>>16,n[p+3>>0]=s0>>24,_e=_e+4|0,n[_e>>0]=Je,n[_e+1>>0]=Je>>8,n[_e+2>>0]=Je>>16,n[_e+3>>0]=Je>>24,e[e0>>2]=(e[e0>>2]|0)+8&-8,c0=br;return}}}function gD(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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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=Tx(1,0,d&7|0)|0,d=A0,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||W0(406196,406218,54,406251),d=Tx(d|0,0,k&7|0)|0,c=A0,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=Tx(h|0,0,k|0)|0,h=A0,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 dW(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0,pr=0,f6=0,P6=0,Zx=0,Se=0,Zt=0,bt=0,Lt=0,Je=0;if(Je=c0,c0=c0+16|0,bt=Je+8|0,Lt=Je+4|0,P6=Je,!(qo(c)|0)||(Se=c+5232|0,(e[Se>>2]|0)!=0&&(e[h>>2]|0)!=0))return w=0,c0=Je,w|0;if(Zt=c+4|0,p=e[Zt>>2]|0,p>>>0<2){U0=1<<e[c+8>>2],s0=e[h>>2]|0,s0=s0>>>0<U0>>>0?s0:U0,s0=s0>>>0>131072?131072:s0,V0=c+16|0;x:do switch(p|0){case 0:{$=0,e0=0,R0=0,P0=0,Zx=20;break}case 1:{e0=c+5208|0,Zx=e[e0>>2]|0,p=Zx;e:do if(Zx)$=p;else{do if((s0|0)==131072)if(p=c+24|0,k=Px[e[V0>>2]&1](e[p>>2]|0,524288)|0,k||Ix(1),e[e0>>2]=k,p=Px[e[V0>>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 Ix(1);while(!1);if(p=c+24|0,k=Px[e[V0>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),p=Px[e[V0>>2]&1](e[p>>2]|0,s0)|0,!p)Ix(1);else{$=k,e0=p,R0=k,P0=p,Zx=20;break x}}while(!1);e0=e[c+5212>>2]|0,R0=0,P0=0,Zx=20;break}default:q0=0}while(!1);do if((Zx|0)==20){n0=c+193|0,o0=c+5220|0,f0=c+196|0,p0=c+200|0,u0=c+20|0,h0=c+24|0,S0=c+192|0,w0=c+4308|0,E0=c+4436|0,D0=c+5204|0,g0=c+4692|0,y0=c+5216|0,b0=c+5224|0,T0=(w|0)==0;x:for(;;){for(p=e[Se>>2]|0;;){if((p|0)==1&&(n[n0>>0]|0)!=0){Zx=24;break}if(k=e[o0>>2]|0,k)break;if(p){Zx=49;break x}if(j=e[h>>2]|0,M=U0>>>0<j>>>0?U0:j,j=(j|0)==(M|0)?1:0,p=(M<<1)+502|0,e[bt>>2]=s[n0>>0],p>>>0>(e[l>>2]|0)>>>0)if(k=e[p0>>2]|0,(e[f0>>2]|0)>>>0<p>>>0){if(Ex[e[u0>>2]&1](e[h0>>2]|0,k),e[p0>>2]=0,k=Px[e[V0>>2]&1](e[h0>>2]|0,p)|0,!k){Zx=34;break x}e[p0>>2]=k,e[f0>>2]=p,q=0}else q=0;else q=1,k=e[d>>2]|0;if(n[k>>0]=n[S0>>0]|0,p=mD(c,e[Zt>>2]|0,M,Lt)|0,s0=e[f>>2]|0,x0=j<<24>>24!=0,a0=e[Lt>>2]|0,e[Zt>>2]|0?bD(V0,s0,M,x0,$,e0,p,a0,bt,k):lD(V0,s0,M,x0,p,a0,w0,E0,D0,g0,bt,k),e[f>>2]=(e[f>>2]|0)+M,e[h>>2]=(e[h>>2]|0)-M,s0=e[bt>>2]|0,x0=s0>>>3,q<<24>>24){if(p=e[l>>2]|0,x0>>>0>p>>>0){Zx=41;break x}if(!((s0&7|0)==0|x0>>>0<p>>>0)){Zx=43;break x}e[d>>2]=(e[d>>2]|0)+x0,e[l>>2]=(e[l>>2]|0)-x0,p=(e[b0>>2]|0)+x0|0,e[b0>>2]=p,T0||(e[w>>2]=p)}else e[y0>>2]=k,e[o0>>2]=x0;if(n[S0>>0]=n[k+((e[bt>>2]|0)>>>3)>>0]|0,n[n0>>0]=e[bt>>2]&7,!(j<<24>>24))continue x;e[Se>>2]=2,p=2}if((Zx|0)==24){Zx=0,vD(c);continue}if(p=e[l>>2]|0,!p){Zx=49;break}p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[y0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[y0>>2]=(e[y0>>2]|0)+p,e[o0>>2]=(e[o0>>2]|0)-p,p=(e[b0>>2]|0)+p|0,e[b0>>2]=p,!T0&&(e[w>>2]=p)}if((Zx|0)==34)Ix(1);else if((Zx|0)==41)W0(406280,406053,1436,406308);else if((Zx|0)==43)W0(406340,406053,1437,406308);else if((Zx|0)==49){if(Ex[e[u0>>2]&1](e[h0>>2]|0,R0),Ex[e[u0>>2]&1](e[h0>>2]|0,P0),(e[Se>>2]|0)!=1){q0=1;break}if(e[o0>>2]|0){q0=1;break}e[Se>>2]=0,e[y0>>2]=0,q0=1;break}}while(!1);return w=q0,c0=Je,w|0}rx=c+80|0,M0=c+152|0,f0=c+12|0,p0=c+193|0,u0=c+5220|0,h0=c+5216|0,S0=c+16|0,w0=c+116|0,E0=c+92|0,D0=c+5236|0,g0=c+5208|0,y0=c+24|0,b0=c+5212|0,T0=c+196|0,P0=c+200|0,R0=c+20|0,U0=c+24|0,V0=c+192|0,q0=c+4308|0,xx=c+4436|0,J0=c+5204|0,_x=c+4692|0,Dx=c+128|0,bx=c+120|0,ox=c+124|0,cx=c+20|0,X0=c+160|0,G0=c+136|0,Cx=c+132|0,Qx=c+4|0,Wx=c+72|0,Hx=c+8|0,Rx=c+144|0,Lx=c+28|0,lx=c+32|0,kx=c+36|0,gx=c+40|0,ex=c+44|0,Z0=c+48|0,Kx=c+52|0,ee=c+56|0,ue=c+60|0,zx=c+64|0,Bx=c+68|0,ux=c+8|0,nx=c+194|0,fx=c+195|0,Nx=c+176|0,ae=c+176|0,Ox=c+160|0,px=c+8|0,ax=c+5224|0,Ce=(w|0)==0,C0=c+108|0,se=c+96|0,Yx=c+112|0,dx=c+104|0,Ae=c+116|0,Ux=c+116|0,Te=c+92|0,oe=c+104|0,hx=c+100|0,_0=c+88|0;x:for(;;){if(k=rx,p=M0,p=hr(e[k>>2]|0,e[k+4>>2]|0,e[p>>2]|0,e[p+4>>2]|0)|0,k=A0,qo(c)|0?e0=1<<e[f0>>2]:e0=0,k>>>0<0|(k|0)==0&p>>>0<e0>>>0&&(pr=e0-p|0,(pr|0)!=0)&&(f6=e[h>>2]|0,(f6|0)!=0)){if($=pr>>>0<f6>>>0?pr:f6,s0=e[f>>2]|0,qo(c)|0){if(p=e[C0>>2]|0,(p|0)==0&&$>>>0<(e[se>>2]|0)>>>0){if(e[C0>>2]=$,p=Px[e[S0>>2]&1](e[y0>>2]|0,$+9|0)|0,!p){Zx=62;break}for(k=e[Yx>>2]|0,k&&($x(p|0,k|0,(e[dx>>2]|0)+9|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[dx>>2]=$,e[Ae>>2]=p+2,n[p+1>>0]=0,n[(e[Ae>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[Ae>>2]|0)+((e[dx>>2]|0)+p)>>0]=0,p=p+1|0;$x(e[Ux>>2]|0,s0|0,$|0)|0}else{if(e0=e[hx>>2]|0,(e[oe>>2]|0)>>>0<e0>>>0){if(p=Px[e[S0>>2]&1](e[y0>>2]|0,e0+9|0)|0,!p){Zx=71;break}for(k=e[Yx>>2]|0,k&&($x(p|0,k|0,(e[dx>>2]|0)+9|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[Yx>>2]|0),e[Yx>>2]=0),e[Yx>>2]=p,e[dx>>2]=e0,e[Ae>>2]=p+2,n[p+1>>0]=0,n[(e[Ae>>2]|0)+-2>>0]=0,p=0;(p|0)!=7;)n[(e[Ae>>2]|0)+((e[dx>>2]|0)+p)>>0]=0,p=p+1|0;n[(e[Ux>>2]|0)+((e[_0>>2]|0)+-2)>>0]=0,n[(e[Ux>>2]|0)+((e[_0>>2]|0)+-1)>>0]=0,p=e[C0>>2]|0}e0=p&e[Te>>2],p=e[se>>2]|0,p>>>0>e0>>>0&&(Zx=p-e0|0,$x((e[Ux>>2]|0)+((e[_0>>2]|0)+e0)|0,s0|0,($>>>0<Zx>>>0?$:Zx)|0)|0),k=(e[Ux>>2]|0)+e0|0,p=s0,(e0+$|0)>>>0>(e[_0>>2]|0)>>>0?(Zx=(e[hx>>2]|0)-e0|0,$x(k|0,p|0,($>>>0<Zx>>>0?$:Zx)|0)|0,Zx=e[_0>>2]|0,$x(e[Ux>>2]|0,p+(Zx-e0)|0,$+(e0-Zx)|0)|0):$x(k|0,p|0,$|0)|0,p=e[Ux>>2]|0,n[p+-2>>0]=n[p+((e[_0>>2]|0)+-2)>>0]|0,p=e[Ux>>2]|0,n[p+-1>>0]=n[p+((e[_0>>2]|0)+-1)>>0]|0,p=(e[C0>>2]|0)+$|0,e[C0>>2]=p,p>>>0>1073741824&&(e[C0>>2]=p&1073741823|1073741824)}Zx=rx,Zx=Mf(e[Zx>>2]|0,e[Zx+4>>2]|0,$|0,0)|0,p=rx,e[p>>2]=Zx,e[p+4>>2]=A0,p=e[C0>>2]|0,p>>>0<=(e[Te>>2]|0)>>>0&&(Zx=(e[Ux>>2]|0)+p|0,n[Zx>>0]=0,n[Zx+1>>0]=0,n[Zx+2>>0]=0,n[Zx+3>>0]=0,n[Zx+4>>0]=0,n[Zx+5>>0]=0,n[Zx+6>>0]=0)}e[f>>2]=(e[f>>2]|0)+$,e[h>>2]=(e[h>>2]|0)-$;continue}if(p=e[Se>>2]|0,e0=(p|0)==1,e0&&(n[p0>>0]|0)!=0){vD(c);continue}if(k=e[u0>>2]|0,s0=(k|0)==0,!s0){if(p=e[l>>2]|0,!p){Zx=234;break}if(p=k>>>0<p>>>0?k:p,$x(e[d>>2]|0,e[h0>>2]|0,p|0)|0,e[d>>2]=(e[d>>2]|0)+p,e[l>>2]=(e[l>>2]|0)-p,e[h0>>2]=(e[h0>>2]|0)+p,e[u0>>2]=(e[u0>>2]|0)-p,p=(e[ax>>2]|0)+p|0,e[ax>>2]=p,Ce)continue;e[w>>2]=p;continue}if(p){Zx=234;break}if(o0=(e[h>>2]|0)==0?1:0,s0=rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,x0=M0,$=e[x0>>2]|0,x0=e[x0+4>>2]|0,M=hr(e0|0,s0|0,$|0,x0|0)|0,p=A0,x0>>>0>0|(x0|0)==0&$>>>0>3221225471?(a0=vx($|0,x0|0,30)|0,a0=$&1073741823|((a0&1^1)<<30)+1073741824):a0=$,!(qo(c)|0)){Zx=231;break}if(j=e[w0>>2]|0,n0=e[E0>>2]|0,n[D0>>0]&1){Zx=231;break}if(q=o0<<24>>24==0,q||(n[D0>>0]=1),qo(c)|0?k=1<<e[f0>>2]:k=0,p>>>0>0|(p|0)==0&M>>>0>k>>>0){Zx=231;break}if(p=e[Zt>>2]|0,(p|0)==1)if(e[g0>>2]|0)Zx=114;else{if(p=Px[e[S0>>2]&1](e[y0>>2]|0,524288)|0,!p){Zx=108;break}if(e[g0>>2]=p,p=Px[e[S0>>2]&1](e[y0>>2]|0,131072)|0,!p){Zx=110;break}e[b0>>2]=p,p=e[Zt>>2]|0,Zx=112}else Zx=112;e:do if((Zx|0)==112)if(Zx=0,(p|0)!=0&&(p|0)!=1){if(k=e[Dx>>2]|0,p=k+(M>>>1)+1|0,p>>>0>(e[bx>>2]|0)>>>0){if(p=p+((M>>>2)+16)|0,e[bx>>2]=p,p=Px[e[S0>>2]&1](e[y0>>2]|0,p<<4)|0,!p){Zx=127;break x}k=e[ox>>2]|0,k&&($x(p|0,k|0,e[Dx>>2]<<4|0)|0,Ex[e[cx>>2]&1](e[y0>>2]|0,e[ox>>2]|0),e[ox>>2]=0),e[ox>>2]=p,k=e[Dx>>2]|0}else p=e[ox>>2]|0;k=p+(k<<4)|0,p=e[Qx>>2]|0;t:do switch(p|0){case 10:{kW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Wx>>2]|0,X0,G0,k,Dx,Cx);break}case 11:{OW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Wx>>2]|0,X0,G0,k,Dx,Cx);break}default:{if((p|0)>9)break t;do if((p|0)<5)Zx=139;else{if((e[px>>2]|0)>=17){Zx=139;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=139}while(!1);r:do if((Zx|0)==139){Zx=0;do switch(p|0){case 40:break r;case 2:{FW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Lx>>2]|0,X0,G0,k,Dx,Cx);break t}case 3:{IW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[lx>>2]|0,X0,G0,k,Dx,Cx);break t}case 4:{TW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[kx>>2]|0,X0,G0,k,Dx,Cx);break t}case 5:{RW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[gx>>2]|0,X0,G0,k,Dx,Cx);break t}case 6:{PW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ex>>2]|0,X0,G0,k,Dx,Cx);break t}case 7:{_W(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Z0>>2]|0,X0,G0,k,Dx,Cx);break t}case 8:{lW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Kx>>2]|0,X0,G0,k,Dx,Cx);break t}case 9:{hW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ee>>2]|0,X0,G0,k,Dx,Cx);break t}case 41:{bW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[zx>>2]|0,X0,G0,k,Dx,Cx);break t}case 42:{gW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[Bx>>2]|0,X0,G0,k,Dx,Cx);break t}default:break t}while(!1)}while(!1);pW(S0,M,a0,o0<<24>>24!=0,j,n0,c,e[ue>>2]|0,X0,G0,k,Dx,Cx)}}while(!1);e0=e[Hx>>2]|0,k=e[f0>>2]|0,k=((e0|0)>(k|0)?e0:k)+1|0,k=1<<((k|0)<24?k:24),e0=k>>>3,M=rx,s0=Rx,s0=hr(e[M>>2]|0,e[M+4>>2]|0,e[s0>>2]|0,e[s0+4>>2]|0)|0,qo(c)|0?x0=1<<e[f0>>2]:x0=0,p=e[Zt>>2]|0,(p|0)<4?$=((e[Cx>>2]|0)+(e[Dx>>2]|0)|0)>>>0>12286:$=0;do if(!(q^1|$|(s0+x0|0)>>>0>k>>>0)){if((e[Cx>>2]|0)>>>0>=e0>>>0||(e[Dx>>2]|0)>>>0>=e0>>>0)break;e0=M0,k=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&k>>>0>3221225471&&(n0=vx(k|0,e0|0,30)|0,k=k&1073741823|((n0&1^1)<<30)+1073741824),s0=rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,s0>>>0>0|(s0|0)==0&e0>>>0>3221225471?($=vx(e0|0,s0|0,30)|0,$=e0&1073741823|(($&1^1)<<30)+1073741824):$=e0,n0=M0,e[n0>>2]=e0,e[n0+4>>2]=s0;t:do if($>>>0<k>>>0){r:do if((p|0)<=9){do if((p|0)<5)Zx=168;else{if((e[ux>>2]|0)>=17){Zx=168;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=168}while(!1);i:do if((Zx|0)==168){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{n0=e[Lx>>2]|0,n[n0+262148>>0]=1,e[n0+262152>>2]=0,e[n0+262156>>2]=0;break t}case 3:{n0=e[lx>>2]|0,n[n0+262152>>0]=1,e[n0+262156>>2]=0,e[n0+262160>>2]=0;break t}case 4:{n0=e[kx>>2]|0,n[n0+524304>>0]=1,e[n0+524308>>2]=0,e[n0+524312>>2]=0;break t}case 5:{n0=e[gx>>2]|0,n[n0+1081344>>0]=1,e[n0+1081348>>2]=0,e[n0+1081352>>2]=0;break t}case 6:{n0=e[ex>>2]|0,n[n0+2129920>>0]=1,e[n0+2129924>>2]=0,e[n0+2129928>>2]=0;break t}case 7:{n0=e[Z0>>2]|0,n[n0+8454144>>0]=1,e[n0+8454148>>2]=0,e[n0+8454152>>2]=0;break t}case 8:{n0=e[Kx>>2]|0,n[n0+16842752>>0]=1,e[n0+16842756>>2]=0,e[n0+16842760>>2]=0;break t}case 9:{n0=e[ee>>2]|0,n[n0+33619968>>0]=1,e[n0+33619972>>2]=0,e[n0+33619976>>2]=0;break t}case 41:{n0=e[zx>>2]|0,n[n0+524290>>0]=1,e[n0+524292>>2]=0,e[n0+524296>>2]=0;break t}case 42:{n0=e[Bx>>2]|0,n[n0+1311744>>0]=1,e[n0+1311748>>2]=0,e[n0+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);n0=e[ue>>2]|0,n[n0+524290>>0]=1,e[n0+524292>>2]=0,e[n0+524296>>2]=0;break t}while(!1);n[(e[Wx>>2]|0)+524304>>0]=1}while(!1);e[u0>>2]=0;break e}while(!1);if(p=e[G0>>2]|0,p){k=e[Dx>>2]|0,e[Dx>>2]=k+1,M=e[ox>>2]|0,e[M+(k<<4)>>2]=p,e[M+(k<<4)+4>>2]=67108864,e[M+(k<<4)+8>>2]=0,o[M+(k<<4)+14>>1]=16,k=M+(k<<4)+12|0;do if(p>>>0>=6){if(p>>>0<130){M=p+-2|0,p=((Ax(M|0)|0)^31)+-1|0,p=(p<<1)+(M>>>p)+2|0;break}if(p>>>0<2114){p=((Ax(p+-66|0)|0)^31)+10|0;break}if(p>>>0<6210){p=21;break}p=p>>>0<22594?22:23}while(!1);M=p&65535,o[k>>1]=o[88156+((M>>>3)*3<<1)>>1]|(M<<3&56|2)&65535,e[Cx>>2]=(e[Cx>>2]|0)+(e[G0>>2]|0),e[G0>>2]=0}if(k=rx,p=e[k>>2]|0,k=e[k+4>>2]|0,s0=Rx,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,q&((p|0)==(e0|0)&(k|0)==(s0|0))){e[u0>>2]=0;break}if(k>>>0<s0>>>0|(k|0)==(s0|0)&p>>>0<e0>>>0){Zx=194;break x}if(!(k>>>0>s0>>>0|(k|0)==(s0|0)&p>>>0>e0>>>0|q^1)){Zx=196;break x}if(e0=hr(p|0,k|0,e0|0,s0|0)|0,q=A0,!(q>>>0<0|(q|0)==0&e0>>>0<16777217)){Zx=198;break x}if(p=(e0<<1)+502|0,(e[T0>>2]|0)>>>0<p>>>0){if(Ex[e[R0>>2]&1](e[U0>>2]|0,e[P0>>2]|0),e[P0>>2]=0,q=Px[e[S0>>2]&1](e[U0>>2]|0,p)|0,k=q,!q){Zx=202;break x}e[P0>>2]=k,e[T0>>2]=p}else k=e[P0>>2]|0;e[P6>>2]=s[p0>>0],$=k,n[$>>0]=n[V0>>0]|0,x0=j,s0=Rx,BW(S0,x0,n0,e[s0>>2]|0,e[s0+4>>2]|0,e0,o0<<24>>24!=0,c,n[nx>>0]|0,n[fx>>0]|0,e[Cx>>2]|0,e[Dx>>2]|0,e[ox>>2]|0,Nx,X0,P6,$),n[V0>>0]=n[$+((e[P6>>2]|0)>>>3)>>0]|0,n[p0>>0]=e[P6>>2]&7,$=rx,s0=e[$>>2]|0,$=e[$+4>>2]|0,e0=Rx,e[e0>>2]=s0,e[e0+4>>2]=$,e0=M0,p=e[e0>>2]|0,e0=e[e0+4>>2]|0,e0>>>0>0|(e0|0)==0&p>>>0>3221225471&&(j=vx(p|0,e0|0,30)|0,p=p&1073741823|((j&1^1)<<30)+1073741824),$>>>0>0|($|0)==0&s0>>>0>3221225471?(e0=vx(s0|0,$|0,30)|0,e0=s0&1073741823|((e0&1^1)<<30)+1073741824):e0=s0,j=M0,e[j>>2]=s0,e[j+4>>2]=$;t:do if(e0>>>0<p>>>0){p=e[Zt>>2]|0;r:do if((p|0)<=9){do if((p|0)<5)Zx=214;else{if((e[ux>>2]|0)>=17){Zx=214;break}if((p|0)<7)break;p=(p|0)<9?41:42,Zx=214}while(!1);i:do if((Zx|0)==214){Zx=0;do switch(p|0){case 10:break r;case 40:break i;case 2:{j=e[Lx>>2]|0,n[j+262148>>0]=1,e[j+262152>>2]=0,e[j+262156>>2]=0;break t}case 3:{j=e[lx>>2]|0,n[j+262152>>0]=1,e[j+262156>>2]=0,e[j+262160>>2]=0;break t}case 4:{j=e[kx>>2]|0,n[j+524304>>0]=1,e[j+524308>>2]=0,e[j+524312>>2]=0;break t}case 5:{j=e[gx>>2]|0,n[j+1081344>>0]=1,e[j+1081348>>2]=0,e[j+1081352>>2]=0;break t}case 6:{j=e[ex>>2]|0,n[j+2129920>>0]=1,e[j+2129924>>2]=0,e[j+2129928>>2]=0;break t}case 7:{j=e[Z0>>2]|0,n[j+8454144>>0]=1,e[j+8454148>>2]=0,e[j+8454152>>2]=0;break t}case 8:{j=e[Kx>>2]|0,n[j+16842752>>0]=1,e[j+16842756>>2]=0,e[j+16842760>>2]=0;break t}case 9:{j=e[ee>>2]|0,n[j+33619968>>0]=1,e[j+33619972>>2]=0,e[j+33619976>>2]=0;break t}case 41:{j=e[zx>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}case 42:{j=e[Bx>>2]|0,n[j+1311744>>0]=1,e[j+1311748>>2]=0,e[j+1311752>>2]=0;break t}default:break t}while(!1)}while(!1);j=e[ue>>2]|0,n[j+524290>>0]=1,e[j+524292>>2]=0,e[j+524296>>2]=0;break t}while(!1);n[(e[Wx>>2]|0)+524304>>0]=1}while(!1);e0=Rx,p=e[e0>>2]|0,e0=e[e0+4>>2]|0;do if(!((p|0)==0&(e0|0)==0)){if(n[nx>>0]=n[x0+(p+-1&n0)>>0]|0,!(e0>>>0>0|(e0|0)==0&p>>>0>1))break;j=Mf(p|0,e0|0,-2,0)|0,n[fx>>0]=n[x0+(j&n0)>>0]|0}while(!1);e[Dx>>2]=0,e[Cx>>2]=0,e[ae>>2]=e[Ox>>2],e[ae+4>>2]=e[Ox+4>>2],e[ae+8>>2]=e[Ox+8>>2],e[ae+12>>2]=e[Ox+12>>2],e[h0>>2]=k,e[u0>>2]=(e[P6>>2]|0)>>>3}else Zx=114;while(!1);do if((Zx|0)==114){if(e[bt>>2]=s[p0>>0],!((e0|0)==($|0)&(s0|0)==(x0|0)^1|q^1)){e[u0>>2]=0;break}if(k=(M<<1)+502|0,p=e[P0>>2]|0,(e[T0>>2]|0)>>>0<k>>>0){if(Ex[e[R0>>2]&1](e[U0>>2]|0,p),e[P0>>2]=0,p=Px[e[S0>>2]&1](e[U0>>2]|0,k)|0,!p){Zx=118;break x}e[P0>>2]=p,e[T0>>2]=k,e0=p}else e0=p;n[e0>>0]=n[V0>>0]|0,s0=mD(c,e[Zt>>2]|0,M,Lt)|0,p=j+(a0&n0)|0,k=o0<<24>>24!=0,e[Zt>>2]|0?bD(S0,p,M,k,e[g0>>2]|0,e[b0>>2]|0,s0,e[Lt>>2]|0,bt,e0):lD(S0,p,M,k,s0,e[Lt>>2]|0,q0,xx,J0,_x,bt,e0),n[V0>>0]=n[e0+((e[bt>>2]|0)>>>3)>>0]|0,n[p0>>0]=e[bt>>2]&7,j=rx,n0=e[j+4>>2]|0,Zx=M0,e[Zx>>2]=e[j>>2],e[Zx+4>>2]=n0,e[h0>>2]=e0,e[u0>>2]=(e[bt>>2]|0)>>>3}while(!1);o0<<24>>24&&(e[Se>>2]=2)}switch(Zx|0){case 62:{Ix(1);break}case 71:{Ix(1);break}case 108:{Ix(1);break}case 110:{Ix(1);break}case 118:{Ix(1);break}case 127:{Ix(1);break}case 194:{W0(406017,406053,906,406080);break}case 196:{W0(406103,406053,907,406080);break}case 198:{W0(406149,406053,908,406080);break}case 202:{Ix(1);break}case 231:return w=0,c0=Je,w|0;case 234:return e0^1|s0^1?(w=1,c0=Je,w|0):(e[Se>>2]=0,e[h0>>2]=0,w=1,c0=Je,w|0)}return 0}function qo(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0;if(e0=c+5237|0,n[e0>>0]&1)return 1;f=e[c+4>>2]|0,(f|0)>=0?(f|0)>11?w=11:p=4:(f=0,p=4),(p|0)==4&&(w=f),e[c+4>>2]=w,f=c+8|0,l=e[f>>2]|0,(l|0)>=10?(l|0)>24&&(e[f>>2]=24,l=24):(e[f>>2]=10,l=10),d=c+12|0,f=e[d>>2]|0,p=(w|0)==0;do if(w>>>0>=2)if((w|0)<4)f=14;else{if(!f){if(!((w|0)>8&(l|0)>16)){f=16;break}f=(l|0)>18?18:l;break}if((f|0)>=16){if((f|0)>24){f=24;break}}else f=16}else f=l;while(!1);e[d>>2]=f,d=1<<((l|0)>(f|0)?l:f)+1,e[c+88>>2]=d,e[c+92>>2]=d+-1,f=1<<f,e[c+96>>2]=f,e[c+100>>2]=d+f,f=c+192|0,d=c+193|0;x:do switch(l|0){case 16:{n[f>>0]=0,n[d>>0]=1;break}case 17:{n[f>>0]=1,n[d>>0]=7;break}default:if((l|0)>17){n[f>>0]=(l<<1)+222|1,n[d>>0]=4;break x}else{n[f>>0]=(l<<4)+128|1,n[d>>0]=7;break x}}while(!1);x:do if(p){d=c+4436|0,w=c+4692|0,p=c+5204|0,h=c+4308|0,f=406473,l=h+128|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));$x(d|0,88174,256)|0,h=w,f=406601,l=h+57|0;do n[h>>0]=n[f>>0]|0,h=h+1|0,f=f+1|0;while((h|0)<(l|0));e[p>>2]=448}else{f=c+16|0,d=c+28|0;e:do if((w|0)>9)l=d,p=65;else{do if((w|0)>=5&(l|0)<17)if((w|0)<7){l=d,p=56;break}else{w=(w|0)<9?41:42,p=31;break}else p=31;while(!1);t:do if((p|0)==31){l=d;r:do switch(w|0){case 10:{p=65;break e}case 40:{p=56;break t}case 2:{if(h=Px[e[f>>2]&1](e[c+24>>2]|0,262160)|0,!h)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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)Ix(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 mD(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,Ex[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)Ix(1);else{e[f>>2]=h,w=h;break}}else w=c+204|0;while(!1);return e[l>>2]=d,Gx(w|0,0,d<<2|0)|0,w|0}function lW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+16842752>>0]=0,M=8)}else c=k+16842752|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&127|ex<<7)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&127|ex<<7)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+16842760|0,X0=k+16842756|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=10;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<7,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>128?M+-128|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&127)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&127)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<7,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>128?l+-128|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&127)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&127)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&127|rx<<7)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function hW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+33619968>>0]=0,M=8)}else c=k+33619968|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&255|ex<<8)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&255|ex<<8)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+33619976|0,X0=k+33619972|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=16;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<8,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>256?M+-256|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&255)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&255)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=16;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<8,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>256?l+-256|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&255)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&255)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&255|rx<<8)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function pW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,fx=ae,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+524300|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Nx=8)}else c=k+524290|0,n[c>>0]&1&&(Gx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Gx(k+131072|0,0,131072)|0),Nx=8;(Nx|0)==8&&h>>>0>2&f>>>0>2&&(Lx=f+-3|0,gx=d+(Lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,lx=k+524288|0,kx=o[lx>>1]|0,o[lx>>1]=kx+1<<16>>16,ex=kx&65535,Z0=k+(gx<<2)|0,Rx=Lx-(e[Z0>>2]|0)|0,n[(Lx&65535)+(k+196608)>>0]=gx,o[k+262144+(ex<<2)>>1]=Rx>>>0>65535?65535:Rx,gx=k+131072+(gx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[gx>>1]|0,e[Z0>>2]=Lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Lx=Z0&65535,ex=k+(kx<<2)|0,Rx=gx-(e[ex>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(Lx<<2)>>1]=Rx>>>0>65535?65535:Rx,kx=k+131072+(kx<<1)|0,o[k+262144+(Lx<<2)+2>>1]=o[kx>>1]|0,e[ex>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[lx>>1]|0,o[lx>>1]=ex+1<<16>>16,lx=ex&65535,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),q0=nx+4|0,xx=nx+8|0,J0=nx+12|0,_x=nx+4|0,Dx=nx+8|0,bx=nx+12|0,ox=k+524288|0,cx=k+524296|0,X0=k+524292|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,V0=$,c=q;x:for(;;){R0=V0,U0=M+G0|0;e:for(;;){if(P0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(b0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[q0>>2]=0,e[xx>>2]=0,e[J0>>2]=4240,T0=p&w,p0=e[nx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[_x>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=4;){if(o0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-o0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>b0>>>0?h=p0:Nx=17:h>>>0>=p>>>0|o0>>>0>b0>>>0?h=p0:Nx=17,(Nx|0)==17){for(Nx=0,n0=h&w,h=0,q=E0;j=q,!(j>>>0>g0>>>0||(S0=q,w0=d+(n0+h)|0,(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=D0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[Dx>>2]=o0,e[bx>>2]=Ox,f=Ox,l=1):h=p0}p0=h,u0=u0+1|0}n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,u0=j,h0=h;;){if(n0=u0,u0=u0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>b0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!S0&&(h=n0+p0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=E0;else continue;for(;q=h,!(q>>>0>g0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=D0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[Dx>>2]=o0,e[bx>>2]=h,n0=o0,p0=j,f=h,q=f0,j=u0,l=1,h=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,D0=hx&65535,g0=k+(_0<<2)|0,E0=p-(e[g0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(D0<<2)>>1]=E0>>>0>65535?65535:E0,_0=k+131072+(_0<<1)|0,o[k+262144+(D0<<2)+2>>1]=o[_0>>1]|0,e[g0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(px=h&31,ax=h>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=P0>>>0)){for(f=Ce+px|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+Ce|0;!(h>>>0>f>>>0||(_0=d+(T0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(T0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=px>>>0|(q|0)==0)&&(C0=b0+ax+1+(s[407930+(px-q)>>0]<<s[280786+px>>0])|0,se=(q*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[bx>>2]|0)>>>0)&&(e[nx>>2]=q,e[_x>>2]=px^q,e[Dx>>2]=C0,e[bx>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){R0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,b0=f0>>>0<Bx>>>0?f0:Bx,T0=f0&w,p0=e[fx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=4;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>b0>>>0?l=p0:Nx=71:l>>>0>=f0>>>0|j>>>0>b0>>>0?l=p0:Nx=71,(Nx|0)==71){for(Nx=0,q=l&w,l=0,M=E0;f=M,!(f>>>0>g0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=D0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=Yx,h=Yx,c=1):l=p0}p0=l,u0=u0+1|0}q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,u0=f,h0=l;;){if(_0=u0,u0=u0+-1|0,!_0||(j=j+n0|0,j>>>0>b0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,n0=_[k+262144+(n0<<2)>>1]|0,!S0&&(l=q+p0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=E0;else continue;for(;M=l,!(M>>>0>g0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=D0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,p0=f,h=l,M=n0,f=u0,c=1,l=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,g0=hx&65535,U0=k+(_0<<2)|0,D0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<2)+2>>1]=o[_0>>1]|0,e[U0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(dx=l&31,Ae=l>>>5,Ux=(e[11272+(dx<<2)>>2]|0)+(ix(dx,Ae)|0)|0,dx>>>0<=P0>>>0)){for(h=Ux+dx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(_0=d+(T0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(T0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=dx>>>0|(M|0)==0)&&(Te=b0+Ae+1+(s[407930+(dx-M)>>0]<<s[280786+dx>>0])|0,oe=(M*540|0)+3840+(ix((Ax(Te|0)|0)^31,-120)|0)|0,oe>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=dx^M,e[lx>>2]=Te,e[kx>>2]=oe,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[J0>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],R0=R0+1|0,(R0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=V0+16|0,_0=e[q0>>2]|0,l=p^_0,e[V0>>2]=o0,e[V0+4>>2]=p|_0<<24,p=V0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,_0=((Ax(U0|0)|0)^31)+-1|0,hx=U0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|U0-((hx|2)<<_0)),e[V0+8>>2]=p,q=c<<16>>16==0,j=V0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,U0=hx&65535,V0=k+(_0<<2)|0,R0=p-(e[V0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(U0<<2)>>1]=R0>>>0>65535?65535:R0,_0=k+131072+(_0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,V0=n0,c=0}e[s0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(R0-$>>4),c0=ae}function bW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(ae=c0,c0=c0+32|0,nx=ae+16|0,fx=ae,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+524300|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,o[k+524288>>1]=0,h&&(n[k+524290>>0]=0,Nx=8)}else c=k+524290|0,n[c>>0]&1&&(Gx(k|0,-52,131072)|0,o[k+524288>>1]=0,n[c>>0]=0,Gx(k+131072|0,0,131072)|0),Nx=8;(Nx|0)==8&&h>>>0>2&f>>>0>2&&(Lx=f+-3|0,gx=d+(Lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,lx=k+524288|0,kx=o[lx>>1]|0,o[lx>>1]=kx+1<<16>>16,ex=kx&65535,Z0=k+(gx<<2)|0,Rx=Lx-(e[Z0>>2]|0)|0,n[(Lx&65535)+(k+196608)>>0]=gx,o[k+262144+(ex<<2)>>1]=Rx>>>0>65535?65535:Rx,gx=k+131072+(gx<<1)|0,o[k+262144+(ex<<2)+2>>1]=o[gx>>1]|0,e[Z0>>2]=Lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Lx=Z0&65535,ex=k+(kx<<2)|0,Rx=gx-(e[ex>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(Lx<<2)>>1]=Rx>>>0>65535?65535:Rx,kx=k+131072+(kx<<1)|0,o[k+262144+(Lx<<2)+2>>1]=o[kx>>1]|0,e[ex>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,ex=o[lx>>1]|0,o[lx>>1]=ex+1<<16>>16,lx=ex&65535,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),q0=nx+4|0,xx=nx+8|0,J0=nx+12|0,_x=nx+4|0,Dx=nx+8|0,bx=nx+12|0,ox=k+524288|0,cx=k+524296|0,X0=k+524292|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,V0=$,c=q;x:for(;;){R0=V0,U0=M+G0|0;e:for(;;){if(P0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(b0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[q0>>2]=0,e[xx>>2]=0,e[J0>>2]=4240,T0=p&w,p0=e[nx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[_x>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,f=4240,l=0,u0=0;(u0|0)!=10;){if(o0=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,h=p-o0|0,u0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>b0>>>0?h=p0:Nx=17:h>>>0>=p>>>0|o0>>>0>b0>>>0?h=p0:Nx=17,(Nx|0)==17){for(Nx=0,n0=h&w,h=0,q=E0;j=q,!(j>>>0>g0>>>0||(S0=q,w0=d+(n0+h)|0,(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)!=(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=D0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(Ox=(h*540|0)+(e[11500+(u0<<2)>>2]|0)|0,f>>>0<Ox>>>0)?(e[nx>>2]=h,e[Dx>>2]=o0,e[bx>>2]=Ox,f=Ox,l=1):h=p0}p0=h,u0=u0+1|0}n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,u0=j,h0=h;;){if(n0=u0,u0=u0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>b0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,f0=_[k+262144+(f0<<2)>>1]|0,!S0&&(h=n0+p0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=E0;else continue;for(;q=h,!(q>>>0>g0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=D0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[Dx>>2]=o0,e[bx>>2]=h,n0=o0,p0=j,f=h,q=f0,j=u0,l=1,h=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,D0=hx&65535,g0=k+(_0<<2)|0,E0=p-(e[g0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(D0<<2)>>1]=E0>>>0>65535?65535:E0,_0=k+131072+(_0<<1)|0,o[k+262144+(D0<<2)+2>>1]=o[_0>>1]|0,e[g0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(px=h&31,ax=h>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=P0>>>0)){for(f=Ce+px|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+Ce|0;!(h>>>0>f>>>0||(_0=d+(T0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(T0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=px>>>0|(q|0)==0)&&(C0=b0+ax+1+(s[407930+(px-q)>>0]<<s[280786+px>>0])|0,se=(q*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[bx>>2]|0)>>>0)&&(e[nx>>2]=q,e[_x>>2]=px^q,e[Dx>>2]=C0,e[bx>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){R0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>U0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,T0=hx&65535,P0=k+(_0<<2)|0,b0=p-(e[P0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(T0<<2)>>1]=b0>>>0>65535?65535:b0,_0=k+131072+(_0<<1)|0,o[k+262144+(T0<<2)+2>>1]=o[_0>>1]|0,e[P0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(P0=P0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<P0>>>0?c:P0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,b0=f0>>>0<Bx>>>0?f0:Bx,T0=f0&w,p0=e[fx>>2]|0,y0=d+T0|0,h0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,g0=T0+P0|0,D0=d+g0|0,E0=y0,g0=d+(g0+-4)|0,h=4240,c=0,u0=0;(u0|0)!=10;){if(j=(e[e0+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,l=f0-j|0,u0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>b0>>>0?l=p0:Nx=71:l>>>0>=f0>>>0|j>>>0>b0>>>0?l=p0:Nx=71,(Nx|0)==71){for(Nx=0,q=l&w,l=0,M=E0;f=M,!(f>>>0>g0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=D0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(Yx=(l*540|0)+(e[11500+(u0<<2)>>2]|0)|0,h>>>0<Yx>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=Yx,h=Yx,c=1):l=p0}p0=l,u0=u0+1|0}q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=T0+p0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,u0=f,h0=l;;){if(_0=u0,u0=u0+-1|0,!_0||(j=j+n0|0,j>>>0>b0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(h0<<2)+2>>1]|0,n0=_[k+262144+(n0<<2)>>1]|0,!S0&&(l=q+p0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=E0;else continue;for(;M=l,!(M>>>0>g0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=D0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,p0=f,h=l,M=n0,f=u0,c=1,l=h0}if(_0=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,g0=hx&65535,U0=k+(_0<<2)|0,D0=f0-(e[U0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<2)+2>>1]=o[_0>>1]|0,e[U0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(dx=l&31,Ae=l>>>5,Ux=(e[11272+(dx<<2)>>2]|0)+(ix(dx,Ae)|0)|0,dx>>>0<=P0>>>0)){for(h=Ux+dx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ux|0;!(l>>>0>h>>>0||(_0=d+(T0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(T0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=dx>>>0|(M|0)==0)&&(Te=b0+Ae+1+(s[407930+(dx-M)>>0]<<s[280786+dx>>0])|0,oe=(M*540|0)+3840+(ix((Ax(Te|0)|0)^31,-120)|0)|0,oe>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=dx^M,e[lx>>2]=Te,e[kx>>2]=oe,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[J0>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],R0=R0+1|0,(R0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[xx>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[xx>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=V0+16|0,_0=e[q0>>2]|0,l=p^_0,e[V0>>2]=o0,e[V0+4>>2]=p|_0<<24,p=V0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(U0=c+-12|0,_0=((Ax(U0|0)|0)^31)+-1|0,hx=U0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|U0-((hx|2)<<_0)),e[V0+8>>2]=p,q=c<<16>>16==0,j=V0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,hx=o[ox>>1]|0,o[ox>>1]=hx+1<<16>>16,U0=hx&65535,V0=k+(_0<<2)|0,R0=p-(e[V0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(U0<<2)>>1]=R0>>>0>65535?65535:R0,_0=k+131072+(_0<<1)|0,o[k+262144+(U0<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,V0=n0,c=0}e[s0>>2]=c+P0,e[x0>>2]=(e[x0>>2]|0)+(R0-$>>4),c0=ae}function gW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(Nx=c0,c0=c0+32|0,nx=Nx+16|0,fx=Nx,Bx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,ux=f+h|0,zx=h>>>0>3?ux+-3|0:f,ue=p+4|0,Z0=e[ue>>2]|0,Kx=(Z0|0)<9?64:512,M=Kx+f|0,ee=k+1311756|0,e[ee>>2]=((Z0|0)>6?7:8)<<Z0+-4,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,e[k+(Z0<<2)>>2]=-858993460,o[k+131072+(Z0<<1)>>1]=-13108,c=c+1|0;Gx(k+196608|0,0,65536)|0,Gx(k+1310720|0,0,1024)|0,h&&(n[k+1311744>>0]=0,oe=8)}else n[k+1311744>>0]&1&&(Gx(k|0,-52,131072)|0,Gx(k+131072|0,0,131072)|0,Gx(k+1310720|0,0,1025)|0),oe=8;(oe|0)==8&&h>>>0>2&f>>>0>2&&(lx=f+-3|0,gx=d+(lx&w)|0,gx=(ix(s[gx>>0]|s[gx+1>>0]<<8|s[gx+2>>0]<<16|s[gx+3>>0]<<24,506832829)|0)>>>17,Z0=gx&511,ex=k+1310720+(Z0<<1)|0,kx=o[ex>>1]|0,o[ex>>1]=kx+1<<16>>16,kx=kx&511,ex=k+(gx<<2)|0,Lx=lx-(e[ex>>2]|0)|0,n[(lx&65535)+(k+196608)>>0]=gx,o[k+262144+(Z0<<11)+(kx<<2)>>1]=Lx>>>0>65535?65535:Lx,gx=k+131072+(gx<<1)|0,o[k+262144+(Z0<<11)+(kx<<2)+2>>1]=o[gx>>1]|0,e[ex>>2]=lx,o[gx>>1]=kx,gx=f+-2|0,kx=d+(gx&w)|0,kx=(ix(s[kx>>0]|s[kx+1>>0]<<8|s[kx+2>>0]<<16|s[kx+3>>0]<<24,506832829)|0)>>>17,ex=kx&511,lx=k+1310720+(ex<<1)|0,Z0=o[lx>>1]|0,o[lx>>1]=Z0+1<<16>>16,Z0=Z0&511,lx=k+(kx<<2)|0,Lx=gx-(e[lx>>2]|0)|0,n[(gx&65535)+(k+196608)>>0]=kx,o[k+262144+(ex<<11)+(Z0<<2)>>1]=Lx>>>0>65535?65535:Lx,kx=k+131072+(kx<<1)|0,o[k+262144+(ex<<11)+(Z0<<2)+2>>1]=o[kx>>1]|0,e[lx>>2]=gx,o[kx>>1]=Z0,kx=f+-1|0,Z0=d+(kx&w)|0,Z0=(ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17,lx=Z0&511,gx=k+1310720+(lx<<1)|0,ex=o[gx>>1]|0,o[gx>>1]=ex+1<<16>>16,ex=ex&511,gx=k+(Z0<<2)|0,Lx=kx-(e[gx>>2]|0)|0,n[(kx&65535)+(k+196608)>>0]=Z0,o[k+262144+(lx<<11)+(ex<<2)>>1]=Lx>>>0>65535?65535:Lx,Z0=k+131072+(Z0<<1)|0,o[k+262144+(lx<<11)+(ex<<2)+2>>1]=o[Z0>>1]|0,e[gx>>2]=kx,o[Z0>>1]=ex),xx=nx+4|0,J0=nx+8|0,_x=nx+12|0,Dx=nx+4|0,bx=nx+8|0,ox=nx+12|0,cx=k+1311752|0,X0=k+1311748|0,G0=Kx<<2,Cx=ux+-4|0,Qx=ux+-3|0,Wx=fx+12|0,Hx=fx+4|0,Rx=fx+8|0,Lx=fx+4|0,lx=fx+8|0,kx=fx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=q;x:for(;;){U0=q0,V0=M+G0|0;e:for(;;){if(R0=ux-p|0,(p+4|0)>>>0>=ux>>>0)break x;for(T0=p>>>0<Bx>>>0?p:Bx,e[nx>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,u0=e[nx>>2]|0,b0=d+P0|0,h0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,f0=h0&255,e[nx>>2]=0,e[Dx>>2]=0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f=4240,l=0,p0=0;(p0|0)!=16;){if(o0=(e[e0+(e[11372+(p0<<2)>>2]<<2)>>2]|0)+(e[11436+(p0<<2)>>2]|0)|0,h=p-o0|0,p0?(h>>>0<p>>>0?(n[(h&65535)+(k+196608)>>0]|0)==f0<<24>>24:0)^1|o0>>>0>T0>>>0?h=u0:oe=17:h>>>0>=p>>>0|o0>>>0>T0>>>0?h=u0:oe=17,(oe|0)==17){for(oe=0,n0=h&w,h=0,q=D0;j=q,!(j>>>0>y0>>>0||(w0=q,E0=d+(n0+h)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)h=h+4|0,q=j+4|0;for(;!(q>>>0>=g0>>>0||(n[d+(n0+h)>>0]|0)!=(n[q>>0]|0));)h=h+1|0,q=q+1|0;h>>>0>1&&(ae=(h*540|0)+(e[11500+(p0<<2)>>2]|0)|0,f>>>0<ae>>>0)?(e[nx>>2]=h,e[bx>>2]=o0,e[ox>>2]=ae,f=ae,l=1):h=u0}u0=h,p0=p0+1|0}E0=h0&511,n0=0,q=p-(e[k+(h0<<2)>>2]|0)|0,j=e[ee>>2]|0,h=_[k+131072+(h0<<1)>>1]|0;t:for(;;){for(w0=P0+u0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,o0=n0,f0=q,p0=j,h0=h;;){if(n0=p0,p0=p0+-1|0,!n0||(o0=o0+f0|0,o0>>>0>T0>>>0))break t;if(n0=p-o0&w,f0=h0,h0=_[k+262144+(E0<<11)+(h0<<2)+2>>1]|0,f0=_[k+262144+(E0<<11)+(f0<<2)>>1]|0,!S0&&(h=n0+u0|0,!(h>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+h>>0]|0))j=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(_0=h,hx=d+(n0+j)|0,(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)!=(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)));)j=j+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;if(!(j>>>0<=3)&&(h=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<h>>>0))break}}e[nx>>2]=j,e[bx>>2]=o0,e[ox>>2]=h,n0=o0,u0=j,f=h,q=f0,j=p0,l=1,h=h0}if(_0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,g0=_0&511,y0=k+1310720+(g0<<1)|0,hx=o[y0>>1]|0,o[y0>>1]=hx+1<<16>>16,hx=hx&511,y0=k+(_0<<2)|0,D0=p-(e[y0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(g0<<11)+(hx<<2)>>1]=D0>>>0>65535?65535:D0,_0=k+131072+(_0<<1)|0,o[k+262144+(g0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[y0>>2]=p,o[_0>>1]=hx,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(_0=o[21084+(n0<<1)>>1]|0,h=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(Ox=h&31,px=h>>>5,ax=(e[11272+(Ox<<2)>>2]|0)+(ix(Ox,px)|0)|0,Ox>>>0<=R0>>>0)){for(f=ax+Ox|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ax|0;!(h>>>0>f>>>0||(_0=d+(P0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(P0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Ox>>>0|(q|0)==0)&&(Ce=T0+px+1+(s[407930+(Ox-q)>>0]<<s[280786+Ox>>0])|0,C0=(q*540|0)+3840+(ix((Ax(Ce|0)|0)^31,-120)|0)|0,C0>>>0>=(e[ox>>2]|0)>>>0)&&(e[nx>>2]=q,e[Dx>>2]=Ox^q,e[bx>>2]=Ce,e[ox>>2]=C0,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,P0=_0&511,R0=k+1310720+(P0<<1)|0,hx=o[R0>>1]|0,o[R0>>1]=hx+1<<16>>16,hx=hx&511,R0=k+(_0<<2)|0,T0=p-(e[R0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(P0<<11)+(hx<<2)>>1]=T0>>>0>65535?65535:T0,_0=k+131072+(_0<<1)|0,o[k+262144+(P0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[R0>>2]=p,o[_0>>1]=hx,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=h;;){if(p>>>0>=l>>>0)continue e;_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,P0=_0&511,R0=k+1310720+(P0<<1)|0,hx=o[R0>>1]|0,o[R0>>1]=hx+1<<16>>16,hx=hx&511,R0=k+(_0<<2)|0,T0=p-(e[R0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(P0<<11)+(hx<<2)>>1]=T0>>>0>65535?65535:T0,_0=k+131072+(_0<<1)|0,o[k+262144+(P0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[R0>>2]=p,o[_0>>1]=hx,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ue>>2]|0)<5?(c=(e[nx>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[fx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<Bx>>>0?f0:Bx,P0=f0&w,u0=e[fx>>2]|0,b0=d+P0|0,h0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,n0=h0&255,e[fx>>2]=0,e[Lx>>2]=0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,h=4240,c=0,p0=0;(p0|0)!=16;){if(j=(e[e0+(e[11372+(p0<<2)>>2]<<2)>>2]|0)+(e[11436+(p0<<2)>>2]|0)|0,l=f0-j|0,p0?(l>>>0<f0>>>0?(n[(l&65535)+(k+196608)>>0]|0)==n0<<24>>24:0)^1|j>>>0>T0>>>0?l=u0:oe=71:l>>>0>=f0>>>0|j>>>0>T0>>>0?l=u0:oe=71,(oe|0)==71){for(oe=0,q=l&w,l=0,M=D0;f=M,!(f>>>0>y0>>>0||(hx=M,_0=d+(q+l)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)l=l+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(q+l)>>0]|0)!=(n[M>>0]|0));)l=l+1|0,M=M+1|0;l>>>0>1&&(se=(l*540|0)+(e[11500+(p0<<2)>>2]|0)|0,h>>>0<se>>>0)?(e[fx>>2]=l,e[lx>>2]=j,e[kx>>2]=se,h=se,c=1):l=u0}u0=l,p0=p0+1|0}E0=h0&511,q=0,M=f0-(e[k+(h0<<2)>>2]|0)|0,f=e[ee>>2]|0,l=_[k+131072+(h0<<1)>>1]|0;e:for(;;){for(w0=P0+u0|0,S0=w0>>>0>w>>>0,w0=d+w0|0,j=q,n0=M,p0=f,h0=l;;){if(_0=p0,p0=p0+-1|0,!_0||(j=j+n0|0,j>>>0>T0>>>0))break e;if(q=f0-j&w,n0=h0,h0=_[k+262144+(E0<<11)+(h0<<2)+2>>1]|0,n0=_[k+262144+(E0<<11)+(n0<<2)>>1]|0,!S0&&(l=q+u0|0,!(l>>>0>w>>>0))){if((n[w0>>0]|0)==(n[d+l>>0]|0))f=0,l=D0;else continue;for(;M=l,!(M>>>0>y0>>>0||(hx=l,_0=d+(q+f)|0,(s[hx>>0]|s[hx+1>>0]<<8|s[hx+2>>0]<<16|s[hx+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,l=M+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(q+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(!(f>>>0<=3)&&(l=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0)|0,h>>>0<l>>>0))break}}e[fx>>2]=f,e[lx>>2]=j,e[kx>>2]=l,q=j,u0=f,h=l,M=n0,f=p0,c=1,l=h0}if(_0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,y0=_0&511,V0=k+1310720+(y0<<1)|0,hx=o[V0>>1]|0,o[V0>>1]=hx+1<<16>>16,hx=hx&511,V0=k+(_0<<2)|0,g0=f0-(e[V0>>2]|0)|0,n[(f0&65535)+(k+196608)>>0]=_0,o[k+262144+(y0<<11)+(hx<<2)>>1]=g0>>>0>65535?65535:g0,_0=k+131072+(_0<<1)|0,o[k+262144+(y0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[V0>>2]=f0,o[_0>>1]=hx,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,q=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(_0=o[21084+(q<<1)>>1]|0,l=_0&65535,e[X0>>2]=(e[X0>>2]|0)+1,_0<<16>>16!=0&&(Yx=l&31,dx=l>>>5,Ae=(e[11272+(Yx<<2)>>2]|0)+(ix(Yx,dx)|0)|0,Yx>>>0<=R0>>>0)){for(h=Ae+Yx|0,f=280811+h|0,h=280811+(h+-4)|0,M=0,l=280811+Ae|0;!(l>>>0>h>>>0||(_0=d+(P0+M)|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)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(P0+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;!((M+10|0)>>>0<=Yx>>>0|(M|0)==0)&&(Ux=T0+dx+1+(s[407930+(Yx-M)>>0]<<s[280786+Yx>>0])|0,Te=(M*540|0)+3840+(ix((Ax(Ux|0)|0)^31,-120)|0)|0,Te>>>0>=(e[kx>>2]|0)>>>0)&&(e[fx>>2]=M,e[Lx>>2]=Yx^M,e[lx>>2]=Ux,e[kx>>2]=Te,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,q=q+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[nx>>2]=e[fx>>2],e[nx+4>>2]=e[fx+4>>2],e[nx+8>>2]=e[fx+8>>2],e[nx+12>>2]=e[fx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<ux>>>0)p=f0,o0=c;else{o0=c;break}}p=e[nx>>2]|0,M=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<Bx>>>0?f0:Bx)>>>0)if(f=c+3|0,_0=e[e0>>2]|0,l=f-_0|0,h=e[Z0>>2]|0,f=f-h|0,(c|0)==(_0|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[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[nx>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,_0=e[xx>>2]|0,l=p^_0,e[q0>>2]=o0,e[q0+4>>2]=p|_0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,_0=((Ax(V0|0)|0)^31)+-1|0,hx=V0>>>_0&1,c=((_0<<1)+65534|hx)+16&65535,o[p>>1]=c,p=_0<<24|V0-((hx|2)<<_0)),e[q0+8>>2]=p,q=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){_0=o0+-2|0,f=((Ax(_0|0)|0)^31)+-1|0,f=(f<<1)+(_0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){_0=l+-6|0,c=((Ax(_0|0)|0)^31)+-1|0,c=(c<<1)+(_0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[nx>>2]|0)|0,c=c>>>0<zx>>>0?c:zx,p=f0+2|0;!(p>>>0>=c>>>0);)_0=d+(p&w)|0,_0=(ix(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24,506832829)|0)>>>17,V0=_0&511,q0=k+1310720+(V0<<1)|0,hx=o[q0>>1]|0,o[q0>>1]=hx+1<<16>>16,hx=hx&511,q0=k+(_0<<2)|0,U0=p-(e[q0>>2]|0)|0,n[(p&65535)+(k+196608)>>0]=_0,o[k+262144+(V0<<11)+(hx<<2)>>1]=U0>>>0>65535?65535:U0,_0=k+131072+(_0<<1)|0,o[k+262144+(V0<<11)+(hx<<2)+2>>1]=o[_0>>1]|0,e[q0>>2]=p,o[_0>>1]=hx,p=p+1|0;p=f0+(e[nx>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=Nx}function wD(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,Ex[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)Ix(1);else{e[p>>2]=f,e[w>>2]=d;break}while(!1);n[k>>0]=0}}function X5(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=+t0[19516+(w<<2)>>2]:l=+Xx(+(w>>>0)),k=l+2,w=0;(w|0)!=(h|0);)d=e[c+(w<<2)>>2]|0,d?(d>>>0<256?p=+t0[19516+(d<<2)>>2]:p=+Xx(+(d>>>0)),p=l-p,d=f+(w<<2)|0,t0[d>>2]=p,p<1&&(t0[d>>2]=1)):t0[f+(w<<2)>>2]=k,w=w+1|0}function cs(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+1024>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=256){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=256)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=256||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==256)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function _f(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+2816>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=704){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=704)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=704||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==704)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function us(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0;if(j=c0,c0=c0+112|0,s0=j+88|0,a0=j+72|0,q=j,$=e[c+2080>>2]|0,$)d=0,e0=0;else return M=12,c0=j,+M;for(;;){if(e0>>>0>=520){f=d;break}if(e[c+(e0<<2)>>2]|0){if(e[s0+(d<<2)>>2]=e0,f=d+1|0,(d|0)>3)break}else f=d;d=f,e0=e0+1|0}switch(f|0){case 2:return M=+($>>>0)+20,c0=j,+M;case 3:return a0=e[c+(e[s0>>2]<<2)>>2]|0,$=e[c+(e[s0+4>>2]<<2)>>2]|0,c=e[c+(e[s0+8>>2]<<2)>>2]|0,q=$>>>0>c>>>0?$:c,M=+(a0+$+c<<1>>>0)+28-+((a0>>>0>q>>>0?a0:q)>>>0),c0=j,+M;case 4:{for(f=0;;){if((f|0)==4){$=0;break}e[a0+(f<<2)>>2]=e[c+(e[s0+(f<<2)>>2]<<2)>>2],f=f+1|0}for(;($|0)!=4;){for(s0=a0+($<<2)|0,f=$;c=f+1|0,(f|0)!=3;){if(f=a0+(c<<2)|0,d=e[f>>2]|0,e0=e[s0>>2]|0,d>>>0<=e0>>>0){f=c;continue}e[f>>2]=e0,e[s0>>2]=d,f=c}$=$+1|0}return c=(e[a0+8>>2]|0)+(e[a0+12>>2]|0)|0,q=e[a0>>2]|0,M=+((c*3|0)>>>0)+37+ +(q+(e[a0+4>>2]|0)<<1>>>0)-+((c>>>0>q>>>0?c:q)>>>0),c0=j,+M}case 1:return M=12,c0=j,+M;default:{f=q,d=f+72|0;do e[f>>2]=0,f=f+4|0;while((f|0)<(d|0));$>>>0<256?w=+t0[19516+($<<2)>>2]:w=+Xx(+($>>>0)),s0=q+68|0,h=0,f=0,$=1;x:for(;;){M=h;e:for(;;){for(;;){if(f>>>0>=520)break x;if(d=e[c+(f<<2)>>2]|0,!d)e0=1,d=f;else break e;for(;d=d+1|0,!(d>>>0>=520||e[c+(d<<2)>>2]|0);)e0=e0+1|0;if(f=f+e0|0,(f|0)==520)break x;if(e0>>>0>=3)break;e[q>>2]=(e[q>>2]|0)+e0}for(h=M,d=e0+-2|0;;){if(!d){M=h;continue e}e[s0>>2]=(e[s0>>2]|0)+1,h=h+3,d=d>>>3}}d>>>0<256?(l=+(d>>>0),h=+t0[19516+(d<<2)>>2]):(h=+(d>>>0),l=h,h=+Xx(h)),h=w-h,a0=~~(h+.5)>>>0,a0=a0>>>0>15?15:a0,e0=q+(a0<<2)|0,e[e0>>2]=(e[e0>>2]|0)+1,h=M+l*h,f=f+1|0,$=a0>>>0>$>>>0?a0:$}for(x0=+((($<<1)+18|0)>>>0),s0=q+72|0,f=q,h=0,$=0;!(f>>>0>=s0>>>0);)d=e[f>>2]|0,l=+(d>>>0),d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(l),e0=e[f+4>>2]|0,w=+(e0>>>0),e0>>>0<256?p=+t0[19516+(e0<<2)>>2]:p=+Xx(w),f=f+8|0,h=h-l*k-w*p,$=$+d+e0|0;return k=M+x0,p=+($>>>0),$?($>>>0<256?l=+t0[19516+($<<2)>>2]:l=+Xx(p),w=p,h=h+p*l):w=p,M=k+(h<w?w:h),c0=j,+M}}return 0}function mW(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0;for(Cx=c0,c0=c0+6688|0,X0=Cx+2832|0,cx=Cx,Dx=Cx+6432|0,J0=Cx+6176|0,bx=Cx+5920|0,_x=Cx+5664|0,$=0,y0=0;($|0)!=(f|0);)G0=y0+(e[h+($<<4)>>2]|0)|0,$=$+1|0,y0=G0;for(G0=c+8|0,q0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,q0||Ix(1),q=w+1|0,a0=0,M=0;$=d&w,(M|0)!=(f|0);)d=e[h+(M<<4)>>2]|0,($+d|0)>>>0>w>>>0?(V0=q-$|0,$x(q0+a0|0,l+$|0,V0|0)|0,$=0,x0=d-V0|0,d=a0+V0|0):(x0=d,d=a0),x0&&($x(q0+d|0,l+$|0,x0|0)|0,d=d+x0|0),a0=d,d=$+x0+(e[h+(M<<4)+4>>2]&16777215)|0,M=M+1|0;f0=((y0>>>0)/544|0)+1|0,f0=f0>>>0>100?100:f0;do if(y0){if(y0>>>0<128){if(M=k+16|0,d=e[M>>2]|0,q=k+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[c+4>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=k+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=k+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[c+4>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=k+12|0;e[k>>2]=1,n[(e[k+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1;break}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,f0*1040|0)|0,g0||Ix(1),$=0;($|0)!=(f0|0);)Gx(g0+($*1040|0)|0,0,1024)|0,e[g0+($*1040|0)+1024>>2]=0,r0[g0+($*1040|0)+1032>>3]=z0,$=$+1|0;for(M=(y0>>>0)/(f0>>>0)|0,q=y0+-71|0,d=7,l=0;(l|0)!=(f0|0);){for($=((ix(y0,l)|0)>>>0)/(f0>>>0)|0,l&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(M>>>0)|0)|0),x0=g0+(l*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+70,x0=71,a0=q0+(($+70|0)>>>0<y0>>>0?$:q)|0;$=x0+-1|0,!!$;)x0=g0+(l*1040|0)+(s[a0>>0]<<2)|0,e[x0>>2]=(e[x0>>2]|0)+1,x0=$,a0=a0+1|0;l=l+1|0}for(e[X0>>2]=7,x0=((y0<<1>>>0)/70|0)+100+f0+-1|0,x0=x0-((x0>>>0)%(f0>>>0)|0)|0,a0=cx+1024|0,M=cx+1032|0,q=y0>>>0>70,l=y0+-69|0,w=cx+1024|0,o0=0;!(o0>>>0>=x0>>>0);){for(Gx(cx|0,0,1028)|0,r0[M>>3]=z0,q?(d=(e[X0>>2]|0)*16807|0,V0=(d|0)==0,e[X0>>2]=V0?1:d,$=70,d=((V0?1:d)>>>0)%(l>>>0)|0):($=y0,d=0),e[w>>2]=(e[w>>2]|0)+$,$=$+1|0,d=q0+d|0;$=$+-1|0,!!$;)V0=cx+(s[d>>0]<<2)|0,e[V0>>2]=(e[V0>>2]|0)+1,d=d+1|0;for($=(o0>>>0)%(f0>>>0)|0,d=g0+($*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[a0>>2]|0),d=0;(d|0)!=256;)V0=g0+($*1040|0)+(d<<2)|0,e[V0>>2]=(e[V0>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;o0=o0+1|0}V0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,V0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<11)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<3)|0,w0||Ix(1),E0=ix(y0,(f0+7|0)>>>3)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,f0<<1)|0,D0||Ix(1),p0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,h0=V0+u0|0,R0=0,o0=0;x:for(;;){if(o0>>>0>=p0>>>0){l=136;break}if(w=(f0+7|0)>>>3,f0>>>0>=257){l=73;break}e:do if(f0>>>0<2)for($=0;;){if(($|0)==(y0|0)){a0=1;break e}n[V0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,f0<<11|0)|0,d=0;;){if((d|0)==(f0|0)){$=256;break}$=e[g0+(d*1040|0)+1024>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,f0)|0,a0=0;;){if((a0|0)==(f0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*1040|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,f0<<3|0)|0,Gx(E0|0,0,ix(y0,w)|0)|0,a0=0;!(a0>>>0>=y0>>>0);){for($=ix(s[q0+a0>>0]|0,f0)|0,d=V0+a0|0,n0=1e99,x0=0;(x0|0)!=(f0|0);)R0=w0+(x0<<3)|0,j=+r0[R0>>3]+ +r0[S0+($+x0<<3)>>3],r0[R0>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*28.1:j=28.1,x0=0;!(x0>>>0>=f0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=104;break x}R0=E0+(d+$)|0,n[R0>>0]=n[R0>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=111;break x}l=a0+-1|0,d=d-w|0,a0=V0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(P0=n[a0>>0]|0,R0=$<<24>>24==P0<<24>>24,$=R0?$:P0,x0=R0?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(f0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[V0+x0>>0]|0,d>>>0>=f0>>>0){l=120;break x}d=D0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(P0=V0+d|0,R0=o[D0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=R0,(R0&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}Gx(g0+(d*1040|0)|0,0,1024)|0,e[g0+(d*1040|0)+1024>>2]=0,r0[g0+(d*1040|0)+1032>>3]=z0,d=d+1|0}for(;($|0)!=(y0|0);)R0=s[V0+$>>0]|0,P0=g0+(R0*1040|0)+(s[q0+$>>0]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,R0=g0+(R0*1040|0)+1024|0,e[R0>>2]=(e[R0>>2]|0)+1,$=$+1|0;R0=a0,f0=x0,o0=o0+1|0}if((l|0)==73)W0(404083,403848,80,404281);else if((l|0)==104)W0(404124,403848,130,404281);else if((l|0)==111)W0(404145,403848,141,404281);else if((l|0)==120)W0(404005,403848,165,404260);else if((l|0)==126)W0(404005,403848,172,404260);else if((l|0)==129)W0(404057,403848,174,404260);else if((l|0)==136){for(P0=c+4|0,Ex[e[P0>>2]&1](e[G0>>2]|0,S0),Ex[e[P0>>2]&1](e[G0>>2]|0,w0),Ex[e[P0>>2]&1](e[G0>>2]|0,E0),Ex[e[P0>>2]&1](e[G0>>2]|0,D0),Ex[e[P0>>2]&1](e[G0>>2]|0,g0),$=R0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((R0<<4)+1008|0)>>>6,g0=Px[e[c>>2]&1](e[G0>>2]|0,q*1040|0)|0,a0=g0,g0||Ix(1),g0=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=g0,g0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(R0>>>0<64?R0:64)*1040|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=R0>>>0){l=151;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[V0+x0>>0]|0)==(n[V0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==151&&W0(403825,403848,231,404239),(d|0)!=(R0|0)&&W0(403911,403848,237,404239),p0=q,f0=q,g0=0,$=0,S0=0;;){if(R0>>>0<=S0>>>0){l=193;break}for(h0=R0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*1040|0)|0,Gx(x0|0,0,1024)|0,q=w0+(w*1040|0)+1024|0,e[q>>2]=0,r0[w0+(w*1040|0)+1032>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)y0=w0+(w*1040|0)+(s[q0+$>>0]<<2)|0,e[y0>>2]=(e[y0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*1040|0)+1032>>3]=+cs(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=Tf(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=g0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*1040|0)|0,!d){l=170;break}x0||$x(d|0,a0|0,p0*1040|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=g0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=179;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+g0|0,q=g0,l=g0,w=0;;){if((w|0)==(u0|0)){d=0;break}y0=J0+(w<<2)|0,D0=e[y0>>2]|0,$x(d+(q*1040|0)|0,w0+(D0*1040|0)|0,1040)|0,e[x0+(l<<2)>>2]=e[Dx+(D0<<2)>>2],e[_x+(e[y0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=g0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+g0|0,(g0+u0|0)!=(d|0)){l=189;break}if((d|0)!=(o0|0)){l=191;break}g0=d,S0=S0+64|0}if((l|0)==170)Ix(1);else if((l|0)==179)Ix(1);else if((l|0)==189)W0(403935,403848,273,404239);else if((l|0)==191)W0(403969,403848,274,404239);else if((l|0)==193){Ex[e[P0>>2]&1](e[G0>>2]|0,w0),y0=g0<<6,x0=ix(g0>>>1,g0)|0,x0=y0>>>0<x0>>>0?y0:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[P0>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){U0=$;break}Ix(1)}else U0=E0;while(!1);for(d=g0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(g0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=Tf(E0,M,b0,D0,U0,g0,R0,256,x0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,U0),Ex[e[P0>>2]&1](e[G0>>2]|0,M),y0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,y0||Ix(1),$=0;($|0)!=(g0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+1024|0,p0=cx+1032|0,u0=X0+1024|0,h0=X0+1024|0,$=0,d=0,S0=0;(S0|0)!=(R0|0);){for(Gx(cx|0,0,1028)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(s[q0+o0>>0]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,1040)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)U0=X0+(d<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[E0+(x0*1040|0)+(d<<2)>>2]|0),d=d+1|0;j=+cs(X0),j=j-+r0[E0+(x0*1040|0)+1032>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,1040)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*1040|0)+1024>>2]|0),M=0;(M|0)!=256;)U0=X0+(M<<2)|0,e[U0>>2]=(e[U0>>2]|0)+(e[E0+(x0*1040|0)+(M<<2)>>2]|0),M=M+1|0;n0=+cs(X0),n0=n0-+r0[E0+(x0*1040|0)+1032>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[P0>>2]&1](e[G0>>2]|0,D0),Ex[e[P0>>2]&1](e[G0>>2]|0,a0),M=k+16|0,$=e[M>>2]|0,$>>>0<R0>>>0){for(a0=($|0)==0?R0:$;!(a0>>>0>=R0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=k+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=k+20|0,$=e[M>>2]|0,$>>>0<R0>>>0){for(a0=($|0)==0?R0:$;!(a0>>>0>=R0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=k+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[P0>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=k+12|0;for(M=k+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(R0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(R0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,U0=x0&255,n[(e[M>>2]|0)+l>>0]=U0,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(U0&255)?w&255:x0&255)&255,x0=q}e[k+4>>2]=l,e[k>>2]=(w&255)+1,Ex[e[P0>>2]&1](e[G0>>2]|0,y0),Ex[e[P0>>2]&1](e[G0>>2]|0,T0),Ex[e[P0>>2]&1](e[G0>>2]|0,b0),Ex[e[P0>>2]&1](e[G0>>2]|0,V0);break}}}else e[k>>2]=1;while(!1);for(k=c+4|0,Ex[e[k>>2]&1](e[G0>>2]|0,q0),U0=f<<1,V0=Px[e[c>>2]&1](e[G0>>2]|0,U0)|0,V0||Ix(1),$=0;($|0)!=(f|0);)o[V0+($<<1)>>1]=o[h+($<<4)+12>>1]|0,$=$+1|0;p0=((f>>>0)/530|0)+1|0,p0=p0>>>0>50?50:p0;do if(f){if(f>>>0<128){if(M=e0+16|0,d=e[M>>2]|0,q=e0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=e0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=e0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=e0+12|0;e[e0>>2]=1,n[(e[e0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=f,e[q>>2]=(e[q>>2]|0)+1;break}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,p0*2832|0)|0,g0||Ix(1),$=0;($|0)!=(p0|0);)Gx(g0+($*2832|0)|0,0,2816)|0,e[g0+($*2832|0)+2816>>2]=0,r0[g0+($*2832|0)+2824>>3]=z0,$=$+1|0;for(a0=(f>>>0)/(p0>>>0)|0,M=f+-41|0,d=7,q=0;(q|0)!=(p0|0);){for($=((ix(q,f)|0)>>>0)/(p0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(a0>>>0)|0)|0),x0=g0+(q*2832|0)+2816|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=V0+((($+40|0)>>>0<f>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)q0=g0+(q*2832|0)+(_[x0>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[X0>>2]=7,a0=((U0>>>0)/40|0)+100+p0+-1|0,a0=a0-((a0>>>0)%(p0>>>0)|0)|0,M=cx+2816|0,q=cx+2824|0,l=f>>>0>40,w=f+-39|0,o0=cx+2816|0,f0=0;!(f0>>>0>=a0>>>0);){for(Gx(cx|0,0,2820)|0,r0[q>>3]=z0,l?($=(e[X0>>2]|0)*16807|0,q0=($|0)==0,e[X0>>2]=q0?1:$,d=40,$=((q0?1:$)>>>0)%(w>>>0)|0):(d=f,$=0),e[o0>>2]=(e[o0>>2]|0)+d,x0=V0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)q0=cx+(_[x0>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(p0>>>0)|0,d=g0+($*2832|0)+2816|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=704;)q0=g0+($*2832|0)+(d<<2)|0,e[q0>>2]=(e[q0>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}R0=Px[e[c>>2]&1](e[G0>>2]|0,f)|0,R0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,p0*5632|0)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<3)|0,w0||Ix(1),E0=ix((p0+7|0)>>>3,f)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<1)|0,D0||Ix(1),f0=(e[p+4>>2]|0)<11?3:10,u0=f+-1|0,h0=R0+u0|0,P0=0,o0=0;x:for(;;){if(o0>>>0>=f0>>>0){l=382;break}if(w=(p0+7|0)>>>3,p0>>>0>=257){l=319;break}e:do if(p0>>>0<2)for($=0;;){if(($|0)==(f|0)){a0=1;break e}n[R0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,p0*5632|0)|0,d=0;;){if((d|0)==(p0|0)){$=704;break}$=e[g0+(d*2832|0)+2816>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,p0)|0,a0=0;;){if((a0|0)==(p0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*2832|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,p0<<3|0)|0,Gx(E0|0,0,ix(w,f)|0)|0,a0=0;!(a0>>>0>=f>>>0);){for($=ix(_[V0+(a0<<1)>>1]|0,p0)|0,d=R0+a0|0,n0=1e99,x0=0;(x0|0)!=(p0|0);)q0=w0+(x0<<3)|0,j=+r0[q0>>3]+ +r0[S0+($+x0<<3)>>3],r0[q0>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*13.5:j=13.5,x0=0;!(x0>>>0>=p0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=350;break x}q0=E0+(d+$)|0,n[q0>>0]=n[q0>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=357;break x}l=a0+-1|0,d=d-w|0,a0=R0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(P0=n[a0>>0]|0,q0=$<<24>>24==P0<<24>>24,$=q0?$:P0,x0=q0?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(p0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=f>>>0){d=0;break}if(d=s[R0+x0>>0]|0,d>>>0>=p0>>>0){l=366;break x}d=D0+(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=R0+d|0,q0=o[D0+(s[P0>>0]<<1)>>1]|0,n[P0>>0]=q0,(q0&255)>>>0>=p0>>>0){l=372;break x}d=d+1|0}if(x0=$&65535,x0>>>0>p0>>>0){l=375;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Gx(g0+(d*2832|0)|0,0,2816)|0,e[g0+(d*2832|0)+2816>>2]=0,r0[g0+(d*2832|0)+2824>>3]=z0,d=d+1|0}for(;($|0)!=(f|0);)q0=s[R0+$>>0]|0,P0=g0+(q0*2832|0)+(_[V0+($<<1)>>1]<<2)|0,e[P0>>2]=(e[P0>>2]|0)+1,q0=g0+(q0*2832|0)+2816|0,e[q0>>2]=(e[q0>>2]|0)+1,$=$+1|0;P0=a0,p0=x0,o0=o0+1|0}if((l|0)==319)W0(404083,403848,80,404221);else if((l|0)==350)W0(404124,403848,130,404221);else if((l|0)==357)W0(404145,403848,141,404221);else if((l|0)==366)W0(404005,403848,165,404200);else if((l|0)==372)W0(404005,403848,172,404200);else if((l|0)==375)W0(404057,403848,174,404200);else if((l|0)==382){for(Ex[e[k>>2]&1](e[G0>>2]|0,S0),Ex[e[k>>2]&1](e[G0>>2]|0,w0),Ex[e[k>>2]&1](e[G0>>2]|0,E0),Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,g0),$=P0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((P0<<4)+1008|0)>>>6,q0=Px[e[c>>2]&1](e[G0>>2]|0,q*2832|0)|0,a0=q0,q0||Ix(1),q0=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=q0,q0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(P0>>>0<64?P0:64)*2832|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=f>>>0);){if(d>>>0>=P0>>>0){l=397;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(f|0)&&(n[R0+x0>>0]|0)==(n[R0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==397&&W0(403825,403848,231,404179),(d|0)!=(P0|0)&&W0(403911,403848,237,404179),p0=q,f0=q,g0=0,$=0,S0=0;;){if(P0>>>0<=S0>>>0){l=439;break}for(h0=P0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*2832|0)|0,Gx(x0|0,0,2816)|0,q=w0+(w*2832|0)+2816|0,e[q>>2]=0,r0[w0+(w*2832|0)+2824>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)q0=w0+(w*2832|0)+(_[V0+($<<1)>>1]<<2)|0,e[q0>>2]=(e[q0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*2832|0)+2824>>3]=+_f(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=fD(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=g0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*2832|0)|0,!d){l=416;break}x0||$x(d|0,a0|0,p0*2832|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=g0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=425;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+g0|0,q=g0,l=g0,w=0;;){if((w|0)==(u0|0)){d=0;break}q0=J0+(w<<2)|0,y0=e[q0>>2]|0,$x(d+(q*2832|0)|0,w0+(y0*2832|0)|0,2832)|0,e[x0+(l<<2)>>2]=e[Dx+(y0<<2)>>2],e[_x+(e[q0>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=g0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+g0|0,(g0+u0|0)!=(d|0)){l=435;break}if((d|0)!=(o0|0)){l=437;break}g0=d,S0=S0+64|0}if((l|0)==416)Ix(1);else if((l|0)==425)Ix(1);else if((l|0)==435)W0(403935,403848,273,404179);else if((l|0)==437)W0(403969,403848,274,404179);else if((l|0)==439){Ex[e[k>>2]&1](e[G0>>2]|0,w0),q0=g0<<6,x0=ix(g0>>>1,g0)|0,x0=q0>>>0<x0>>>0?q0:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[k>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){xx=$;break}Ix(1)}else xx=E0;while(!1);for(d=g0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(g0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=fD(E0,M,b0,D0,xx,g0,P0,256,x0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,xx),Ex[e[k>>2]&1](e[G0>>2]|0,M),y0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,y0||Ix(1),$=0;($|0)!=(g0|0);)e[y0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+2816|0,p0=cx+2824|0,u0=X0+2816|0,h0=X0+2816|0,$=0,d=0,S0=0;(S0|0)!=(P0|0);){for(Gx(cx|0,0,2820)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(_[V0+(o0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,2832)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*2832|0)+2816>>2]|0),d=0;(d|0)!=704;)xx=X0+(d<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[E0+(x0*2832|0)+(d<<2)>>2]|0),d=d+1|0;j=+_f(X0),j=j-+r0[E0+(x0*2832|0)+2824>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,2832)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*2832|0)+2816>>2]|0),M=0;(M|0)!=704;)xx=X0+(M<<2)|0,e[xx>>2]=(e[xx>>2]|0)+(e[E0+(x0*2832|0)+(M<<2)>>2]|0),M=M+1|0;n0=+_f(X0),n0=n0-+r0[E0+(x0*2832|0)+2824>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=y0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,a0),M=e0+16|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=e0+20|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=e0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=e0+12|0;for(M=e0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(P0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[y0+(d<<2)>>2]|0,xx=x0&255,n[(e[M>>2]|0)+l>>0]=xx,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(xx&255)?w&255:x0&255)&255,x0=q}e[e0+4>>2]=l,e[e0>>2]=(w&255)+1,Ex[e[k>>2]&1](e[G0>>2]|0,y0),Ex[e[k>>2]&1](e[G0>>2]|0,T0),Ex[e[k>>2]&1](e[G0>>2]|0,b0),Ex[e[k>>2]&1](e[G0>>2]|0,R0);break}}}else e[e0>>2]=1;while(!1);for(Ex[e[k>>2]&1](e[G0>>2]|0,V0),U0=Px[e[c>>2]&1](e[G0>>2]|0,U0)|0,U0||Ix(1),y0=0,d=0;(d|0)!=(f|0);)(e[h+(d<<4)+4>>2]&16777215|0)!=0&&(_[h+(d<<4)+12>>1]|0)>127?(o[U0+(y0<<1)>>1]=o[h+(d<<4)+14>>1]|0,$=y0+1|0):$=y0,y0=$,d=d+1|0;if(p0=((y0>>>0)/544|0)+1|0,p0=p0>>>0>50?50:p0,!y0){e[s0>>2]=1,c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}if(y0>>>0<128){if(M=s0+16|0,d=e[M>>2]|0,q=s0+4|0,$=e[q>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0,$=e[q>>2]|0}if(M=s0+20|0,d=e[M>>2]|0,x0=$+1|0,d>>>0<x0>>>0){for(a0=(d|0)==0?x0:d;!(a0>>>0>=x0>>>0);)a0=a0<<1;$=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,$||Ix(1),x0=e[M>>2]|0,d=s0+12|0,x0&&$x($|0,e[d>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[d>>2]|0),e[d>>2]=$,e[M>>2]=a0,$=e[q>>2]|0}else d=s0+12|0;e[s0>>2]=1,n[(e[s0+8>>2]|0)+$>>0]=0,e[(e[d>>2]|0)+(e[q>>2]<<2)>>2]=y0,e[q>>2]=(e[q>>2]|0)+1,c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}for(g0=Px[e[c>>2]&1](e[G0>>2]|0,p0*2096|0)|0,g0||Ix(1),$=0;($|0)!=(p0|0);)Gx(g0+($*2096|0)|0,0,2080)|0,e[g0+($*2096|0)+2080>>2]=0,r0[g0+($*2096|0)+2088>>3]=z0,$=$+1|0;for(a0=(y0>>>0)/(p0>>>0)|0,M=y0+-41|0,d=7,q=0;(q|0)!=(p0|0);){for($=((ix(y0,q)|0)>>>0)/(p0>>>0)|0,q&&(d=d*16807|0,d=(d|0)==0?1:d,$=$+((d>>>0)%(a0>>>0)|0)|0),x0=g0+(q*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+40,x0=U0+((($+40|0)>>>0<y0>>>0?$:M)<<1)|0,$=41;$=$+-1|0,!!$;)f=g0+(q*2096|0)+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;q=q+1|0}for(e[X0>>2]=7,a0=((y0<<1>>>0)/40|0)+100+p0+-1|0,a0=a0-((a0>>>0)%(p0>>>0)|0)|0,M=cx+2080|0,q=cx+2088|0,l=y0>>>0>40,w=y0+-39|0,o0=cx+2080|0,f0=0;!(f0>>>0>=a0>>>0);){for(Gx(cx|0,0,2084)|0,r0[q>>3]=z0,l?($=(e[X0>>2]|0)*16807|0,f=($|0)==0,e[X0>>2]=f?1:$,d=40,$=((f?1:$)>>>0)%(w>>>0)|0):(d=y0,$=0),e[o0>>2]=(e[o0>>2]|0)+d,x0=U0+($<<1)|0,$=d+1|0;$=$+-1|0,!!$;)f=cx+(_[x0>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,x0=x0+2|0;for($=(f0>>>0)%(p0>>>0)|0,d=g0+($*2096|0)+2080|0,e[d>>2]=(e[d>>2]|0)+(e[M>>2]|0),d=0;(d|0)!=520;)f=g0+($*2096|0)+(d<<2)|0,e[f>>2]=(e[f>>2]|0)+(e[cx+(d<<2)>>2]|0),d=d+1|0;f0=f0+1|0}R0=Px[e[c>>2]&1](e[G0>>2]|0,y0)|0,R0||Ix(1),S0=Px[e[c>>2]&1](e[G0>>2]|0,p0*4160|0)|0,S0||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<3)|0,w0||Ix(1),E0=ix(y0,(p0+7|0)>>>3)|0,E0=Px[e[c>>2]&1](e[G0>>2]|0,E0)|0,E0||Ix(1),D0=Px[e[c>>2]&1](e[G0>>2]|0,p0<<1)|0,D0||Ix(1),f0=(e[p+4>>2]|0)<11?3:10,u0=y0+-1|0,h0=R0+u0|0,P0=0,o0=0;x:for(;;){if(o0>>>0>=f0>>>0){l=631;break}if(w=(p0+7|0)>>>3,p0>>>0>=257){l=568;break}e:do if(p0>>>0<2)for($=0;;){if(($|0)==(y0|0)){a0=1;break e}n[R0+$>>0]=0,$=$+1|0}else{for(Gx(S0|0,0,p0*4160|0)|0,d=0;;){if((d|0)==(p0|0)){$=520;break}$=e[g0+(d*2096|0)+2080>>2]|0,$>>>0<256?j=+t0[19516+($<<2)>>2]:j=+Xx(+($>>>0)),r0[S0+(d<<3)>>3]=j,d=d+1|0}t:for(;$;)for($=$+-1|0,x0=ix($,p0)|0,a0=0;;){if((a0|0)==(p0|0))continue t;n0=+r0[S0+(a0<<3)>>3],d=e[g0+(a0*2096|0)+($<<2)>>2]|0;do if(d)if(d>>>0<256){j=+t0[19516+(d<<2)>>2];break}else{j=+Xx(+(d>>>0));break}else j=-2;while(!1);r0[S0+(x0+a0<<3)>>3]=n0-j,a0=a0+1|0}for(Gx(w0|0,0,p0<<3|0)|0,Gx(E0|0,0,ix(y0,w)|0)|0,a0=0;!(a0>>>0>=y0>>>0);){for($=ix(_[U0+(a0<<1)>>1]|0,p0)|0,d=R0+a0|0,n0=1e99,x0=0;(x0|0)!=(p0|0);)p=w0+(x0<<3)|0,j=+r0[p>>3]+ +r0[S0+($+x0<<3)>>3],r0[p>>3]=j,j<n0?n[d>>0]=x0:j=n0,n0=j,x0=x0+1|0;for(d=ix(a0,w)|0,a0>>>0<2e3?j=(+(a0>>>0)*.07/2e3+.77)*14.6:j=14.6,x0=0;!(x0>>>0>=p0>>>0);){if($=w0+(x0<<3)|0,Qx=+r0[$>>3]-n0,r0[$>>3]=Qx,Qx>=j){if(r0[$>>3]=j,$=x0>>>3,$>>>0>=w>>>0){l=599;break x}p=E0+(d+$)|0,n[p>>0]=n[p>>0]|1<<(x0&7)&255}x0=x0+1|0}a0=a0+1|0}for(d=ix(u0,w)|0,a0=u0,$=n[h0>>0]|0,x0=1;;){if(!a0){a0=x0;break e}if(M=$&255,q=M>>>3,q>>>0>=w>>>0){l=606;break x}l=a0+-1|0,d=d-w|0,a0=R0+l|0,(n[E0+(d+q)>>0]&(1<<(M&7)&255))<<24>>24&&(f=n[a0>>0]|0,p=$<<24>>24==f<<24>>24,$=p?$:f,x0=p?x0:x0+1|0),n[a0>>0]=$,a0=l}}while(!1);for($=0;;){if(($|0)==(p0|0)){$=0,x0=0;break}o[D0+($<<1)>>1]=256,$=$+1|0}for(;;){if(x0>>>0>=y0>>>0){d=0;break}if(d=s[R0+x0>>0]|0,d>>>0>=p0>>>0){l=615;break x}d=D0+(d<<1)|0,(o[d>>1]|0)==256&&(o[d>>1]=$,$=$+1<<16>>16),x0=x0+1|0}for(;!(d>>>0>=y0>>>0);){if(f=R0+d|0,p=o[D0+(s[f>>0]<<1)>>1]|0,n[f>>0]=p,(p&255)>>>0>=p0>>>0){l=621;break x}d=d+1|0}if(x0=$&65535,x0>>>0>p0>>>0){l=624;break}for($=$&65535,d=0;;){if((d|0)==($|0)){$=0;break}Gx(g0+(d*2096|0)|0,0,2080)|0,e[g0+(d*2096|0)+2080>>2]=0,r0[g0+(d*2096|0)+2088>>3]=z0,d=d+1|0}for(;($|0)!=(y0|0);)p=s[R0+$>>0]|0,f=g0+(p*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[f>>2]=(e[f>>2]|0)+1,p=g0+(p*2096|0)+2080|0,e[p>>2]=(e[p>>2]|0)+1,$=$+1|0;P0=a0,p0=x0,o0=o0+1|0}if((l|0)==568)W0(404083,403848,80,404105);else if((l|0)==599)W0(404124,403848,130,404105);else if((l|0)==606)W0(404145,403848,141,404105);else if((l|0)==615)W0(404005,403848,165,404035);else if((l|0)==621)W0(404005,403848,172,404035);else if((l|0)==624)W0(404057,403848,174,404035);else if((l|0)==631){for(Ex[e[k>>2]&1](e[G0>>2]|0,S0),Ex[e[k>>2]&1](e[G0>>2]|0,w0),Ex[e[k>>2]&1](e[G0>>2]|0,E0),Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,g0),$=P0<<2,b0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,b0||Ix(1),T0=Px[e[c>>2]&1](e[G0>>2]|0,$)|0,T0||Ix(1),q=((P0<<4)+1008|0)>>>6,p=Px[e[c>>2]&1](e[G0>>2]|0,q*2096|0)|0,a0=p,p||Ix(1),p=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,M=p,p||Ix(1),w0=Px[e[c>>2]&1](e[G0>>2]|0,(P0>>>0<64?P0:64)*2096|0)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[G0>>2]|0,49176)|0,E0||Ix(1),Gx(Dx|0,0,256)|0,Gx(J0|0,0,256)|0,Gx(bx|0,0,256)|0,Gx(_x|0,0,256)|0,Gx(T0|0,0,$|0)|0,d=0,x0=0;!(x0>>>0>=y0>>>0);){if(d>>>0>=P0>>>0){l=646;break}if($=T0+(d<<2)|0,e[$>>2]=(e[$>>2]|0)+1,$=x0+1|0,($|0)!=(y0|0)&&(n[R0+x0>>0]|0)==(n[R0+$>>0]|0)){x0=$;continue}d=d+1|0,x0=$}for((l|0)==646&&W0(403825,403848,231,403889),(d|0)!=(P0|0)&&W0(403911,403848,237,403889),p0=q,f0=q,y0=0,$=0,S0=0;;){if(P0>>>0<=S0>>>0){l=688;break}for(h0=P0-S0|0,h0=h0>>>0<64?h0:64,w=0;(w|0)!=(h0|0);){for(x0=w0+(w*2096|0)|0,Gx(x0|0,0,2080)|0,q=w0+(w*2096|0)+2080|0,e[q>>2]=0,r0[w0+(w*2096|0)+2088>>3]=z0,l=T0+(S0+w<<2)|0,d=0;!(d>>>0>=(e[l>>2]|0)>>>0);)p=w0+(w*2096|0)+(_[U0+($<<1)>>1]<<2)|0,e[p>>2]=(e[p>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,$=$+1|0,d=d+1|0;r0[w0+(w*2096|0)+2088>>3]=+us(x0),e[J0+(w<<2)>>2]=w,e[bx+(w<<2)>>2]=w,e[Dx+(w<<2)>>2]=1,w=w+1|0}if(u0=Rf(w0,Dx,bx,J0,E0,h0,h0,64,2048)|0,d=y0+u0|0,p0>>>0<d>>>0){for(x0=(p0|0)==0,q=x0?d:p0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q*2096|0)|0,!d){l=665;break}x0||$x(d|0,a0|0,p0*2096|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,a0),a0=d,p0=q}if(d=y0+u0|0,f0>>>0<d>>>0){for(x0=(f0|0)==0,q=x0?d:f0;!(q>>>0>=d>>>0);)q=q<<1;if(d=Px[e[c>>2]&1](e[G0>>2]|0,q<<2)|0,!d){l=674;break}x0||$x(d|0,M|0,f0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,M),M=d,f0=q}for(d=a0,x0=M,o0=u0+y0|0,q=y0,l=y0,w=0;;){if((w|0)==(u0|0)){d=0;break}p=J0+(w<<2)|0,f=e[p>>2]|0,$x(d+(q*2096|0)|0,w0+(f*2096|0)|0,2096)|0,e[x0+(l<<2)>>2]=e[Dx+(f<<2)>>2],e[_x+(e[p>>2]<<2)>>2]=w,q=q+1|0,l=l+1|0,w=w+1|0}for(;(d|0)!=(h0|0);)e[b0+(S0+d<<2)>>2]=y0+(e[_x+(e[bx+(d<<2)>>2]<<2)>>2]|0),d=d+1|0;if(d=u0+y0|0,(y0+u0|0)!=(d|0)){l=684;break}if((d|0)!=(o0|0)){l=686;break}y0=d,S0=S0+64|0}if((l|0)==665)Ix(1);else if((l|0)==674)Ix(1);else if((l|0)==684)W0(403935,403848,273,403889);else if((l|0)==686)W0(403969,403848,274,403889);else if((l|0)==688){Ex[e[k>>2]&1](e[G0>>2]|0,w0),bx=y0<<6,x0=ix(y0>>>1,y0)|0,x0=bx>>>0<x0>>>0?bx:x0;do if((x0+1|0)>>>0>2049){if(Ex[e[k>>2]&1](e[G0>>2]|0,E0),$=Px[e[c>>2]&1](e[G0>>2]|0,(x0*24|0)+24|0)|0,$){ox=$;break}Ix(1)}else ox=E0;while(!1);for(d=y0<<2,D0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,D0||Ix(1),$=0;($|0)!=(y0|0);)e[D0+($<<2)>>2]=$,$=$+1|0;for(E0=a0,w0=Rf(E0,M,b0,D0,ox,y0,P0,256,x0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,ox),Ex[e[k>>2]&1](e[G0>>2]|0,M),g0=Px[e[c>>2]&1](e[G0>>2]|0,d)|0,g0||Ix(1),$=0;($|0)!=(y0|0);)e[g0+($<<2)>>2]=-1,$=$+1|0;for(f0=cx+2080|0,p0=cx+2088|0,u0=X0+2080|0,h0=X0+2080|0,$=0,d=0,S0=0;(S0|0)!=(P0|0);){for(Gx(cx|0,0,2084)|0,r0[p0>>3]=z0,x0=T0+(S0<<2)|0,M=0,o0=d,d=0;!(d>>>0>=(e[x0>>2]|0)>>>0);)M=cx+(_[U0+(o0<<1)>>1]<<2)|0,e[M>>2]=(e[M>>2]|0)+1,M=(e[f0>>2]|0)+1|0,e[f0>>2]=M,o0=o0+1|0,d=d+1|0;if(x0=e[((S0|0)==0?b0:b0+(S0+-1<<2)|0)>>2]|0,w=(M|0)==0,w)j=0;else{for($x(X0|0,cx|0,2096)|0,e[h0>>2]=(e[h0>>2]|0)+(e[E0+(x0*2096|0)+2080>>2]|0),d=0;(d|0)!=520;)ox=X0+(d<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[E0+(x0*2096|0)+(d<<2)>>2]|0),d=d+1|0;j=+us(X0),j=j-+r0[E0+(x0*2096|0)+2088>>3]}for(d=x0,l=0;(l|0)!=(w0|0);){if(q=D0+(l<<2)|0,x0=e[q>>2]|0,w)n0=0;else{for($x(X0|0,cx|0,2096)|0,e[u0>>2]=(e[u0>>2]|0)+(e[E0+(x0*2096|0)+2080>>2]|0),M=0;(M|0)!=520;)ox=X0+(M<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[E0+(x0*2096|0)+(M<<2)>>2]|0),M=M+1|0;n0=+us(X0),n0=n0-+r0[E0+(x0*2096|0)+2088>>3]}n0<j&&(j=n0,d=e[q>>2]|0),l=l+1|0}e[b0+(S0<<2)>>2]=d,d=g0+(d<<2)|0,(e[d>>2]|0)==-1&&(e[d>>2]=$,$=$+1|0),d=o0,S0=S0+1|0}if(Ex[e[k>>2]&1](e[G0>>2]|0,D0),Ex[e[k>>2]&1](e[G0>>2]|0,a0),M=s0+16|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+8|0,x0&&$x(d|0,e[$>>2]|0,x0|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}if(M=s0+20|0,$=e[M>>2]|0,$>>>0<P0>>>0){for(a0=($|0)==0?P0:$;!(a0>>>0>=P0>>>0);)a0=a0<<1;d=Px[e[c>>2]&1](e[G0>>2]|0,a0<<2)|0,d||Ix(1),x0=e[M>>2]|0,$=s0+12|0,x0&&$x(d|0,e[$>>2]|0,x0<<2|0)|0,Ex[e[k>>2]&1](e[G0>>2]|0,e[$>>2]|0),e[$>>2]=d,e[M>>2]=a0}else $=s0+12|0;for(M=s0+8|0,l=0,d=0,w=0,x0=0;(x0|0)!=(P0|0);){if(a0=d+(e[T0+(x0<<2)>>2]|0)|0,q=x0+1|0,d=e[b0+(x0<<2)>>2]|0,(q|0)!=(P0|0)&&(d|0)==(e[b0+(q<<2)>>2]|0)){d=a0,x0=q;continue}x0=e[g0+(d<<2)>>2]|0,c=x0&255,n[(e[M>>2]|0)+l>>0]=c,e[(e[$>>2]|0)+(l<<2)>>2]=a0,l=l+1|0,d=0,w=((w&255)>(c&255)?w&255:x0&255)&255,x0=q}e[s0+4>>2]=l,e[s0>>2]=(w&255)+1,Ex[e[k>>2]&1](e[G0>>2]|0,g0),Ex[e[k>>2]&1](e[G0>>2]|0,T0),Ex[e[k>>2]&1](e[G0>>2]|0,b0),Ex[e[k>>2]&1](e[G0>>2]|0,R0),c=e[k>>2]|0,s0=e[G0>>2]|0,Ex[c&1](s0,U0),c0=Cx;return}}}function $7(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0;h0=c0,c0=c0+1552|0,p0=h0+840|0,u0=h0+136|0,n0=h0+72|0,o0=h0+112|0,f0=h0+76|0,q=h0,e[n0>>2]=0,p=o0,k=p+18|0;do n[p>>0]=0,p=p+1|0;while((p|0)<(k|0));p=q,k=p+72|0;do e[p>>2]=0,p=p+4|0;while((p|0)<(k|0));for(h>>>0<705?(M=h,w=0):W0(404299,404333,308,404371);!(w>>>0>=h>>>0||n[c+(h-w+-1)>>0]|0);)M=M+-1|0,w=w+1|0;if(h>>>0>50){for(k=1,h=1,x0=0,e0=0,s0=0;!(x0>>>0>=M>>>0);){for(p=n[c+x0>>0]|0,$=1,w=x0;w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=p<<24>>24);)$=$+1|0;$>>>0>2?(a0=p<<24>>24==0,h=a0?h+1|0:h,w=a0?s0+$|0:s0,$>>>0>3&&!a0?(k=k+1|0,p=e0+$|0):p=e0):(p=e0,w=s0),x0=x0+$|0,e0=p,s0=w}w=e0>>>0>k<<1>>>0&1,h=s0>>>0>h<<1>>>0&1}else w=0,h=0;a0=h<<24>>24==0,$=w<<24>>24==0,e0=8,x0=0;x:for(;!(x0>>>0>=M>>>0);){s0=n[c+x0>>0]|0,p=s0<<24>>24==0,p?a0?(h=1,j=30):(w=x0,h=1,j=23):$?(h=1,j=43):(w=x0,h=1,j=23);e:do if((j|0)==23){for(;j=0,w=w+1|0,!(w>>>0>=M>>>0||(n[c+w>>0]|0)!=s0<<24>>24);)h=h+1|0,j=23;if(!p)if(h){j=43;break}else{j=42;break x}if((h|0)!=11)if(h>>>0<3){j=30;break}else k=h;else n[p0+(e[n0>>2]|0)>>0]=0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,k=10;for(p=e[n0>>2]|0,w=p,k=k+-3|0;;){if(n[p0+w>>0]=17,n[u0+(e[n0>>2]|0)>>0]=k&7,w=(e[n0>>2]|0)+1|0,e[n0>>2]=w,k=k>>>3,!k){k=p;break}k=k+-1|0}for(;w=w+-1|0,!(k>>>0>=w>>>0);)w0=p0+k|0,S0=n[w0>>0]|0,s0=p0+w|0,n[w0>>0]=n[s0>>0]|0,n[s0>>0]=S0,k=k+1|0;for(w=e[n0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=e0;break e}s0=u0+p|0,S0=n[s0>>0]|0,w0=u0+w|0,n[s0>>0]=n[w0>>0]|0,n[w0>>0]=S0,p=p+1|0}}while(!1);e:do if((j|0)==30)for(j=0,w=0;;){if((w|0)==(h|0)){w=e0;break e}n[p0+(e[n0>>2]|0)>>0]=0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=w+1|0}else if((j|0)==43){if(j=0,e0<<24>>24==s0<<24>>24?w=h:(n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=h+-1|0),(w|0)==7&&(n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,w=w+-1|0),w>>>0<3)for(p=0;;){if((p|0)==(w|0)){w=s0;break e}n[p0+(e[n0>>2]|0)>>0]=s0,n[u0+(e[n0>>2]|0)>>0]=0,e[n0>>2]=(e[n0>>2]|0)+1,p=p+1|0}for(p=e[n0>>2]|0,e0=p,k=w+-3|0;;){if(n[p0+e0>>0]=16,n[u0+(e[n0>>2]|0)>>0]=k&3,w=(e[n0>>2]|0)+1|0,e[n0>>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=p0+k|0,S0=n[e0>>0]|0,w0=p0+w|0,n[e0>>0]=n[w0>>0]|0,n[w0>>0]=S0,k=k+1|0;for(w=e[n0>>2]|0;;){if(w=w+-1|0,p>>>0>=w>>>0){w=s0;break e}e0=u0+p|0,S0=n[e0>>0]|0,w0=u0+w|0,n[e0>>0]=n[w0>>0]|0,n[w0>>0]=S0,p=p+1|0}}while(!1);e0=w,x0=x0+h|0}for((j|0)==42&&W0(406724,406674,168,406740),h=e[n0>>2]|0,w=0;;){if((w|0)==(h|0)){a0=0,w=0,p=0;break}w0=q+(s[p0+w>>0]<<2)|0,e[w0>>2]=(e[w0>>2]|0)+1,w=w+1|0}for(;;){if(p>>>0>=18){x0=w;break}if(e[q+(p<<2)>>2]|0)if(w)if((w|0)==1){x0=2;break}else h=a0;else h=p,w=1;else h=a0;a0=h,p=p+1|0}Ho(q,18,5,f,o0),fs(o0,18,f0);x:do if((x0|0)>1)for(w=18;;){if(!w)break x;if(h=w+-1|0,!(n[o0+(s[405371+h>>0]|0)>>0]|0))w=h;else break}else w=18;while(!1);for((n[o0+1>>0]|0)==0&&(n[o0+2>>0]|0)==0?h=(n[o0+3>>0]|0)==0?3:2:h=0,f=e[l>>2]|0,$=d+(f>>>3)|0,S0=s[$>>0]|0,f=Tx(h|0,0,f&7|0)|0,w0=A0,f=S0|f,S0=$,n[S0>>0]=f,n[S0+1>>0]=f>>8,n[S0+2>>0]=f>>16,n[S0+3>>0]=f>>24,$=$+4|0,n[$>>0]=w0,n[$+1>>0]=w0>>8,n[$+2>>0]=w0>>16,n[$+3>>0]=w0>>24,$=(e[l>>2]|0)+2|0,e[l>>2]=$;!(h>>>0>=w>>>0);){if(k=s[o0+(s[405371+h>>0]|0)>>0]|0,p=n[405389+k>>0]|0,k=s[405395+k>>0]|0,e0=d+($>>>3)|0,s0=s[e0>>0]|0,w0=vx(k|0,0,p&255|0)|0,!((w0|0)==0&(A0|0)==0)){j=76;break}q=Tx(k|0,0,$&7|0)|0,S0=A0,q=s0|q,w0=e0,f=w0,n[f>>0]=q,n[f+1>>0]=q>>8,n[f+2>>0]=q>>16,n[f+3>>0]=q>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,w0=(e[l>>2]|0)+(p&255)|0,e[l>>2]=w0,$=w0,h=h+1|0}(j|0)==76&&W0(406196,406218,54,406251),(x0|0)==1&&(n[o0+a0>>0]=0),$=e[n0>>2]|0,x0=0;x:for(;;){if(x0>>>0>=$>>>0){j=94;break}if(s0=s[p0+x0>>0]|0,h=n[o0+s0>>0]|0,w=_[f0+(s0<<1)>>1]|0,p=e[l>>2]|0,k=d+(p>>>3)|0,e0=s[k>>0]|0,w0=vx(w|0,0,h&255|0)|0,!((w0|0)==0&(A0|0)==0)){j=83;break}if((h&255)>=57){j=85;break}switch(n0=Tx(w|0,0,p&7|0)|0,w0=A0,n0=e0|n0,S0=k,n[S0>>0]=n0,n[S0+1>>0]=n0>>8,n[S0+2>>0]=n0>>16,n[S0+3>>0]=n0>>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,k=(e[l>>2]|0)+(h&255)|0,e[l>>2]=k,s0|0){case 16:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&252|0)==0&!0)){j=88;break x}j=Tx(h|0,0,k&7|0)|0,S0=A0,j=p|j,w0=w,n0=w0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,e[l>>2]=(e[l>>2]|0)+2;break}case 17:{if(h=s[u0+x0>>0]|0,w=d+(k>>>3)|0,p=s[w>>0]|0,!((h&248|0)==0&!0)){j=91;break x}j=Tx(h|0,0,k&7|0)|0,S0=A0,j=p|j,w0=w,n0=w0,n[n0>>0]=j,n[n0+1>>0]=j>>8,n[n0+2>>0]=j>>16,n[n0+3>>0]=j>>24,w0=w0+4|0,n[w0>>0]=S0,n[w0+1>>0]=S0>>8,n[w0+2>>0]=S0>>16,n[w0+3>>0]=S0>>24,e[l>>2]=(e[l>>2]|0)+3;break}default:}x0=x0+1|0}if((j|0)==83)W0(406196,406218,54,406251);else if((j|0)==85)W0(406267,406218,55,406251);else if((j|0)==88)W0(406196,406218,54,406251);else if((j|0)==91)W0(406196,406218,54,406251);else if((j|0)==94){c0=h0;return}}function wW(c){c=c|0;var h=0;return h=c0,c0=c0+c|0,c0=c0+15&-16,h|0}function yW(){return c0|0}function DW(c){c=c|0,c0=c}function vW(c,h){c=c|0,h=h|0,c0=c,l0=h}function EW(c,h){c=c|0,h=h|0,O0||(O0=c,B0=h)}function zg0(c){c=c|0,n[d0>>0]=n[c>>0],n[d0+1>>0]=n[c+1>>0],n[d0+2>>0]=n[c+2>>0],n[d0+3>>0]=n[c+3>>0]}function Qg0(c){c=c|0,n[d0>>0]=n[c>>0],n[d0+1>>0]=n[c+1>>0],n[d0+2>>0]=n[c+2>>0],n[d0+3>>0]=n[c+3>>0],n[d0+4>>0]=n[c+4>>0],n[d0+5>>0]=n[c+5>>0],n[d0+6>>0]=n[c+6>>0],n[d0+7>>0]=n[c+7>>0]}function AW(c){c=c|0,A0=c}function CW(){return A0|0}function SW(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0;if(hx=c0,c0=c0+224|0,se=hx+200|0,ax=hx+184|0,Ae=hx+168|0,dx=hx+152|0,Ce=hx+144|0,Yx=hx+140|0,Ux=hx+136|0,C0=hx+24|0,$=hx+20|0,M=hx+16|0,x0=hx+12|0,q=hx+8|0,j=hx+4|0,oe=hx,e[oe>>2]=w,s0=d,f0=p,Te=l>>>24,Te=(Te<<2|2)+((l-(Te<<24)|0)>>>0>1048576?4:3)+1+l|0,k=(l|0)==0,Te=k?1:Te>>>0<l>>>0?0:Te,!w)return d=0,oe=e[oe>>2]|0,oe=d?oe:-1,c0=hx,oe|0;if(k)return e[oe>>2]=1,n[p>>0]=6,d=1,oe=e[oe>>2]|0,oe=d?oe:-1,c0=hx,oe|0;do if((c|0)==10){for((h|0)>=16?(h|0)>24?h=24:n0=7:(h=16,n0=7),$=1<<h,ux=$+-16|0,e[ax>>2]=e[4721],e[ax+4>>2]=e[4722],e[ax+8>>2]=e[4723],e[ax+12>>2]=e[4724],e[Ae>>2]=e[4721],e[Ae+4>>2]=e[4722],e[Ae+8>>2]=e[4723],e[Ae+12>>2]=e[4724],nx=e[oe>>2]|0,$=$>>>0>l>>>0?l:$,fx=1<<((h|0)>23?24:h+1|0),Nx=fx>>>3,e[dx>>2]=0,ae=dx+4|0,e[ae>>2]=10,k=dx+8|0,e[k>>2]=h,Ox=dx+12|0,e[Ox>>2]=0,e[ae>>2]=10,ae=(h|0)>16?(h|0)>18?18:h:16,e[Ox>>2]=ae,ae=1<<ae,e[se>>2]=1,Ox=se+4|0,e[Ox>>2]=1,px=se+8|0,e[px>>2]=0,l>>>0>=2147483649&&W0(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),Bx=SD(0,524308)|0,Bx||Ix(1),e[Bx+524292>>2]=0,e[Bx+524300>>2]=0,n[Bx+524304>>0]=1,s0=Bx+524304|0,h=1<<e[k>>2],e[Bx>>2]=h+-1,h=1-h|0,zx=Bx+524296|0,e[zx>>2]=h,k=0;(k|0)!=131072;)e[Bx+4+(k<<2)>>2]=h,k=k+1|0;h=Bx+524300|0;do if($>>>0>(e[h>>2]|0)>>>0)if(k=Bx+524292|0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[k>>2]|0),e[k>>2]=0,e0=Px[e[se>>2]&1](e[px>>2]|0,$<<3)|0,!e0)Ix(1);else{e[k>>2]=e0,e[h>>2]=$;break}while(!1);n[s0>>0]=0,ox=Bx+524292|0,cx=C0+8|0,X0=C0+12|0,G0=C0+28|0,Cx=C0+32|0,Qx=C0+36|0,Wx=C0+48|0,Hx=C0+52|0,Rx=C0+56|0,Lx=C0+60|0,lx=C0+72|0,kx=C0+80|0,gx=C0+88|0,ex=C0+96|0,Z0=C0+104|0,Kx=C0+8|0,ee=C0+32|0,ue=C0+56|0,k=f0,Dx=0,bx=1,_x=0,a0=0,M=0;x:for(;;){if(h=(bx&1)==0,!((h^1)&Dx>>>0<l>>>0)){n0=93;break}for(xx=Dx+fx|0,xx=xx>>>0>l>>>0?l:xx,V0=(((xx-Dx|0)>>>0)/12|0)+16|0,e[Ce>>2]=0,e[Yx>>2]=0,h=0,q0=Dx,T0=0,R0=0,q=0,J0=0;;){if(xx>>>0<=q0>>>0){s0=h,f0=R0,c=q,e0=J0;break}if(U0=xx-q0|0,U0=U0>>>0<ae>>>0?U0:ae,P0=Px[e[se>>2]&1](e[px>>2]|0,(U0<<4)+16|0)|0,!P0){n0=27;break x}for(h=U0+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,t0[P0+(e0<<4)+12>>2]=z0,e0=e0+1|0;e:do if(U0>>>0>2&q0>>>0>127)for(b0=q0+-127|0,y0=b0+U0|0,y0=q0>>>0<y0>>>0?q0:y0;;){if(b0>>>0>=y0>>>0)break e;for(s0=e[Bx>>2]|0,w0=q0-b0|0,w0=s0-(w0>>>0<15?15:w0)|0,E0=b0&2147483647,D0=d+E0|0,h0=Bx+4+((ix(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[h0>>2]|0,s0=(b0&s0)<<1,e[h0>>2]=b0,h0=0,$=0,S0=0,e0=s0,s0=s0|1,g0=64;;){if(p0=u0&2147483647,(b0|0)==(u0|0)|(b0-u0|0)>>>0>w0>>>0|(g0|0)==0){n0=36;break}if(f0=$>>>0<S0>>>0?$:S0,f0>>>0>=129){n0=38;break x}for(n0=E0+f0|0,o0=d+(p0+128)|0,c=d+(p0+124)|0,j=0,h=d+(p0+f0)|0;!(h>>>0>c>>>0||(_0=d+(n0+j)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[_0>>0]|s[_0+1>>0]<<8|s[_0+2>>0]<<16|s[_0+3>>0]<<24|0)));)j=j+4|0,h=h+4|0;for(;!(h>>>0>=o0>>>0||(n[d+(n0+j)>>0]|0)!=(n[h>>0]|0));)j=j+1|0,h=h+1|0;f0=f0+j|0;t:do if(f0){for(h=f0,n0=D0,o0=d+p0|0;c=n[n0>>0]|0,j=n[o0>>0]|0,c<<24>>24==j<<24>>24;)if(h=h+-1|0,h)n0=n0+1|0,o0=o0+1|0;else break t;if(c<<24>>24!=j<<24>>24){n0=51;break x}}while(!1);if(h0){n0=53;break x}if(f0>>>0>=128){n0=55;break}h=e[ox>>2]|0,(s[d+(E0+f0)>>0]|0)>(s[d+(p0+f0)>>0]|0)?(e[h+(e0<<2)>>2]=u0,c=(u0&e[Bx>>2])<<1|1,$=f0,h=S0,e0=c,c=(e[ox>>2]|0)+(c<<2)|0):(e[h+(s0<<2)>>2]=u0,c=(u0&e[Bx>>2])<<1,h=f0,s0=c,c=(e[ox>>2]|0)+(c<<2)|0),h0=0,S0=h,u0=e[c>>2]|0,g0=g0+-1|0}(n0|0)==36?(e[(e[ox>>2]|0)+(e0<<2)>>2]=e[zx>>2],e[(e[ox>>2]|0)+(s0<<2)>>2]=e[zx>>2]):(n0|0)==55&&(_0=e[ox>>2]|0,e[_0+(e0<<2)>>2]=e[_0+((u0&e[Bx>>2])<<1<<2)>>2],_0=e[ox>>2]|0,e[_0+(s0<<2)>>2]=e[_0+(((u0&e[Bx>>2])<<1|1)<<2)>>2]),b0=b0+1|0}while(!1);if(e0=J0+(yD(se,U0,q0,d,2147483647,dx,ux,ax,Bx,P0)|0)|0,s0=e0+1|0,s0=V0>>>0>s0>>>0?V0:s0,(T0|0)!=(s0|0)){if(h=Px[e[se>>2]&1](e[px>>2]|0,s0<<4)|0,$=h,!h){n0=63;break x}R0&&(_0=R0,$x(h|0,_0|0,J0<<4|0)|0,Ex[e[Ox>>2]&1](e[px>>2]|0,_0))}else s0=T0,$=R0;if(J5(U0,q0,ux,P0,ax,Ce,$+(J0<<4)|0,Yx),q=q+U0|0,Ex[e[Ox>>2]&1](e[px>>2]|0,P0),h=e[Yx>>2]|0,h>>>0>Nx>>>0){s0=h,f0=$,c=q;break}if(e0>>>0>Nx>>>0){s0=h,f0=$,c=q;break}else q0=q0+U0|0,T0=s0,R0=$,J0=e0}if(h=e[Ce>>2]|0,!h)h=s0;else{s0=e0+1|0,_0=f0,e[_0+(e0<<4)>>2]=h,e[_0+(e0<<4)+4>>2]=67108864,e[_0+(e0<<4)+8>>2]=0,o[_0+(e0<<4)+14>>1]=16,e0=_0+(e0<<4)+12|0;do if(h>>>0>=6){if(h>>>0<130){_0=h+-2|0,h=((Ax(_0|0)|0)^31)+-1|0,h=(h<<1)+(_0>>>h)+2|0;break}if(h>>>0<2114){h=((Ax(h+-66|0)|0)^31)+10|0;break}h>>>0<6210?h=21:h=h>>>0<22594?22:23}while(!1);h=h&65535,o[e0>>1]=o[88156+((h>>>3)*3<<1)>>1]|(h<<3&56|2)&65535,h=(e[Yx>>2]|0)+(e[Ce>>2]|0)|0,e[Yx>>2]=h,e0=s0}j=Dx+c|0,q=(j|0)==(l|0),f=f&255,e[Ux>>2]=f;do if(c){if(!(ED(d,2147483647,Dx,0,c,h,e0)|0)){if(e[ax>>2]=e[Ae>>2],e[ax+4>>2]=e[Ae+4>>2],e[ax+8>>2]=e[Ae+8>>2],e[ax+12>>2]=e[Ae+12>>2],h=Px[e[se>>2]&1](e[px>>2]|0,c+16|0)|0,!h){n0=83;break x}n[h>>0]=x0,If(q,d,Dx,2147483647,c,Ux,h);break}e[C0>>2]=0,e[C0+4>>2]=0,e[C0+8>>2]=0,e[C0+12>>2]=0,e[C0+16>>2]=0,e[C0+20>>2]=0,e[C0+24>>2]=0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,e[G0+16>>2]=0,e[Wx>>2]=0,e[Hx>>2]=0,e[Hx+4>>2]=0,e[Hx+8>>2]=0,e[Hx+12>>2]=0,e[Hx+16>>2]=0,n0=lx,o0=n0+40|0;do e[n0>>2]=0,n0=n0+4|0;while((n0|0)<(o0|0));if(s0=$5(d,Dx,2147483647,c)|0,s0=s0?2:3,$=f0,kD(se,d,Dx,2147483647,dx,_x,a0,$,e0,s0,C0),OD(0,0,C0),h=Px[e[se>>2]&1](e[px>>2]|0,(c<<1)+502|0)|0,!h){n0=86;break x}n[h>>0]=x0,tD(se,d,Dx,c,2147483647,_x,a0,q,0,0,s0,$,e0,C0,Ux,h),(c+4|0)>>>0<(e[Ux>>2]|0)>>>3>>>0&&(e[ax>>2]=e[Ae>>2],e[ax+4>>2]=e[Ae+4>>2],e[ax+8>>2]=e[Ae+8>>2],e[ax+12>>2]=e[Ae+12>>2],n[h>>0]=x0,e[Ux>>2]=f,If(q,d,Dx,2147483647,c,Ux,h)),Ex[e[Ox>>2]&1](e[px>>2]|0,e[Kx>>2]|0),e[cx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[X0>>2]|0),e[X0>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ee>>2]|0),e[Cx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Qx>>2]|0),e[Qx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ue>>2]|0),e[Rx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Lx>>2]|0),e[Lx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[lx>>2]|0),e[lx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[kx>>2]|0),e[kx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[gx>>2]|0),e[gx>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ex>>2]|0),e[ex>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0}else{if(h=Px[e[se>>2]&1](e[px>>2]|0,16)|0,!h){n0=79;break x}n[h>>0]=x0,_0=e[Ux>>2]|0,Dx=h+(_0>>>3)|0,J0=s[Dx>>0]|0,xx=Tx(3,0,_0&7|0)|0,_x=A0,xx=J0|xx,J0=Dx,n[J0>>0]=xx,n[J0+1>>0]=xx>>8,n[J0+2>>0]=xx>>16,n[J0+3>>0]=xx>>24,Dx=Dx+4|0,n[Dx>>0]=_x,n[Dx+1>>0]=_x>>8,n[Dx+2>>0]=_x>>16,n[Dx+3>>0]=_x>>24,e[Ux>>2]=_0+9&-8}while(!1);s0=e[Ux>>2]|0,e0=s0>>>3,x0=n[h+e0>>0]|0,$=n[d+(j+-1)>>0]|0,a0=n[d+(j+-2)>>0]|0,e[Ae>>2]=e[ax>>2],e[Ae+4>>2]=e[ax+4>>2],e[Ae+8>>2]=e[ax+8>>2],e[Ae+12>>2]=e[ax+12>>2],M=M+e0|0,M>>>0>nx>>>0?e0=0:($x(k|0,h|0,e0|0)|0,k=k+e0|0,e0=bx),Ex[e[Ox>>2]&1](e[px>>2]|0,h),Ex[e[Ox>>2]&1](e[px>>2]|0,f0),f=s0&7,Dx=j,bx=e0,_x=$}if((n0|0)==27)Ix(1);else if((n0|0)==38)W0(405873,405905,373,405932);else if((n0|0)==51)W0(405955,405905,378,405932);else if((n0|0)==53)Dn();else if((n0|0)==63)Ix(1);else if((n0|0)==79)Ix(1);else if((n0|0)==83)Ix(1);else if((n0|0)==86)Ix(1);else if((n0|0)==93){if(e[oe>>2]=M,Ex[e[Ox>>2]&1](e[px>>2]|0,e[ox>>2]|0),e[ox>>2]=0,Ex[e[Ox>>2]&1](e[px>>2]|0,Bx),h){n0=107;break}if((Te|0)!=0&&(e[oe>>2]|0)>>>0>Te>>>0){n0=106;break}else h=1;return _0=e[oe>>2]|0,_0=h?_0:-1,c0=hx,_0|0}}else{if(a0=x3(5240)|0,!a0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;e[a0+16>>2]=1,e[a0+20>>2]=1,e[a0+24>>2]=0,e[a0>>2]=0,e[a0+4>>2]=11,e[a0+8>>2]=22,e[a0+12>>2]=0,n0=a0+80|0,e[n0>>2]=0,e[n0+4>>2]=0,e[a0+128>>2]=0,e[a0+132>>2]=0,e[a0+136>>2]=0,n0=a0+144|0,e[a0+4300>>2]=0,e[a0+4304>>2]=0,k=a0+5204|0,e[a0+5232>>2]=0,n[a0+5236>>0]=0,n[a0+5237>>0]=0,e[a0+28>>2]=0,e0=a0+32|0,e[n0>>2]=0,e[n0+4>>2]=0,e[n0+8>>2]=0,e[n0+12>>2]=0,n0=a0+194|0,o0=n0+10|0;do n[n0>>0]=0,n0=n0+1|0;while((n0|0)<(o0|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=a0+104|0,n0=e0,o0=n0+44|0;do e[n0>>2]=0,n0=n0+4|0;while((n0|0)<(o0|0));if(e[k>>2]=0,e[a0+108>>2]=0,e[a0+112>>2]=0,e[a0+116>>2]=0,e[a0+124>>2]=0,e[a0+120>>2]=0,e[a0+160>>2]=4,e[a0+164>>2]=11,e[a0+168>>2]=15,e[a0+172>>2]=16,_0=a0+176|0,Ux=a0+160|0,e[_0>>2]=e[Ux>>2],e[_0+4>>2]=e[Ux+4>>2],e[_0+8>>2]=e[Ux+8>>2],e[_0+12>>2]=e[Ux+12>>2],!a0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;if(e[$>>2]=l,e[M>>2]=s0,e[x0>>2]=e[oe>>2],e[q>>2]=f0,e[j>>2]=0,n[a0+5237>>0]&1||(e[a0+4>>2]=c,e[a0+8>>2]=h,e[a0>>2]=f),h=dW(a0,$,M,x0,q,j)|0,(e[a0+5232>>2]|0)==2&&(e[a0+5220>>2]|0)==0?f=h&1:f=0,e[oe>>2]=e[j>>2],$=a0+200|0,h=e[a0+20>>2]|0,k=e[a0+24>>2]|0,Ex[h&1](k,e[$>>2]|0),e[$>>2]=0,$=a0+124|0,e0=a0+20|0,s0=a0+24|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[a0+112>>2]|0),e[a0+112>>2]=0,$=a0+28|0,x0=e[a0+72>>2]|0,x0&&(_0=x0+524292|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0),_0=a0+72|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[$>>2]|0),e[$>>2]=0,Ux=a0+32|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+36|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+40|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+44|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+48|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+52|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+56|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+60|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+64|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ux=a0+68|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[Ux>>2]|0),e[Ux>>2]=0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+4300|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+5208|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,_0=a0+5212|0,Ex[e[e0>>2]&1](e[s0>>2]|0,e[_0>>2]|0),e[_0>>2]=0,Ex[h&1](k,a0),f<<24>>24)if((Te|0)!=0&&(e[oe>>2]|0)>>>0>Te>>>0)n0=106;else return d=1,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0;else n0=107}while(!1);if((n0|0)==106){if(e[oe>>2]=0,Te>>>0>w>>>0)return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0}else if((n0|0)==107&&(e[oe>>2]=0,(Te|0)==0|Te>>>0>w>>>0))return d=0,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|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?n0=113:s0=1):(h=x0,s0=0):(h=16777216,n0=113),(n0|0)==113&&(n0=0,s0=2),e0=s0<<1|(h<<3)+-8|1<<(s0<<2|19),n[p+$>>0]=e0,n[p+($+1)>>0]=e0>>>8,k=$+3|0,n[p+($+2)>>0]=e0>>>16,(s0|0)==2&&(n[p+k>>0]=e0>>>24,k=$+4|0),$x(p+k|0,d+f|0,h|0)|0,f=f+h|0,$=k+h|0,x0=x0-h|0;return n[p+$>>0]=3,e[oe>>2]=$+1,d=1,_0=e[oe>>2]|0,_0=d?_0:-1,c0=hx,_0|0}function J5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0;for(h0=d+8|0,S0=d+12|0,w0=d+4|0,e0=e[l+12>>2]|0,s0=0,D0=0;(e0|0)!=-1;){x0=s0+e0|0,a0=l+(x0<<4)|0,M=e[a0>>2]|0,E0=M&16777215,$=e[l+(x0<<4)+8>>2]|0,u0=s0+$|0,e0=e[l+(x0<<4)+12>>2]|0,D0||($=$+(e[w>>2]|0)|0,e[w>>2]=0),f0=e[l+(x0<<4)+4>>2]|0,p0=f0&33554431,a0=e[a0>>2]|0,a0=(a0&16777215)+9-(a0>>>24)|0,o0=u0+h|0,o0=p0>>>0>(o0>>>0<f>>>0?o0:f)>>>0,f0=f0>>>25,f0=(f0|0)==0?p0+15|0:f0+-1|0,e[p+(D0<<4)>>2]=$,e[p+(D0<<4)+4>>2]=E0|(a0^M)<<24,s0=p+(D0<<4)+14|0,f0>>>0<16?(x0=f0&65535,o[s0>>1]=x0,s0=x0,x0=0):(j=f0+-12|0,x0=((Ax(j|0)|0)^31)+-1|0,n0=j>>>x0&1,q=((x0<<1)+65534|n0)+16&65535,o[s0>>1]=q,s0=q,x0=x0<<24|j-((n0|2)<<x0)),e[p+(D0<<4)+8>>2]=x0,j=s0<<16>>16==0,n0=p+(D0<<4)+12|0;do if($>>>0>=6){if($>>>0<130){M=$+-2|0,q=((Ax(M|0)|0)^31)+-1|0,q=(q<<1)+(M>>>q)+2&65535;break}if($>>>0<2114){q=((Ax($+-66|0)|0)^31)+10&65535;break}$>>>0<6210?q=21:q=$>>>0<22594?22:23}else q=$&65535;while(!1);do if(a0>>>0>=10){if(a0>>>0<134){M=a0+-6|0,s0=((Ax(M|0)|0)^31)+-1|0,s0=(s0<<1)+(M>>>s0)+4&65535;break}a0>>>0<2118?s0=((Ax(a0+-70|0)|0)^31)+12&65535:s0=23}else s0=a0+65534&65535;while(!1);x0=s0&65535,a0=q&65535,M=x0&7|a0<<3&56,j&(q&65535)<8&(s0&65535)<16?s0=((s0&65535)<8?M:M|64)&65535:s0=o[88156+((x0>>>3)+((a0>>>3)*3|0)<<1)>>1]|M&65535,o[n0>>1]=s0,o0|(f0|0)==0||(e[S0>>2]=e[h0>>2],e[h0>>2]=e[w0>>2],e[w0>>2]=e[d>>2],e[d>>2]=p0),e[k>>2]=(e[k>>2]|0)+$,s0=u0+E0|0,D0=D0+1|0}e[w>>2]=(e[w>>2]|0)+(c-s0)}function yD(c,h,f,l,d,w,p,k,e0,s0){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,s0=s0|0;var $=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0;Lx=c0,c0=c0+6320|0,Qx=Lx+6160|0,Hx=Lx+1252|0,Rx=Lx+1024|0,Wx=Lx,G0=(e[w+4>>2]|0)<11?150:325,Cx=h>>>0>127?f+h+-127|0:f,e[s0>>2]=0,t0[s0+12>>2]=0,e[Hx+4904>>2]=h,cx=c+8|0,$=Px[e[c>>2]&1](e[cx>>2]|0,(h<<2)+8|0)|0,$||Ix(1),X0=Hx+4896|0,e[X0>>2]=$,DD(Hx,f,l,d),q0=Rx+224|0,e[q0>>2]=0,xx=Wx,J0=w+4|0,_x=e0+524292|0,Dx=e0+524296|0,bx=Wx,ox=Wx+4|0,$=0;x:for(;;){if(($+3|0)>>>0>=h>>>0){o0=98;break}for(V0=$+f|0,U0=V0>>>0<p>>>0?V0:p,P0=h-$|0,T0=V0&d,h0=(e[J0>>2]|0)!=11?16:64,h0=V0>>>0<h0>>>0?0:V0-h0|0,R0=l+T0|0,f0=l+(T0+1)|0,u0=T0+P0|0,p0=l+u0|0,u0=l+(u0+-4)|0,x0=xx,M=1,a0=V0;a0=a0+-1|0,!(!(a0>>>0>h0>>>0&M>>>0<3)||(n0=V0-a0|0,n0>>>0>U0>>>0));){if(o0=a0&d,(n[R0>>0]|0)!=(n[l+o0>>0]|0)){y0=M,b0=x0,M=y0,x0=b0;continue}if((n[f0>>0]|0)==(n[l+(o0+1)>>0]|0))q=0,j=R0;else{y0=M,b0=x0,M=y0,x0=b0;continue}for(;!(j>>>0>u0>>>0||(b0=l+(o0+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+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,j=j+4|0;for(;!(j>>>0>=p0>>>0||(n[l+(o0+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;if(q>>>0<=M>>>0){y0=M,b0=x0,M=y0,x0=b0;continue}M=x0,e[M>>2]=n0,e[M+4>>2]=q<<5,x0=M+8|0,M=q}do if(M>>>0<P0>>>0){for(y0=P0>>>0<128?P0:128,b0=P0>>>0>127,a0=e0+4+((ix(s[R0>>0]|s[R0+1>>0]<<8|s[R0+2>>0]<<16|s[R0+3>>0]<<24,506832829)|0)>>>15<<2)|0,n0=e[a0>>2]|0,q=(V0&e[e0>>2])<<1,j=q|1,b0?(e[a0>>2]=V0,D0=0,g0=0,E0=64):(D0=0,g0=0,E0=64);;){if(S0=V0-n0|0,w0=n0&d,(V0|0)==(n0|0)|S0>>>0>U0>>>0|(E0|0)==0){o0=22;break}if(h0=D0>>>0<g0>>>0?D0:g0,h0>>>0>=129){o0=25;break x}for(p0=T0+h0|0,o0=w0+P0|0,u0=l+o0|0,o0=l+(o0+-4)|0,f0=0,a0=l+(w0+h0)|0;!(a0>>>0>o0>>>0||(lx=l+(p0+f0)|0,(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)f0=f0+4|0,a0=a0+4|0;for(;!(a0>>>0>=u0>>>0||(n[l+(p0+f0)>>0]|0)!=(n[a0>>0]|0));)f0=f0+1|0,a0=a0+1|0;h0=h0+f0|0;e:do if(h0){for(a0=h0,p0=R0,u0=l+w0|0;o0=n[p0>>0]|0,f0=n[u0>>0]|0,o0<<24>>24==f0<<24>>24;)if(a0=a0+-1|0,a0)p0=p0+1|0,u0=u0+1|0;else break e;if(o0<<24>>24!=f0<<24>>24){o0=38;break x}}while(!1);if(a0=x0,(x0|0)!=0&h0>>>0>M>>>0&&(e[a0>>2]=S0,e[a0+4>>2]=h0<<5,x0=a0+8|0,M=h0),h0>>>0>=y0>>>0){o0=42;break}(s[l+(T0+h0)>>0]|0)>(s[l+(w0+h0)>>0]|0)?(b0&&(e[(e[_x>>2]|0)+(q<<2)>>2]=n0),o0=(n0&e[e0>>2])<<1|1,n0=h0,a0=g0,q=o0,o0=(e[_x>>2]|0)+(o0<<2)|0):(b0&&(e[(e[_x>>2]|0)+(j<<2)>>2]=n0),o0=(n0&e[e0>>2])<<1,n0=D0,a0=h0,j=o0,o0=(e[_x>>2]|0)+(o0<<2)|0),D0=n0,g0=a0,n0=e[o0>>2]|0,E0=E0+-1|0}if((o0|0)==22){if(!b0)break;e[(e[_x>>2]|0)+(q<<2)>>2]=e[Dx>>2],e[(e[_x>>2]|0)+(j<<2)>>2]=e[Dx>>2];break}else if((o0|0)==42){if(!b0)break;lx=e[_x>>2]|0,e[lx+(q<<2)>>2]=e[lx+((n0&e[e0>>2])<<1<<2)>>2],lx=e[_x>>2]|0,e[lx+(j<<2)>>2]=e[lx+(((n0&e[e0>>2])<<1|1)<<2)>>2];break}}while(!1);for(a0=0;(a0|0)!=38;)e[Qx+(a0<<2)>>2]=268435455,a0=a0+1|0;M=M+1|0,M=M>>>0<4?4:M;e:do if(PD(R0,M,P0,Qx)|0)for(q=P0>>>0>37?37:P0;;){if(M>>>0>q>>>0)break e;a0=e[Qx+(M<<2)>>2]|0,a0>>>0<268435455&&(lx=a0&31,e[x0>>2]=U0+(a0>>>5)+1,e[x0+4>>2]=M<<5|((M|0)==(lx|0)?0:lx),x0=x0+8|0),M=M+1|0}while(!1);x0=x0-bx>>3;do if(x0){if(a0=x0+-1|0,(e[Wx+(a0<<3)+4>>2]|0)>>>5>>>0<=G0>>>0){if(lx=x0,Bf(h,f,$,l,d,w,p,k,lx,Wx,Hx,Rx,s0),(lx|0)!=1)break}else R0=Wx+(a0<<3)|0,U0=e[R0+4>>2]|0,lx=Wx,e[lx>>2]=e[R0>>2],e[lx+4>>2]=U0,Bf(h,f,$,l,d,w,p,k,1,Wx,Hx,Rx,s0);if(x0=(e[ox>>2]|0)>>>5,x0>>>0>G0>>>0){for(T0=V0+x0|0,T0=T0>>>0<Cx>>>0?T0:Cx,b0=(V0+64|0)>>>0>T0>>>0?V0+1|0:T0+-63|0;!(b0>>>0>=T0>>>0);){for(M=e[e0>>2]|0,E0=M+-15|0,D0=b0&d,g0=l+D0|0,S0=e0+4+((ix(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24,506832829)|0)>>>15<<2)|0,h0=e[S0>>2]|0,M=(b0&M)<<1,e[S0>>2]=b0,S0=0,q=0,w0=0,a0=M,M=M|1,y0=64;;){if(u0=h0&d,(b0|0)==(h0|0)|(b0-h0|0)>>>0>E0>>>0|(y0|0)==0){o0=71;break}if(p0=q>>>0<w0>>>0?q:w0,p0>>>0>=129){o0=73;break x}for(o0=D0+p0|0,f0=l+(u0+128)|0,j=l+(u0+124)|0,n0=0,x0=l+(u0+p0)|0;!(x0>>>0>j>>>0||(lx=l+(o0+n0)|0,(s[x0>>0]|s[x0+1>>0]<<8|s[x0+2>>0]<<16|s[x0+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)n0=n0+4|0,x0=x0+4|0;for(;!(x0>>>0>=f0>>>0||(n[l+(o0+n0)>>0]|0)!=(n[x0>>0]|0));)n0=n0+1|0,x0=x0+1|0;p0=p0+n0|0;e:do if(p0){for(x0=p0,o0=g0,f0=l+u0|0;j=n[o0>>0]|0,n0=n[f0>>0]|0,j<<24>>24==n0<<24>>24;)if(x0=x0+-1|0,x0)o0=o0+1|0,f0=f0+1|0;else break e;if(j<<24>>24!=n0<<24>>24){o0=86;break x}}while(!1);if(S0){o0=88;break x}if(p0>>>0>=128){o0=90;break}x0=e[_x>>2]|0,(s[l+(D0+p0)>>0]|0)>(s[l+(u0+p0)>>0]|0)?(e[x0+(a0<<2)>>2]=h0,j=(h0&e[e0>>2])<<1|1,q=p0,x0=w0,a0=j,j=(e[_x>>2]|0)+(j<<2)|0):(e[x0+(M<<2)>>2]=h0,j=(h0&e[e0>>2])<<1,x0=p0,M=j,j=(e[_x>>2]|0)+(j<<2)|0),S0=0,w0=x0,h0=e[j>>2]|0,y0=y0+-1|0}(o0|0)==71?(e[(e[_x>>2]|0)+(a0<<2)>>2]=e[Dx>>2],e[(e[_x>>2]|0)+(M<<2)>>2]=e[Dx>>2]):(o0|0)==90&&(lx=e[_x>>2]|0,e[lx+(a0<<2)>>2]=e[lx+((h0&e[e0>>2])<<1<<2)>>2],lx=e[_x>>2]|0,e[lx+(M<<2)>>2]=e[lx+(((h0&e[e0>>2])<<1|1)<<2)>>2]),b0=b0+1|0}$=$+(((e[ox>>2]|0)>>>5)+-1)|0,e[q0>>2]=0}}else Bf(h,f,$,l,d,w,p,k,0,Wx,Hx,Rx,s0);while(!1);$=$+1|0}if((o0|0)==25)W0(405873,405905,373,405932);else if((o0|0)==38)W0(405955,405905,378,405932);else if((o0|0)==73)W0(405873,405905,373,405932);else if((o0|0)==86)W0(405955,405905,378,405932);else if((o0|0)==88)Dn();else if((o0|0)==98){for(Ex[e[c+4>>2]&1](e[cx>>2]|0,e[X0>>2]|0),e[X0>>2]=0;!(e[s0+(h<<4)+8>>2]|0||(e[s0+(h<<4)>>2]|0)!=1);)h=h+-1|0;for(e[s0+(h<<4)+12>>2]=-1,$=0;h;)d=(e[s0+(h<<4)>>2]&16777215)+(e[s0+(h<<4)+8>>2]|0)|0,lx=h-d|0,e[s0+(lx<<4)+12>>2]=d,h=lx,$=$+1|0;return c0=Lx,$|0}return 0}function DD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0;o0=c0,c0=c0+4128|0,$=o0+4112|0,M=o0+1040|0,q=o0+1024|0,s0=o0,j=e[c+4904>>2]|0,n0=e[c+4896>>2]|0;x:do if($5(f,h,l,j)|0){for(e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,p=0,s0=0;(s0|0)!=(j|0);)d=n[f+(s0+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,s0=s0+1|0;for(a0=((e[$+4>>2]|0)+(e[$+8>>2]|0)|0)>>>0<25?0:1,Gx(M|0,0,3072)|0,e0=j>>>0>495?495:j,e[q>>2]=0,e[q+4>>2]=0,e[q+8>>2]=0,$=0,x0=0,d=0;;){if((x0|0)==(e0|0)){s0=0;break}p=n[f+(x0+h&l)>>0]|0,s0=p&255,f0=M+(d<<10)+(s0<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=q+(d<<2)|0,e[d>>2]=(e[d>>2]|0)+1,p<<24>>24<=-1?(p&255)>191?d=a0:d=$>>>0<224?0:a0:d=0,$=s0,x0=x0+1|0}for(;(s0|0)!=(j|0);)s0>>>0>=495&&(s0>>>0>=496?(d=s0+h|0,p=s[f+(d+-496&l)>>0]|0,s0>>>0<497?d=0:d=s[f+(d+-497&l)>>0]|0,p>>>0>=128?p>>>0>191?d=a0:d=d>>>0<224?0:a0:d=0):d=0,f0=M+(d<<10)+((s[f+(s0+h+-495&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1),(s0+495|0)>>>0<j>>>0&&(p=s0+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=a0:d=(p&255)<224?0:a0:d=0,f0=M+(d<<10)+((s[f+(e0&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,f0=q+(d<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1),s0?(d=s0+h|0,p=s[f+(d+-1&l)>>0]|0,s0>>>0<2?d=0:d=s[f+(d+-2&l)>>0]|0,p>>>0>=128?p>>>0>191?d=a0:d=d>>>0<224?0:a0:d=0):d=0,p=e[M+(d<<10)+((s[f+(s0+h&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d=e[q+(d<<2)>>2]|0,d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(+(d>>>0)),p>>>0<256?w=+t0[19516+(p<<2)>>2]:w=+Xx(+(p>>>0)),w=k-w+.02905,w=w<1?w*.5+.5:w,s0>>>0<2e3&&(w=w+(.7-+((2e3-s0|0)>>>0)/2e3*.35)),t0[n0+(s0+1<<2)>>2]=w,s0=s0+1|0}else{for(Gx(s0|0,0,1024)|0,d=j>>>0>2e3?2e3:j,p=0;;){if((p|0)==(d|0)){e0=0;break}f0=s0+((s[f+(p+h&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,p=p+1|0}for(;;){if((e0|0)==(j|0))break x;e0>>>0>=2e3&&(f0=s0+((s[f+(e0+h+-2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+-1,d=d+-1|0),p=e0+h|0,(e0+2e3|0)>>>0<j>>>0&&(f0=s0+((s[f+(p+2e3&l)>>0]|0)<<2)|0,e[f0>>2]=(e[f0>>2]|0)+1,d=d+1|0),p=e[s0+((s[f+(p&l)>>0]|0)<<2)>>2]|0,p=(p|0)==0?1:p,d>>>0<256?k=+t0[19516+(d<<2)>>2]:k=+Xx(+(d>>>0)),p>>>0<256?w=+t0[19516+(p<<2)>>2]:w=+Xx(+(p>>>0)),k=k-w+.029,t0[n0+(e0+1<<2)>>2]=k<1?k*.5+.5:k,e0=e0+1|0}}while(!1);for(t0[n0>>2]=0,w=0,d=0;;){if((d|0)==(j|0)){p=0;break}f0=d+1|0,l=n0+(f0<<2)|0,k=+t0[l>>2]+w,t0[l>>2]=k,w=k,d=f0}for(;;){if((p|0)==704){p=0;break}d=p+11|0,d>>>0<256?w=+t0[19516+(d<<2)>>2]:w=+Xx(+(d>>>0)),t0[c+(p<<2)>>2]=w,p=p+1|0}for(;(p|0)!=520;)d=p+20|0,d>>>0<256?w=+t0[19516+(d<<2)>>2]:w=+Xx(+(d>>>0)),t0[c+2816+(p<<2)>>2]=w,p=p+1|0;t0[c+4900>>2]=3.4594316482543945,c0=o0}function Bf(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0;if(Cx=c0,c0=c0+64|0,p0=Cx+36|0,f0=Cx+8|0,G0=Cx,_x=h+f|0,Dx=_x&d,J0=_x>>>0<p>>>0?_x:p,bx=c-f|0,xx=(e[w+4>>2]|0)<11,q0=xx?150:325,xx=xx?1:5,o0=e[a0+(f<<4)+12>>2]|0,h=e[a0+(f<<4)>>2]&16777215,w=e[a0+(f<<4)+8>>2]|0,q=e[a0+(f<<4)+4>>2]|0,j=q&33554431,f?(j+h|0)>>>0>_x>>>0|j>>>0>p>>>0|(q>>>25|0)==1?h=e[a0+(f-h-w<<4)+12>>2]|0:h=f:h=0,q=a0+(f<<4)+12|0,e[q>>2]=h,n0=(e[d0>>2]=o0,+t0[d0>>2]),V0=$+4896|0,w=e[V0>>2]|0,M=+t0[w+(f<<2)>>2],!(n0<=M-+t0[w>>2]))o0=x0+224|0;else{for(e[f0>>2]=f,e[f0+24>>2]=o0,h=e[V0>>2]|0,t0[f0+20>>2]=n0-(+t0[h+(f<<2)>>2]-+t0[h>>2]),h=0,w=q;;){if(w=e[w>>2]|0,!((h|0)<4&(w|0)!=0)){w=k;break}U0=e[a0+(w<<4)+8>>2]|0,R0=e[a0+(w<<4)>>2]&16777215,e[f0+4+(h<<2)>>2]=e[a0+(w<<4)+4>>2]&33554431,h=h+1|0,w=a0+(w-R0-U0<<4)+12|0}for(;!((h|0)>=4);)e[f0+4+(h<<2)>>2]=e[w>>2],w=w+4|0,h=h+1|0;for(o0=x0+224|0,h=e[o0>>2]|0,p=h+1|0,e[o0>>2]=p,h=h&7^7,p=p>>>0<8?p:8,j=x0+(h*28|0)|0,e[j>>2]=e[f0>>2],e[j+4>>2]=e[f0+4>>2],e[j+8>>2]=e[f0+8>>2],e[j+12>>2]=e[f0+12>>2],e[j+16>>2]=e[f0+16>>2],e[j+20>>2]=e[f0+20>>2],e[j+24>>2]=e[f0+24>>2],j=1;!(j>>>0>=p>>>0);)q=h&7,h=h+1|0,w=h&7,+t0[x0+(q*28|0)+20>>2]>+t0[x0+(w*28|0)+20>>2]&&(R0=x0+(q*28|0)|0,e[p0>>2]=e[R0>>2],e[p0+4>>2]=e[R0+4>>2],e[p0+8>>2]=e[R0+8>>2],e[p0+12>>2]=e[R0+12>>2],e[p0+16>>2]=e[R0+16>>2],e[p0+20>>2]=e[R0+20>>2],e[p0+24>>2]=e[R0+24>>2],U0=x0+(w*28|0)|0,e[R0>>2]=e[U0>>2],e[R0+4>>2]=e[U0+4>>2],e[R0+8>>2]=e[U0+8>>2],e[R0+12>>2]=e[U0+12>>2],e[R0+16>>2]=e[U0+16>>2],e[R0+20>>2]=e[U0+20>>2],e[R0+24>>2]=e[U0+24>>2],e[U0>>2]=e[p0>>2],e[U0+4>>2]=e[p0+4>>2],e[U0+8>>2]=e[p0+8>>2],e[U0+12>>2]=e[p0+12>>2],e[U0+16>>2]=e[p0+16>>2],e[U0+20>>2]=e[p0+20>>2],e[U0+24>>2]=e[p0+24>>2]),j=j+1|0;U0=e[V0>>2]|0,w=U0,M=+t0[U0+(f<<2)>>2]}q=0-(e[o0>>2]|0)&7,h=2,M=+t0[x0+(q*28|0)+24>>2]+ +t0[$+4900>>2]+(M-+t0[w+(e[x0+(q*28|0)>>2]<<2)>>2]),q=4,j=10;x:for(;;){do{if(w=h+f|0,w>>>0>c>>>0||!(+t0[a0+(w<<4)+12>>2]<=M))break x;h=h+1|0}while((h|0)!=(j|0));U0=j+q|0,h=j,M=M+1,q=q<<1,j=U0}for(g0=h+-1|0,y0=l+Dx|0,T0=Dx+bx|0,b0=l+T0|0,T0=l+(T0+-4)|0,P0=G0+4|0,R0=G0+4|0,U0=0;;){if(U0>>>0>=xx>>>0){h=82;break}if(w=e[o0>>2]|0,U0>>>0>=(w>>>0<8?w:8)>>>0){h=82;break}h0=U0-w&7,S0=f-(e[x0+(h0*28|0)>>2]|0)|0;do if(S0>>>0>=6){if(S0>>>0<130){D0=S0+-2|0,w=((Ax(D0|0)|0)^31)+-1|0,w=(w<<1)+(D0>>>w)+2&65535;break}if(S0>>>0<2114){w=((Ax(S0+-66|0)|0)^31)+10&65535;break}S0>>>0<6210?w=21:w=S0>>>0<22594?22:23}else w=S0&65535;while(!1);for(D0=w&65535,E0=e[V0>>2]|0,w0=+t0[x0+(h0*28|0)+20>>2]+ +((e[17268+(D0<<2)>>2]|0)>>>0)+(+t0[E0+(f<<2)>>2]-+t0[E0>>2]),E0=D0<<3&56,D0=(D0>>>3)*3|0,c=(w&65535)<8,w=g0,u0=0;u0>>>0<16&w>>>0<bx>>>0;){p=(e[x0+(h0*28|0)+4+(e[11372+(u0<<2)>>2]<<2)>>2]|0)+(e[11436+(u0<<2)>>2]|0)|0,q=_x-p|0;x:do if(!(q>>>0>=_x>>>0|p>>>0>J0>>>0)&&(ox=q&d,cx=Dx+w|0,cx>>>0<=d>>>0)&&(X0=ox+w|0,X0>>>0<=d>>>0)&&(n[l+cx>>0]|0)==(n[l+X0>>0]|0)){for(q=0,j=y0;!(j>>>0>T0>>>0||(p0=l+(ox+q)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)q=q+4|0,j=j+4|0;for(;!(j>>>0>=b0>>>0||(n[l+(ox+q)>>0]|0)!=(n[j>>0]|0));)q=q+1|0,j=j+1|0;for(n0=w0+ +t0[$+2816+(u0<<2)>>2],p0=(u0|0)==0,f0=p|(u0<<25)+33554432;;){if(k=w+1|0,k>>>0>q>>>0)break x;do if(k>>>0>=10){if(k>>>0<134){p=w+-5|0,w=((Ax(p|0)|0)^31)+-1|0,w=(w<<1)+(p>>>w)+4&65535;break}k>>>0<2118?w=((Ax(w+-69|0)|0)^31)+12&65535:w=23}else w=w+65535&65535;while(!1);if(p=w&65535,j=p&7|E0,((p0^1|c^1)^1)&(w&65535)<16?w=((w&65535)<8?j:j|64)&65535:w=o[88156+((p>>>3)+D0<<1)>>1]|j&65535,M=((w&65535)<128?w0:n0)+ +((e[17460+(p<<2)>>2]|0)>>>0)+ +t0[$+((w&65535)<<2)>>2],w=k+f|0,!(M<+t0[a0+(w<<4)+12>>2])){w=k;continue}e[a0+(w<<4)>>2]=k|150994944,e[a0+(w<<4)+4>>2]=f0,e[a0+(w<<4)+8>>2]=S0,t0[a0+(w<<4)+12>>2]=M,w=k}}while(!1);u0=u0+1|0}x:do if(U0>>>0<=1)for(k=h,h0=0;;){if((h0|0)==(e0|0))break x;for(f0=s0+(h0<<3)|0,c=e[f0>>2]|0,f0=e[f0+4>>2]|0,p=G0,e[p>>2]=c,e[p+4>>2]=f0,p=c>>>0>J0>>>0,w=p&1,q=c+15|0,u0=vx(c|0,f0|0,37)|0,q>>>0<16?j=0:(Qx=c+3|0,j=((Ax(Qx|0)|0)^31)+-1|0,p0=Qx>>>j&1,q=((j<<1)+65534|p0)+16|0,j=j<<24|Qx-((p0|2)<<j)),n0=w0+ +(j>>>24>>>0)+ +t0[$+2816+((q&65535)<<2)>>2],k>>>0<u0>>>0&&(Qx=p|u0>>>0>q0>>>0,w=Qx?w:0,k=Qx?u0:k),p0=w<<24>>24==0,j=vx(c|0,f0|0,37)|0,j=j+1|0,p=k>>>0>j>>>0,f0=k;!(f0>>>0>u0>>>0);){p0?w=f0:(w=e[P0>>2]&31,w||(w=(e[R0>>2]|0)>>>5));do if(w>>>0>=10){if(w>>>0<134){Qx=w+-6|0,q=((Ax(Qx|0)|0)^31)+-1|0,q=(q<<1)+(Qx>>>q)+4|0;break}w>>>0<2118?q=((Ax(w+-70|0)|0)^31)+12|0:q=23}else q=w+65534|0;while(!1);Qx=q&65535,M=n0+ +((e[17460+(Qx<<2)>>2]|0)>>>0)+ +t0[$+(((o[88156+((Qx>>>3)+D0<<1)>>1]|(q&7|E0)&65535)&65535)<<2)>>2],q=f0+f|0,M<+t0[a0+(q<<4)+12>>2]&&(e[a0+(q<<4)>>2]=f0|f0+9-w<<24,e[a0+(q<<4)+4>>2]=c,e[a0+(q<<4)+8>>2]=S0,t0[a0+(q<<4)+12>>2]=M),f0=f0+1|0}k=p?k:j,h0=h0+1|0}while(!1);U0=U0+1|0}if((h|0)==82){c0=Cx;return}}function kW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0;V0=(1<<e[p+8>>2])+-16|0,wD(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){U0=f+-127|0,R0=U0+h|0,R0=R0>>>0>f>>>0?f:R0,P0=k+524292|0,T0=k+524296|0;e:for(;;){if(U0>>>0>=R0>>>0)break x;for(q=e[k>>2]|0,D0=f-U0|0,D0=q-(D0>>>0<15?15:D0)|0,g0=U0&w,y0=d+g0|0,w0=k+4+((ix(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24,506832829)|0)>>>15<<2)|0,S0=e[w0>>2]|0,q=(U0&q)<<1,e[w0>>2]=U0,w0=0,j=0,E0=0,M=q,q=q|1,b0=64;;){if(h0=S0&w,(U0|0)==(S0|0)|(U0-S0|0)>>>0>D0>>>0|(b0|0)==0){l=6;break}if(u0=j>>>0<E0>>>0?j:E0,u0>>>0>=129){l=8;break e}for(f0=g0+u0|0,p0=d+(h0+128)|0,n0=d+(h0+124)|0,o0=0,l=d+(h0+u0)|0;!(l>>>0>n0>>>0||(q0=d+(f0+o0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)o0=o0+4|0,l=l+4|0;for(;!(l>>>0>=p0>>>0||(n[d+(f0+o0)>>0]|0)!=(n[l>>0]|0));)o0=o0+1|0,l=l+1|0;u0=u0+o0|0;t:do if(u0){for(l=u0,f0=y0,p0=d+h0|0;n0=n[f0>>0]|0,o0=n[p0>>0]|0,n0<<24>>24==o0<<24>>24;)if(l=l+-1|0,l)f0=f0+1|0,p0=p0+1|0;else break t;if(n0<<24>>24!=o0<<24>>24){l=21;break e}}while(!1);if(w0){l=23;break e}if(u0>>>0>=128){l=25;break}l=e[P0>>2]|0,(s[d+(g0+u0)>>0]|0)>(s[d+(h0+u0)>>0]|0)?(e[l+(M<<2)>>2]=S0,n0=(S0&e[k>>2])<<1|1,j=u0,l=E0,M=n0,n0=(e[P0>>2]|0)+(n0<<2)|0):(e[l+(q<<2)>>2]=S0,n0=(S0&e[k>>2])<<1,l=u0,q=n0,n0=(e[P0>>2]|0)+(n0<<2)|0),w0=0,E0=l,S0=e[n0>>2]|0,b0=b0+-1|0}(l|0)==6?(e[(e[P0>>2]|0)+(M<<2)>>2]=e[T0>>2],e[(e[P0>>2]|0)+(q<<2)>>2]=e[T0>>2]):(l|0)==25&&(q0=e[P0>>2]|0,e[q0+(M<<2)>>2]=e[q0+((S0&e[k>>2])<<1<<2)>>2],q0=e[P0>>2]|0,e[q0+(q<<2)>>2]=e[q0+(((S0&e[k>>2])<<1|1)<<2)>>2]),U0=U0+1|0}(l|0)==8?W0(405873,405905,373,405932):(l|0)==21?W0(405955,405905,378,405932):(l|0)==23&&Dn()}while(!1);for(l=c+8|0,M=Px[e[c>>2]&1](e[l>>2]|0,(h<<4)+16|0)|0,M||Ix(1),q=h+1|0,j=0;(j|0)!=(q|0);)e[M+(j<<4)>>2]=1,e[M+(j<<4)+4>>2]=0,e[M+(j<<4)+8>>2]=0,t0[M+(j<<4)+12>>2]=z0,j=j+1|0;q0=yD(c,h,f,d,w,p,V0,e0,k,M)|0,e[x0>>2]=(e[x0>>2]|0)+q0,J5(h,f,V0,M,e0,s0,$,a0),Ex[e[c+4>>2]&1](e[l>>2]|0,M)}function OW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0;nx=c0,c0=c0+12256|0,lx=nx+12028|0,Lx=nx+12024|0,zx=nx+11e3|0,ee=nx+8184|0,ue=nx+6104|0,Kx=nx+5080|0,Qx=nx+4928|0,ux=nx+4912|0,Bx=nx,kx=(1<<e[p+8>>2])+-16|0,Rx=h<<2,ex=c+8|0,Z0=Px[e[c>>2]&1](e[ex>>2]|0,Rx)|0,Z0||Ix(1),Cx=h>>>0>127?f+h+-127|0:f,Hx=Px[e[c>>2]&1](e[ex>>2]|0,h<<5)|0,q0=Hx,Hx||Ix(1),wD(c,k,p,f,h,l);x:do if(h>>>0>2&f>>>0>127){V0=f+-127|0,U0=V0+h|0,U0=U0>>>0>f>>>0?f:U0,P0=k+524292|0,R0=k+524296|0;e:for(;;){if(V0>>>0>=U0>>>0)break x;for(q=e[k>>2]|0,g0=f-V0|0,g0=q-(g0>>>0<15?15:g0)|0,y0=V0&w,b0=d+y0|0,E0=k+4+((ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>15<<2)|0,w0=e[E0>>2]|0,q=(V0&q)<<1,e[E0>>2]=V0,E0=0,j=0,D0=0,M=q,q=q|1,T0=64;;){if(S0=w0&w,(V0|0)==(w0|0)|(V0-w0|0)>>>0>g0>>>0|(T0|0)==0){j=11;break}if(h0=j>>>0<D0>>>0?j:D0,h0>>>0>=129){j=13;break e}for(p0=y0+h0|0,u0=d+(S0+128)|0,o0=d+(S0+124)|0,f0=0,l=d+(S0+h0)|0;!(l>>>0>o0>>>0||(Hx=d+(p0+f0)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0)));)f0=f0+4|0,l=l+4|0;for(;!(l>>>0>=u0>>>0||(n[d+(p0+f0)>>0]|0)!=(n[l>>0]|0));)f0=f0+1|0,l=l+1|0;h0=h0+f0|0;t:do if(h0){for(l=h0,p0=b0,u0=d+S0|0;o0=n[p0>>0]|0,f0=n[u0>>0]|0,o0<<24>>24==f0<<24>>24;)if(l=l+-1|0,l)p0=p0+1|0,u0=u0+1|0;else break t;if(o0<<24>>24!=f0<<24>>24){j=26;break e}}while(!1);if(E0){j=28;break e}if(h0>>>0>=128){j=30;break}l=e[P0>>2]|0,(s[d+(y0+h0)>>0]|0)>(s[d+(S0+h0)>>0]|0)?(e[l+(M<<2)>>2]=w0,o0=(w0&e[k>>2])<<1|1,j=h0,l=D0,M=o0,o0=(e[P0>>2]|0)+(o0<<2)|0):(e[l+(q<<2)>>2]=w0,o0=(w0&e[k>>2])<<1,l=h0,q=o0,o0=(e[P0>>2]|0)+(o0<<2)|0),E0=0,D0=l,w0=e[o0>>2]|0,T0=T0+-1|0}(j|0)==11?(e[(e[P0>>2]|0)+(M<<2)>>2]=e[R0>>2],e[(e[P0>>2]|0)+(q<<2)>>2]=e[R0>>2]):(j|0)==30&&(Hx=e[P0>>2]|0,e[Hx+(M<<2)>>2]=e[Hx+((w0&e[k>>2])<<1<<2)>>2],Hx=e[P0>>2]|0,e[Hx+(q<<2)>>2]=e[Hx+(((w0&e[k>>2])<<1|1)<<2)>>2]),V0=V0+1|0}(j|0)==13?W0(405873,405905,373,405932):(j|0)==26?W0(405955,405905,378,405932):(j|0)==28&&Dn()}while(!1);Wx=c+4|0,Hx=p+4|0,X0=k+524292|0,G0=k+524296|0,ox=0,f0=Rx,M=0;x:for(;;){if((M+3|0)>>>0>=h>>>0){j=142;break}if(bx=M+f|0,Dx=bx>>>0<kx>>>0?bx:kx,xx=h-M|0,l=ox+128|0,f0>>>0<l>>>0){for(j=(f0|0)==0,o0=j?l:f0;!(o0>>>0>=l>>>0);)o0=o0<<1;if(q=Px[e[c>>2]&1](e[ex>>2]|0,o0<<3)|0,!q){j=42;break}l=q0,j||$x(q|0,l|0,f0<<3|0)|0,Ex[e[Wx>>2]&1](e[ex>>2]|0,l),cx=o0}else q=q0,cx=f0;for(J0=q,_x=J0+(ox<<3)|0,V0=bx&w,S0=(e[Hx>>2]|0)!=11?16:64,S0=bx>>>0<S0>>>0?0:bx-S0|0,q0=d+V0|0,w0=d+(V0+1)|0,D0=V0+xx|0,E0=d+D0|0,D0=d+(D0+-4)|0,l=_x,o0=1,j=bx;j=j+-1|0,!(!(j>>>0>S0>>>0&o0>>>0<3)||(u0=bx-j|0,u0>>>0>Dx>>>0));){if(h0=j&w,(n[q0>>0]|0)!=(n[d+h0>>0]|0)){R0=o0,U0=l,o0=R0,l=U0;continue}if((n[w0>>0]|0)==(n[d+(h0+1)>>0]|0))f0=0,p0=q0;else{R0=o0,U0=l,o0=R0,l=U0;continue}for(;!(p0>>>0>D0>>>0||(U0=d+(h0+f0)|0,(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)!=(s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0)));)f0=f0+4|0,p0=p0+4|0;for(;!(p0>>>0>=E0>>>0||(n[d+(h0+f0)>>0]|0)!=(n[p0>>0]|0));)f0=f0+1|0,p0=p0+1|0;if(f0>>>0<=o0>>>0){R0=o0,U0=l,o0=R0,l=U0;continue}o0=l,e[o0>>2]=u0,e[o0+4>>2]=f0<<5,l=o0+8|0,o0=f0}do if(o0>>>0<xx>>>0){for(R0=xx>>>0<128?xx:128,U0=xx>>>0>127,j=k+4+((ix(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24,506832829)|0)>>>15<<2)|0,u0=e[j>>2]|0,f0=(bx&e[k>>2])<<1,p0=f0|1,U0?(e[j>>2]=bx,T0=0,P0=0,b0=64):(T0=0,P0=0,b0=64);;){if(g0=bx-u0|0,y0=u0&w,(bx|0)==(u0|0)|g0>>>0>Dx>>>0|(b0|0)==0){j=63;break}if(D0=T0>>>0<P0>>>0?T0:P0,D0>>>0>=129){j=66;break x}for(w0=V0+D0|0,h0=y0+xx|0,E0=d+h0|0,h0=d+(h0+-4)|0,S0=0,j=d+(y0+D0)|0;!(j>>>0>h0>>>0||(fx=d+(w0+S0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)S0=S0+4|0,j=j+4|0;for(;!(j>>>0>=E0>>>0||(n[d+(w0+S0)>>0]|0)!=(n[j>>0]|0));)S0=S0+1|0,j=j+1|0;D0=D0+S0|0;e:do if(D0){for(j=D0,w0=q0,E0=d+y0|0;h0=n[w0>>0]|0,S0=n[E0>>0]|0,h0<<24>>24==S0<<24>>24;)if(j=j+-1|0,j)w0=w0+1|0,E0=E0+1|0;else break e;if(h0<<24>>24!=S0<<24>>24){j=79;break x}}while(!1);if(j=l,(l|0)!=0&D0>>>0>o0>>>0&&(e[j>>2]=g0,e[j+4>>2]=D0<<5,l=j+8|0,o0=D0),D0>>>0>=R0>>>0){j=83;break}(s[d+(V0+D0)>>0]|0)>(s[d+(y0+D0)>>0]|0)?(U0&&(e[(e[X0>>2]|0)+(f0<<2)>>2]=u0),h0=(u0&e[k>>2])<<1|1,u0=D0,j=P0,f0=h0,h0=(e[X0>>2]|0)+(h0<<2)|0):(U0&&(e[(e[X0>>2]|0)+(p0<<2)>>2]=u0),h0=(u0&e[k>>2])<<1,u0=T0,j=D0,p0=h0,h0=(e[X0>>2]|0)+(h0<<2)|0),T0=u0,P0=j,u0=e[h0>>2]|0,b0=b0+-1|0}if((j|0)==63){if(!U0)break;e[(e[X0>>2]|0)+(f0<<2)>>2]=e[G0>>2],e[(e[X0>>2]|0)+(p0<<2)>>2]=e[G0>>2];break}else if((j|0)==83){if(!U0)break;fx=e[X0>>2]|0,e[fx+(f0<<2)>>2]=e[fx+((u0&e[k>>2])<<1<<2)>>2],fx=e[X0>>2]|0,e[fx+(p0<<2)>>2]=e[fx+(((u0&e[k>>2])<<1|1)<<2)>>2];break}}while(!1);for(j=0;(j|0)!=38;)e[Qx+(j<<2)>>2]=268435455,j=j+1|0;o0=o0+1|0,o0=o0>>>0<4?4:o0;e:do if(PD(q0,o0,xx,Qx)|0)for(f0=xx>>>0>37?37:xx;;){if(o0>>>0>f0>>>0)break e;j=e[Qx+(o0<<2)>>2]|0,j>>>0<268435455&&(fx=j&31,e[l>>2]=Dx+(j>>>5)+1,e[l+4>>2]=o0<<5|((o0|0)==(fx|0)?0:fx),l=l+8|0),o0=o0+1|0}while(!1);for(f0=l-_x>>3,l=ox+f0|0,o0=ox;j=o0,o0=o0+1|0,!(o0>>>0>=l>>>0);){if((e[J0+(j<<3)+4>>2]|0)>>>5>>>0>=(e[J0+(o0<<3)+4>>2]|0)>>>5>>>0){j=105;break x}if(j=e[J0+(j<<3)>>2]|0,!(j>>>0>Dx>>>0)&&j>>>0>(e[J0+(o0<<3)>>2]|0)>>>0){j=108;break x}}if(p0=Z0+(M<<2)|0,e[p0>>2]=f0,f0){if(j=l+-1|0,fx=e[J0+(j<<3)+4>>2]|0,o0=fx>>>5,fx>>>0>10431){for(xx=o0+-1|0,l=ox+1|0,fx=J0+(j<<3)|0,V0=e[fx+4>>2]|0,q0=_x,e[q0>>2]=e[fx>>2],e[q0+4>>2]=V0,e[p0>>2]=1,q0=bx+o0|0,q0=q0>>>0<Cx>>>0?q0:Cx,V0=(bx+64|0)>>>0>q0>>>0?bx+1|0:q0+-63|0;!(V0>>>0>=q0>>>0);){for(f0=e[k>>2]|0,T0=f0+-15|0,P0=V0&w,R0=d+P0|0,y0=k+4+((ix(s[R0>>0]|s[R0+1>>0]<<8|s[R0+2>>0]<<16|s[R0+3>>0]<<24,506832829)|0)>>>15<<2)|0,g0=e[y0>>2]|0,f0=(V0&f0)<<1,e[y0>>2]=V0,y0=0,p0=0,b0=0,o0=f0,f0=f0|1,U0=64;;){if(D0=g0&w,(V0|0)==(g0|0)|(V0-g0|0)>>>0>T0>>>0|(U0|0)==0){j=115;break}if(E0=p0>>>0<b0>>>0?p0:b0,E0>>>0>=129){j=117;break x}for(S0=P0+E0|0,w0=d+(D0+128)|0,u0=d+(D0+124)|0,h0=0,j=d+(D0+E0)|0;!(j>>>0>u0>>>0||(fx=d+(S0+h0)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[fx>>0]|s[fx+1>>0]<<8|s[fx+2>>0]<<16|s[fx+3>>0]<<24|0)));)h0=h0+4|0,j=j+4|0;for(;!(j>>>0>=w0>>>0||(n[d+(S0+h0)>>0]|0)!=(n[j>>0]|0));)h0=h0+1|0,j=j+1|0;E0=E0+h0|0;e:do if(E0){for(j=E0,S0=R0,w0=d+D0|0;u0=n[S0>>0]|0,h0=n[w0>>0]|0,u0<<24>>24==h0<<24>>24;)if(j=j+-1|0,j)S0=S0+1|0,w0=w0+1|0;else break e;if(u0<<24>>24!=h0<<24>>24){j=130;break x}}while(!1);if(y0){j=132;break x}if(E0>>>0>=128){j=134;break}j=e[X0>>2]|0,(s[d+(P0+E0)>>0]|0)>(s[d+(D0+E0)>>0]|0)?(e[j+(o0<<2)>>2]=g0,u0=(g0&e[k>>2])<<1|1,p0=E0,j=b0,o0=u0,u0=(e[X0>>2]|0)+(u0<<2)|0):(e[j+(f0<<2)>>2]=g0,u0=(g0&e[k>>2])<<1,j=E0,f0=u0,u0=(e[X0>>2]|0)+(u0<<2)|0),y0=0,b0=j,g0=e[u0>>2]|0,U0=U0+-1|0}(j|0)==115?(e[(e[X0>>2]|0)+(o0<<2)>>2]=e[G0>>2],e[(e[X0>>2]|0)+(f0<<2)>>2]=e[G0>>2]):(j|0)==134&&(fx=e[X0>>2]|0,e[fx+(o0<<2)>>2]=e[fx+((g0&e[k>>2])<<1<<2)>>2],fx=e[X0>>2]|0,e[fx+(f0<<2)>>2]=e[fx+(((g0&e[k>>2])<<1|1)<<2)>>2]),V0=V0+1|0}Gx(Z0+(M+1<<2)|0,0,xx<<2|0)|0,M=M+xx|0}}else l=ox;ox=l,q0=q,f0=cx,M=M+1|0}if((j|0)==42)Ix(1);else if((j|0)==66)W0(405873,405905,373,405932);else if((j|0)==79)W0(405955,405905,378,405932);else if((j|0)==105)W0(403595,403667,793,403707);else if((j|0)==108)W0(403740,403667,795,403707);else if((j|0)==117)W0(405873,405905,373,405932);else if((j|0)==130)W0(405955,405905,378,405932);else if((j|0)==132)Dn();else if((j|0)==142){for(b0=e[a0>>2]|0,T0=e[s0>>2]|0,e[ux>>2]=e[e0>>2],e[ux+4>>2]=e[e0+4>>2],e[ux+8>>2]=e[e0+8>>2],e[ux+12>>2]=e[e0+12>>2],P0=e[x0>>2]|0,R0=Px[e[c>>2]&1](e[ex>>2]|0,(h<<4)+16|0)|0,R0||Ix(1),U0=Bx+4904|0,e[U0>>2]=h,l=Px[e[c>>2]&1](e[ex>>2]|0,Rx+8|0)|0,l||Ix(1),y0=Bx+4896|0,e[y0>>2]=l,p0=R0+12|0,u0=lx+224|0,h0=q0,S0=f-T0|0,w0=Bx+2816|0,E0=Bx+4900|0,D0=h+1|0,g0=0;(g0|0)!=2;){for(l=0;(l|0)!=(D0|0);)e[R0+(l<<4)>>2]=1,e[R0+(l<<4)+4>>2]=0,e[R0+(l<<4)+8>>2]=0,t0[R0+(l<<4)+12>>2]=z0,l=l+1|0;if(!g0)DD(Bx,f,d,w);else{for(M=e[x0>>2]|0,Gx(zx|0,0,1024)|0,Gx(ee|0,0,2816)|0,Gx(ue|0,0,2080)|0,M=M-P0|0,o0=S0,f0=0;(f0|0)!=(M|0);){for(q=e[$+(f0<<4)>>2]|0,j=e[$+(f0<<4)+4>>2]&16777215,l=o[$+(f0<<4)+14>>1]|0,fx=o[$+(f0<<4)+12>>1]|0,c=ee+((fx&65535)<<2)|0,e[c>>2]=(e[c>>2]|0)+1,(fx&65535)>127&&(l=ue+((l&65535)<<2)|0,e[l>>2]=(e[l>>2]|0)+1),l=0;(l|0)!=(q|0);)fx=zx+(s[d+(o0+l&w)>>0]<<2)|0,e[fx>>2]=(e[fx>>2]|0)+1,l=l+1|0;o0=o0+(q+j)|0,f0=f0+1|0}for(X5(zx,256,Kx),X5(ee,704,Bx),X5(ue,520,w0),l=2139095040,M=0;(M|0)!=704;)fx=e[Bx+(M<<2)>>2]|0,e[lx>>2]=l,e[Lx>>2]=fx,n0=(e[d0>>2]=l,+t0[d0>>2]),l=e[(n0<(e[d0>>2]=fx,+t0[d0>>2])?lx:Lx)>>2]|0,M=M+1|0;for(e[E0>>2]=l,M=e[U0>>2]|0,l=e[y0>>2]|0,t0[l>>2]=0,n0=0,q=0;(q|0)!=(M|0);)Nx=n0+ +t0[Kx+(s[d+(q+f&w)>>0]<<2)>>2],fx=q+1|0,t0[l+(fx<<2)>>2]=Nx,n0=Nx,q=fx}for(e[x0>>2]=P0,e[a0>>2]=b0,e[s0>>2]=T0,e[e0>>2]=e[ux>>2],e[e0+4>>2]=e[ux+4>>2],e[e0+8>>2]=e[ux+8>>2],e[e0+12>>2]=e[ux+12>>2],q=(e[Hx>>2]|0)<11?150:325,e[R0>>2]=0,t0[p0>>2]=0,e[u0>>2]=0,l=0,M=0;;){if((M+3|0)>>>0>=h>>>0){l=h;break}fx=Z0+(M<<2)|0,Bf(h,f,M,d,w,p,kx,e0,e[fx>>2]|0,h0+(l<<3)|0,Bx,lx,R0),fx=e[fx>>2]|0,l=l+fx|0,(fx|0)==1&&(gx=(e[h0+(l+-1<<3)+4>>2]|0)>>>5,gx>>>0>q>>>0)&&(e[u0>>2]=0,M=M+(gx+-1)|0),M=M+1|0}for(;!(e[R0+(l<<4)+8>>2]|0||(e[R0+(l<<4)>>2]|0)!=1);)l=l+-1|0;for(e[R0+(l<<4)+12>>2]=-1,M=0;l;)c=(e[R0+(l<<4)>>2]&16777215)+(e[R0+(l<<4)+8>>2]|0)|0,fx=l-c|0,e[R0+(fx<<4)+12>>2]=c,l=fx,M=M+1|0;e[x0>>2]=(e[x0>>2]|0)+M,J5(h,f,kx,R0,e0,s0,$,a0),g0=g0+1|0}Ex[e[Wx>>2]&1](e[ex>>2]|0,e[y0>>2]|0),e[y0>>2]=0,Ex[e[Wx>>2]&1](e[ex>>2]|0,R0),Ex[e[Wx>>2]&1](e[ex>>2]|0,q0),Ex[e[Wx>>2]&1](e[ex>>2]|0,Z0),c0=nx;return}}function FW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0;if(gx=c0,c0=c0+32|0,lx=gx+16|0,kx=gx,Rx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,Lx=f+h|0,Hx=h>>>0>7?Lx+-7|0:f,Wx=p+4|0,Qx=(e[Wx>>2]|0)<9?64:512,M=Qx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)Cx=d+c|0,G0=Cx,Cx=Cx+4|0,Cx=Ie(s[G0>>0]|s[G0+1>>0]<<8|s[G0+2>>0]<<16|s[G0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=0,c=c+1|0;h&&(n[k+262148>>0]=0,Ox=8)}else n[k+262148>>0]&1&&Gx(k|0,0,262149)|0,Ox=8;(Ox|0)==8&&h>>>0>6&f>>>0>2&&(G0=f+-3|0,Cx=d+(G0&w)|0,X0=Cx,Cx=Cx+4|0,Cx=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=G0,Cx=f+-2|0,G0=d+(Cx&w)|0,X0=G0,G0=G0+4|0,G0=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+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=vx(G0|0,A0|0,48)|0,e[k+(G0<<2)>>2]=Cx,G0=f+-1|0,Cx=d+(G0&w)|0,X0=Cx,Cx=Cx+4|0,Cx=Ie(s[X0>>0]|s[X0+1>>0]<<8|s[X0+2>>0]<<16|s[X0+3>>0]<<24|0,s[Cx>>0]|s[Cx+1>>0]<<8|s[Cx+2>>0]<<16|s[Cx+3>>0]<<24|0,-1124073472,1979815)|0,Cx=vx(Cx|0,A0|0,48)|0,e[k+(Cx<<2)>>2]=G0),g0=lx+4|0,y0=lx+8|0,b0=lx+12|0,T0=lx+4|0,P0=k+262156|0,R0=k+262152|0,U0=lx+12|0,V0=lx+8|0,q0=Qx<<2,xx=Lx+-7|0,J0=kx+4|0,_x=kx+8|0,Dx=kx+12|0,bx=kx+4|0,ox=kx+8|0,cx=kx+12|0,X0=e0+8|0,G0=e0+12|0,Cx=e0+4|0,p=f,D0=$,c=q;x:for(;;){S0=D0,E0=M+q0|0;e:for(;;){if(w0=Lx-p|0,(p+8|0)>>>0>=Lx>>>0)break x;if(u0=p>>>0<Rx>>>0?p:Rx,e[lx>>2]=0,e[g0>>2]=0,e[y0>>2]=0,e[b0>>2]=4240,h0=p&w,f0=d+h0|0,j=f0,o0=j,o0=s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24,j=j+4|0,j=Ie(o0|0,s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0,-1124073472,1979815)|0,j=vx(j|0,A0|0,48)|0,n0=e[e0>>2]|0,l=p-n0|0,e[T0>>2]=0,l>>>0<p>>>0&&(ex=l&w,(n[d+ex>>0]|0)==(o0&255)<<24>>24)){for(h=h0+w0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(p0=d+(ex+f)|0,(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)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(ex+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=22;break}}if(p0=k+(j<<2)|0,q=e[p0>>2]|0,e[p0>>2]=p,j=p-q|0,n0=q&w,!(((p|0)==(q|0)?1:(n[d+n0>>0]|0)!=(o0&255)<<24>>24)|j>>>0>u0>>>0)){for(h=h0+w0|0,q=d+h|0,h=d+(h+-4)|0,f=0,l=f0;!(l>>>0>h>>>0||(o0=d+(n0+f)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)));)f=f+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(n0+f)>>0]|0)!=(n[l>>0]|0));)f=f+1|0,l=l+1|0;if(f>>>0>3){Ox=32;break}if((e[P0>>2]|0)>>>0<(e[R0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=1;){if(f0=o[21084+(n0<<1)>>1]|0,h=f0&65535,e[R0>>2]=(e[R0>>2]|0)+1,f0<<16>>16!=0&&(Z0=h&31,Kx=h>>>5,ee=(e[11272+(Z0<<2)>>2]|0)+(ix(Z0,Kx)|0)|0,Z0>>>0<=w0>>>0)){for(f=ee+Z0|0,j=280811+f|0,f=280811+(f+-4)|0,q=0,h=280811+ee|0;!(h>>>0>f>>>0||(f0=d+(h0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[f0>>0]|s[f0+1>>0]<<8|s[f0+2>>0]<<16|s[f0+3>>0]<<24|0)));)q=q+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(h0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=Z0>>>0|(q|0)==0)&&(ue=u0+Kx+1+(s[407930+(Z0-q)>>0]<<s[280786+Z0>>0])|0,zx=(q*540|0)+3840+(ix((Ax(ue|0)|0)^31,-120)|0)|0,zx>>>0>=(e[U0>>2]|0)>>>0)&&(e[lx>>2]=q,e[T0>>2]=Z0^q,e[V0>>2]=ue,e[U0>>2]=zx,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}if(e[p0>>2]=p,l&1){E0=0;break}}if(c=c+1|0,h=p+1|0,h>>>0<=M>>>0){p=h;continue}if(h>>>0>E0>>>0)for(l=p+17|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;w0=d+(p&w)|0,h0=w0,w0=w0+4|0,w0=Ie(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+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=vx(w0|0,A0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<xx>>>0?l:xx,p=h;;){if(p>>>0>=l>>>0)continue e;w0=d+(p&w)|0,h0=w0,w0=w0+4|0,w0=Ie(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+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=vx(w0|0,A0|0,48)|0,e[k+(w0<<2)>>2]=p,p=p+2|0,c=c+2|0}}(Ox|0)==22?(Ox=0,e[lx>>2]=f,e[V0>>2]=n0,e[U0>>2]=(f*540|0)+3900,e[k+(j<<2)>>2]=p,E0=0):(Ox|0)==32&&(Ox=0,e[lx>>2]=f,e[V0>>2]=j,e[U0>>2]=(f*540|0)+3840+(ix((Ax(j|0)|0)^31,-120)|0),E0=0);e:for(;;){if(w0=w0+-1|0,(e[Wx>>2]|0)<5?(n0=(e[lx>>2]|0)+-1|0,n0=n0>>>0<w0>>>0?n0:w0):n0=0,e[kx>>2]=n0,e[J0>>2]=0,e[_x>>2]=0,e[Dx>>2]=4240,f0=p+1|0,h0=f0>>>0<Rx>>>0?f0:Rx,S0=f0&w,p0=d+S0|0,q=p0,o0=q,q=q+4|0,q=Ie(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0,s[q>>0]|s[q+1>>0]<<8|s[q+2>>0]<<16|s[q+3>>0]<<24|0,-1124073472,1979815)|0,q=vx(q|0,A0|0,48)|0,o0=n[d+(S0+n0)>>0]|0,j=e[e0>>2]|0,l=f0-j|0,e[bx>>2]=0,l>>>0<f0>>>0&&(Bx=l&w,o0<<24>>24==(n[d+(Bx+n0)>>0]|0))){for(h=S0+w0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=p0;!(l>>>0>h>>>0||(u0=d+(Bx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Bx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(e[kx>>2]=M,e[ox>>2]=j,e[cx>>2]=(M*540|0)+3900,e[k+(q<<2)>>2]=f0):Ox=64}else Ox=64;do if((Ox|0)==64){if(Ox=0,u0=k+(q<<2)|0,f=e[u0>>2]|0,e[u0>>2]=f0,q=f0-f|0,j=f&w,((f0|0)==(f|0)?1:o0<<24>>24!=(n[d+(j+n0)>>0]|0))|q>>>0>h0>>>0){f0=p,o0=c;break e}for(h=S0+w0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=p0;!(l>>>0>h>>>0||(o0=d+(j+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[o0>>0]|s[o0+1>>0]<<8|s[o0+2>>0]<<16|s[o0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(j+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;if(M>>>0>3){e[kx>>2]=M,e[ox>>2]=q,e[cx>>2]=(M*540|0)+3840+(ix((Ax(q|0)|0)^31,-120)|0);break}if((e[P0>>2]|0)>>>0<(e[R0>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,j=(ix(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(p0=o[21084+(j<<1)>>1]|0,h=p0&65535,e[R0>>2]=(e[R0>>2]|0)+1,p0<<16>>16!=0&&(ux=h&31,nx=h>>>5,fx=(e[11272+(ux<<2)>>2]|0)+(ix(ux,nx)|0)|0,ux>>>0<=w0>>>0)){for(M=fx+ux|0,q=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+fx|0;!(h>>>0>M>>>0||(p0=d+(S0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[p0>>0]|s[p0+1>>0]<<8|s[p0+2>>0]<<16|s[p0+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=q>>>0||(n[d+(S0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ux>>>0|(f|0)==0)&&(Nx=h0+nx+1+(s[407930+(ux-f)>>0]<<s[280786+ux>>0])|0,ae=(f*540|0)+3840+(ix((Ax(Nx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[cx>>2]|0)>>>0)&&(e[kx>>2]=f,e[bx>>2]=ux^f,e[ox>>2]=Nx,e[cx>>2]=ae,e[P0>>2]=(e[P0>>2]|0)+1,l=1)}n0=n0+1|0,j=j+1|0}l=(l&1)!=0}if(e[u0>>2]=f0,!(l&1)){f0=p,o0=c;break e}}while(!1);if((e[Dx>>2]|0)>>>0<((e[b0>>2]|0)+700|0)>>>0){f0=p,o0=c;break}if(c=c+1|0,e[lx>>2]=e[kx>>2],e[lx+4>>2]=e[kx+4>>2],e[lx+8>>2]=e[kx+8>>2],e[lx+12>>2]=e[kx+12>>2],E0=E0+1|0,(E0|0)<4&(p+9|0)>>>0<Lx>>>0)p=f0;else{o0=c;break}}p=e[lx>>2]|0,M=f0+(p<<1)+Qx|0,c=e[y0>>2]|0;e:do if(c>>>0<=(f0>>>0<Rx>>>0?f0:Rx)>>>0)if(f=c+3|0,E0=e[e0>>2]|0,l=f-E0|0,h=e[Cx>>2]|0,f=f-h|0,(c|0)==(E0|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[X0>>2]|0)){c=2;break t}if((c|0)==(e[G0>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[G0>>2]=e[X0>>2],e[X0>>2]=e[Cx>>2],e[Cx>>2]=e[e0>>2],e[e0>>2]=e[y0>>2],p=e[lx>>2]|0}else c=c+15|0;while(!1);n0=D0+16|0,E0=e[g0>>2]|0,l=p^E0,e[D0>>2]=o0,e[D0+4>>2]=p|E0<<24,p=D0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(S0=c+-12|0,E0=((Ax(S0|0)|0)^31)+-1|0,w0=S0>>>E0&1,c=((E0<<1)+65534|w0)+16&65535,o[p>>1]=c,p=E0<<24|S0-((w0|2)<<E0)),e[D0+8>>2]=p,q=c<<16>>16==0,j=D0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){D0=o0+-2|0,f=((Ax(D0|0)|0)^31)+-1|0,f=(f<<1)+(D0>>>f)+2&65535;break}if(o0>>>0<2114){f=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?f=21:f=o0>>>0<22594?22:23}else f=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){D0=l+-6|0,c=((Ax(D0|0)|0)^31)+-1|0,c=(c<<1)+(D0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=f&65535,h=p&7|l<<3&56,q&(f&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[lx>>2]|0)|0,c=c>>>0<Hx>>>0?c:Hx,p=f0+2|0;!(p>>>0>=c>>>0);)D0=d+(p&w)|0,E0=D0,D0=D0+4|0,D0=Ie(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0,s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0,-1124073472,1979815)|0,D0=vx(D0|0,A0|0,48)|0,e[k+(D0<<2)>>2]=p,p=p+1|0;p=f0+(e[lx>>2]|0)|0,D0=n0,c=0}e[s0>>2]=c+w0,e[x0>>2]=(e[x0>>2]|0)+(S0-$>>4),c0=gx}function IW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0;if(Cx=(1<<e[p+8>>2])+-16|0,q=e[s0>>2]|0,Qx=f+h|0,G0=h>>>0>7?Qx+-7|0:f,X0=p+4|0,cx=(e[X0>>2]|0)<9?64:512,p=cx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<2049){for(c=0;(c|0)!=(h|0);)ox=d+c|0,bx=ox,ox=ox+4|0,ox=Ie(s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,s[ox>>0]|s[ox+1>>0]<<8|s[ox+2>>0]<<16|s[ox+3>>0]<<24|0,-1124073472,1979815)|0,ox=vx(ox|0,A0|0,48)|0,ox=k+(ox<<2)|0,e[ox>>2]=0,e[ox+4>>2]=0,c=c+1|0;h&&(n[k+262152>>0]=0,M=8)}else n[k+262152>>0]&1&&Gx(k|0,0,262153)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(ox=f+-3|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-2|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox,ox=f+-1|0,bx=d+(ox&w)|0,Dx=bx,bx=bx+4|0,bx=Ie(s[Dx>>0]|s[Dx+1>>0]<<8|s[Dx+2>>0]<<16|s[Dx+3>>0]<<24|0,s[bx>>0]|s[bx+1>>0]<<8|s[bx+2>>0]<<16|s[bx+3>>0]<<24|0,-1124073472,1979815)|0,bx=vx(bx|0,A0|0,48)|0,e[k+(bx+(ox>>>3&1)<<2)>>2]=ox),J0=cx<<2,_x=Qx+-7|0,Dx=e0+8|0,bx=e0+12|0,ox=e0+4|0,l=f,xx=$,o0=p,c=q;x:for(;;){P0=xx,R0=o0+J0|0;e:for(;;){if(V0=Qx-l|0,(l+8|0)>>>0>=Qx>>>0)break x;if(g0=l>>>0<Cx>>>0?l:Cx,y0=l&w,b0=d+y0|0,T0=b0,p=T0,p=s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24,T0=T0+4|0,T0=Ie(p|0,s[T0>>0]|s[T0+1>>0]<<8|s[T0+2>>0]<<16|s[T0+3>>0]<<24|0,-1124073472,1979815)|0,T0=vx(T0|0,A0|0,48)|0,j=p&255,h=e[e0>>2]|0,M=l-h|0,M>>>0<l>>>0&&(Wx=M&w,(n[d+Wx>>0]|0)==(p&255)<<24>>24)){for(M=y0+V0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=b0;!(p>>>0>M>>>0||(q0=d+(Wx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)f=f+4|0,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Wx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(y0+f)>>0]|0,p=1,q=f,f=(f*540|0)+3900|0):(p=0,q=0,h=0,f=4240)}else p=0,q=0,h=0,f=4240;for(E0=y0+V0|0,w0=d+E0|0,E0=d+(E0+-4)|0,p0=q,n0=f,D0=k+(T0+1<<2)|0,u0=0,M=k+(T0<<2)|0,h0=q,S0=f;M=e[M>>2]|0,(u0|0)!=2;){if(f0=l-M|0,q=M&w,((l|0)==(M|0)?1:(j|0)!=(s[d+(q+p0)>>0]|0))|f0>>>0>g0>>>0)q=p0,f=h0,M=S0;else{for(M=0,f=b0;!(f>>>0>E0>>>0||(q0=d+(q+M)|0,(s[f>>0]|s[f+1>>0]<<8|s[f+2>>0]<<16|s[f+3>>0]<<24|0)!=(s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0)));)M=M+4|0,f=f+4|0;for(;!(f>>>0>=w0>>>0||(n[d+(q+M)>>0]|0)!=(n[f>>0]|0));)M=M+1|0,f=f+1|0;M>>>0>3&&(Hx=(M*540|0)+3840+(ix((Ax(f0|0)|0)^31,-120)|0)|0,n0>>>0<Hx>>>0)?(q=M,n0=Hx,j=s[d+(y0+M)>>0]|0,p=1,f=M,h=f0,M=Hx):(q=p0,f=h0,M=S0)}q0=D0,p0=q,D0=D0+4|0,u0=u0+1|0,h0=f,S0=M,M=q0}if(e[k+(T0+(l>>>3&1)<<2)>>2]=l,p&1){q0=0;break}if(c=c+1|0,h=l+1|0,h>>>0<=o0>>>0){l=h;continue}if(h>>>0>R0>>>0)for(p=l+17|0,p=p>>>0<_x>>>0?p:_x,l=h;;){if(l>>>0>=p>>>0)continue e;q0=d+(l&w)|0,V0=q0,q0=q0+4|0,q0=Ie(s[V0>>0]|s[V0+1>>0]<<8|s[V0+2>>0]<<16|s[V0+3>>0]<<24|0,s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,-1124073472,1979815)|0,q0=vx(q0|0,A0|0,48)|0,e[k+(q0+(l>>>3&1)<<2)>>2]=l,l=l+4|0,c=c+4|0}else for(p=l+9|0,p=p>>>0<_x>>>0?p:_x,l=h;;){if(l>>>0>=p>>>0)continue e;q0=d+(l&w)|0,V0=q0,q0=q0+4|0,q0=Ie(s[V0>>0]|s[V0+1>>0]<<8|s[V0+2>>0]<<16|s[V0+3>>0]<<24|0,s[q0>>0]|s[q0+1>>0]<<8|s[q0+2>>0]<<16|s[q0+3>>0]<<24|0,-1124073472,1979815)|0,q0=vx(q0|0,A0|0,48)|0,e[k+(q0+(l>>>3&1)<<2)>>2]=l,l=l+2|0,c=c+2|0}}for(;;){if(V0=V0+-1|0,(e[X0>>2]|0)<5?(n0=h0+-1|0,n0=n0>>>0<V0>>>0?n0:V0):n0=0,p0=l+1|0,T0=p0>>>0<Cx>>>0?p0:Cx,P0=p0&w,R0=d+P0|0,U0=R0,p=U0,U0=U0+4|0,U0=Ie(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+3>>0]<<24|0,s[U0>>0]|s[U0+1>>0]<<8|s[U0+2>>0]<<16|s[U0+3>>0]<<24|0,-1124073472,1979815)|0,U0=vx(U0|0,A0|0,48)|0,p=n[d+(P0+n0)>>0]|0,j=p&255,o0=e[e0>>2]|0,M=p0-o0|0,M>>>0<p0>>>0&&(Rx=M&w,p<<24>>24==(n[d+(Rx+n0)>>0]|0))){for(M=P0+V0|0,q=d+M|0,M=d+(M+-4)|0,f=0,p=R0;!(p>>>0>M>>>0||(b0=d+(Rx+f)|0,(s[p>>0]|s[p+1>>0]<<8|s[p+2>>0]<<16|s[p+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,p=p+4|0;for(;!(p>>>0>=q>>>0||(n[d+(Rx+f)>>0]|0)!=(n[p>>0]|0));)f=f+1|0,p=p+1|0;f>>>0>3?(j=s[d+(P0+f)>>0]|0,p=1,n0=f,M=(f*540|0)+3900|0):(p=0,M=4240,o0=0)}else p=0,M=4240,o0=0;for(y0=P0+V0|0,g0=d+y0|0,y0=d+(y0+-4)|0,w0=n0,E0=M,b0=k+(U0+1<<2)|0,D0=0,q=p,p=k+(U0<<2)|0,u0=M;p=e[p>>2]|0,(D0|0)!=2;){if(f0=p0-p|0,f=p&w,((p0|0)==(p|0)?1:(j|0)!=(s[d+(f+w0)>>0]|0))|f0>>>0>T0>>>0)M=w0,f=E0,p=u0;else{for(p=0,M=R0;!(M>>>0>y0>>>0||(lx=d+(f+p)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0)));)p=p+4|0,M=M+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(f+p)>>0]|0)!=(n[M>>0]|0));)p=p+1|0,M=M+1|0;p>>>0>3&&(Lx=(p*540|0)+3840+(ix((Ax(f0|0)|0)^31,-120)|0)|0,E0>>>0<Lx>>>0)?(M=p,f=Lx,j=s[d+(P0+p)>>0]|0,q=1,n0=p,p=Lx,o0=f0):(M=w0,f=E0,p=u0)}lx=b0,w0=M,E0=f,b0=b0+4|0,D0=D0+1|0,u0=p,p=lx}if(e[k+(U0+(p0>>>3&1)<<2)>>2]=p0,(q&1)==0|u0>>>0<(S0+700|0)>>>0){p0=l,f0=c,n0=h0;break}if(c=c+1|0,q0=q0+1|0,(q0|0)<4&(l+9|0)>>>0<Qx>>>0)l=p0,h0=n0,h=o0,S0=u0;else{f0=c,h=o0;break}}o0=p0+(n0<<1)+cx|0;e:do if(h>>>0<=(p0>>>0<Cx>>>0?p0:Cx)>>>0)if(l=h+3|0,lx=e[e0>>2]|0,c=l-lx|0,p=e[ox>>2]|0,l=l-p|0,(h|0)==(lx|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[Dx>>2]|0)){c=2;break t}if((h|0)==(e[bx>>2]|0)){c=3;break t}c=h+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[bx>>2]=e[Dx>>2],e[Dx>>2]=e[ox>>2],e[ox>>2]=e[e0>>2],e[e0>>2]=h}else c=h+15|0;while(!1);j=xx+16|0,e[xx>>2]=f0,e[xx+4>>2]=n0,p=xx+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,lx=((Ax(V0|0)|0)^31)+-1|0,q0=V0>>>lx&1,c=((lx<<1)+65534|q0)+16&65535,o[p>>1]=c,p=lx<<24|V0-((q0|2)<<lx)),e[xx+8>>2]=p,f=c<<16>>16==0,q=xx+12|0;do if(f0>>>0>=6){if(f0>>>0<130){lx=f0+-2|0,p=((Ax(lx|0)|0)^31)+-1|0,p=(p<<1)+(lx>>>p)+2&65535;break}if(f0>>>0<2114){p=((Ax(f0+-66|0)|0)^31)+10&65535;break}f0>>>0<6210?p=21:p=f0>>>0<22594?22:23}else p=f0&65535;while(!1);do if(n0>>>0>=10){if(n0>>>0<134){lx=n0+-6|0,c=((Ax(lx|0)|0)^31)+-1|0,c=(c<<1)+(lx>>>c)+4&65535;break}n0>>>0<2118?c=((Ax(n0+-70|0)|0)^31)+12&65535:c=23}else c=n0+65534&65535;while(!1);for(l=c&65535,h=p&65535,M=l&7|h<<3&56,f&(p&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((l>>>3)+((h>>>3)*3|0)<<1)>>1]|M&65535,o[q>>1]=c,e[a0>>2]=(e[a0>>2]|0)+f0,l=p0+n0|0,p=l>>>0<G0>>>0?l:G0,c=p0+2|0;;){if(c>>>0>=p>>>0){xx=j,c=0;continue x}lx=d+(c&w)|0,xx=lx,lx=lx+4|0,lx=Ie(s[xx>>0]|s[xx+1>>0]<<8|s[xx+2>>0]<<16|s[xx+3>>0]<<24|0,s[lx>>0]|s[lx+1>>0]<<8|s[lx+2>>0]<<16|s[lx+3>>0]<<24|0,-1124073472,1979815)|0,lx=vx(lx|0,A0|0,48)|0,e[k+(lx+(c>>>3&1)<<2)>>2]=c,c=c+1|0}}e[s0>>2]=c+V0,e[x0>>2]=(e[x0>>2]|0)+(P0-$>>4)}function TW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0;if(ue=c0,c0=c0+32|0,Kx=ue+16|0,ee=ue,ex=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Z0=f+h|0,gx=h>>>0>7?Z0+-7|0:f,kx=p+4|0,lx=(e[kx>>2]|0)<9?64:512,q=lx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<4097){for(c=0;(c|0)!=(h|0);)Lx=d+c|0,Rx=Lx,Lx=Lx+4|0,Lx=Ie(s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,s[Lx>>0]|s[Lx+1>>0]<<8|s[Lx+2>>0]<<16|s[Lx+3>>0]<<24|0,-1124073472,1979815)|0,Lx=vx(Lx|0,A0|0,47)|0,Lx=k+(Lx<<2)|0,e[Lx>>2]=0,e[Lx+4>>2]=0,e[Lx+8>>2]=0,e[Lx+12>>2]=0,c=c+1|0;h&&(n[k+524304>>0]=0,M=8)}else n[k+524304>>0]&1&&Gx(k|0,0,524305)|0,M=8;(M|0)==8&&h>>>0>6&f>>>0>2&&(Lx=f+-3|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx,Lx=f+-2|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx,Lx=f+-1|0,Rx=d+(Lx&w)|0,Hx=Rx,Rx=Rx+4|0,Rx=Ie(s[Hx>>0]|s[Hx+1>>0]<<8|s[Hx+2>>0]<<16|s[Hx+3>>0]<<24|0,s[Rx>>0]|s[Rx+1>>0]<<8|s[Rx+2>>0]<<16|s[Rx+3>>0]<<24|0,-1124073472,1979815)|0,Rx=vx(Rx|0,A0|0,47)|0,e[k+(Rx+(Lx>>>3&3)<<2)>>2]=Lx),_x=Kx+4|0,Dx=Kx+8|0,bx=Kx+12|0,ox=Kx+12|0,cx=Kx+4|0,X0=Kx+8|0,G0=k+524312|0,Cx=k+524308|0,Qx=lx<<2,Wx=Z0+-7|0,Hx=ee+12|0,Rx=ee+4|0,Lx=ee+8|0,R0=ee+12|0,U0=ee+4|0,V0=ee+8|0,q0=e0+8|0,xx=e0+12|0,J0=e0+4|0,p=f,P0=$,c=j;x:for(;;){b0=P0,T0=q+Qx|0;e:for(;;){if(y0=Z0-p|0,(p+8|0)>>>0>=Z0>>>0)break x;if(E0=p>>>0<ex>>>0?p:ex,e[Kx>>2]=0,e[_x>>2]=0,e[Dx>>2]=0,e[bx>>2]=4240,D0=p&w,w0=d+D0|0,g0=w0,l=g0,l=s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24,g0=g0+4|0,g0=Ie(l|0,s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0,-1124073472,1979815)|0,g0=vx(g0|0,A0|0,47)|0,o0=l&255,n0=e[ox>>2]|0,j=e[e0>>2]|0,h=p-j|0,e[cx>>2]=0,h>>>0<p>>>0&&(zx=h&w,(n[d+zx>>0]|0)==(l&255)<<24>>24)){for(h=D0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=w0;!(l>>>0>h>>>0||(S0=d+(zx+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[S0>>0]|s[S0+1>>0]<<8|s[S0+2>>0]<<16|s[S0+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(zx+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(f=(M*540|0)+3900|0,e[Kx>>2]=M,e[X0>>2]=j,e[ox>>2]=f,h=M,M=s[d+(D0+M)>>0]|0,l=1):(h=0,f=n0,M=o0,l=0)}else h=0,f=n0,M=o0,l=0;for(S0=D0+y0|0,h0=d+S0|0,S0=d+(S0+-4)|0,u0=k+(g0+1<<2)|0,p0=0,j=k+(g0<<2)|0;j=e[j>>2]|0,(p0|0)!=4;){if(o0=p-j|0,f0=j&w,!(((p|0)==(j|0)?1:(M|0)!=(s[d+(f0+h)>>0]|0))|o0>>>0>E0>>>0)){for(j=0,n0=w0;!(n0>>>0>S0>>>0||(dx=d+(f0+j)|0,(s[n0>>0]|s[n0+1>>0]<<8|s[n0+2>>0]<<16|s[n0+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)j=j+4|0,n0=n0+4|0;for(;!(n0>>>0>=h0>>>0||(n[d+(f0+j)>>0]|0)!=(n[n0>>0]|0));)j=j+1|0,n0=n0+1|0;j>>>0>3&&(Bx=(j*540|0)+3840+(ix((Ax(o0|0)|0)^31,-120)|0)|0,f>>>0<Bx>>>0)&&(e[Kx>>2]=j,e[X0>>2]=o0,e[ox>>2]=Bx,h=j,f=Bx,M=s[d+(D0+j)>>0]|0,l=1)}j=u0,u0=u0+4|0,p0=p0+1|0}if(!(l&1)){if((e[G0>>2]|0)>>>0<(e[Cx>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=1;){if(dx=o[21084+(n0<<1)>>1]|0,h=dx&65535,e[Cx>>2]=(e[Cx>>2]|0)+1,dx<<16>>16!=0&&(ux=h&31,nx=h>>>5,fx=(e[11272+(ux<<2)>>2]|0)+(ix(ux,nx)|0)|0,ux>>>0<=y0>>>0)){for(M=fx+ux|0,j=280811+M|0,M=280811+(M+-4)|0,f=0,h=280811+fx|0;!(h>>>0>M>>>0||(dx=d+(D0+f)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)f=f+4|0,h=h+4|0;for(;!(h>>>0>=j>>>0||(n[d+(D0+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;!((f+10|0)>>>0<=ux>>>0|(f|0)==0)&&(Nx=E0+nx+1+(s[407930+(ux-f)>>0]<<s[280786+ux>>0])|0,ae=(f*540|0)+3840+(ix((Ax(Nx|0)|0)^31,-120)|0)|0,ae>>>0>=(e[ox>>2]|0)>>>0)&&(e[Kx>>2]=f,e[cx>>2]=ux^f,e[X0>>2]=Nx,e[ox>>2]=ae,e[G0>>2]=(e[G0>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(e[k+(g0+(p>>>3&3)<<2)>>2]=p,l&1){b0=0;break}if(c=c+1|0,h=p+1|0,h>>>0<=q>>>0){p=h;continue}if(h>>>0>T0>>>0)for(l=p+17|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;dx=d+(p&w)|0,y0=dx,dx=dx+4|0,dx=Ie(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Wx>>>0?l:Wx,p=h;;){if(p>>>0>=l>>>0)continue e;dx=d+(p&w)|0,y0=dx,dx=dx+4|0,dx=Ie(s[y0>>0]|s[y0+1>>0]<<8|s[y0+2>>0]<<16|s[y0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+2|0,c=c+2|0}}for(;;){if(y0=y0+-1|0,(e[kx>>2]|0)<5?(j=(e[Kx>>2]|0)+-1|0,j=j>>>0<y0>>>0?j:y0):j=0,e[ee>>2]=j,e[Rx>>2]=0,e[Lx>>2]=0,e[Hx>>2]=4240,f0=p+1|0,E0=f0>>>0<ex>>>0?f0:ex,D0=f0&w,w0=d+D0|0,g0=w0,l=g0,g0=g0+4|0,g0=Ie(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+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=vx(g0|0,A0|0,47)|0,l=n[d+(D0+j)>>0]|0,o0=l&255,q=e[R0>>2]|0,n0=e[e0>>2]|0,h=f0-n0|0,e[U0>>2]=0,h>>>0<f0>>>0&&(Ox=h&w,l<<24>>24==(n[d+(Ox+j)>>0]|0))){for(h=D0+y0|0,f=d+h|0,h=d+(h+-4)|0,M=0,l=w0;!(l>>>0>h>>>0||(dx=d+(Ox+M)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)M=M+4|0,l=l+4|0;for(;!(l>>>0>=f>>>0||(n[d+(Ox+M)>>0]|0)!=(n[l>>0]|0));)M=M+1|0,l=l+1|0;M>>>0>3?(q=(M*540|0)+3900|0,e[ee>>2]=M,e[V0>>2]=n0,e[R0>>2]=q,h=M,M=s[d+(D0+M)>>0]|0,l=1):(h=j,M=o0,l=0)}else h=j,M=o0,l=0;for(S0=D0+y0|0,h0=d+S0|0,S0=d+(S0+-4)|0,u0=k+(g0+1<<2)|0,p0=0,f=k+(g0<<2)|0;f=e[f>>2]|0,(p0|0)!=4;){if(n0=f0-f|0,o0=f&w,!(((f0|0)==(f|0)?1:(M|0)!=(s[d+(o0+h)>>0]|0))|n0>>>0>E0>>>0)){for(f=0,j=w0;!(j>>>0>S0>>>0||(dx=d+(o0+f)|0,(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24|0)!=(s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0)));)f=f+4|0,j=j+4|0;for(;!(j>>>0>=h0>>>0||(n[d+(o0+f)>>0]|0)!=(n[j>>0]|0));)f=f+1|0,j=j+1|0;f>>>0>3&&(px=(f*540|0)+3840+(ix((Ax(n0|0)|0)^31,-120)|0)|0,q>>>0<px>>>0)&&(e[ee>>2]=f,e[V0>>2]=n0,e[R0>>2]=px,h=f,q=px,M=s[d+(D0+f)>>0]|0,l=1)}f=u0,u0=u0+4|0,p0=p0+1|0}if(!(l&1)){if((e[G0>>2]|0)>>>0<(e[Cx>>2]|0)>>>7>>>0)l=0;else{for(n0=0,l=0,j=(ix(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24,506832829)|0)>>>18<<1;(n0|0)!=1;){if(dx=o[21084+(j<<1)>>1]|0,h=dx&65535,e[Cx>>2]=(e[Cx>>2]|0)+1,dx<<16>>16!=0&&(ax=h&31,Ce=h>>>5,C0=(e[11272+(ax<<2)>>2]|0)+(ix(ax,Ce)|0)|0,ax>>>0<=y0>>>0)){for(M=C0+ax|0,f=280811+M|0,M=280811+(M+-4)|0,q=0,h=280811+C0|0;!(h>>>0>M>>>0||(dx=d+(D0+q)|0,(s[h>>0]|s[h+1>>0]<<8|s[h+2>>0]<<16|s[h+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=h+4|0;for(;!(h>>>0>=f>>>0||(n[d+(D0+q)>>0]|0)!=(n[h>>0]|0));)q=q+1|0,h=h+1|0;!((q+10|0)>>>0<=ax>>>0|(q|0)==0)&&(se=E0+Ce+1+(s[407930+(ax-q)>>0]<<s[280786+ax>>0])|0,Yx=(q*540|0)+3840+(ix((Ax(se|0)|0)^31,-120)|0)|0,Yx>>>0>=(e[R0>>2]|0)>>>0)&&(e[ee>>2]=q,e[U0>>2]=ax^q,e[V0>>2]=se,e[R0>>2]=Yx,e[G0>>2]=(e[G0>>2]|0)+1,l=1)}n0=n0+1|0,j=j+1|0}l=(l&1)!=0}l=l&1}if(e[k+(g0+(f0>>>3&3)<<2)>>2]=f0,!(l&1)){f0=p,o0=c;break}if((e[Hx>>2]|0)>>>0<((e[bx>>2]|0)+700|0)>>>0){f0=p,o0=c;break}if(c=c+1|0,e[Kx>>2]=e[ee>>2],e[Kx+4>>2]=e[ee+4>>2],e[Kx+8>>2]=e[ee+8>>2],e[Kx+12>>2]=e[ee+12>>2],b0=b0+1|0,(b0|0)<4&(p+9|0)>>>0<Z0>>>0)p=f0;else{o0=c;break}}p=e[Kx>>2]|0,q=f0+(p<<1)+lx|0,c=e[Dx>>2]|0;e:do if(c>>>0<=(f0>>>0<ex>>>0?f0:ex)>>>0)if(M=c+3|0,dx=e[e0>>2]|0,l=M-dx|0,h=e[J0>>2]|0,M=M-h|0,(c|0)==(dx|0))c=0;else{t:do if((c|0)!=(h|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(M>>>0<7){c=266017486>>>(M<<2)&15;break}if((c|0)==(e[q0>>2]|0)){c=2;break t}if((c|0)==(e[xx>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[xx>>2]=e[q0>>2],e[q0>>2]=e[J0>>2],e[J0>>2]=e[e0>>2],e[e0>>2]=e[Dx>>2],p=e[Kx>>2]|0}else c=c+15|0;while(!1);n0=P0+16|0,dx=e[_x>>2]|0,l=p^dx,e[P0>>2]=o0,e[P0+4>>2]=p|dx<<24,p=P0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(b0=c+-12|0,dx=((Ax(b0|0)|0)^31)+-1|0,T0=b0>>>dx&1,c=((dx<<1)+65534|T0)+16&65535,o[p>>1]=c,p=dx<<24|b0-((T0|2)<<dx)),e[P0+8>>2]=p,f=c<<16>>16==0,j=P0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){dx=o0+-2|0,M=((Ax(dx|0)|0)^31)+-1|0,M=(M<<1)+(dx>>>M)+2&65535;break}if(o0>>>0<2114){M=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?M=21:M=o0>>>0<22594?22:23}else M=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){dx=l+-6|0,c=((Ax(dx|0)|0)^31)+-1|0,c=(c<<1)+(dx>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=M&65535,h=p&7|l<<3&56,f&(M&65535)<8&(c&65535)<16?c=((c&65535)<8?h:h|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|h&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[Kx>>2]|0)|0,c=c>>>0<gx>>>0?c:gx,p=f0+2|0;!(p>>>0>=c>>>0);)dx=d+(p&w)|0,P0=dx,dx=dx+4|0,dx=Ie(s[P0>>0]|s[P0+1>>0]<<8|s[P0+2>>0]<<16|s[P0+3>>0]<<24|0,s[dx>>0]|s[dx+1>>0]<<8|s[dx+2>>0]<<16|s[dx+3>>0]<<24|0,-1124073472,1979815)|0,dx=vx(dx|0,A0|0,47)|0,e[k+(dx+(p>>>3&3)<<2)>>2]=p,p=p+1|0;p=f0+(e[Kx>>2]|0)|0,P0=n0,c=0}e[s0>>2]=c+y0,e[x0>>2]=(e[x0>>2]|0)+(b0-$>>4),c0=ue}function RW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+1081344>>0]=0,M=8)}else c=k+1081344|0,n[c>>0]&1&&(Gx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,gx=k+(ex<<1)|0,e[k+32768+((_[gx>>1]&15|ex<<4)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&15|ex<<4)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+1081352|0,X0=k+1081348|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=4;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<4,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>16?M+-16|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+32768+((S0|M&15)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&15)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<4,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>16?l+-16|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+32768+((S0|l&15)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&15)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&15|rx<<4)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function PW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<257){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>18<<1)>>1]=0,c=c+1|0;h&&(n[k+2129920>>0]=0,M=8)}else c=k+2129920|0,n[c>>0]&1&&(Gx(k|0,0,32768)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,gx=k+(ex<<1)|0,e[k+32768+((_[gx>>1]&31|ex<<5)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>18,Z0=k+(ex<<1)|0,e[k+32768+((_[Z0>>1]&31|ex<<5)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+2129928|0,X0=k+2129924|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=4;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<5,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>32?M+-32|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+32768+((S0|M&31)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&31)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=4;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18,S0=w0<<5,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>32?l+-32|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+32768+((S0|l&31)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+32768+((S0|M0&31)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>18,M0=k+(rx<<1)|0,e[k+32768+((_[M0>>1]&31|rx<<5)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function _W(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0;var M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0,Ae=0,Ux=0,Te=0,oe=0,hx=0,_0=0,rx=0,M0=0;if(fx=c0,c0=c0+32|0,ux=fx+16|0,nx=fx,zx=(1<<e[p+8>>2])+-16|0,j=e[s0>>2]|0,Bx=f+h|0,ue=h>>>0>3?Bx+-3|0:f,ee=p+4|0,Kx=(e[ee>>2]|0)<9?64:512,q=Kx+f|0,(((f|0)==0^1|l^1)^1)&h>>>0<513){for(c=0;(c|0)!=(h|0);)Z0=d+c|0,o[k+((ix(s[Z0>>0]|s[Z0+1>>0]<<8|s[Z0+2>>0]<<16|s[Z0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]=0,c=c+1|0;h&&(n[k+8454144>>0]=0,M=8)}else c=k+8454144|0,n[c>>0]&1&&(Gx(k|0,0,65536)|0,n[c>>0]=0),M=8;(M|0)==8&&h>>>0>2&f>>>0>2&&(gx=f+-3|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16,Z0=f+-2|0,ex=d+(Z0&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,gx=k+(ex<<1)|0,e[k+65536+((_[gx>>1]&63|ex<<6)<<2)>>2]=Z0,o[gx>>1]=(o[gx>>1]|0)+1<<16>>16,gx=f+-1|0,ex=d+(gx&w)|0,ex=(ix(s[ex>>0]|s[ex+1>>0]<<8|s[ex+2>>0]<<16|s[ex+3>>0]<<24,506832829)|0)>>>17,Z0=k+(ex<<1)|0,e[k+65536+((_[Z0>>1]&63|ex<<6)<<2)>>2]=gx,o[Z0>>1]=(o[Z0>>1]|0)+1<<16>>16),xx=ux+4|0,J0=ux+8|0,_x=ux+12|0,Dx=ux+4|0,bx=ux+8|0,ox=ux+12|0,cx=k+8454152|0,X0=k+8454148|0,G0=Kx<<2,Cx=Bx+-4|0,Qx=Bx+-3|0,Wx=nx+12|0,Hx=nx+4|0,Rx=nx+8|0,Lx=nx+4|0,lx=nx+8|0,kx=nx+12|0,gx=e0+8|0,ex=e0+12|0,Z0=e0+4|0,p=f,q0=$,c=j;x:for(;;){U0=q0,V0=q+G0|0;e:for(;;){if(R0=Bx-p|0,(p+4|0)>>>0>=Bx>>>0)break x;for(T0=p>>>0<zx>>>0?p:zx,e[ux>>2]=0,e[xx>>2]=0,e[J0>>2]=0,e[_x>>2]=4240,P0=p&w,h=e[ux>>2]|0,e[ux>>2]=0,e[Dx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,f0=4240,l=0,o0=0;(o0|0)!=10;){n0=(e[e0+(e[11372+(o0<<2)>>2]<<2)>>2]|0)+(e[11436+(o0<<2)>>2]|0)|0,M=p-n0|0;do if(!(M>>>0>=p>>>0|n0>>>0>T0>>>0)&&(Nx=M&w,ae=P0+h|0,ae>>>0<=w>>>0)&&(Ox=Nx+h|0,Ox>>>0<=w>>>0)&&(n[d+ae>>0]|0)==(n[d+Ox>>0]|0)){for(j=0,M=D0;f=M,!(f>>>0>y0>>>0||(w0=M,E0=d+(Nx+j)|0,(s[w0>>0]|s[w0+1>>0]<<8|s[w0+2>>0]<<16|s[w0+3>>0]<<24|0)!=(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24|0)));)j=j+4|0,M=f+4|0;for(;!(M>>>0>=g0>>>0||(n[d+(Nx+j)>>0]|0)!=(n[M>>0]|0));)j=j+1|0,M=M+1|0;if(j>>>0<=2&&!((j|0)==2&o0>>>0<2)){M=f0;break}M=(j*540|0)+(e[11500+(o0<<2)>>2]|0)|0,f0>>>0<M>>>0?(e[ux>>2]=j,e[bx>>2]=n0,e[ox>>2]=M,h=j,l=1):M=f0}else M=f0;while(!1);f0=M,o0=o0+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<6,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,M=E0&65535,E0=(E0&65535)>64?M+-64|0:0;t:for(;;){for(h0=P0+h|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(M>>>0<=E0>>>0||(M=M+-1|0,f=e[k+65536+((S0|M&63)<<2)>>2]|0,p0=p-f|0,p0>>>0>T0>>>0))break t;if(o0=f&w,!u0&&(f=o0+h|0,!(f>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+f>>0]|0))n0=0,f=D0;else continue;for(;j=f,!(j>>>0>y0>>>0||(M0=f,rx=d+(o0+n0)|0,(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)!=(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)));)n0=n0+4|0,f=j+4|0;for(;!(f>>>0>=g0>>>0||(n[d+(o0+n0)>>0]|0)!=(n[f>>0]|0));)n0=n0+1|0,f=f+1|0;if(!(n0>>>0<=3)&&(f=(n0*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,f0>>>0<f>>>0))break}}e[ux>>2]=n0,e[bx>>2]=p0,e[ox>>2]=f,h=n0,f0=f,l=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&63)<<2)>>2]=p,o[w0>>1]=M0+1<<16>>16,!(l&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)l=0;else{for(o0=0,l=0,n0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(o0|0)!=2;){if(M0=o[21084+(n0<<1)>>1]|0,M=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(px=M&31,ax=M>>>5,Ce=(e[11272+(px<<2)>>2]|0)+(ix(px,ax)|0)|0,px>>>0<=R0>>>0)){for(h=Ce+px|0,j=280811+h|0,h=280811+(h+-4)|0,f=0,M=280811+Ce|0;!(M>>>0>h>>>0||(M0=d+(P0+f)|0,(s[M>>0]|s[M+1>>0]<<8|s[M+2>>0]<<16|s[M+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,M=M+4|0;for(;!(M>>>0>=j>>>0||(n[d+(P0+f)>>0]|0)!=(n[M>>0]|0));)f=f+1|0,M=M+1|0;!((f+10|0)>>>0<=px>>>0|(f|0)==0)&&(C0=T0+ax+1+(s[407930+(px-f)>>0]<<s[280786+px>>0])|0,se=(f*540|0)+3840+(ix((Ax(C0|0)|0)^31,-120)|0)|0,se>>>0>=(e[ox>>2]|0)>>>0)&&(e[ux>>2]=f,e[Dx>>2]=px^f,e[bx>>2]=C0,e[ox>>2]=se,e[cx>>2]=(e[cx>>2]|0)+1,l=1)}o0=o0+1|0,n0=n0+1|0}l=(l&1)!=0}l=l&1}if(l&1){U0=0,o0=c;break}if(c=c+1|0,M=p+1|0,M>>>0<=q>>>0){p=M;continue}if(M>>>0>V0>>>0)for(l=p+17|0,l=l>>>0<Cx>>>0?l:Cx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+4|0,c=c+4|0}else for(l=p+9|0,l=l>>>0<Qx>>>0?l:Qx,p=M;;){if(p>>>0>=l>>>0)continue e;rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+2|0,c=c+2|0}}for(;;){for(R0=R0+-1|0,(e[ee>>2]|0)<5?(c=(e[ux>>2]|0)+-1|0,c=c>>>0<R0>>>0?c:R0):c=0,e[nx>>2]=c,e[Hx>>2]=0,e[Rx>>2]=0,e[Wx>>2]=4240,f0=p+1|0,T0=f0>>>0<zx>>>0?f0:zx,P0=f0&w,M=e[nx>>2]|0,e[nx>>2]=0,e[Lx>>2]=0,b0=d+P0|0,y0=P0+R0|0,g0=d+y0|0,D0=b0,y0=d+(y0+-4)|0,n0=4240,c=0,j=0;(j|0)!=10;){f=(e[e0+(e[11372+(j<<2)>>2]<<2)>>2]|0)+(e[11436+(j<<2)>>2]|0)|0,l=f0-f|0;do if(!(l>>>0>=f0>>>0|f>>>0>T0>>>0)&&(Yx=l&w,dx=P0+M|0,dx>>>0<=w>>>0)&&(Ae=Yx+M|0,Ae>>>0<=w>>>0)&&(n[d+dx>>0]|0)==(n[d+Ae>>0]|0)){for(q=0,l=D0;h=l,!(h>>>0>y0>>>0||(rx=l,M0=d+(Yx+q)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)q=q+4|0,l=h+4|0;for(;!(l>>>0>=g0>>>0||(n[d+(Yx+q)>>0]|0)!=(n[l>>0]|0));)q=q+1|0,l=l+1|0;if(q>>>0<=2&&!((q|0)==2&j>>>0<2)){l=n0;break}l=(q*540|0)+(e[11500+(j<<2)>>2]|0)|0,n0>>>0<l>>>0?(e[nx>>2]=q,e[lx>>2]=f,e[kx>>2]=l,M=q,c=1):l=n0}else l=n0;while(!1);n0=l,j=j+1|0}w0=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>17,S0=w0<<6,w0=k+(w0<<1)|0,E0=o[w0>>1]|0,l=E0&65535,E0=(E0&65535)>64?l+-64|0:0;e:for(;;){for(h0=P0+M|0,u0=h0>>>0>w>>>0,h0=d+h0|0;;){if(l>>>0<=E0>>>0||(l=l+-1|0,h=e[k+65536+((S0|l&63)<<2)>>2]|0,p0=f0-h|0,p0>>>0>T0>>>0))break e;if(j=h&w,!u0&&(h=j+M|0,!(h>>>0>w>>>0))){if((n[h0>>0]|0)==(n[d+h>>0]|0))f=0,h=D0;else continue;for(;q=h,!(q>>>0>y0>>>0||(rx=h,M0=d+(j+f)|0,(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)f=f+4|0,h=q+4|0;for(;!(h>>>0>=g0>>>0||(n[d+(j+f)>>0]|0)!=(n[h>>0]|0));)f=f+1|0,h=h+1|0;if(!(f>>>0<=3)&&(h=(f*540|0)+3840+(ix((Ax(p0|0)|0)^31,-120)|0)|0,n0>>>0<h>>>0))break}}e[nx>>2]=f,e[lx>>2]=p0,e[kx>>2]=h,M=f,n0=h,c=1}if(M0=o[w0>>1]|0,e[k+65536+((S0|M0&63)<<2)>>2]=f0,o[w0>>1]=M0+1<<16>>16,!(c&1)){if((e[cx>>2]|0)>>>0<(e[X0>>2]|0)>>>7>>>0)c=0;else{for(j=0,c=0,f=(ix(s[b0>>0]|s[b0+1>>0]<<8|s[b0+2>>0]<<16|s[b0+3>>0]<<24,506832829)|0)>>>18<<1;(j|0)!=2;){if(M0=o[21084+(f<<1)>>1]|0,l=M0&65535,e[X0>>2]=(e[X0>>2]|0)+1,M0<<16>>16!=0&&(Ux=l&31,Te=l>>>5,oe=(e[11272+(Ux<<2)>>2]|0)+(ix(Ux,Te)|0)|0,Ux>>>0<=R0>>>0)){for(M=oe+Ux|0,q=280811+M|0,M=280811+(M+-4)|0,h=0,l=280811+oe|0;!(l>>>0>M>>>0||(M0=d+(P0+h)|0,(s[l>>0]|s[l+1>>0]<<8|s[l+2>>0]<<16|s[l+3>>0]<<24|0)!=(s[M0>>0]|s[M0+1>>0]<<8|s[M0+2>>0]<<16|s[M0+3>>0]<<24|0)));)h=h+4|0,l=l+4|0;for(;!(l>>>0>=q>>>0||(n[d+(P0+h)>>0]|0)!=(n[l>>0]|0));)h=h+1|0,l=l+1|0;!((h+10|0)>>>0<=Ux>>>0|(h|0)==0)&&(hx=T0+Te+1+(s[407930+(Ux-h)>>0]<<s[280786+Ux>>0])|0,_0=(h*540|0)+3840+(ix((Ax(hx|0)|0)^31,-120)|0)|0,_0>>>0>=(e[kx>>2]|0)>>>0)&&(e[nx>>2]=h,e[Lx>>2]=Ux^h,e[lx>>2]=hx,e[kx>>2]=_0,e[cx>>2]=(e[cx>>2]|0)+1,c=1)}j=j+1|0,f=f+1|0}c=(c&1)!=0}c=c&1}if(!(c&1)){f0=p;break}if((e[Wx>>2]|0)>>>0<((e[_x>>2]|0)+700|0)>>>0){f0=p;break}if(c=o0+1|0,e[ux>>2]=e[nx>>2],e[ux+4>>2]=e[nx+4>>2],e[ux+8>>2]=e[nx+8>>2],e[ux+12>>2]=e[nx+12>>2],U0=U0+1|0,(U0|0)<4&(p+5|0)>>>0<Bx>>>0)p=f0,o0=c;else{o0=c;break}}p=e[ux>>2]|0,q=f0+(p<<1)+Kx|0,c=e[J0>>2]|0;e:do if(c>>>0<=(f0>>>0<zx>>>0?f0:zx)>>>0)if(h=c+3|0,M0=e[e0>>2]|0,l=h-M0|0,M=e[Z0>>2]|0,h=h-M|0,(c|0)==(M0|0))c=0;else{t:do if((c|0)!=(M|0)){do if(l>>>0<7)c=158663784>>>(l<<2)&15;else{if(h>>>0<7){c=266017486>>>(h<<2)&15;break}if((c|0)==(e[gx>>2]|0)){c=2;break t}if((c|0)==(e[ex>>2]|0)){c=3;break t}c=c+15|0}while(!1);if(!c)break e}else c=1;while(!1);e[ex>>2]=e[gx>>2],e[gx>>2]=e[Z0>>2],e[Z0>>2]=e[e0>>2],e[e0>>2]=e[J0>>2],p=e[ux>>2]|0}else c=c+15|0;while(!1);n0=q0+16|0,M0=e[xx>>2]|0,l=p^M0,e[q0>>2]=o0,e[q0+4>>2]=p|M0<<24,p=q0+14|0,c>>>0<16?(c=c&65535,o[p>>1]=c,p=0):(V0=c+-12|0,M0=((Ax(V0|0)|0)^31)+-1|0,rx=V0>>>M0&1,c=((M0<<1)+65534|rx)+16&65535,o[p>>1]=c,p=M0<<24|V0-((rx|2)<<M0)),e[q0+8>>2]=p,f=c<<16>>16==0,j=q0+12|0;do if(o0>>>0>=6){if(o0>>>0<130){M0=o0+-2|0,h=((Ax(M0|0)|0)^31)+-1|0,h=(h<<1)+(M0>>>h)+2&65535;break}if(o0>>>0<2114){h=((Ax(o0+-66|0)|0)^31)+10&65535;break}o0>>>0<6210?h=21:h=o0>>>0<22594?22:23}else h=o0&65535;while(!1);do if(l>>>0>=10){if(l>>>0<134){M0=l+-6|0,c=((Ax(M0|0)|0)^31)+-1|0,c=(c<<1)+(M0>>>c)+4&65535;break}l>>>0<2118?c=((Ax(l+-70|0)|0)^31)+12&65535:c=23}else c=l+65534&65535;while(!1);for(p=c&65535,l=h&65535,M=p&7|l<<3&56,f&(h&65535)<8&(c&65535)<16?c=((c&65535)<8?M:M|64)&65535:c=o[88156+((p>>>3)+((l>>>3)*3|0)<<1)>>1]|M&65535,o[j>>1]=c,e[a0>>2]=(e[a0>>2]|0)+o0,c=f0+(e[ux>>2]|0)|0,c=c>>>0<ue>>>0?c:ue,p=f0+2|0;!(p>>>0>=c>>>0);)rx=d+(p&w)|0,rx=(ix(s[rx>>0]|s[rx+1>>0]<<8|s[rx+2>>0]<<16|s[rx+3>>0]<<24,506832829)|0)>>>17,M0=k+(rx<<1)|0,e[k+65536+((_[M0>>1]&63|rx<<6)<<2)>>2]=p,o[M0>>1]=(o[M0>>1]|0)+1<<16>>16,p=p+1|0;p=f0+(e[ux>>2]|0)|0,q0=n0,c=0}e[s0>>2]=c+R0,e[x0>>2]=(e[x0>>2]|0)+(U0-$>>4),c0=fx}function BW(c,h,f,l,d,w,p,k,e0,s0,$,x0,a0,M,q,j,n0){c=c|0,h=h|0,f=f|0,l=l|0,d=d|0,w=w|0,p=p|0,k=k|0,e0=e0|0,s0=s0|0,$=$|0,x0=x0|0,a0=a0|0,M=M|0,q=q|0,j=j|0,n0=n0|0;var o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0,Cx=0,Qx=0,Wx=0,Hx=0,Rx=0,Lx=0,lx=0,kx=0,gx=0,ex=0,Z0=0,Kx=0,ee=0,ue=0,zx=0,Bx=0,ux=0,nx=0,fx=0,Nx=0,ae=0,Ox=0,px=0,ax=0,Ce=0,C0=0,se=0,Yx=0,dx=0;if(se=c0,c0=c0+12768|0,px=se+7760|0,fx=se+4928|0,Nx=se+2096|0,P0=se+12504|0,T0=se+10968|0,f0=se,u0=se+12248|0,p0=se+10456|0,D0=se+11544|0,E0=se+9048|0,y0=se+11480|0,g0=se+8920|0,Ox=se+8808|0,U0=se+8804|0,R0=se+8800|0,d>>>0>0|(d|0)==0&l>>>0>3221225471?(C0=vx(l|0,d|0,30)|0,C0=l&1073741823|((C0&1^1)<<30)+1073741824):C0=l,!w){f=e[j>>2]|0,n0=n0+(f>>>3)|0,x0=s[n0>>0]|0,f=Tx(3,0,f&7|0)|0,M=A0,f=x0|f,x0=n0,n[x0>>0]=f,n[x0+1>>0]=f>>8,n[x0+2>>0]=f>>16,n[x0+3>>0]=f>>24,n0=n0+4|0,n[n0>>0]=M,n[n0+1>>0]=M>>8,n[n0+2>>0]=M>>16,n[n0+3>>0]=M>>24,e[j>>2]=(e[j>>2]|0)+9&-8,c0=se;return}if(!(ED(h,f,l,d,w,$,x0)|0)){e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],If(p,h,C0,f,w,j,n0),c0=se;return}if(ax=n[n0>>0]|0,Ce=e[j>>2]|0,ae=k+4|0,l=e[ae>>2]|0,(l|0)>9)if((e[k>>2]|0)==2){for(o0=0;(o0|0)!=(x0|0);){do if((e[a0+(o0<<4)+4>>2]&16777215|0)!=0&&(_[a0+(o0<<4)+12>>1]|0)>127){if($=a0+(o0<<4)+14|0,l=o[$>>1]|0,(l&65535)>=16){if(d=a0+(o0<<4)+8|0,nx=e[d>>2]|0,ux=nx>>>24,l=((l&65535)+-12-(ux<<1)<<ux)+(nx&16777215)+12|0,l>>>0>=28){Bx=l+-20|0,zx=(Ax(Bx|0)|0)^31,nx=zx+-1|0,ux=Bx>>>nx&1,zx=zx+-2|0,o[$>>1]=(((zx<<1)+32766|ux)<<1)+28|Bx&1,e[d>>2]=zx<<24|(Bx-((ux|2)<<nx)|0)>>>1;break}}else d=a0+(o0<<4)+8|0,l=l&65535;o[$>>1]=l,e[d>>2]=0}while(!1);o0=o0+1|0}l=e[ae>>2]|0,d=1,$=12,w0=19}else nx=0,ux=0,w0=38;else d=0,$=0,w0=19;do if((w0|0)==19){if((l|0)>=3){if((l|0)>=4){nx=d,ux=$,w0=38;break}z5(p,w,j,n0),Gx(px|0,0,1028)|0,r0[px+1032>>3]=z0,Gx(fx|0,0,2820)|0,r0[fx+2824>>3]=z0,Gx(Nx|0,0,2084)|0,r0[Nx+2088>>3]=z0,sD(h,C0,f,a0,x0,px,fx,Nx),l=n0+((e[j>>2]|0)>>>3)|0,s0=s[l>>0]|0,d=l,n[d>>0]=s0,n[d+1>>0]=s0>>8,n[d+2>>0]=s0>>16,n[d+3>>0]=s0>>24,l=l+4|0,n[l>>0]=0,n[l+1>>0]=0,n[l+2>>0]=0,n[l+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,l=c+8|0,d=Px[e[c>>2]&1](e[l>>2]|0,11272)|0,d||Ix(1),ui(px,256,d,P0,T0,j,n0),ui(fx,704,d,D0,E0,j,n0),ui(Nx,64,d,y0,g0,j,n0),Ex[e[c+4>>2]&1](e[l>>2]|0,d),Y5(h,C0,f,a0,x0,P0,T0,D0,E0,y0,g0,j,n0),p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[n0+(x0>>>3)>>0]=0);break}if(z5(p,w,j,n0),s0=n0+((e[j>>2]|0)>>>3)|0,Ox=s[s0>>0]|0,e0=s0,n[e0>>0]=Ox,n[e0+1>>0]=Ox>>8,n[e0+2>>0]=Ox>>16,n[e0+3>>0]=Ox>>24,s0=s0+4|0,n[s0>>0]=0,n[s0+1>>0]=0,n[s0+2>>0]=0,n[s0+3>>0]=0,e[j>>2]=(e[j>>2]|0)+13,x0>>>0<129){for(Gx(px|0,0,1024)|0,$=0,o0=C0,p0=0;(p0|0)!=(x0|0);){for(l=e[a0+(p0<<4)>>2]|0,d=e[a0+(p0<<4)+4>>2]|0,f0=o0,u0=l;u0;)s0=px+((s[h+(f0&f)>>0]|0)<<2)|0,e[s0>>2]=(e[s0>>2]|0)+1,f0=f0+1|0,u0=u0+-1|0;$=$+l|0,o0=o0+l+(d&16777215)|0,p0=p0+1|0}Uo(c,px,$,8,P0,T0,j,n0),px=e[j>>2]|0,e0=n0+(px>>>3)|0,c=s[e0>>0]|0,px=Tx(372273155,9593412,px&7|0)|0,s0=A0,px=c|px,c=e0,n[c>>0]=px,n[c+1>>0]=px>>8,n[c+2>>0]=px>>16,n[c+3>>0]=px>>24,e0=e0+4|0,n[e0>>0]=s0,n[e0+1>>0]=s0>>8,n[e0+2>>0]=s0>>16,n[e0+3>>0]=s0>>24,e0=(e[j>>2]|0)+56|0,e[j>>2]=e0,e0=n0+(e0>>>3)|0,s0=s[e0>>0]|0,c=e0,n[c>>0]=s0,n[c+1>>0]=s0>>8,n[c+2>>0]=s0>>16,n[c+3>>0]=s0>>24,e0=e0+4|0,n[e0>>0]=0,n[e0+1>>0]=0,n[e0+2>>0]=0,n[e0+3>>0]=0,e0=(e[j>>2]|0)+3|0,e[j>>2]=e0,c=n0+(e0>>>3)|0,s0=s[c>>0]|0,e0=Tx(57269251,0,e0&7|0)|0,px=A0,e0=s0|e0,s0=c,n[s0>>0]=e0,n[s0+1>>0]=e0>>8,n[s0+2>>0]=e0>>16,n[s0+3>>0]=e0>>24,c=c+4|0,n[c>>0]=px,n[c+1>>0]=px>>8,n[c+2>>0]=px>>16,n[c+3>>0]=px>>24,e[j>>2]=(e[j>>2]|0)+28,Y5(h,C0,f,a0,x0,P0,T0,404412,86620,405116,88028,j,n0)}else Gx(fx|0,0,1028)|0,r0[fx+1032>>3]=z0,Gx(Nx|0,0,2820)|0,r0[Nx+2824>>3]=z0,Gx(f0|0,0,2084)|0,r0[f0+2088>>3]=z0,sD(h,C0,f,a0,x0,fx,Nx,f0),Uo(c,fx,e[fx+1024>>2]|0,8,u0,p0,j,n0),Uo(c,Nx,e[Nx+2816>>2]|0,10,D0,E0,j,n0),Uo(c,f0,e[f0+2080>>2]|0,6,y0,g0,j,n0),Y5(h,C0,f,a0,x0,u0,p0,D0,E0,y0,g0,j,n0);p&&(x0=(e[j>>2]|0)+7|0,e[j>>2]=x0&-8,n[n0+(x0>>>3)>>0]=0)}while(!1);if((w0|0)==38){Lx=Ox+8|0,lx=Ox+12|0,g0=Ox+24|0,Rx=Ox+28|0,e[Ox>>2]=0,e[Ox+4>>2]=0,e[Ox+8>>2]=0,e[Ox+12>>2]=0,e[Ox+16>>2]=0,e[Ox+20>>2]=0,e[Ox+24>>2]=0,kx=Ox+32|0,gx=Ox+36|0,y0=Ox+48|0,e[Rx>>2]=0,e[Rx+4>>2]=0,e[Rx+8>>2]=0,e[Rx+12>>2]=0,e[Rx+16>>2]=0,e[y0>>2]=0,Rx=Ox+52|0,ex=Ox+56|0,Z0=Ox+60|0,Kx=Ox+72|0,e[Rx>>2]=0,e[Rx+4>>2]=0,e[Rx+8>>2]=0,e[Rx+12>>2]=0,e[Rx+16>>2]=0,Rx=Ox+76|0,ee=Ox+80|0,ue=Ox+88|0,D0=Ox+92|0,zx=Ox+96|0,T0=Ox+100|0,Bx=Ox+104|0,P0=Ox+108|0,d=(l|0)<10,$=Kx,o0=$+40|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(o0|0));do if(d){if(e[U0>>2]=1,e[R0>>2]=0,!((l|0)<5|w>>>0<64)){p0=C0+w|0,$=Nx,o0=$+36|0;do e[$>>2]=0,$=$+4|0;while(($|0)<(o0|0));for(f0=C0;o0=f0+64|0,!(o0>>>0>p0>>>0);){for($=s[h+(f0&f)>>0]|0,d=f0;d=d+1|0,!(d>>>0>=o0>>>0);)Hx=s[h+(d&f)>>0]|0,Wx=Nx+(((e[18900+($>>>6<<2)>>2]|0)*3|0)+(e[18900+(Hx>>>6<<2)>>2]|0)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+1,$=Hx;f0=f0+4096|0}for(e[px>>2]=0,e[px+4>>2]=0,e[px+8>>2]=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[fx+20>>2]=0,d=0,E0=0;(d|0)!=9;)Hx=e[Nx+(d<<2)>>2]|0,Wx=px+(((d>>>0)%3|0)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+Hx,Wx=fx+((d>>>0>5?d+-6|0:d)<<2)|0,e[Wx>>2]=(e[Wx>>2]|0)+Hx,d=d+1|0,E0=E0+Hx|0;for(p0=px+12|0,f0=px,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,u0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=p0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=u0+d|0;for(u0?(S0=+(u0>>>0),u0>>>0<256?h0=+t0[19516+(u0<<2)>>2]:h0=+Xx(S0),G0=b0+S0*h0):G0=b0,w0=fx+12|0,f0=fx,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=w0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=p0+d|0;for(p0?(S0=+(p0>>>0),p0>>>0<256?h0=+t0[19516+(p0<<2)>>2]:h0=+Xx(S0),cx=b0+S0*h0):cx=b0,u0=fx+24|0,f0=w0,b0=0,d=0;o0=f0+4|0,$=e[f0>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),b0=b0-S0*h0,!(o0>>>0>=u0>>>0);)d=e[o0>>2]|0,h0=+(d>>>0),d>>>0<256?S0=+t0[19516+(d<<2)>>2]:S0=+Xx(h0),f0=f0+8|0,b0=b0-h0*S0,d=p0+d|0;for(p0?(S0=+(p0>>>0),p0>>>0<256?h0=+t0[19516+(p0<<2)>>2]:h0=+Xx(S0),V0=b0+S0*h0):V0=b0,q0=0,u0=0;(u0|0)!=3;){for($=u0*3|0,o0=Nx+($+3<<2)|0,$=Nx+($<<2)|0,b0=0,d=0;f0=$+4|0,$=e[$>>2]|0,p0=d+$|0,S0=+($>>>0),$>>>0<256?h0=+t0[19516+($<<2)>>2]:h0=+Xx(S0),h0=b0-S0*h0,!(f0>>>0>=o0>>>0);)d=e[f0>>2]|0,S0=+(d>>>0),d>>>0<256?b0=+t0[19516+(d<<2)>>2]:b0=+Xx(S0),$=f0+4|0,b0=h0-S0*b0,d=p0+d|0;p0&&(b0=+(p0>>>0),p0>>>0<256?S0=+t0[19516+(p0<<2)>>2]:S0=+Xx(b0),h0=h0+b0*S0),q0=q0+h0,u0=u0+1|0}E0||W0(406445,406053,339,406456),h0=1/+(E0>>>0),G0=G0*h0,S0=(cx+V0)*h0,h0=(l|0)<7?G0*10:q0*h0;do if(G0-S0<.2&G0-h0<.2)e[U0>>2]=1;else if(S0-h0<.02){e[U0>>2]=2,e[R0>>2]=18916;break}else{e[U0>>2]=3,e[R0>>2]=19172;break}while(!1);if(Hx=e[R0>>2]|0,Dx=Hx,Hx){for(Hx=e[U0>>2]|0,l=0,d=0;(d|0)!=(x0|0);)l=l+(e[a0+(d<<4)>>2]|0)|0,d=d+1|0;if(u0=(l>>>9)+1|0,e[px>>2]=256,e[px+4>>2]=Hx,w0=256/(Hx>>>0)|0,e[px+8>>2]=w0,e[px+12>>2]=512,r0[px+16>>3]=400,e[px+24>>2]=0,e[px+28>>2]=Ox,e[px+36>>2]=D0,Cx=px+40|0,e[Cx>>2]=512,Qx=px+44|0,e[Qx>>2]=0,Wx=px+48|0,e[Wx>>2]=0,e[px+64>>2]=0,w0=w0+1|0,w0=u0>>>0<w0>>>0?u0:w0,p0=Ox+16|0,l=e[p0>>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,$||Ix(1),o0=e[p0>>2]|0,l=Ox+8|0,o0&&$x($|0,e[l>>2]|0,o0|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}if(f0=Ox+20|0,l=e[f0>>2]|0,l>>>0<u0>>>0){for(o0=(l|0)==0?u0:l;!(o0>>>0>=u0>>>0);)o0=o0<<1;p0=c+8|0,d=Px[e[c>>2]&1](e[p0>>2]|0,o0<<2)|0,d||Ix(1),$=e[f0>>2]|0,l=Ox+12|0,$&&$x(d|0,e[l>>2]|0,$<<2|0)|0,Ex[e[c+4>>2]&1](e[p0>>2]|0,e[l>>2]|0),e[l>>2]=d,e[f0>>2]=o0,X0=c}else X0=c,p0=c+8|0;for(e[Ox+4>>2]=u0,l=Px[e[X0>>2]&1](e[p0>>2]|0,Hx<<4)|0,l||Ix(1),ox=px+60|0,e[ox>>2]=l,e[ue>>2]|0&&W0(407776,406802,255,407793),d=ix(w0,Hx)|0,e[D0>>2]=d,d=Px[e[X0>>2]&1](e[p0>>2]|0,d*1040|0)|0,l=d,d||Ix(1),e[ue>>2]=l,bx=px+32|0,e[bx>>2]=l,l=0;(l|0)!=(Hx|0);)Gx(d+(l*1040|0)|0,0,1024)|0,e[d+(l*1040|0)+1024>>2]=0,r0[d+(l*1040|0)+1032>>3]=z0,l=l+1|0;for(e[px+56>>2]=0,e[px+52>>2]=0,FD(c,fx,x0,g0,zx,T0),ID(c,Nx,x0,y0,Bx,P0),U0=fx+40|0,xx=fx+24|0,J0=fx+36|0,_x=fx+32|0,y0=Nx+40|0,T0=Nx+24|0,P0=Nx+36|0,k=Nx+32|0,$=C0,d=e0,l=s0,R0=0;(R0|0)!=(x0|0);){for(w0=e[a0+(R0<<4)>>2]|0,E0=e[a0+(R0<<4)+4>>2]|0,o0=e[a0+(R0<<4)+12>>2]|0,D0=o0&65535,g0=o0>>>16,u0=e[U0>>2]|0,f0=e[xx>>2]|0,o0=f0+(u0*2832|0)+((o0&65535)<<2)|0,e[o0>>2]=(e[o0>>2]|0)+1,u0=f0+(u0*2832|0)+2816|0,e[u0>>2]=(e[u0>>2]|0)+1,u0=(e[J0>>2]|0)+1|0,e[J0>>2]=u0,(u0|0)==(e[_x>>2]|0)?(Nf(fx,0),u0=$,f0=w0):(u0=$,f0=w0);f0;)o0=n[h+(u0&f)>>0]|0,l=(e[Wx>>2]|0)+(e[Dx+(((n[406969+(d&255)>>0]|n[406969+(l&255|256)>>0])&255)<<2)>>2]|0)|0,Yx=e[bx>>2]|0,dx=Yx+(l*1040|0)+((o0&255)<<2)|0,e[dx>>2]=(e[dx>>2]|0)+1,l=Yx+(l*1040|0)+1024|0,e[l>>2]=(e[l>>2]|0)+1,l=(e[Qx>>2]|0)+1|0,e[Qx>>2]=l,(l|0)==(e[Cx>>2]|0)&&RD(c,px,0),l=d,u0=u0+1|0,d=o0,f0=f0+-1|0;dx=E0&16777215,$=$+w0+dx|0;do if(dx){if(l=n[h+($+-2&f)>>0]|0,d=n[h+($+-1&f)>>0]|0,(D0&65535)<=127||(dx=e[y0>>2]|0,Yx=e[T0>>2]|0,g0=Yx+(dx*2096|0)+(g0<<2)|0,e[g0>>2]=(e[g0>>2]|0)+1,dx=Yx+(dx*2096|0)+2080|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[P0>>2]|0)+1|0,e[P0>>2]=dx,(dx|0)!=(e[k>>2]|0)))break;Lf(Nx,0)}while(!1);R0=R0+1|0}for(RD(c,px,1),Ex[e[c+4>>2]&1](e[p0>>2]|0,e[ox>>2]|0),e[ox>>2]=0,Nf(fx,1),Lf(Nx,1),e[Kx>>2]|0&&W0(406853,406802,473,407737),l=e[Ox>>2]|0,e[Rx>>2]=l<<6,l=Px[e[X0>>2]&1](e[p0>>2]|0,l<<8)|0,l||Ix(1),e[Kx>>2]=l,$=0;!($>>>0>=(e[Ox>>2]|0)>>>0);){for(l=ix($,Hx)|0,d=$<<6,o0=0;(o0|0)!=64;)e[(e[Kx>>2]|0)+(d+o0<<2)>>2]=l+(e[Dx+(o0<<2)>>2]|0),o0=o0+1|0;$=$+1|0}l=2;break}}for(l=0,d=0;(d|0)!=(x0|0);)l=l+(e[a0+(d<<4)>>2]|0)|0,d=d+1|0;if(w0=(l>>>9)+1|0,u0=w0>>>0<257?w0:257,e[px>>2]=256,e[px+4>>2]=512,r0[px+8>>3]=400,e[px+16>>2]=0,E0=px+20|0,e[E0>>2]=Ox,e[px+28>>2]=D0,xx=px+32|0,e[xx>>2]=512,J0=px+36|0,e[J0>>2]=0,_x=px+40|0,e[_x>>2]=0,e[px+72>>2]=0,p0=Ox+16|0,l=e[p0>>2]|0,l>>>0<w0>>>0){for(f0=(l|0)==0?w0:l;!(f0>>>0>=w0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0)|0,$||Ix(1),o0=e[p0>>2]|0,l=Ox+8|0,o0&&$x($|0,e[l>>2]|0,o0|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}if(p0=Ox+20|0,l=e[p0>>2]|0,l>>>0<w0>>>0){for(f0=(l|0)==0?w0:l;!(f0>>>0>=w0>>>0);)f0=f0<<1;d=c+8|0,$=Px[e[c>>2]&1](e[d>>2]|0,f0<<2)|0,$||Ix(1),o0=e[p0>>2]|0,l=Ox+12|0,o0&&$x($|0,e[l>>2]|0,o0<<2|0)|0,Ex[e[c+4>>2]&1](e[d>>2]|0,e[l>>2]|0),e[l>>2]=$,e[p0>>2]=f0}for(e[(e[E0>>2]|0)+4>>2]=w0,e[ue>>2]|0&&W0(407776,407818,70,407905),e[D0>>2]=u0,l=Px[e[c>>2]&1](e[c+8>>2]|0,u0*1040|0)|0,d=l,l||Ix(1),e[ue>>2]=d,U0=px+24|0,e[U0>>2]=d,Gx(l|0,0,1024)|0,e[l+1024>>2]=0,r0[l+1032>>3]=z0,e[px+48>>2]=0,e[px+44>>2]=0,FD(c,fx,x0,g0,zx,T0),ID(c,Nx,x0,y0,Bx,P0),p0=fx+40|0,u0=fx+24|0,w0=fx+36|0,E0=fx+32|0,D0=Nx+40|0,g0=Nx+24|0,y0=Nx+36|0,T0=Nx+32|0,l=C0,R0=0;(R0|0)!=(x0|0);){for($=e[a0+(R0<<4)>>2]|0,o0=e[a0+(R0<<4)+4>>2]|0,Rx=e[a0+(R0<<4)+12>>2]|0,P0=Rx&65535,k=Rx>>>16,dx=e[p0>>2]|0,Yx=e[u0>>2]|0,Rx=Yx+(dx*2832|0)+((Rx&65535)<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*2832|0)+2816|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[w0>>2]|0)+1|0,e[w0>>2]=dx,(dx|0)==(e[E0>>2]|0)?(Nf(fx,0),d=l,f0=$):(d=l,f0=$);f0;)dx=e[_x>>2]|0,Yx=e[U0>>2]|0,Rx=Yx+(dx*1040|0)+((s[h+(d&f)>>0]|0)<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*1040|0)+1024|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[J0>>2]|0)+1|0,e[J0>>2]=dx,(dx|0)==(e[xx>>2]|0)&&TD(px,0),d=d+1|0,f0=f0+-1|0;dx=o0&16777215,l=l+$+dx|0,(dx|0)!=0&(P0&65535)>127&&(dx=e[D0>>2]|0,Yx=e[g0>>2]|0,Rx=Yx+(dx*2096|0)+(k<<2)|0,e[Rx>>2]=(e[Rx>>2]|0)+1,dx=Yx+(dx*2096|0)+2080|0,e[dx>>2]=(e[dx>>2]|0)+1,dx=(e[y0>>2]|0)+1|0,e[y0>>2]=dx,(dx|0)==(e[T0>>2]|0))&&Lf(Nx,0),R0=R0+1|0}TD(px,1),Nf(fx,1),Lf(Nx,1),l=2}else l=$5(h,C0,f,w)|0,l=l?2:3,kD(c,h,C0,f,k,e0,s0,a0,x0,l,Ox);while(!1);(e[ae>>2]|0)>3&&OD(ux,nx,Ox),tD(c,h,C0,w,f,e0,s0,p,ux,nx,l,a0,x0,Ox,j,n0),Yx=c+4|0,dx=c+8|0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+8>>2]|0),e[Lx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[lx>>2]|0),e[lx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+32>>2]|0),e[kx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[gx>>2]|0),e[gx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Ox+56>>2]|0),e[ex>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Z0>>2]|0),e[Z0>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Kx>>2]|0),e[Kx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[ee>>2]|0),e[ee>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[ue>>2]|0),e[ue>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[zx>>2]|0),e[zx>>2]=0,Ex[e[Yx>>2]&1](e[dx>>2]|0,e[Bx>>2]|0),e[Bx>>2]=0}if((w+4|0)>>>0>=(e[j>>2]|0)>>>3>>>0){c0=se;return}e[q>>2]=e[M>>2],e[q+4>>2]=e[M+4>>2],e[q+8>>2]=e[M+8>>2],e[q+12>>2]=e[M+12>>2],n[n0>>0]=ax,e[j>>2]=Ce&255,If(p,h,C0,f,w,j,n0),c0=se}function vD(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 ED(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,s0=0,$=0,x0=0,a0=0,M=0,q=0;if(q=c0,c0=c0+1024|0,a0=q,((d>>>8)+2|0)>>>0>p>>>0&&(k=+(d>>>0),+(w>>>0)>k*.99)){for(Gx(a0|0,0,1024)|0,k=k*7.92,w=((d+12|0)>>>0)/13|0,l=f,p=0;!(p>>>0>=w>>>0);)f=a0+((s[c+(l&h)>>0]|0)<<2)|0,e[f>>2]=(e[f>>2]|0)+1,l=l+13|0,p=p+1|0;for(M=k/13,d=a0+1024|0,l=a0,k=0,f=0;!(l>>>0>=d>>>0);)p=e[l>>2]|0,e0=+(p>>>0),p>>>0<256?x0=+t0[19516+(p<<2)>>2]:x0=+Xx(e0),w=e[l+4>>2]|0,s0=+(w>>>0),w>>>0<256?$=+t0[19516+(w<<2)>>2]:$=+Xx(s0),l=l+8|0,k=k-e0*x0-s0*$,f=f+p+w|0;if(s0=+(f>>>0),f?(f>>>0<256?e0=+t0[19516+(f<<2)>>2]:e0=+Xx(s0),$=s0,k=k+s0*e0):$=s0,(k<$?$:k)>M)return a0=0,c0=q,a0|0}return a0=1,c0=q,a0|0}function AD(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&&W0(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 Ho(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0;for(p0=c0,c0=c0+16|0,n0=p0+8|0,o0=p0,j=1;;){w=h,q=0;x:for(;;){do{if(!w)break x;w=w+-1|0,p=e[c+(w<<2)>>2]|0}while((p|0)==0);e[l+(q<<3)>>2]=p>>>0>j>>>0?p:j,o[l+(q<<3)+4>>1]=-1,o[l+(q<<3)+6>>1]=w,q=q+1|0}if((q|0)==1)break;x:do if(q>>>0<13)for($=1;;){if($>>>0>=q>>>0)break x;for(s0=l+($<<3)|0,e0=e[s0>>2]|0,s0=e[s0+4>>2]|0,k=n0,e[k>>2]=e0,e[k+4>>2]=s0,k=$;w=k,k=k+-1|0,p=l+(k<<3)|0,!!(CD(n0,p)|0);)if(x0=p,a0=e[x0+4>>2]|0,M=l+(w<<3)|0,e[M>>2]=e[x0>>2],e[M+4>>2]=a0,!k){w=0;break}M=l+(w<<3)|0,e[M>>2]=e0,e[M+4>>2]=s0,$=$+1|0}else for(x0=q>>>0<57?2:0;;){if((x0|0)==6)break x;for(w=e[19428+(x0<<2)>>2]|0,a0=w;!(a0>>>0>=q>>>0);){for(k=l+(a0<<3)|0,p=e[k>>2]|0,k=e[k+4>>2]|0,$=o0,e[$>>2]=p,e[$+4>>2]=k,$=a0;!($>>>0<w>>>0||(e0=$-w|0,s0=l+(e0<<3)|0,!(CD(o0,s0)|0)));)u0=s0,s0=e[u0+4>>2]|0,M=l+($<<3)|0,e[M>>2]=e[u0>>2],e[M+4>>2]=s0,$=e0;u0=l+($<<3)|0,e[u0>>2]=p,e[u0+4>>2]=k,a0=a0+1|0}x0=x0+1|0}while(!1);for(s0=l+(q<<3)|0,e[s0>>2]=-1,e[s0+4>>2]=-1,s0=q+1|0,M=l+(s0<<3)|0,e[M>>2]=-1,e[M+4>>2]=-1,M=q<<1,e0=0,w=q;w=w+-1|0,!!w;)k=e[l+(e0<<3)>>2]|0,p=e[l+(s0<<3)>>2]|0,k>>>0>p>>>0?(a0=s0+1|0,p=e[l+(a0<<3)>>2]|0,x0=e0,$=s0):(x0=e0+1|0,k=e[l+(x0<<3)>>2]|0,a0=s0,$=e0),k>>>0>p>>>0?(e0=x0,s0=a0+1|0,k=a0):(p=k,e0=x0+1|0,s0=a0,k=x0),u0=M-w|0,e[l+(u0<<3)>>2]=(e[l+($<<3)>>2]|0)+p,o[l+(u0<<3)+4>>1]=$,o[l+(u0<<3)+6>>1]=k,u0=l+(u0+1<<3)|0,e[u0>>2]=-1,e[u0+4>>2]=-1;if(AD(M+-1|0,l,d,f)|0){f0=36;break}j=j<<1}if((f0|0)==36){c0=p0;return}n[d+(o[l+6>>1]|0)>>0]=1,c0=p0}function Z5(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,s0=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){s0=55;break}if(c=e0+-1|0,!(e[h+(c<<2)>>2]|0))e0=c;else break}if((s0|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(Gx(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,s0=29):c>>>0>4&&(w=0,s0=29);x:do if((s0|0)==29)for(;;){if(s0=0,(w|0)==(c|0))break x;n[f+(p-w+-1)>>0]=1,w=w+1|0,s0=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){s0=42;break}((e[h+(k<<2)>>2]<<8)-l+1240|0)>>>0>2479&&(s0=42)}else s0=42;while(!1);do if((s0|0)==42){s0=0,d>>>0<=3&&!(d>>>0>2&(c|0)==0)||(s0=44);x:do if((s0|0)==44)for(s0=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 fs(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,s0=0,$=0;s0=c0,c0=c0+64|0,w=s0+32|0,e0=s0,l=w,d=l+32|0;do o[l>>1]=0,l=l+2|0;while((l|0)<(d|0));for(l=0;(l|0)!=(h|0);)k=w+((s[c+l>>0]|0)<<1)|0,o[k>>1]=(o[k>>1]|0)+1<<16>>16,l=l+1|0;for(o[w>>1]=0,o[e0>>1]=0,l=0,d=1;;){if((d|0)==16){k=0;break}k=l+(_[w+(d+-1<<1)>>1]|0)<<1,o[e0+(d<<1)>>1]=k,l=k,d=d+1|0}for(;(k|0)!=(h|0);){if(l=n[c+k>>0]|0,l<<24>>24){for(d=l&255,l=e0+(d<<1)|0,w=o[l>>1]|0,o[l>>1]=w+1<<16>>16,l=w,w=e[19452+((w&15)<<2)>>2]|0,p=4;!(p>>>0>=d>>>0);)$=(l&65535)>>>4,l=$,w=w<<4|e[19452+(($&15)<<2)>>2],p=p+4|0;o[f+(k<<1)>>1]=w>>>(0-d&3)}k=k+1|0}c0=s0}function CD(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 SD(c,h){return c=c|0,h=h|0,x3(h)|0}function NW(c,h){c=c|0,h=h|0,_D(h)}function kD(c,h,f,l,d,w,p,k,e0,s0,$){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,s0=s0|0,$=$|0;var x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0,_x=0,Dx=0,bx=0,ox=0,cx=0,X0=0,G0=0;for(G0=c0,c0=c0+2096|0,ox=G0,mW(c,k,e0,h,f,l,d,$,$+24|0,$+48|0),X0=c+8|0,xx=Px[e[c>>2]&1](e[X0>>2]|0,e[$>>2]<<2)|0,xx||Ix(1),d=0;x0=e[$>>2]|0,!(d>>>0>=x0>>>0);)e[xx+(d<<2)>>2]=s0,d=d+1|0;for(Dx=$+48|0,a0=e[Dx>>2]|0,_x=Px[e[c>>2]&1](e[X0>>2]|0,x0*66560|0)|0,_x||Ix(1),d=x0<<6,s0=0;(s0|0)!=(d|0);)Gx(_x+(s0*1040|0)|0,0,1024)|0,e[_x+(s0*1040|0)+1024>>2]=0,r0[_x+(s0*1040|0)+1032>>3]=z0,s0=s0+1|0;for(M=$+96|0,e[M>>2]|0&&W0(406774,406802,70,406832),x0=e[$+24>>2]|0,d=$+100|0,e[d>>2]=x0,x0=Px[e[c>>2]&1](e[X0>>2]|0,x0*2832|0)|0,x0||Ix(1),e[M>>2]=x0,d=e[d>>2]|0,s0=0;(s0|0)!=(d|0);)Gx(x0+(s0*2832|0)|0,0,2816)|0,e[x0+(s0*2832|0)+2816>>2]=0,r0[x0+(s0*2832|0)+2824>>3]=z0,s0=s0+1|0;for(cx=Px[e[c>>2]&1](e[X0>>2]|0,a0*8384|0)|0,cx||Ix(1),d=a0<<2,s0=0;(s0|0)!=(d|0);)Gx(cx+(s0*2096|0)|0,0,2080)|0,e[cx+(s0*2096|0)+2080>>2]=0,r0[cx+(s0*2096|0)+2088>>3]=z0,s0=s0+1|0;for(d=e[$+12>>2]|0,d?a0=e[d>>2]|0:a0=0,d=e[$+36>>2]|0,d?s0=e[d>>2]|0:s0=0,d=e[$+60>>2]|0,d?d=e[d>>2]|0:d=0,V0=$+32|0,q0=$+36|0,b0=e[M>>2]|0,T0=$+8|0,P0=$+12|0,R0=$+56|0,U0=$+60|0,M=p,o0=0,x0=0,f0=0,n0=0,u0=0,p0=0,y0=0;(y0|0)!=(e0|0);){for(s0?g0=f0:(n0=n0+1|0,g0=s[(e[V0>>2]|0)+n0>>0]|0,s0=e[(e[q0>>2]|0)+(n0<<2)>>2]|0),E0=k+(y0<<4)+12|0,w0=b0+(g0*2832|0)+((_[E0>>1]|0)<<2)|0,e[w0>>2]=(e[w0>>2]|0)+1,w0=b0+(g0*2832|0)+2816|0,e[w0>>2]=(e[w0>>2]|0)+1,w0=e[k+(y0<<4)>>2]|0,S0=M,D0=u0,p=a0,u0=f,h0=w0;h0;){switch(p?(f0=D0,a0=p):(p0=p0+1|0,f0=s[(e[T0>>2]|0)+p0>>0]|0,a0=e[(e[P0>>2]|0)+(p0<<2)>>2]|0),p=a0+-1|0,M=f0<<6,e[xx+(f0<<2)>>2]|0){case 0:{a0=w&63;break}case 1:{a0=(w&255)>>>2;break}case 2:{a0=n[406969+(w&255)>>0]|n[406969+(S0&255|256)>>0];break}case 3:{a0=((s[407481+(w&255)>>0]|0)<<3)+(s[407481+(S0&255)>>0]|0)&255;break}default:a0=0}S0=M+(a0&255)|0,D0=h+(u0&l)|0,M=_x+(S0*1040|0)+((s[D0>>0]|0)<<2)|0,e[M>>2]=(e[M>>2]|0)+1,S0=_x+(S0*1040|0)+1024|0,e[S0>>2]=(e[S0>>2]|0)+1,S0=w,w=n[D0>>0]|0,D0=f0,u0=u0+1|0,h0=h0+-1|0}if(s0=s0+-1|0,h0=e[k+(y0<<4)+4>>2]&16777215,f=f+w0+h0|0,h0)if(u0=n[h+(f+-2&l)>>0]|0,w=n[h+(f+-1&l)>>0]|0,M=o[E0>>1]|0,(M&65535)>127){switch(d?f0=x0:(f0=x0+1|0,o0=s[(e[R0>>2]|0)+f0>>0]|0,d=e[(e[U0>>2]|0)+(f0<<2)>>2]|0),d=d+-1|0,a0=o0<<2,E0=M&65535,x0=E0&7,E0>>>6|0){case 7:case 4:case 2:case 0:{x0=x0>>>0<3?x0:3;break}default:x0=3}M=a0+x0|0,a0=cx+(M*2096|0)+((_[k+(y0<<4)+14>>1]|0)<<2)|0,e[a0>>2]=(e[a0>>2]|0)+1,M=cx+(M*2096|0)+2080|0,e[M>>2]=(e[M>>2]|0)+1,M=u0,a0=o0,x0=f0}else M=u0,a0=o0;else M=S0,a0=o0;o0=a0,f0=g0,u0=D0,a0=p,y0=y0+1|0}for(D0=c+4|0,Ex[e[D0>>2]&1](e[X0>>2]|0,xx),x0=$+72|0,e[x0>>2]|0&&W0(406853,406802,86,406832),d=e[$>>2]|0,s0=$+76|0,e[s0>>2]=d<<6,d=Px[e[c>>2]&1](e[X0>>2]|0,d<<8)|0,d||Ix(1),e[x0>>2]=d,d=$+88|0,e[d>>2]|0&&W0(406882,406802,92,406832),f=e[s0>>2]|0,E0=$+92|0,e[E0>>2]=f,f=Px[e[c>>2]&1](e[X0>>2]|0,f*1040|0)|0,f||Ix(1),e[d>>2]=f,w0=e[s0>>2]|0,d=e[x0>>2]|0,u0=w0<<2,p=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,p||Ix(1),h0=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,h0||Ix(1),M=Px[e[c>>2]&1](e[X0>>2]|0,49176)|0,M||Ix(1),s0=0;(s0|0)!=(w0|0);)e[p+(s0<<2)>>2]=1,s0=s0+1|0;for(S0=d,d=0;(d|0)!=(w0|0);)h=_x+(d*1040|0)|0,$x(f+(d*1040|0)|0,h|0,1040)|0,r0[f+(d*1040|0)+1032>>3]=+cs(h),e[S0+(d<<2)>>2]=d,d=d+1|0;for(a0=0,s0=0;!(w0>>>0<=s0>>>0);){for(d=w0-s0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[h0+(a0+x0<<2)>>2]=s0+x0,x0=x0+1|0;a0=a0+(Tf(f,p,S0+(s0<<2)|0,h0+(a0<<2)|0,M,d,d,256,2048)|0)|0,s0=s0+64|0}d=a0<<6,x0=ix(a0>>>1,a0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(s0=2048;!(s0>>>0>=d>>>0);)s0=s0<<1;if(d=Px[e[c>>2]&1](e[X0>>2]|0,s0*24|0)|0,!d)Ix(1);else{$x(d|0,M|0,49152)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,M),J0=d;break}}else J0=M;while(!1);for(p0=Tf(f,p,S0,h0,J0,a0,w0,256,x0)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,J0),Ex[e[D0>>2]&1](e[X0>>2]|0,p),w=ox+1024|0,n0=ox+1024|0,f0=0;;){if((f0|0)==(w0|0)){d=0;break}if(x0=e[((f0|0)==0?S0:S0+(f0+-1<<2)|0)>>2]|0,d=_x+(f0*1040|0)|0,o0=_x+(f0*1040|0)+1024|0,!(e[o0>>2]|0))q=0;else{for($x(ox|0,d|0,1040)|0,e[n0>>2]=(e[n0>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),s0=0;(s0|0)!=256;)J0=ox+(s0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[f+(x0*1040|0)+(s0<<2)>>2]|0),s0=s0+1|0;q=+cs(ox),q=q-+r0[f+(x0*1040|0)+1032>>3]}for(s0=x0,p=0;(p|0)!=(p0|0);){if(M=h0+(p<<2)|0,x0=e[M>>2]|0,!(e[o0>>2]|0))j=0;else{for($x(ox|0,d|0,1040)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*1040|0)+1024>>2]|0),a0=0;(a0|0)!=256;)J0=ox+(a0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[f+(x0*1040|0)+(a0<<2)>>2]|0),a0=a0+1|0;j=+cs(ox),j=j-+r0[f+(x0*1040|0)+1032>>3]}j<q&&(q=j,s0=e[M>>2]|0),p=p+1|0}e[S0+(f0<<2)>>2]=s0,f0=f0+1|0}for(;;){if((d|0)==(p0|0)){s0=0;break}J0=e[h0+(d<<2)>>2]|0,Gx(f+(J0*1040|0)|0,0,1024)|0,e[f+(J0*1040|0)+1024>>2]=0,r0[f+(J0*1040|0)+1032>>3]=z0,d=d+1|0}for(;(s0|0)!=(w0|0);){for(d=e[S0+(s0<<2)>>2]|0,x0=f+(d*1040|0)+1024|0,e[x0>>2]=(e[x0>>2]|0)+(e[_x+(s0*1040|0)+1024>>2]|0),x0=0;(x0|0)!=256;)J0=f+(d*1040|0)+(x0<<2)|0,e[J0>>2]=(e[J0>>2]|0)+(e[_x+(s0*1040|0)+(x0<<2)>>2]|0),x0=x0+1|0;s0=s0+1|0}for(Ex[e[D0>>2]&1](e[X0>>2]|0,h0),w=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,w||Ix(1),d=0;;){if((d|0)==(w0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(w0|0);)s0=w+(e[S0+(x0<<2)>>2]<<2)|0,(e[s0>>2]|0)==-1&&(e[s0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[X0>>2]|0,d*1040|0)|0,p||Ix(1),a0=0,M=0;(M|0)!=(w0|0);)x0=S0+(M<<2)|0,d=e[x0>>2]|0,s0=e[w+(d<<2)>>2]|0,(s0|0)==(a0|0)?($x(p+(a0*1040|0)|0,f+(d*1040|0)|0,1040)|0,s0=e[w+(e[x0>>2]<<2)>>2]|0,d=a0+1|0):d=a0,e[x0>>2]=s0,a0=d,M=M+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,w),d=0;(d|0)!=(a0|0);)$x(f+(d*1040|0)|0,p+(d*1040|0)|0,1040)|0,d=d+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,p),e[E0>>2]=a0,Ex[e[D0>>2]&1](e[X0>>2]|0,_x),x0=$+80|0,e[x0>>2]|0&&W0(406910,406802,106,406832),d=e[Dx>>2]|0,s0=$+84|0,e[s0>>2]=d<<2,d=Px[e[c>>2]&1](e[X0>>2]|0,d<<4)|0,d||Ix(1),e[x0>>2]=d,d=$+104|0,e[d>>2]|0&&W0(406940,406802,112,406832),f=e[s0>>2]|0,E0=$+108|0,e[E0>>2]=f,f=Px[e[c>>2]&1](e[X0>>2]|0,f*2096|0)|0,f||Ix(1),e[d>>2]=f,w0=e[s0>>2]|0,d=e[x0>>2]|0,u0=w0<<2,p=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,p||Ix(1),h0=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,h0||Ix(1),M=Px[e[c>>2]&1](e[X0>>2]|0,49176)|0,M||Ix(1),s0=0;(s0|0)!=(w0|0);)e[p+(s0<<2)>>2]=1,s0=s0+1|0;for(S0=d,d=0;(d|0)!=(w0|0);)$=cx+(d*2096|0)|0,$x(f+(d*2096|0)|0,$|0,2096)|0,r0[f+(d*2096|0)+2088>>3]=+us($),e[S0+(d<<2)>>2]=d,d=d+1|0;for(a0=0,s0=0;!(w0>>>0<=s0>>>0);){for(d=w0-s0|0,d=d>>>0<64?d:64,x0=0;(x0|0)!=(d|0);)e[h0+(a0+x0<<2)>>2]=s0+x0,x0=x0+1|0;a0=a0+(Rf(f,p,S0+(s0<<2)|0,h0+(a0<<2)|0,M,d,d,256,2048)|0)|0,s0=s0+64|0}d=a0<<6,x0=ix(a0>>>1,a0)|0,x0=d>>>0<x0>>>0?d:x0,d=x0+1|0;do if(d>>>0>2048){for(s0=2048;!(s0>>>0>=d>>>0);)s0=s0<<1;if(d=Px[e[c>>2]&1](e[X0>>2]|0,s0*24|0)|0,!d)Ix(1);else{$x(d|0,M|0,49152)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,M),bx=d;break}}else bx=M;while(!1);for(p0=Rf(f,p,S0,h0,bx,a0,w0,256,x0)|0,Ex[e[D0>>2]&1](e[X0>>2]|0,bx),Ex[e[D0>>2]&1](e[X0>>2]|0,p),w=ox+2080|0,n0=ox+2080|0,f0=0;;){if((f0|0)==(w0|0)){d=0;break}if(x0=e[((f0|0)==0?S0:S0+(f0+-1<<2)|0)>>2]|0,d=cx+(f0*2096|0)|0,o0=cx+(f0*2096|0)+2080|0,!(e[o0>>2]|0))q=0;else{for($x(ox|0,d|0,2096)|0,e[n0>>2]=(e[n0>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),s0=0;(s0|0)!=520;)bx=ox+(s0<<2)|0,e[bx>>2]=(e[bx>>2]|0)+(e[f+(x0*2096|0)+(s0<<2)>>2]|0),s0=s0+1|0;q=+us(ox),q=q-+r0[f+(x0*2096|0)+2088>>3]}for(s0=x0,p=0;(p|0)!=(p0|0);){if(M=h0+(p<<2)|0,x0=e[M>>2]|0,!(e[o0>>2]|0))j=0;else{for($x(ox|0,d|0,2096)|0,e[w>>2]=(e[w>>2]|0)+(e[f+(x0*2096|0)+2080>>2]|0),a0=0;(a0|0)!=520;)bx=ox+(a0<<2)|0,e[bx>>2]=(e[bx>>2]|0)+(e[f+(x0*2096|0)+(a0<<2)>>2]|0),a0=a0+1|0;j=+us(ox),j=j-+r0[f+(x0*2096|0)+2088>>3]}j<q&&(q=j,s0=e[M>>2]|0),p=p+1|0}e[S0+(f0<<2)>>2]=s0,f0=f0+1|0}for(;;){if((d|0)==(p0|0)){s0=0;break}ox=e[h0+(d<<2)>>2]|0,Gx(f+(ox*2096|0)|0,0,2080)|0,e[f+(ox*2096|0)+2080>>2]=0,r0[f+(ox*2096|0)+2088>>3]=z0,d=d+1|0}for(;(s0|0)!=(w0|0);){for(d=e[S0+(s0<<2)>>2]|0,x0=f+(d*2096|0)+2080|0,e[x0>>2]=(e[x0>>2]|0)+(e[cx+(s0*2096|0)+2080>>2]|0),x0=0;(x0|0)!=520;)ox=f+(d*2096|0)+(x0<<2)|0,e[ox>>2]=(e[ox>>2]|0)+(e[cx+(s0*2096|0)+(x0<<2)>>2]|0),x0=x0+1|0;s0=s0+1|0}for(Ex[e[D0>>2]&1](e[X0>>2]|0,h0),w=Px[e[c>>2]&1](e[X0>>2]|0,u0)|0,w||Ix(1),d=0;;){if((d|0)==(w0|0)){d=0,x0=0;break}e[w+(d<<2)>>2]=-1,d=d+1|0}for(;(x0|0)!=(w0|0);)s0=w+(e[S0+(x0<<2)>>2]<<2)|0,(e[s0>>2]|0)==-1&&(e[s0>>2]=d,d=d+1|0),x0=x0+1|0;for(p=Px[e[c>>2]&1](e[X0>>2]|0,d*2096|0)|0,p||Ix(1),a0=0,M=0;(M|0)!=(w0|0);)x0=S0+(M<<2)|0,d=e[x0>>2]|0,s0=e[w+(d<<2)>>2]|0,(s0|0)==(a0|0)?($x(p+(a0*2096|0)|0,f+(d*2096|0)|0,2096)|0,s0=e[w+(e[x0>>2]<<2)>>2]|0,d=a0+1|0):d=a0,e[x0>>2]=s0,a0=d,M=M+1|0;for(Ex[e[D0>>2]&1](e[X0>>2]|0,w),d=0;(d|0)!=(a0|0);)$x(f+(d*2096|0)|0,p+(d*2096|0)|0,2096)|0,d=d+1|0;Ex[e[D0>>2]&1](e[X0>>2]|0,p),e[E0>>2]=a0,Ex[e[D0>>2]&1](e[X0>>2]|0,cx),c0=G0}function OD(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);)Z5(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);)Z5(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);)Z5(w,(e[l>>2]|0)+(d*2096|0)|0,p),d=d+1|0;c0=k}function FD(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,s0=0,$=0,x0=0,a0=0,M=0;if(a0=(f>>>10)+1|0,x0=a0>>>0<257?a0:257,e[h>>2]=704,e[h+4>>2]=1024,r0[h+8>>3]=500,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=1024,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0)|0,k||Ix(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if($=l+20|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if(e[(e[M>>2]|0)+4>>2]=a0,e[d>>2]|0&&W0(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)Ix(1);else{e[d>>2]=p,e[h+24>>2]=p,Gx(f|0,0,2816)|0,e[f+2816>>2]=0,r0[f+2824>>3]=z0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function ID(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,s0=0,$=0,x0=0,a0=0,M=0;if(a0=(f>>>9)+1|0,x0=a0>>>0<257?a0:257,e[h>>2]=64,e[h+4>>2]=512,r0[h+8>>3]=100,e[h+16>>2]=0,M=h+20|0,e[M>>2]=l,e[h+28>>2]=w,e[h+32>>2]=512,e[h+36>>2]=0,e[h+40>>2]=0,e[h+72>>2]=0,$=l+16|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0)|0,k||Ix(1),e0=e[$>>2]|0,f=l+8|0,e0&&$x(k|0,e[f>>2]|0,e0|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if($=l+20|0,f=e[$>>2]|0,f>>>0<a0>>>0){for(s0=(f|0)==0?a0:f;!(s0>>>0>=a0>>>0);)s0=s0<<1;p=c+8|0,k=Px[e[c>>2]&1](e[p>>2]|0,s0<<2)|0,k||Ix(1),e0=e[$>>2]|0,f=l+12|0,e0&&$x(k|0,e[f>>2]|0,e0<<2|0)|0,Ex[e[c+4>>2]&1](e[p>>2]|0,e[f>>2]|0),e[f>>2]=k,e[$>>2]=s0}if(e[(e[M>>2]|0)+4>>2]=a0,e[d>>2]|0&&W0(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)Ix(1);else{e[d>>2]=p,e[h+24>>2]=p,Gx(f|0,0,2080)|0,e[f+2080>>2]=0,r0[f+2088>>3]=z0,e[h+48>>2]=0,e[h+44>>2]=0;return}}function TD(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+2112|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*1040|0)|0,s0=S0+(q*1040|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*1040|0)|0,S0+(q*1040|0)|0,1040)|0,k=f0+($*1040|0)+1024|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*1040|0)+1024>>2]|0),k=0;(k|0)!=256;)s0=f0+($*1040|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*1040|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*1040|0)|0,s0=f0+($*1040|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*1040|0)|0,0,1024)|0,e[S0+(f*1040|0)+1024>>2]=0,r0[S0+(f*1040|0)+1032>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*1040|0)|0,f0+1040|0,1040)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*1040|0)|0,0,1024)|0,e[S0+(b0*1040|0)+1024>>2]=0,r0[S0+(b0*1040|0)+1032>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*1040|0)|0,f0|0,1040)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*1040|0)|0,0,1024)|0,e[S0+(D0*1040|0)+1024>>2]=0,r0[S0+(D0*1040|0)+1032>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*1040|0)|0,0,1024)|0,e[x0+(f*1040|0)+1024>>2]=0,r0[x0+(f*1040|0)+1032>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function Nf(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+5696|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*2832|0)|0,s0=S0+(q*2832|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2832|0)|0,S0+(q*2832|0)|0,2832)|0,k=f0+($*2832|0)+2816|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*2832|0)+2816>>2]|0),k=0;(k|0)!=704;)s0=f0+($*2832|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*2832|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2832|0)|0,s0=f0+($*2832|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*2832|0)|0,0,2816)|0,e[S0+(f*2832|0)+2816>>2]=0,r0[S0+(f*2832|0)+2824>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*2832|0)|0,f0+2832|0,2832)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*2832|0)|0,0,2816)|0,e[S0+(b0*2832|0)+2816>>2]=0,r0[S0+(b0*2832|0)+2824>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*2832|0)|0,f0|0,2832)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*2832|0)|0,0,2816)|0,e[S0+(D0*2832|0)+2816>>2]=0,r0[S0+(D0*2832|0)+2824>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*2832|0)|0,0,2816)|0,e[x0+(f*2832|0)+2816>>2]=0,r0[x0+(f*2832|0)+2824>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function Lf(c,h){c=c|0,h=h|0;var f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0;T0=c0,c0=c0+4224|0,f0=T0+32|0,o0=T0+16|0,p0=T0,g0=e[c+20>>2]|0,D0=c+56|0,f=e[c+24>>2]|0,b0=c+36|0,y0=e[b0>>2]|0,w0=c+4|0,h0=e[w0>>2]|0,h0=y0>>>0>h0>>>0?y0:h0,e[b0>>2]=h0,y0=c+16|0,n0=e[y0>>2]|0;do if(n0){if(h0){for(E0=c+40|0,q=e[E0>>2]|0,S0=f,x0=e[c>>2]|0,f=S0+(q*2096|0)|0,s0=S0+(q*2096|0)+(x0<<2)|0,M=(x0&1|0)==0,M?(l=0,e0=0):(w=0,e0=0,u0=27);(u0|0)==27&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=27;for(p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,a0=l<w?w:l,$=0;($|0)!=2;){for(f=e[c+44+($<<2)>>2]|0,$x(f0+($*2096|0)|0,S0+(q*2096|0)|0,2096)|0,k=f0+($*2096|0)+2080|0,e[k>>2]=(e[k>>2]|0)+(e[S0+(f*2096|0)+2080>>2]|0),k=0;(k|0)!=520;)s0=f0+($*2096|0)+(k<<2)|0,e[s0>>2]=(e[s0>>2]|0)+(e[S0+(f*2096|0)+(k<<2)>>2]|0),k=k+1|0;for(f=f0+($*2096|0)|0,s0=f0+($*2096|0)+(x0<<2)|0,M?(l=0,e0=0):(w=0,e0=0,u0=47);(u0|0)==47&&(u0=0,k=e[f>>2]|0,l=+(k>>>0),k>>>0<256?d=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=47;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,p=l<w?w:l,r0[o0+($<<3)>>3]=p,r0[p0+($<<3)>>3]=p-a0-+r0[c+56+($<<3)>>3],$=$+1|0}if(f=g0,l=+r0[p0>>3],(e[f>>2]|0)>>>0<256&&(j=+r0[c+8>>3],l>j)&&+r0[p0+8>>3]>j){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n[(e[f+8>>2]|0)+(e[y0>>2]|0)>>0]=e[f>>2],h0=c+44|0,e[c+48>>2]=e[h0>>2],e[h0>>2]=e[f>>2]&255,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=a0,e[y0>>2]=(e[y0>>2]|0)+1,e[f>>2]=(e[f>>2]|0)+1,f=(e[E0>>2]|0)+1|0,e[E0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(S0+(f*2096|0)|0,0,2080)|0,e[S0+(f*2096|0)+2080>>2]=0,r0[S0+(f*2096|0)+2088>>3]=z0),e[b0>>2]=0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}if(+r0[p0+8>>3]<l+-20){e[(e[f+12>>2]|0)+(n0<<2)>>2]=h0,n0=e[y0>>2]|0,p0=e[f+8>>2]|0,n[p0+n0>>0]=n[p0+(n0+-2)>>0]|0,n0=c+44|0,p0=e[n0>>2]|0,u0=c+48|0,h0=e[u0>>2]|0,e[n0>>2]=h0,e[u0>>2]=p0,$x(S0+(h0*2096|0)|0,f0+2096|0,2096)|0,r0[c+64>>3]=+r0[D0>>3],r0[D0>>3]=+r0[o0+8>>3],e[y0>>2]=(e[y0>>2]|0)+1,e[b0>>2]=0,b0=e[E0>>2]|0,Gx(S0+(b0*2096|0)|0,0,2080)|0,e[S0+(b0*2096|0)+2080>>2]=0,r0[S0+(b0*2096|0)+2088>>3]=z0,e[c+72>>2]=0,e[c+32>>2]=e[w0>>2];break}u0=(e[f+12>>2]|0)+(n0+-1<<2)|0,e[u0>>2]=(e[u0>>2]|0)+h0,$x(S0+((e[c+44>>2]|0)*2096|0)|0,f0|0,2096)|0,l=+r0[o0>>3],r0[D0>>3]=l,(e[f>>2]|0)==1&&(r0[c+64>>3]=l),e[b0>>2]=0,D0=e[E0>>2]|0,Gx(S0+(D0*2096|0)|0,0,2080)|0,e[S0+(D0*2096|0)+2080>>2]=0,r0[S0+(D0*2096|0)+2088>>3]=z0,D0=c+72|0,b0=(e[D0>>2]|0)+1|0,e[D0>>2]=b0,b0>>>0>1&&(b0=c+32|0,e[b0>>2]=(e[b0>>2]|0)+(e[w0>>2]|0))}}else{for($=g0,e[e[$+12>>2]>>2]=h0,n[e[$+8>>2]>>0]=0,x0=f,E0=e[c>>2]|0,s0=x0+(E0<<2)|0,E0&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=+t0[19516+(k<<2)>>2]:d=+Xx(l),f=f+4|0,l=w-l*d,e0=e0+k|0),!(f>>>0>=s0>>>0);)k=e[f>>2]|0,d=+(k>>>0),k>>>0<256?w=+t0[19516+(k<<2)>>2]:w=+Xx(d),f=f+4|0,w=l-d*w,e0=e0+k|0,u0=8;p=+(e0>>>0),e0?(e0>>>0<256?d=+t0[19516+(e0<<2)>>2]:d=+Xx(p),w=p,l=l+p*d):w=p,j=l<w?w:l,r0[D0>>3]=j,r0[c+64>>3]=j,e[y0>>2]=(e[y0>>2]|0)+1,e[$>>2]=(e[$>>2]|0)+1,D0=c+40|0,f=(e[D0>>2]|0)+1|0,e[D0>>2]=f,f>>>0<(e[e[c+28>>2]>>2]|0)>>>0&&(Gx(x0+(f*2096|0)|0,0,2080)|0,e[x0+(f*2096|0)+2080>>2]=0,r0[x0+(f*2096|0)+2088>>3]=z0),e[b0>>2]=0}while(!1);if(!h){c0=T0;return}h=g0,e[e[c+28>>2]>>2]=e[h>>2],e[h+4>>2]=e[y0>>2],c0=T0}function RD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0;if(V0=c0,c0=c0+16|0,p0=V0,P0=e[h+28>>2]|0,b0=h+4|0,R0=e[b0>>2]|0,p=e[h+60>>2]|0,y0=h+32|0,w=e[y0>>2]|0,U0=h+44|0,d=e[U0>>2]|0,D0=h+12|0,l=e[D0>>2]|0,d>>>0<l>>>0?e[U0>>2]=l:l=d,T0=h+24|0,e[T0>>2]|0){if(l){for(S0=c+8|0,w0=Px[e[c>>2]&1](e[S0>>2]|0,R0<<3)|0,w0||Ix(1),E0=Px[e[c>>2]&1](e[S0>>2]|0,R0*2080|0)|0,E0||Ix(1),h0=Px[e[c>>2]&1](e[S0>>2]|0,R0<<4)|0,h0||Ix(1),e[p0>>2]=0,e[p0+4>>2]=0,e[p0+8>>2]=0,e[p0+12>>2]=0,u0=h+48|0,o0=0;(o0|0)!=(R0|0);){for(M=(e[u0>>2]|0)+o0|0,n0=e[h>>2]|0,l=w+(M*1040|0)|0,a0=w+(M*1040|0)+(n0<<2)|0,n0&1?(s0=0,x0=0,g0=42):(k=0,x0=0);(g0|0)==42&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,x0=x0+d|0),!(l>>>0>=a0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,x0=x0+d|0,g0=42;for(s0=+(x0>>>0),x0?(x0>>>0<256?e0=+t0[19516+(x0<<2)>>2]:e0=+Xx(s0),$=s0,k=k+s0*e0):$=s0,n0=w0+(o0<<3)|0,r0[n0>>3]=k<$?$:k,M=w+(M*1040|0)|0,j=0;(j|0)!=2;){for(q=(ix(j,R0)|0)+o0|0,l=(e[h+52+(j<<2)>>2]|0)+o0|0,$x(E0+(q*1040|0)|0,M|0,1040)|0,d=E0+(q*1040|0)+1024|0,e[d>>2]=(e[d>>2]|0)+(e[w+(l*1040|0)+1024>>2]|0),d=0;(d|0)!=256;)a0=E0+(q*1040|0)+(d<<2)|0,e[a0>>2]=(e[a0>>2]|0)+(e[w+(l*1040|0)+(d<<2)>>2]|0),d=d+1|0;for(x0=e[h>>2]|0,l=E0+(q*1040|0)|0,a0=E0+(q*1040|0)+(x0<<2)|0,x0&1?(s0=0,x0=0,g0=62):(k=0,x0=0);(g0|0)==62&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,x0=x0+d|0),!(l>>>0>=a0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,x0=x0+d|0,g0=62;$=+(x0>>>0),x0?(x0>>>0<256?e0=+t0[19516+(x0<<2)>>2]:e0=+Xx($),s0=$,k=k+$*e0):s0=$,$=k<s0?s0:k,r0[h0+(q<<3)>>3]=$,a0=p0+(j<<3)|0,r0[a0>>3]=+r0[a0>>3]+($-+r0[n0>>3]-+r0[p+(q<<3)>>3]),j=j+1|0}o0=o0+1|0}if(x0=P0,k=+r0[p0>>3],(e[x0>>2]|0)>>>0<(e[h+8>>2]|0)>>>0&&(f0=+r0[h+16>>3],k>f0)&&+r0[p0+8>>3]>f0){for(e[(e[x0+12>>2]|0)+(e[T0>>2]<<2)>>2]=e[U0>>2],n[(e[x0+8>>2]|0)+(e[T0>>2]|0)>>0]=e[x0>>2],l=h+52|0,e[h+56>>2]=e[l>>2],e[l>>2]=ix(e[x0>>2]|0,R0)|0,l=0;(l|0)!=(R0|0);)p0=p+(l<<3)|0,r0[p+(R0+l<<3)>>3]=+r0[p0>>3],r0[p0>>3]=+r0[w0+(l<<3)>>3],l=l+1|0;e[T0>>2]=(e[T0>>2]|0)+1,e[x0>>2]=(e[x0>>2]|0)+1,p=(e[u0>>2]|0)+R0|0,e[u0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[b0>>2]|0,d=0;;){if((d|0)==(l|0))break x;b0=p+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0}while(!1);e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[D0>>2]}else g0=84;do if((g0|0)==84){if(l=e[U0>>2]|0,d=e[T0>>2]|0,+r0[p0+8>>3]<k+-20){for(e[(e[x0+12>>2]|0)+(d<<2)>>2]=l,l=e[T0>>2]|0,b0=e[x0+8>>2]|0,n[b0+l>>0]=n[b0+(l+-2)>>0]|0,l=h+52|0,b0=e[l>>2]|0,d=h+56|0,e[l>>2]=e[d>>2],e[d>>2]=b0,d=0;(d|0)!=(R0|0);)y0=R0+d|0,$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,E0+(y0*1040|0)|0,1040)|0,b0=p+(d<<3)|0,r0[p+(y0<<3)>>3]=+r0[b0>>3],r0[b0>>3]=+r0[h0+(y0<<3)>>3],b0=(e[u0>>2]|0)+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0;e[T0>>2]=(e[T0>>2]|0)+1,e[U0>>2]=0,e[h+64>>2]=0,e[h+40>>2]=e[D0>>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)!=(R0|0);)$x(w+(((e[l>>2]|0)+d|0)*1040|0)|0,E0+(d*1040|0)|0,1040)|0,k=+r0[h0+(d<<3)>>3],r0[p+(d<<3)>>3]=k,(e[x0>>2]|0)==1&&(r0[p+(R0+d<<3)>>3]=k),b0=(e[u0>>2]|0)+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0;e[U0>>2]=0,b0=h+64|0,U0=(e[b0>>2]|0)+1|0,e[b0>>2]=U0,U0>>>0>1&&(U0=h+40|0,e[U0>>2]=(e[U0>>2]|0)+(e[D0>>2]|0))}while(!1);U0=c+4|0,Ex[e[U0>>2]&1](e[S0>>2]|0,h0),Ex[e[U0>>2]&1](e[S0>>2]|0,E0),Ex[e[U0>>2]&1](e[S0>>2]|0,w0)}}else{for(q=P0,e[e[q+12>>2]>>2]=l,n[e[q+8>>2]>>0]=0,M=w,a0=0;(a0|0)!=(R0|0);){for(c=e[h>>2]|0,l=M+(a0*1040|0)|0,x0=M+(a0*1040|0)+(c<<2)|0,c&1?(s0=0,w=0,g0=12):(k=0,w=0);(g0|0)==12&&(g0=0,d=e[l>>2]|0,k=+(d>>>0),d>>>0<256?e0=+t0[19516+(d<<2)>>2]:e0=+Xx(k),l=l+4|0,k=s0-k*e0,w=w+d|0),!(l>>>0>=x0>>>0);)d=e[l>>2]|0,e0=+(d>>>0),d>>>0<256?s0=+t0[19516+(d<<2)>>2]:s0=+Xx(e0),l=l+4|0,s0=k-e0*s0,w=w+d|0,g0=12;$=+(w>>>0),w?(w>>>0<256?e0=+t0[19516+(w<<2)>>2]:e0=+Xx($),s0=$,k=k+$*e0):s0=$,f0=k<s0?s0:k,r0[p+(a0<<3)>>3]=f0,r0[p+(R0+a0<<3)>>3]=f0,a0=a0+1|0}e[T0>>2]=(e[T0>>2]|0)+1,e[q>>2]=(e[q>>2]|0)+1,g0=h+48|0,p=(e[g0>>2]|0)+R0|0,e[g0>>2]=p;x:do if(p>>>0<(e[e[h+36>>2]>>2]|0)>>>0)for(w=e[y0>>2]|0,l=e[b0>>2]|0,d=0;;){if((d|0)==(l|0))break x;b0=p+d|0,Gx(w+(b0*1040|0)|0,0,1024)|0,e[w+(b0*1040|0)+1024>>2]=0,r0[w+(b0*1040|0)+1032>>3]=z0,d=d+1|0}while(!1);e[U0>>2]=0}if(!f){c0=V0;return}f=P0,U0=ix(e[f>>2]|0,R0)|0,e[e[h+36>>2]>>2]=U0,e[f+4>>2]=e[T0>>2],c0=V0}function PD(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0;n0=c,w=o[88430+((ix(s[c>>0]|s[c+1>>0]<<8|s[c+2>>0]<<16|s[c+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,E0=c+1|0,S0=E0,p=w<<16>>16==0&1,d=0,w=w&65535;x:for(;!(p<<24>>24);){if(o0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,a0=1<<j,p=(k&255)>>>7,w<<24>>24){if(a0=w<<24>>24!=10,q>>>0>f>>>0){h0=d,w=o0,d=h0;continue}x0=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,w=280811+x0|0;e:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+q|0,k=c+(q+-4)|0,s0=0,w=n0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+(x0+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){h0=d,w=o0,d=h0;continue x}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){h0=d,w=o0,d=h0;continue x}if((w&255^32|0)!=(s[c>>0]|0)){h0=d,w=o0,d=h0;continue x}for($=x0+1|0,x0=c+q|0,k=c+(q+-4)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+($+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q+-1|0)){h0=d,w=o0,d=h0;continue x}break}default:for(k=0;;){if(k>>>0>=q>>>0)break e;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+k>>0]|0)){h0=d,w=o0,d=h0;continue x}}else if(w<<24>>24!=(n[c+k>>0]|0)){h0=d,w=o0,d=h0;continue x}k=k+1|0}}while(!1);if(h0=(M+((a0?44:9)<<j)<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=q+1|0,d>>>0>=f>>>0){d=1,w=o0;continue}switch(n[c+q>>0]|0){case 32:{w=(M+(((a0&1)<<6|4)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 34:{if(u0=(M+((a0?87:66)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=62){d=1,w=o0;continue x}w=(M+((a0?97:69)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 46:{if(u0=(M+((a0?101:79)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=o0;continue x}w=(M+((a0?114:88)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 44:{if(u0=(M+((a0?112:99)<<j)<<5)+q|0,h0=l+(d<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){d=1,w=o0;continue x}w=(M+((a0?107:58)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 39:{w=(M+((a0?94:74)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 40:{w=(M+((a0?113:78)<<j)<<5)+q|0,d=l+(d<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{w=(M+((a0&1|104)<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}case 39:{w=(M+(((a0&1)<<3)+108<<j)<<5)+q|0,d=l+(q+2<<2)|0,h0=e[d>>2]|0,e[d>>2]=h0>>>0<w>>>0?h0:w,d=1,w=o0;continue x}default:{d=1,w=o0;continue x}}default:{d=1,w=o0;continue x}}}for($=(e[11272+(q<<2)>>2]|0)+(ix(q,M)|0)|0,k=q>>>0<f>>>0?q:f,x0=c+k|0,k=c+(k+-4)|0,s0=0,w=n0;e0=w,!(e0>>>0>k>>>0||(u0=w,h0=280811+($+s0)|0,(s[u0>>0]|s[u0+1>>0]<<8|s[u0+2>>0]<<16|s[u0+3>>0]<<24|0)!=(s[h0>>0]|s[h0+1>>0]<<8|s[h0+2>>0]<<16|s[h0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;for((s0|0)==(q|0)&&(h0=(M<<5)+q|0,d=l+(q<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=1),w=q+-1|0,s0>>>0>=w>>>0&&(u0=(M+(12<<j)<<5)+q|0,h0=l+(w<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,h0=q+2|0,h0>>>0<f>>>0&&(n[c+w>>0]|0)==105&&(n[c+q>>0]|0)==110&&(n[c+(q+1)>>0]|0)==103&&(n[c+h0>>0]|0)==32&&(h0=(M+(49<<j)<<5)+q|0,d=l+(q+3<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0),d=1),q>>>0>9?(w=q+-9|0,w=w>>>0<h>>>0?h:w):w=h,k=q+-2|0,k=s0>>>0<k>>>0?s0:k;!(w>>>0>k>>>0);)h0=(M+(s[407930+(q-w)>>0]<<j)<<5)+q|0,d=l+(w<<2)|0,u0=e[d>>2]|0,e[d>>2]=u0>>>0<h0>>>0?u0:h0,d=1,w=w+1|0;if(s0>>>0<q>>>0){w=o0;continue}if(w=q+6|0,w>>>0>=f>>>0){w=o0;continue}do switch(n[c+q>>0]|0){case 32:switch(u0=(M+a0<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,n[c+(q+1)>>0]|0){case 97:switch(n[c+(q+2)>>0]|0){case 32:{h0=(M+(28<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(46<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 116:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(60<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=100){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(10<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 98:{if((n[c+(q+2)>>0]|0)!=121){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(38<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:switch(n[c+(q+2)>>0]|0){case 110:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(a0<<4)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(47<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 102:{switch(n[c+(q+2)>>0]|0){case 111:{if((n[c+(q+3)>>0]|0)!=114){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(25<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 114:break;default:{w=o0;continue x}}if((n[c+(q+3)>>0]|0)!=111){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=109){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(37<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 111:switch(n[c+(q+2)>>0]|0){case 102:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(a0<<3)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 110:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(45<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 110:{if((n[c+(q+2)>>0]|0)!=111){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(80<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 116:{switch(n[c+(q+2)>>0]|0){case 104:break;case 111:{if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(17<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}switch(n[c+(q+3)>>0]|0){case 101:{if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(5<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 97:break;default:{w=o0;continue x}}if((n[c+(q+4)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(29<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 119:{if((n[c+(q+2)>>0]|0)!=105){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=104){w=o0;continue x}if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(35<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 34:{if(u0=(M+(19<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=62){w=o0;continue x}h0=(M+(21<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 46:{if(u0=(M+(20<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){w=o0;continue x}if(u0=(M+(31<<j)<<5)+q|0,h0=l+(q+2<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+2)>>0]|0)!=84){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=104){w=o0;continue x}switch(n[c+(q+4)>>0]|0){case 101:{if((n[c+(q+5)>>0]|0)!=32){w=o0;continue x}h0=(M+(43<<j)<<5)+q|0,w=l+(w<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:break;default:{w=o0;continue x}}if((n[c+(q+5)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+6)>>0]|0)!=32){w=o0;continue x}h0=(M+(75<<j)<<5)+q|0,w=l+(q+7<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 44:{if(u0=(M+(76<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=32){w=o0;continue x}h0=(M+(14<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 10:{if(u0=(M+(22<<j)<<5)+q|0,h0=l+(q+1<<2)|0,p0=e[h0>>2]|0,e[h0>>2]=p0>>>0<u0>>>0?p0:u0,(n[c+(q+1)>>0]|0)!=9){w=o0;continue x}h0=(M+(50<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 93:{h0=(M+(24<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 39:{h0=(M+(36<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 58:{h0=(M+(51<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 40:{h0=(M+(57<<j)<<5)+q|0,w=l+(q+1<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 61:switch(n[c+(q+1)>>0]|0){case 34:{h0=(M+(70<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 39:{h0=(M+(86<<j)<<5)+q|0,w=l+(q+2<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 97:{if((n[c+(q+1)>>0]|0)!=108){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(84<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 101:switch(n[c+(q+1)>>0]|0){case 100:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(53<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 114:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(82<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 115:{if((n[c+(q+2)>>0]|0)!=116){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(95<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 102:{if((n[c+(q+1)>>0]|0)!=117){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=108){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(90<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 105:switch(n[c+(q+1)>>0]|0){case 118:{if((n[c+(q+2)>>0]|0)!=101){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(92<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 122:{if((n[c+(q+2)>>0]|0)!=101){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(100<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}case 108:{switch(n[c+(q+1)>>0]|0){case 101:break;case 121:{if((n[c+(q+2)>>0]|0)!=32){w=o0;continue x}h0=(M+(61<<j)<<5)+q|0,w=l+(q+3<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}if((n[c+(q+2)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+4)>>0]|0)!=32){w=o0;continue x}h0=(M+(93<<j)<<5)+q|0,w=l+(q+5<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}case 111:{if((n[c+(q+1)>>0]|0)!=117){w=o0;continue x}if((n[c+(q+2)>>0]|0)!=115){w=o0;continue x}if((n[c+(q+3)>>0]|0)!=32){w=o0;continue x}h0=(M+(106<<j)<<5)+q|0,w=l+(q+4<<2)|0,u0=e[w>>2]|0,e[w>>2]=u0>>>0<h0>>>0?u0:h0,w=o0;continue x}default:{w=o0;continue x}}while(!1)}if(f>>>0<=4)return f=d,f=f&1,f=f<<24>>24!=0,f|0;h0=n[c>>0]|0,o0=h0<<24>>24==32;x:do switch(h0<<24>>24){case 32:case 46:{w=o[88430+((ix(s[E0>>0]|s[E0+1>>0]<<8|s[E0+2>>0]<<16|s[E0+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,h=f+-1|0,f0=o0?6:32,p0=o0?2:77,u0=o0?89:67,h0=c+2|0,p=w<<16>>16==0&1,w=w&65535;e:for(;;){if(p<<24>>24)break x;if(n0=w+1|0,k=153966+(w<<2)|0,k=_[k>>1]|_[k+2>>1]<<16,w=k>>>8&255,M=k>>>16,q=k&127,j=s[280786+q>>0]|0,p=(k&255)>>>7,!(w<<24>>24)){if(q>>>0>h>>>0){j=d,w=n0,d=j;continue}for($=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,x0=c+(q+1)|0,k=c+(q+-3)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(D0=w,a0=280811+($+s0)|0,(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)!=(s[a0>>0]|s[a0+1>>0]<<8|s[a0+2>>0]<<16|s[a0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=x0>>>0||(n[280811+($+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){D0=d,w=n0,d=D0;continue}if(d=q+1|0,D0=(M+(f0<<j)<<5)+q|0,w=l+(d<<2)|0,a0=e[w>>2]|0,e[w>>2]=a0>>>0<D0>>>0?a0:D0,w=q+2|0,w>>>0>=f>>>0){d=1,w=n0;continue}switch(d=n[c+d>>0]|0,d<<24>>24){case 32:{D0=(M+(p0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<D0>>>0?w:D0,d=1,w=n0;continue e}case 40:{D0=(M+(u0<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<D0>>>0?w:D0,d=1,w=n0;continue e}default:{if(!o0){d=1,w=n0;continue e}switch(d<<24>>24){case 44:{if(a0=(M+(103<<j)<<5)+q|0,D0=l+(w<<2)|0,x0=e[D0>>2]|0,e[D0>>2]=x0>>>0<a0>>>0?x0:a0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+(33<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 46:{if(a0=(M+(71<<j)<<5)+q|0,D0=l+(w<<2)|0,x0=e[D0>>2]|0,e[D0>>2]=x0>>>0<a0>>>0?x0:a0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+(52<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(81<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}case 39:{w=(M+(98<<j)<<5)+q|0,d=l+(q+3<<2)|0,D0=e[d>>2]|0,e[d>>2]=D0>>>0<w>>>0?D0:w,d=1,w=n0;continue e}default:{d=1,w=n0;continue e}}default:{d=1,w=n0;continue e}}}}}if(!o0){D0=d,w=n0,d=D0;continue}if(a0=w<<24>>24!=10,q>>>0>h>>>0){D0=d,w=n0,d=D0;continue}x0=(e[11272+(q<<2)>>2]|0)+(ix(q,k>>>16)|0)|0,w=280811+x0|0;t:do switch((k>>>8&255)<<24>>24){case 0:{for($=c+(q+1)|0,k=c+(q+-3)|0,s0=0,w=S0;e0=w,!(e0>>>0>k>>>0||(g0=w,D0=280811+(x0+s0)|0,(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)!=(s[D0>>0]|s[D0+1>>0]<<8|s[D0+2>>0]<<16|s[D0+3>>0]<<24|0)));)s0=s0+4|0,w=e0+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(x0+s0)>>0]|0)!=(n[w>>0]|0));)s0=s0+1|0,w=w+1|0;if((s0|0)!=(q|0)){g0=d,w=n0,d=g0;continue e}break}case 10:{if(w=n[w>>0]|0,!((w&255)>96&(w&255)<123)){g0=d,w=n0,d=g0;continue e}if((w&255^32|0)!=(s[E0>>0]|0)){g0=d,w=n0,d=g0;continue e}for(s0=x0+1|0,$=c+(q+1)|0,k=c+(q+-3)|0,e0=0,w=h0;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(q+-1|0)){g0=d,w=n0,d=g0;continue e}break}default:for(k=0;;){if(k>>>0>=q>>>0)break t;if(w=n[280811+(x0+k)>>0]|0,(w&255)>96&(w&255)<123){if((w&255^32|0)!=(s[c+(k+1)>>0]|0)){g0=d,w=n0,d=g0;continue e}}else if(w<<24>>24!=(n[c+(k+1)>>0]|0)){g0=d,w=n0,d=g0;continue e}k=k+1|0}}while(!1);if(d=q+1|0,g0=(M+((a0?85:30)<<j)<<5)+q|0,w=l+(d<<2)|0,D0=e[w>>2]|0,e[w>>2]=D0>>>0<g0>>>0?D0:g0,w=q+2|0,w>>>0>=f>>>0){d=1,w=n0;continue}switch(n[c+d>>0]|0){case 32:{g0=(M+((a0?83:15)<<j)<<5)+q|0,d=l+(w<<2)|0,w=e[d>>2]|0,e[d>>2]=w>>>0<g0>>>0?w:g0,d=1,w=n0;continue e}case 44:{if(a0||(D0=(M+(109<<j)<<5)+q|0,g0=l+(w<<2)|0,x0=e[g0>>2]|0,e[g0>>2]=x0>>>0<D0>>>0?x0:D0),(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+((a0?111:65)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 46:{if(D0=(M+((a0?115:96)<<j)<<5)+q|0,g0=l+(w<<2)|0,x0=e[g0>>2]|0,e[g0>>2]=x0>>>0<D0>>>0?x0:D0,(n[c+(q+2)>>0]|0)!=32){d=1,w=n0;continue e}w=(M+((a0?117:91)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 61:switch(n[c+(q+2)>>0]|0){case 34:{w=(M+(((a0&1)<<3^8)+110<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}case 39:{w=(M+(120-(a0&1)<<j)<<5)+q|0,d=l+(q+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=n0;continue e}default:{d=1,w=n0;continue e}}default:{d=1,w=n0;continue e}}}}default:}while(!1);if(f>>>0<=5)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;w=n[E0>>0]|0,p=n[c>>0]|0;x:do if(w<<24>>24==32){switch(p<<24>>24){case 44:case 115:case 101:{w0=241;break x}case-62:break;default:break x}w<<24>>24==-96&&(w0=241)}else p<<24>>24==-62&w<<24>>24==-96&&(w0=241);while(!1);x:do if((w0|0)==241)for(j=c+2|0,w=o[88430+((ix(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,n0=f+-2|0,p=w<<16>>16==0&1,w=w&65535;;){if(p<<24>>24)break x;if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,a0=w&127,M=s[280786+a0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|a0>>>0>n0>>>0){g0=d,w=q,d=g0;continue}for(s0=(e[11272+(a0<<2)>>2]|0)+(ix(a0,w>>>16)|0)|0,$=c+(a0+2)|0,k=c+(a0+-2)|0,e0=0,w=j;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(a0|0)){g0=d,w=q,d=g0;continue}if(w=n[c>>0]|0,w<<24>>24==-62){w=(x0+(102<<M)<<5)+a0|0,d=l+(a0+2<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q;continue}if(k=a0+2|0,k>>>0>=f>>>0){g0=d,w=q,d=g0;continue}if((n[c+k>>0]|0)!=32){g0=d,w=q,d=g0;continue}w=(x0+((w<<24>>24==101?18:w<<24>>24==115?7:13)<<M)<<5)+a0|0,d=l+(a0+3<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q}while(!1);if(f>>>0<=8)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;switch(n[c>>0]|0){case 32:{if((n[E0>>0]|0)!=116||(n[c+2>>0]|0)!=104||(n[c+3>>0]|0)!=101||(n[c+4>>0]|0)!=32)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;break}case 46:{if((n[E0>>0]|0)!=99||(n[c+2>>0]|0)!=111||(n[c+3>>0]|0)!=109||(n[c+4>>0]|0)!=47)return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0;break}default:return g0=d,g0=g0&1,g0=g0<<24>>24!=0,g0|0}for(j=c+5|0,w=o[88430+((ix(s[j>>0]|s[j+1>>0]<<8|s[j+2>>0]<<16|s[j+3>>0]<<24,506832829)|0)>>>17<<1)>>1]|0,n0=f+-5|0,p=w<<16>>16==0&1,w=w&65535;!(p<<24>>24);){if(q=w+1|0,w=153966+(w<<2)|0,w=_[w>>1]|_[w+2>>1]<<16,x0=w>>>16,a0=w&127,M=s[280786+a0>>0]|0,p=(w&255)>>>7,(w&65280|0)!=0|a0>>>0>n0>>>0){g0=d,w=q,d=g0;continue}for(s0=(e[11272+(a0<<2)>>2]|0)+(ix(a0,w>>>16)|0)|0,$=c+(a0+5)|0,k=c+(a0+1)|0,e0=0,w=j;!(w>>>0>k>>>0||(g0=280811+(s0+e0)|0,(s[w>>0]|s[w+1>>0]<<8|s[w+2>>0]<<16|s[w+3>>0]<<24|0)!=(s[g0>>0]|s[g0+1>>0]<<8|s[g0+2>>0]<<16|s[g0+3>>0]<<24|0)));)e0=e0+4|0,w=w+4|0;for(;!(w>>>0>=$>>>0||(n[280811+(s0+e0)>>0]|0)!=(n[w>>0]|0));)e0=e0+1|0,w=w+1|0;if((e0|0)!=(a0|0)){g0=d,w=q,d=g0;continue}if(d=a0+5|0,D0=(x0+(((n[c>>0]|0)==32?41:72)<<M)<<5)+a0|0,g0=l+(d<<2)|0,E0=e[g0>>2]|0,e[g0>>2]=E0>>>0<D0>>>0?E0:D0,d>>>0>=f>>>0){d=1,w=q;continue}if(!((n[c>>0]|0)==32&(a0+8|0)>>>0<f>>>0)){d=1,w=q;continue}if((n[c+d>>0]|0)!=32){d=1,w=q;continue}if((n[c+(a0+6)>>0]|0)!=111){d=1,w=q;continue}if((n[c+(a0+7)>>0]|0)!=102){d=1,w=q;continue}if((n[c+(a0+8)>>0]|0)!=32){d=1,w=q;continue}if(D0=(x0+(62<<M)<<5)+a0|0,g0=l+(a0+9<<2)|0,E0=e[g0>>2]|0,e[g0>>2]=E0>>>0<D0>>>0?E0:D0,(a0+12|0)>>>0>=f>>>0){d=1,w=q;continue}if((n[c+(a0+9)>>0]|0)!=116){d=1,w=q;continue}if((n[c+(a0+10)>>0]|0)!=104){d=1,w=q;continue}if((n[c+(a0+11)>>0]|0)!=101){d=1,w=q;continue}if((n[c+(a0+12)>>0]|0)!=32){d=1,w=q;continue}w=(x0+(73<<M)<<5)+a0|0,d=l+(a0+13<<2)|0,g0=e[d>>2]|0,e[d>>2]=g0>>>0<w>>>0?g0:w,d=1,w=q}return g0=d&1,g0=g0<<24>>24!=0,g0|0}function $5(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,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0;d=0,n0=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,o0=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)&&(s0=(k&255)<<6&1984|e0&63,s0>>>0>127)){p=2,w=s0;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)&&(a0=(k&255)<<12&61440|($&255)<<6&4032|x0&63,a0>>>0>2047)){p=3,w=a0;break}if(p>>>0>3&(k&-8)<<24>>24==-16&&(M=n[c+(w+1)>>0]|0,(M&-64)<<24>>24==-128)&&(q=n[c+(w+2)>>0]|0,(q&-64)<<24>>24==-128)&&(j=n[c+(w+3)>>0]|0,(j&-64)<<24>>24==-128)&&(o0=(k&255)<<18&1835008|(M&255)<<12&258048|(q&255)<<6&4032|j&63,o0>>>0>65535&o0>>>0<1114112)){w=4,o0=20;break e}else o0=19}else o0=19}else o0=19;while(!1);(o0|0)==19&&(o0=0,p=1,w=k&255|1114112),d=d+p|0}while((w|0)>=1114112);(o0|0)==20&&(o0=0,p=w,d=d+w|0),n0=n0+p|0}return+(n0>>>0)>+(l>>>0)*.75|0}function Xx(c){c=+c;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0;r0[d0>>3]=c,f=e[d0>>2]|0,h=e[d0+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{r0[d0>>3]=c*0x40000000000000,h=e[d0+4>>2]|0,l=e[d0>>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[d0>>2]=l,e[d0+4>>2]=(d&1048575)+1072079006,e0=+r0[d0>>3]+-1,c=e0*(e0*.5),s0=e0/(e0+2),p=s0*s0,k=p*p,r0[d0>>3]=e0-c,l=e[d0+4>>2]|0,e[d0>>2]=0,e[d0+4>>2]=l,w=+r0[d0>>3],c=s0*(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 x3(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0,u0=0,h0=0,S0=0,w0=0,E0=0,D0=0,g0=0,y0=0,b0=0,T0=0,P0=0,R0=0,U0=0,V0=0,q0=0,xx=0,J0=0;do if(c>>>0<245){if(M=c>>>0<11?16:c+11&-8,c=M>>>3,k=e[5147]|0,h=k>>>c,h&3){h=(h&1^1)+c|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,d=e[l>>2]|0,w=d+8|0,p=e[w>>2]|0;do if((f|0)!=(p|0))if(p>>>0<(e[5151]|0)>>>0&&ie(),c=p+12|0,(e[c>>2]|0)==(d|0)){e[c>>2]=f,e[l>>2]=p;break}else ie();else e[5147]=k&~(1<<h);while(!1);return J0=h<<3,e[d+4>>2]=J0|3,J0=d+(J0|4)|0,e[J0>>2]=e[J0>>2]|1,J0=w,J0|0}if(p=e[5149]|0,M>>>0>p>>>0){if(h){l=2<<c,l=h<<c&(l|0-l),l=(l&0-l)+-1|0,e0=l>>>12&16,l=l>>>e0,d=l>>>5&8,l=l>>>d,w=l>>>2&4,l=l>>>w,f=l>>>1&2,l=l>>>f,h=l>>>1&1,h=(d|e0|w|f|h)+(l>>>h)|0,l=h<<1,f=20628+(l<<2)|0,l=20628+(l+2<<2)|0,w=e[l>>2]|0,e0=w+8|0,d=e[e0>>2]|0;do if((f|0)!=(d|0))if(d>>>0<(e[5151]|0)>>>0&&ie(),c=d+12|0,(e[c>>2]|0)==(w|0)){e[c>>2]=f,e[l>>2]=d,s0=e[5149]|0;break}else ie();else e[5147]=k&~(1<<h),s0=p;while(!1);return J0=h<<3,p=J0-M|0,e[w+4>>2]=M|3,k=w+M|0,e[w+(M|4)>>2]=p|1,e[w+J0>>2]=p,s0&&(d=e[5152]|0,f=s0>>>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?ie():($=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,J0=e0,J0|0}if(c=e[5148]|0,c){for(k=(c&0-c)+-1|0,xx=k>>>12&16,k=k>>>xx,q0=k>>>5&8,k=k>>>q0,J0=k>>>2&4,k=k>>>J0,h=k>>>1&2,k=k>>>h,e0=k>>>1&1,e0=e[20892+((q0|xx|J0|h|e0)+(k>>>e0)<<2)>>2]|0,k=(e[e0+4>>2]&-8)-M|0,h=e0;c=e[h+16>>2]|0,!(!c&&(c=e[h+20>>2]|0,!c));)h=(e[c+4>>2]&-8)-M|0,J0=h>>>0<k>>>0,k=J0?h:k,h=c,e0=J0?c:e0;d=e[5151]|0,e0>>>0<d>>>0&&ie(),p=e0+M|0,e0>>>0>=p>>>0&&ie(),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)){a0=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)ie();else{e[h>>2]=0,a0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&ie(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&ie(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,a0=f;break}else ie();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]=a0,!a0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&ie(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=a0:e[w+20>>2]=a0,!a0)break;h=e[5151]|0,a0>>>0<h>>>0&&ie(),e[a0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)ie();else{e[a0+16>>2]=c,e[c+24>>2]=a0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)ie();else{e[a0+20>>2]=c,e[c+24>>2]=a0;break}}while(!1);return k>>>0<16?(J0=k+M|0,e[e0+4>>2]=J0|3,J0=e0+(J0+4)|0,e[J0>>2]=e[J0>>2]|1):(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=e[5149]|0,c&&(d=e[5152]|0,f=c>>>3,c=f<<1,l=20628+(c<<2)|0,h=e[5147]|0,f=1<<f,h&f?(c=20628+(c+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?ie():(q=c,j=h)):(e[5147]=h|f,q=20628+(c+2<<2)|0,j=l),e[q>>2]=d,e[j+12>>2]=d,e[d+8>>2]=j,e[d+12>>2]=l),e[5149]=k,e[5152]=p),J0=e0+8|0,J0|0}}}else if(c>>>0<=4294967231){if(c=c+11|0,M=c&-8,e0=e[5148]|0,e0){h=0-M|0,c=c>>>8,c?M>>>0>16777215?k=31:(j=(c+1048320|0)>>>16&8,S0=c<<j,q=(S0+520192|0)>>>16&4,S0=S0<<q,k=(S0+245760|0)>>>16&2,k=14-(q|j|k)+(S0<<k>>>15)|0,k=M>>>(k+7|0)&1|k<<1):k=0,c=e[20892+(k<<2)>>2]|0;x:do if(!c)f=0,c=0,S0=86;else for(d=h,f=0,w=M<<((k|0)==31?0:25-(k>>>1)|0),p=c,c=0;;){if(l=e[p+4>>2]&-8,h=l-M|0,h>>>0<d>>>0)if((l|0)==(M|0)){l=p,c=p,S0=90;break x}else c=p;else h=d;if(S0=e[p+20>>2]|0,p=e[p+16+(w>>>31<<2)>>2]|0,f=(S0|0)==0|(S0|0)==(p|0)?f:S0,p)d=h,w=w<<1;else{S0=86;break}}while(!1);if((S0|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,a0=c>>>12&16,c=c>>>a0,x0=c>>>5&8,c=c>>>x0,q=c>>>2&4,c=c>>>q,j=c>>>1&2,c=c>>>j,f=c>>>1&1,f=e[20892+((x0|a0|q|j|f)+(c>>>f)<<2)>>2]|0,c=0}f?(l=f,S0=90):(k=h,e0=c)}if((S0|0)==90)for(;;){if(S0=0,j=(e[l+4>>2]&-8)-M|0,f=j>>>0<h>>>0,h=f?j:h,c=f?l:c,f=e[l+16>>2]|0,f){l=f,S0=90;continue}if(l=e[l+20>>2]|0,l)S0=90;else{k=h,e0=c;break}}if((e0|0)!=0&&k>>>0<((e[5149]|0)-M|0)>>>0){d=e[5151]|0,e0>>>0<d>>>0&&ie(),p=e0+M|0,e0>>>0>=p>>>0&&ie(),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)){o0=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)ie();else{e[h>>2]=0,o0=c;break}}else if(l=e[e0+8>>2]|0,l>>>0<d>>>0&&ie(),c=l+12|0,(e[c>>2]|0)!=(e0|0)&&ie(),h=f+8|0,(e[h>>2]|0)==(e0|0)){e[c>>2]=f,e[h>>2]=l,o0=f;break}else ie();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]=o0,!o0){e[5148]=e[5148]&~(1<<c);break}}else if(w>>>0<(e[5151]|0)>>>0&&ie(),c=w+16|0,(e[c>>2]|0)==(e0|0)?e[c>>2]=o0:e[w+20>>2]=o0,!o0)break;h=e[5151]|0,o0>>>0<h>>>0&&ie(),e[o0+24>>2]=w,c=e[e0+16>>2]|0;do if(c)if(c>>>0<h>>>0)ie();else{e[o0+16>>2]=c,e[c+24>>2]=o0;break}while(!1);if(c=e[e0+20>>2]|0,c)if(c>>>0<(e[5151]|0)>>>0)ie();else{e[o0+20>>2]=c,e[c+24>>2]=o0;break}}while(!1);x:do if(k>>>0>=16){if(e[e0+4>>2]=M|3,e[e0+(M|4)>>2]=k|1,e[e0+(k+M)>>2]=k,c=k>>>3,k>>>0<256){h=c<<1,l=20628+(h<<2)|0,f=e[5147]|0,c=1<<c,f&c?(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0<(e[5151]|0)>>>0?ie():(f0=c,p0=h)):(e[5147]=f|c,f0=20628+(h+2<<2)|0,p0=l),e[f0>>2]=p,e[p0+12>>2]=p,e[e0+(M+8)>>2]=p0,e[e0+(M+12)>>2]=l;break}if(c=k>>>8,c?k>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,J0=c<<xx,q0=(J0+520192|0)>>>16&4,J0=J0<<q0,l=(J0+245760|0)>>>16&2,l=14-(q0|xx|l)+(J0<<l>>>15)|0,l=k>>>(l+7|0)&1|l<<1):l=0,c=20892+(l<<2)|0,e[e0+(M+28)>>2]=l,e[e0+(M+20)>>2]=0,e[e0+(M+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break}c=e[c>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(k|0)){for(l=k<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(k|0)){h0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=p,e[e0+(M+24)>>2]=c,e[e0+(M+12)>>2]=p,e[e0+(M+8)>>2]=p;break x}}else h0=c;while(!1);if(c=h0+8|0,h=e[c>>2]|0,J0=e[5151]|0,h>>>0>=J0>>>0&h0>>>0>=J0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[e0+(M+8)>>2]=h,e[e0+(M+12)>>2]=h0,e[e0+(M+24)>>2]=0;break}else ie()}else J0=k+M|0,e[e0+4>>2]=J0|3,J0=e0+(J0+4)|0,e[J0>>2]=e[J0>>2]|1;while(!1);return J0=e0+8|0,J0|0}}}else M=-1;while(!1);if(f=e[5149]|0,f>>>0>=M>>>0)return c=f-M|0,h=e[5152]|0,c>>>0>15?(e[5152]=h+M,e[5149]=c,e[h+(M+4)>>2]=c|1,e[h+f>>2]=c,e[h+4>>2]=M|3):(e[5149]=0,e[5152]=0,e[h+4>>2]=f|3,J0=h+(f+4)|0,e[J0>>2]=e[J0>>2]|1),J0=h+8|0,J0|0;if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,J0=e[5153]|0,e[5153]=J0+M,e[J0+(M+4)>>2]=xx|1,e[J0+4>>2]=M|3,J0=J0+8|0,J0|0;do if(!(e[5265]|0))if(c=Ff(30)|0,c+-1&c)ie();else{e[5267]=c,e[5266]=c,e[5268]=-1,e[5269]=-1,e[5270]=0,e[5258]=0,e[5265]=(V5(0)|0)&-16^1431655768;break}while(!1);if(w=M+48|0,d=e[5267]|0,p=M+47|0,l=d+p|0,d=0-d|0,k=l&d,k>>>0<=M>>>0||(c=e[5257]|0,(c|0)!=0&&(p0=e[5255]|0,h0=p0+k|0,h0>>>0<=p0>>>0|h0>>>0>c>>>0)))return J0=0,J0|0;x:do if(e[5258]&4)c=0,S0=191;else{f=e[5153]|0;e:do if(f){for(c=21036;h=e[c>>2]|0,!(h>>>0<=f>>>0&&(n0=c+4|0,(h+(e[n0>>2]|0)|0)>>>0>f>>>0));)if(c=e[c+8>>2]|0,!c){S0=174;break e}if(h=l-(e[5150]|0)&d,h>>>0<2147483647)if(f=ci(h|0)|0,h0=(f|0)==((e[c>>2]|0)+(e[n0>>2]|0)|0),c=h0?h:0,h0){if((f|0)!=-1){n0=f,j=c,S0=194;break x}}else S0=184;else c=0}else S0=174;while(!1);do if((S0|0)==174)if(l=ci(0)|0,(l|0)!=-1)if(c=l,h=e[5266]|0,f=h+-1|0,f&c?h=k-c+(f+c&0-h)|0:h=k,c=e[5255]|0,f=c+h|0,h>>>0>M>>>0&h>>>0<2147483647){if(h0=e[5257]|0,(h0|0)!=0&&f>>>0<=c>>>0|f>>>0>h0>>>0){c=0;break}if(f=ci(h|0)|0,S0=(f|0)==(l|0),c=S0?h:0,S0){n0=l,j=c,S0=194;break x}else S0=184}else c=0;else c=0;while(!1);e:do if((S0|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((ci(u0|0)|0)==-1){ci(l|0)|0;break e}else{h=u0+h|0;break}while(!1);if((f|0)!=-1){n0=f,j=h,S0=194;break x}}while(!1);e[5258]=e[5258]|4,S0=191}while(!1);if((S0|0)==191&&k>>>0<2147483647&&(w0=ci(k|0)|0,E0=ci(0)|0,w0>>>0<E0>>>0&((w0|0)!=-1&(E0|0)!=-1))&&(D0=E0-w0|0,g0=D0>>>0>(M+40|0)>>>0,g0)&&(n0=w0,j=g0?D0:c,S0=194),(S0|0)==194){c=(e[5255]|0)+j|0,e[5255]=c,c>>>0>(e[5256]|0)>>>0&&(e[5256]=c),p=e[5153]|0;x:do if(p){for(d=21036;;){if(c=e[d>>2]|0,h=d+4|0,f=e[h>>2]|0,(n0|0)==(c+f|0)){S0=204;break}if(l=e[d+8>>2]|0,l)d=l;else break}if((S0|0)==204&&(e[d+12>>2]&8|0)==0&&p>>>0<n0>>>0&p>>>0>=c>>>0){e[h>>2]=f+j,J0=(e[5150]|0)+j|0,xx=p+8|0,xx=(xx&7|0)==0?0:0-xx&7,q0=J0-xx|0,e[5153]=p+xx,e[5150]=q0,e[p+(xx+4)>>2]=q0|1,e[p+(J0+4)>>2]=40,e[5154]=e[5269];break}for(c=e[5151]|0,n0>>>0<c>>>0?(e[5151]=n0,e0=n0):e0=c,h=n0+j|0,c=21036;;){if((e[c>>2]|0)==(h|0)){S0=212;break}if(c=e[c+8>>2]|0,!c){h=21036;break}}if((S0|0)==212)if(e[c+12>>2]&8)h=21036;else{e[c>>2]=n0,a0=c+4|0,e[a0>>2]=(e[a0>>2]|0)+j,a0=n0+8|0,a0=(a0&7|0)==0?0:0-a0&7,s0=n0+(j+8)|0,s0=(s0&7|0)==0?0:0-s0&7,c=n0+(s0+j)|0,x0=a0+M|0,q=n0+x0|0,$=c-(n0+a0)-M|0,e[n0+(a0+4)>>2]=M|3;e:do if((c|0)!=(p|0)){if((c|0)==(e[5152]|0)){J0=(e[5149]|0)+$|0,e[5149]=J0,e[5152]=q,e[n0+(x0+4)>>2]=J0|1,e[n0+(J0+x0)>>2]=J0;break}if(p=j+4|0,h=e[n0+(p+s0)>>2]|0,(h&3|0)==1){k=h&-8,d=h>>>3;t:do if(h>>>0>=256){w=e[n0+((s0|24)+j)>>2]|0,l=e[n0+(j+12+s0)>>2]|0;do if((l|0)==(c|0)){if(f=s0|16,l=n0+(p+f)|0,h=e[l>>2]|0,h)f=l;else if(f=n0+(f+j)|0,h=e[f>>2]|0,!h){V0=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)ie();else{e[f>>2]=0,V0=h;break}}else if(d=e[n0+((s0|8)+j)>>2]|0,d>>>0<e0>>>0&&ie(),h=d+12|0,(e[h>>2]|0)!=(c|0)&&ie(),f=l+8|0,(e[f>>2]|0)==(c|0)){e[h>>2]=l,e[f>>2]=d,V0=l;break}else ie();while(!1);if(!w)break;h=e[n0+(j+28+s0)>>2]|0,f=20892+(h<<2)|0;do if((c|0)!=(e[f>>2]|0)){if(w>>>0<(e[5151]|0)>>>0&&ie(),h=w+16|0,(e[h>>2]|0)==(c|0)?e[h>>2]=V0:e[w+20>>2]=V0,!V0)break t}else{if(e[f>>2]=V0,V0)break;e[5148]=e[5148]&~(1<<h);break t}while(!1);f=e[5151]|0,V0>>>0<f>>>0&&ie(),e[V0+24>>2]=w,c=s0|16,h=e[n0+(c+j)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[V0+16>>2]=h,e[h+24>>2]=V0;break}while(!1);if(c=e[n0+(p+c)>>2]|0,!c)break;if(c>>>0<(e[5151]|0)>>>0)ie();else{e[V0+20>>2]=c,e[c+24>>2]=V0;break}}else{f=e[n0+((s0|8)+j)>>2]|0,l=e[n0+(j+12+s0)>>2]|0,h=20628+(d<<1<<2)|0;do if((f|0)!=(h|0)){if(f>>>0<e0>>>0&&ie(),(e[f+12>>2]|0)==(c|0))break;ie()}while(!1);if((l|0)==(f|0)){e[5147]=e[5147]&~(1<<d);break}do if((l|0)==(h|0))T0=l+8|0;else{if(l>>>0<e0>>>0&&ie(),h=l+8|0,(e[h>>2]|0)==(c|0)){T0=h;break}ie()}while(!1);e[f+12>>2]=l,e[T0>>2]=f}while(!1);c=n0+((k|s0)+j)|0,d=k+$|0}else d=$;if(c=c+4|0,e[c>>2]=e[c>>2]&-2,e[n0+(x0+4)>>2]=d|1,e[n0+(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,q0=20628+(h+2<<2)|0,xx=l;else{if(c=20628+(h+2<<2)|0,h=e[c>>2]|0,h>>>0>=(e[5151]|0)>>>0){q0=c,xx=h;break}ie()}while(!1);e[q0>>2]=q,e[xx+12>>2]=q,e[n0+(x0+8)>>2]=xx,e[n0+(x0+12)>>2]=l;break}c=d>>>8;do if(!c)l=0;else{if(d>>>0>16777215){l=31;break}q0=(c+1048320|0)>>>16&8,xx=c<<q0,V0=(xx+520192|0)>>>16&4,xx=xx<<V0,l=(xx+245760|0)>>>16&2,l=14-(V0|q0|l)+(xx<<l>>>15)|0,l=d>>>(l+7|0)&1|l<<1}while(!1);if(c=20892+(l<<2)|0,e[n0+(x0+28)>>2]=l,e[n0+(x0+20)>>2]=0,e[n0+(x0+16)>>2]=0,h=e[5148]|0,f=1<<l,!(h&f)){e[5148]=h|f,e[c>>2]=q,e[n0+(x0+24)>>2]=c,e[n0+(x0+12)>>2]=q,e[n0+(x0+8)>>2]=q;break}c=e[c>>2]|0;t:do if((e[c+4>>2]&-8|0)!=(d|0)){for(l=d<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(d|0)){J0=h;break t}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=q,e[n0+(x0+24)>>2]=c,e[n0+(x0+12)>>2]=q,e[n0+(x0+8)>>2]=q;break e}}else J0=c;while(!1);if(c=J0+8|0,h=e[c>>2]|0,xx=e[5151]|0,h>>>0>=xx>>>0&J0>>>0>=xx>>>0){e[h+12>>2]=q,e[c>>2]=q,e[n0+(x0+8)>>2]=h,e[n0+(x0+12)>>2]=J0,e[n0+(x0+24)>>2]=0;break}else ie()}else J0=(e[5150]|0)+$|0,e[5150]=J0,e[5153]=q,e[n0+(x0+4)>>2]=J0|1;while(!1);return J0=n0+(a0|8)|0,J0|0}for(;c=e[h>>2]|0,!(c>>>0<=p>>>0&&(y0=e[h+4>>2]|0,b0=c+y0|0,b0>>>0>p>>>0));)h=e[h+8>>2]|0;if(h=c+(y0+-39)|0,h=c+(y0+-47+((h&7|0)==0?0:0-h&7))|0,d=p+16|0,h=h>>>0<d>>>0?p:h,c=h+8|0,f=n0+8|0,f=(f&7|0)==0?0:0-f&7,J0=j+-40-f|0,e[5153]=n0+f,e[5150]=J0,e[n0+(f+4)>>2]=J0|1,e[n0+(j+-36)>>2]=40,e[5154]=e[5269],f=h+4|0,e[f>>2]=27,e[c>>2]=e[5259],e[c+4>>2]=e[5260],e[c+8>>2]=e[5261],e[c+12>>2]=e[5262],e[5259]=n0,e[5260]=j,e[5262]=0,e[5261]=c,c=h+28|0,e[c>>2]=7,(h+32|0)>>>0<b0>>>0)do J0=c,c=c+4|0,e[c>>2]=7;while((J0+8|0)>>>0<b0>>>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?ie():(P0=c,R0=h)):(e[5147]=f|c,P0=20628+(h+2<<2)|0,R0=l),e[P0>>2]=p,e[R0+12>>2]=p,e[p+8>>2]=R0,e[p+12>>2]=l;break}if(c=w>>>8,c?w>>>0>16777215?l=31:(xx=(c+1048320|0)>>>16&8,J0=c<<xx,q0=(J0+520192|0)>>>16&4,J0=J0<<q0,l=(J0+245760|0)>>>16&2,l=14-(q0|xx|l)+(J0<<l>>>15)|0,l=w>>>(l+7|0)&1|l<<1):l=0,f=20892+(l<<2)|0,e[p+28>>2]=l,e[p+20>>2]=0,e[d>>2]=0,c=e[5148]|0,h=1<<l,!(c&h)){e[5148]=c|h,e[f>>2]=p,e[p+24>>2]=f,e[p+12>>2]=p,e[p+8>>2]=p;break}c=e[f>>2]|0;e:do if((e[c+4>>2]&-8|0)!=(w|0)){for(l=w<<((l|0)==31?0:25-(l>>>1)|0);f=c+16+(l>>>31<<2)|0,h=e[f>>2]|0,!!h;)if((e[h+4>>2]&-8|0)==(w|0)){U0=h;break e}else l=l<<1,c=h;if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=p,e[p+24>>2]=c,e[p+12>>2]=p,e[p+8>>2]=p;break x}}else U0=c;while(!1);if(c=U0+8|0,h=e[c>>2]|0,J0=e[5151]|0,h>>>0>=J0>>>0&U0>>>0>=J0>>>0){e[h+12>>2]=p,e[c>>2]=p,e[p+8>>2]=h,e[p+12>>2]=U0,e[p+24>>2]=0;break}else ie()}}else{J0=e[5151]|0,(J0|0)==0|n0>>>0<J0>>>0&&(e[5151]=n0),e[5259]=n0,e[5260]=j,e[5262]=0,e[5156]=e[5265],e[5155]=-1,c=0;do J0=c<<1,xx=20628+(J0<<2)|0,e[20628+(J0+3<<2)>>2]=xx,e[20628+(J0+2<<2)>>2]=xx,c=c+1|0;while((c|0)!=32);J0=n0+8|0,J0=(J0&7|0)==0?0:0-J0&7,xx=j+-40-J0|0,e[5153]=n0+J0,e[5150]=xx,e[n0+(J0+4)>>2]=xx|1,e[n0+(j+-36)>>2]=40,e[5154]=e[5269]}while(!1);if(c=e[5150]|0,c>>>0>M>>>0)return xx=c-M|0,e[5150]=xx,J0=e[5153]|0,e[5153]=J0+M,e[J0+(M+4)>>2]=xx|1,e[J0+4>>2]=M|3,J0=J0+8|0,J0|0}return e[5135]|0?c=e[(Z7()|0)+60>>2]|0:c=20584,e[c>>2]=12,J0=0,J0|0}function _D(c){c=c|0;var h=0,f=0,l=0,d=0,w=0,p=0,k=0,e0=0,s0=0,$=0,x0=0,a0=0,M=0,q=0,j=0,n0=0,o0=0,f0=0,p0=0;if(c){h=c+-8|0,k=e[5151]|0,h>>>0<k>>>0&&ie(),f=e[c+-4>>2]|0,l=f&3,(l|0)==1&&ie(),M=f&-8,j=c+(M+-8)|0;do if(f&1)p0=h,w=M;else{if(h=e[h>>2]|0,!l)return;if(e0=-8-h|0,$=c+e0|0,x0=h+M|0,$>>>0<k>>>0&&ie(),($|0)==(e[5152]|0)){if(h=c+(M+-4)|0,f=e[h>>2]|0,(f&3|0)!=3){p0=$,w=x0;break}e[5149]=x0,e[h>>2]=f&-2,e[c+(e0+4)>>2]=x0|1,e[j>>2]=x0;return}if(d=h>>>3,h>>>0<256){if(l=e[c+(e0+8)>>2]|0,f=e[c+(e0+12)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<k>>>0&&ie(),(e[l+12>>2]|0)!=($|0)&&ie()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d),p0=$,w=x0;break}(f|0)!=(h|0)?(f>>>0<k>>>0&&ie(),h=f+8|0,(e[h>>2]|0)==($|0)?p=h:ie()):p=f+8|0,e[l+12>>2]=f,e[p>>2]=l,p0=$,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)){s0=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)ie();else{e[f>>2]=0,s0=h;break}}else if(d=e[c+(e0+8)>>2]|0,d>>>0<k>>>0&&ie(),h=d+12|0,(e[h>>2]|0)!=($|0)&&ie(),f=l+8|0,(e[f>>2]|0)==($|0)){e[h>>2]=l,e[f>>2]=d,s0=l;break}else ie();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]=s0,!s0){e[5148]=e[5148]&~(1<<h),p0=$,w=x0;break}}else if(p>>>0<(e[5151]|0)>>>0&&ie(),h=p+16|0,(e[h>>2]|0)==($|0)?e[h>>2]=s0:e[p+20>>2]=s0,!s0){p0=$,w=x0;break}f=e[5151]|0,s0>>>0<f>>>0&&ie(),e[s0+24>>2]=p,h=e[c+(e0+16)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[s0+16>>2]=h,e[h+24>>2]=s0;break}while(!1);if(h=e[c+(e0+20)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)ie();else{e[s0+20>>2]=h,e[h+24>>2]=s0,p0=$,w=x0;break}else p0=$,w=x0}else p0=$,w=x0}while(!1);if(p0>>>0>=j>>>0&&ie(),h=c+(M+-4)|0,f=e[h>>2]|0,f&1||ie(),f&2)e[h>>2]=f&-2,e[p0+4>>2]=w|1,e[p0+w>>2]=w;else{if((j|0)==(e[5153]|0)){if(f0=(e[5150]|0)+w|0,e[5150]=f0,e[5153]=p0,e[p0+4>>2]=f0|1,(p0|0)!=(e[5152]|0))return;e[5152]=0,e[5149]=0;return}if((j|0)==(e[5152]|0)){f0=(e[5149]|0)+w|0,e[5149]=f0,e[5152]=p0,e[p0+4>>2]=f0|1,e[p0+f0>>2]=f0;return}w=(f&-8)+w|0,d=f>>>3;do if(f>>>0>=256){p=e[c+(M+16)>>2]|0,h=e[c+(M|4)>>2]|0;do if((h|0)==(j|0)){if(f=c+(M+12)|0,h=e[f>>2]|0,!h&&(f=c+(M+8)|0,h=e[f>>2]|0,!h)){q=0;break}for(;;){if(l=h+20|0,d=e[l>>2]|0,d){h=d,f=l;continue}if(l=h+16|0,d=e[l>>2]|0,d)h=d,f=l;else break}if(f>>>0<(e[5151]|0)>>>0)ie();else{e[f>>2]=0,q=h;break}}else if(f=e[c+M>>2]|0,f>>>0<(e[5151]|0)>>>0&&ie(),l=f+12|0,(e[l>>2]|0)!=(j|0)&&ie(),d=h+8|0,(e[d>>2]|0)==(j|0)){e[l>>2]=h,e[d>>2]=f,q=h;break}else ie();while(!1);if(p){if(h=e[c+(M+20)>>2]|0,f=20892+(h<<2)|0,(j|0)==(e[f>>2]|0)){if(e[f>>2]=q,!q){e[5148]=e[5148]&~(1<<h);break}}else if(p>>>0<(e[5151]|0)>>>0&&ie(),h=p+16|0,(e[h>>2]|0)==(j|0)?e[h>>2]=q:e[p+20>>2]=q,!q)break;f=e[5151]|0,q>>>0<f>>>0&&ie(),e[q+24>>2]=p,h=e[c+(M+8)>>2]|0;do if(h)if(h>>>0<f>>>0)ie();else{e[q+16>>2]=h,e[h+24>>2]=q;break}while(!1);if(h=e[c+(M+12)>>2]|0,h)if(h>>>0<(e[5151]|0)>>>0)ie();else{e[q+20>>2]=h,e[h+24>>2]=q;break}}}else{if(l=e[c+M>>2]|0,f=e[c+(M|4)>>2]|0,h=20628+(d<<1<<2)|0,(l|0)!=(h|0)&&(l>>>0<(e[5151]|0)>>>0&&ie(),(e[l+12>>2]|0)!=(j|0)&&ie()),(f|0)==(l|0)){e[5147]=e[5147]&~(1<<d);break}(f|0)!=(h|0)?(f>>>0<(e[5151]|0)>>>0&&ie(),h=f+8|0,(e[h>>2]|0)==(j|0)?a0=h:ie()):a0=f+8|0,e[l+12>>2]=f,e[a0>>2]=l}while(!1);if(e[p0+4>>2]=w|1,e[p0+w>>2]=w,(p0|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?ie():(n0=h,o0=f)):(e[5147]=l|h,n0=20628+(f+2<<2)|0,o0=d),e[n0>>2]=p0,e[o0+12>>2]=p0,e[p0+8>>2]=o0,e[p0+12>>2]=d;return}h=w>>>8,h?w>>>0>16777215?d=31:(n0=(h+1048320|0)>>>16&8,o0=h<<n0,j=(o0+520192|0)>>>16&4,o0=o0<<j,d=(o0+245760|0)>>>16&2,d=14-(j|n0|d)+(o0<<d>>>15)|0,d=w>>>(d+7|0)&1|d<<1):d=0,h=20892+(d<<2)|0,e[p0+28>>2]=d,e[p0+20>>2]=0,e[p0+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)ie();else{e[l>>2]=p0,e[p0+24>>2]=h,e[p0+12>>2]=p0,e[p0+8>>2]=p0;break x}}else f0=h;while(!1);if(h=f0+8|0,f=e[h>>2]|0,o0=e[5151]|0,f>>>0>=o0>>>0&f0>>>0>=o0>>>0){e[f+12>>2]=p0,e[h>>2]=p0,e[p0+8>>2]=f,e[p0+12>>2]=f0,e[p0+24>>2]=0;break}else ie()}else e[5148]=f|l,e[h>>2]=p0,e[p0+24>>2]=h,e[p0+12>>2]=p0,e[p0+8>>2]=p0;while(!1);if(p0=(e[5155]|0)+-1|0,e[5155]=p0,!p0)h=21044;else return;for(;h=e[h>>2]|0,h;)h=h+8|0;e[5155]=-1}}function LW(){}function hr(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,A0=l,c-f>>>0|0|0}function Gx(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 vx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h>>>f,c>>>f|(h&(1<<f)-1)<<32-f):(A0=0,h>>>f-32|0)}function Tx(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h<<f|(c&(1<<f)-1<<32-f)>>>32-f,c<<f):(A0=c<<f-32,0)}function $x(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((f|0)>=4096)return G5(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 Mf(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,f=c+f>>>0,A0=h+l+(f>>>0<c>>>0|0)>>>0,f|0|0}function Uf(c,h,f){c=c|0,h=h|0,f=f|0;var l=0;if((h|0)<(c|0)&(c|0)<(h+f|0)){for(l=c,h=h+f|0,c=c+f|0;(f|0)>0;)c=c-1|0,h=h-1|0,f=f-1|0,n[c>>0]=n[h>>0]|0;c=l}else $x(c,h,f)|0;return c|0}function Wg0(c,h,f){return c=c|0,h=h|0,f=f|0,(f|0)<32?(A0=h>>f,c>>>f|(h&(1<<f)-1)<<32-f):(A0=(h|0)<0?-1:0,h>>f-32|0)}function BD(c){c=c|0;var h=0;return h=n[F0+(c&255)>>0]|0,(h|0)<8?h|0:(h=n[F0+(c>>8&255)>>0]|0,(h|0)<8?h+8|0:(h=n[F0+(c>>16&255)>>0]|0,(h|0)<8?h+16|0:(n[F0+(c>>>24)>>0]|0)+24|0))}function MW(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=ix(d,w)|0,l=c>>>16,c=(f>>>16)+(ix(d,l)|0)|0,d=h>>>16,h=ix(d,w)|0,A0=(c>>>16)+(ix(d,l)|0)+(((c&65535)+h|0)>>>16)|0,c+h<<16|f&65535|0|0}function Yg0(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,s0=0;return s0=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=hr(s0^c,e0^h,s0,e0)|0,p=A0,c=w^s0,h=d^e0,hr((qf(k,p,hr(w^f,d^l,w,d)|0,A0,0)|0)^c,A0^h,c,h)|0}function Kg0(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,s0=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,s0=l>>31|((l|0)<0?-1:0)<<1,e0=((l|0)<0?-1:0)>>31|((l|0)<0?-1:0)<<1,c=hr(p^c,w^h,p,w)|0,h=A0,qf(c,h,hr(s0^f,e0^l,s0,e0)|0,A0,k)|0,l=hr(e[k>>2]^p,e[k+4>>2]^w,p,w)|0,f=A0,c0=d,A0=f,l|0}function Ie(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=MW(d,w)|0,c=A0,A0=(ix(h,w)|0)+(ix(l,d)|0)+c|c&0,f|0|0|0}function Xg0(c,h,f,l){return c=c|0,h=h|0,f=f|0,l=l|0,qf(c,h,f,l,0)|0}function Jg0(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,qf(c,h,f,l,d)|0,c0=w,A0=e[d+4>>2]|0,e[d>>2]|0|0}function qf(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,s0=0,$=0,x0=0,a0=0,M=0,q=0;if($=c,e0=h,s0=e0,p=f,a0=l,k=a0,!s0)return w=(d|0)!=0,k?w?(e[d>>2]=c|0,e[d+4>>2]=h&0,a0=0,d=0,A0=a0,d|0):(a0=0,d=0,A0=a0,d|0):(w&&(e[d>>2]=($>>>0)%(p>>>0),e[d+4>>2]=0),a0=0,d=($>>>0)/(p>>>0)>>>0,A0=a0,d|0);w=(k|0)==0;do if(p){if(!w){if(w=(Ax(k|0)|0)-(Ax(s0|0)|0)|0,w>>>0<=31){x0=w+1|0,k=31-w|0,h=w-31>>31,p=x0,c=$>>>(x0>>>0)&h|s0<<k,h=s0>>>(x0>>>0)&h,w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,a0=0,d=0,A0=a0,d|0):(a0=0,d=0,A0=a0,d|0)}if(w=p-1|0,w&p){k=(Ax(p|0)|0)+33-(Ax(s0|0)|0)|0,q=64-k|0,x0=32-k|0,e0=x0>>31,M=k-32|0,h=M>>31,p=k,c=x0-1>>31&s0>>>(M>>>0)|(s0<<x0|$>>>(k>>>0))&h,h=h&s0>>>(k>>>0),w=$<<q&e0,k=(s0<<q|$>>>(M>>>0))&e0|$<<x0&k-33>>31;break}return d&&(e[d>>2]=w&$,e[d+4>>2]=0),(p|0)==1?(M=e0|h&0,q=c|0|0,A0=M,q|0):(q=BD(p|0)|0,M=s0>>>(q>>>0)|0,q=s0<<32-q|$>>>(q>>>0)|0,A0=M,q|0)}else{if(w)return d&&(e[d>>2]=(s0>>>0)%(p>>>0),e[d+4>>2]=0),M=0,q=(s0>>>0)/(p>>>0)>>>0,A0=M,q|0;if(!$)return d&&(e[d>>2]=0,e[d+4>>2]=(s0>>>0)%(k>>>0)),M=0,q=(s0>>>0)/(k>>>0)>>>0,A0=M,q|0;if(w=k-1|0,!(w&k))return d&&(e[d>>2]=c|0,e[d+4>>2]=w&s0|h&0),M=0,q=s0>>>((BD(k|0)|0)>>>0),A0=M,q|0;if(w=(Ax(k|0)|0)-(Ax(s0|0)|0)|0,w>>>0<=30){h=w+1|0,k=31-w|0,p=h,c=s0<<k|$>>>(h>>>0),h=s0>>>(h>>>0),w=0,k=$<<k;break}return d?(e[d>>2]=c|0,e[d+4>>2]=e0|h&0,M=0,q=0,A0=M,q|0):(M=0,q=0,A0=M,q|0)}while(!1);if(!p)s0=k,e0=0,k=0;else{x0=f|0|0,$=a0|l&0,s0=Mf(x0|0,$|0,-1,-1)|0,f=A0,e0=k,k=0;do l=e0,e0=w>>>31|e0<<1,w=k|w<<1,l=c<<1|l>>>31|0,a0=c>>>31|h<<1|0,hr(s0,f,l,a0)|0,q=A0,M=q>>31|((q|0)<0?-1:0)<<1,k=M&1,c=hr(l,a0,M&x0,(((q|0)<0?-1:0)>>31|((q|0)<0?-1:0)<<1)&$)|0,h=A0,p=p-1|0;while((p|0)!=0);s0=e0,e0=0}return p=0,d&&(e[d>>2]=c,e[d+4>>2]=h),M=(w|0)>>>31|(s0|p)<<1|(p<<1|w>>>31)&0|e0,q=(w<<1|0)&-2|k,A0=M,q|0}function UW(c,h,f){c=c|0,h=h|0,f=f|0,Ex[c&1](h|0,f|0)}function qW(c,h,f){return c=c|0,h=h|0,f=f|0,Px[c&1](h|0,f|0)|0}function HW(c,h){c=c|0,h=h|0,St(0)}function jW(c,h){return c=c|0,h=h|0,St(1),0}var Ex=[HW,NW],Px=[jW,SD];return{_i64Subtract:hr,_free:_D,_i64Add:Mf,_memmove:Uf,_memset:Gx,_malloc:x3,_encode:SW,_memcpy:$x,_bitshift64Lshr:vx,_bitshift64Shl:Tx,runPostSets:LW,stackAlloc:wW,stackSave:yW,stackRestore:DW,establishStackSpace:vW,setThrew:EW,setTempRet0:AW,getTempRet0:CW,dynCall_vii:UW,dynCall_iii:qW}})(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()+`
238
238
  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 ez=I0((nR0,xz)=>{var Ro=$G();xz.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=Ro._malloc(i.length);Ro.HEAPU8.set(i,e);var s=Ro._malloc(i.length+1024),_=Ro._encode(a,o,n,i.length,e,i.length,s),i0=null;return _!==-1&&(i0=new Uint8Array(_),i0.set(Ro.HEAPU8.subarray(s,s+_))),Ro._free(e),Ro._free(s),i0}});var tz=I0(hy=>{hy.compress=ez();hy.decompress=dy().BrotliDecompressBuffer});var O5=I0(zr=>{"use strict";zr.isInteger=i=>typeof i=="number"?Number.isInteger(i):typeof i=="string"&&i.trim()!==""?Number.isInteger(Number(i)):!1;zr.find=(i,r)=>i.nodes.find(a=>a.type===r);zr.exceedsLimit=(i,r,a=1,n)=>n===!1||!zr.isInteger(i)||!zr.isInteger(r)?!1:(Number(r)-Number(i))/Number(a)>=n;zr.escapeNode=(i,r=0,a)=>{let n=i.nodes[r];n&&(a&&n.type===a||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};zr.encloseBrace=i=>i.type!=="brace"?!1:i.commas>>0+i.ranges>>0===0?(i.invalid=!0,!0):!1;zr.isInvalidBrace=i=>i.type!=="brace"?!1:i.invalid===!0||i.dollar?!0:i.commas>>0+i.ranges>>0===0||i.open!==!0||i.close!==!0?(i.invalid=!0,!0):!1;zr.isOpenOrClose=i=>i.type==="open"||i.type==="close"?!0:i.open===!0||i.close===!0;zr.reduce=i=>i.reduce((r,a)=>(a.type==="text"&&r.push(a.value),a.type==="range"&&(a.type="text"),r),[]);zr.flatten=(...i)=>{let r=[],a=n=>{for(let o=0;o<n.length;o++){let e=n[o];if(Array.isArray(e)){a(e);continue}e!==void 0&&r.push(e)}return r};return a(i),r}});var F5=I0((oR0,iz)=>{"use strict";var rz=O5();iz.exports=(i,r={})=>{let a=(n,o={})=>{let e=r.escapeInvalid&&rz.isInvalidBrace(o),s=n.invalid===!0&&r.escapeInvalid===!0,_="";if(n.value)return(e||s)&&rz.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let i0 of n.nodes)_+=a(i0);return _};return a(i)}});var az=I0((cR0,nz)=>{"use strict";nz.exports=function(i){return typeof i=="number"?i-i===0:typeof i=="string"&&i.trim()!==""?Number.isFinite?Number.isFinite(+i):isFinite(+i):!1}});var pz=I0((uR0,hz)=>{"use strict";var sz=az(),Po=(i,r,a)=>{if(sz(i)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(r===void 0||i===r)return String(i);if(sz(r)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...a};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),e=String(n.shorthand),s=String(n.capture),_=String(n.wrap),i0=i+":"+r+"="+o+e+s+_;if(Po.cache.hasOwnProperty(i0))return Po.cache[i0].result;let t0=Math.min(i,r),r0=Math.max(i,r);if(Math.abs(t0-r0)===1){let F0=i+"|"+r;return n.capture?`(${F0})`:n.wrap===!1?F0:`(?:${F0})`}let c0=lz(i)||lz(r),l0={min:i,max:r,a:t0,b:r0},d0=[],v0=[];if(c0&&(l0.isPadded=c0,l0.maxLen=String(l0.max).length),t0<0){let F0=r0<0?Math.abs(r0):1;v0=oz(F0,Math.abs(t0),l0,n),t0=l0.a=0}return r0>=0&&(d0=oz(t0,r0,l0,n)),l0.negatives=v0,l0.positives=d0,l0.result=h90(v0,d0,n),n.capture===!0?l0.result=`(${l0.result})`:n.wrap!==!1&&d0.length+v0.length>1&&(l0.result=`(?:${l0.result})`),Po.cache[i0]=l0,l0.result};function h90(i,r,a){let n=py(i,r,"-",!1,a)||[],o=py(r,i,"",!1,a)||[],e=py(i,r,"-?",!0,a)||[];return n.concat(e).concat(o).join("|")}function p90(i,r){let a=1,n=1,o=uz(i,a),e=new Set([r]);for(;i<=o&&o<=r;)e.add(o),a+=1,o=uz(i,a);for(o=fz(r+1,n)-1;i<o&&o<=r;)e.add(o),n+=1,o=fz(r+1,n)-1;return e=[...e],e.sort(m90),e}function b90(i,r,a){if(i===r)return{pattern:i,count:[],digits:0};let n=g90(i,r),o=n.length,e="",s=0;for(let _=0;_<o;_++){let[i0,t0]=n[_];i0===t0?e+=i0:i0!=="0"||t0!=="9"?e+=w90(i0,t0,a):s++}return s&&(e+=a.shorthand===!0?"\\d":"[0-9]"),{pattern:e,count:[s],digits:o}}function oz(i,r,a,n){let o=p90(i,r),e=[],s=i,_;for(let i0=0;i0<o.length;i0++){let t0=o[i0],r0=b90(String(s),String(t0),n),c0="";if(!a.isPadded&&_&&_.pattern===r0.pattern){_.count.length>1&&_.count.pop(),_.count.push(r0.count[0]),_.string=_.pattern+dz(_.count),s=t0+1;continue}a.isPadded&&(c0=y90(t0,a,n)),r0.string=c0+r0.pattern+dz(r0.count),e.push(r0),s=t0+1,_=r0}return e}function py(i,r,a,n,o){let e=[];for(let s of i){let{string:_}=s;!n&&!cz(r,"string",_)&&e.push(a+_),n&&cz(r,"string",_)&&e.push(a+_)}return e}function g90(i,r){let a=[];for(let n=0;n<i.length;n++)a.push([i[n],r[n]]);return a}function m90(i,r){return i>r?1:r>i?-1:0}function cz(i,r,a){return i.some(n=>n[r]===a)}function uz(i,r){return Number(String(i).slice(0,-r)+"9".repeat(r))}function fz(i,r){return i-i%Math.pow(10,r)}function dz(i){let[r=0,a=""]=i;return a||r>1?`{${r+(a?","+a:"")}}`:""}function w90(i,r,a){return`[${i}${r-i===1?"":"-"}${r}]`}function lz(i){return/^-?(0+)\d/.test(i)}function y90(i,r,a){if(!r.isPadded)return i;let n=Math.abs(r.maxLen-String(i).length),o=a.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}Po.cache={};Po.clearCache=()=>Po.cache={};hz.exports=Po});var my=I0((fR0,vz)=>{"use strict";var D90=require("util"),gz=pz(),bz=i=>i!==null&&typeof i=="object"&&!Array.isArray(i),v90=i=>r=>i===!0?Number(r):String(r),by=i=>typeof i=="number"||typeof i=="string"&&i!=="",mf=i=>Number.isInteger(+i),gy=i=>{let r=`${i}`,a=-1;if(r[0]==="-"&&(r=r.slice(1)),r==="0")return!1;for(;r[++a]==="0";);return a>0},E90=(i,r,a)=>typeof i=="string"||typeof r=="string"?!0:a.stringify===!0,A90=(i,r,a)=>{if(r>0){let n=i[0]==="-"?"-":"";n&&(i=i.slice(1)),i=n+i.padStart(n?r-1:r,"0")}return a===!1?String(i):i},T5=(i,r)=>{let a=i[0]==="-"?"-":"";for(a&&(i=i.slice(1),r--);i.length<r;)i="0"+i;return a?"-"+i:i},C90=(i,r,a)=>{i.negatives.sort((_,i0)=>_<i0?-1:_>i0?1:0),i.positives.sort((_,i0)=>_<i0?-1:_>i0?1:0);let n=r.capture?"":"?:",o="",e="",s;return i.positives.length&&(o=i.positives.map(_=>T5(String(_),a)).join("|")),i.negatives.length&&(e=`-(${n}${i.negatives.map(_=>T5(String(_),a)).join("|")})`),o&&e?s=`${o}|${e}`:s=o||e,r.wrap?`(${n}${s})`:s},mz=(i,r,a,n)=>{if(a)return gz(i,r,{wrap:!1,...n});let o=String.fromCharCode(i);if(i===r)return o;let e=String.fromCharCode(r);return`[${o}-${e}]`},wz=(i,r,a)=>{if(Array.isArray(i)){let n=a.wrap===!0,o=a.capture?"":"?:";return n?`(${o}${i.join("|")})`:i.join("|")}return gz(i,r,a)},yz=(...i)=>new RangeError("Invalid range arguments: "+D90.inspect(...i)),Dz=(i,r,a)=>{if(a.strictRanges===!0)throw yz([i,r]);return[]},S90=(i,r)=>{if(r.strictRanges===!0)throw new TypeError(`Expected step "${i}" to be a number`);return[]},k90=(i,r,a=1,n={})=>{let o=Number(i),e=Number(r);if(!Number.isInteger(o)||!Number.isInteger(e)){if(n.strictRanges===!0)throw yz([i,r]);return[]}o===0&&(o=0),e===0&&(e=0);let s=o>e,_=String(i),i0=String(r),t0=String(a);a=Math.max(Math.abs(a),1);let r0=gy(_)||gy(i0)||gy(t0),c0=r0?Math.max(_.length,i0.length,t0.length):0,l0=r0===!1&&E90(i,r,n)===!1,d0=n.transform||v90(l0);if(n.toRegex&&a===1)return mz(T5(i,c0),T5(r,c0),!0,n);let v0={negatives:[],positives:[]},F0=j0=>v0[j0<0?"negatives":"positives"].push(Math.abs(j0)),O0=[],B0=0;for(;s?o>=e:o<=e;)n.toRegex===!0&&a>1?F0(o):O0.push(A90(d0(o,B0),c0,l0)),o=s?o-a:o+a,B0++;return n.toRegex===!0?a>1?C90(v0,n,c0):wz(O0,null,{wrap:!1,...n}):O0},O90=(i,r,a=1,n={})=>{if(!mf(i)&&i.length>1||!mf(r)&&r.length>1)return Dz(i,r,n);let o=n.transform||(l0=>String.fromCharCode(l0)),e=`${i}`.charCodeAt(0),s=`${r}`.charCodeAt(0),_=e>s,i0=Math.min(e,s),t0=Math.max(e,s);if(n.toRegex&&a===1)return mz(i0,t0,!1,n);let r0=[],c0=0;for(;_?e>=s:e<=s;)r0.push(o(e,c0)),e=_?e-a:e+a,c0++;return n.toRegex===!0?wz(r0,null,{wrap:!1,options:n}):r0},I5=(i,r,a,n={})=>{if(r==null&&by(i))return[i];if(!by(i)||!by(r))return Dz(i,r,n);if(typeof a=="function")return I5(i,r,1,{transform:a});if(bz(a))return I5(i,r,0,a);let o={...n};return o.capture===!0&&(o.wrap=!0),a=a||o.step||1,mf(a)?mf(i)&&mf(r)?k90(i,r,a,o):O90(i,r,Math.max(Math.abs(a),1),o):a!=null&&!bz(a)?S90(a,o):I5(i,r,1,a)};vz.exports=I5});var Cz=I0((dR0,Az)=>{"use strict";var F90=my(),Ez=O5(),I90=(i,r={})=>{let a=(n,o={})=>{let e=Ez.isInvalidBrace(o),s=n.invalid===!0&&r.escapeInvalid===!0,_=e===!0||s===!0,i0=r.escapeInvalid===!0?"\\":"",t0="";if(n.isOpen===!0)return i0+n.value;if(n.isClose===!0)return console.log("node.isClose",i0,n.value),i0+n.value;if(n.type==="open")return _?i0+n.value:"(";if(n.type==="close")return _?i0+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":_?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let r0=Ez.reduce(n.nodes),c0=F90(...r0,{...r,wrap:!1,toRegex:!0,strictZeros:!0});if(c0.length!==0)return r0.length>1&&c0.length>1?`(${c0})`:c0}if(n.nodes)for(let r0 of n.nodes)t0+=a(r0,n);return t0};return a(i)};Az.exports=I90});var Oz=I0((lR0,kz)=>{"use strict";var T90=my(),Sz=F5(),z7=O5(),_o=(i="",r="",a=!1)=>{let n=[];if(i=[].concat(i),r=[].concat(r),!r.length)return i;if(!i.length)return a?z7.flatten(r).map(o=>`{${o}}`):r;for(let o of i)if(Array.isArray(o))for(let e of o)n.push(_o(e,r,a));else for(let e of r)a===!0&&typeof e=="string"&&(e=`{${e}}`),n.push(Array.isArray(e)?_o(o,e,a):o+e);return z7.flatten(n)},R90=(i,r={})=>{let a=r.rangeLimit===void 0?1e3:r.rangeLimit,n=(o,e={})=>{o.queue=[];let s=e,_=e.queue;for(;s.type!=="brace"&&s.type!=="root"&&s.parent;)s=s.parent,_=s.queue;if(o.invalid||o.dollar){_.push(_o(_.pop(),Sz(o,r)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){_.push(_o(_.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let c0=z7.reduce(o.nodes);if(z7.exceedsLimit(...c0,r.step,a))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let l0=T90(...c0,r);l0.length===0&&(l0=Sz(o,r)),_.push(_o(_.pop(),l0)),o.nodes=[];return}let i0=z7.encloseBrace(o),t0=o.queue,r0=o;for(;r0.type!=="brace"&&r0.type!=="root"&&r0.parent;)r0=r0.parent,t0=r0.queue;for(let c0=0;c0<o.nodes.length;c0++){let l0=o.nodes[c0];if(l0.type==="comma"&&o.type==="brace"){c0===1&&t0.push(""),t0.push("");continue}if(l0.type==="close"){_.push(_o(_.pop(),t0,i0));continue}if(l0.value&&l0.type!=="open"){t0.push(_o(t0.pop(),l0.value));continue}l0.nodes&&n(l0,o)}return t0};return z7.flatten(n(i))};kz.exports=R90});var Iz=I0((hR0,Fz)=>{"use strict";Fz.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
239
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Bz=I0((pR0,_z)=>{"use strict";var P90=F5(),{MAX_LENGTH:Tz,CHAR_BACKSLASH:wy,CHAR_BACKTICK:_90,CHAR_COMMA:B90,CHAR_DOT:N90,CHAR_LEFT_PARENTHESES:L90,CHAR_RIGHT_PARENTHESES:M90,CHAR_LEFT_CURLY_BRACE:U90,CHAR_RIGHT_CURLY_BRACE:q90,CHAR_LEFT_SQUARE_BRACKET:Rz,CHAR_RIGHT_SQUARE_BRACKET:Pz,CHAR_DOUBLE_QUOTE:H90,CHAR_SINGLE_QUOTE:j90,CHAR_NO_BREAK_SPACE:V90,CHAR_ZERO_WIDTH_NOBREAK_SPACE:G90}=Iz(),z90=(i,r={})=>{if(typeof i!="string")throw new TypeError("Expected a string");let a=r||{},n=typeof a.maxLength=="number"?Math.min(Tz,a.maxLength):Tz;if(i.length>n)throw new SyntaxError(`Input length (${i.length}), exceeds max characters (${n})`);let o={type:"root",input:i,nodes:[]},e=[o],s=o,_=o,i0=0,t0=i.length,r0=0,c0=0,l0,d0=()=>i[r0++],v0=F0=>{if(F0.type==="text"&&_.type==="dot"&&(_.type="text"),_&&_.type==="text"&&F0.type==="text"){_.value+=F0.value;return}return s.nodes.push(F0),F0.parent=s,F0.prev=_,_=F0,F0};for(v0({type:"bos"});r0<t0;)if(s=e[e.length-1],l0=d0(),!(l0===G90||l0===V90)){if(l0===wy){v0({type:"text",value:(r.keepEscaping?l0:"")+d0()});continue}if(l0===Pz){v0({type:"text",value:"\\"+l0});continue}if(l0===Rz){i0++;let F0;for(;r0<t0&&(F0=d0());){if(l0+=F0,F0===Rz){i0++;continue}if(F0===wy){l0+=d0();continue}if(F0===Pz&&(i0--,i0===0))break}v0({type:"text",value:l0});continue}if(l0===L90){s=v0({type:"paren",nodes:[]}),e.push(s),v0({type:"text",value:l0});continue}if(l0===M90){if(s.type!=="paren"){v0({type:"text",value:l0});continue}s=e.pop(),v0({type:"text",value:l0}),s=e[e.length-1];continue}if(l0===H90||l0===j90||l0===_90){let F0=l0,O0;for(r.keepQuotes!==!0&&(l0="");r0<t0&&(O0=d0());){if(O0===wy){l0+=O0+d0();continue}if(O0===F0){r.keepQuotes===!0&&(l0+=O0);break}l0+=O0}v0({type:"text",value:l0});continue}if(l0===U90){c0++;let O0={type:"brace",open:!0,close:!1,dollar:_.value&&_.value.slice(-1)==="$"||s.dollar===!0,depth:c0,commas:0,ranges:0,nodes:[]};s=v0(O0),e.push(s),v0({type:"open",value:l0});continue}if(l0===q90){if(s.type!=="brace"){v0({type:"text",value:l0});continue}let F0="close";s=e.pop(),s.close=!0,v0({type:F0,value:l0}),c0--,s=e[e.length-1];continue}if(l0===B90&&c0>0){if(s.ranges>0){s.ranges=0;let F0=s.nodes.shift();s.nodes=[F0,{type:"text",value:P90(s)}]}v0({type:"comma",value:l0}),s.commas++;continue}if(l0===N90&&c0>0&&s.commas===0){let F0=s.nodes;if(c0===0||F0.length===0){v0({type:"text",value:l0});continue}if(_.type==="dot"){if(s.range=[],_.value+=l0,_.type="range",s.nodes.length!==3&&s.nodes.length!==5){s.invalid=!0,s.ranges=0,_.type="text";continue}s.ranges++,s.args=[];continue}if(_.type==="range"){F0.pop();let O0=F0[F0.length-1];O0.value+=_.value+l0,_=O0,s.ranges--;continue}v0({type:"dot",value:l0});continue}v0({type:"text",value:l0})}do if(s=e.pop(),s.type!=="root"){s.nodes.forEach(B0=>{B0.nodes||(B0.type==="open"&&(B0.isOpen=!0),B0.type==="close"&&(B0.isClose=!0),B0.nodes||(B0.type="text"),B0.invalid=!0)});let F0=e[e.length-1],O0=F0.nodes.indexOf(s);F0.nodes.splice(O0,1,...s.nodes)}while(e.length>0);return v0({type:"eos"}),o};_z.exports=z90});var Mz=I0((bR0,Lz)=>{"use strict";var Nz=F5(),Q90=Cz(),W90=Oz(),Y90=Bz(),yr=(i,r={})=>{let a=[];if(Array.isArray(i))for(let n of i){let o=yr.create(n,r);Array.isArray(o)?a.push(...o):a.push(o)}else a=[].concat(yr.create(i,r));return r&&r.expand===!0&&r.nodupes===!0&&(a=[...new Set(a)]),a};yr.parse=(i,r={})=>Y90(i,r);yr.stringify=(i,r={})=>Nz(typeof i=="string"?yr.parse(i,r):i,r);yr.compile=(i,r={})=>(typeof i=="string"&&(i=yr.parse(i,r)),Q90(i,r));yr.expand=(i,r={})=>{typeof i=="string"&&(i=yr.parse(i,r));let a=W90(i,r);return r.noempty===!0&&(a=a.filter(Boolean)),r.nodupes===!0&&(a=[...new Set(a)]),a};yr.create=(i,r={})=>i===""||i.length<3?[i]:r.expand!==!0?yr.compile(i,r):yr.expand(i,r);Lz.exports=yr});var wf=I0((gR0,Vz)=>{"use strict";var K90=require("path"),Mi="\\\\/",Uz=`[^${Mi}]`,bn="\\.",X90="\\+",J90="\\?",R5="\\/",Z90="(?=.)",qz="[^/]",yy=`(?:${R5}|$)`,Hz=`(?:^|${R5})`,Dy=`${bn}{1,2}${yy}`,$90=`(?!${bn})`,xb0=`(?!${Hz}${Dy})`,eb0=`(?!${bn}{0,1}${yy})`,tb0=`(?!${Dy})`,rb0=`[^.${R5}]`,ib0=`${qz}*?`,jz={DOT_LITERAL:bn,PLUS_LITERAL:X90,QMARK_LITERAL:J90,SLASH_LITERAL:R5,ONE_CHAR:Z90,QMARK:qz,END_ANCHOR:yy,DOTS_SLASH:Dy,NO_DOT:$90,NO_DOTS:xb0,NO_DOT_SLASH:eb0,NO_DOTS_SLASH:tb0,QMARK_NO_DOT:rb0,STAR:ib0,START_ANCHOR:Hz},nb0={...jz,SLASH_LITERAL:`[${Mi}]`,QMARK:Uz,STAR:`${Uz}*?`,DOTS_SLASH:`${bn}{1,2}(?:[${Mi}]|$)`,NO_DOT:`(?!${bn})`,NO_DOTS:`(?!(?:^|[${Mi}])${bn}{1,2}(?:[${Mi}]|$))`,NO_DOT_SLASH:`(?!${bn}{0,1}(?:[${Mi}]|$))`,NO_DOTS_SLASH:`(?!${bn}{1,2}(?:[${Mi}]|$))`,QMARK_NO_DOT:`[^.${Mi}]`,START_ANCHOR:`(?:^|[${Mi}])`,END_ANCHOR:`(?:[${Mi}]|$)`},ab0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Vz.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ab0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:K90.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?nb0:jz}}});var yf=I0(dr=>{"use strict";var sb0=require("path"),ob0=process.platform==="win32",{REGEX_BACKSLASH:cb0,REGEX_REMOVE_BACKSLASH:ub0,REGEX_SPECIAL_CHARS:fb0,REGEX_SPECIAL_CHARS_GLOBAL:db0}=wf();dr.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);dr.hasRegexChars=i=>fb0.test(i);dr.isRegexChar=i=>i.length===1&&dr.hasRegexChars(i);dr.escapeRegex=i=>i.replace(db0,"\\$1");dr.toPosixSlashes=i=>i.replace(cb0,"/");dr.removeBackslashes=i=>i.replace(ub0,r=>r==="\\"?"":r);dr.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};dr.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:ob0===!0||sb0.sep==="\\";dr.escapeLast=(i,r,a)=>{let n=i.lastIndexOf(r,a);return n===-1?i:i[n-1]==="\\"?dr.escapeLast(i,r,n-1):`${i.slice(0,n)}\\${i.slice(n)}`};dr.removePrefix=(i,r={})=>{let a=i;return a.startsWith("./")&&(a=a.slice(2),r.prefix="./"),a};dr.wrapOutput=(i,r={},a={})=>{let n=a.contains?"":"^",o=a.contains?"":"$",e=`${n}(?:${i})${o}`;return r.negated===!0&&(e=`(?:^(?!${e}).*$)`),e}});var Jz=I0((wR0,Xz)=>{"use strict";var Gz=yf(),{CHAR_ASTERISK:vy,CHAR_AT:lb0,CHAR_BACKWARD_SLASH:Df,CHAR_COMMA:hb0,CHAR_DOT:Ey,CHAR_EXCLAMATION_MARK:Ay,CHAR_FORWARD_SLASH:Kz,CHAR_LEFT_CURLY_BRACE:Cy,CHAR_LEFT_PARENTHESES:Sy,CHAR_LEFT_SQUARE_BRACKET:pb0,CHAR_PLUS:bb0,CHAR_QUESTION_MARK:zz,CHAR_RIGHT_CURLY_BRACE:gb0,CHAR_RIGHT_PARENTHESES:Qz,CHAR_RIGHT_SQUARE_BRACKET:mb0}=wf(),Wz=i=>i===Kz||i===Df,Yz=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},wb0=(i,r)=>{let a=r||{},n=i.length-1,o=a.parts===!0||a.scanToEnd===!0,e=[],s=[],_=[],i0=i,t0=-1,r0=0,c0=0,l0=!1,d0=!1,v0=!1,F0=!1,O0=!1,B0=!1,j0=!1,k0=!1,Y0=!1,z0=!1,sx=0,Q0,mx,K0={value:"",depth:0,isGlob:!1},wx=()=>t0>=n,$0=()=>i0.charCodeAt(t0+1),Mx=()=>(Q0=mx,i0.charCodeAt(++t0));for(;t0<n;){mx=Mx();let L0;if(mx===Df){j0=K0.backslashes=!0,mx=Mx(),mx===Cy&&(B0=!0);continue}if(B0===!0||mx===Cy){for(sx++;wx()!==!0&&(mx=Mx());){if(mx===Df){j0=K0.backslashes=!0,Mx();continue}if(mx===Cy){sx++;continue}if(B0!==!0&&mx===Ey&&(mx=Mx())===Ey){if(l0=K0.isBrace=!0,v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(B0!==!0&&mx===hb0){if(l0=K0.isBrace=!0,v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===gb0&&(sx--,sx===0)){B0=!1,l0=K0.isBrace=!0,z0=!0;break}}if(o===!0)continue;break}if(mx===Kz){if(e.push(t0),s.push(K0),K0={value:"",depth:0,isGlob:!1},z0===!0)continue;if(Q0===Ey&&t0===r0+1){r0+=2;continue}c0=t0+1;continue}if(a.noext!==!0&&(mx===bb0||mx===lb0||mx===vy||mx===zz||mx===Ay)===!0&&$0()===Sy){if(v0=K0.isGlob=!0,F0=K0.isExtglob=!0,z0=!0,mx===Ay&&t0===r0&&(Y0=!0),o===!0){for(;wx()!==!0&&(mx=Mx());){if(mx===Df){j0=K0.backslashes=!0,mx=Mx();continue}if(mx===Qz){v0=K0.isGlob=!0,z0=!0;break}}continue}break}if(mx===vy){if(Q0===vy&&(O0=K0.isGlobstar=!0),v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===zz){if(v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===pb0){for(;wx()!==!0&&(L0=Mx());){if(L0===Df){j0=K0.backslashes=!0,Mx();continue}if(L0===mb0){d0=K0.isBracket=!0,v0=K0.isGlob=!0,z0=!0;break}}if(o===!0)continue;break}if(a.nonegate!==!0&&mx===Ay&&t0===r0){k0=K0.negated=!0,r0++;continue}if(a.noparen!==!0&&mx===Sy){if(v0=K0.isGlob=!0,o===!0){for(;wx()!==!0&&(mx=Mx());){if(mx===Sy){j0=K0.backslashes=!0,mx=Mx();continue}if(mx===Qz){z0=!0;break}}continue}break}if(v0===!0){if(z0=!0,o===!0)continue;break}}a.noext===!0&&(F0=!1,v0=!1);let jx=i0,te="",A0="";r0>0&&(te=i0.slice(0,r0),i0=i0.slice(r0),c0-=r0),jx&&v0===!0&&c0>0?(jx=i0.slice(0,c0),A0=i0.slice(c0)):v0===!0?(jx="",A0=i0):jx=i0,jx&&jx!==""&&jx!=="/"&&jx!==i0&&Wz(jx.charCodeAt(jx.length-1))&&(jx=jx.slice(0,-1)),a.unescape===!0&&(A0&&(A0=Gz.removeBackslashes(A0)),jx&&j0===!0&&(jx=Gz.removeBackslashes(jx)));let N0={prefix:te,input:i,start:r0,base:jx,glob:A0,isBrace:l0,isBracket:d0,isGlob:v0,isExtglob:F0,isGlobstar:O0,negated:k0,negatedExtglob:Y0};if(a.tokens===!0&&(N0.maxDepth=0,Wz(mx)||s.push(K0),N0.tokens=s),a.parts===!0||a.tokens===!0){let L0;for(let H0=0;H0<e.length;H0++){let tx=L0?L0+1:r0,Fx=e[H0],yx=i.slice(tx,Fx);a.tokens&&(H0===0&&r0!==0?(s[H0].isPrefix=!0,s[H0].value=te):s[H0].value=yx,Yz(s[H0]),N0.maxDepth+=s[H0].depth),(H0!==0||yx!=="")&&_.push(yx),L0=Fx}if(L0&&L0+1<i.length){let H0=i.slice(L0+1);_.push(H0),a.tokens&&(s[s.length-1].value=H0,Yz(s[s.length-1]),N0.maxDepth+=s[s.length-1].depth)}N0.slashes=e,N0.parts=_}return N0};Xz.exports=wb0});var xQ=I0((yR0,$z)=>{"use strict";var P5=wf(),Dr=yf(),{MAX_LENGTH:_5,POSIX_REGEX_SOURCE:yb0,REGEX_NON_SPECIAL_CHARS:Db0,REGEX_SPECIAL_CHARS_BACKREF:vb0,REPLACEMENTS:Zz}=P5,Eb0=(i,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...i,r);i.sort();let a=`[${i.join("-")}]`;try{new RegExp(a)}catch{return i.map(o=>Dr.escapeRegex(o)).join("..")}return a},Q7=(i,r)=>`Missing ${i}: "${r}" - use "\\\\${r}" to match literal characters`,ky=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=Zz[i]||i;let a={...r},n=typeof a.maxLength=="number"?Math.min(_5,a.maxLength):_5,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let e={type:"bos",value:"",output:a.prepend||""},s=[e],_=a.capture?"":"?:",i0=Dr.isWindows(r),t0=P5.globChars(i0),r0=P5.extglobChars(t0),{DOT_LITERAL:c0,PLUS_LITERAL:l0,SLASH_LITERAL:d0,ONE_CHAR:v0,DOTS_SLASH:F0,NO_DOT:O0,NO_DOT_SLASH:B0,NO_DOTS_SLASH:j0,QMARK:k0,QMARK_NO_DOT:Y0,STAR:z0,START_ANCHOR:sx}=t0,Q0=ce=>`(${_}(?:(?!${sx}${ce.dot?F0:c0}).)*?)`,mx=a.dot?"":O0,K0=a.dot?k0:Y0,wx=a.bash===!0?Q0(a):z0;a.capture&&(wx=`(${wx})`),typeof a.noext=="boolean"&&(a.noextglob=a.noext);let $0={input:i,index:-1,start:0,dot:a.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:s};i=Dr.removePrefix(i,$0),o=i.length;let Mx=[],jx=[],te=[],A0=e,N0,L0=()=>$0.index===o-1,H0=$0.peek=(ce=1)=>i[$0.index+ce],tx=$0.advance=()=>i[++$0.index]||"",Fx=()=>i.slice($0.index+1),yx=(ce="",Ye=0)=>{$0.consumed+=ce,$0.index+=Ye},xe=ce=>{$0.output+=ce.output!=null?ce.output:ce.value,yx(ce.value)},Sx=()=>{let ce=1;for(;H0()==="!"&&(H0(2)!=="("||H0(3)==="?");)tx(),$0.start++,ce++;return ce%2===0?!1:($0.negated=!0,$0.start++,!0)},Vx=ce=>{$0[ce]++,te.push(ce)},Fe=ce=>{$0[ce]--,te.pop()},ne=ce=>{if(A0.type==="globstar"){let Ye=$0.braces>0&&(ce.type==="comma"||ce.type==="brace"),re=ce.extglob===!0||Mx.length&&(ce.type==="pipe"||ce.type==="paren");ce.type!=="slash"&&ce.type!=="paren"&&!Ye&&!re&&($0.output=$0.output.slice(0,-A0.output.length),A0.type="star",A0.value="*",A0.output=wx,$0.output+=A0.output)}if(Mx.length&&ce.type!=="paren"&&(Mx[Mx.length-1].inner+=ce.value),(ce.value||ce.output)&&xe(ce),A0&&A0.type==="text"&&ce.type==="text"){A0.value+=ce.value,A0.output=(A0.output||"")+ce.value;return}ce.prev=A0,s.push(ce),A0=ce},We=(ce,Ye)=>{let re={...r0[Ye],conditions:1,inner:""};re.prev=A0,re.parens=$0.parens,re.output=$0.output;let Le=(a.capture?"(":"")+re.open;Vx("parens"),ne({type:ce,value:Ye,output:$0.output?"":v0}),ne({type:"paren",extglob:!0,value:tx(),output:Le}),Mx.push(re)},Ct=ce=>{let Ye=ce.close+(a.capture?")":""),re;if(ce.type==="negate"){let Le=wx;if(ce.inner&&ce.inner.length>1&&ce.inner.includes("/")&&(Le=Q0(a)),(Le!==wx||L0()||/^\)+$/.test(Fx()))&&(Ye=ce.close=`)$))${Le}`),ce.inner.includes("*")&&(re=Fx())&&/^\.[^\\/.]+$/.test(re)){let y6=ky(re,{...r,fastpaths:!1}).output;Ye=ce.close=`)${y6})${Le})`}ce.prev.type==="bos"&&($0.negatedExtglob=!0)}ne({type:"paren",extglob:!0,value:N0,output:Ye}),Fe("parens")};if(a.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ce=!1,Ye=i.replace(vb0,(re,Le,y6,tt,R6,ji)=>tt==="\\"?(ce=!0,re):tt==="?"?Le?Le+tt+(R6?k0.repeat(R6.length):""):ji===0?K0+(R6?k0.repeat(R6.length):""):k0.repeat(y6.length):tt==="."?c0.repeat(y6.length):tt==="*"?Le?Le+tt+(R6?wx:""):wx:Le?re:`\\${re}`);return ce===!0&&(a.unescape===!0?Ye=Ye.replace(/\\/g,""):Ye=Ye.replace(/\\+/g,re=>re.length%2===0?"\\\\":re?"\\":"")),Ye===i&&a.contains===!0?($0.output=i,$0):($0.output=Dr.wrapOutput(Ye,$0,r),$0)}for(;!L0();){if(N0=tx(),N0==="\0")continue;if(N0==="\\"){let re=H0();if(re==="/"&&a.bash!==!0||re==="."||re===";")continue;if(!re){N0+="\\",ne({type:"text",value:N0});continue}let Le=/^\\+/.exec(Fx()),y6=0;if(Le&&Le[0].length>2&&(y6=Le[0].length,$0.index+=y6,y6%2!==0&&(N0+="\\")),a.unescape===!0?N0=tx():N0+=tx(),$0.brackets===0){ne({type:"text",value:N0});continue}}if($0.brackets>0&&(N0!=="]"||A0.value==="["||A0.value==="[^")){if(a.posix!==!1&&N0===":"){let re=A0.value.slice(1);if(re.includes("[")&&(A0.posix=!0,re.includes(":"))){let Le=A0.value.lastIndexOf("["),y6=A0.value.slice(0,Le),tt=A0.value.slice(Le+2),R6=yb0[tt];if(R6){A0.value=y6+R6,$0.backtrack=!0,tx(),!e.output&&s.indexOf(A0)===1&&(e.output=v0);continue}}}(N0==="["&&H0()!==":"||N0==="-"&&H0()==="]")&&(N0=`\\${N0}`),N0==="]"&&(A0.value==="["||A0.value==="[^")&&(N0=`\\${N0}`),a.posix===!0&&N0==="!"&&A0.value==="["&&(N0="^"),A0.value+=N0,xe({value:N0});continue}if($0.quotes===1&&N0!=='"'){N0=Dr.escapeRegex(N0),A0.value+=N0,xe({value:N0});continue}if(N0==='"'){$0.quotes=$0.quotes===1?0:1,a.keepQuotes===!0&&ne({type:"text",value:N0});continue}if(N0==="("){Vx("parens"),ne({type:"paren",value:N0});continue}if(N0===")"){if($0.parens===0&&a.strictBrackets===!0)throw new SyntaxError(Q7("opening","("));let re=Mx[Mx.length-1];if(re&&$0.parens===re.parens+1){Ct(Mx.pop());continue}ne({type:"paren",value:N0,output:$0.parens?")":"\\)"}),Fe("parens");continue}if(N0==="["){if(a.nobracket===!0||!Fx().includes("]")){if(a.nobracket!==!0&&a.strictBrackets===!0)throw new SyntaxError(Q7("closing","]"));N0=`\\${N0}`}else Vx("brackets");ne({type:"bracket",value:N0});continue}if(N0==="]"){if(a.nobracket===!0||A0&&A0.type==="bracket"&&A0.value.length===1){ne({type:"text",value:N0,output:`\\${N0}`});continue}if($0.brackets===0){if(a.strictBrackets===!0)throw new SyntaxError(Q7("opening","["));ne({type:"text",value:N0,output:`\\${N0}`});continue}Fe("brackets");let re=A0.value.slice(1);if(A0.posix!==!0&&re[0]==="^"&&!re.includes("/")&&(N0=`/${N0}`),A0.value+=N0,xe({value:N0}),a.literalBrackets===!1||Dr.hasRegexChars(re))continue;let Le=Dr.escapeRegex(A0.value);if($0.output=$0.output.slice(0,-A0.value.length),a.literalBrackets===!0){$0.output+=Le,A0.value=Le;continue}A0.value=`(${_}${Le}|${A0.value})`,$0.output+=A0.value;continue}if(N0==="{"&&a.nobrace!==!0){Vx("braces");let re={type:"brace",value:N0,output:"(",outputIndex:$0.output.length,tokensIndex:$0.tokens.length};jx.push(re),ne(re);continue}if(N0==="}"){let re=jx[jx.length-1];if(a.nobrace===!0||!re){ne({type:"text",value:N0,output:N0});continue}let Le=")";if(re.dots===!0){let y6=s.slice(),tt=[];for(let R6=y6.length-1;R6>=0&&(s.pop(),y6[R6].type!=="brace");R6--)y6[R6].type!=="dots"&&tt.unshift(y6[R6].value);Le=Eb0(tt,a),$0.backtrack=!0}if(re.comma!==!0&&re.dots!==!0){let y6=$0.output.slice(0,re.outputIndex),tt=$0.tokens.slice(re.tokensIndex);re.value=re.output="\\{",N0=Le="\\}",$0.output=y6;for(let R6 of tt)$0.output+=R6.output||R6.value}ne({type:"brace",value:N0,output:Le}),Fe("braces"),jx.pop();continue}if(N0==="|"){Mx.length>0&&Mx[Mx.length-1].conditions++,ne({type:"text",value:N0});continue}if(N0===","){let re=N0,Le=jx[jx.length-1];Le&&te[te.length-1]==="braces"&&(Le.comma=!0,re="|"),ne({type:"comma",value:N0,output:re});continue}if(N0==="/"){if(A0.type==="dot"&&$0.index===$0.start+1){$0.start=$0.index+1,$0.consumed="",$0.output="",s.pop(),A0=e;continue}ne({type:"slash",value:N0,output:d0});continue}if(N0==="."){if($0.braces>0&&A0.type==="dot"){A0.value==="."&&(A0.output=c0);let re=jx[jx.length-1];A0.type="dots",A0.output+=N0,A0.value+=N0,re.dots=!0;continue}if($0.braces+$0.parens===0&&A0.type!=="bos"&&A0.type!=="slash"){ne({type:"text",value:N0,output:c0});continue}ne({type:"dot",value:N0,output:c0});continue}if(N0==="?"){if(!(A0&&A0.value==="(")&&a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){We("qmark",N0);continue}if(A0&&A0.type==="paren"){let Le=H0(),y6=N0;if(Le==="<"&&!Dr.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(A0.value==="("&&!/[!=<:]/.test(Le)||Le==="<"&&!/<([!=]|\w+>)/.test(Fx()))&&(y6=`\\${N0}`),ne({type:"text",value:N0,output:y6});continue}if(a.dot!==!0&&(A0.type==="slash"||A0.type==="bos")){ne({type:"qmark",value:N0,output:Y0});continue}ne({type:"qmark",value:N0,output:k0});continue}if(N0==="!"){if(a.noextglob!==!0&&H0()==="("&&(H0(2)!=="?"||!/[!=<:]/.test(H0(3)))){We("negate",N0);continue}if(a.nonegate!==!0&&$0.index===0){Sx();continue}}if(N0==="+"){if(a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){We("plus",N0);continue}if(A0&&A0.value==="("||a.regex===!1){ne({type:"plus",value:N0,output:l0});continue}if(A0&&(A0.type==="bracket"||A0.type==="paren"||A0.type==="brace")||$0.parens>0){ne({type:"plus",value:N0});continue}ne({type:"plus",value:l0});continue}if(N0==="@"){if(a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){ne({type:"at",extglob:!0,value:N0,output:""});continue}ne({type:"text",value:N0});continue}if(N0!=="*"){(N0==="$"||N0==="^")&&(N0=`\\${N0}`);let re=Db0.exec(Fx());re&&(N0+=re[0],$0.index+=re[0].length),ne({type:"text",value:N0});continue}if(A0&&(A0.type==="globstar"||A0.star===!0)){A0.type="star",A0.star=!0,A0.value+=N0,A0.output=wx,$0.backtrack=!0,$0.globstar=!0,yx(N0);continue}let ce=Fx();if(a.noextglob!==!0&&/^\([^?]/.test(ce)){We("star",N0);continue}if(A0.type==="star"){if(a.noglobstar===!0){yx(N0);continue}let re=A0.prev,Le=re.prev,y6=re.type==="slash"||re.type==="bos",tt=Le&&(Le.type==="star"||Le.type==="globstar");if(a.bash===!0&&(!y6||ce[0]&&ce[0]!=="/")){ne({type:"star",value:N0,output:""});continue}let R6=$0.braces>0&&(re.type==="comma"||re.type==="brace"),ji=Mx.length&&(re.type==="pipe"||re.type==="paren");if(!y6&&re.type!=="paren"&&!R6&&!ji){ne({type:"star",value:N0,output:""});continue}for(;ce.slice(0,3)==="/**";){let Yr=i[$0.index+4];if(Yr&&Yr!=="/")break;ce=ce.slice(3),yx("/**",3)}if(re.type==="bos"&&L0()){A0.type="globstar",A0.value+=N0,A0.output=Q0(a),$0.output=A0.output,$0.globstar=!0,yx(N0);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&!tt&&L0()){$0.output=$0.output.slice(0,-(re.output+A0.output).length),re.output=`(?:${re.output}`,A0.type="globstar",A0.output=Q0(a)+(a.strictSlashes?")":"|$)"),A0.value+=N0,$0.globstar=!0,$0.output+=re.output+A0.output,yx(N0);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&ce[0]==="/"){let Yr=ce[1]!==void 0?"|$":"";$0.output=$0.output.slice(0,-(re.output+A0.output).length),re.output=`(?:${re.output}`,A0.type="globstar",A0.output=`${Q0(a)}${d0}|${d0}${Yr})`,A0.value+=N0,$0.output+=re.output+A0.output,$0.globstar=!0,yx(N0+tx()),ne({type:"slash",value:"/",output:""});continue}if(re.type==="bos"&&ce[0]==="/"){A0.type="globstar",A0.value+=N0,A0.output=`(?:^|${d0}|${Q0(a)}${d0})`,$0.output=A0.output,$0.globstar=!0,yx(N0+tx()),ne({type:"slash",value:"/",output:""});continue}$0.output=$0.output.slice(0,-A0.output.length),A0.type="globstar",A0.output=Q0(a),A0.value+=N0,$0.output+=A0.output,$0.globstar=!0,yx(N0);continue}let Ye={type:"star",value:N0,output:wx};if(a.bash===!0){Ye.output=".*?",(A0.type==="bos"||A0.type==="slash")&&(Ye.output=mx+Ye.output),ne(Ye);continue}if(A0&&(A0.type==="bracket"||A0.type==="paren")&&a.regex===!0){Ye.output=N0,ne(Ye);continue}($0.index===$0.start||A0.type==="slash"||A0.type==="dot")&&(A0.type==="dot"?($0.output+=B0,A0.output+=B0):a.dot===!0?($0.output+=j0,A0.output+=j0):($0.output+=mx,A0.output+=mx),H0()!=="*"&&($0.output+=v0,A0.output+=v0)),ne(Ye)}for(;$0.brackets>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing","]"));$0.output=Dr.escapeLast($0.output,"["),Fe("brackets")}for(;$0.parens>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing",")"));$0.output=Dr.escapeLast($0.output,"("),Fe("parens")}for(;$0.braces>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing","}"));$0.output=Dr.escapeLast($0.output,"{"),Fe("braces")}if(a.strictSlashes!==!0&&(A0.type==="star"||A0.type==="bracket")&&ne({type:"maybe_slash",value:"",output:`${d0}?`}),$0.backtrack===!0){$0.output="";for(let ce of $0.tokens)$0.output+=ce.output!=null?ce.output:ce.value,ce.suffix&&($0.output+=ce.suffix)}return $0};ky.fastpaths=(i,r)=>{let a={...r},n=typeof a.maxLength=="number"?Math.min(_5,a.maxLength):_5,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);i=Zz[i]||i;let e=Dr.isWindows(r),{DOT_LITERAL:s,SLASH_LITERAL:_,ONE_CHAR:i0,DOTS_SLASH:t0,NO_DOT:r0,NO_DOTS:c0,NO_DOTS_SLASH:l0,STAR:d0,START_ANCHOR:v0}=P5.globChars(e),F0=a.dot?c0:r0,O0=a.dot?l0:r0,B0=a.capture?"":"?:",j0={negated:!1,prefix:""},k0=a.bash===!0?".*?":d0;a.capture&&(k0=`(${k0})`);let Y0=mx=>mx.noglobstar===!0?k0:`(${B0}(?:(?!${v0}${mx.dot?t0:s}).)*?)`,z0=mx=>{switch(mx){case"*":return`${F0}${i0}${k0}`;case".*":return`${s}${i0}${k0}`;case"*.*":return`${F0}${k0}${s}${i0}${k0}`;case"*/*":return`${F0}${k0}${_}${i0}${O0}${k0}`;case"**":return F0+Y0(a);case"**/*":return`(?:${F0}${Y0(a)}${_})?${O0}${i0}${k0}`;case"**/*.*":return`(?:${F0}${Y0(a)}${_})?${O0}${k0}${s}${i0}${k0}`;case"**/.*":return`(?:${F0}${Y0(a)}${_})?${s}${i0}${k0}`;default:{let K0=/^(.*?)\.(\w+)$/.exec(mx);if(!K0)return;let wx=z0(K0[1]);return wx?wx+s+K0[2]:void 0}}},sx=Dr.removePrefix(i,j0),Q0=z0(sx);return Q0&&a.strictSlashes!==!0&&(Q0+=`${_}?`),Q0};$z.exports=ky});var tQ=I0((DR0,eQ)=>{"use strict";var Ab0=require("path"),Cb0=Jz(),Oy=xQ(),Fy=yf(),Sb0=wf(),kb0=i=>i&&typeof i=="object"&&!Array.isArray(i),Z6=(i,r,a=!1)=>{if(Array.isArray(i)){let r0=i.map(l0=>Z6(l0,r,a));return l0=>{for(let d0 of r0){let v0=d0(l0);if(v0)return v0}return!1}}let n=kb0(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=r||{},e=Fy.isWindows(r),s=n?Z6.compileRe(i,r):Z6.makeRe(i,r,!1,!0),_=s.state;delete s.state;let i0=()=>!1;if(o.ignore){let r0={...r,ignore:null,onMatch:null,onResult:null};i0=Z6(o.ignore,r0,a)}let t0=(r0,c0=!1)=>{let{isMatch:l0,match:d0,output:v0}=Z6.test(r0,s,r,{glob:i,posix:e}),F0={glob:i,state:_,regex:s,posix:e,input:r0,output:v0,match:d0,isMatch:l0};return typeof o.onResult=="function"&&o.onResult(F0),l0===!1?(F0.isMatch=!1,c0?F0:!1):i0(r0)?(typeof o.onIgnore=="function"&&o.onIgnore(F0),F0.isMatch=!1,c0?F0:!1):(typeof o.onMatch=="function"&&o.onMatch(F0),c0?F0:!0)};return a&&(t0.state=_),t0};Z6.test=(i,r,a,{glob:n,posix:o}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let e=a||{},s=e.format||(o?Fy.toPosixSlashes:null),_=i===n,i0=_&&s?s(i):i;return _===!1&&(i0=s?s(i):i,_=i0===n),(_===!1||e.capture===!0)&&(e.matchBase===!0||e.basename===!0?_=Z6.matchBase(i,r,a,o):_=r.exec(i0)),{isMatch:!!_,match:_,output:i0}};Z6.matchBase=(i,r,a,n=Fy.isWindows(a))=>(r instanceof RegExp?r:Z6.makeRe(r,a)).test(Ab0.basename(i));Z6.isMatch=(i,r,a)=>Z6(r,a)(i);Z6.parse=(i,r)=>Array.isArray(i)?i.map(a=>Z6.parse(a,r)):Oy(i,{...r,fastpaths:!1});Z6.scan=(i,r)=>Cb0(i,r);Z6.compileRe=(i,r,a=!1,n=!1)=>{if(a===!0)return i.output;let o=r||{},e=o.contains?"":"^",s=o.contains?"":"$",_=`${e}(?:${i.output})${s}`;i&&i.negated===!0&&(_=`^(?!${_}).*$`);let i0=Z6.toRegex(_,r);return n===!0&&(i0.state=i),i0};Z6.makeRe=(i,r={},a=!1,n=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(o.output=Oy.fastpaths(i,r)),o.output||(o=Oy(i,r)),Z6.compileRe(o,r,a,n)};Z6.toRegex=(i,r)=>{try{let a=r||{};return new RegExp(i,a.flags||(a.nocase?"i":""))}catch(a){if(r&&r.debug===!0)throw a;return/$^/}};Z6.constants=Sb0;eQ.exports=Z6});var iQ=I0((vR0,rQ)=>{"use strict";rQ.exports=tQ()});var uQ=I0((ER0,cQ)=>{"use strict";var aQ=require("util"),sQ=Mz(),Ui=iQ(),Iy=yf(),nQ=i=>i===""||i==="./",oQ=i=>{let r=i.indexOf("{");return r>-1&&i.indexOf("}",r)>-1},O6=(i,r,a)=>{r=[].concat(r),i=[].concat(i);let n=new Set,o=new Set,e=new Set,s=0,_=r0=>{e.add(r0.output),a&&a.onResult&&a.onResult(r0)};for(let r0=0;r0<r.length;r0++){let c0=Ui(String(r[r0]),{...a,onResult:_},!0),l0=c0.state.negated||c0.state.negatedExtglob;l0&&s++;for(let d0 of i){let v0=c0(d0,!0);(l0?!v0.isMatch:v0.isMatch)&&(l0?n.add(v0.output):(n.delete(v0.output),o.add(v0.output)))}}let t0=(s===r.length?[...e]:[...o]).filter(r0=>!n.has(r0));if(a&&t0.length===0){if(a.failglob===!0)throw new Error(`No matches found for "${r.join(", ")}"`);if(a.nonull===!0||a.nullglob===!0)return a.unescape?r.map(r0=>r0.replace(/\\/g,"")):r}return t0};O6.match=O6;O6.matcher=(i,r)=>Ui(i,r);O6.isMatch=(i,r,a)=>Ui(r,a)(i);O6.any=O6.isMatch;O6.not=(i,r,a={})=>{r=[].concat(r).map(String);let n=new Set,o=[],e=_=>{a.onResult&&a.onResult(_),o.push(_.output)},s=new Set(O6(i,r,{...a,onResult:e}));for(let _ of o)s.has(_)||n.add(_);return[...n]};O6.contains=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${aQ.inspect(i)}"`);if(Array.isArray(r))return r.some(n=>O6.contains(i,n,a));if(typeof r=="string"){if(nQ(i)||nQ(r))return!1;if(i.includes(r)||i.startsWith("./")&&i.slice(2).includes(r))return!0}return O6.isMatch(i,r,{...a,contains:!0})};O6.matchKeys=(i,r,a)=>{if(!Iy.isObject(i))throw new TypeError("Expected the first argument to be an object");let n=O6(Object.keys(i),r,a),o={};for(let e of n)o[e]=i[e];return o};O6.some=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=Ui(String(o),a);if(n.some(s=>e(s)))return!0}return!1};O6.every=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=Ui(String(o),a);if(!n.every(s=>e(s)))return!1}return!0};O6.all=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${aQ.inspect(i)}"`);return[].concat(r).every(n=>Ui(n,a)(i))};O6.capture=(i,r,a)=>{let n=Iy.isWindows(a),e=Ui.makeRe(String(i),{...a,capture:!0}).exec(n?Iy.toPosixSlashes(r):r);if(e)return e.slice(1).map(s=>s===void 0?"":s)};O6.makeRe=(...i)=>Ui.makeRe(...i);O6.scan=(...i)=>Ui.scan(...i);O6.parse=(i,r)=>{let a=[];for(let n of[].concat(i||[]))for(let o of sQ(String(n),r))a.push(Ui.parse(o,r));return a};O6.braces=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return r&&r.nobrace===!0||!oQ(i)?[i]:sQ(i,r)};O6.braceExpand=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return O6.braces(i,{...r,expand:!0})};O6.hasBraces=oQ;cQ.exports=O6});var $Q=I0((gP0,wn)=>{var m6=require("fs"),M5=require("os"),At=require("path"),NQ=require("crypto"),Hi={fs:m6.constants,os:M5.constants},LQ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",HQ=/XXXXXX/,$b0=3,jQ=(Hi.O_CREAT||Hi.fs.O_CREAT)|(Hi.O_EXCL||Hi.fs.O_EXCL)|(Hi.O_RDWR||Hi.fs.O_RDWR),xg0=M5.platform()==="win32",eg0=Hi.EBADF||Hi.os.errno.EBADF,tg0=Hi.ENOENT||Hi.os.errno.ENOENT,VQ=448,GQ=384,rg0="exit",Y7=[],zQ=m6.rmdirSync.bind(m6),QQ=!1;function ig0(i,r){return m6.rm(i,{recursive:!0},r)}function WQ(i){return m6.rmSync(i,{recursive:!0})}function Gy(i,r){let a=K7(i,r),n=a[0],o=a[1];hg0(n,function(e,s){if(e)return o(e);let _=s.tries;(function i0(){try{let t0=KQ(s);m6.stat(t0,function(r0){if(!r0)return _-- >0?i0():o(new Error("Could not get a unique tmp filename, max tries reached "+t0));o(null,t0)})}catch(t0){o(t0)}})()})}function zy(i){let r=K7(i),a=r[0],n=pg0(a),o=n.tries;do{let e=KQ(n);try{m6.statSync(e)}catch{return e}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function ng0(i,r){let a=K7(i,r),n=a[0],o=a[1];Gy(n,function(s,_){if(s)return o(s);m6.open(_,jQ,n.mode||GQ,function(t0,r0){if(t0)return o(t0);if(n.discardDescriptor)return m6.close(r0,function(l0){return o(l0,_,void 0,jy(_,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,_,r0,jy(_,c0?-1:r0,n,!1))}})})}function ag0(i){let r=K7(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=zy(a),e=m6.openSync(o,jQ,a.mode||GQ);return a.discardDescriptor&&(m6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:jy(o,n?-1:e,a,!0)}}function sg0(i,r){let a=K7(i,r),n=a[0],o=a[1];Gy(n,function(s,_){if(s)return o(s);m6.mkdir(_,n.mode||VQ,function(t0){if(t0)return o(t0);o(null,_,YQ(_,n,!1))})})}function og0(i){let r=K7(i),a=r[0],n=zy(a);return m6.mkdirSync(n,a.mode||VQ),{name:n,removeCallback:YQ(n,a,!0)}}function cg0(i,r){let a=function(n){if(n&&!Vy(n))return r(n);r()};0<=i[0]?m6.close(i[0],function(){m6.unlink(i[1],a)}):m6.unlink(i[1],a)}function ug0(i){let r=null;try{0<=i[0]&&m6.closeSync(i[0])}catch(a){if(!bg0(a)&&!Vy(a))throw a}finally{try{m6.unlinkSync(i[1])}catch(a){Vy(a)||(r=a)}}if(r!==null)throw r}function jy(i,r,a,n){let o=L5(ug0,[r,i],n),e=L5(cg0,[r,i],n,o);return a.keep||Y7.unshift(o),n?o:e}function YQ(i,r,a){let n=r.unsafeCleanup?ig0:m6.rmdir.bind(m6),o=r.unsafeCleanup?WQ:zQ,e=L5(o,i,a),s=L5(n,i,a,e);return r.keep||Y7.unshift(e),a?e:s}function L5(i,r,a,n){let o=!1;return function e(s){if(!o){let _=n||e,i0=Y7.indexOf(_);return i0>=0&&Y7.splice(i0,1),o=!0,a||i===zQ||i===WQ?i(r):i(r,s||function(){})}}}function fg0(){if(QQ)for(;Y7.length;)try{Y7[0]()}catch{}}function MQ(i){let r=[],a=null;try{a=NQ.randomBytes(i)}catch{a=NQ.pseudoRandomBytes(i)}for(let n=0;n<i;n++)r.push(LQ[a[n]%LQ.length]);return r.join("")}function vr(i){return typeof i>"u"}function K7(i,r){if(typeof i=="function")return[{},i];if(vr(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function dg0(i,r,a){let n=At.isAbsolute(i)?i:At.join(r,i);m6.stat(n,function(o){o?m6.realpath(At.dirname(n),function(e,s){if(e)return a(e);a(null,At.join(s,At.basename(n)))}):m6.realpath(n,a)})}function lg0(i,r){let a=At.isAbsolute(i)?i:At.join(r,i);try{return m6.statSync(a),m6.realpathSync(a)}catch{let o=m6.realpathSync(At.dirname(a));return At.join(o,At.basename(a))}}function KQ(i){let r=i.tmpdir;if(!vr(i.name))return At.join(r,i.dir,i.name);if(!vr(i.template))return At.join(r,i.dir,i.template).replace(HQ,MQ(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",MQ(12),i.postfix?"-"+i.postfix:""].join("");return At.join(r,i.dir,a)}function XQ(i){if(!vr(i.name)){let r=i.name;if(At.isAbsolute(r))throw new Error(`name option must not contain an absolute path, found "${r}".`);let a=At.basename(r);if(a===".."||a==="."||a!==r)throw new Error(`name option must not contain a path, found "${r}".`)}if(!vr(i.template)&&!i.template.match(HQ))throw new Error(`Invalid template, found "${i.template}".`);if(!vr(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=vr(i.name)?i.tries||$b0:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.prefix=vr(i.prefix)?"":i.prefix,i.postfix=vr(i.postfix)?"":i.postfix}function UQ(i,r,a,n){if(vr(r))return n(null);dg0(r,a,function(o,e){if(o)return n(o);let s=At.relative(a,e);if(!e.startsWith(a))return n(new Error(`${i} option must be relative to "${a}", found "${s}".`));n(null,s)})}function qQ(i,r,a){if(vr(r))return;let n=lg0(r,a),o=At.relative(a,n);if(!n.startsWith(a))throw new Error(`${i} option must be relative to "${a}", found "${o}".`);return o}function hg0(i,r){mg0(i,function(a,n){if(a)return r(a);i.tmpdir=n;try{XQ(i,n)}catch(o){return r(o)}UQ("dir",i.dir,n,function(o,e){if(o)return r(o);i.dir=vr(e)?"":e,UQ("template",i.template,n,function(s,_){if(s)return r(s);i.template=_,r(null,i)})})})}function pg0(i){let r=i.tmpdir=ZQ(i);XQ(i,r);let a=qQ("dir",i.dir,r);return i.dir=vr(a)?"":a,i.template=qQ("template",i.template,r),i}function bg0(i){return JQ(i,-eg0,"EBADF")}function Vy(i){return JQ(i,-tg0,"ENOENT")}function JQ(i,r,a){return xg0?i.code===a:i.code===a&&i.errno===r}function gg0(){QQ=!0}function mg0(i,r){return m6.realpath(i&&i.tmpdir||M5.tmpdir(),r)}function ZQ(i){return m6.realpathSync(i&&i.tmpdir||M5.tmpdir())}process.addListener(rg0,fg0);Object.defineProperty(wn.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return ZQ()}});wn.exports.dir=sg0;wn.exports.dirSync=og0;wn.exports.file=ng0;wn.exports.fileSync=ag0;wn.exports.tmpName=Gy;wn.exports.tmpNameSync=zy;wn.exports.setGracefulCleanup=gg0});var xD=require("node:process");var KD=Re(YD(),1),{program:kt,createCommand:am0,createArgument:sm0,createOption:om0,CommanderError:cm0,InvalidArgumentError:um0,InvalidOptionArgumentError:fm0,Command:dm0,Argument:lm0,Option:hm0,Help:pm0}=KD.default;var Kr={name:"@capgo/cli",version:"7.18.13",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md"},"//dependencies":{ky:"We temporarily fixed ky version until this issue is resolved: https://github.com/sindresorhus/ky/issues/689 otherwise nodejs upload fails on node 18/20"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.76.1","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/semver":"^7.7.1","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",ky:"1.13.0","latest-version":"^9.0.0",open:"^10.1.2",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.3",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var T7=require("node:fs");var Ot=Re(A6(),1),jo=require("node:process"),vn=Re(require("node:readline"),1),E3=Re(require("node:readline"),1),av=require("node:stream"),sv=Re(y3(),1);function pY({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 bY=pY();function ov(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(bY,"")}function cv(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var uv={exports:{}};(function(i){var r={};i.exports=r,r.eastAsianWidth=function(n){var o=n.charCodeAt(0),e=n.length==2?n.charCodeAt(1):0,s=o;return 55296<=o&&o<=56319&&56320<=e&&e<=57343&&(o&=1023,e&=1023,s=o<<10|e,s+=65536),s==12288||65281<=s&&s<=65376||65504<=s&&s<=65510?"F":s==8361||65377<=s&&s<=65470||65474<=s&&s<=65479||65482<=s&&s<=65487||65490<=s&&s<=65495||65498<=s&&s<=65500||65512<=s&&s<=65518?"H":4352<=s&&s<=4447||4515<=s&&s<=4519||4602<=s&&s<=4607||9001<=s&&s<=9002||11904<=s&&s<=11929||11931<=s&&s<=12019||12032<=s&&s<=12245||12272<=s&&s<=12283||12289<=s&&s<=12350||12353<=s&&s<=12438||12441<=s&&s<=12543||12549<=s&&s<=12589||12593<=s&&s<=12686||12688<=s&&s<=12730||12736<=s&&s<=12771||12784<=s&&s<=12830||12832<=s&&s<=12871||12880<=s&&s<=13054||13056<=s&&s<=19903||19968<=s&&s<=42124||42128<=s&&s<=42182||43360<=s&&s<=43388||44032<=s&&s<=55203||55216<=s&&s<=55238||55243<=s&&s<=55291||63744<=s&&s<=64255||65040<=s&&s<=65049||65072<=s&&s<=65106||65108<=s&&s<=65126||65128<=s&&s<=65131||110592<=s&&s<=110593||127488<=s&&s<=127490||127504<=s&&s<=127546||127552<=s&&s<=127560||127568<=s&&s<=127569||131072<=s&&s<=194367||177984<=s&&s<=196605||196608<=s&&s<=262141?"W":32<=s&&s<=126||162<=s&&s<=163||165<=s&&s<=166||s==172||s==175||10214<=s&&s<=10221||10629<=s&&s<=10630?"Na":s==161||s==164||167<=s&&s<=168||s==170||173<=s&&s<=174||176<=s&&s<=180||182<=s&&s<=186||188<=s&&s<=191||s==198||s==208||215<=s&&s<=216||222<=s&&s<=225||s==230||232<=s&&s<=234||236<=s&&s<=237||s==240||242<=s&&s<=243||247<=s&&s<=250||s==252||s==254||s==257||s==273||s==275||s==283||294<=s&&s<=295||s==299||305<=s&&s<=307||s==312||319<=s&&s<=322||s==324||328<=s&&s<=331||s==333||338<=s&&s<=339||358<=s&&s<=359||s==363||s==462||s==464||s==466||s==468||s==470||s==472||s==474||s==476||s==593||s==609||s==708||s==711||713<=s&&s<=715||s==717||s==720||728<=s&&s<=731||s==733||s==735||768<=s&&s<=879||913<=s&&s<=929||931<=s&&s<=937||945<=s&&s<=961||963<=s&&s<=969||s==1025||1040<=s&&s<=1103||s==1105||s==8208||8211<=s&&s<=8214||8216<=s&&s<=8217||8220<=s&&s<=8221||8224<=s&&s<=8226||8228<=s&&s<=8231||s==8240||8242<=s&&s<=8243||s==8245||s==8251||s==8254||s==8308||s==8319||8321<=s&&s<=8324||s==8364||s==8451||s==8453||s==8457||s==8467||s==8470||8481<=s&&s<=8482||s==8486||s==8491||8531<=s&&s<=8532||8539<=s&&s<=8542||8544<=s&&s<=8555||8560<=s&&s<=8569||s==8585||8592<=s&&s<=8601||8632<=s&&s<=8633||s==8658||s==8660||s==8679||s==8704||8706<=s&&s<=8707||8711<=s&&s<=8712||s==8715||s==8719||s==8721||s==8725||s==8730||8733<=s&&s<=8736||s==8739||s==8741||8743<=s&&s<=8748||s==8750||8756<=s&&s<=8759||8764<=s&&s<=8765||s==8776||s==8780||s==8786||8800<=s&&s<=8801||8804<=s&&s<=8807||8810<=s&&s<=8811||8814<=s&&s<=8815||8834<=s&&s<=8835||8838<=s&&s<=8839||s==8853||s==8857||s==8869||s==8895||s==8978||9312<=s&&s<=9449||9451<=s&&s<=9547||9552<=s&&s<=9587||9600<=s&&s<=9615||9618<=s&&s<=9621||9632<=s&&s<=9633||9635<=s&&s<=9641||9650<=s&&s<=9651||9654<=s&&s<=9655||9660<=s&&s<=9661||9664<=s&&s<=9665||9670<=s&&s<=9672||s==9675||9678<=s&&s<=9681||9698<=s&&s<=9701||s==9711||9733<=s&&s<=9734||s==9737||9742<=s&&s<=9743||9748<=s&&s<=9749||s==9756||s==9758||s==9792||s==9794||9824<=s&&s<=9825||9827<=s&&s<=9829||9831<=s&&s<=9834||9836<=s&&s<=9837||s==9839||9886<=s&&s<=9887||9918<=s&&s<=9919||9924<=s&&s<=9933||9935<=s&&s<=9953||s==9955||9960<=s&&s<=9983||s==10045||s==10071||10102<=s&&s<=10111||11093<=s&&s<=11097||12872<=s&&s<=12879||57344<=s&&s<=63743||65024<=s&&s<=65039||s==65533||127232<=s&&s<=127242||127248<=s&&s<=127277||127280<=s&&s<=127337||127344<=s&&s<=127386||917760<=s&&s<=917999||983040<=s&&s<=1048573||1048576<=s&&s<=1114109?"A":"N"},r.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function a(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}r.length=function(n){for(var o=a(n),e=0,s=0;s<o.length;s++)e=e+this.characterLength(o[s]);return e},r.slice=function(n,o,e){textLen=r.length(n),o=o||0,e=e||1,o<0&&(o=textLen+o),e<0&&(e=textLen+e);for(var s="",_=0,i0=a(n),t0=0;t0<i0.length;t0++){var r0=i0[t0],c0=r.length(r0);if(_>=o-(c0==2?1:0))if(_+c0<=e)s+=r0;else break;_+=c0}return s}})(uv);var gY=uv.exports,mY=cv(gY),wY=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},yY=cv(wY);function ec(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=ov(i),i.length===0))return 0;i=i.replace(yY()," ");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(mY.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var D3=10,$D=(i=0)=>r=>`\x1B[${r+i}m`,xv=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,ev=(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 DY=Object.keys(F6.color),vY=Object.keys(F6.bgColor);[...DY,...vY];function EY(){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=$D(),F6.color.ansi256=xv(),F6.color.ansi16m=ev(),F6.bgColor.ansi=$D(D3),F6.bgColor.ansi256=xv(D3),F6.bgColor.ansi16m=ev(D3),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 _=r%36;a=Math.floor(r/36)/5,n=Math.floor(_/6)/5,o=_%6/5}let e=Math.max(a,n,o)*2;if(e===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(a));return e===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,a,n)=>F6.ansi256ToAnsi(F6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>F6.ansi256ToAnsi(F6.hexToAnsi256(r)),enumerable:!1}}),F6}var AY=EY(),Zf=new Set(["\x1B","\x9B"]),CY=39,C3="\x07",fv="[",SY="]",dv="m",S3=`${SY}8;;`,tv=i=>`${Zf.values().next().value}${fv}${i}${dv}`,rv=i=>`${Zf.values().next().value}${S3}${i}${C3}`,kY=i=>i.split(" ").map(r=>ec(r)),v3=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=ec(ov(i[i.length-1]));for(let[_,i0]of n.entries()){let t0=ec(i0);if(s+t0<=a?i[i.length-1]+=i0:(i.push(i0),s=0),Zf.has(i0)&&(o=!0,e=n.slice(_+1).join("").startsWith(S3)),o){e?i0===C3&&(o=!1,e=!1):i0===dv&&(o=!1);continue}s+=t0,s===a&&_<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},OY=i=>{let r=i.split(" "),a=r.length;for(;a>0&&!(ec(r[a-1])>0);)a--;return a===r.length?i:r.slice(0,a).join(" ")+r.slice(a).join("")},FY=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=kY(i),_=[""];for(let[t0,r0]of i.split(" ").entries()){a.trim!==!1&&(_[_.length-1]=_[_.length-1].trimStart());let c0=ec(_[_.length-1]);if(t0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(_.push(""),c0=0),(c0>0||a.trim===!1)&&(_[_.length-1]+=" ",c0++)),a.hard&&s[t0]>r){let l0=r-c0,d0=1+Math.floor((s[t0]-l0-1)/r);Math.floor((s[t0]-1)/r)<d0&&_.push(""),v3(_,r0,r);continue}if(c0+s[t0]>r&&c0>0&&s[t0]>0){if(a.wordWrap===!1&&c0<r){v3(_,r0,r);continue}_.push("")}if(c0+s[t0]>r&&a.wordWrap===!1){v3(_,r0,r);continue}_[_.length-1]+=r0}a.trim!==!1&&(_=_.map(t0=>OY(t0)));let i0=[..._.join(`
239
+ `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Bz=I0((pR0,_z)=>{"use strict";var P90=F5(),{MAX_LENGTH:Tz,CHAR_BACKSLASH:wy,CHAR_BACKTICK:_90,CHAR_COMMA:B90,CHAR_DOT:N90,CHAR_LEFT_PARENTHESES:L90,CHAR_RIGHT_PARENTHESES:M90,CHAR_LEFT_CURLY_BRACE:U90,CHAR_RIGHT_CURLY_BRACE:q90,CHAR_LEFT_SQUARE_BRACKET:Rz,CHAR_RIGHT_SQUARE_BRACKET:Pz,CHAR_DOUBLE_QUOTE:H90,CHAR_SINGLE_QUOTE:j90,CHAR_NO_BREAK_SPACE:V90,CHAR_ZERO_WIDTH_NOBREAK_SPACE:G90}=Iz(),z90=(i,r={})=>{if(typeof i!="string")throw new TypeError("Expected a string");let a=r||{},n=typeof a.maxLength=="number"?Math.min(Tz,a.maxLength):Tz;if(i.length>n)throw new SyntaxError(`Input length (${i.length}), exceeds max characters (${n})`);let o={type:"root",input:i,nodes:[]},e=[o],s=o,_=o,i0=0,t0=i.length,r0=0,c0=0,l0,d0=()=>i[r0++],v0=F0=>{if(F0.type==="text"&&_.type==="dot"&&(_.type="text"),_&&_.type==="text"&&F0.type==="text"){_.value+=F0.value;return}return s.nodes.push(F0),F0.parent=s,F0.prev=_,_=F0,F0};for(v0({type:"bos"});r0<t0;)if(s=e[e.length-1],l0=d0(),!(l0===G90||l0===V90)){if(l0===wy){v0({type:"text",value:(r.keepEscaping?l0:"")+d0()});continue}if(l0===Pz){v0({type:"text",value:"\\"+l0});continue}if(l0===Rz){i0++;let F0;for(;r0<t0&&(F0=d0());){if(l0+=F0,F0===Rz){i0++;continue}if(F0===wy){l0+=d0();continue}if(F0===Pz&&(i0--,i0===0))break}v0({type:"text",value:l0});continue}if(l0===L90){s=v0({type:"paren",nodes:[]}),e.push(s),v0({type:"text",value:l0});continue}if(l0===M90){if(s.type!=="paren"){v0({type:"text",value:l0});continue}s=e.pop(),v0({type:"text",value:l0}),s=e[e.length-1];continue}if(l0===H90||l0===j90||l0===_90){let F0=l0,O0;for(r.keepQuotes!==!0&&(l0="");r0<t0&&(O0=d0());){if(O0===wy){l0+=O0+d0();continue}if(O0===F0){r.keepQuotes===!0&&(l0+=O0);break}l0+=O0}v0({type:"text",value:l0});continue}if(l0===U90){c0++;let O0={type:"brace",open:!0,close:!1,dollar:_.value&&_.value.slice(-1)==="$"||s.dollar===!0,depth:c0,commas:0,ranges:0,nodes:[]};s=v0(O0),e.push(s),v0({type:"open",value:l0});continue}if(l0===q90){if(s.type!=="brace"){v0({type:"text",value:l0});continue}let F0="close";s=e.pop(),s.close=!0,v0({type:F0,value:l0}),c0--,s=e[e.length-1];continue}if(l0===B90&&c0>0){if(s.ranges>0){s.ranges=0;let F0=s.nodes.shift();s.nodes=[F0,{type:"text",value:P90(s)}]}v0({type:"comma",value:l0}),s.commas++;continue}if(l0===N90&&c0>0&&s.commas===0){let F0=s.nodes;if(c0===0||F0.length===0){v0({type:"text",value:l0});continue}if(_.type==="dot"){if(s.range=[],_.value+=l0,_.type="range",s.nodes.length!==3&&s.nodes.length!==5){s.invalid=!0,s.ranges=0,_.type="text";continue}s.ranges++,s.args=[];continue}if(_.type==="range"){F0.pop();let O0=F0[F0.length-1];O0.value+=_.value+l0,_=O0,s.ranges--;continue}v0({type:"dot",value:l0});continue}v0({type:"text",value:l0})}do if(s=e.pop(),s.type!=="root"){s.nodes.forEach(B0=>{B0.nodes||(B0.type==="open"&&(B0.isOpen=!0),B0.type==="close"&&(B0.isClose=!0),B0.nodes||(B0.type="text"),B0.invalid=!0)});let F0=e[e.length-1],O0=F0.nodes.indexOf(s);F0.nodes.splice(O0,1,...s.nodes)}while(e.length>0);return v0({type:"eos"}),o};_z.exports=z90});var Mz=I0((bR0,Lz)=>{"use strict";var Nz=F5(),Q90=Cz(),W90=Oz(),Y90=Bz(),yr=(i,r={})=>{let a=[];if(Array.isArray(i))for(let n of i){let o=yr.create(n,r);Array.isArray(o)?a.push(...o):a.push(o)}else a=[].concat(yr.create(i,r));return r&&r.expand===!0&&r.nodupes===!0&&(a=[...new Set(a)]),a};yr.parse=(i,r={})=>Y90(i,r);yr.stringify=(i,r={})=>Nz(typeof i=="string"?yr.parse(i,r):i,r);yr.compile=(i,r={})=>(typeof i=="string"&&(i=yr.parse(i,r)),Q90(i,r));yr.expand=(i,r={})=>{typeof i=="string"&&(i=yr.parse(i,r));let a=W90(i,r);return r.noempty===!0&&(a=a.filter(Boolean)),r.nodupes===!0&&(a=[...new Set(a)]),a};yr.create=(i,r={})=>i===""||i.length<3?[i]:r.expand!==!0?yr.compile(i,r):yr.expand(i,r);Lz.exports=yr});var wf=I0((gR0,Vz)=>{"use strict";var K90=require("path"),Mi="\\\\/",Uz=`[^${Mi}]`,bn="\\.",X90="\\+",J90="\\?",R5="\\/",Z90="(?=.)",qz="[^/]",yy=`(?:${R5}|$)`,Hz=`(?:^|${R5})`,Dy=`${bn}{1,2}${yy}`,$90=`(?!${bn})`,xb0=`(?!${Hz}${Dy})`,eb0=`(?!${bn}{0,1}${yy})`,tb0=`(?!${Dy})`,rb0=`[^.${R5}]`,ib0=`${qz}*?`,jz={DOT_LITERAL:bn,PLUS_LITERAL:X90,QMARK_LITERAL:J90,SLASH_LITERAL:R5,ONE_CHAR:Z90,QMARK:qz,END_ANCHOR:yy,DOTS_SLASH:Dy,NO_DOT:$90,NO_DOTS:xb0,NO_DOT_SLASH:eb0,NO_DOTS_SLASH:tb0,QMARK_NO_DOT:rb0,STAR:ib0,START_ANCHOR:Hz},nb0={...jz,SLASH_LITERAL:`[${Mi}]`,QMARK:Uz,STAR:`${Uz}*?`,DOTS_SLASH:`${bn}{1,2}(?:[${Mi}]|$)`,NO_DOT:`(?!${bn})`,NO_DOTS:`(?!(?:^|[${Mi}])${bn}{1,2}(?:[${Mi}]|$))`,NO_DOT_SLASH:`(?!${bn}{0,1}(?:[${Mi}]|$))`,NO_DOTS_SLASH:`(?!${bn}{1,2}(?:[${Mi}]|$))`,QMARK_NO_DOT:`[^.${Mi}]`,START_ANCHOR:`(?:^|[${Mi}])`,END_ANCHOR:`(?:[${Mi}]|$)`},ab0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Vz.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:ab0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:K90.sep,extglobChars(i){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${i.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(i){return i===!0?nb0:jz}}});var yf=I0(dr=>{"use strict";var sb0=require("path"),ob0=process.platform==="win32",{REGEX_BACKSLASH:cb0,REGEX_REMOVE_BACKSLASH:ub0,REGEX_SPECIAL_CHARS:fb0,REGEX_SPECIAL_CHARS_GLOBAL:db0}=wf();dr.isObject=i=>i!==null&&typeof i=="object"&&!Array.isArray(i);dr.hasRegexChars=i=>fb0.test(i);dr.isRegexChar=i=>i.length===1&&dr.hasRegexChars(i);dr.escapeRegex=i=>i.replace(db0,"\\$1");dr.toPosixSlashes=i=>i.replace(cb0,"/");dr.removeBackslashes=i=>i.replace(ub0,r=>r==="\\"?"":r);dr.supportsLookbehinds=()=>{let i=process.version.slice(1).split(".").map(Number);return i.length===3&&i[0]>=9||i[0]===8&&i[1]>=10};dr.isWindows=i=>i&&typeof i.windows=="boolean"?i.windows:ob0===!0||sb0.sep==="\\";dr.escapeLast=(i,r,a)=>{let n=i.lastIndexOf(r,a);return n===-1?i:i[n-1]==="\\"?dr.escapeLast(i,r,n-1):`${i.slice(0,n)}\\${i.slice(n)}`};dr.removePrefix=(i,r={})=>{let a=i;return a.startsWith("./")&&(a=a.slice(2),r.prefix="./"),a};dr.wrapOutput=(i,r={},a={})=>{let n=a.contains?"":"^",o=a.contains?"":"$",e=`${n}(?:${i})${o}`;return r.negated===!0&&(e=`(?:^(?!${e}).*$)`),e}});var Jz=I0((wR0,Xz)=>{"use strict";var Gz=yf(),{CHAR_ASTERISK:vy,CHAR_AT:lb0,CHAR_BACKWARD_SLASH:Df,CHAR_COMMA:hb0,CHAR_DOT:Ey,CHAR_EXCLAMATION_MARK:Ay,CHAR_FORWARD_SLASH:Kz,CHAR_LEFT_CURLY_BRACE:Cy,CHAR_LEFT_PARENTHESES:Sy,CHAR_LEFT_SQUARE_BRACKET:pb0,CHAR_PLUS:bb0,CHAR_QUESTION_MARK:zz,CHAR_RIGHT_CURLY_BRACE:gb0,CHAR_RIGHT_PARENTHESES:Qz,CHAR_RIGHT_SQUARE_BRACKET:mb0}=wf(),Wz=i=>i===Kz||i===Df,Yz=i=>{i.isPrefix!==!0&&(i.depth=i.isGlobstar?1/0:1)},wb0=(i,r)=>{let a=r||{},n=i.length-1,o=a.parts===!0||a.scanToEnd===!0,e=[],s=[],_=[],i0=i,t0=-1,r0=0,c0=0,l0=!1,d0=!1,v0=!1,F0=!1,O0=!1,B0=!1,j0=!1,k0=!1,Y0=!1,z0=!1,sx=0,Q0,mx,K0={value:"",depth:0,isGlob:!1},wx=()=>t0>=n,$0=()=>i0.charCodeAt(t0+1),Mx=()=>(Q0=mx,i0.charCodeAt(++t0));for(;t0<n;){mx=Mx();let L0;if(mx===Df){j0=K0.backslashes=!0,mx=Mx(),mx===Cy&&(B0=!0);continue}if(B0===!0||mx===Cy){for(sx++;wx()!==!0&&(mx=Mx());){if(mx===Df){j0=K0.backslashes=!0,Mx();continue}if(mx===Cy){sx++;continue}if(B0!==!0&&mx===Ey&&(mx=Mx())===Ey){if(l0=K0.isBrace=!0,v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(B0!==!0&&mx===hb0){if(l0=K0.isBrace=!0,v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===gb0&&(sx--,sx===0)){B0=!1,l0=K0.isBrace=!0,z0=!0;break}}if(o===!0)continue;break}if(mx===Kz){if(e.push(t0),s.push(K0),K0={value:"",depth:0,isGlob:!1},z0===!0)continue;if(Q0===Ey&&t0===r0+1){r0+=2;continue}c0=t0+1;continue}if(a.noext!==!0&&(mx===bb0||mx===lb0||mx===vy||mx===zz||mx===Ay)===!0&&$0()===Sy){if(v0=K0.isGlob=!0,F0=K0.isExtglob=!0,z0=!0,mx===Ay&&t0===r0&&(Y0=!0),o===!0){for(;wx()!==!0&&(mx=Mx());){if(mx===Df){j0=K0.backslashes=!0,mx=Mx();continue}if(mx===Qz){v0=K0.isGlob=!0,z0=!0;break}}continue}break}if(mx===vy){if(Q0===vy&&(O0=K0.isGlobstar=!0),v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===zz){if(v0=K0.isGlob=!0,z0=!0,o===!0)continue;break}if(mx===pb0){for(;wx()!==!0&&(L0=Mx());){if(L0===Df){j0=K0.backslashes=!0,Mx();continue}if(L0===mb0){d0=K0.isBracket=!0,v0=K0.isGlob=!0,z0=!0;break}}if(o===!0)continue;break}if(a.nonegate!==!0&&mx===Ay&&t0===r0){k0=K0.negated=!0,r0++;continue}if(a.noparen!==!0&&mx===Sy){if(v0=K0.isGlob=!0,o===!0){for(;wx()!==!0&&(mx=Mx());){if(mx===Sy){j0=K0.backslashes=!0,mx=Mx();continue}if(mx===Qz){z0=!0;break}}continue}break}if(v0===!0){if(z0=!0,o===!0)continue;break}}a.noext===!0&&(F0=!1,v0=!1);let jx=i0,te="",A0="";r0>0&&(te=i0.slice(0,r0),i0=i0.slice(r0),c0-=r0),jx&&v0===!0&&c0>0?(jx=i0.slice(0,c0),A0=i0.slice(c0)):v0===!0?(jx="",A0=i0):jx=i0,jx&&jx!==""&&jx!=="/"&&jx!==i0&&Wz(jx.charCodeAt(jx.length-1))&&(jx=jx.slice(0,-1)),a.unescape===!0&&(A0&&(A0=Gz.removeBackslashes(A0)),jx&&j0===!0&&(jx=Gz.removeBackslashes(jx)));let N0={prefix:te,input:i,start:r0,base:jx,glob:A0,isBrace:l0,isBracket:d0,isGlob:v0,isExtglob:F0,isGlobstar:O0,negated:k0,negatedExtglob:Y0};if(a.tokens===!0&&(N0.maxDepth=0,Wz(mx)||s.push(K0),N0.tokens=s),a.parts===!0||a.tokens===!0){let L0;for(let H0=0;H0<e.length;H0++){let tx=L0?L0+1:r0,Fx=e[H0],yx=i.slice(tx,Fx);a.tokens&&(H0===0&&r0!==0?(s[H0].isPrefix=!0,s[H0].value=te):s[H0].value=yx,Yz(s[H0]),N0.maxDepth+=s[H0].depth),(H0!==0||yx!=="")&&_.push(yx),L0=Fx}if(L0&&L0+1<i.length){let H0=i.slice(L0+1);_.push(H0),a.tokens&&(s[s.length-1].value=H0,Yz(s[s.length-1]),N0.maxDepth+=s[s.length-1].depth)}N0.slashes=e,N0.parts=_}return N0};Xz.exports=wb0});var xQ=I0((yR0,$z)=>{"use strict";var P5=wf(),Dr=yf(),{MAX_LENGTH:_5,POSIX_REGEX_SOURCE:yb0,REGEX_NON_SPECIAL_CHARS:Db0,REGEX_SPECIAL_CHARS_BACKREF:vb0,REPLACEMENTS:Zz}=P5,Eb0=(i,r)=>{if(typeof r.expandRange=="function")return r.expandRange(...i,r);i.sort();let a=`[${i.join("-")}]`;try{new RegExp(a)}catch{return i.map(o=>Dr.escapeRegex(o)).join("..")}return a},Q7=(i,r)=>`Missing ${i}: "${r}" - use "\\\\${r}" to match literal characters`,ky=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");i=Zz[i]||i;let a={...r},n=typeof a.maxLength=="number"?Math.min(_5,a.maxLength):_5,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let e={type:"bos",value:"",output:a.prepend||""},s=[e],_=a.capture?"":"?:",i0=Dr.isWindows(r),t0=P5.globChars(i0),r0=P5.extglobChars(t0),{DOT_LITERAL:c0,PLUS_LITERAL:l0,SLASH_LITERAL:d0,ONE_CHAR:v0,DOTS_SLASH:F0,NO_DOT:O0,NO_DOT_SLASH:B0,NO_DOTS_SLASH:j0,QMARK:k0,QMARK_NO_DOT:Y0,STAR:z0,START_ANCHOR:sx}=t0,Q0=ce=>`(${_}(?:(?!${sx}${ce.dot?F0:c0}).)*?)`,mx=a.dot?"":O0,K0=a.dot?k0:Y0,wx=a.bash===!0?Q0(a):z0;a.capture&&(wx=`(${wx})`),typeof a.noext=="boolean"&&(a.noextglob=a.noext);let $0={input:i,index:-1,start:0,dot:a.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:s};i=Dr.removePrefix(i,$0),o=i.length;let Mx=[],jx=[],te=[],A0=e,N0,L0=()=>$0.index===o-1,H0=$0.peek=(ce=1)=>i[$0.index+ce],tx=$0.advance=()=>i[++$0.index]||"",Fx=()=>i.slice($0.index+1),yx=(ce="",Ye=0)=>{$0.consumed+=ce,$0.index+=Ye},xe=ce=>{$0.output+=ce.output!=null?ce.output:ce.value,yx(ce.value)},Sx=()=>{let ce=1;for(;H0()==="!"&&(H0(2)!=="("||H0(3)==="?");)tx(),$0.start++,ce++;return ce%2===0?!1:($0.negated=!0,$0.start++,!0)},Vx=ce=>{$0[ce]++,te.push(ce)},Fe=ce=>{$0[ce]--,te.pop()},ne=ce=>{if(A0.type==="globstar"){let Ye=$0.braces>0&&(ce.type==="comma"||ce.type==="brace"),re=ce.extglob===!0||Mx.length&&(ce.type==="pipe"||ce.type==="paren");ce.type!=="slash"&&ce.type!=="paren"&&!Ye&&!re&&($0.output=$0.output.slice(0,-A0.output.length),A0.type="star",A0.value="*",A0.output=wx,$0.output+=A0.output)}if(Mx.length&&ce.type!=="paren"&&(Mx[Mx.length-1].inner+=ce.value),(ce.value||ce.output)&&xe(ce),A0&&A0.type==="text"&&ce.type==="text"){A0.value+=ce.value,A0.output=(A0.output||"")+ce.value;return}ce.prev=A0,s.push(ce),A0=ce},We=(ce,Ye)=>{let re={...r0[Ye],conditions:1,inner:""};re.prev=A0,re.parens=$0.parens,re.output=$0.output;let Le=(a.capture?"(":"")+re.open;Vx("parens"),ne({type:ce,value:Ye,output:$0.output?"":v0}),ne({type:"paren",extglob:!0,value:tx(),output:Le}),Mx.push(re)},Ct=ce=>{let Ye=ce.close+(a.capture?")":""),re;if(ce.type==="negate"){let Le=wx;if(ce.inner&&ce.inner.length>1&&ce.inner.includes("/")&&(Le=Q0(a)),(Le!==wx||L0()||/^\)+$/.test(Fx()))&&(Ye=ce.close=`)$))${Le}`),ce.inner.includes("*")&&(re=Fx())&&/^\.[^\\/.]+$/.test(re)){let y6=ky(re,{...r,fastpaths:!1}).output;Ye=ce.close=`)${y6})${Le})`}ce.prev.type==="bos"&&($0.negatedExtglob=!0)}ne({type:"paren",extglob:!0,value:N0,output:Ye}),Fe("parens")};if(a.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(i)){let ce=!1,Ye=i.replace(vb0,(re,Le,y6,tt,R6,ji)=>tt==="\\"?(ce=!0,re):tt==="?"?Le?Le+tt+(R6?k0.repeat(R6.length):""):ji===0?K0+(R6?k0.repeat(R6.length):""):k0.repeat(y6.length):tt==="."?c0.repeat(y6.length):tt==="*"?Le?Le+tt+(R6?wx:""):wx:Le?re:`\\${re}`);return ce===!0&&(a.unescape===!0?Ye=Ye.replace(/\\/g,""):Ye=Ye.replace(/\\+/g,re=>re.length%2===0?"\\\\":re?"\\":"")),Ye===i&&a.contains===!0?($0.output=i,$0):($0.output=Dr.wrapOutput(Ye,$0,r),$0)}for(;!L0();){if(N0=tx(),N0==="\0")continue;if(N0==="\\"){let re=H0();if(re==="/"&&a.bash!==!0||re==="."||re===";")continue;if(!re){N0+="\\",ne({type:"text",value:N0});continue}let Le=/^\\+/.exec(Fx()),y6=0;if(Le&&Le[0].length>2&&(y6=Le[0].length,$0.index+=y6,y6%2!==0&&(N0+="\\")),a.unescape===!0?N0=tx():N0+=tx(),$0.brackets===0){ne({type:"text",value:N0});continue}}if($0.brackets>0&&(N0!=="]"||A0.value==="["||A0.value==="[^")){if(a.posix!==!1&&N0===":"){let re=A0.value.slice(1);if(re.includes("[")&&(A0.posix=!0,re.includes(":"))){let Le=A0.value.lastIndexOf("["),y6=A0.value.slice(0,Le),tt=A0.value.slice(Le+2),R6=yb0[tt];if(R6){A0.value=y6+R6,$0.backtrack=!0,tx(),!e.output&&s.indexOf(A0)===1&&(e.output=v0);continue}}}(N0==="["&&H0()!==":"||N0==="-"&&H0()==="]")&&(N0=`\\${N0}`),N0==="]"&&(A0.value==="["||A0.value==="[^")&&(N0=`\\${N0}`),a.posix===!0&&N0==="!"&&A0.value==="["&&(N0="^"),A0.value+=N0,xe({value:N0});continue}if($0.quotes===1&&N0!=='"'){N0=Dr.escapeRegex(N0),A0.value+=N0,xe({value:N0});continue}if(N0==='"'){$0.quotes=$0.quotes===1?0:1,a.keepQuotes===!0&&ne({type:"text",value:N0});continue}if(N0==="("){Vx("parens"),ne({type:"paren",value:N0});continue}if(N0===")"){if($0.parens===0&&a.strictBrackets===!0)throw new SyntaxError(Q7("opening","("));let re=Mx[Mx.length-1];if(re&&$0.parens===re.parens+1){Ct(Mx.pop());continue}ne({type:"paren",value:N0,output:$0.parens?")":"\\)"}),Fe("parens");continue}if(N0==="["){if(a.nobracket===!0||!Fx().includes("]")){if(a.nobracket!==!0&&a.strictBrackets===!0)throw new SyntaxError(Q7("closing","]"));N0=`\\${N0}`}else Vx("brackets");ne({type:"bracket",value:N0});continue}if(N0==="]"){if(a.nobracket===!0||A0&&A0.type==="bracket"&&A0.value.length===1){ne({type:"text",value:N0,output:`\\${N0}`});continue}if($0.brackets===0){if(a.strictBrackets===!0)throw new SyntaxError(Q7("opening","["));ne({type:"text",value:N0,output:`\\${N0}`});continue}Fe("brackets");let re=A0.value.slice(1);if(A0.posix!==!0&&re[0]==="^"&&!re.includes("/")&&(N0=`/${N0}`),A0.value+=N0,xe({value:N0}),a.literalBrackets===!1||Dr.hasRegexChars(re))continue;let Le=Dr.escapeRegex(A0.value);if($0.output=$0.output.slice(0,-A0.value.length),a.literalBrackets===!0){$0.output+=Le,A0.value=Le;continue}A0.value=`(${_}${Le}|${A0.value})`,$0.output+=A0.value;continue}if(N0==="{"&&a.nobrace!==!0){Vx("braces");let re={type:"brace",value:N0,output:"(",outputIndex:$0.output.length,tokensIndex:$0.tokens.length};jx.push(re),ne(re);continue}if(N0==="}"){let re=jx[jx.length-1];if(a.nobrace===!0||!re){ne({type:"text",value:N0,output:N0});continue}let Le=")";if(re.dots===!0){let y6=s.slice(),tt=[];for(let R6=y6.length-1;R6>=0&&(s.pop(),y6[R6].type!=="brace");R6--)y6[R6].type!=="dots"&&tt.unshift(y6[R6].value);Le=Eb0(tt,a),$0.backtrack=!0}if(re.comma!==!0&&re.dots!==!0){let y6=$0.output.slice(0,re.outputIndex),tt=$0.tokens.slice(re.tokensIndex);re.value=re.output="\\{",N0=Le="\\}",$0.output=y6;for(let R6 of tt)$0.output+=R6.output||R6.value}ne({type:"brace",value:N0,output:Le}),Fe("braces"),jx.pop();continue}if(N0==="|"){Mx.length>0&&Mx[Mx.length-1].conditions++,ne({type:"text",value:N0});continue}if(N0===","){let re=N0,Le=jx[jx.length-1];Le&&te[te.length-1]==="braces"&&(Le.comma=!0,re="|"),ne({type:"comma",value:N0,output:re});continue}if(N0==="/"){if(A0.type==="dot"&&$0.index===$0.start+1){$0.start=$0.index+1,$0.consumed="",$0.output="",s.pop(),A0=e;continue}ne({type:"slash",value:N0,output:d0});continue}if(N0==="."){if($0.braces>0&&A0.type==="dot"){A0.value==="."&&(A0.output=c0);let re=jx[jx.length-1];A0.type="dots",A0.output+=N0,A0.value+=N0,re.dots=!0;continue}if($0.braces+$0.parens===0&&A0.type!=="bos"&&A0.type!=="slash"){ne({type:"text",value:N0,output:c0});continue}ne({type:"dot",value:N0,output:c0});continue}if(N0==="?"){if(!(A0&&A0.value==="(")&&a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){We("qmark",N0);continue}if(A0&&A0.type==="paren"){let Le=H0(),y6=N0;if(Le==="<"&&!Dr.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(A0.value==="("&&!/[!=<:]/.test(Le)||Le==="<"&&!/<([!=]|\w+>)/.test(Fx()))&&(y6=`\\${N0}`),ne({type:"text",value:N0,output:y6});continue}if(a.dot!==!0&&(A0.type==="slash"||A0.type==="bos")){ne({type:"qmark",value:N0,output:Y0});continue}ne({type:"qmark",value:N0,output:k0});continue}if(N0==="!"){if(a.noextglob!==!0&&H0()==="("&&(H0(2)!=="?"||!/[!=<:]/.test(H0(3)))){We("negate",N0);continue}if(a.nonegate!==!0&&$0.index===0){Sx();continue}}if(N0==="+"){if(a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){We("plus",N0);continue}if(A0&&A0.value==="("||a.regex===!1){ne({type:"plus",value:N0,output:l0});continue}if(A0&&(A0.type==="bracket"||A0.type==="paren"||A0.type==="brace")||$0.parens>0){ne({type:"plus",value:N0});continue}ne({type:"plus",value:l0});continue}if(N0==="@"){if(a.noextglob!==!0&&H0()==="("&&H0(2)!=="?"){ne({type:"at",extglob:!0,value:N0,output:""});continue}ne({type:"text",value:N0});continue}if(N0!=="*"){(N0==="$"||N0==="^")&&(N0=`\\${N0}`);let re=Db0.exec(Fx());re&&(N0+=re[0],$0.index+=re[0].length),ne({type:"text",value:N0});continue}if(A0&&(A0.type==="globstar"||A0.star===!0)){A0.type="star",A0.star=!0,A0.value+=N0,A0.output=wx,$0.backtrack=!0,$0.globstar=!0,yx(N0);continue}let ce=Fx();if(a.noextglob!==!0&&/^\([^?]/.test(ce)){We("star",N0);continue}if(A0.type==="star"){if(a.noglobstar===!0){yx(N0);continue}let re=A0.prev,Le=re.prev,y6=re.type==="slash"||re.type==="bos",tt=Le&&(Le.type==="star"||Le.type==="globstar");if(a.bash===!0&&(!y6||ce[0]&&ce[0]!=="/")){ne({type:"star",value:N0,output:""});continue}let R6=$0.braces>0&&(re.type==="comma"||re.type==="brace"),ji=Mx.length&&(re.type==="pipe"||re.type==="paren");if(!y6&&re.type!=="paren"&&!R6&&!ji){ne({type:"star",value:N0,output:""});continue}for(;ce.slice(0,3)==="/**";){let Yr=i[$0.index+4];if(Yr&&Yr!=="/")break;ce=ce.slice(3),yx("/**",3)}if(re.type==="bos"&&L0()){A0.type="globstar",A0.value+=N0,A0.output=Q0(a),$0.output=A0.output,$0.globstar=!0,yx(N0);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&!tt&&L0()){$0.output=$0.output.slice(0,-(re.output+A0.output).length),re.output=`(?:${re.output}`,A0.type="globstar",A0.output=Q0(a)+(a.strictSlashes?")":"|$)"),A0.value+=N0,$0.globstar=!0,$0.output+=re.output+A0.output,yx(N0);continue}if(re.type==="slash"&&re.prev.type!=="bos"&&ce[0]==="/"){let Yr=ce[1]!==void 0?"|$":"";$0.output=$0.output.slice(0,-(re.output+A0.output).length),re.output=`(?:${re.output}`,A0.type="globstar",A0.output=`${Q0(a)}${d0}|${d0}${Yr})`,A0.value+=N0,$0.output+=re.output+A0.output,$0.globstar=!0,yx(N0+tx()),ne({type:"slash",value:"/",output:""});continue}if(re.type==="bos"&&ce[0]==="/"){A0.type="globstar",A0.value+=N0,A0.output=`(?:^|${d0}|${Q0(a)}${d0})`,$0.output=A0.output,$0.globstar=!0,yx(N0+tx()),ne({type:"slash",value:"/",output:""});continue}$0.output=$0.output.slice(0,-A0.output.length),A0.type="globstar",A0.output=Q0(a),A0.value+=N0,$0.output+=A0.output,$0.globstar=!0,yx(N0);continue}let Ye={type:"star",value:N0,output:wx};if(a.bash===!0){Ye.output=".*?",(A0.type==="bos"||A0.type==="slash")&&(Ye.output=mx+Ye.output),ne(Ye);continue}if(A0&&(A0.type==="bracket"||A0.type==="paren")&&a.regex===!0){Ye.output=N0,ne(Ye);continue}($0.index===$0.start||A0.type==="slash"||A0.type==="dot")&&(A0.type==="dot"?($0.output+=B0,A0.output+=B0):a.dot===!0?($0.output+=j0,A0.output+=j0):($0.output+=mx,A0.output+=mx),H0()!=="*"&&($0.output+=v0,A0.output+=v0)),ne(Ye)}for(;$0.brackets>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing","]"));$0.output=Dr.escapeLast($0.output,"["),Fe("brackets")}for(;$0.parens>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing",")"));$0.output=Dr.escapeLast($0.output,"("),Fe("parens")}for(;$0.braces>0;){if(a.strictBrackets===!0)throw new SyntaxError(Q7("closing","}"));$0.output=Dr.escapeLast($0.output,"{"),Fe("braces")}if(a.strictSlashes!==!0&&(A0.type==="star"||A0.type==="bracket")&&ne({type:"maybe_slash",value:"",output:`${d0}?`}),$0.backtrack===!0){$0.output="";for(let ce of $0.tokens)$0.output+=ce.output!=null?ce.output:ce.value,ce.suffix&&($0.output+=ce.suffix)}return $0};ky.fastpaths=(i,r)=>{let a={...r},n=typeof a.maxLength=="number"?Math.min(_5,a.maxLength):_5,o=i.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);i=Zz[i]||i;let e=Dr.isWindows(r),{DOT_LITERAL:s,SLASH_LITERAL:_,ONE_CHAR:i0,DOTS_SLASH:t0,NO_DOT:r0,NO_DOTS:c0,NO_DOTS_SLASH:l0,STAR:d0,START_ANCHOR:v0}=P5.globChars(e),F0=a.dot?c0:r0,O0=a.dot?l0:r0,B0=a.capture?"":"?:",j0={negated:!1,prefix:""},k0=a.bash===!0?".*?":d0;a.capture&&(k0=`(${k0})`);let Y0=mx=>mx.noglobstar===!0?k0:`(${B0}(?:(?!${v0}${mx.dot?t0:s}).)*?)`,z0=mx=>{switch(mx){case"*":return`${F0}${i0}${k0}`;case".*":return`${s}${i0}${k0}`;case"*.*":return`${F0}${k0}${s}${i0}${k0}`;case"*/*":return`${F0}${k0}${_}${i0}${O0}${k0}`;case"**":return F0+Y0(a);case"**/*":return`(?:${F0}${Y0(a)}${_})?${O0}${i0}${k0}`;case"**/*.*":return`(?:${F0}${Y0(a)}${_})?${O0}${k0}${s}${i0}${k0}`;case"**/.*":return`(?:${F0}${Y0(a)}${_})?${s}${i0}${k0}`;default:{let K0=/^(.*?)\.(\w+)$/.exec(mx);if(!K0)return;let wx=z0(K0[1]);return wx?wx+s+K0[2]:void 0}}},sx=Dr.removePrefix(i,j0),Q0=z0(sx);return Q0&&a.strictSlashes!==!0&&(Q0+=`${_}?`),Q0};$z.exports=ky});var tQ=I0((DR0,eQ)=>{"use strict";var Ab0=require("path"),Cb0=Jz(),Oy=xQ(),Fy=yf(),Sb0=wf(),kb0=i=>i&&typeof i=="object"&&!Array.isArray(i),Z6=(i,r,a=!1)=>{if(Array.isArray(i)){let r0=i.map(l0=>Z6(l0,r,a));return l0=>{for(let d0 of r0){let v0=d0(l0);if(v0)return v0}return!1}}let n=kb0(i)&&i.tokens&&i.input;if(i===""||typeof i!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=r||{},e=Fy.isWindows(r),s=n?Z6.compileRe(i,r):Z6.makeRe(i,r,!1,!0),_=s.state;delete s.state;let i0=()=>!1;if(o.ignore){let r0={...r,ignore:null,onMatch:null,onResult:null};i0=Z6(o.ignore,r0,a)}let t0=(r0,c0=!1)=>{let{isMatch:l0,match:d0,output:v0}=Z6.test(r0,s,r,{glob:i,posix:e}),F0={glob:i,state:_,regex:s,posix:e,input:r0,output:v0,match:d0,isMatch:l0};return typeof o.onResult=="function"&&o.onResult(F0),l0===!1?(F0.isMatch=!1,c0?F0:!1):i0(r0)?(typeof o.onIgnore=="function"&&o.onIgnore(F0),F0.isMatch=!1,c0?F0:!1):(typeof o.onMatch=="function"&&o.onMatch(F0),c0?F0:!0)};return a&&(t0.state=_),t0};Z6.test=(i,r,a,{glob:n,posix:o}={})=>{if(typeof i!="string")throw new TypeError("Expected input to be a string");if(i==="")return{isMatch:!1,output:""};let e=a||{},s=e.format||(o?Fy.toPosixSlashes:null),_=i===n,i0=_&&s?s(i):i;return _===!1&&(i0=s?s(i):i,_=i0===n),(_===!1||e.capture===!0)&&(e.matchBase===!0||e.basename===!0?_=Z6.matchBase(i,r,a,o):_=r.exec(i0)),{isMatch:!!_,match:_,output:i0}};Z6.matchBase=(i,r,a,n=Fy.isWindows(a))=>(r instanceof RegExp?r:Z6.makeRe(r,a)).test(Ab0.basename(i));Z6.isMatch=(i,r,a)=>Z6(r,a)(i);Z6.parse=(i,r)=>Array.isArray(i)?i.map(a=>Z6.parse(a,r)):Oy(i,{...r,fastpaths:!1});Z6.scan=(i,r)=>Cb0(i,r);Z6.compileRe=(i,r,a=!1,n=!1)=>{if(a===!0)return i.output;let o=r||{},e=o.contains?"":"^",s=o.contains?"":"$",_=`${e}(?:${i.output})${s}`;i&&i.negated===!0&&(_=`^(?!${_}).*$`);let i0=Z6.toRegex(_,r);return n===!0&&(i0.state=i),i0};Z6.makeRe=(i,r={},a=!1,n=!1)=>{if(!i||typeof i!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return r.fastpaths!==!1&&(i[0]==="."||i[0]==="*")&&(o.output=Oy.fastpaths(i,r)),o.output||(o=Oy(i,r)),Z6.compileRe(o,r,a,n)};Z6.toRegex=(i,r)=>{try{let a=r||{};return new RegExp(i,a.flags||(a.nocase?"i":""))}catch(a){if(r&&r.debug===!0)throw a;return/$^/}};Z6.constants=Sb0;eQ.exports=Z6});var iQ=I0((vR0,rQ)=>{"use strict";rQ.exports=tQ()});var uQ=I0((ER0,cQ)=>{"use strict";var aQ=require("util"),sQ=Mz(),Ui=iQ(),Iy=yf(),nQ=i=>i===""||i==="./",oQ=i=>{let r=i.indexOf("{");return r>-1&&i.indexOf("}",r)>-1},O6=(i,r,a)=>{r=[].concat(r),i=[].concat(i);let n=new Set,o=new Set,e=new Set,s=0,_=r0=>{e.add(r0.output),a&&a.onResult&&a.onResult(r0)};for(let r0=0;r0<r.length;r0++){let c0=Ui(String(r[r0]),{...a,onResult:_},!0),l0=c0.state.negated||c0.state.negatedExtglob;l0&&s++;for(let d0 of i){let v0=c0(d0,!0);(l0?!v0.isMatch:v0.isMatch)&&(l0?n.add(v0.output):(n.delete(v0.output),o.add(v0.output)))}}let t0=(s===r.length?[...e]:[...o]).filter(r0=>!n.has(r0));if(a&&t0.length===0){if(a.failglob===!0)throw new Error(`No matches found for "${r.join(", ")}"`);if(a.nonull===!0||a.nullglob===!0)return a.unescape?r.map(r0=>r0.replace(/\\/g,"")):r}return t0};O6.match=O6;O6.matcher=(i,r)=>Ui(i,r);O6.isMatch=(i,r,a)=>Ui(r,a)(i);O6.any=O6.isMatch;O6.not=(i,r,a={})=>{r=[].concat(r).map(String);let n=new Set,o=[],e=_=>{a.onResult&&a.onResult(_),o.push(_.output)},s=new Set(O6(i,r,{...a,onResult:e}));for(let _ of o)s.has(_)||n.add(_);return[...n]};O6.contains=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${aQ.inspect(i)}"`);if(Array.isArray(r))return r.some(n=>O6.contains(i,n,a));if(typeof r=="string"){if(nQ(i)||nQ(r))return!1;if(i.includes(r)||i.startsWith("./")&&i.slice(2).includes(r))return!0}return O6.isMatch(i,r,{...a,contains:!0})};O6.matchKeys=(i,r,a)=>{if(!Iy.isObject(i))throw new TypeError("Expected the first argument to be an object");let n=O6(Object.keys(i),r,a),o={};for(let e of n)o[e]=i[e];return o};O6.some=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=Ui(String(o),a);if(n.some(s=>e(s)))return!0}return!1};O6.every=(i,r,a)=>{let n=[].concat(i);for(let o of[].concat(r)){let e=Ui(String(o),a);if(!n.every(s=>e(s)))return!1}return!0};O6.all=(i,r,a)=>{if(typeof i!="string")throw new TypeError(`Expected a string: "${aQ.inspect(i)}"`);return[].concat(r).every(n=>Ui(n,a)(i))};O6.capture=(i,r,a)=>{let n=Iy.isWindows(a),e=Ui.makeRe(String(i),{...a,capture:!0}).exec(n?Iy.toPosixSlashes(r):r);if(e)return e.slice(1).map(s=>s===void 0?"":s)};O6.makeRe=(...i)=>Ui.makeRe(...i);O6.scan=(...i)=>Ui.scan(...i);O6.parse=(i,r)=>{let a=[];for(let n of[].concat(i||[]))for(let o of sQ(String(n),r))a.push(Ui.parse(o,r));return a};O6.braces=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return r&&r.nobrace===!0||!oQ(i)?[i]:sQ(i,r)};O6.braceExpand=(i,r)=>{if(typeof i!="string")throw new TypeError("Expected a string");return O6.braces(i,{...r,expand:!0})};O6.hasBraces=oQ;cQ.exports=O6});var $Q=I0((gP0,wn)=>{var m6=require("fs"),M5=require("os"),At=require("path"),NQ=require("crypto"),Hi={fs:m6.constants,os:M5.constants},LQ="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",HQ=/XXXXXX/,$b0=3,jQ=(Hi.O_CREAT||Hi.fs.O_CREAT)|(Hi.O_EXCL||Hi.fs.O_EXCL)|(Hi.O_RDWR||Hi.fs.O_RDWR),xg0=M5.platform()==="win32",eg0=Hi.EBADF||Hi.os.errno.EBADF,tg0=Hi.ENOENT||Hi.os.errno.ENOENT,VQ=448,GQ=384,rg0="exit",Y7=[],zQ=m6.rmdirSync.bind(m6),QQ=!1;function ig0(i,r){return m6.rm(i,{recursive:!0},r)}function WQ(i){return m6.rmSync(i,{recursive:!0})}function Gy(i,r){let a=K7(i,r),n=a[0],o=a[1];hg0(n,function(e,s){if(e)return o(e);let _=s.tries;(function i0(){try{let t0=KQ(s);m6.stat(t0,function(r0){if(!r0)return _-- >0?i0():o(new Error("Could not get a unique tmp filename, max tries reached "+t0));o(null,t0)})}catch(t0){o(t0)}})()})}function zy(i){let r=K7(i),a=r[0],n=pg0(a),o=n.tries;do{let e=KQ(n);try{m6.statSync(e)}catch{return e}}while(o-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function ng0(i,r){let a=K7(i,r),n=a[0],o=a[1];Gy(n,function(s,_){if(s)return o(s);m6.open(_,jQ,n.mode||GQ,function(t0,r0){if(t0)return o(t0);if(n.discardDescriptor)return m6.close(r0,function(l0){return o(l0,_,void 0,jy(_,-1,n,!1))});{let c0=n.discardDescriptor||n.detachDescriptor;o(null,_,r0,jy(_,c0?-1:r0,n,!1))}})})}function ag0(i){let r=K7(i),a=r[0],n=a.discardDescriptor||a.detachDescriptor,o=zy(a),e=m6.openSync(o,jQ,a.mode||GQ);return a.discardDescriptor&&(m6.closeSync(e),e=void 0),{name:o,fd:e,removeCallback:jy(o,n?-1:e,a,!0)}}function sg0(i,r){let a=K7(i,r),n=a[0],o=a[1];Gy(n,function(s,_){if(s)return o(s);m6.mkdir(_,n.mode||VQ,function(t0){if(t0)return o(t0);o(null,_,YQ(_,n,!1))})})}function og0(i){let r=K7(i),a=r[0],n=zy(a);return m6.mkdirSync(n,a.mode||VQ),{name:n,removeCallback:YQ(n,a,!0)}}function cg0(i,r){let a=function(n){if(n&&!Vy(n))return r(n);r()};0<=i[0]?m6.close(i[0],function(){m6.unlink(i[1],a)}):m6.unlink(i[1],a)}function ug0(i){let r=null;try{0<=i[0]&&m6.closeSync(i[0])}catch(a){if(!bg0(a)&&!Vy(a))throw a}finally{try{m6.unlinkSync(i[1])}catch(a){Vy(a)||(r=a)}}if(r!==null)throw r}function jy(i,r,a,n){let o=L5(ug0,[r,i],n),e=L5(cg0,[r,i],n,o);return a.keep||Y7.unshift(o),n?o:e}function YQ(i,r,a){let n=r.unsafeCleanup?ig0:m6.rmdir.bind(m6),o=r.unsafeCleanup?WQ:zQ,e=L5(o,i,a),s=L5(n,i,a,e);return r.keep||Y7.unshift(e),a?e:s}function L5(i,r,a,n){let o=!1;return function e(s){if(!o){let _=n||e,i0=Y7.indexOf(_);return i0>=0&&Y7.splice(i0,1),o=!0,a||i===zQ||i===WQ?i(r):i(r,s||function(){})}}}function fg0(){if(QQ)for(;Y7.length;)try{Y7[0]()}catch{}}function MQ(i){let r=[],a=null;try{a=NQ.randomBytes(i)}catch{a=NQ.pseudoRandomBytes(i)}for(let n=0;n<i;n++)r.push(LQ[a[n]%LQ.length]);return r.join("")}function vr(i){return typeof i>"u"}function K7(i,r){if(typeof i=="function")return[{},i];if(vr(i))return[{},r];let a={};for(let n of Object.getOwnPropertyNames(i))a[n]=i[n];return[a,r]}function dg0(i,r,a){let n=At.isAbsolute(i)?i:At.join(r,i);m6.stat(n,function(o){o?m6.realpath(At.dirname(n),function(e,s){if(e)return a(e);a(null,At.join(s,At.basename(n)))}):m6.realpath(n,a)})}function lg0(i,r){let a=At.isAbsolute(i)?i:At.join(r,i);try{return m6.statSync(a),m6.realpathSync(a)}catch{let o=m6.realpathSync(At.dirname(a));return At.join(o,At.basename(a))}}function KQ(i){let r=i.tmpdir;if(!vr(i.name))return At.join(r,i.dir,i.name);if(!vr(i.template))return At.join(r,i.dir,i.template).replace(HQ,MQ(6));let a=[i.prefix?i.prefix:"tmp","-",process.pid,"-",MQ(12),i.postfix?"-"+i.postfix:""].join("");return At.join(r,i.dir,a)}function XQ(i){if(!vr(i.name)){let r=i.name;if(At.isAbsolute(r))throw new Error(`name option must not contain an absolute path, found "${r}".`);let a=At.basename(r);if(a===".."||a==="."||a!==r)throw new Error(`name option must not contain a path, found "${r}".`)}if(!vr(i.template)&&!i.template.match(HQ))throw new Error(`Invalid template, found "${i.template}".`);if(!vr(i.tries)&&isNaN(i.tries)||i.tries<0)throw new Error(`Invalid tries, found "${i.tries}".`);i.tries=vr(i.name)?i.tries||$b0:1,i.keep=!!i.keep,i.detachDescriptor=!!i.detachDescriptor,i.discardDescriptor=!!i.discardDescriptor,i.unsafeCleanup=!!i.unsafeCleanup,i.prefix=vr(i.prefix)?"":i.prefix,i.postfix=vr(i.postfix)?"":i.postfix}function UQ(i,r,a,n){if(vr(r))return n(null);dg0(r,a,function(o,e){if(o)return n(o);let s=At.relative(a,e);if(!e.startsWith(a))return n(new Error(`${i} option must be relative to "${a}", found "${s}".`));n(null,s)})}function qQ(i,r,a){if(vr(r))return;let n=lg0(r,a),o=At.relative(a,n);if(!n.startsWith(a))throw new Error(`${i} option must be relative to "${a}", found "${o}".`);return o}function hg0(i,r){mg0(i,function(a,n){if(a)return r(a);i.tmpdir=n;try{XQ(i,n)}catch(o){return r(o)}UQ("dir",i.dir,n,function(o,e){if(o)return r(o);i.dir=vr(e)?"":e,UQ("template",i.template,n,function(s,_){if(s)return r(s);i.template=_,r(null,i)})})})}function pg0(i){let r=i.tmpdir=ZQ(i);XQ(i,r);let a=qQ("dir",i.dir,r);return i.dir=vr(a)?"":a,i.template=qQ("template",i.template,r),i}function bg0(i){return JQ(i,-eg0,"EBADF")}function Vy(i){return JQ(i,-tg0,"ENOENT")}function JQ(i,r,a){return xg0?i.code===a:i.code===a&&i.errno===r}function gg0(){QQ=!0}function mg0(i,r){return m6.realpath(i&&i.tmpdir||M5.tmpdir(),r)}function ZQ(i){return m6.realpathSync(i&&i.tmpdir||M5.tmpdir())}process.addListener(rg0,fg0);Object.defineProperty(wn.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return ZQ()}});wn.exports.dir=sg0;wn.exports.dirSync=og0;wn.exports.file=ng0;wn.exports.fileSync=ag0;wn.exports.tmpName=Gy;wn.exports.tmpNameSync=zy;wn.exports.setGracefulCleanup=gg0});var xD=require("node:process");var KD=Re(YD(),1),{program:kt,createCommand:am0,createArgument:sm0,createOption:om0,CommanderError:cm0,InvalidArgumentError:um0,InvalidOptionArgumentError:fm0,Command:dm0,Argument:lm0,Option:hm0,Help:pm0}=KD.default;var Kr={name:"@capgo/cli",version:"7.18.14",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md"},"//dependencies":{ky:"We temporarily fixed ky version until this issue is resolved: https://github.com/sindresorhus/ky/issues/689 otherwise nodejs upload fails on node 18/20"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^7.4.4","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.76.1","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"^0.5.7","@types/brotli":"^1.3.4","@types/node":"^24.9.1","@types/prettyjson":"^0.0.33","@types/semver":"^7.7.1","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16",brotli:"^1.3.3","ci-info":"^4.3.1",commander:"^14.0.2",esbuild:"^0.25.11",eslint:"^9.38.0","git-format-staged":"3.1.1",husky:"^9.1.7","is-wsl":"^3.1.0",ky:"1.13.0","latest-version":"^9.0.0",open:"^10.1.2",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.7.3",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3"}};var T7=require("node:fs");var Ot=Re(A6(),1),jo=require("node:process"),vn=Re(require("node:readline"),1),E3=Re(require("node:readline"),1),av=require("node:stream"),sv=Re(y3(),1);function pY({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 bY=pY();function ov(i){if(typeof i!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof i}\``);return i.replace(bY,"")}function cv(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var uv={exports:{}};(function(i){var r={};i.exports=r,r.eastAsianWidth=function(n){var o=n.charCodeAt(0),e=n.length==2?n.charCodeAt(1):0,s=o;return 55296<=o&&o<=56319&&56320<=e&&e<=57343&&(o&=1023,e&=1023,s=o<<10|e,s+=65536),s==12288||65281<=s&&s<=65376||65504<=s&&s<=65510?"F":s==8361||65377<=s&&s<=65470||65474<=s&&s<=65479||65482<=s&&s<=65487||65490<=s&&s<=65495||65498<=s&&s<=65500||65512<=s&&s<=65518?"H":4352<=s&&s<=4447||4515<=s&&s<=4519||4602<=s&&s<=4607||9001<=s&&s<=9002||11904<=s&&s<=11929||11931<=s&&s<=12019||12032<=s&&s<=12245||12272<=s&&s<=12283||12289<=s&&s<=12350||12353<=s&&s<=12438||12441<=s&&s<=12543||12549<=s&&s<=12589||12593<=s&&s<=12686||12688<=s&&s<=12730||12736<=s&&s<=12771||12784<=s&&s<=12830||12832<=s&&s<=12871||12880<=s&&s<=13054||13056<=s&&s<=19903||19968<=s&&s<=42124||42128<=s&&s<=42182||43360<=s&&s<=43388||44032<=s&&s<=55203||55216<=s&&s<=55238||55243<=s&&s<=55291||63744<=s&&s<=64255||65040<=s&&s<=65049||65072<=s&&s<=65106||65108<=s&&s<=65126||65128<=s&&s<=65131||110592<=s&&s<=110593||127488<=s&&s<=127490||127504<=s&&s<=127546||127552<=s&&s<=127560||127568<=s&&s<=127569||131072<=s&&s<=194367||177984<=s&&s<=196605||196608<=s&&s<=262141?"W":32<=s&&s<=126||162<=s&&s<=163||165<=s&&s<=166||s==172||s==175||10214<=s&&s<=10221||10629<=s&&s<=10630?"Na":s==161||s==164||167<=s&&s<=168||s==170||173<=s&&s<=174||176<=s&&s<=180||182<=s&&s<=186||188<=s&&s<=191||s==198||s==208||215<=s&&s<=216||222<=s&&s<=225||s==230||232<=s&&s<=234||236<=s&&s<=237||s==240||242<=s&&s<=243||247<=s&&s<=250||s==252||s==254||s==257||s==273||s==275||s==283||294<=s&&s<=295||s==299||305<=s&&s<=307||s==312||319<=s&&s<=322||s==324||328<=s&&s<=331||s==333||338<=s&&s<=339||358<=s&&s<=359||s==363||s==462||s==464||s==466||s==468||s==470||s==472||s==474||s==476||s==593||s==609||s==708||s==711||713<=s&&s<=715||s==717||s==720||728<=s&&s<=731||s==733||s==735||768<=s&&s<=879||913<=s&&s<=929||931<=s&&s<=937||945<=s&&s<=961||963<=s&&s<=969||s==1025||1040<=s&&s<=1103||s==1105||s==8208||8211<=s&&s<=8214||8216<=s&&s<=8217||8220<=s&&s<=8221||8224<=s&&s<=8226||8228<=s&&s<=8231||s==8240||8242<=s&&s<=8243||s==8245||s==8251||s==8254||s==8308||s==8319||8321<=s&&s<=8324||s==8364||s==8451||s==8453||s==8457||s==8467||s==8470||8481<=s&&s<=8482||s==8486||s==8491||8531<=s&&s<=8532||8539<=s&&s<=8542||8544<=s&&s<=8555||8560<=s&&s<=8569||s==8585||8592<=s&&s<=8601||8632<=s&&s<=8633||s==8658||s==8660||s==8679||s==8704||8706<=s&&s<=8707||8711<=s&&s<=8712||s==8715||s==8719||s==8721||s==8725||s==8730||8733<=s&&s<=8736||s==8739||s==8741||8743<=s&&s<=8748||s==8750||8756<=s&&s<=8759||8764<=s&&s<=8765||s==8776||s==8780||s==8786||8800<=s&&s<=8801||8804<=s&&s<=8807||8810<=s&&s<=8811||8814<=s&&s<=8815||8834<=s&&s<=8835||8838<=s&&s<=8839||s==8853||s==8857||s==8869||s==8895||s==8978||9312<=s&&s<=9449||9451<=s&&s<=9547||9552<=s&&s<=9587||9600<=s&&s<=9615||9618<=s&&s<=9621||9632<=s&&s<=9633||9635<=s&&s<=9641||9650<=s&&s<=9651||9654<=s&&s<=9655||9660<=s&&s<=9661||9664<=s&&s<=9665||9670<=s&&s<=9672||s==9675||9678<=s&&s<=9681||9698<=s&&s<=9701||s==9711||9733<=s&&s<=9734||s==9737||9742<=s&&s<=9743||9748<=s&&s<=9749||s==9756||s==9758||s==9792||s==9794||9824<=s&&s<=9825||9827<=s&&s<=9829||9831<=s&&s<=9834||9836<=s&&s<=9837||s==9839||9886<=s&&s<=9887||9918<=s&&s<=9919||9924<=s&&s<=9933||9935<=s&&s<=9953||s==9955||9960<=s&&s<=9983||s==10045||s==10071||10102<=s&&s<=10111||11093<=s&&s<=11097||12872<=s&&s<=12879||57344<=s&&s<=63743||65024<=s&&s<=65039||s==65533||127232<=s&&s<=127242||127248<=s&&s<=127277||127280<=s&&s<=127337||127344<=s&&s<=127386||917760<=s&&s<=917999||983040<=s&&s<=1048573||1048576<=s&&s<=1114109?"A":"N"},r.characterLength=function(n){var o=this.eastAsianWidth(n);return o=="F"||o=="W"||o=="A"?2:1};function a(n){return n.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}r.length=function(n){for(var o=a(n),e=0,s=0;s<o.length;s++)e=e+this.characterLength(o[s]);return e},r.slice=function(n,o,e){textLen=r.length(n),o=o||0,e=e||1,o<0&&(o=textLen+o),e<0&&(e=textLen+e);for(var s="",_=0,i0=a(n),t0=0;t0<i0.length;t0++){var r0=i0[t0],c0=r.length(r0);if(_>=o-(c0==2?1:0))if(_+c0<=e)s+=r0;else break;_+=c0}return s}})(uv);var gY=uv.exports,mY=cv(gY),wY=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},yY=cv(wY);function ec(i,r={}){if(typeof i!="string"||i.length===0||(r={ambiguousIsNarrow:!0,...r},i=ov(i),i.length===0))return 0;i=i.replace(yY()," ");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(mY.eastAsianWidth(o)){case"F":case"W":n+=2;break;case"A":n+=a;break;default:n+=1}}return n}var D3=10,$D=(i=0)=>r=>`\x1B[${r+i}m`,xv=(i=0)=>r=>`\x1B[${38+i};5;${r}m`,ev=(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 DY=Object.keys(F6.color),vY=Object.keys(F6.bgColor);[...DY,...vY];function EY(){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=$D(),F6.color.ansi256=xv(),F6.color.ansi16m=ev(),F6.bgColor.ansi=$D(D3),F6.bgColor.ansi256=xv(D3),F6.bgColor.ansi16m=ev(D3),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 _=r%36;a=Math.floor(r/36)/5,n=Math.floor(_/6)/5,o=_%6/5}let e=Math.max(a,n,o)*2;if(e===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(a));return e===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,a,n)=>F6.ansi256ToAnsi(F6.rgbToAnsi256(r,a,n)),enumerable:!1},hexToAnsi:{value:r=>F6.ansi256ToAnsi(F6.hexToAnsi256(r)),enumerable:!1}}),F6}var AY=EY(),Zf=new Set(["\x1B","\x9B"]),CY=39,C3="\x07",fv="[",SY="]",dv="m",S3=`${SY}8;;`,tv=i=>`${Zf.values().next().value}${fv}${i}${dv}`,rv=i=>`${Zf.values().next().value}${S3}${i}${C3}`,kY=i=>i.split(" ").map(r=>ec(r)),v3=(i,r,a)=>{let n=[...r],o=!1,e=!1,s=ec(ov(i[i.length-1]));for(let[_,i0]of n.entries()){let t0=ec(i0);if(s+t0<=a?i[i.length-1]+=i0:(i.push(i0),s=0),Zf.has(i0)&&(o=!0,e=n.slice(_+1).join("").startsWith(S3)),o){e?i0===C3&&(o=!1,e=!1):i0===dv&&(o=!1);continue}s+=t0,s===a&&_<n.length-1&&(i.push(""),s=0)}!s&&i[i.length-1].length>0&&i.length>1&&(i[i.length-2]+=i.pop())},OY=i=>{let r=i.split(" "),a=r.length;for(;a>0&&!(ec(r[a-1])>0);)a--;return a===r.length?i:r.slice(0,a).join(" ")+r.slice(a).join("")},FY=(i,r,a={})=>{if(a.trim!==!1&&i.trim()==="")return"";let n="",o,e,s=kY(i),_=[""];for(let[t0,r0]of i.split(" ").entries()){a.trim!==!1&&(_[_.length-1]=_[_.length-1].trimStart());let c0=ec(_[_.length-1]);if(t0!==0&&(c0>=r&&(a.wordWrap===!1||a.trim===!1)&&(_.push(""),c0=0),(c0>0||a.trim===!1)&&(_[_.length-1]+=" ",c0++)),a.hard&&s[t0]>r){let l0=r-c0,d0=1+Math.floor((s[t0]-l0-1)/r);Math.floor((s[t0]-1)/r)<d0&&_.push(""),v3(_,r0,r);continue}if(c0+s[t0]>r&&c0>0&&s[t0]>0){if(a.wordWrap===!1&&c0<r){v3(_,r0,r);continue}_.push("")}if(c0+s[t0]>r&&a.wordWrap===!1){v3(_,r0,r);continue}_[_.length-1]+=r0}a.trim!==!1&&(_=_.map(t0=>OY(t0)));let i0=[..._.join(`
240
240
  `)];for(let[t0,r0]of i0.entries()){if(n+=r0,Zf.has(r0)){let{groups:l0}=new RegExp(`(?:\\${fv}(?<code>\\d+)m|\\${S3}(?<uri>.*)${C3})`).exec(i0.slice(t0).join(""))||{groups:{}};if(l0.code!==void 0){let d0=Number.parseFloat(l0.code);o=d0===CY?void 0:d0}else l0.uri!==void 0&&(e=l0.uri.length===0?void 0:l0.uri)}let c0=AY.codes.get(Number(o));i0[t0+1]===`
241
241
  `?(e&&(n+=rv("")),o&&c0&&(n+=tv(c0))):r0===`
242
242
  `&&(o&&c0&&(n+=tv(o)),e&&(n+=rv(e)))}return n};function iv(i,r,a){return String(i).normalize().replace(/\r\n/g,`
@@ -282,8 +282,8 @@ ${de.default.gray(Vo)} ${i}
282
282
  `);process.stdout.write($f.cursor.move(-999,Y0.length-1)),process.stdout.write($f.erase.down(Y0.length))},O0=Y0=>Y0.replace(/\.+$/,""),B0=Y0=>{let z0=(performance.now()-Y0)/1e3,sx=Math.floor(z0/60),Q0=Math.floor(z0%60);return sx>0?`[${sx}m ${Q0}s]`:`[${Q0}s]`},j0=(Y0="")=>{s=!0,o=lv(),_=O0(Y0),t0=performance.now(),process.stdout.write(`${de.default.gray(_6)}
283
283
  `);let z0=0,sx=0;d0(),e=setInterval(()=>{if(n&&_===i0)return;F0(),i0=_;let Q0=de.default.magenta(r[z0]);if(n)process.stdout.write(`${Q0} ${_}...`);else if(i==="timer")process.stdout.write(`${Q0} ${_} ${B0(t0)}`);else{let mx=".".repeat(Math.floor(sx)).slice(0,3);process.stdout.write(`${Q0} ${_}${mx}`)}z0=z0+1<r.length?z0+1:0,sx=sx<r.length?sx+.125:0},a)},k0=(Y0="",z0=0)=>{s=!1,clearInterval(e),F0();let sx=z0===0?de.default.green(T3):z0===1?de.default.red(hv):de.default.red(pv);_=O0(Y0??_),i==="timer"?process.stdout.write(`${sx} ${_} ${B0(t0)}
284
284
  `):process.stdout.write(`${sx} ${_}
285
- `),v0(),o()};return{start:j0,stop:k0,message:(Y0="")=>{_=O0(Y0??_)}}};var Y6=require("node:fs"),S4=require("node:os"),W6=Re(require("node:path")),Lr=require("node:process"),Ri=Re(ed());var Mt=require("fs"),ic=(i=".",r="unknown")=>{let a=`${i}/bun.lockb`,n=`${i}/bun.lock`,o=`${i}/pnpm-lock.yaml`,e=`${i}/shrinkwrap.yaml`,s=`${i}/yarn.lock`,_=`${i}/package-lock.json`,i0=`${i}/npm-shrinkwrap.json`;return(0,Mt.existsSync)(a)||(0,Mt.existsSync)(n)?"bun":(0,Mt.existsSync)(o)||(0,Mt.existsSync)(e)?"pnpm":(0,Mt.existsSync)(s)?"yarn":(0,Mt.existsSync)(_)||(0,Mt.existsSync)(i0)?"npm":r},td=(i=ic(),r=!1)=>{switch(i){case"bun":return r?"bun install":"install";case"pnpm":return r?"pnpm install":"install";case"yarn":return r?"yarn install":"install";case"npm":return r?"npm install":"install";case"unknown":return r?"unknown unknown":"unknown";default:return r?"npm install":"install"}},bv=(i=".",r="npx")=>{let a=`${i}/bun.lockb`,n=`${i}/bun.lock`,o=`${i}/pnpm-lock.yaml`,e=`${i}/shrinkwrap.yaml`,s=`${i}/yarn.lock`,_=`${i}/package-lock.json`,i0=`${i}/npm-shrinkwrap.json`;return(0,Mt.existsSync)(a)||(0,Mt.existsSync)(n)?"bunx":(0,Mt.existsSync)(o)||(0,Mt.existsSync)(e)?"pnpm exec":(0,Mt.existsSync)(s)?"yarn dlx":(0,Mt.existsSync)(_)||(0,Mt.existsSync)(i0)?"npx":r};var l7=Re(eA()),SU=Re(Ic()),Nm=Re(KC());var ei=class extends Error{response;request;options;constructor(r,a,n){let o=r.status||r.status===0?r.status:"",e=r.statusText??"",s=`${o} ${e}`.trim(),_=s?`status code ${s}`:"an unknown error";super(`Request failed with ${_}: ${a.method} ${a.url}`),this.name="HTTPError",this.response=r,this.request=a,this.options=n}};var cl=class extends Error{name="NonError";value;constructor(r){let a="Non-error value was thrown";try{typeof r=="string"?a=r:r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"&&(a=r.message)}catch{}super(a),this.value=r}};var m8=(()=>{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})(),XC=typeof globalThis.AbortController=="function",ul=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",JC=typeof globalThis.ReadableStream=="function",ZC=typeof globalThis.FormData=="function",fl=["get","post","put","patch","head","delete"],X00=()=>{};X00();var $C={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},dl=2147483647,xS=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,ll=Symbol("stop"),eS={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},tS={next:!0},rS={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,duplex:!0};var J00=i=>{if(!i)return 0;if(i instanceof FormData){let r=0;for(let[a,n]of i)r+=xS,r+=new TextEncoder().encode(`Content-Disposition: form-data; name="${a}"`).length,r+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return r}if(i instanceof Blob)return i.size;if(i instanceof ArrayBuffer)return i.byteLength;if(typeof i=="string")return new TextEncoder().encode(i).length;if(i instanceof URLSearchParams)return new TextEncoder().encode(i.toString()).length;if("byteLength"in i)return i.byteLength;if(typeof i=="object"&&i!==null)try{let r=JSON.stringify(i);return new TextEncoder().encode(r).length}catch{return 0}return 0},iS=(i,r,a)=>{let n,o=0;return i.pipeThrough(new TransformStream({transform(e,s){if(s.enqueue(e),n){o+=n.byteLength;let _=r===0?0:o/r;_>=1&&(_=1-Number.EPSILON),a?.({percent:_,totalBytes:Math.max(r,o),transferredBytes:o},n)}n=e},flush(){n&&(o+=n.byteLength,a?.({percent:1,totalBytes:Math.max(r,o),transferredBytes:o},n))}}))},nS=(i,r)=>{if(!i.body)return i;if(i.status===204)return new Response(null,{status:i.status,statusText:i.statusText,headers:i.headers});let a=Math.max(0,Number(i.headers.get("content-length"))||0);return new Response(iS(i.body,a,r),{status:i.status,statusText:i.statusText,headers:i.headers})},aS=(i,r,a)=>{if(!i.body)return i;let n=J00(a??i.body);return new Request(i,{duplex:"half",body:iS(i.body,n,r)})};var _n=i=>i!==null&&typeof i=="object";var Rc=(...i)=>{for(let r of i)if((!_n(r)||Array.isArray(r))&&r!==void 0)throw new TypeError("The `options` argument must be an object");return D8({},...i)},w8=(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 hl(i,r,a){return Object.hasOwn(r,a)&&r[a]===void 0?[]:D8(i[a]??[],r[a]??[])}var y8=(i={},r={})=>({beforeRequest:hl(i,r,"beforeRequest"),beforeRetry:hl(i,r,"beforeRetry"),afterResponse:hl(i,r,"afterResponse"),beforeError:hl(i,r,"beforeError")}),Z00=(i,r)=>{let a=new URLSearchParams;for(let n of[i,r])if(n!==void 0)if(n instanceof URLSearchParams)for(let[o,e]of n.entries())a.append(o,e);else if(Array.isArray(n))for(let o of n){if(!Array.isArray(o)||o.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");a.append(String(o[0]),String(o[1]))}else if(_n(n))for(let[o,e]of Object.entries(n))e!==void 0&&a.append(o,String(e));else{let o=new URLSearchParams(n);for(let[e,s]of o.entries())a.append(e,s)}return a},D8=(...i)=>{let r={},a={},n={},o,e=[];for(let s of i)if(Array.isArray(s))Array.isArray(r)||(r=[]),r=[...r,...s];else if(_n(s)){for(let[_,i0]of Object.entries(s)){if(_==="signal"&&i0 instanceof globalThis.AbortSignal){e.push(i0);continue}if(_==="context"){if(i0!=null&&(!_n(i0)||Array.isArray(i0)))throw new TypeError("The `context` option must be an object");r={...r,context:i0==null?{}:{...r.context,...i0}};continue}if(_==="searchParams"){i0==null?o=void 0:o=o===void 0?i0:Z00(o,i0);continue}_n(i0)&&_ in r&&(i0=D8(r[_],i0)),r={...r,[_]:i0}}_n(s.hooks)&&(n=y8(n,s.hooks),r.hooks=n),_n(s.headers)&&(a=w8(a,s.headers),r.headers=a)}return o!==void 0&&(r.searchParams=o),e.length>0&&(e.length===1?r.signal=e[0]:ul?r.signal=AbortSignal.any(e):r.signal=e.at(-1)),r.context===void 0&&(r.context={}),r};var oS=i=>fl.includes(i)?i.toUpperCase():i,$00=["get","put","head","delete","options","trace"],xx0=[408,413,429,500,502,503,504],ex0=[413,429,503],sS={limit:2,methods:$00,statusCodes:xx0,afterStatusCodes:ex0,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:i=>.3*2**(i-1)*1e3,jitter:void 0,retryOnTimeout:!1},cS=(i={})=>{if(typeof i=="number")return{...sS,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{...sS,...i}};var ks=class extends Error{request;constructor(r){super(`Request timed out: ${r.method} ${r.url}`),this.name="TimeoutError",this.request=r}};async function v8(i,r,a,n){return new Promise((o,e)=>{let s=setTimeout(()=>{a&&a.abort(),e(new ks(i))},n.timeout);n.fetch(i,r).then(o).catch(e).then(()=>{clearTimeout(s)})})}async function E8(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 uS=(i,r)=>{let a={};for(let n in r)Object.hasOwn(r,n)&&!(n in rS)&&!(n in eS)&&(!(n in i)||n in tS)&&(a[n]=r[n]);return a},fS=i=>i===void 0?!1:Array.isArray(i)?i.length>0:i instanceof URLSearchParams?i.size>0:typeof i=="object"?Object.keys(i).length>0:typeof i=="string"?i.trim().length>0:!!i;function dS(i){return i instanceof ei||i?.name===ei.name}function lS(i){return i instanceof ks||i?.name===ks.name}var Pc=class i{static create(r,a){let n=new i(r,a),o=async()=>{if(typeof n.#x.timeout=="number"&&n.#x.timeout>dl)throw new RangeError(`The \`timeout\` option cannot be greater than ${dl}`);await Promise.resolve();let _=await n.#l();for(let i0 of n.#x.hooks.afterResponse){let t0=await i0(n.request,n.#s(),n.#u(_.clone()),{retryCount:n.#t});t0 instanceof globalThis.Response&&(_=t0)}if(n.#u(_),!_.ok&&n.#x.throwHttpErrors){let i0=new ei(_,n.request,n.#s());for(let t0 of n.#x.hooks.beforeError)i0=await t0(i0,{retryCount:n.#t});throw i0}if(n.#x.onDownloadProgress){if(typeof n.#x.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!JC)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return nS(_.clone(),n.#x.onDownloadProgress)}return _},s=(n.#x.retry.methods.includes(n.request.method.toLowerCase())?n.#f(o):o()).finally(async()=>{let _=n.#a,i0=[];_&&!_.bodyUsed&&i0.push(_.body?.cancel()),n.request.bodyUsed||i0.push(n.request.body?.cancel()),await Promise.all(i0)});for(let[_,i0]of Object.entries($C))_==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(s[_]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||i0);let t0=await s;if(_==="json"){if(t0.status===204)return"";let r0=await t0.text();return r0===""?"":a.parseJson?a.parseJson(r0):JSON.parse(r0)}return t0[_]()});return s}static#n(r){return r&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof URLSearchParams)?Object.fromEntries(Object.entries(r).filter(([,a])=>a!==void 0)):r}request;#r;#t=0;#e;#x;#a;#i;#o;constructor(r,a={}){if(this.#e=r,this.#x={...a,headers:w8(this.#e.headers,a.headers),hooks:y8({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},a.hooks),method:oS(a.method??this.#e.method??"GET"),prefixUrl:String(a.prefixUrl||""),retry:cS(a.retry),throwHttpErrors:a.throwHttpErrors!==!1,timeout:a.timeout??1e4,fetch:a.fetch??globalThis.fetch.bind(globalThis),context:a.context??{}},typeof this.#e!="string"&&!(this.#e instanceof URL||this.#e instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this.#x.prefixUrl&&typeof this.#e=="string"){if(this.#e.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#x.prefixUrl.endsWith("/")||(this.#x.prefixUrl+="/"),this.#e=this.#x.prefixUrl+this.#e}XC&&ul&&(this.#i=this.#x.signal??this.#e.signal,this.#r=new globalThis.AbortController,this.#x.signal=this.#i?AbortSignal.any([this.#i,this.#r.signal]):this.#r.signal),m8&&(this.#x.duplex="half"),this.#x.json!==void 0&&(this.#x.body=this.#x.stringifyJson?.(this.#x.json)??JSON.stringify(this.#x.json),this.#x.headers.set("content-type",this.#x.headers.get("content-type")??"application/json"));let n=a.headers&&new globalThis.Headers(a.headers).has("content-type");if(this.#e instanceof globalThis.Request&&(ZC&&this.#x.body instanceof globalThis.FormData||this.#x.body instanceof URLSearchParams)&&!n&&this.#x.headers.delete("content-type"),this.request=new globalThis.Request(this.#e,this.#x),fS(this.#x.searchParams)){let e="?"+(typeof this.#x.searchParams=="string"?this.#x.searchParams.replace(/^\?/,""):new URLSearchParams(i.#n(this.#x.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,e);this.request=new globalThis.Request(new globalThis.Request(s,{...this.request}),this.#x)}if(this.#x.onUploadProgress){if(typeof this.#x.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!m8)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=aS(this.request,this.#x.onUploadProgress,this.#x.body))}}#c(){let r=this.#x.retry.delay(this.#t),a=r;return this.#x.retry.jitter===!0?a=Math.random()*r:typeof this.#x.retry.jitter=="function"&&(a=this.#x.retry.jitter(r),(!Number.isFinite(a)||a<0)&&(a=r)),Math.min(this.#x.retry.backoffLimit,a)}async#d(r){if(this.#t++,this.#t>this.#x.retry.limit)throw r;let a=r instanceof Error?r:new cl(r);if(this.#x.retry.shouldRetry!==void 0){let n=await this.#x.retry.shouldRetry({error:a,retryCount:this.#t});if(n===!1)throw r;if(n===!0)return this.#c()}if(lS(r)&&!this.#x.retry.retryOnTimeout)throw r;if(dS(r)){if(!this.#x.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-Retry-After")??r.response.headers.get("X-RateLimit-Reset")??r.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#x.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.#x.retry.maxRetryAfter??o;return o<e?o:e}if(r.response.status===413)throw r}return this.#c()}#u(r){return this.#x.parseJson&&(r.json=async()=>this.#x.parseJson(await r.text())),r}async#f(r){try{return await r()}catch(a){let n=Math.min(await this.#d(a),dl);if(this.#t<1)throw a;await E8(n,this.#i?{signal:this.#i}:{});for(let o of this.#x.hooks.beforeRetry){let e=await o({request:this.request,options:this.#s(),error:a,retryCount:this.#t});if(e instanceof globalThis.Request){this.request=e;break}if(e instanceof globalThis.Response)return e;if(e===ll)return}return this.#f(r)}}async#l(){this.#r?.signal.aborted&&(this.#r=new globalThis.AbortController,this.#x.signal=this.#i?AbortSignal.any([this.#i,this.#r.signal]):this.#r.signal,this.request=new globalThis.Request(this.request,{signal:this.#x.signal}));for(let a of this.#x.hooks.beforeRequest){let n=await a(this.request,this.#s(),{retryCount:this.#t});if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let r=uS(this.request,this.#x);return this.#a=this.request,this.request=this.#a.clone(),this.#x.timeout===!1?this.#x.fetch(this.#a,r):v8(this.#a,r,this.#r,this.#x)}#s(){if(!this.#o){let{hooks:r,...a}=this.#x;this.#o=Object.freeze(a)}return this.#o}};var A8=i=>{let r=(a,n)=>Pc.create(a,Rc(i,n));for(let a of fl)r[a]=(n,o)=>Pc.create(n,Rc(i,o,{method:a}));return r.create=a=>A8(Rc(a)),r.extend=a=>(typeof a=="function"&&(a=a(i??{})),A8(Rc(i,a))),r.stop=ll,r},tx0=A8(),Bn=tx0;var kU=Re(GS()),OU=Re(_8()),FU=Re(B8()),IU=Re(Y8()),k4=Re(ib());var Lu=Re(GM());async function zM(){let i=await(0,Lu.loadConfig)();return{config:i.app.extConfig,path:i.app.extConfigFilePath}}async function lm(i,r,a=!1){let n=await(0,Lu.loadConfig)(),{extConfig:o}=n.app;o&&(o.plugins||(o.plugins={extConfig:{},[i]:{}}),o.plugins[i]||(o.plugins[i]={}),a?o=r.config:o.plugins[i]=r.config.plugins?.[i],(0,Lu.writeConfig)(o,n.app.extConfigFilePath))}async function c7(i,r=!1){await lm("CapacitorUpdater",i,r)}var h7=".capgo_key",wr=".capgo_key_v2",O4=`${h7}.pub`,cn=`${wr}.pub`,yU="https://capgo.app",DU="https://files.capgo.app",vU="https://api.capgo.app",EU="https://console.capgo.app",Lm=12e4,S40=1024*1024*20,k40=1024*1024*1024,O40=1024*1024*99,yt="package.json",p7=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i,Zx=i=>i?`
286
- ${kU.default.render(i)}`:"";function C4(i){return new Promise(r=>{setTimeout(r,i)})}function TU(i){return(0,Ri.isMonorepo)(i)||(0,Ri.isNXMonorepo)(i)}function Dt(i){return(0,Ri.isMonorepo)(i)?(0,Ri.findMonorepoRoot)(i):(0,Ri.isNXMonorepo)(i)?(0,Ri.findNXMonorepoRoot)(i):i}function RU(i=Dt((0,Lr.cwd)()),r=void 0){let a=r?.split(",")[0];if(a&&!(0,Y6.existsSync)(a)){let o=`Package.json at ${a} does not exist`;throw m0.error(o),new Error(o)}let n=(0,Y6.readFileSync)(a??(0,W6.join)(i,yt));return JSON.parse(n)}function Mm(i=Dt((0,Lr.cwd)()),r=void 0){return RU(i,r).scripts}function si(i=Dt((0,Lr.cwd)()),r=void 0){return RU(i,r).version??""}function AU(i){let r=i.replace("^","").replace("~","");return(0,FU.default)(r)?(0,OU.default)(r)??r:r}async function it(i=Dt((0,Lr.cwd)()),r=void 0){let a=r?.split(",");if(a??=[(0,W6.join)(i,yt)],a){for(let o of a)if(!(0,Y6.existsSync)(o)){let e=`Package.json at ${o} does not exist`;throw m0.error(e),new Error(e)}}let n=new Map;for(let o of a){let e=(0,Y6.readFileSync)(o),s=JSON.parse(e);for(let _ in s.dependencies)n.set(_,AU(s.dependencies[_]));for(let _ in s.devDependencies)n.set(_,AU(s.devDependencies[_]))}return n}async function Be(){try{let i=await zM();if(!i){let r="No capacitor config file found, run `cap init` first";throw m0.error(r),new Error(r)}return i}catch(i){let r=`No capacitor config file found, run \`cap init\` first ${Zx(i)}`;throw m0.error(r),new Error(r)}}async function Um(i,r){let a=await Be();return a?.config&&(a.config.plugins??={},a.config.plugins.extConfig??={},a.config.plugins[i]??={},a.config.plugins[i]={...a.config.plugins[i],...r},await lm(i,a)),a}async function Hu(i){return Um("CapacitorUpdater",i)}async function Mr(){try{let i=await Be(),r={host:i?.config?.plugins?.CapacitorUpdater?.localHost||yU,hostWeb:i?.config?.plugins?.CapacitorUpdater?.localWebHost||EU,hostFilesApi:i?.config?.plugins?.CapacitorUpdater?.localApiFiles||DU,hostApi:i?.config?.plugins?.CapacitorUpdater?.localApi||vU};return i?.config?.plugins?.CapacitorUpdater?.localSupa&&i?.config?.plugins?.CapacitorUpdater?.localSupaAnon&&(m0.info("Using custom supabase instance from capacitor.config.json"),r.supaKey=i?.config?.plugins?.CapacitorUpdater?.localSupaAnon,r.supaHost=i?.config?.plugins?.CapacitorUpdater?.localSupa),r}catch{return{host:yU,hostWeb:EU,hostFilesApi:DU,hostApi:vU}}}var F40=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function F4(){let i=await Mr();return Bn.get(`${i.hostApi}/private/config`).then(r=>r.json()).then(r=>({...r,...i})).catch(()=>(m0.info(`Local config ${Zx(i)}`),i))}async function PU(){let i=await Mr();return Bn.get(`${i.hostFilesApi}/files/config`).then(r=>r.json()).catch(()=>({partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:k40,maxChunkSize:O40,alertUploadSize:S40}))}async function Me(i,r,a){let n=await F4();if(r&&a&&(m0.info("Using custom supabase instance from provided options"),n.supaHost=r,n.supaKey=a),!n.supaHost||!n.supaKey)throw m0.error("Cannot connect to server please try again later"),new Error("Cannot connect to server please try again later");return(0,l7.createClient)(n.supaHost,n.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:i}}})}async function I40(i,r,a){let{data:n}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:a}).single();if(!n){m0.error("Invalid API key or insufficient permissions.");let e=`Your key should be: ${a.map((s,_)=>a.length===1?`"${s}"`:_===a.length-1?`or "${s}"`:`"${s}", `).join("")} mode.`;throw m0.error(e),new Error("Invalid API key or insufficient permissions.")}}async function _U(i,r){let{data:a}=await i.rpc("is_paying_org",{orgid:r}).single();return a||!1}async function BU(i,r){let{data:a}=await i.rpc("is_trial_org",{orgid:r}).single();return a||0}async function T40(i,r){let{data:a}=await i.rpc("is_allowed_action_org",{orgid:r}).single();return!!a}async function R40(i,r,a){let{data:n}=await i.rpc("is_allowed_action",{apikey:a,appid:r}).single();return!!n}var Pt=(s=>(s[s.none=0]="none",s[s.read=1]="read",s[s.upload=2]="upload",s[s.write=3]="write",s[s.admin=4]="admin",s[s.super_admin=5]="super_admin",s))(Pt||{}),b7=(i,r)=>i>=r;async function NU(i,r,a){let{data:n,error:o}=await i.rpc("get_org_perm_for_apikey",{apikey:r,app_id:a}).single();if(o)throw m0.error("Cannot get permissions for organization!"),console.error(o),new Error("Cannot get permissions for organization");if(n.includes("perm")){let _=null;switch(n){case"perm_none":{_=0;break}case"perm_read":{_=1;break}case"perm_upload":{_=2;break}case"perm_write":{_=3;break}case"perm_admin":{_=4;break}case"perm_owner":{_=5;break}default:throw n.includes("invite")?(m0.info("Please accept/deny the organization invitation before trying to access the app"),new Error("Organization invitation pending")):(m0.error(`Invalid output when fetching organization permission. Response: ${n}`),new Error(`Invalid output when fetching organization permission. Response: ${n}`))}return{okay:!0,data:_}}let s=null;switch(n){case"INVALID_APIKEY":{s="INVALID_APIKEY";break}case"NO_APP":{s="NO_APP";break}case"NO_ORG":{s="NO_ORG";break}default:throw m0.error(`Invalid error when fetching organization permission. Response: ${n}`),new Error(`Invalid error when fetching organization permission. Response: ${n}`)}return{okay:!1,error:s}}async function LU(i,r,a){let{data:n,error:o}=await i.rpc("get_organization_cli_warnings",{orgid:r,cli_version:a});if(o){m0.error(`Cannot get cli warnings: ${Zx(o)}`);return}if(n.length>0){m0.warn(`Found ${n.length} cli warnings for your organization.`);let e=null;for(let s of n){if(typeof s!="object"||typeof s.message!="string"||typeof s.fatal!="boolean"){m0.error(`Invalid cli warning: ${s}`);continue}let _=s;_.fatal?(m0.error(`${_.message.replaceAll("\\n",`
285
+ `),v0(),o()};return{start:j0,stop:k0,message:(Y0="")=>{_=O0(Y0??_)}}};var Y6=require("node:fs"),S4=require("node:os"),W6=Re(require("node:path")),Lr=require("node:process"),Ri=Re(ed());var Mt=require("fs"),ic=(i=".",r="unknown")=>{let a=`${i}/bun.lockb`,n=`${i}/bun.lock`,o=`${i}/pnpm-lock.yaml`,e=`${i}/shrinkwrap.yaml`,s=`${i}/yarn.lock`,_=`${i}/package-lock.json`,i0=`${i}/npm-shrinkwrap.json`;return(0,Mt.existsSync)(a)||(0,Mt.existsSync)(n)?"bun":(0,Mt.existsSync)(o)||(0,Mt.existsSync)(e)?"pnpm":(0,Mt.existsSync)(s)?"yarn":(0,Mt.existsSync)(_)||(0,Mt.existsSync)(i0)?"npm":r},td=(i=ic(),r=!1)=>{switch(i){case"bun":return r?"bun install":"install";case"pnpm":return r?"pnpm install":"install";case"yarn":return r?"yarn install":"install";case"npm":return r?"npm install":"install";case"unknown":return r?"unknown unknown":"unknown";default:return r?"npm install":"install"}},bv=(i=".",r="npx")=>{let a=`${i}/bun.lockb`,n=`${i}/bun.lock`,o=`${i}/pnpm-lock.yaml`,e=`${i}/shrinkwrap.yaml`,s=`${i}/yarn.lock`,_=`${i}/package-lock.json`,i0=`${i}/npm-shrinkwrap.json`;return(0,Mt.existsSync)(a)||(0,Mt.existsSync)(n)?"bunx":(0,Mt.existsSync)(o)||(0,Mt.existsSync)(e)?"pnpm exec":(0,Mt.existsSync)(s)?"yarn dlx":(0,Mt.existsSync)(_)||(0,Mt.existsSync)(i0)?"npx":r};var l7=Re(eA()),SU=Re(Ic()),Nm=Re(KC());var ei=class extends Error{response;request;options;constructor(r,a,n){let o=r.status||r.status===0?r.status:"",e=r.statusText??"",s=`${o} ${e}`.trim(),_=s?`status code ${s}`:"an unknown error";super(`Request failed with ${_}: ${a.method} ${a.url}`),this.name="HTTPError",this.response=r,this.request=a,this.options=n}};var cl=class extends Error{name="NonError";value;constructor(r){let a="Non-error value was thrown";try{typeof r=="string"?a=r:r&&typeof r=="object"&&"message"in r&&typeof r.message=="string"&&(a=r.message)}catch{}super(a),this.value=r}};var m8=(()=>{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})(),XC=typeof globalThis.AbortController=="function",ul=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",JC=typeof globalThis.ReadableStream=="function",ZC=typeof globalThis.FormData=="function",fl=["get","post","put","patch","head","delete"],X00=()=>{};X00();var $C={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},dl=2147483647,xS=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,ll=Symbol("stop"),eS={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},tS={next:!0},rS={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,duplex:!0};var J00=i=>{if(!i)return 0;if(i instanceof FormData){let r=0;for(let[a,n]of i)r+=xS,r+=new TextEncoder().encode(`Content-Disposition: form-data; name="${a}"`).length,r+=typeof n=="string"?new TextEncoder().encode(n).length:n.size;return r}if(i instanceof Blob)return i.size;if(i instanceof ArrayBuffer)return i.byteLength;if(typeof i=="string")return new TextEncoder().encode(i).length;if(i instanceof URLSearchParams)return new TextEncoder().encode(i.toString()).length;if("byteLength"in i)return i.byteLength;if(typeof i=="object"&&i!==null)try{let r=JSON.stringify(i);return new TextEncoder().encode(r).length}catch{return 0}return 0},iS=(i,r,a)=>{let n,o=0;return i.pipeThrough(new TransformStream({transform(e,s){if(s.enqueue(e),n){o+=n.byteLength;let _=r===0?0:o/r;_>=1&&(_=1-Number.EPSILON),a?.({percent:_,totalBytes:Math.max(r,o),transferredBytes:o},n)}n=e},flush(){n&&(o+=n.byteLength,a?.({percent:1,totalBytes:Math.max(r,o),transferredBytes:o},n))}}))},nS=(i,r)=>{if(!i.body)return i;if(i.status===204)return new Response(null,{status:i.status,statusText:i.statusText,headers:i.headers});let a=Math.max(0,Number(i.headers.get("content-length"))||0);return new Response(iS(i.body,a,r),{status:i.status,statusText:i.statusText,headers:i.headers})},aS=(i,r,a)=>{if(!i.body)return i;let n=J00(a??i.body);return new Request(i,{duplex:"half",body:iS(i.body,n,r)})};var _n=i=>i!==null&&typeof i=="object";var Rc=(...i)=>{for(let r of i)if((!_n(r)||Array.isArray(r))&&r!==void 0)throw new TypeError("The `options` argument must be an object");return D8({},...i)},w8=(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 hl(i,r,a){return Object.hasOwn(r,a)&&r[a]===void 0?[]:D8(i[a]??[],r[a]??[])}var y8=(i={},r={})=>({beforeRequest:hl(i,r,"beforeRequest"),beforeRetry:hl(i,r,"beforeRetry"),afterResponse:hl(i,r,"afterResponse"),beforeError:hl(i,r,"beforeError")}),Z00=(i,r)=>{let a=new URLSearchParams;for(let n of[i,r])if(n!==void 0)if(n instanceof URLSearchParams)for(let[o,e]of n.entries())a.append(o,e);else if(Array.isArray(n))for(let o of n){if(!Array.isArray(o)||o.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");a.append(String(o[0]),String(o[1]))}else if(_n(n))for(let[o,e]of Object.entries(n))e!==void 0&&a.append(o,String(e));else{let o=new URLSearchParams(n);for(let[e,s]of o.entries())a.append(e,s)}return a},D8=(...i)=>{let r={},a={},n={},o,e=[];for(let s of i)if(Array.isArray(s))Array.isArray(r)||(r=[]),r=[...r,...s];else if(_n(s)){for(let[_,i0]of Object.entries(s)){if(_==="signal"&&i0 instanceof globalThis.AbortSignal){e.push(i0);continue}if(_==="context"){if(i0!=null&&(!_n(i0)||Array.isArray(i0)))throw new TypeError("The `context` option must be an object");r={...r,context:i0==null?{}:{...r.context,...i0}};continue}if(_==="searchParams"){i0==null?o=void 0:o=o===void 0?i0:Z00(o,i0);continue}_n(i0)&&_ in r&&(i0=D8(r[_],i0)),r={...r,[_]:i0}}_n(s.hooks)&&(n=y8(n,s.hooks),r.hooks=n),_n(s.headers)&&(a=w8(a,s.headers),r.headers=a)}return o!==void 0&&(r.searchParams=o),e.length>0&&(e.length===1?r.signal=e[0]:ul?r.signal=AbortSignal.any(e):r.signal=e.at(-1)),r.context===void 0&&(r.context={}),r};var oS=i=>fl.includes(i)?i.toUpperCase():i,$00=["get","put","head","delete","options","trace"],xx0=[408,413,429,500,502,503,504],ex0=[413,429,503],sS={limit:2,methods:$00,statusCodes:xx0,afterStatusCodes:ex0,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:i=>.3*2**(i-1)*1e3,jitter:void 0,retryOnTimeout:!1},cS=(i={})=>{if(typeof i=="number")return{...sS,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{...sS,...i}};var ks=class extends Error{request;constructor(r){super(`Request timed out: ${r.method} ${r.url}`),this.name="TimeoutError",this.request=r}};async function v8(i,r,a,n){return new Promise((o,e)=>{let s=setTimeout(()=>{a&&a.abort(),e(new ks(i))},n.timeout);n.fetch(i,r).then(o).catch(e).then(()=>{clearTimeout(s)})})}async function E8(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 uS=(i,r)=>{let a={};for(let n in r)Object.hasOwn(r,n)&&!(n in rS)&&!(n in eS)&&(!(n in i)||n in tS)&&(a[n]=r[n]);return a},fS=i=>i===void 0?!1:Array.isArray(i)?i.length>0:i instanceof URLSearchParams?i.size>0:typeof i=="object"?Object.keys(i).length>0:typeof i=="string"?i.trim().length>0:!!i;function dS(i){return i instanceof ei||i?.name===ei.name}function lS(i){return i instanceof ks||i?.name===ks.name}var Pc=class i{static create(r,a){let n=new i(r,a),o=async()=>{if(typeof n.#x.timeout=="number"&&n.#x.timeout>dl)throw new RangeError(`The \`timeout\` option cannot be greater than ${dl}`);await Promise.resolve();let _=await n.#l();for(let i0 of n.#x.hooks.afterResponse){let t0=await i0(n.request,n.#s(),n.#u(_.clone()),{retryCount:n.#t});t0 instanceof globalThis.Response&&(_=t0)}if(n.#u(_),!_.ok&&n.#x.throwHttpErrors){let i0=new ei(_,n.request,n.#s());for(let t0 of n.#x.hooks.beforeError)i0=await t0(i0,{retryCount:n.#t});throw i0}if(n.#x.onDownloadProgress){if(typeof n.#x.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!JC)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return nS(_.clone(),n.#x.onDownloadProgress)}return _},s=(n.#x.retry.methods.includes(n.request.method.toLowerCase())?n.#f(o):o()).finally(async()=>{let _=n.#a,i0=[];_&&!_.bodyUsed&&i0.push(_.body?.cancel()),n.request.bodyUsed||i0.push(n.request.body?.cancel()),await Promise.all(i0)});for(let[_,i0]of Object.entries($C))_==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(s[_]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||i0);let t0=await s;if(_==="json"){if(t0.status===204)return"";let r0=await t0.text();return r0===""?"":a.parseJson?a.parseJson(r0):JSON.parse(r0)}return t0[_]()});return s}static#n(r){return r&&typeof r=="object"&&!Array.isArray(r)&&!(r instanceof URLSearchParams)?Object.fromEntries(Object.entries(r).filter(([,a])=>a!==void 0)):r}request;#r;#t=0;#e;#x;#a;#i;#o;constructor(r,a={}){if(this.#e=r,this.#x={...a,headers:w8(this.#e.headers,a.headers),hooks:y8({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},a.hooks),method:oS(a.method??this.#e.method??"GET"),prefixUrl:String(a.prefixUrl||""),retry:cS(a.retry),throwHttpErrors:a.throwHttpErrors!==!1,timeout:a.timeout??1e4,fetch:a.fetch??globalThis.fetch.bind(globalThis),context:a.context??{}},typeof this.#e!="string"&&!(this.#e instanceof URL||this.#e instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this.#x.prefixUrl&&typeof this.#e=="string"){if(this.#e.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#x.prefixUrl.endsWith("/")||(this.#x.prefixUrl+="/"),this.#e=this.#x.prefixUrl+this.#e}XC&&ul&&(this.#i=this.#x.signal??this.#e.signal,this.#r=new globalThis.AbortController,this.#x.signal=this.#i?AbortSignal.any([this.#i,this.#r.signal]):this.#r.signal),m8&&(this.#x.duplex="half"),this.#x.json!==void 0&&(this.#x.body=this.#x.stringifyJson?.(this.#x.json)??JSON.stringify(this.#x.json),this.#x.headers.set("content-type",this.#x.headers.get("content-type")??"application/json"));let n=a.headers&&new globalThis.Headers(a.headers).has("content-type");if(this.#e instanceof globalThis.Request&&(ZC&&this.#x.body instanceof globalThis.FormData||this.#x.body instanceof URLSearchParams)&&!n&&this.#x.headers.delete("content-type"),this.request=new globalThis.Request(this.#e,this.#x),fS(this.#x.searchParams)){let e="?"+(typeof this.#x.searchParams=="string"?this.#x.searchParams.replace(/^\?/,""):new URLSearchParams(i.#n(this.#x.searchParams)).toString()),s=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,e);this.request=new globalThis.Request(new globalThis.Request(s,{...this.request}),this.#x)}if(this.#x.onUploadProgress){if(typeof this.#x.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!m8)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=aS(this.request,this.#x.onUploadProgress,this.#x.body))}}#c(){let r=this.#x.retry.delay(this.#t),a=r;return this.#x.retry.jitter===!0?a=Math.random()*r:typeof this.#x.retry.jitter=="function"&&(a=this.#x.retry.jitter(r),(!Number.isFinite(a)||a<0)&&(a=r)),Math.min(this.#x.retry.backoffLimit,a)}async#d(r){if(this.#t++,this.#t>this.#x.retry.limit)throw r;let a=r instanceof Error?r:new cl(r);if(this.#x.retry.shouldRetry!==void 0){let n=await this.#x.retry.shouldRetry({error:a,retryCount:this.#t});if(n===!1)throw r;if(n===!0)return this.#c()}if(lS(r)&&!this.#x.retry.retryOnTimeout)throw r;if(dS(r)){if(!this.#x.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-Retry-After")??r.response.headers.get("X-RateLimit-Reset")??r.response.headers.get("X-Rate-Limit-Reset");if(n&&this.#x.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.#x.retry.maxRetryAfter??o;return o<e?o:e}if(r.response.status===413)throw r}return this.#c()}#u(r){return this.#x.parseJson&&(r.json=async()=>this.#x.parseJson(await r.text())),r}async#f(r){try{return await r()}catch(a){let n=Math.min(await this.#d(a),dl);if(this.#t<1)throw a;await E8(n,this.#i?{signal:this.#i}:{});for(let o of this.#x.hooks.beforeRetry){let e=await o({request:this.request,options:this.#s(),error:a,retryCount:this.#t});if(e instanceof globalThis.Request){this.request=e;break}if(e instanceof globalThis.Response)return e;if(e===ll)return}return this.#f(r)}}async#l(){this.#r?.signal.aborted&&(this.#r=new globalThis.AbortController,this.#x.signal=this.#i?AbortSignal.any([this.#i,this.#r.signal]):this.#r.signal,this.request=new globalThis.Request(this.request,{signal:this.#x.signal}));for(let a of this.#x.hooks.beforeRequest){let n=await a(this.request,this.#s(),{retryCount:this.#t});if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}let r=uS(this.request,this.#x);return this.#a=this.request,this.request=this.#a.clone(),this.#x.timeout===!1?this.#x.fetch(this.#a,r):v8(this.#a,r,this.#r,this.#x)}#s(){if(!this.#o){let{hooks:r,...a}=this.#x;this.#o=Object.freeze(a)}return this.#o}};var A8=i=>{let r=(a,n)=>Pc.create(a,Rc(i,n));for(let a of fl)r[a]=(n,o)=>Pc.create(n,Rc(i,o,{method:a}));return r.create=a=>A8(Rc(a)),r.extend=a=>(typeof a=="function"&&(a=a(i??{})),A8(Rc(i,a))),r.stop=ll,r},tx0=A8(),Bn=tx0;var kU=Re(GS()),OU=Re(_8()),FU=Re(B8()),IU=Re(Y8()),k4=Re(ib());var Lu=Re(GM());async function zM(){let i=await(0,Lu.loadConfig)();return{config:i.app.extConfig,path:i.app.extConfigFilePath}}async function lm(i,r,a=!1){let n=await(0,Lu.loadConfig)(),{extConfig:o}=n.app;o&&(o.plugins||(o.plugins={extConfig:{},[i]:{}}),o.plugins[i]||(o.plugins[i]={}),a?o=r.config:o.plugins[i]=r.config.plugins?.[i],(0,Lu.writeConfig)(o,n.app.extConfigFilePath))}async function c7(i,r=!1){await lm("CapacitorUpdater",i,r)}var h7=".capgo_key",wr=".capgo_key_v2",O4=`${h7}.pub`,cn=`${wr}.pub`,yU="https://capgo.app",DU="https://files.capgo.app",vU="https://api.capgo.app",EU="https://console.capgo.app",Lm=12e4,S40=1024*1024*20,k40=1024*1024*1024,O40=1024*1024*99,yt="package.json",p7=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i,Jx=i=>i?`
286
+ ${kU.default.render(i)}`:"";function C4(i){return new Promise(r=>{setTimeout(r,i)})}function TU(i){return(0,Ri.isMonorepo)(i)||(0,Ri.isNXMonorepo)(i)}function Dt(i){return(0,Ri.isMonorepo)(i)?(0,Ri.findMonorepoRoot)(i):(0,Ri.isNXMonorepo)(i)?(0,Ri.findNXMonorepoRoot)(i):i}function RU(i=Dt((0,Lr.cwd)()),r=void 0){let a=r?.split(",")[0];if(a&&!(0,Y6.existsSync)(a)){let o=`Package.json at ${a} does not exist`;throw m0.error(o),new Error(o)}let n=(0,Y6.readFileSync)(a??(0,W6.join)(i,yt));return JSON.parse(n)}function Mm(i=Dt((0,Lr.cwd)()),r=void 0){return RU(i,r).scripts}function si(i=Dt((0,Lr.cwd)()),r=void 0){return RU(i,r).version??""}function AU(i){let r=i.replace("^","").replace("~","");return(0,FU.default)(r)?(0,OU.default)(r)??r:r}async function it(i=Dt((0,Lr.cwd)()),r=void 0){let a=r?.split(",");if(a??=[(0,W6.join)(i,yt)],a){for(let o of a)if(!(0,Y6.existsSync)(o)){let e=`Package.json at ${o} does not exist`;throw m0.error(e),new Error(e)}}let n=new Map;for(let o of a){let e=(0,Y6.readFileSync)(o),s=JSON.parse(e);for(let _ in s.dependencies)n.set(_,AU(s.dependencies[_]));for(let _ in s.devDependencies)n.set(_,AU(s.devDependencies[_]))}return n}async function Be(){try{let i=await zM();if(!i){let r="No capacitor config file found, run `cap init` first";throw m0.error(r),new Error(r)}return i}catch(i){let r=`No capacitor config file found, run \`cap init\` first ${Jx(i)}`;throw m0.error(r),new Error(r)}}async function Um(i,r){let a=await Be();return a?.config&&(a.config.plugins??={},a.config.plugins.extConfig??={},a.config.plugins[i]??={},a.config.plugins[i]={...a.config.plugins[i],...r},await lm(i,a)),a}async function Hu(i){return Um("CapacitorUpdater",i)}async function Mr(){try{let i=await Be(),r={host:i?.config?.plugins?.CapacitorUpdater?.localHost||yU,hostWeb:i?.config?.plugins?.CapacitorUpdater?.localWebHost||EU,hostFilesApi:i?.config?.plugins?.CapacitorUpdater?.localApiFiles||DU,hostApi:i?.config?.plugins?.CapacitorUpdater?.localApi||vU};return i?.config?.plugins?.CapacitorUpdater?.localSupa&&i?.config?.plugins?.CapacitorUpdater?.localSupaAnon&&(m0.info("Using custom supabase instance from capacitor.config.json"),r.supaKey=i?.config?.plugins?.CapacitorUpdater?.localSupaAnon,r.supaHost=i?.config?.plugins?.CapacitorUpdater?.localSupa),r}catch{return{host:yU,hostWeb:EU,hostFilesApi:DU,hostApi:vU}}}var F40=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function F4(){let i=await Mr();return Bn.get(`${i.hostApi}/private/config`).then(r=>r.json()).then(r=>({...r,...i})).catch(()=>(m0.info(`Local config ${Jx(i)}`),i))}async function PU(){let i=await Mr();return Bn.get(`${i.hostFilesApi}/files/config`).then(r=>r.json()).catch(()=>({partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:k40,maxChunkSize:O40,alertUploadSize:S40}))}async function Me(i,r,a){let n=await F4();if(r&&a&&(m0.info("Using custom supabase instance from provided options"),n.supaHost=r,n.supaKey=a),!n.supaHost||!n.supaKey)throw m0.error("Cannot connect to server please try again later"),new Error("Cannot connect to server please try again later");return(0,l7.createClient)(n.supaHost,n.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:i}}})}async function I40(i,r,a){let{data:n}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:a}).single();if(!n){m0.error("Invalid API key or insufficient permissions.");let e=`Your key should be: ${a.map((s,_)=>a.length===1?`"${s}"`:_===a.length-1?`or "${s}"`:`"${s}", `).join("")} mode.`;throw m0.error(e),new Error("Invalid API key or insufficient permissions.")}}async function _U(i,r){let{data:a}=await i.rpc("is_paying_org",{orgid:r}).single();return a||!1}async function BU(i,r){let{data:a}=await i.rpc("is_trial_org",{orgid:r}).single();return a||0}async function T40(i,r){let{data:a}=await i.rpc("is_allowed_action_org",{orgid:r}).single();return!!a}async function R40(i,r,a){let{data:n}=await i.rpc("is_allowed_action",{apikey:a,appid:r}).single();return!!n}var Pt=(s=>(s[s.none=0]="none",s[s.read=1]="read",s[s.upload=2]="upload",s[s.write=3]="write",s[s.admin=4]="admin",s[s.super_admin=5]="super_admin",s))(Pt||{}),b7=(i,r)=>i>=r;async function NU(i,r,a){let{data:n,error:o}=await i.rpc("get_org_perm_for_apikey",{apikey:r,app_id:a}).single();if(o)throw m0.error("Cannot get permissions for organization!"),console.error(o),new Error("Cannot get permissions for organization");if(n.includes("perm")){let _=null;switch(n){case"perm_none":{_=0;break}case"perm_read":{_=1;break}case"perm_upload":{_=2;break}case"perm_write":{_=3;break}case"perm_admin":{_=4;break}case"perm_owner":{_=5;break}default:throw n.includes("invite")?(m0.info("Please accept/deny the organization invitation before trying to access the app"),new Error("Organization invitation pending")):(m0.error(`Invalid output when fetching organization permission. Response: ${n}`),new Error(`Invalid output when fetching organization permission. Response: ${n}`))}return{okay:!0,data:_}}let s=null;switch(n){case"INVALID_APIKEY":{s="INVALID_APIKEY";break}case"NO_APP":{s="NO_APP";break}case"NO_ORG":{s="NO_ORG";break}default:throw m0.error(`Invalid error when fetching organization permission. Response: ${n}`),new Error(`Invalid error when fetching organization permission. Response: ${n}`)}return{okay:!1,error:s}}async function LU(i,r,a){let{data:n,error:o}=await i.rpc("get_organization_cli_warnings",{orgid:r,cli_version:a});if(o){m0.error(`Cannot get cli warnings: ${Jx(o)}`);return}if(n.length>0){m0.warn(`Found ${n.length} cli warnings for your organization.`);let e=null;for(let s of n){if(typeof s!="object"||typeof s.message!="string"||typeof s.fatal!="boolean"){m0.error(`Invalid cli warning: ${s}`);continue}let _=s;_.fatal?(m0.error(`${_.message.replaceAll("\\n",`
287
287
  `)}`),e=new Error(_.message)):m0.warn(`${_.message.replaceAll("\\n",`
288
288
  `)}`)}if(e)throw m0.error("Please fix the warnings and try again."),e;m0.info("End of cli warnings.")}}async function MU(i,r,a,n,o=!0){let e=await F4();if(!await(n?R40(i,n,a):T40(i,r)))throw m0.error(`You need to upgrade your plan to continue to use capgo.
289
289
  Upgrade here: ${e.hostWeb}/dashboard/settings/plans
@@ -293,15 +293,15 @@ Trial expires in ${_} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
293
293
  Upgrade here: ${e.hostWeb}/dashboard/settings/plans
294
294
  `),C4(100),Promise.resolve().then(()=>(_m(),Pm)).then(t0=>{t0.default(`${e.hostWeb}/dashboard/settings/plans`)}),C4(500),new Error("Plan upgrade required for upload");let[_,i0]=await Promise.all([BU(i,r),_U(i,r)]);_>0&&o&&!i0&&m0.warn(`WARNING !!
295
295
  Trial expires in ${_} days, upgrade here: ${e.hostWeb}/dashboard/settings/plans
296
- `)}function ze(i=!1){let r=Lr.env.CAPGO_TOKEN?.trim();if(r)return i||m0.info("Use CAPGO_TOKEN environment variable"),r;let a=(0,S4.homedir)(),n,o=`${a}/.capgo`;if((0,Y6.existsSync)(o)&&(i||m0.info(`Use global API key ${o}`),n=(0,Y6.readFileSync)(o,"utf8").trim()),o=".capgo",!n&&(0,Y6.existsSync)(o)&&(i||m0.info(`Use local API key ${o}`),n=(0,Y6.readFileSync)(o,"utf8").trim()),!n){let e=`Cannot find API key in local folder or global, please login first with ${ht().runner} @capacitor/cli login`;throw m0.error(e),new Error(e)}return n}async function*qm(i){let r=await(0,Y6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,W6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*qm(n):yield n}}function g7(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 I4(){let i=(0,Lr.cwd)(),r=!1,a=(0,W6.resolve)(i,"tsconfig.json");(0,Y6.existsSync)(a)&&(r=!0);for await(let n of qm(i)){if(n.includes("angular.json"))return m0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return m0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return m0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return m0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return m0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return m0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(yt)){let o=(0,W6.dirname)(n),e=await it(o);if(e){if(e.get("react"))return m0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return m0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function qU(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 Hm(i){if(i==="angular")return m0.info("Angular project detected"),"build";if(i==="nuxtjs")return m0.info("Nuxtjs project detected"),"generate";if(i==="nextjs"){if(m0.info("Nextjs project detected"),m0.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"),m0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),!await o6({message:"Do you want to continue?"})){let a="Build command selection aborted by user";throw m0.error(a),new Error(a)}return"build"}if(i==="sveltekit"){if(m0.info("Sveltekit project detected"),m0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),m0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),!await o6({message:"Do you want to continue?"})){let a="Build command selection aborted by user";throw m0.error(a),new Error(a)}return"build"}return"build"}async function HU(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,Lr.cwd)(),n=a.split("/").length;for await(let o of qm(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,m0.info(`Found main file here ${o}`);break}return r}async function jm(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 jU(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("files/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof l7.FunctionsHttpError){let s=await e.error.context.json();m0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else m0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){m0.error(`Cannot get upload url ${Zx(o)}`)}return""}async function*VU(i){let r=(0,Y6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,W6.join)(i,a.name);a.isDirectory()?yield*VU(n):yield n}}async function GU(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 VU(i)){if(a.some(_=>n.includes(_))){m0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,Y6.readFileSync)(n);if(o.length===0){m0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,SU.checksum)(o,"sha256"),s=(0,W6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function T4(i){return(0,S4.platform)()==="win32"?_40(i):P40(i)}function P40(i){let r=new Nm.default;return r.addLocalFolder(i),r.toBuffer()}async function _40(i){m0.info("Zipping file windows mode");let r=new Nm.default,a=(n,o)=>{let e=(0,Y6.readdirSync)(n);for(let s of e){let _=(0,W6.join)(n,s),i0=(0,Y6.statSync)(_);if(i0.isFile()){let t0=(0,Y6.readFileSync)(_);r.addFile((0,W6.join)(o,s).split(W6.sep).join("/"),t0)}else i0.isDirectory()&&a(_,(0,W6.join)(o,s))}};return a(i,""),r.toBuffer()}async function zU(i,r,a,n,o,e,s,_){return new Promise((i0,t0)=>{n6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new k4.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:_,metadataForPartialUploads:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/zip"},headers:{Authorization:i},onError(c0){if(m0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof k4.DetailedError){let l0=c0.originalResponse?.getBody(),d0=JSON.parse(l0||'{"error": "unknown error"}');t0(d0.status||d0.error||d0.message||"unknown error")}else t0(c0.message||c0.toString()||"unknown error")},onProgress(c0,l0){let d0=(c0/l0*100).toFixed(2);e.message(`Uploaded ${d0}%`)},async onSuccess(){await n6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),i0(!0)}}).start()})}async function QU(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 l7.FunctionsHttpError){let s=await e.error.context.json();m0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else m0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof l7.FunctionsHttpError){let e=await o.context.json();m0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else m0.error(`Cannot delete failed version: ${Zx(o)}`)}}async function R4(i,r){if(!r.app_id||!r.name||!r.created_by)return m0.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 n6(i,r){try{let a=await F4(),n=await Bn.post(`${a.hostApi}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();n.error&&m0.error(`Failed to send LogSnag event: ${n.error}`)}catch{}}async function m7(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");if(a)throw m0.error("Cannot get the list of organizations - exiting"),m0.error(`Error ${JSON.stringify(a)}`),new Error("Cannot get the list of organizations");let o=n.filter(i0=>!!r.find(t0=>t0===i0.role));if(n.length===0)throw m0.error("Could not get organization please create an organization first"),new Error("No organizations available");if(o.length===0)throw m0.error(`Could not find organization with roles: ${r.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),new Error("Could not find organization with required roles");let e=o.length>1?await Jr({message:"Please pick the organization that you want to insert to",options:o.map(i0=>({value:i0.gid,label:i0.name}))}):o[0].gid;if(s6(e))throw m0.error("Canceled organization selection, exiting"),new Error("Organization selection cancelled");let s=e,_=n.find(i0=>i0.gid===s);return m0.info(`Using the organization "${_.name}" as the app owner`),_}async function je(i,r,a=["all"]){await I40(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();if(!e||o)throw m0.error("Cannot auth user with apikey"),new Error("Cannot authenticate user with provided API key");return e}async function Ur(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();if(!a||n)throw m0.error(`Cannot get organization id for app id ${r}`),Zx(n),new Error(`Cannot get organization id for app id ${r}`);return a.owner_org}function w7(i){return new Date(i||"").toLocaleString()}var CU=!1,d7="npm",qu="install",Bm="npx";function ht(){if(CU)return{pm:d7,command:qu,installCommand:`${d7} ${qu}`,runner:Bm};let i=Dt((0,Lr.cwd)());return d7=ic(i,"npm"),qu=td(d7),CU=!0,Bm=bv(i),{pm:d7,command:qu,installCommand:`${d7} ${qu}`,runner:Bm}}function WU(i){return(0,Y6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,W6.join)(i,n.name);return n.isDirectory()?WU(o):o.split(`node_modules${W6.sep}`)[1]||o})}async function Vm(i,r){let a=r?r.split(","):[],n;try{n=await it("",i)}catch(r0){throw m0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",r0),r0 instanceof Error?r0:new Error("Invalid package.json")}let o=i?.split(",")[0],e=o?W6.default.resolve(o).replace(yt,""):Dt((0,Lr.cwd)());if(!n)throw m0.error("Missing dependencies section in package.json"),new Error("Missing dependencies section in package.json");for(let[r0,c0]of Object.entries(n))if(typeof c0!="string")throw m0.error(`Invalid dependency ${r0}: ${c0}, expected string, got ${typeof c0}`),new Error(`Invalid dependency ${r0}: expected string version`);let s=a.length===0?[(0,W6.join)((0,Lr.cwd)(),"node_modules")]:a;if(!s.some(r0=>(0,Y6.existsSync)(r0))){let r0=ic(e,"npm"),c0=td(r0);throw m0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${r0} ${c0}`),new Error("Missing node_modules folder")}let i0=!1,t0=await Promise.all(Array.from(n.entries()).map(async([r0,c0])=>{let l0=!1,d0=!1;for(let v0 of s){let F0=(0,W6.join)(v0,r0);if((0,Y6.existsSync)(F0)){l0=!0;try{if(WU(F0).some(B0=>F40.test(B0))){d0=!0;break}}catch(O0){throw m0.error(`Error reading node_modules files for ${r0} package in ${v0}`),console.error(O0),O0 instanceof Error?O0:new Error(`Error reading node_modules files for ${r0}`)}}}if(!l0){i0=!0;let v0=ic(e,"npm"),F0=td(v0);return m0.error(`Missing dependency ${r0}, please run ${v0} ${F0}`),{name:r0,version:c0}}return{name:r0,version:c0,native:d0}})).catch(()=>[]);if(i0||t0.find(r0=>r0.native===void 0))throw m0.error("Missing dependencies or invalid dependencies"),m0.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"),new Error("Missing dependencies or invalid dependencies");return t0}async function B40(i,r,a){let{data:n,error:o}=await i.from("channels").select("version(checksum)").eq("name",a).eq("app_id",r).single(),e=n;return o||e===null||!e.version||!e.version.checksum?null:e.version.checksum}function N40(i){if(!i)throw m0.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),new Error("Error parsing native packages");for(let a of i){if(typeof a!="object")throw m0.error(`Invalid remote native package data: ${a}, expected object, got ${typeof a}`),new Error("Invalid remote native package data");let{name:n,version:o}=a;if(!n||typeof n!="string")throw m0.error(`Invalid remote native package name: ${n}, expected string, got ${typeof n}`),new Error("Invalid remote native package name");if(!o||typeof o!="string")throw m0.error(`Invalid remote native package version: ${o}, expected string, got ${typeof o}`),new Error("Invalid remote native package version")}return new Map(i.map(a=>[a.name,a]))}async function YU(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
296
+ `)}function ze(i=!1){let r=Lr.env.CAPGO_TOKEN?.trim();if(r)return i||m0.info("Use CAPGO_TOKEN environment variable"),r;let a=(0,S4.homedir)(),n,o=`${a}/.capgo`;if((0,Y6.existsSync)(o)&&(i||m0.info(`Use global API key ${o}`),n=(0,Y6.readFileSync)(o,"utf8").trim()),o=".capgo",!n&&(0,Y6.existsSync)(o)&&(i||m0.info(`Use local API key ${o}`),n=(0,Y6.readFileSync)(o,"utf8").trim()),!n){let e=`Cannot find API key in local folder or global, please login first with ${ht().runner} @capacitor/cli login`;throw m0.error(e),new Error(e)}return n}async function*qm(i){let r=await(0,Y6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,W6.resolve)(i,a.name);a.isDirectory()&&!a.name.startsWith(".")&&!a.name.startsWith("node_modules")&&!a.name.startsWith("dist")?yield*qm(n):yield n}}function g7(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 I4(){let i=(0,Lr.cwd)(),r=!1,a=(0,W6.resolve)(i,"tsconfig.json");(0,Y6.existsSync)(a)&&(r=!0);for await(let n of qm(i)){if(n.includes("angular.json"))return m0.info("Found angular project"),r?"angular-ts":"angular-js";if(n.includes("nuxt.config.js")||n.includes("nuxt.config.ts"))return m0.info("Found nuxtjs project"),r?"nuxtjs-ts":"nuxtjs-js";if(n.includes("next.config.js")||n.includes("next.config.mjs"))return m0.info("Found nextjs project"),r?"nextjs-ts":"nextjs-js";if(n.includes("svelte.config.js"))return m0.info("Found sveltekit project"),r?"sveltekit-ts":"sveltekit-js";if(n.includes("rolluconfig.js"))return m0.info("Found svelte project"),r?"svelte-ts":"svelte-js";if(n.includes("vue.config.js"))return m0.info("Found vue project"),r?"vue-ts":"vue-js";if(n.includes(yt)){let o=(0,W6.dirname)(n),e=await it(o);if(e){if(e.get("react"))return m0.info("Found react project test"),r?"react-ts":"react-js";if(e.get("vue"))return m0.info("Found vue project"),r?"vue-ts":"vue-js"}}}return"unknown"}function qU(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 Hm(i){if(i==="angular")return m0.info("Angular project detected"),"build";if(i==="nuxtjs")return m0.info("Nuxtjs project detected"),"generate";if(i==="nextjs"){if(m0.info("Nextjs project detected"),m0.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"),m0.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),!await o6({message:"Do you want to continue?"})){let a="Build command selection aborted by user";throw m0.error(a),new Error(a)}return"build"}if(i==="sveltekit"){if(m0.info("Sveltekit project detected"),m0.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),m0.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),!await o6({message:"Do you want to continue?"})){let a="Build command selection aborted by user";throw m0.error(a),new Error(a)}return"build"}return"build"}async function HU(){let i=/(main|index)\.(ts|tsx|js|jsx)$/,r="",a=(0,Lr.cwd)(),n=a.split("/").length;for await(let o of qm(a))if(o.split("/").length-n<=2&&i.test(o)){r=o,m0.info(`Found main file here ${o}`);break}return r}async function jm(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 jU(i,r,a){let n={app_id:r,name:a,version:0};try{let e=await i.functions.invoke("files/upload_link",{body:JSON.stringify(n)});if(e.error){if(e.error instanceof l7.FunctionsHttpError){let s=await e.error.context.json();m0.error(`Upload URL error: ${s.status||JSON.stringify(s)}`)}else m0.error(`Cannot get upload url: ${e.error.message}`);return""}return e.data.url}catch(o){m0.error(`Cannot get upload url ${Jx(o)}`)}return""}async function*VU(i){let r=(0,Y6.readdirSync)(i,{withFileTypes:!0});for(let a of r){let n=(0,W6.join)(i,a.name);a.isDirectory()?yield*VU(n):yield n}}async function GU(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 VU(i)){if(a.some(_=>n.includes(_))){m0.info(`Ignoring file ${n}, please ensure you have only required files in your dist folder`);continue}let o=(0,Y6.readFileSync)(n);if(o.length===0){m0.info(`Ignoring empty file ${n}, please ensure you have only required files in your dist folder`);continue}let e=await(0,SU.checksum)(o,"sha256"),s=(0,W6.relative)(i,n);s.startsWith("/")&&(s=s.substring(1)),r.push({file:s,hash:e})}return r}async function T4(i){return(0,S4.platform)()==="win32"?_40(i):P40(i)}function P40(i){let r=new Nm.default;return r.addLocalFolder(i),r.toBuffer()}async function _40(i){m0.info("Zipping file windows mode");let r=new Nm.default,a=(n,o)=>{let e=(0,Y6.readdirSync)(n);for(let s of e){let _=(0,W6.join)(n,s),i0=(0,Y6.statSync)(_);if(i0.isFile()){let t0=(0,Y6.readFileSync)(_);r.addFile((0,W6.join)(o,s).split(W6.sep).join("/"),t0)}else i0.isDirectory()&&a(_,(0,W6.join)(o,s))}};return a(i,""),r.toBuffer()}async function zU(i,r,a,n,o,e,s,_){return new Promise((i0,t0)=>{n6(i,{channel:"app",event:"App TUS upload",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}),new k4.Upload(r,{endpoint:`${s.hostFilesApi}/files/upload/attachments/`,chunkSize:_,metadataForPartialUploads:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${a}/apps/${n}/${o}.zip`,filetype:"application/zip"},headers:{Authorization:i},onError(c0){if(m0.error(`Error uploading bundle: ${c0.message}`),c0 instanceof k4.DetailedError){let l0=c0.originalResponse?.getBody(),d0=JSON.parse(l0||'{"error": "unknown error"}');t0(d0.status||d0.error||d0.message||"unknown error")}else t0(c0.message||c0.toString()||"unknown error")},onProgress(c0,l0){let d0=(c0/l0*100).toFixed(2);e.message(`Uploaded ${d0}%`)},async onSuccess(){await n6(i,{channel:"app",event:"App TUS done",icon:"\u23EB",user_id:a,tags:{"app-id":n},notify:!1}).catch(),i0(!0)}}).start()})}async function QU(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 l7.FunctionsHttpError){let s=await e.error.context.json();m0.error(`Cannot delete failed version: ${s.status||JSON.stringify(s)}`)}else m0.error(`Cannot delete failed version: ${e.error.message}`);return}return e.data?.status}catch(o){if(o instanceof l7.FunctionsHttpError){let e=await o.context.json();m0.error(`Cannot delete failed version: ${e.message||JSON.stringify(e)}`)}else m0.error(`Cannot delete failed version: ${Jx(o)}`)}}async function R4(i,r){if(!r.app_id||!r.name||!r.created_by)return m0.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 n6(i,r,a){try{let n=await F4(),o=await Bn.post(`${n.hostApi}/private/events`,{json:r,headers:{capgkey:i},timeout:1e4,retry:3}).json();o.error&&m0.error(`Failed to send LogSnag event: ${o.error}`)}catch(n){a&&(m0.error("Failed to send Stats event details:"),m0.error(Jx(n)))}}async function m7(i,r){let{error:a,data:n}=await i.rpc("get_orgs_v6");if(a)throw m0.error("Cannot get the list of organizations - exiting"),m0.error(`Error ${JSON.stringify(a)}`),new Error("Cannot get the list of organizations");let o=n.filter(i0=>!!r.find(t0=>t0===i0.role));if(n.length===0)throw m0.error("Could not get organization please create an organization first"),new Error("No organizations available");if(o.length===0)throw m0.error(`Could not find organization with roles: ${r.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),new Error("Could not find organization with required roles");let e=o.length>1?await Jr({message:"Please pick the organization that you want to insert to",options:o.map(i0=>({value:i0.gid,label:i0.name}))}):o[0].gid;if(s6(e))throw m0.error("Canceled organization selection, exiting"),new Error("Organization selection cancelled");let s=e,_=n.find(i0=>i0.gid===s);return m0.info(`Using the organization "${_.name}" as the app owner`),_}async function je(i,r,a=["all"]){await I40(i,r,a);let{data:n,error:o}=await i.rpc("get_user_id",{apikey:r}).single(),e=(n||"").toString();if(!e||o)throw m0.error("Cannot auth user with apikey"),new Error("Cannot authenticate user with provided API key");return e}async function Ur(i,r){let{data:a,error:n}=await i.from("apps").select("owner_org").eq("app_id",r).single();if(!a||n)throw m0.error(`Cannot get organization id for app id ${r}`),Jx(n),new Error(`Cannot get organization id for app id ${r}`);return a.owner_org}function w7(i){return new Date(i||"").toLocaleString()}var CU=!1,d7="npm",qu="install",Bm="npx";function ht(){if(CU)return{pm:d7,command:qu,installCommand:`${d7} ${qu}`,runner:Bm};let i=Dt((0,Lr.cwd)());return d7=ic(i,"npm"),qu=td(d7),CU=!0,Bm=bv(i),{pm:d7,command:qu,installCommand:`${d7} ${qu}`,runner:Bm}}function WU(i){return(0,Y6.readdirSync)(i,{withFileTypes:!0}).flatMap(n=>{let o=(0,W6.join)(i,n.name);return n.isDirectory()?WU(o):o.split(`node_modules${W6.sep}`)[1]||o})}async function Vm(i,r){let a=r?r.split(","):[],n;try{n=await it("",i)}catch(r0){throw m0.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",r0),r0 instanceof Error?r0:new Error("Invalid package.json")}let o=i?.split(",")[0],e=o?W6.default.resolve(o).replace(yt,""):Dt((0,Lr.cwd)());if(!n)throw m0.error("Missing dependencies section in package.json"),new Error("Missing dependencies section in package.json");for(let[r0,c0]of Object.entries(n))if(typeof c0!="string")throw m0.error(`Invalid dependency ${r0}: ${c0}, expected string, got ${typeof c0}`),new Error(`Invalid dependency ${r0}: expected string version`);let s=a.length===0?[(0,W6.join)((0,Lr.cwd)(),"node_modules")]:a;if(!s.some(r0=>(0,Y6.existsSync)(r0))){let r0=ic(e,"npm"),c0=td(r0);throw m0.error(`Missing node_modules folder at ${s.join(", ")}, please run ${r0} ${c0}`),new Error("Missing node_modules folder")}let i0=!1,t0=await Promise.all(Array.from(n.entries()).map(async([r0,c0])=>{let l0=!1,d0=!1;for(let v0 of s){let F0=(0,W6.join)(v0,r0);if((0,Y6.existsSync)(F0)){l0=!0;try{if(WU(F0).some(B0=>F40.test(B0))){d0=!0;break}}catch(O0){throw m0.error(`Error reading node_modules files for ${r0} package in ${v0}`),console.error(O0),O0 instanceof Error?O0:new Error(`Error reading node_modules files for ${r0}`)}}}if(!l0){i0=!0;let v0=ic(e,"npm"),F0=td(v0);return m0.error(`Missing dependency ${r0}, please run ${v0} ${F0}`),{name:r0,version:c0}}return{name:r0,version:c0,native:d0}})).catch(()=>[]);if(i0||t0.find(r0=>r0.native===void 0))throw m0.error("Missing dependencies or invalid dependencies"),m0.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"),new Error("Missing dependencies or invalid dependencies");return t0}async function B40(i,r,a){let{data:n,error:o}=await i.from("channels").select("version(checksum)").eq("name",a).eq("app_id",r).single(),e=n;return o||e===null||!e.version||!e.version.checksum?null:e.version.checksum}function N40(i){if(!i)throw m0.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),new Error("Error parsing native packages");for(let a of i){if(typeof a!="object")throw m0.error(`Invalid remote native package data: ${a}, expected object, got ${typeof a}`),new Error("Invalid remote native package data");let{name:n,version:o}=a;if(!n||typeof n!="string")throw m0.error(`Invalid remote native package name: ${n}, expected string, got ${typeof n}`),new Error("Invalid remote native package name");if(!o||typeof o!="string")throw m0.error(`Invalid remote native package version: ${o}, expected string, got ${typeof o}`),new Error("Invalid remote native package version")}return new Map(i.map(a=>[a.name,a]))}async function YU(i,r,a){let{data:n,error:o}=await i.from("channels").select(`version (
297
297
  native_packages
298
298
  )`).eq("name",a).eq("app_id",r).single();if(o)throw m0.error(`Error fetching native packages: ${o.message}`),new Error(`Error fetching native packages: ${o.message}`);return N40(n.version.native_packages??[])}async function KU(i,r,a,n){let o=u6();o.start(`Checking bundle checksum compatibility with channel ${a}`);let e=await B40(i,r,a);if(!e){o.stop(`No checksum found for channel ${a}, the bundle will be uploaded`);return}if(e&&e===n)throw m0.error(`Cannot upload the same bundle content.
299
299
  Current bundle checksum matches remote bundle for channel ${a}
300
300
  Did you builded your app before uploading?
301
301
  PS: You can ignore this check with "--ignore-checksum-check"`),new Error("Cannot upload the same bundle content");o.stop(`Checksum compatible with ${a} channel`)}function $e(i,r){return i||r?.plugins?.CapacitorUpdater?.appId||r?.appId}function uo(i){if(!i.localVersion)return!0;if(!i.remoteVersion)return!1;try{return(0,IU.default)(i.localVersion,i.remoteVersion)}catch{return!1}}async function P4(i,r,a,n,o){let e=await Vm(n,o),s=await YU(i,r,a),_=e.filter(t0=>!!t0.native).map(t0=>{let r0=s.get(t0.name);return r0?{name:t0.name,localVersion:t0.version,remoteVersion:r0.version}:{name:t0.name,localVersion:t0.version,remoteVersion:void 0}}),i0=[...s].filter(([t0])=>e.find(r0=>r0.name===t0)===void 0).map(([t0,r0])=>({name:t0,localVersion:void 0,remoteVersion:r0.version}));return _.push(...i0),{finalCompatibility:_,localDependencies:e}}async function Gm(i,r,a,n){let o=await YU(i,r,a),e=n.map(_=>{let i0=o.get(_.name);return i0?{name:_.name,localVersion:_.version,remoteVersion:i0.version}:{name:_.name,localVersion:_.version,remoteVersion:void 0}}),s=[...o].filter(([_])=>n.find(i0=>i0.name===_)===void 0).map(([_,i0])=>({name:_,localVersion:void 0,remoteVersion:i0.version}));return e.push(...s),{finalCompatibility:e,localDependencies:n}}async function XU(i,r){let{data:a}=await i.rpc("exist_app_v2",{appid:r}).single();return!!a}async function T6(i,r,a,n,o=!1){let e=ht(),s=await NU(i,r,a);if(!s.okay)switch(s.error){case"INVALID_APIKEY":{let t0="Invalid apikey, such apikey does not exists!";throw o||m0.error(t0),new Error(t0)}case"NO_APP":{let t0=`App ${a} does not exist, run first \`${e.runner} @capgo/cli app add ${a}\` to create it`;throw o||m0.error(t0),new Error(t0)}case"NO_ORG":{let t0="Could not find organization, please contact support to resolve this!";throw o||m0.error(t0),new Error(t0)}}let _=s.data;if(n>_){let t0=`Insuficcent permissions for app ${a}. Current permission: ${Pt[s.data]}, required for this action: ${Pt[n]}.`;throw o||m0.error(t0),new Error(t0)}return s.data}var qr="assets/icon.png";var ju=class extends Error{response;request;options;constructor(r,a,n){let o=r.status||r.status===0?r.status:"",e=r.statusText||"",s=`${o} ${e}`.trim(),_=s?`status code ${s}`:"an unknown error";super(`Request failed with ${_}: ${a.method} ${a.url}`),this.name="HTTPError",this.response=r,this.request=a,this.options=n}};var y7=class extends Error{request;constructor(r){super(`Request timed out: ${r.method} ${r.url}`),this.name="TimeoutError",this.request=r}};var D7=i=>i!==null&&typeof i=="object";var Vu=(...i)=>{for(let r of i)if((!D7(r)||Array.isArray(r))&&r!==void 0)throw new TypeError("The `options` argument must be an object");return Wm({},...i)},zm=(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 _4(i,r,a){return Object.hasOwn(r,a)&&r[a]===void 0?[]:Wm(i[a]??[],r[a]??[])}var Qm=(i={},r={})=>({beforeRequest:_4(i,r,"beforeRequest"),beforeRetry:_4(i,r,"beforeRetry"),afterResponse:_4(i,r,"afterResponse"),beforeError:_4(i,r,"beforeError")}),Wm=(...i)=>{let r={},a={},n={};for(let o of i)if(Array.isArray(o))Array.isArray(r)||(r=[]),r=[...r,...o];else if(D7(o)){for(let[e,s]of Object.entries(o))D7(s)&&e in r&&(s=Wm(r[e],s)),r={...r,[e]:s};D7(o.hooks)&&(n=Qm(n,o.hooks),r.hooks=n),D7(o.headers)&&(a=zm(a,o.headers),r.headers=a)}return r};var JU=(()=>{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})(),ZU=typeof globalThis.AbortController=="function",$U=typeof globalThis.ReadableStream=="function",xq=typeof globalThis.FormData=="function",B4=["get","post","put","patch","head","delete"],L40=()=>{};L40();var eq={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},N4=2147483647,L4=Symbol("stop"),tq={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},rq={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 nq=i=>B4.includes(i)?i.toUpperCase():i,M40=["get","put","head","delete","options","trace"],U40=[408,413,429,500,502,503,504],q40=[413,429,503],iq={limit:2,methods:M40,statusCodes:U40,afterStatusCodes:q40,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:i=>.3*2**(i-1)*1e3},aq=(i={})=>{if(typeof i=="number")return{...iq,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{...iq,...i}};async function Ym(i,r,a,n){return new Promise((o,e)=>{let s=setTimeout(()=>{a&&a.abort(),e(new y7(i))},n.timeout);n.fetch(i,r).then(o).catch(e).then(()=>{clearTimeout(s)})})}async function Km(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 sq=(i,r)=>{let a={};for(let n in r)!(n in rq)&&!(n in tq)&&!(n in i)&&(a[n]=r[n]);return a};var Gu=class i{static create(r,a){let n=new i(r,a),o=async()=>{if(typeof n._options.timeout=="number"&&n._options.timeout>N4)throw new RangeError(`The \`timeout\` option cannot be greater than ${N4}`);await Promise.resolve();let _=await n._fetch();for(let i0 of n._options.hooks.afterResponse){let t0=await i0(n.request,n._options,n._decorateResponse(_.clone()));t0 instanceof globalThis.Response&&(_=t0)}if(n._decorateResponse(_),!_.ok&&n._options.throwHttpErrors){let i0=new ju(_,n.request,n._options);for(let t0 of n._options.hooks.beforeError)i0=await t0(i0);throw i0}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(_.clone(),n._options.onDownloadProgress)}return _},s=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(o):o();for(let[_,i0]of Object.entries(eq))s[_]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||i0);let t0=await s;if(_==="json"){if(t0.status===204||(await t0.clone().arrayBuffer()).byteLength===0)return"";if(a.parseJson)return a.parseJson(await t0.text())}return t0[_]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(r,a={}){if(this._input=r,this._options={...a,headers:zm(this._input.headers,a.headers),hooks:Qm({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},a.hooks),method:nq(a.method??this._input.method??"GET"),prefixUrl:String(a.prefixUrl||""),retry:aq(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(ZU){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(JU&&(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);(xq&&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 y7)throw r;if(r instanceof ju){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),N4);if(this._retryCount<1)throw a;await Km(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})===L4)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=sq(this.request,this._options),a=this.request;return this.request=a.clone(),this._options.timeout===!1?this._options.fetch(a,r):Ym(a,r,this.abortController,this._options)}_stream(r,a){let n=Number(r.headers.get("content-length"))||0,o=0;return r.status===204?(a&&a({percent:1,totalBytes:n,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:r.status,statusText:r.statusText,headers:r.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(e){let s=r.body.getReader();a&&a({percent:0,transferredBytes:0,totalBytes:n},new Uint8Array);async function _(){let{done:i0,value:t0}=await s.read();if(i0){e.close();return}if(a){o+=t0.byteLength;let r0=n===0?0:o/n;a({percent:r0,transferredBytes:o,totalBytes:n},t0)}e.enqueue(t0),await _()}await _()}}),{status:r.status,statusText:r.statusText,headers:r.headers})}};var Xm=i=>{let r=(a,n)=>Gu.create(a,Vu(i,n));for(let a of B4)r[a]=(n,o)=>Gu.create(n,Vu(i,o,{method:a}));return r.create=a=>Xm(Vu(a)),r.extend=a=>(typeof a=="function"&&(a=a(i??{})),Xm(Vu(i,a))),r.stop=L4,r},H40=Xm(),oq=H40;var Rq=Re(Tq(),1);function xw(i){let r=(0,Rq.default)("npm",{registry:"https://registry.npmjs.org/"}),a=r[`${i}:registry`]||r.config_registry||r.registry;return a.slice(-1)==="/"?a:`${a}/`}var wV=Re(FH(),1),yV=Re(mV(),1),Rw=class extends Error{constructor(r){super(`Package \`${r}\` could not be found`),this.name="PackageNotFoundError"}},Pw=class extends Error{constructor(r,a){super(`Version \`${a}\` for package \`${r}\` could not be found`),this.name="VersionNotFoundError"}};async function _w(i,r={}){let{version:a="latest"}=r,{omitDeprecated:n=!0}=r,o=i.split("/")[0],e=r.registryUrl??xw(o),s=new URL(encodeURIComponent(i).replace(/^%40/,"@"),e),_=(0,wV.default)(e.toString(),{recursive:!0}),i0={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};r.fullMetadata&&delete i0.accept,_&&(i0.authorization=`${_.type} ${_.token}`);let t0;try{t0=await oq(s,{headers:i0,keepalive:!0}).json()}catch(c0){throw c0?.response?.status===404?new Rw(i):c0}if(r.allVersions)return t0;let r0=new Pw(i,a);if(t0["dist-tags"][a]){let{time:c0}=t0;t0=t0.versions[t0["dist-tags"][a]],t0.time=c0}else if(a){let c0=!!t0.versions[a];if(n&&!c0)for(let[d0,v0]of Object.entries(t0.versions))v0.deprecated&&delete t0.versions[d0];if(!c0){let d0=Object.keys(t0.versions);if(a=yV.default.maxSatisfying(d0,a),!a)throw r0}let{time:l0}=t0;if(t0=t0.versions[a],t0.time=l0,!t0)throw r0}return t0}async function rf(i,r){let{version:a}=await _w(i.toLowerCase(),r);return a}async function x6(){let i=await rf("@capgo/cli").catch(()=>""),r=i?.split(".")[0];i!==Kr.version&&m0.warning(`\u{1F6A8} You are using @capgo/cli@${Kr.version} it's not the latest version.
302
- Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}function Vp0(i,r,a){if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(i.includes("--"))throw a||m0.error('The app id includes illegal symbols. You cannot use "--" in the app id'),new Error("App id includes illegal symbols")}async function Gp0(i,r,a){if(await XU(i,r))throw r==="io.ionic.starter"?(a||m0.error(`This appId ${r} cannot be used it's reserved, please change it in your capacitor config.`),new Error("Reserved appId, please change it in capacitor config")):(a||m0.error(`App ${r} already exist`),new Error(`App ${r} already exists`))}async function zp0(i,r,a=!1){return Bw(i,r,void 0,a)}async function Bw(i,r,a,n=!1){n||ke("Adding"),await x6(),r.apikey=r.apikey||ze();let o=await Be(),e=$e(i,o?.config);Vp0(e,r,n);let s=await Me(r.apikey,r.supaHost,r.supaAnon),_=await je(s,r.apikey,["write","all"]);await Gp0(s,e,n),a||(a=await m7(s,["admin","super_admin"]));let i0=a.gid,{name:t0,icon:r0}=r;if(t0=t0||o.config?.appName||"Unknown",r0=r0||"resources/icon.png",!r0||!t0)throw n||m0.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),new Error("Missing app name or icon path");n||m0.info(`Adding ${e} to Capgo`);let c0=null,l0=null;r0&&(0,T7.existsSync)(r0)?(c0=(0,T7.readFileSync)(r0),l0=g7(r0)||"image/png",n||m0.warn(`Found app icon ${r0}`)):(0,T7.existsSync)(qr)?(c0=(0,T7.readFileSync)(qr),l0=g7(qr)||"image/png",n||m0.warn(`Found app icon ${qr}`)):n||m0.warn(`Cannot find app icon in any of the following locations: ${r0}, ${qr}`);let d0="icon",v0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(c0&&l0){let{error:B0}=await s.storage.from(`images/org/${i0}/${e}`).upload(d0,c0,{contentType:l0});if(B0)throw n||console.error(B0),n||m0.error(`Could not add app ${Zx(B0)}`),new Error(`Could not add app ${Zx(B0)}`);let{data:j0}=await s.storage.from(`images/org/${i0}/${e}`).getPublicUrl(d0);v0=j0?.publicUrl||v0}let{error:F0}=await s.from("apps").insert({icon_url:v0,owner_org:i0,user_id:_,name:t0,app_id:e});if(F0)throw n||m0.error(`Could not add app ${Zx(F0)}`),new Error(`Could not add app ${Zx(F0)}`);let{error:O0}=await s.from("app_versions").insert([{owner_org:i0,deleted:!0,name:"unknown",app_id:e},{owner_org:i0,deleted:!0,name:"builtin",app_id:e}]);if(O0)throw n||m0.error(`Could not add app ${Zx(O0)}`),new Error(`Could not add app ${Zx(O0)}`);return n||(m0.success(`App ${e} added to Capgo. You can upload a bundle now`),ye("Done \u2705")),{appId:e,organizationUid:i0,userId:_,name:t0,signedURL:v0}}async function DV(i,r){await zp0(i,r,!1)}function vV(i,r){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(i),o="\x1B[";return o+n+"m"+r+o+"0m"}var pt=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?vV("bold",o):o,s=a-o.length,_=this.theme.row[1];switch(typeof r){case"number":return _.repeat(s)+e;case"string":return e+_.repeat(s);case"boolean":case"object":return _.repeat(Math.ceil(s/2))+vV("italic",o)+_.repeat(Math.floor(s/2));default:return _.repeat(s)}}renderRow(r,a=!1){let n=this.theme.row,o=this.columnWidth();return n[0]+r.map((e,s)=>this.renderCell(e,o[s],a)).join(n[2])+n[3]}toString(){let r=this.theme,a=this.headers.length>0,n=this.rows.length>0;return[this.title?this.renderTitle():"",a||n?this.renderLine(r.top):"",a?this.renderRow(this.headers,!0):"",a&&n?this.renderLine(r.div):"",...this.rows.map(o=>this.renderRow(o)),a||n?this.renderLine(r.bot):""].filter(o=>o.length>0).join(`
303
- `)}};function Qp0(i){return new Promise(r=>{setTimeout(r,i)})}function Wp0(i){return new Date(i||"").toLocaleTimeString()}async function _i(i,r,a,n,o,e="\u2705"){await n6(a,{channel:i,event:n,icon:e,user_id:r,...o?{tags:{"app-id":o}}:{},notify:!1})}async function Yp0(i,r,a,n){if(s6(r))throw await _i(i,a,n,"canceled",void 0,"\u{1F937}"),new Error("Command cancelled")}async function Kp0(i,r,a){try{let n=await Mr(),o=a?{...r,rangeStart:a}:{...r},e=await Bn.post(`${n.hostApi}/private/stats`,{headers:{"Content-Type":"application/json",capgkey:i},body:JSON.stringify(o)}).then(s=>s.json()).catch(s=>(console.error("Cannot get devices",s),[]));if(e?.length>0)return e}catch(n){m0.error(`Cannot get stats ${Zx(n)}`)}return[]}function Xp0(i){let r={get:{summary:()=>"Update request by device. Waiting for download\u2026",level:"info",snag:"done"},delete:{summary:()=>"Bundle deleted on device",level:"info"},set:{summary:()=>"Bundle set on device \u2764\uFE0F",level:"info",snag:"set",stop:!0},NoChannelOrOverride:{summary:()=>"No default channel/override; create it in channel settings",level:"error"},needPlanUpgrade:{summary:({baseUrl:a})=>`Out of quota. Upgrade plan: ${a}/dashboard/settings/plans`,level:"error"},missingBundle:{summary:()=>"Requested bundle not found on server",level:"error"},noNew:{summary:()=>"Device already has latest available version",level:"info"},disablePlatformIos:{summary:()=>"iOS platform disabled in channel",level:"error"},disablePlatformAndroid:{summary:()=>"Android platform disabled in channel",level:"error"},disableAutoUpdate:{summary:()=>"Automatic updates disabled in channel",level:"error"},disableAutoUpdateToMajor:{summary:()=>"Auto-update to major versions disabled",level:"error"},disableAutoUpdateToMinor:{summary:()=>"Auto-update to minor versions disabled",level:"error"},disableAutoUpdateToPatch:{summary:()=>"Auto-update to patch versions disabled",level:"error"},disableAutoUpdateUnderNative:{summary:()=>"Channel update version is lower than device native",level:"error"},disableDevBuild:{summary:()=>"Dev build updates disabled in channel",level:"error"},disableEmulator:{summary:()=>"Emulator updates disabled in channel",level:"error"},cannotGetBundle:{summary:()=>"Cannot retrieve bundle from channel",level:"error"},cannotUpdateViaPrivateChannel:{summary:()=>"No access to private channel",level:"error"},channelMisconfigured:{summary:()=>"Channel configuration invalid or incomplete",level:"error"},disableAutoUpdateMetadata:{summary:()=>"Auto-update on metadata disabled",level:"error"},set_fail:{summary:()=>"Bundle set failed. Possibly corrupted",level:"error"},reset:{summary:()=>"Device reset to builtin bundle",level:"warn"},update_fail:{summary:()=>"Installed bundle failed to call notifyAppReady",level:"error"},checksum_fail:{summary:()=>"Downloaded bundle checksum validation failed",level:"error"},windows_path_fail:{summary:()=>"Bundle contains illegal Windows-style paths",level:"error"},canonical_path_fail:{summary:()=>"Bundle contains non-canonical paths",level:"error"},directory_path_fail:{summary:()=>"Bundle ZIP contains invalid directory paths",level:"error"},unzip_fail:{summary:()=>"Failed to unzip bundle on device",level:"error"},low_mem_fail:{summary:()=>"Download failed due to low device memory",level:"error"},app_moved_to_background:{summary:()=>"App moved to background",level:"info"},app_moved_to_foreground:{summary:()=>"App moved to foreground",level:"info"},decrypt_fail:{summary:()=>"Failed to decrypt downloaded bundle",level:"error"},getChannel:{summary:()=>"Queried current channel on device",level:"info"},setChannel:{summary:()=>"Channel set on device",level:"info"},InvalidIp:{summary:()=>"Device appears in Google datacenter; blocking recent updates (<4h)",level:"warn"},uninstall:{summary:()=>"App uninstalled or Capgo data cleared on device",level:"warn"}};if(i.action.startsWith("download_")){let a=i.action.split("_")[1];return a==="complete"?{summary:()=>"Download complete; relaunch app to apply",level:"info",snag:"downloaded"}:a==="fail"?{summary:()=>"Download failed on device",level:"error"}:{summary:()=>`Downloading ${a}%`,level:"info"}}return r[i.action]||null}async function Jp0(i,r,a,n,o,e){let s=Xp0(i);if(!s)return{};s.snag&&await _i(r,a,n,s.snag);let _=Wp0(i.created_at),i0=i.action,t0=i.version_id?`(version #${i.version_id})`:"",r0=i.version?` (version ${i.version})`:t0,c0=`${s.summary({data:i,baseAppUrl:o,baseUrl:e})}${r0}`;return{row:[_,i.device_id,i0,c0],stop:s.stop}}async function Nw(i,r,a,n,o){let e=!0,s=await Mr(),_=`${s.hostWeb}/app/p/${a}`;await _i(i,n,r,"Use waitlog",a);let i0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},t0=null,r0=new Set,c0=u6(),l0=`${s.host}/docs/plugins/updater/debugging/#sent-from-the-backend`;for(c0.start(`Waiting for logs (Expect delay of 30 sec) more info: ${l0}`);e;){await Qp0(5e3);let d0=await Kp0(r,i0,t0);if(d0.length>0){let v0=d0.reduce((j0,k0)=>{let Y0=new Date(k0.created_at).getTime();return Math.max(j0,Y0)},t0?new Date(t0).getTime():0);v0>0&&(t0=new Date(v0).toISOString());let F0=d0.filter(j0=>{let k0=`${j0.app_id}|${j0.device_id}|${j0.action}|${j0.version_id}|${j0.created_at}`;return r0.has(k0)?!1:(r0.add(k0),!0)}).sort((j0,k0)=>new Date(j0.created_at).getTime()-new Date(k0.created_at).getTime()),O0=new pt;O0.headers=["Time","Device","Key","Message"],O0.theme=pt.roundTheme,O0.rows=[];let B0=!1;for(let j0 of F0){let{row:k0,stop:Y0}=await Jp0(j0,i,n,r,_,s.hostWeb);k0&&O0.rows.push(k0),Y0&&(B0=!0)}if(O0.rows.length&&(c0.stop(""),m0.info(O0.toString()),c0.start(`Waiting for logs (Expect delay of 30 sec) more info: ${l0}`)),B0){e=!1;break}}}return c0.stop("Stop watching logs"),Promise.resolve()}async function EV(i,r,a=!1){a||ke("Debug Live update in Capgo"),await x6(),r.apikey=r.apikey||ze();let n=await Be();i=$e(i,n?.config);let o=r.device;if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(a)throw new Error("Debug command requires an interactive terminal");let e=await Me(r.apikey,r.supaHost,r.supaAnon),s=await Ur(e,i),_=await o6({message:"Automatic check if update working in device ?"});await Yp0("debug",_,s,r.apikey),_?(a||m0.info(`Wait logs sent to Capgo from ${i} device, Please background your app and open it again \u{1F4AA}`),await Nw("debug",r.apikey,i,s,o),a||ye("Done \u2705")):a||ye("Canceled \u274C")}async function AV(i,r,a=!1,n=!1){a||ke("Deleting"),r.apikey=r.apikey||ze();let o=await Be(),e=$e(i,o?.config);if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let s=await Me(r.apikey,r.supaHost,r.supaAnon),_=await je(s,r.apikey,["write","all"]);await T6(s,r.apikey,e,5,a);let{data:i0,error:t0}=await s.from("apps").select("owner_org ( created_by, id )").eq("app_id",e).single(),r0=i0;if(!n&&!t0&&(r0?.owner_org.created_by??"")!==_){if(a)throw new Error("Cannot delete app: you are not the organization owner");{m0.warn("Deleting the app is not recomended for users that are not the organization owner"),m0.warn("You are invited as a super_admin but your are not the owner"),m0.warn("It's strongly recomended that you do not continue!");let F0=await Jr({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(s6(F0)||F0==="no")throw m0.error("Canceled deleting the app, exiting"),new Error("App deletion cancelled")}}else t0&&!a&&m0.warn(`Cannot get the app owner ${Zx(t0)}`);let{error:c0}=await s.storage.from("images").remove([`org/${r0?.owner_org.id}/${e}/icon`]);c0&&!a&&m0.error("Could not delete app logo");let{error:l0}=await s.storage.from(`apps/${e}/${_}`).remove(["versions"]);l0&&!a&&m0.error("Could not delete app version");let{error:d0}=await s.from("apps").delete().eq("app_id",e);if(d0)throw a||m0.error("Could not delete app"),new Error(`Could not delete app: ${Zx(d0)}`);let v0=await Ur(s,e);return await n6(r.apikey,{channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:v0,tags:{"app-id":e},notify:!1}).catch(()=>{}),a||(m0.success("App deleted in Capgo"),ye("Done \u2705")),!0}var o5=require("node:os"),SV=require("node:process");async function CV(i){let r={},a=Object.keys(i);return(await Promise.all(a.map(o=>rf(o).catch(()=>null)))).forEach((o,e)=>{o&&(r[a[e]]=o)}),r}async function Zp0(){let i=await it(),r={"@capgo/cli":Kr.version};for(let[a,n]of i)(a.startsWith("@capgo/")||a.startsWith("@capawesome/")||a.startsWith("capacitor"))&&(r[a]=n);return r}async function kV(i,r=!1){r||m0.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let a=await Be(),n=si("",i.packageJson),o=a?.config?.plugins?.CapacitorUpdater?.version||n,e=a?.config?.appName||"",s=$e("",a?.config),_=a?.config?.webDir||"";r||(m0.info(` App Name: ${e}`),m0.info(` App ID: ${s}`),m0.info(` App Version: ${o}`),m0.info(` Web Dir: ${_}`),m0.info(` OS: ${(0,o5.platform)()} ${(0,o5.version)()}`),m0.info(` Node: ${SV.version}`),m0.info(" Installed Dependencies:"));let i0=await Zp0();if(Object.keys(i0).length===0)throw r||m0.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),new Error("No dependencies found");if(!r)for(let r0 of Object.keys(i0))m0.info(` ${r0}: ${i0[r0]}`);let t0={};if(r)t0=await CV(i0);else{let r0=u6();r0.start("Running: Loading latest dependencies"),t0=await CV(i0),r0.stop("Latest Dependencies:");for(let c0 of Object.keys(t0))m0.info(` ${c0}: ${t0[c0]}`)}if(JSON.stringify(i0)!==JSON.stringify(t0))throw r||m0.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),new Error("Some dependencies are not up to date");return r||m0.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),{appName:e,appId:s,appVersion:o,webDir:_,installedDependencies:i0,latestDependencies:t0}}function $p0(i){let r=new pt;r.headers=["Name","id","Created"],r.rows=[];for(let a of i.toReversed())r.rows.push([a.name??"",a.app_id,w7(a.created_at)]);m0.success("Apps"),m0.success(r.toString())}async function x80(i,r){let{data:a,error:n}=await i.from("apps").select().order("created_at",{ascending:!1});if(n)throw r||m0.error("Apps not found"),new Error("Apps not found");return a??[]}async function OV(i,r=!1){r||ke("List apps in Capgo"),await x6(),i.apikey=i.apikey||ze();let a=await Me(i.apikey,i.supaHost,i.supaAnon);await je(a,i.apikey,["write","all","read","upload"]),r||m0.info("Getting active bundle in Capgo");let n=await x80(a,r);if(!n.length)throw r||m0.error("No apps found"),new Error("No apps found");return r||(m0.info(`Active app in Capgo: ${n.length}`),$p0(n),ye("Done \u2705")),n}var FV=require("node:crypto"),R7=require("node:fs");async function IV(i,r,a=!1){a||ke("Set app"),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon),s=(await m7(o,["admin","super_admin"])).gid,_=await je(o,r.apikey,["write","all"]);await T6(o,r.apikey,i,4,a);let{name:i0,icon:t0,retention:r0}=r;if(r0&&Number.isNaN(Number(r0)))throw a||m0.error("retention value must be a number"),new Error("Retention value must be a number");if(r0&&r0<0)throw a||m0.error("retention value cannot be less than 0"),new Error("Retention value cannot be less than 0");if(r0&&r0>=63113904)throw a||m0.error("retention value cannot be greater than 63113904 seconds (2 years)"),new Error("Retention value cannot be greater than 63113904 seconds (2 years)");let c0,l0,d0=`icon_${(0,FV.randomUUID)()}`,v0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(t0&&(0,R7.existsSync)(t0)?(c0=(0,R7.readFileSync)(t0),l0=g7(t0)||"image/png",a||m0.warn(`Found app icon ${t0}`)):(0,R7.existsSync)(qr)?(c0=(0,R7.readFileSync)(qr),l0=g7(qr)||"image/png",a||m0.warn(`Found app icon ${qr}`)):a||m0.warn(`Cannot find app icon in any of the following locations: ${t0}, ${qr}`),c0&&l0){let{error:O0}=await o.storage.from(`images/org/${s}/${i}`).upload(d0,c0,{contentType:l0});if(O0)throw a||m0.error(`Could not set app ${Zx(O0)}`),new Error(`Could not set app: ${Zx(O0)}`);let{data:B0}=await o.storage.from(`images/org/${s}/${i}`).getPublicUrl(d0);v0=B0?.publicUrl||v0}let{error:F0}=await o.from("apps").update({icon_url:v0,name:i0,retention:r0?r0*24*60*60:void 0}).eq("app_id",i).eq("user_id",_);if(F0)throw a||m0.error(`Could not set app ${Zx(F0)}`),new Error(`Could not set app: ${Zx(F0)}`);return a||ye("Done \u2705"),!0}async function TV(i,r,a=!1){if(a||ke("Set a specific setting in capacitor config"),r.bool&&r.string)throw a||m0.error("Bool and string CANNOT be set at the same time"),new Error("Bool and string cannot both be provided");if(!r.bool&&!r.string)throw a||m0.error("You MUST provide either bool or string as the value"),new Error("Either bool or string value is required");if(r.bool&&r.bool!=="true"&&r.bool!=="false")throw a||m0.error("Invalid bool"),new Error("Invalid bool value; expected true or false");try{let n=await Be(),o=n.config,e=i.split(".");if(e.length===0)throw a||m0.error("Invalid path"),new Error("Invalid config path");for(let _ of e.slice(0,-1))Object.prototype.hasOwnProperty.call(o,_)||(o[_]={}),o=o[_];let s=r.bool?r.bool==="true":r.string;o[e.at(-1)]=s,await c7(n,!0),a||m0.success(`Set "${i}" to "${s}"`)}catch(n){throw a||m0.error(`Cannot set config in capacitor settings ${Zx(n)}`),new Error(`Cannot set capacitor config: ${Zx(n)}`)}a||ye("Done \u2705")}function c5(i,r){if(isNaN(i)||isNaN(r))throw new Error("Cannot compare against non-numbers");return i===r?0:i<r?-1:1}function _V(i=[],r=[]){return i.length&&!r.length?-1:!i.length&&r.length?1:0}function Mw(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 P7="0|[1-9]\\d*",e80="\\d*[a-zA-Z-][a-zA-Z0-9-]*",t80=`(?<major>${P7})\\.(?<minor>${P7})\\.(?<patch>${P7})`,RV=`(?:${P7}|${e80})`,BV=`(?:-(?<prerelease>${RV}(?:\\.${RV})*))`,PV="[0-9A-Za-z-]+",NV=`(?:\\+(?<buildmetadata>${PV}(?:\\.${PV})*))`,LV=`v?${t80}${BV}?${NV}?`,MV=new RegExp(`^${LV}$`),UV="(?:<|>)?=?",r80="x|X|\\*",Lw=`${P7}|${r80}`,qV=`[v=\\s]*(?<major>${Lw})(?:\\.(?<minor>${Lw})(?:\\.(?<patch>${Lw})${BV}?${NV}?)?)?`,i80=new RegExp(`^(?<operator>~>?|\\^|${UV})\\s*${qV}$`),n80=new RegExp(`^(?<operator>${UV})\\s*(${LV})$|^$`);function Uw(i){return typeof i=="number"&&!Number.isNaN(i)&&(!Number.isFinite(i)||0<=i&&i<=Number.MAX_SAFE_INTEGER)}var qw=256;var a80=new RegExp(`^${P7}$`);function nf(i){return i.split(".").filter(Boolean).map(r=>{if(a80.test(r)){let a=Number(r);if(Uw(a))return a}return r})}function af(i){return i.split(".").filter(Boolean)}function sf(i,r){let a=Number(i);if(!Uw(a))throw new TypeError(r);return a}function Vr(i,r){return i===r?0:c5(i.major,r.major)||c5(i.minor,r.minor)||c5(i.patch,r.patch)||_V(i.prerelease,r.prerelease)||Mw(i.prerelease,r.prerelease)}function Hw(i){return i.toFixed(0)}function _7(i){let r=Hw(i.major),a=Hw(i.minor),n=Hw(i.patch),o=i.prerelease?.join(".")??"",e=i.build?.join(".")??"";return[[`${r}.${a}.${n}`,o].filter(i0=>i0).join("-"),e].filter(i0=>i0).join("+")}function s80(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 of(i=[],r){let a=s80(i);if(!r)return a;let n=nf(r);if(n.every(o=>typeof o=="string")){if(n.every((o,e)=>o===a[e])&&typeof a[n.length]=="number")return a;n=[...n,0]}return n}function jV(i,r,a={}){let n=a.build!==void 0?af(a.build):i.build??[];switch(r){case"premajor":return{major:i.major+1,minor:0,patch:0,prerelease:of(i.prerelease,a.prerelease),build:n};case"preminor":return{major:i.major,minor:i.minor+1,patch:0,prerelease:of(i.prerelease,a.prerelease),build:n};case"prepatch":return{major:i.major,minor:i.minor,patch:i.patch+1,prerelease:of(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:of(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:of(i.prerelease,a.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${r}`)}}var jw={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},VV={operator:void 0,...jw};function Vw(i,r){return Vr(i,r)>0}function Gw(i,r){return Vr(i,r)<0}function cf(i){if(typeof i!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof i}`);if(i.length>qw)throw new TypeError(`Cannot parse version as version length is too long: length is ${i.length}, max length is ${qw}`);i=i.trim();let r=i.match(MV)?.groups;if(!r)throw new TypeError(`Cannot parse version: ${i}`);let a=sf(r.major,`Cannot parse version ${i}: invalid major version`),n=sf(r.minor,`Cannot parse version ${i}: invalid minor version`),o=sf(r.patch,`Cannot parse version ${i}: invalid patch version`),e=r.prerelease?nf(r.prerelease):[],s=r.buildmetadata?af(r.buildmetadata):[];return{major:a,minor:n,patch:o,prerelease:e,build:s}}async function zV(i,r,a,n={}){let{silent:o=!1,autoUnlink:e=!1}=n,{data:s,error:_}=await i.from("channels").select().eq("app_id",r).eq("version",a.id);if(_)throw o||m0.error(`Cannot check Version ${r}@${a.name}: ${Zx(_)}`),new Error(`Cannot check version ${r}@${a.name}: ${Zx(_)}`);if(!s?.length)return;if(o)throw new Error(`Version ${r}@${a.name} is used in ${s.length} channel(s)`);ke(`\u274C Version ${r}@${a.name} is used in ${s.length} channel${s.length>1?"s":""}`);let i0=e;if(e||(i0=await o6({message:"unlink it?"})===!0),!i0)throw m0.error("Unlink it first"),new Error(`Version ${r}@${a.name} is still linked to channel(s)`);for(let t0 of s){let r0=u6();r0.start(`Unlinking channel ${t0.name}`);let c0=await zw(i,r,{silent:o});if(!c0)throw r0.stop(`Cannot find unknown version for ${r}`),new Error(`Cannot find unknown version for ${r}`);let{error:l0}=await i.from("channels").update({version:c0.id}).eq("id",t0.id);if(l0)throw r0.stop(`Cannot update channel ${t0.name} ${Zx(l0)}`),new Error(`Cannot update channel ${t0.name}: ${Zx(l0)}`);r0.stop(`\u2705 Channel ${t0.name} unlinked`)}ye(`Version unlinked from ${s.length} channel${s.length>1?"s":""}`)}async function zw(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("app_versions").select("id").eq("app_id",r).eq("name","unknown").single();if(e)throw n||m0.error(`Cannot call findUnknownVersion as it returned an error.
304
- ${Zx(e)}`),new Error(`Cannot retrieve unknown version for app ${r}: ${Zx(e)}`);return o}function QV(i,r){return i.from("channels").insert(r).select().single()}function WV(i,r,a,n){return i.from("channels").delete().eq("name",r).eq("app_id",a).single()}function YV(i,r,a){return i.from("channels").select().eq("app_id",r).eq("name",a).single()}function KV(i,r,a){return i.from("channel_devices").delete().eq("app_id",r).eq("channel_id",a)}function XV(i,r,a){return i.from("channels").select(`
302
+ Please use @capgo/cli@${i}" or @capgo/cli@${r} to keep up to date with the latest features and bug fixes.`)}function Vp0(i,r,a){if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(i.includes("--"))throw a||m0.error('The app id includes illegal symbols. You cannot use "--" in the app id'),new Error("App id includes illegal symbols")}async function Gp0(i,r,a){if(await XU(i,r))throw r==="io.ionic.starter"?(a||m0.error(`This appId ${r} cannot be used it's reserved, please change it in your capacitor config.`),new Error("Reserved appId, please change it in capacitor config")):(a||m0.error(`App ${r} already exist`),new Error(`App ${r} already exists`))}async function zp0(i,r,a=!1){return Bw(i,r,void 0,a)}async function Bw(i,r,a,n=!1){n||ke("Adding"),await x6(),r.apikey=r.apikey||ze();let o=await Be(),e=$e(i,o?.config);Vp0(e,r,n);let s=await Me(r.apikey,r.supaHost,r.supaAnon),_=await je(s,r.apikey,["write","all"]);await Gp0(s,e,n),a||(a=await m7(s,["admin","super_admin"]));let i0=a.gid,{name:t0,icon:r0}=r;if(t0=t0||o.config?.appName||"Unknown",r0=r0||"resources/icon.png",!r0||!t0)throw n||m0.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),new Error("Missing app name or icon path");n||m0.info(`Adding ${e} to Capgo`);let c0=null,l0=null;r0&&(0,T7.existsSync)(r0)?(c0=(0,T7.readFileSync)(r0),l0=g7(r0)||"image/png",n||m0.warn(`Found app icon ${r0}`)):(0,T7.existsSync)(qr)?(c0=(0,T7.readFileSync)(qr),l0=g7(qr)||"image/png",n||m0.warn(`Found app icon ${qr}`)):n||m0.warn(`Cannot find app icon in any of the following locations: ${r0}, ${qr}`);let d0="icon",v0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(c0&&l0){let{error:B0}=await s.storage.from(`images/org/${i0}/${e}`).upload(d0,c0,{contentType:l0});if(B0)throw n||console.error(B0),n||m0.error(`Could not add app ${Jx(B0)}`),new Error(`Could not add app ${Jx(B0)}`);let{data:j0}=await s.storage.from(`images/org/${i0}/${e}`).getPublicUrl(d0);v0=j0?.publicUrl||v0}let{error:F0}=await s.from("apps").insert({icon_url:v0,owner_org:i0,user_id:_,name:t0,app_id:e});if(F0)throw n||m0.error(`Could not add app ${Jx(F0)}`),new Error(`Could not add app ${Jx(F0)}`);let{error:O0}=await s.from("app_versions").insert([{owner_org:i0,deleted:!0,name:"unknown",app_id:e},{owner_org:i0,deleted:!0,name:"builtin",app_id:e}]);if(O0)throw n||m0.error(`Could not add app ${Jx(O0)}`),new Error(`Could not add app ${Jx(O0)}`);return n||(m0.success(`App ${e} added to Capgo. You can upload a bundle now`),ye("Done \u2705")),{appId:e,organizationUid:i0,userId:_,name:t0,signedURL:v0}}async function DV(i,r){await zp0(i,r,!1)}function vV(i,r){let n=["normal","bold","dim","italic","underline","strikethrough"].indexOf(i),o="\x1B[";return o+n+"m"+r+o+"0m"}var pt=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?vV("bold",o):o,s=a-o.length,_=this.theme.row[1];switch(typeof r){case"number":return _.repeat(s)+e;case"string":return e+_.repeat(s);case"boolean":case"object":return _.repeat(Math.ceil(s/2))+vV("italic",o)+_.repeat(Math.floor(s/2));default:return _.repeat(s)}}renderRow(r,a=!1){let n=this.theme.row,o=this.columnWidth();return n[0]+r.map((e,s)=>this.renderCell(e,o[s],a)).join(n[2])+n[3]}toString(){let r=this.theme,a=this.headers.length>0,n=this.rows.length>0;return[this.title?this.renderTitle():"",a||n?this.renderLine(r.top):"",a?this.renderRow(this.headers,!0):"",a&&n?this.renderLine(r.div):"",...this.rows.map(o=>this.renderRow(o)),a||n?this.renderLine(r.bot):""].filter(o=>o.length>0).join(`
303
+ `)}};function Qp0(i){return new Promise(r=>{setTimeout(r,i)})}function Wp0(i){return new Date(i||"").toLocaleTimeString()}async function _i(i,r,a,n,o,e="\u2705"){await n6(a,{channel:i,event:n,icon:e,user_id:r,...o?{tags:{"app-id":o}}:{},notify:!1})}async function Yp0(i,r,a,n){if(s6(r))throw await _i(i,a,n,"canceled",void 0,"\u{1F937}"),new Error("Command cancelled")}async function Kp0(i,r,a){try{let n=await Mr(),o=a?{...r,rangeStart:a}:{...r},e=await Bn.post(`${n.hostApi}/private/stats`,{headers:{"Content-Type":"application/json",capgkey:i},body:JSON.stringify(o)}).then(s=>s.json()).catch(s=>(console.error("Cannot get devices",s),[]));if(e?.length>0)return e}catch(n){m0.error(`Cannot get stats ${Jx(n)}`)}return[]}function Xp0(i){let r={get:{summary:()=>"Update request by device. Waiting for download\u2026",level:"info",snag:"done"},delete:{summary:()=>"Bundle deleted on device",level:"info"},set:{summary:()=>"Bundle set on device \u2764\uFE0F",level:"info",snag:"set",stop:!0},NoChannelOrOverride:{summary:()=>"No default channel/override; create it in channel settings",level:"error"},needPlanUpgrade:{summary:({baseUrl:a})=>`Out of quota. Upgrade plan: ${a}/dashboard/settings/plans`,level:"error"},missingBundle:{summary:()=>"Requested bundle not found on server",level:"error"},noNew:{summary:()=>"Device already has latest available version",level:"info"},disablePlatformIos:{summary:()=>"iOS platform disabled in channel",level:"error"},disablePlatformAndroid:{summary:()=>"Android platform disabled in channel",level:"error"},disableAutoUpdate:{summary:()=>"Automatic updates disabled in channel",level:"error"},disableAutoUpdateToMajor:{summary:()=>"Auto-update to major versions disabled",level:"error"},disableAutoUpdateToMinor:{summary:()=>"Auto-update to minor versions disabled",level:"error"},disableAutoUpdateToPatch:{summary:()=>"Auto-update to patch versions disabled",level:"error"},disableAutoUpdateUnderNative:{summary:()=>"Channel update version is lower than device native",level:"error"},disableDevBuild:{summary:()=>"Dev build updates disabled in channel",level:"error"},disableEmulator:{summary:()=>"Emulator updates disabled in channel",level:"error"},cannotGetBundle:{summary:()=>"Cannot retrieve bundle from channel",level:"error"},cannotUpdateViaPrivateChannel:{summary:()=>"No access to private channel",level:"error"},channelMisconfigured:{summary:()=>"Channel configuration invalid or incomplete",level:"error"},disableAutoUpdateMetadata:{summary:()=>"Auto-update on metadata disabled",level:"error"},set_fail:{summary:()=>"Bundle set failed. Possibly corrupted",level:"error"},reset:{summary:()=>"Device reset to builtin bundle",level:"warn"},update_fail:{summary:()=>"Installed bundle failed to call notifyAppReady",level:"error"},checksum_fail:{summary:()=>"Downloaded bundle checksum validation failed",level:"error"},windows_path_fail:{summary:()=>"Bundle contains illegal Windows-style paths",level:"error"},canonical_path_fail:{summary:()=>"Bundle contains non-canonical paths",level:"error"},directory_path_fail:{summary:()=>"Bundle ZIP contains invalid directory paths",level:"error"},unzip_fail:{summary:()=>"Failed to unzip bundle on device",level:"error"},low_mem_fail:{summary:()=>"Download failed due to low device memory",level:"error"},app_moved_to_background:{summary:()=>"App moved to background",level:"info"},app_moved_to_foreground:{summary:()=>"App moved to foreground",level:"info"},decrypt_fail:{summary:()=>"Failed to decrypt downloaded bundle",level:"error"},getChannel:{summary:()=>"Queried current channel on device",level:"info"},setChannel:{summary:()=>"Channel set on device",level:"info"},InvalidIp:{summary:()=>"Device appears in Google datacenter; blocking recent updates (<4h)",level:"warn"},uninstall:{summary:()=>"App uninstalled or Capgo data cleared on device",level:"warn"}};if(i.action.startsWith("download_")){let a=i.action.split("_")[1];return a==="complete"?{summary:()=>"Download complete; relaunch app to apply",level:"info",snag:"downloaded"}:a==="fail"?{summary:()=>"Download failed on device",level:"error"}:{summary:()=>`Downloading ${a}%`,level:"info"}}return r[i.action]||null}async function Jp0(i,r,a,n,o,e){let s=Xp0(i);if(!s)return{};s.snag&&await _i(r,a,n,s.snag);let _=Wp0(i.created_at),i0=i.action,t0=i.version_id?`(version #${i.version_id})`:"",r0=i.version?` (version ${i.version})`:t0,c0=`${s.summary({data:i,baseAppUrl:o,baseUrl:e})}${r0}`;return{row:[_,i.device_id,i0,c0],stop:s.stop}}async function Nw(i,r,a,n,o){let e=!0,s=await Mr(),_=`${s.hostWeb}/app/p/${a}`;await _i(i,n,r,"Use waitlog",a);let i0={appId:a,devicesId:o?[o]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},t0=null,r0=new Set,c0=u6(),l0=`${s.host}/docs/plugins/updater/debugging/#sent-from-the-backend`;for(c0.start(`Waiting for logs (Expect delay of 30 sec) more info: ${l0}`);e;){await Qp0(5e3);let d0=await Kp0(r,i0,t0);if(d0.length>0){let v0=d0.reduce((j0,k0)=>{let Y0=new Date(k0.created_at).getTime();return Math.max(j0,Y0)},t0?new Date(t0).getTime():0);v0>0&&(t0=new Date(v0).toISOString());let F0=d0.filter(j0=>{let k0=`${j0.app_id}|${j0.device_id}|${j0.action}|${j0.version_id}|${j0.created_at}`;return r0.has(k0)?!1:(r0.add(k0),!0)}).sort((j0,k0)=>new Date(j0.created_at).getTime()-new Date(k0.created_at).getTime()),O0=new pt;O0.headers=["Time","Device","Key","Message"],O0.theme=pt.roundTheme,O0.rows=[];let B0=!1;for(let j0 of F0){let{row:k0,stop:Y0}=await Jp0(j0,i,n,r,_,s.hostWeb);k0&&O0.rows.push(k0),Y0&&(B0=!0)}if(O0.rows.length&&(c0.stop(""),m0.info(O0.toString()),c0.start(`Waiting for logs (Expect delay of 30 sec) more info: ${l0}`)),B0){e=!1;break}}}return c0.stop("Stop watching logs"),Promise.resolve()}async function EV(i,r,a=!1){a||ke("Debug Live update in Capgo"),await x6(),r.apikey=r.apikey||ze();let n=await Be();i=$e(i,n?.config);let o=r.device;if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(a)throw new Error("Debug command requires an interactive terminal");let e=await Me(r.apikey,r.supaHost,r.supaAnon),s=await Ur(e,i),_=await o6({message:"Automatic check if update working in device ?"});await Yp0("debug",_,s,r.apikey),_?(a||m0.info(`Wait logs sent to Capgo from ${i} device, Please background your app and open it again \u{1F4AA}`),await Nw("debug",r.apikey,i,s,o),a||ye("Done \u2705")):a||ye("Canceled \u274C")}async function AV(i,r,a=!1,n=!1){a||ke("Deleting"),r.apikey=r.apikey||ze();let o=await Be(),e=$e(i,o?.config);if(!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let s=await Me(r.apikey,r.supaHost,r.supaAnon),_=await je(s,r.apikey,["write","all"]);await T6(s,r.apikey,e,5,a);let{data:i0,error:t0}=await s.from("apps").select("owner_org ( created_by, id )").eq("app_id",e).single(),r0=i0;if(!n&&!t0&&(r0?.owner_org.created_by??"")!==_){if(a)throw new Error("Cannot delete app: you are not the organization owner");{m0.warn("Deleting the app is not recomended for users that are not the organization owner"),m0.warn("You are invited as a super_admin but your are not the owner"),m0.warn("It's strongly recomended that you do not continue!");let F0=await Jr({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(s6(F0)||F0==="no")throw m0.error("Canceled deleting the app, exiting"),new Error("App deletion cancelled")}}else t0&&!a&&m0.warn(`Cannot get the app owner ${Jx(t0)}`);let{error:c0}=await s.storage.from("images").remove([`org/${r0?.owner_org.id}/${e}/icon`]);c0&&!a&&m0.error("Could not delete app logo");let{error:l0}=await s.storage.from(`apps/${e}/${_}`).remove(["versions"]);l0&&!a&&m0.error("Could not delete app version");let{error:d0}=await s.from("apps").delete().eq("app_id",e);if(d0)throw a||m0.error("Could not delete app"),new Error(`Could not delete app: ${Jx(d0)}`);let v0=await Ur(s,e);return await n6(r.apikey,{channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:v0,tags:{"app-id":e},notify:!1}).catch(()=>{}),a||(m0.success("App deleted in Capgo"),ye("Done \u2705")),!0}var o5=require("node:os"),SV=require("node:process");async function CV(i){let r={},a=Object.keys(i);return(await Promise.all(a.map(o=>rf(o).catch(()=>null)))).forEach((o,e)=>{o&&(r[a[e]]=o)}),r}async function Zp0(){let i=await it(),r={"@capgo/cli":Kr.version};for(let[a,n]of i)(a.startsWith("@capgo/")||a.startsWith("@capawesome/")||a.startsWith("capacitor"))&&(r[a]=n);return r}async function kV(i,r=!1){r||m0.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let a=await Be(),n=si("",i.packageJson),o=a?.config?.plugins?.CapacitorUpdater?.version||n,e=a?.config?.appName||"",s=$e("",a?.config),_=a?.config?.webDir||"";r||(m0.info(` App Name: ${e}`),m0.info(` App ID: ${s}`),m0.info(` App Version: ${o}`),m0.info(` Web Dir: ${_}`),m0.info(` OS: ${(0,o5.platform)()} ${(0,o5.version)()}`),m0.info(` Node: ${SV.version}`),m0.info(" Installed Dependencies:"));let i0=await Zp0();if(Object.keys(i0).length===0)throw r||m0.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),new Error("No dependencies found");if(!r)for(let r0 of Object.keys(i0))m0.info(` ${r0}: ${i0[r0]}`);let t0={};if(r)t0=await CV(i0);else{let r0=u6();r0.start("Running: Loading latest dependencies"),t0=await CV(i0),r0.stop("Latest Dependencies:");for(let c0 of Object.keys(t0))m0.info(` ${c0}: ${t0[c0]}`)}if(JSON.stringify(i0)!==JSON.stringify(t0))throw r||m0.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),new Error("Some dependencies are not up to date");return r||m0.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),{appName:e,appId:s,appVersion:o,webDir:_,installedDependencies:i0,latestDependencies:t0}}function $p0(i){let r=new pt;r.headers=["Name","id","Created"],r.rows=[];for(let a of i.toReversed())r.rows.push([a.name??"",a.app_id,w7(a.created_at)]);m0.success("Apps"),m0.success(r.toString())}async function x80(i,r){let{data:a,error:n}=await i.from("apps").select().order("created_at",{ascending:!1});if(n)throw r||m0.error("Apps not found"),new Error("Apps not found");return a??[]}async function OV(i,r=!1){r||ke("List apps in Capgo"),await x6(),i.apikey=i.apikey||ze();let a=await Me(i.apikey,i.supaHost,i.supaAnon);await je(a,i.apikey,["write","all","read","upload"]),r||m0.info("Getting active bundle in Capgo");let n=await x80(a,r);if(!n.length)throw r||m0.error("No apps found"),new Error("No apps found");return r||(m0.info(`Active app in Capgo: ${n.length}`),$p0(n),ye("Done \u2705")),n}var FV=require("node:crypto"),R7=require("node:fs");async function IV(i,r,a=!1){a||ke("Set app"),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon),s=(await m7(o,["admin","super_admin"])).gid,_=await je(o,r.apikey,["write","all"]);await T6(o,r.apikey,i,4,a);let{name:i0,icon:t0,retention:r0}=r;if(r0&&Number.isNaN(Number(r0)))throw a||m0.error("retention value must be a number"),new Error("Retention value must be a number");if(r0&&r0<0)throw a||m0.error("retention value cannot be less than 0"),new Error("Retention value cannot be less than 0");if(r0&&r0>=63113904)throw a||m0.error("retention value cannot be greater than 63113904 seconds (2 years)"),new Error("Retention value cannot be greater than 63113904 seconds (2 years)");let c0,l0,d0=`icon_${(0,FV.randomUUID)()}`,v0="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(t0&&(0,R7.existsSync)(t0)?(c0=(0,R7.readFileSync)(t0),l0=g7(t0)||"image/png",a||m0.warn(`Found app icon ${t0}`)):(0,R7.existsSync)(qr)?(c0=(0,R7.readFileSync)(qr),l0=g7(qr)||"image/png",a||m0.warn(`Found app icon ${qr}`)):a||m0.warn(`Cannot find app icon in any of the following locations: ${t0}, ${qr}`),c0&&l0){let{error:O0}=await o.storage.from(`images/org/${s}/${i}`).upload(d0,c0,{contentType:l0});if(O0)throw a||m0.error(`Could not set app ${Jx(O0)}`),new Error(`Could not set app: ${Jx(O0)}`);let{data:B0}=await o.storage.from(`images/org/${s}/${i}`).getPublicUrl(d0);v0=B0?.publicUrl||v0}let{error:F0}=await o.from("apps").update({icon_url:v0,name:i0,retention:r0?r0*24*60*60:void 0}).eq("app_id",i).eq("user_id",_);if(F0)throw a||m0.error(`Could not set app ${Jx(F0)}`),new Error(`Could not set app: ${Jx(F0)}`);return a||ye("Done \u2705"),!0}async function TV(i,r,a=!1){if(a||ke("Set a specific setting in capacitor config"),r.bool&&r.string)throw a||m0.error("Bool and string CANNOT be set at the same time"),new Error("Bool and string cannot both be provided");if(!r.bool&&!r.string)throw a||m0.error("You MUST provide either bool or string as the value"),new Error("Either bool or string value is required");if(r.bool&&r.bool!=="true"&&r.bool!=="false")throw a||m0.error("Invalid bool"),new Error("Invalid bool value; expected true or false");try{let n=await Be(),o=n.config,e=i.split(".");if(e.length===0)throw a||m0.error("Invalid path"),new Error("Invalid config path");for(let _ of e.slice(0,-1))Object.prototype.hasOwnProperty.call(o,_)||(o[_]={}),o=o[_];let s=r.bool?r.bool==="true":r.string;o[e.at(-1)]=s,await c7(n,!0),a||m0.success(`Set "${i}" to "${s}"`)}catch(n){throw a||m0.error(`Cannot set config in capacitor settings ${Jx(n)}`),new Error(`Cannot set capacitor config: ${Jx(n)}`)}a||ye("Done \u2705")}function c5(i,r){if(isNaN(i)||isNaN(r))throw new Error("Cannot compare against non-numbers");return i===r?0:i<r?-1:1}function _V(i=[],r=[]){return i.length&&!r.length?-1:!i.length&&r.length?1:0}function Mw(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 P7="0|[1-9]\\d*",e80="\\d*[a-zA-Z-][a-zA-Z0-9-]*",t80=`(?<major>${P7})\\.(?<minor>${P7})\\.(?<patch>${P7})`,RV=`(?:${P7}|${e80})`,BV=`(?:-(?<prerelease>${RV}(?:\\.${RV})*))`,PV="[0-9A-Za-z-]+",NV=`(?:\\+(?<buildmetadata>${PV}(?:\\.${PV})*))`,LV=`v?${t80}${BV}?${NV}?`,MV=new RegExp(`^${LV}$`),UV="(?:<|>)?=?",r80="x|X|\\*",Lw=`${P7}|${r80}`,qV=`[v=\\s]*(?<major>${Lw})(?:\\.(?<minor>${Lw})(?:\\.(?<patch>${Lw})${BV}?${NV}?)?)?`,i80=new RegExp(`^(?<operator>~>?|\\^|${UV})\\s*${qV}$`),n80=new RegExp(`^(?<operator>${UV})\\s*(${LV})$|^$`);function Uw(i){return typeof i=="number"&&!Number.isNaN(i)&&(!Number.isFinite(i)||0<=i&&i<=Number.MAX_SAFE_INTEGER)}var qw=256;var a80=new RegExp(`^${P7}$`);function nf(i){return i.split(".").filter(Boolean).map(r=>{if(a80.test(r)){let a=Number(r);if(Uw(a))return a}return r})}function af(i){return i.split(".").filter(Boolean)}function sf(i,r){let a=Number(i);if(!Uw(a))throw new TypeError(r);return a}function Vr(i,r){return i===r?0:c5(i.major,r.major)||c5(i.minor,r.minor)||c5(i.patch,r.patch)||_V(i.prerelease,r.prerelease)||Mw(i.prerelease,r.prerelease)}function Hw(i){return i.toFixed(0)}function _7(i){let r=Hw(i.major),a=Hw(i.minor),n=Hw(i.patch),o=i.prerelease?.join(".")??"",e=i.build?.join(".")??"";return[[`${r}.${a}.${n}`,o].filter(i0=>i0).join("-"),e].filter(i0=>i0).join("+")}function s80(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 of(i=[],r){let a=s80(i);if(!r)return a;let n=nf(r);if(n.every(o=>typeof o=="string")){if(n.every((o,e)=>o===a[e])&&typeof a[n.length]=="number")return a;n=[...n,0]}return n}function jV(i,r,a={}){let n=a.build!==void 0?af(a.build):i.build??[];switch(r){case"premajor":return{major:i.major+1,minor:0,patch:0,prerelease:of(i.prerelease,a.prerelease),build:n};case"preminor":return{major:i.major,minor:i.minor+1,patch:0,prerelease:of(i.prerelease,a.prerelease),build:n};case"prepatch":return{major:i.major,minor:i.minor,patch:i.patch+1,prerelease:of(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:of(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:of(i.prerelease,a.prerelease),build:n};default:throw new TypeError(`Cannot increment version: invalid argument ${r}`)}}var jw={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},VV={operator:void 0,...jw};function Vw(i,r){return Vr(i,r)>0}function Gw(i,r){return Vr(i,r)<0}function cf(i){if(typeof i!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof i}`);if(i.length>qw)throw new TypeError(`Cannot parse version as version length is too long: length is ${i.length}, max length is ${qw}`);i=i.trim();let r=i.match(MV)?.groups;if(!r)throw new TypeError(`Cannot parse version: ${i}`);let a=sf(r.major,`Cannot parse version ${i}: invalid major version`),n=sf(r.minor,`Cannot parse version ${i}: invalid minor version`),o=sf(r.patch,`Cannot parse version ${i}: invalid patch version`),e=r.prerelease?nf(r.prerelease):[],s=r.buildmetadata?af(r.buildmetadata):[];return{major:a,minor:n,patch:o,prerelease:e,build:s}}async function zV(i,r,a,n={}){let{silent:o=!1,autoUnlink:e=!1}=n,{data:s,error:_}=await i.from("channels").select().eq("app_id",r).eq("version",a.id);if(_)throw o||m0.error(`Cannot check Version ${r}@${a.name}: ${Jx(_)}`),new Error(`Cannot check version ${r}@${a.name}: ${Jx(_)}`);if(!s?.length)return;if(o)throw new Error(`Version ${r}@${a.name} is used in ${s.length} channel(s)`);ke(`\u274C Version ${r}@${a.name} is used in ${s.length} channel${s.length>1?"s":""}`);let i0=e;if(e||(i0=await o6({message:"unlink it?"})===!0),!i0)throw m0.error("Unlink it first"),new Error(`Version ${r}@${a.name} is still linked to channel(s)`);for(let t0 of s){let r0=u6();r0.start(`Unlinking channel ${t0.name}`);let c0=await zw(i,r,{silent:o});if(!c0)throw r0.stop(`Cannot find unknown version for ${r}`),new Error(`Cannot find unknown version for ${r}`);let{error:l0}=await i.from("channels").update({version:c0.id}).eq("id",t0.id);if(l0)throw r0.stop(`Cannot update channel ${t0.name} ${Jx(l0)}`),new Error(`Cannot update channel ${t0.name}: ${Jx(l0)}`);r0.stop(`\u2705 Channel ${t0.name} unlinked`)}ye(`Version unlinked from ${s.length} channel${s.length>1?"s":""}`)}async function zw(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("app_versions").select("id").eq("app_id",r).eq("name","unknown").single();if(e)throw n||m0.error(`Cannot call findUnknownVersion as it returned an error.
304
+ ${Jx(e)}`),new Error(`Cannot retrieve unknown version for app ${r}: ${Jx(e)}`);return o}function QV(i,r){return i.from("channels").insert(r).select().single()}function WV(i,r,a,n){return i.from("channels").delete().eq("name",r).eq("app_id",a).single()}function YV(i,r,a){return i.from("channels").select().eq("app_id",r).eq("name",a).single()}function KV(i,r,a){return i.from("channel_devices").delete().eq("app_id",r).eq("channel_id",a)}function XV(i,r,a){return i.from("channels").select(`
305
305
  id,
306
306
  version (id, name)
307
307
  `).eq("app_id",r).eq("name",a).single().throwOnError().then(({data:n})=>n?.version)}function JV(i,r=!1){if(r)return;let a=new pt;a.theme=pt.roundTheme,a.headers=["Name","Version","Public","iOS","Android","Auto Update","Native Auto Update","Device Self Set","Progressive Deploy","Secondary Version","Secondary Version Percentage","AB Testing","AB Testing Version","AB Testing Percentage","Emulator","Dev"],a.rows=[];for(let n of i.toReversed())a.rows.push([n.name,n.version?.name,n.public?"\u2705":"\u274C",n.ios?"\u2705":"\u274C",n.android?"\u2705":"\u274C",n.disable_auto_update,n.disable_auto_update_under_native?"\u274C":"\u2705",n.allow_device_self_set?"\u2705":"\u274C",n.allow_emulator?"\u2705":"\u274C",n.allow_dev?"\u2705":"\u274C"]);m0.success("Channels"),m0.success(a.toString())}async function ZV(i,r,a=!1){let{data:n,error:o}=await i.from("channels").select(`
@@ -319,7 +319,7 @@ ${Zx(e)}`),new Error(`Cannot retrieve unknown version for app ${r}: ${Zx(e)}`);r
319
319
  created_by,
320
320
  app_id,
321
321
  version (id, name)
322
- `).eq("app_id",r).order("created_at",{ascending:!1});if(o)throw a||m0.error(`App ${r} not found in database`),new Error(`App ${r} not found in database: ${Zx(o)}`);return n}async function Qw(i,r,a,n={}){let{silent:o=!1}=n,{error:e}=await i.from("app_versions").update({deleted:!0}).eq("app_id",r).eq("deleted",!1).eq("name",a);if(e){let s=`App version ${r}@${a} not found in database`;throw o||m0.error(s),new Error(`${s}: ${Zx(e)}`)}}async function f5(i,r,a,n={}){let{silent:o=!1,autoUnlink:e=!1}=n,s=await o80(i,r,a,{silent:o});await zV(i,r,s,{silent:o,autoUnlink:e}),await Qw(i,r,a,{silent:o})}function d5(i,r=!1){if(r)return;if(!i.length)throw new Error("No bundle found");let a=new pt;a.theme=pt.roundTheme,a.headers=["Version","Created","Keep"],a.rows=[];for(let n of i.toReversed())a.rows.push([n.name,w7(n.created_at),n.keep??""]);m0.success("Bundles"),m0.success(a.toString())}async function l5(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("app_versions").select().eq("app_id",r).eq("deleted",!1).order("created_at",{ascending:!1});if(e){let s=`App ${r} not found in database`;throw n||m0.error(s),new Error(`${s}: ${Zx(e)}`)}return o??[]}async function $V(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("channels").select("version").eq("app_id",r);if(e){let s=`App ${r} not found in database`;throw n||m0.error(s),new Error(`${s}: ${Zx(e)}`)}return(o??[]).map(s=>s.version)}async function o80(i,r,a,n={}){let{silent:o=!1}=n,{data:e,error:s}=await i.from("app_versions").select().eq("app_id",r).eq("name",a).eq("deleted",!1).single();if(!e||s){let _=`App version ${r}@${a} doesn't exist`;throw o||m0.error(_),new Error(`${_}${s?`: ${Zx(s)}`:""}`)}return e}async function c80(i,r,a,n){for await(let o of i)n||m0.warn(`Removing ${o.name} created on ${w7(o.created_at)}`),await f5(r,a,o.name)}function u80(i,r,a){let n=[];for(let o of i??[]){let e=cf(o.name);Vw(e,r)&&Gw(e,a)&&n.push(o)}return n}async function xG(i,r,a=!1){a||ke("Cleanup versions in Capgo"),await x6(),r.apikey=r.apikey||ze();let{bundle:n,keep:o=4}=r,e=r.force||!1,s=r.ignoreChannel||!1,_=await Be();if(i=$e(i,_?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let i0=await Me(r.apikey,r.supaHost,r.supaAnon);await je(i0,r.apikey,["write","all"]),await T6(i0,r.apikey,i,3,a),a||m0.info("Querying all available versions in Capgo");let t0=await l5(i0,i),r0=await $V(i0,i);if(a||m0.info(`Total active versions in Capgo: ${t0?.length??0}`),!t0?.length)throw a||m0.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let d0=cf(n),v0=jV(d0,"major");a||m0.info(`Querying available versions in Capgo between ${_7(d0)} and ${_7(v0)}`),t0=u80(t0,d0,v0),a||m0.info(`Active versions in Capgo between ${_7(d0)} and ${_7(v0)}: ${t0?.length??0}`)}let c0=[],l0=0;for(let d0 of t0){let v0=r0.find(F0=>F0===d0.id);l0<o||v0&&!s?(d0.keep=v0?"\u2705 (Linked to channel)":"\u2705",l0+=1):(d0.keep="\u274C",c0.push(d0))}if(!c0.length)return a||m0.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:l0};if(a||d5(t0),!e){if(a)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let d0=await o6({message:"Do you want to continue removing the versions specified?"});if(s6(d0)||!d0)throw m0.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return a||m0.success("You have confirmed removal, removing versions now"),await c80(c0,i0,i,a),a||ye("Done \u2705"),{removed:c0.length,kept:l0}}async function f80(i,r,a=!1){a||ke("Check compatibility");let n={...r,apikey:r.apikey||ze()},o=await Be(),e=$e(i,o?.config),s=n.channel;if(!s)throw a||m0.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw a||m0.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let _=await Me(n.apikey,n.supaHost,n.supaAnon);await je(_,n.apikey,["write","all","read","upload"]),await T6(_,n.apikey,e,1,a);let i0=await P4(_,e,s,n.packageJson,n.nodeModules);if(!a){let t0=new pt;t0.headers=["Package","Local version","Remote version","Compatible"],t0.theme=pt.roundTheme,t0.rows=[];let r0=n.text?"Yes":"\u2705",c0=n.text?"No":"\u274C";for(let l0 of i0.finalCompatibility){let{name:d0,localVersion:v0,remoteVersion:F0}=l0,O0=uo(l0)?r0:c0;t0.rows.push([d0,v0,F0,O0])}m0.success("Compatibility"),m0.success(t0.toString())}return{finalCompatibility:i0.finalCompatibility}}async function eG(i,r){try{await f80(i,r,!1)}catch(a){throw m0.error(`Error checking compatibility ${Zx(a)}`),a}}var ln=require("node:fs");var aG=Re(Ic());var Ya=require("node:buffer"),Et=require("node:crypto"),tG="aes-128-cbc",dn="base64",h5=Et.constants.RSA_PKCS1_PADDING;function p5(i){let r=(0,Et.randomBytes)(16),a=(0,Et.randomBytes)(16),n=r.toString(dn),o=(0,Et.privateEncrypt)({key:i,padding:h5},a).toString(dn);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function B7(i,r,a){let[n]=a.split(":"),o=Ya.Buffer.from(n,dn),e=(0,Et.createCipheriv)(tG,r,o);return e.setAutoPadding(!0),Ya.Buffer.concat([e.update(i),e.final()])}function rG(i,r,a){let[n,o]=r.split(":"),e=(0,Et.publicDecrypt)({key:a,padding:h5},Ya.Buffer.from(o,dn)),s=Ya.Buffer.from(n,dn),_=(0,Et.createDecipheriv)(tG,e,s);return _.setAutoPadding(!0),Ya.Buffer.concat([_.update(i),_.final()])}function N7(i,r){return(0,Et.privateEncrypt)({key:r,padding:h5},Ya.Buffer.from(i,dn)).toString(dn)}function iG(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,Et.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 nG(i,r){return(0,Et.publicDecrypt)({key:r,padding:h5},Ya.Buffer.from(i,dn)).toString(dn)}function d80(i,r){let a=i.key||cn,n=r.config.plugins?.CapacitorUpdater?.publicKey;return(0,ln.existsSync)(a)?n=(0,ln.readFileSync)(a,"utf8"):!n&&i.keyData&&(n=i.keyData),{publicKey:n,fallbackKeyPath:a}}async function l80(i,r,a,n=!1){n||ke("Decrypt zip file");try{if(await x6(),!(0,ln.existsSync)(i)){let c0=`Zip not found at the path ${i}`;throw n||m0.error(c0),new Error(c0)}let o=await Be();if(!a.key&&!(0,ln.existsSync)(cn)&&!o.config.plugins?.CapacitorUpdater?.privateKey){let c0=`Private Key not found at the path ${cn} or in ${o.path}`;throw n||m0.error(c0),new Error(c0)}let{publicKey:e,fallbackKeyPath:s}=d80(a,o);if(!e){let c0=`Cannot find public key ${s} or as keyData option or in ${o.path}`;throw n||m0.error(c0),new Error(c0)}let _=(0,ln.readFileSync)(i),i0=rG(_,r,a.keyData??e),t0=`${i}_decrypted.zip`;(0,ln.writeFileSync)(t0,i0),n||m0.info(`Decrypted zip file at ${t0}`);let r0;if(a.checksum){let c0=await(0,aG.checksum)(i0,"sha256"),l0=nG(a.checksum,a.keyData??e);if(r0=c0===l0,!r0){let d0=`Checksum does not match ${c0} !== ${l0}`;throw n||m0.error(d0),new Error(d0)}n||m0.info("Checksum matches")}return n||ye("\u2705 done"),{outputPath:t0,checksumMatches:r0}}catch(o){throw n||m0.error(`Error decrypting zip file ${Zx(o)}`),o instanceof Error?o:new Error(String(o))}}async function sG(i,r,a){await l80(i,r,a,!1)}async function oG(i,r,a,n=!1){n||ke("Delete bundle"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!i)throw n||m0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let e=await Me(a.apikey,a.supaHost,a.supaAnon);return await je(e,a.apikey,["write","all"]),await T6(e,a.apikey,r,3,n),n||(m0.info(`Deleting bundle ${r}@${i} from Capgo`),m0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await f5(e,r,i),n||(m0.success(`Bundle ${r}@${i} deleted in Capgo`),ye("Done")),!0}var hn=require("node:fs");function uf(i){console.error(Zx(i))}async function h80(i,r,a,n=!1){let{json:o}=a,e=!o&&!n;e&&(ke("Encryption"),await x6());try{let s=await Be(),_=!!s.config.plugins?.CapacitorUpdater?.privateKey,i0=!!s.config.plugins?.CapacitorUpdater?.publicKey;if(_&&e&&m0.warning("There is still a privateKey in the config"),!(0,hn.existsSync)(i)){let B0=`Zip not found at the path ${i}`;throw n||(o?uf({error:"zip_not_found"}):m0.error(`Error: ${B0}`)),new Error(B0)}if(!i0)throw n||(o?uf({error:"missing_public_key"}):m0.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let t0=a.key||wr,r0=a.keyData||"";if(!(0,hn.existsSync)(t0)&&!r0)throw n||(o?uf({error:"missing_key"}):(m0.warning(`Cannot find a private key at ${t0} or as a keyData option`),m0.error("Error: Missing key"))),new Error("Missing private key");if((0,hn.existsSync)(t0)&&(r0=(0,hn.readFileSync)(t0,"utf8")),r0&&!r0.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(o?uf({error:"invalid_private_key"}):m0.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let c0=(0,hn.readFileSync)(i),{sessionKey:l0,ivSessionKey:d0}=p5(r0),v0=B7(c0,l0,d0),F0=N7(r,r0),O0=`${i}_encrypted.zip`;return(0,hn.writeFileSync)(O0,v0),n||(o?console.log(JSON.stringify({checksum:F0,filename:O0,ivSessionKey:d0},null,2)):(m0.success(`Encoded Checksum: ${F0}`),m0.success(`ivSessionKey: ${d0}`),m0.success(`Encrypted zip saved at ${O0}`),ye("Done \u2705"))),{checksum:F0,filename:O0,ivSessionKey:d0}}catch(s){throw n||(a.json?uf(s):m0.error(`Error encrypting zip file ${Zx(s)}`)),s instanceof Error?s:new Error(String(s))}}async function cG(i,r,a){await h80(i,r,a,!1)}async function uG(i,r,a=!1){a||ke("List bundles"),await x6(),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon);await je(o,r.apikey,["write","all","read","upload"]),await T6(o,r.apikey,i,1,a),a||m0.info(`Querying available versions of: ${i} in Capgo`);let e=await l5(o,i);return a||(m0.info(`Active versions in Capgo: ${e?.length??0}`),d5(e),ye("Done \u2705")),e}var yQ=require("node:crypto"),Bo=require("node:fs"),By=require("node:path/posix"),Ny=require("node:process");var b5=class extends TransformStream{outChunkSize;constructor(r){let a=new Uint8Array(r),n=0;super({transform(o,e){let s=0;for(;s<o.length;){let _=r-n,i0=Math.min(_,o.length-s);a.set(o.subarray(s,s+i0),n),s+=i0,n+=i0,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 xs(i){return i=i.trim(),i=i.replace(/<!--[\s\S]*?-->/g,""),r();function r(){return{declaration:a(),root:n()}}function a(){if(!i0(/^<\?xml\s*/))return;let l0={attributes:{}};for(;!(t0()||r0("?>"));){let d0=e();if(!d0)return l0;l0.attributes[d0.name]=d0.value}return i0(/\?>\s*/),l0}function n(){let c0=i0(/^<([\w-:.]+)\s*/);if(!c0)return;let l0={name:c0[1],attributes:{},children:[]};for(;!(t0()||r0(">")||r0("?>")||r0("/>"));){let v0=e();if(!v0)return l0;l0.attributes[v0.name]=v0.value}if(i0(/^\s*\/>\s*/))return l0;i0(/\??>\s*/),l0.content=o();let d0;for(;d0=n();)l0.children.push(d0);return i0(/^<\/[\w-:.]+>\s*/),l0}function o(){let c0=i0(/^([^<]*)/);return c0?_(c0[1]):""}function e(){let c0=i0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:_(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function _(c0){return c0.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}function i0(c0){let l0=i.match(c0);if(l0)return i=i.slice(l0[0].length),l0}function t0(){return i.length===0}function r0(c0){return i.startsWith(c0)}}var Bi=class extends Error{};var Nt=class extends Bi{},ff=class extends Bi{},g5=class extends Bi{bucketName;constructor(r){super(`Invalid bucket name: ${r}`),this.bucketName=r}},Ni=class extends Bi{objectName;constructor(r){super(`Invalid object name: ${r}`),this.objectName=r}},es=class extends Bi{constructor(){super("accessKey is required")}},L7=class extends Bi{constructor(){super("secretKey is required")}},df=class extends Bi{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},pn=class extends Bi{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 fG(i){try{let a=xs(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(t0=>t0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(t0=>t0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(t0=>t0.name==="Key")?.content,s=a.children.find(t0=>t0.name==="BucketName")?.content,_=a.children.find(t0=>t0.name==="Resource")?.content,i0=a.children.find(t0=>t0.name==="Region")?.content;return new pn(i.status,n,o,{key:e,bucketName:s,resource:_,region:i0})}catch{return new pn(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function dG(i){return typeof i!="number"||isNaN(i)?!1:i>=1&&i<=65535}function lG(i){return typeof i!="string"||i.length<3||i.length>63||i.includes("..")||i.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!i.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function ts(i){return!(!p80(i)||i.length===0)}function p80(i){return!(typeof i!="string"||i.length>1024)}function lf(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function vo(i=""){let r={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return i.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,a=>r[a])}function Yw(i){return i.get("x-amz-version-id")??null}function Eo(i){let r=i.toISOString();return r.slice(0,4)+r.slice(5,7)+r.slice(8,13)+r.slice(14,16)+r.slice(17,19)+"Z"}function Kw(i){return Eo(i).slice(0,8)}function Xw(i,r){return`${Kw(r)}/${i}/s3/aws4_request`}async function m5(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),lf(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var b80=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],w5=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,_=1,i0,t0=[],r0,c0=[];super({start(){},async write(l0,d0){let F0=_++;try{if(F0==1&&l0.length<o){let j0=await r.makeRequest({method:"PUT",headers:new Headers({...e,"Content-Length":String(l0.length)}),bucketName:a,objectName:n,payload:l0});s={etag:vo(j0.headers.get("etag")??void 0),versionId:Yw(j0.headers)};return}F0===1&&(i0=(await g80({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let O0={"Content-Length":String(l0.length)};for(let j0 of b80){let k0=e[j0];k0&&(O0[j0]=k0)}let B0=r.makeRequest({method:"PUT",query:{partNumber:F0.toString(),uploadId:i0},headers:new Headers(O0),bucketName:a,objectName:n,payload:l0}).then(j0=>{let k0=j0.headers.get("etag")??"";return k0&&(k0=k0.replace(/^"/,"").replace(/"$/,"")),t0.push({part:F0,etag:k0}),j0});c0.push(B0.catch(j0=>{r0||(r0=j0)}))}catch(O0){throw O0}},async close(){if(!s)if(i0){if(await Promise.all(c0),r0)throw r0;t0.sort((l0,d0)=>l0.part>d0.part?1:-1),s=await m80({client:r,bucketName:a,objectName:n,uploadId:i0,etags:t0})}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 g80(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=xs(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let _=s.children.find(i0=>i0.name==="UploadId")?.content;if(!_)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:_}}async function m80({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
322
+ `).eq("app_id",r).order("created_at",{ascending:!1});if(o)throw a||m0.error(`App ${r} not found in database`),new Error(`App ${r} not found in database: ${Jx(o)}`);return n}async function Qw(i,r,a,n={}){let{silent:o=!1}=n,{error:e}=await i.from("app_versions").update({deleted:!0}).eq("app_id",r).eq("deleted",!1).eq("name",a);if(e){let s=`App version ${r}@${a} not found in database`;throw o||m0.error(s),new Error(`${s}: ${Jx(e)}`)}}async function f5(i,r,a,n={}){let{silent:o=!1,autoUnlink:e=!1}=n,s=await o80(i,r,a,{silent:o});await zV(i,r,s,{silent:o,autoUnlink:e}),await Qw(i,r,a,{silent:o})}function d5(i,r=!1){if(r)return;if(!i.length)throw new Error("No bundle found");let a=new pt;a.theme=pt.roundTheme,a.headers=["Version","Created","Keep"],a.rows=[];for(let n of i.toReversed())a.rows.push([n.name,w7(n.created_at),n.keep??""]);m0.success("Bundles"),m0.success(a.toString())}async function l5(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("app_versions").select().eq("app_id",r).eq("deleted",!1).order("created_at",{ascending:!1});if(e){let s=`App ${r} not found in database`;throw n||m0.error(s),new Error(`${s}: ${Jx(e)}`)}return o??[]}async function $V(i,r,a={}){let{silent:n=!1}=a,{data:o,error:e}=await i.from("channels").select("version").eq("app_id",r);if(e){let s=`App ${r} not found in database`;throw n||m0.error(s),new Error(`${s}: ${Jx(e)}`)}return(o??[]).map(s=>s.version)}async function o80(i,r,a,n={}){let{silent:o=!1}=n,{data:e,error:s}=await i.from("app_versions").select().eq("app_id",r).eq("name",a).eq("deleted",!1).single();if(!e||s){let _=`App version ${r}@${a} doesn't exist`;throw o||m0.error(_),new Error(`${_}${s?`: ${Jx(s)}`:""}`)}return e}async function c80(i,r,a,n){for await(let o of i)n||m0.warn(`Removing ${o.name} created on ${w7(o.created_at)}`),await f5(r,a,o.name)}function u80(i,r,a){let n=[];for(let o of i??[]){let e=cf(o.name);Vw(e,r)&&Gw(e,a)&&n.push(o)}return n}async function xG(i,r,a=!1){a||ke("Cleanup versions in Capgo"),await x6(),r.apikey=r.apikey||ze();let{bundle:n,keep:o=4}=r,e=r.force||!1,s=r.ignoreChannel||!1,_=await Be();if(i=$e(i,_?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete your app"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let i0=await Me(r.apikey,r.supaHost,r.supaAnon);await je(i0,r.apikey,["write","all"]),await T6(i0,r.apikey,i,3,a),a||m0.info("Querying all available versions in Capgo");let t0=await l5(i0,i),r0=await $V(i0,i);if(a||m0.info(`Total active versions in Capgo: ${t0?.length??0}`),!t0?.length)throw a||m0.error("No versions found, aborting cleanup"),new Error("No versions found");if(n){let d0=cf(n),v0=jV(d0,"major");a||m0.info(`Querying available versions in Capgo between ${_7(d0)} and ${_7(v0)}`),t0=u80(t0,d0,v0),a||m0.info(`Active versions in Capgo between ${_7(d0)} and ${_7(v0)}: ${t0?.length??0}`)}let c0=[],l0=0;for(let d0 of t0){let v0=r0.find(F0=>F0===d0.id);l0<o||v0&&!s?(d0.keep=v0?"\u2705 (Linked to channel)":"\u2705",l0+=1):(d0.keep="\u274C",c0.push(d0))}if(!c0.length)return a||m0.warn("Nothing to be removed, aborting removal..."),{removed:0,kept:l0};if(a||d5(t0),!e){if(a)throw new Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");{let d0=await o6({message:"Do you want to continue removing the versions specified?"});if(s6(d0)||!d0)throw m0.warn("Not confirmed, aborting removal..."),new Error("Cleanup cancelled by user")}}return a||m0.success("You have confirmed removal, removing versions now"),await c80(c0,i0,i,a),a||ye("Done \u2705"),{removed:c0.length,kept:l0}}async function f80(i,r,a=!1){a||ke("Check compatibility");let n={...r,apikey:r.apikey||ze()},o=await Be(),e=$e(i,o?.config),s=n.channel;if(!s)throw a||m0.error("Missing argument, you need to provide a channel"),new Error("Missing channel");if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!e)throw a||m0.error("Missing argument, you need to provide an appId, or be in a capacitor project"),new Error("Missing appId");let _=await Me(n.apikey,n.supaHost,n.supaAnon);await je(_,n.apikey,["write","all","read","upload"]),await T6(_,n.apikey,e,1,a);let i0=await P4(_,e,s,n.packageJson,n.nodeModules);if(!a){let t0=new pt;t0.headers=["Package","Local version","Remote version","Compatible"],t0.theme=pt.roundTheme,t0.rows=[];let r0=n.text?"Yes":"\u2705",c0=n.text?"No":"\u274C";for(let l0 of i0.finalCompatibility){let{name:d0,localVersion:v0,remoteVersion:F0}=l0,O0=uo(l0)?r0:c0;t0.rows.push([d0,v0,F0,O0])}m0.success("Compatibility"),m0.success(t0.toString())}return{finalCompatibility:i0.finalCompatibility}}async function eG(i,r){try{await f80(i,r,!1)}catch(a){throw m0.error(`Error checking compatibility ${Jx(a)}`),a}}var ln=require("node:fs");var aG=Re(Ic());var Ya=require("node:buffer"),Et=require("node:crypto"),tG="aes-128-cbc",dn="base64",h5=Et.constants.RSA_PKCS1_PADDING;function p5(i){let r=(0,Et.randomBytes)(16),a=(0,Et.randomBytes)(16),n=r.toString(dn),o=(0,Et.privateEncrypt)({key:i,padding:h5},a).toString(dn);return{sessionKey:a,ivSessionKey:`${n}:${o}`}}function B7(i,r,a){let[n]=a.split(":"),o=Ya.Buffer.from(n,dn),e=(0,Et.createCipheriv)(tG,r,o);return e.setAutoPadding(!0),Ya.Buffer.concat([e.update(i),e.final()])}function rG(i,r,a){let[n,o]=r.split(":"),e=(0,Et.publicDecrypt)({key:a,padding:h5},Ya.Buffer.from(o,dn)),s=Ya.Buffer.from(n,dn),_=(0,Et.createDecipheriv)(tG,e,s);return _.setAutoPadding(!0),Ya.Buffer.concat([_.update(i),_.final()])}function N7(i,r){return(0,Et.privateEncrypt)({key:r,padding:h5},Ya.Buffer.from(i,dn)).toString(dn)}function iG(i="pem",r=2048){let{publicKey:a,privateKey:n}=(0,Et.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 nG(i,r){return(0,Et.publicDecrypt)({key:r,padding:h5},Ya.Buffer.from(i,dn)).toString(dn)}function d80(i,r){let a=i.key||cn,n=r.config.plugins?.CapacitorUpdater?.publicKey;return(0,ln.existsSync)(a)?n=(0,ln.readFileSync)(a,"utf8"):!n&&i.keyData&&(n=i.keyData),{publicKey:n,fallbackKeyPath:a}}async function l80(i,r,a,n=!1){n||ke("Decrypt zip file");try{if(await x6(),!(0,ln.existsSync)(i)){let c0=`Zip not found at the path ${i}`;throw n||m0.error(c0),new Error(c0)}let o=await Be();if(!a.key&&!(0,ln.existsSync)(cn)&&!o.config.plugins?.CapacitorUpdater?.privateKey){let c0=`Private Key not found at the path ${cn} or in ${o.path}`;throw n||m0.error(c0),new Error(c0)}let{publicKey:e,fallbackKeyPath:s}=d80(a,o);if(!e){let c0=`Cannot find public key ${s} or as keyData option or in ${o.path}`;throw n||m0.error(c0),new Error(c0)}let _=(0,ln.readFileSync)(i),i0=rG(_,r,a.keyData??e),t0=`${i}_decrypted.zip`;(0,ln.writeFileSync)(t0,i0),n||m0.info(`Decrypted zip file at ${t0}`);let r0;if(a.checksum){let c0=await(0,aG.checksum)(i0,"sha256"),l0=nG(a.checksum,a.keyData??e);if(r0=c0===l0,!r0){let d0=`Checksum does not match ${c0} !== ${l0}`;throw n||m0.error(d0),new Error(d0)}n||m0.info("Checksum matches")}return n||ye("\u2705 done"),{outputPath:t0,checksumMatches:r0}}catch(o){throw n||m0.error(`Error decrypting zip file ${Jx(o)}`),o instanceof Error?o:new Error(String(o))}}async function sG(i,r,a){await l80(i,r,a,!1)}async function oG(i,r,a,n=!1){n||ke("Delete bundle"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!i)throw n||m0.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),new Error("Missing bundleId");let e=await Me(a.apikey,a.supaHost,a.supaAnon);return await je(e,a.apikey,["write","all"]),await T6(e,a.apikey,r,3,n),n||(m0.info(`Deleting bundle ${r}@${i} from Capgo`),m0.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever")),await f5(e,r,i),n||(m0.success(`Bundle ${r}@${i} deleted in Capgo`),ye("Done")),!0}var hn=require("node:fs");function uf(i){console.error(Jx(i))}async function h80(i,r,a,n=!1){let{json:o}=a,e=!o&&!n;e&&(ke("Encryption"),await x6());try{let s=await Be(),_=!!s.config.plugins?.CapacitorUpdater?.privateKey,i0=!!s.config.plugins?.CapacitorUpdater?.publicKey;if(_&&e&&m0.warning("There is still a privateKey in the config"),!(0,hn.existsSync)(i)){let B0=`Zip not found at the path ${i}`;throw n||(o?uf({error:"zip_not_found"}):m0.error(`Error: ${B0}`)),new Error(B0)}if(!i0)throw n||(o?uf({error:"missing_public_key"}):m0.warning("Warning: Missing Public Key in config")),new Error("Missing public key in config");let t0=a.key||wr,r0=a.keyData||"";if(!(0,hn.existsSync)(t0)&&!r0)throw n||(o?uf({error:"missing_key"}):(m0.warning(`Cannot find a private key at ${t0} or as a keyData option`),m0.error("Error: Missing key"))),new Error("Missing private key");if((0,hn.existsSync)(t0)&&(r0=(0,hn.readFileSync)(t0,"utf8")),r0&&!r0.startsWith("-----BEGIN RSA PRIVATE KEY-----"))throw n||(o?uf({error:"invalid_private_key"}):m0.error("The private key provided is not a valid RSA Private key")),new Error("Invalid private key format");let c0=(0,hn.readFileSync)(i),{sessionKey:l0,ivSessionKey:d0}=p5(r0),v0=B7(c0,l0,d0),F0=N7(r,r0),O0=`${i}_encrypted.zip`;return(0,hn.writeFileSync)(O0,v0),n||(o?console.log(JSON.stringify({checksum:F0,filename:O0,ivSessionKey:d0},null,2)):(m0.success(`Encoded Checksum: ${F0}`),m0.success(`ivSessionKey: ${d0}`),m0.success(`Encrypted zip saved at ${O0}`),ye("Done \u2705"))),{checksum:F0,filename:O0,ivSessionKey:d0}}catch(s){throw n||(a.json?uf(s):m0.error(`Error encrypting zip file ${Jx(s)}`)),s instanceof Error?s:new Error(String(s))}}async function cG(i,r,a){await h80(i,r,a,!1)}async function uG(i,r,a=!1){a||ke("List bundles"),await x6(),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appid, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon);await je(o,r.apikey,["write","all","read","upload"]),await T6(o,r.apikey,i,1,a),a||m0.info(`Querying available versions of: ${i} in Capgo`);let e=await l5(o,i);return a||(m0.info(`Active versions in Capgo: ${e?.length??0}`),d5(e),ye("Done \u2705")),e}var yQ=require("node:crypto"),Bo=require("node:fs"),By=require("node:path/posix"),Ny=require("node:process");var b5=class extends TransformStream{outChunkSize;constructor(r){let a=new Uint8Array(r),n=0;super({transform(o,e){let s=0;for(;s<o.length;){let _=r-n,i0=Math.min(_,o.length-s);a.set(o.subarray(s,s+i0),n),s+=i0,n+=i0,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 xs(i){return i=i.trim(),i=i.replace(/<!--[\s\S]*?-->/g,""),r();function r(){return{declaration:a(),root:n()}}function a(){if(!i0(/^<\?xml\s*/))return;let l0={attributes:{}};for(;!(t0()||r0("?>"));){let d0=e();if(!d0)return l0;l0.attributes[d0.name]=d0.value}return i0(/\?>\s*/),l0}function n(){let c0=i0(/^<([\w-:.]+)\s*/);if(!c0)return;let l0={name:c0[1],attributes:{},children:[]};for(;!(t0()||r0(">")||r0("?>")||r0("/>"));){let v0=e();if(!v0)return l0;l0.attributes[v0.name]=v0.value}if(i0(/^\s*\/>\s*/))return l0;i0(/\??>\s*/),l0.content=o();let d0;for(;d0=n();)l0.children.push(d0);return i0(/^<\/[\w-:.]+>\s*/),l0}function o(){let c0=i0(/^([^<]*)/);return c0?_(c0[1]):""}function e(){let c0=i0(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(c0)return{name:c0[1],value:_(s(c0[2]))}}function s(c0){return c0.replace(/^['"]|['"]$/g,"")}function _(c0){return c0.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}function i0(c0){let l0=i.match(c0);if(l0)return i=i.slice(l0[0].length),l0}function t0(){return i.length===0}function r0(c0){return i.startsWith(c0)}}var Bi=class extends Error{};var Nt=class extends Bi{},ff=class extends Bi{},g5=class extends Bi{bucketName;constructor(r){super(`Invalid bucket name: ${r}`),this.bucketName=r}},Ni=class extends Bi{objectName;constructor(r){super(`Invalid object name: ${r}`),this.objectName=r}},es=class extends Bi{constructor(){super("accessKey is required")}},L7=class extends Bi{constructor(){super("secretKey is required")}},df=class extends Bi{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}},pn=class extends Bi{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 fG(i){try{let a=xs(await i.text()).root;if(a?.name!=="Error")throw new Error("Invalid root, expected <Error>");let n=a.children.find(t0=>t0.name==="Code")?.content??"UnknownErrorCode",o=a.children.find(t0=>t0.name==="Message")?.content??"The error message could not be determined.",e=a.children.find(t0=>t0.name==="Key")?.content,s=a.children.find(t0=>t0.name==="BucketName")?.content,_=a.children.find(t0=>t0.name==="Resource")?.content,i0=a.children.find(t0=>t0.name==="Region")?.content;return new pn(i.status,n,o,{key:e,bucketName:s,resource:_,region:i0})}catch{return new pn(i.status,"UnrecognizedError",`Error: Unexpected response code ${i.status} ${i.statusText}. Unable to parse response as XML.`)}}function dG(i){return typeof i!="number"||isNaN(i)?!1:i>=1&&i<=65535}function lG(i){return typeof i!="string"||i.length<3||i.length>63||i.includes("..")||i.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)?!1:!!i.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/)}function ts(i){return!(!p80(i)||i.length===0)}function p80(i){return!(typeof i!="string"||i.length>1024)}function lf(i){return Array.from(i).map(r=>r.toString(16).padStart(2,"0")).join("")}function vo(i=""){let r={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return i.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,a=>r[a])}function Yw(i){return i.get("x-amz-version-id")??null}function Eo(i){let r=i.toISOString();return r.slice(0,4)+r.slice(5,7)+r.slice(8,13)+r.slice(14,16)+r.slice(17,19)+"Z"}function Kw(i){return Eo(i).slice(0,8)}function Xw(i,r){return`${Kw(r)}/${i}/s3/aws4_request`}async function m5(i){return i instanceof Uint8Array||(i=new TextEncoder().encode(i)),lf(new Uint8Array(await crypto.subtle.digest("SHA-256",i)))}var b80=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"],w5=class extends WritableStream{getResult;constructor({client:r,bucketName:a,objectName:n,partSize:o,metadata:e}){let s,_=1,i0,t0=[],r0,c0=[];super({start(){},async write(l0,d0){let F0=_++;try{if(F0==1&&l0.length<o){let j0=await r.makeRequest({method:"PUT",headers:new Headers({...e,"Content-Length":String(l0.length)}),bucketName:a,objectName:n,payload:l0});s={etag:vo(j0.headers.get("etag")??void 0),versionId:Yw(j0.headers)};return}F0===1&&(i0=(await g80({client:r,bucketName:a,objectName:n,metadata:e})).uploadId);let O0={"Content-Length":String(l0.length)};for(let j0 of b80){let k0=e[j0];k0&&(O0[j0]=k0)}let B0=r.makeRequest({method:"PUT",query:{partNumber:F0.toString(),uploadId:i0},headers:new Headers(O0),bucketName:a,objectName:n,payload:l0}).then(j0=>{let k0=j0.headers.get("etag")??"";return k0&&(k0=k0.replace(/^"/,"").replace(/"$/,"")),t0.push({part:F0,etag:k0}),j0});c0.push(B0.catch(j0=>{r0||(r0=j0)}))}catch(O0){throw O0}},async close(){if(!s)if(i0){if(await Promise.all(c0),r0)throw r0;t0.sort((l0,d0)=>l0.part>d0.part?1:-1),s=await m80({client:r,bucketName:a,objectName:n,uploadId:i0,etags:t0})}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 g80(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=xs(e).root;if(!s||s.name!=="InitiateMultipartUploadResult")throw new Error(`Unexpected response: ${e}`);let _=s.children.find(i0=>i0.name==="UploadId")?.content;if(!_)throw new Error(`Unable to get UploadId from response: ${e}`);return{uploadId:_}}async function m80({client:i,bucketName:r,objectName:a,uploadId:n,etags:o}){let e=`
323
323
  <CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
324
324
  ${o.map(c0=>` <Part><PartNumber>${c0.part}</PartNumber><ETag>${c0.etag}</ETag></Part>`).join(`
325
325
  `)}
@@ -330,18 +330,18 @@ ${Zx(e)}`),new Error(`Cannot retrieve unknown version for app ${r}: ${Zx(e)}`);r
330
330
  `)}async function mG(i,r,a){let n=await m5(i),o=Xw(a,r);return[hf,Eo(r),o,n].join(`
331
331
  `)}async function Zw(i,r,a){let n=Kw(i),o=await Co("AWS4"+a,n),e=await Co(o,r),s=await Co(e,"s3");return await Co(s,"aws4_request")}function $w(i,r,a){return`${i}/${Xw(r,a)}`}async function Co(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 wG(i){if(!i.accessKey)throw new es;if(!i.secretKey)throw new L7;if(i.expirySeconds<1||i.expirySeconds>604800)throw new df;let r=new Date(i.date);r.setSeconds(r.getSeconds()+i.expirySeconds);let a=$w(i.accessKey,i.region,i.date),n=Eo(i.date),o={"X-Amz-Algorithm":hf,"X-Amz-Credential":a,"X-Amz-Date":n,key:i.objectKey,...i.fields},e=[{bucket:i.bucket},{key:i.objectKey},{"X-Amz-Algorithm":hf},{"X-Amz-Credential":a},{"X-Amz-Date":n}];i.conditions&&e.push(...i.conditions);for(let[d0,v0]of Object.entries(i.fields||{}))["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(d0)||e.push({[d0]:v0});let s={expiration:r.toISOString(),conditions:e},_=new TextEncoder().encode(JSON.stringify(s)),i0=btoa(String.fromCharCode(..._));o.policy=i0;let t0=i0,r0=await Zw(i.date,i.region,i.secretKey),c0=lf(await Co(r0,t0)).toLowerCase();return o["X-Amz-Signature"]=c0,{url:`${i.protocol}//${i.host}/${i.bucket}`,fields:o}}var y80=["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"],D80=5*1024*1024,v80=5*1024*1024*1024,xy=5*1024*1024*1024*1024,pf=class{host;port;protocol;accessKey;#n;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 Nt("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let _=new URL(r);r=_.hostname,a=_.protocol==="https:",n=_.port?parseInt(_.port,10):a?443:80,_.pathname&&_.pathname!=="/"&&(o=_.pathname.endsWith("/")?_.pathname.slice(0,-1):_.pathname)}catch{throw new ff(`Invalid endPoint URL: ${r}`)}}if(typeof r!="string"||r.length===0)throw new ff(`Invalid endPoint: ${r}`);if(a===void 0&&(a=!0),n!==void 0&&!dG(n))throw new Nt(`Invalid port: ${n}`);if(e.accessKey&&!e.secretKey)throw new Nt("If specifying access key, secret key must also be provided.");if(e.accessKey&&e.accessKey.startsWith("ASIA")&&!e.sessionToken)throw new Nt("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.#n=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 Nt("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new Nt("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new Nt("pathPrefix should not end with /")}}getBucketName(r){let a=r?.bucketName??this.defaultBucket;if(a===void 0||!lG(a))throw new g5(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}`:"",i0=s+_,t0=s.split("/").map(r0=>encodeURIComponent(r0)).join("/")+_;return{headers:o,host:n,path:i0,encodedPath:t0}}async makeRequest({method:r,payload:a,...n}){let o=new Date,{headers:e,host:s,path:_,encodedPath:i0}=this.buildRequestOptions(n),t0=n.statusCode??200;if(r==="POST"||r==="PUT"||r==="DELETE")a===void 0?a=new Uint8Array:typeof a=="string"&&(a=new TextEncoder().encode(a)),e.set("Content-Length",String(a.length));else if(a)throw new Error(`Unexpected payload on ${r} request.`);let r0=await m5(a??new Uint8Array);e.set("x-amz-date",Eo(o)),e.set("x-amz-content-sha256",r0),this.accessKey&&(this.sessionToken&&e.set("x-amz-security-token",this.sessionToken),e.set("authorization",await hG({headers:e,method:r,path:_,accessKey:this.accessKey,secretKey:this.#n,region:this.region,date:o})));let c0=`${this.protocol}//${s}${i0}`,l0=await fetch(c0,{method:r,headers:e,body:a});if(l0.status!==t0)throw l0.status>=400?await fG(l0):l0.status===301?new pn(l0.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 pn(l0.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${t0}, got ${l0.status} ${l0.statusText}).`);return n.returnBody||await l0.body?.getReader().read(),l0}async deleteObject(r,a={}){let n=this.getBucketName(a);if(!ts(r))throw new Ni(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 pn&&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(!ts(r))throw new Ni(r);let s=new Headers(Object.entries(o.metadata??{})),_=200;if(a||n){let t0="";a?t0=`bytes=${+a}-`:(t0="bytes=0-",a=0),n&&(t0+=`${+n+a-1}`),s.set("Range",t0),_=206}let i0={...o.responseParams,...o.versionId?{versionId:o.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:e,objectName:r,headers:s,query:i0,statusCode:_,returnBody:!0})}getPresignedUrl(r,a,n={}){if(!this.accessKey)throw new es;if(!ts(a))throw new Ni(a);let{headers:o,path:e}=this.buildRequestOptions({objectName:a,bucketName:n.bucketName,query:n.parameters}),s=n.requestDate??new Date,_=n.expirySeconds??1440*60*7;return pG({protocol:this.protocol,headers:o,method:r,path:e,accessKey:this.accessKey,secretKey:this.#n,sessionToken:this.sessionToken,region:this.region,date:s,expirySeconds:_})}presignedGetObject(r,a={}){let{versionId:n,responseParams:o,...e}=a,s={...o,...n?{versionId:n}:{}};return this.getPresignedUrl("GET",r,{parameters:s,...e})}async*listObjects(r={}){for await(let a of this.listObjectsGrouped({...r,delimiter:""}))if(a.type==="Object")yield a;else throw new Error(`Unexpected result from listObjectsGrouped(): ${a}`)}async*listObjectsGrouped(r){let a=this.getBucketName(r),n="",o=r.pageSize??1e3;if(o<1||o>1e3)throw new Nt("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 i0=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(),t0=xs(i0).root;if(!t0||t0.name!=="ListBucketResult")throw new Error(`Unexpected response: ${i0}`);let r0=t0.children.filter(d0=>d0.name==="CommonPrefixes").flatMap(d0=>d0.children),c0=[];for(let d0 of r0)c0.push({type:"CommonPrefix",prefix:d0.content??""}),e++;for(let d0 of t0.children.filter(v0=>v0.name==="Contents"))c0.push({type:"Object",key:d0.children.find(v0=>v0.name==="Key")?.content??"",etag:vo(d0.children.find(v0=>v0.name==="ETag")?.content??""),size:parseInt(d0.children.find(v0=>v0.name==="Size")?.content??"",10),lastModified:new Date(d0.children.find(v0=>v0.name==="LastModified")?.content??"invalid")}),e++;c0.sort((d0,v0)=>{let F0=d0.type==="Object"?d0.key:d0.prefix,O0=v0.type==="Object"?v0.key:v0.prefix;return F0>O0?1:F0<O0?-1:0});for(let d0 of c0)yield d0;if(t0.children.find(d0=>d0.name==="IsTruncated")?.content==="true"){let d0=t0.children.find(v0=>v0.name==="NextContinuationToken")?.content;if(!d0)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");n=d0}else return}}async putObject(r,a,n){let o=this.getBucketName(n);if(!ts(r))throw new Ni(r);let e,s;if(typeof a=="string"){let r0=new TextEncoder().encode(a);typeof ReadableStream.from<"u"?s=ReadableStream.from([r0]):s=new ReadableStream({start(c0){c0.enqueue(r0),c0.close()}}),e=r0.length}else if(a instanceof Uint8Array)typeof ReadableStream.from<"u"?s=ReadableStream.from([a]):s=new ReadableStream({start(r0){r0.enqueue(a),r0.close()}}),e=a.byteLength;else if(a instanceof ReadableStream)s=a;else throw new Nt("Invalid stream/data type provided.");if(n?.size!==void 0){if(e!==void 0&&n?.size!==e)throw new Nt(`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 Nt(`invalid size specified: ${n.size}`);e=n.size}let _=n?.partSize??this.calculatePartSize(e);if(_<D80)throw new Nt("Part size should be greater than 5MB");if(_>v80)throw new Nt("Part size should be less than 6MB");let i0=new b5(_),t0=new w5({client:this,bucketName:o,objectName:r,partSize:_,metadata:n?.metadata??{}});return await s.pipeThrough(i0).pipeTo(t0),t0.getResult()}calculatePartSize(r){if(r===void 0&&(r=xy),r>xy)throw new TypeError(`size should not be more than ${xy}`);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(!ts(r))throw new Ni(r);let o={};a?.versionId&&(o.versionId=a.versionId);let e=await this.makeRequest({method:"HEAD",bucketName:n,objectName:r,query:o,headers:new Headers(a?.headers)}),s={};for(let _ of y80)e.headers.has(_)&&(s[_]=e.headers.get(_));return e.headers.forEach((_,i0)=>{i0.startsWith("x-amz-meta-")&&(s[i0]=e.headers.get(i0))}),{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:vo(e.headers.get("ETag")??"")}}async copyObject(r,a,n){let o=this.getBucketName(n),e=r.sourceBucketName??o;if(!ts(a))throw new Ni(a);let s=`${e}/${r.sourceKey}`;r.sourceVersionId&&(s+=`?versionId=${r.sourceVersionId}`);let _=new Headers(n?.metadata);n?.metadata!==void 0&&_.set("x-amz-metadata-directive","REPLACE"),_.set("x-amz-copy-source",s);let i0=await this.makeRequest({method:"PUT",bucketName:o,objectName:a,headers:_,returnBody:!0}),t0=await i0.text(),r0=xs(t0).root;if(!r0||r0.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${t0}`);let c0=r0.children.find(d0=>d0.name==="ETag")?.content??"",l0=r0.children.find(d0=>d0.name==="LastModified")?.content;if(l0===void 0)throw new Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:i0.headers.get("x-amz-copy-source-version-id")||null,etag:vo(c0),lastModified:new Date(l0),versionId:i0.headers.get("x-amz-version-id")||null}}async bucketExists(r){try{return await this.listObjects({bucketName:r}).next(),!0}catch(a){if(a instanceof pn&&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(!ts(r))throw new Ni(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 wG({protocol:this.protocol,host:this.host,bucket:n,objectKey:r,accessKey:this.accessKey||"",secretKey:this.#n||"",region:this.region,date:o,expirySeconds:e,conditions:a.conditions,fields:a.fields})}};var _y=Re(Ic());var Ly=Re(_u()),My=Re(Is());var So=require("node:fs"),y5=require("node:path");function E80(i,r){return(0,So.readFileSync)(i,"utf8").includes(r)}function bf(i,r){let a=(0,So.readdirSync)(i);for(let n of a){let o=(0,y5.join)(i,n),e=(0,So.statSync)(o);if(e.isDirectory()){if(bf(o,r))return!0}else if(e.isFile()&&(0,y5.extname)(o)===".js"&&E80(o,r))return!0}return!1}function D5(i){return(0,So.readdirSync)(i).indexOf("index.html")>-1}var B5=require("node:buffer"),gn=require("node:fs"),fQ=require("node:os"),mn=require("node:path"),Ty=require("node:process"),W7=require("node:stream/consumers"),Ry=require("node:zlib");var dQ=Re(tz()),lQ=Re(uQ()),Py=Re(_u()),hQ=Re(Is()),pQ=Re(m2()),bQ=Re(ib());async function Ob0(i,r){try{return(await fetch(`${i.hostFilesApi}/files/read/attachments/${encodeURIComponent(r)}`,{method:"HEAD"})).ok}catch{return!1}}var Fb0=4096,gQ=8192,vf="7.0.37",Ib0=B5.Buffer.from([27,0,6]);async function Tb0(i){let r=(0,mn.join)(Dt((0,Ty.cwd)()),yt),n=(await it(void 0,i.packageJson||r)).get("@capgo/capacitor-updater"),o=(0,Py.default)(n);if(!n||!o)return{version:null,supportsBrotliV2:!1};let e=(0,hQ.default)(o.version,vf);return{version:o.version,supportsBrotliV2:e}}function Rb0(i,r){if(!r)return!1;let a=r.split(",").map(n=>n.trim()).filter(n=>!!n);return a.length===0?!1:lQ.isMatch(i,a)}async function Pb0(i,r){let n=(0,gn.statSync)(i).size;if(n===0)return Ib0;let o=await(0,W7.buffer)((0,gn.createReadStream)(i)),e=await(0,W7.buffer)((0,gn.createReadStream)(i).pipe((0,Ry.createBrotliCompress)({})));if(n<Fb0||e.length>=n-10){let s=dQ.compress(o,{mode:0,quality:0});if(s)return B5.Buffer.from(s);let _=(0,mn.join)(Dt((0,Ty.cwd)()),yt),t0=(await it(void 0,r.packageJson||_)).get("@capgo/capacitor-updater"),r0=(0,Py.default)(t0);if(!t0||!r0)throw m0.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,pQ.default)(r0,">=6.14.12 <7.0.0 || >=7.0.23"))throw m0.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:B5.Buffer.from([27,0,6,...o,3])}return e}async function _b0(i,r,a){let o=(0,gn.statSync)(i).size,e=await(0,W7.buffer)((0,gn.createReadStream)(i));if(o===0)return{buffer:e,useBrotli:!1};if(Rb0(r,a.noBrotliPatterns))return m0.info(`Skipping brotli for excluded file: ${r}`),{buffer:e,useBrotli:!1};if(o<gQ)return{buffer:e,useBrotli:!1};try{let s=await(0,W7.buffer)((0,gn.createReadStream)(i).pipe((0,Ry.createBrotliCompress)({})));return s.length>=o-10?(m0.info(`Brotli not effective for ${r} (${o} bytes), using original file`),{buffer:e,useBrotli:!1}):{buffer:s,useBrotli:!0}}catch(s){return m0.warn(`Brotli compression failed for ${i}: ${s}, using original file`),{buffer:e,useBrotli:!1}}}async function mQ(i,r,a,n,o,e){let s=u6();s.start(o!=="v2"?"Generating the update manifest":"Generating the update manifest with v2 encryption");let _=await GU(i);if(o==="v2")for(let i0 of _)i0.hash=N7(i0.hash,e);return s.stop("Manifest generated successfully"),await n6(r,{channel:"partial-update",event:"Generate manifest",icon:"\u{1F4C2}",user_id:a,tags:{"app-id":n},notify:!1}),_}function Bb0(i){return(0,fQ.platform)()!=="win32"?i:mn.win32.normalize(i).split(mn.win32.sep).join(mn.posix.sep)}function Nb0(i){let r=i.split("/").map(a=>encodeURIComponent(a)).join("/");return i.includes(" ")&&m0.warn(`File "${i}" contains spaces in its name.`),r}async function wQ(i,r,a,n,o,e,s,_){let i0=u6();i0.start("Preparing partial update with TUS protocol");let t0=performance.now(),r0=await Mr(),{version:c0,supportsBrotliV2:l0}=await Tb0(_);if(l0)_.disableBrotli?m0.info("Brotli compression disabled by user request"):(i0.message(`Using .br extension for compatible files (updater ${c0} >= ${vf})`),_.noBrotliPatterns&&m0.info(`Files matching patterns (${_.noBrotliPatterns}) will be excluded from brotli compression`),m0.info(`Files smaller than ${gQ} bytes will be excluded from brotli compression (Brotli RFC minimum)`));else{if(_.disableBrotli&&m0.warn(`--disable-brotli option has no effect with updater version ${c0||"unknown"} (requires ${vf}+)`),_.noBrotliPatterns)throw new Error(`--no-brotli-patterns option requires updater version ${vf} or higher, but you have ${c0||"unknown"}`);m0.info(`Using legacy compression (updater ${c0||"unknown"} < ${vf})`)}let d0=r.filter(B0=>B0.file.includes(" "));if(d0.length>0)throw new Error(`Files with spaces in their names (${d0.map(B0=>B0.file).join(", ")}). Please rename the files.`);let v0=0,F0=r.length,O0=0;try{let B0=r.map(async z0=>{let sx=(0,mn.join)(a,z0.file),Q0=Bb0(z0.file),mx,K0=!1;if(!l0)mx=await Pb0(sx,_);else if(_.disableBrotli)mx=await(0,W7.buffer)((0,gn.createReadStream)(sx)),K0=!1;else{let te=await _b0(sx,Q0,_);mx=te.buffer,K0=te.useBrotli}let wx=mx;s&&(wx=B7(mx,s.sessionKey,s.ivSessionKey));let $0=Q0;K0&&($0=`${Q0}.br`,O0++);let Mx=Nb0($0),jx=`orgs/${e}/apps/${n}/delta/${z0.hash}_${Mx}`;return await Ob0(r0,jx)?(v0++,Promise.resolve({file_name:Mx,s3_path:jx,file_hash:z0.hash})):new Promise((te,A0)=>{new bQ.Upload(wx,{endpoint:`${r0.hostFilesApi}/files/upload/attachments/`,chunkSize:_.tusChunkSize,metadata:{filename:jx},headers:{Authorization:i},onError(L0){m0.info(`Failed to upload ${Q0}: ${L0}`),A0(L0)},onProgress(){let L0=(v0/F0*100).toFixed(2);i0.message(`Uploading partial update: ${L0}%`)},onSuccess(){v0++,te({file_name:Mx,s3_path:jx,file_hash:z0.hash})}}).start()})}),j0=await Promise.all(B0),Y0=((performance.now()-t0)/1e3).toFixed(2);return i0.stop(`Partial update uploaded successfully \u{1F4AA} in (${Y0} seconds)`),O0>0&&m0.info(`${O0} of ${F0} files were compressed with brotli and use .br extension`),await n6(i,{channel:"app",event:`App Partial TUS done${O0>0?" with .br extension":""}`,icon:"\u23EB",user_id:e,tags:{"app-id":n},notify:!1}),await n6(i,{channel:"performance",event:"Partial upload performance",icon:"\u{1F684}",user_id:e,tags:{"app-id":n,time:Y0},notify:!1}),j0}catch(B0){let k0=((performance.now()-t0)/1e3).toFixed(2);return i0.stop(`Failed to upload Partial bundle (after ${k0} seconds)`),m0.info(`Error uploading partial update: ${B0}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}function t6(i){throw m0.error(i),new Error(i)}async function Lb0(i,r){let a=si("",r.packageJson),n=r.bundle||i?.plugins?.CapacitorUpdater?.version||a||`0.0.1-beta.${(0,yQ.randomUUID)().split("-")[0]}`;return p7.test(n)||t6(`Your bundle name ${n}, is not valid it should follow semver convention : https://semver.org/`),n}function Mb0(i){let r=i.apikey||ze();return r||t6("Missing API key, you need to provide an API key to upload your bundle"),r}function Ub0(i,r,a){let n=$e(i,a),o=r.path||a?.webDir;return n||t6("Missing argument, you need to provide a appid or be in a capacitor project"),o||t6("Missing argument, you need to provide a path (--path), or be in a capacitor project"),(0,Bo.existsSync)(o)||t6(`Path ${o} does not exist, build your app first, or provide a valid path`),{appid:n,path:o}}function qb0(i,r){let a=i.codeCheck;(typeof a>"u"||a)&&(bf(r,"notifyAppReady")||t6(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
332
332
  If you are sure your app has this code, you can use the --no-code-check option`),D5(r)||t6(`index.html is missing in the root folder of ${r}`))}async function Hb0(i,r,a,n,o,e){let s=a.ignoreMetadataCheck,_=a.autoMinUpdateVersion,i0=a.minUpdateVersion,{data:t0,error:r0}=await i.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",n).eq("app_id",o).single(),c0=!!t0&&t0.disable_auto_update==="version_number",l0,d0;if(!r0&&t0&&t0.version&&t0.version.native_packages&&!s){let O0=u6();O0.start(`Checking bundle compatibility with channel ${n}`);let{finalCompatibility:B0,localDependencies:j0}=await P4(i,o,n,a.packageJson,a.nodeModules);if(d0=B0,l0=j0,d0.find(k0=>!uo(k0)))O0.stop(`Bundle NOT compatible with ${n} channel`),m0.warn(`You can check compatibility with "${r.runner} @capgo/cli bundle compatibility"`),_&&(i0=e,m0.info(`Auto set min-update-version to ${i0}`));else if(_)try{let{min_update_version:k0}=t0.version;(!k0||!p7.test(k0))&&t6("Invalid remote min update version, skipping auto setting compatibility"),i0=k0,O0.stop(`Auto set min-update-version to ${i0}`)}catch{t6(`Cannot auto set compatibility, invalid data ${t0}`)}else O0.stop(`Bundle compatible with ${n} channel`)}else s||(m0.warn(`Channel ${n} is new or it's your first upload with compatibility check, it will be ignored this time`),l0=await Vm(a.packageJson,a.nodeModules),_&&(i0=e,m0.info(`Auto set min-update-version to ${i0}`)));c0&&!i0&&!s&&t6("You need to provide a min-update-version to upload a bundle to this channel"),i0&&(p7.test(i0)||t6(`Your minimal version update ${i0}, is not valid it should follow semver convention : https://semver.org/`));let v0=l0?new Map(l0.filter(O0=>!!O0.native&&O0.native!==void 0).map(O0=>[O0.name,O0])):new Map;return{nativePackages:v0.size>0||!a.ignoreMetadataCheck?Array.from(v0,([O0,B0])=>({name:O0,version:B0.version})):void 0,minUpdateVersion:i0}}async function jb0(i,r,a){let{data:n,error:o}=await i.rpc("is_trial_org",{orgid:r}).single();(n&&n>0||o)&&(m0.warn(`WARNING !!
333
- Trial expires in ${n} days`),m0.warn(`Upgrade here: ${a.hostWeb}/dashboard/settings/plans?oid=${r}`))}async function Vb0(i,r,a,n=!1){let{data:o,error:e}=await i.rpc("exist_app_versions",{appid:r,apikey:"",name_version:a}).single();if(o||e){if(n)return m0.warn(`Version ${a} already exists - exiting gracefully due to --silent-fail option`),ye("Bundle version already exists - exiting gracefully \u{1F389}"),!0;t6(`Version ${a} already exists ${Zx(e)}`)}return!1}async function Gb0(i,r,a,n,o,e,s){let _,i0,t0="",r0=null,c0="none",l0="",d0=r.keyV2,v0=r.key===!1;r0=await T4(i);let F0=u6();F0.start("Calculating checksum");let O0=(0,By.join)(Dt((0,Ny.cwd)()),yt),j0=(await it(void 0,r.packageJson||O0)).get("@capgo/capacitor-updater"),k0=!1,Y0=(0,Ly.default)(j0);if(j0?Y0?k0=(0,My.default)(Y0.version,"7.0.0"):j0==="link:@capgo/capacitor-updater"&&(m0.warn("Using local @capgo/capacitor-updater. Assuming v7"),k0=!0):t6("Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work"),(d0||r.keyDataV2||(0,Bo.existsSync)(wr))&&!v0||k0?t0=await(0,_y.checksum)(r0,"sha256"):t0=await(0,_y.checksum)(r0,"crc32"),F0.stop(`Checksum: ${t0}`),v0)m0.info("Encryption ignored");else if((d0||(0,Bo.existsSync)(wr)||r.keyDataV2)&&!r.oldEncryption){let Q0=typeof d0=="string"?d0:wr,mx=r.keyDataV2||"";!mx&&!(0,Bo.existsSync)(Q0)&&t6(`Cannot find private key ${Q0}`),await n6(a,{channel:"app",event:"App encryption v2",icon:"\u{1F511}",user_id:n,tags:{"app-id":o},notify:!1}),mx||(mx=(0,Bo.readFileSync)(Q0).toString()),m0.info("Encrypting your bundle with V2");let{sessionKey:K0,ivSessionKey:wx}=p5(mx),$0=B7(r0,K0,wx);t0=N7(t0,mx),_=wx,i0=K0,c0="v2",l0=mx,r.displayIvSession&&m0.info(`Your Iv Session key is ${_},
333
+ Trial expires in ${n} days`),m0.warn(`Upgrade here: ${a.hostWeb}/dashboard/settings/plans?oid=${r}`))}async function Vb0(i,r,a,n=!1){let{data:o,error:e}=await i.rpc("exist_app_versions",{appid:r,apikey:"",name_version:a}).single();if(o||e){if(n)return m0.warn(`Version ${a} already exists - exiting gracefully due to --silent-fail option`),ye("Bundle version already exists - exiting gracefully \u{1F389}"),!0;t6(`Version ${a} already exists ${Jx(e)}`)}return!1}async function Gb0(i,r,a,n,o,e,s){let _,i0,t0="",r0=null,c0="none",l0="",d0=r.keyV2,v0=r.key===!1;r0=await T4(i);let F0=u6();F0.start("Calculating checksum");let O0=(0,By.join)(Dt((0,Ny.cwd)()),yt),j0=(await it(void 0,r.packageJson||O0)).get("@capgo/capacitor-updater"),k0=!1,Y0=(0,Ly.default)(j0);if(j0?Y0?k0=(0,My.default)(Y0.version,"7.0.0"):j0==="link:@capgo/capacitor-updater"&&(m0.warn("Using local @capgo/capacitor-updater. Assuming v7"),k0=!0):t6("Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work"),(d0||r.keyDataV2||(0,Bo.existsSync)(wr))&&!v0||k0?t0=await(0,_y.checksum)(r0,"sha256"):t0=await(0,_y.checksum)(r0,"crc32"),F0.stop(`Checksum: ${t0}`),v0)m0.info("Encryption ignored");else if((d0||(0,Bo.existsSync)(wr)||r.keyDataV2)&&!r.oldEncryption){let Q0=typeof d0=="string"?d0:wr,mx=r.keyDataV2||"";!mx&&!(0,Bo.existsSync)(Q0)&&t6(`Cannot find private key ${Q0}`),await n6(a,{channel:"app",event:"App encryption v2",icon:"\u{1F511}",user_id:n,tags:{"app-id":o},notify:!1},r.verbose),mx||(mx=(0,Bo.readFileSync)(Q0).toString()),m0.info("Encrypting your bundle with V2");let{sessionKey:K0,ivSessionKey:wx}=p5(mx),$0=B7(r0,K0,wx);t0=N7(t0,mx),_=wx,i0=K0,c0="v2",l0=mx,r.displayIvSession&&m0.info(`Your Iv Session key is ${_},
334
334
  keep it safe, you will need it to decrypt your bundle.
335
335
  It will be also visible in your dashboard
336
336
  `),r0=$0}let z0=Math.floor((r0?.byteLength??0)/1024/1024),sx=Math.floor(e/1024/1024);return r0?.byteLength>e?t6(`The bundle size is ${z0} Mb, this is greater than the maximum upload length ${sx} Mb, please reduce the size of your bundle`):r0?.byteLength>s?(m0.warn(`WARNING !!
337
337
  The bundle size is ${z0} Mb, this may take a while to download for users
338
338
  `),m0.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
339
- `),r.verbose&&(m0.info("[Verbose] Bundle size details:"),m0.info(` - Actual size: ${z0} MB (${r0?.byteLength} bytes)`),m0.info(` - Alert threshold: ${Math.floor(s/1024/1024)} MB`),m0.info(` - Maximum allowed: ${sx} MB`),m0.info("[Verbose] Sending 'App Too Large' event to analytics...")),await n6(a,{channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":o},notify:!1}),r.verbose&&m0.info("[Verbose] Event sent successfully")):r.verbose&&m0.info(`[Verbose] Bundle size OK: ${z0} MB (under ${Math.floor(s/1024/1024)} MB alert threshold)`),r.verbose&&m0.info("[Verbose] Bundle preparation complete, returning bundle data"),{zipped:r0,ivSessionKey:_,sessionKey:i0,checksum:t0,encryptionMethod:c0,finalKeyData:l0}}async function zb0(i,r,a,n,o,e,s,_){let i0=u6();i0.start("Uploading Bundle");let t0=performance.now(),r0=!1;if(s.verbose&&(m0.info("[Verbose] uploadBundleToCapgoCloud called:"),m0.info(` - Bundle size: ${Math.floor(e.byteLength/1024)} KB`),m0.info(` - App ID: ${a}`),m0.info(` - Bundle version: ${n}`),m0.info(` - Chunk size: ${Math.floor(_/1024/1024)} MB`)),s.dryUpload){i0.stop(`Dry run, bundle not uploaded
340
- Bundle uploaded \u{1F4AA} in 0 seconds`),s.verbose&&m0.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let d0=await Mr();if(s.verbose&&m0.info("[Verbose] Local config retrieved for upload"),s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?m0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):m0.info("Uploading bundle with TUS protocol"),s.verbose&&(m0.info("[Verbose] Starting TUS resumable upload..."),m0.info(` - Host: ${d0.hostWeb}`),m0.info(` - Chunk size: ${Math.floor(_/1024/1024)} MB`)),await zU(i,e,o,a,n,i0,d0,_),r0=!0,s.verbose&&m0.info("[Verbose] TUS upload completed, updating database with R2 path...");let v0=`orgs/${o}/apps/${a}/${n}.zip`,{error:F0}=await r.from("app_versions").update({r2_path:v0}).eq("name",n).eq("app_id",a);if(F0)return m0.error(`Cannot finish TUS upload ${Zx(F0)}`),s.verbose&&m0.info(`[Verbose] Database update failed: ${Zx(F0)}`),Promise.reject(new Error("Cannot finish TUS upload"));s.verbose&&m0.info(`[Verbose] Database updated with R2 path: ${v0}`)}else{s.verbose&&m0.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let v0=await jU(r,a,n);if(!v0)return m0.error("Cannot get upload url"),s.verbose&&m0.info("[Verbose] Failed to retrieve presigned upload URL from database"),Promise.reject(new Error("Cannot get upload url"));s.verbose&&(m0.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),m0.info(` - Timeout: ${s.timeout||Lm}ms`),m0.info(" - Retry attempts: 5"),m0.info(" - Content-Type: application/zip")),await Bn.put(v0,{timeout:s.timeout||Lm,retry:5,body:e,headers:{"Content-Type":"application/zip"}}),s.verbose&&m0.info("[Verbose] HTTP PUT upload completed successfully")}}catch(d0){let F0=((performance.now()-t0)/1e3).toFixed(2);if(i0.stop(`Failed to upload bundle ( after ${F0} seconds)`),s.verbose&&(m0.info(`[Verbose] Upload failed after ${F0} seconds`),m0.info(`[Verbose] Error type: ${d0 instanceof ei?"HTTPError":typeof d0}`)),d0 instanceof ei)try{let O0=await d0.response.text();if(s.verbose&&m0.info(`[Verbose] HTTP error response body: ${O0.substring(0,500)}`),O0.startsWith("<?xml")){let B0=O0.match(/<Message>(.*?)<\/Message>/s),j0=B0?B0[1]:"Unknown S3 error";m0.error(`S3 Upload Error: ${j0}`)}else{let B0=JSON.parse(O0);m0.error(`Response Error: ${B0.error||B0.status||B0.message}`)}}catch{m0.error(`Upload failed with status ${d0.response.status}: ${d0.message}`)}else s.verbose&&m0.info(`[Verbose] Non-HTTP error: ${Zx(d0)}`),s.tus?m0.error(`Cannot upload bundle please contact support if the issue persists ${Zx(d0)}`):m0.error(`Cannot upload bundle ( try again with --tus option) ${Zx(d0)}`);throw s.verbose&&m0.info("[Verbose] Cleaning up failed version from database..."),await QU(r,a,n),s.verbose&&m0.info("[Verbose] Failed version cleaned up"),d0 instanceof Error?d0:new Error(String(d0))}let l0=((performance.now()-t0)/1e3).toFixed(2);i0.stop(`Bundle uploaded \u{1F4AA} in (${l0} seconds)`),s.verbose&&(m0.info("[Verbose] Upload successful:"),m0.info(` - Upload time: ${l0} seconds`),m0.info(` - Upload method: ${r0?"TUS (resumable)":"Standard HTTP PUT"}`),m0.info(` - Bundle size: ${Math.floor(e.byteLength/1024)} KB`),m0.info("[Verbose] Sending performance event...")),await n6(i,{channel:"performance",event:r0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:l0},notify:!1}),s.verbose&&m0.info("[Verbose] Performance event sent successfully")}async function Qb0(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){m0.error(`Cannot delete linked bundle on upload ${Zx(o)}`);return}if(n.length===0){m0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){m0.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){m0.error(`Cannot delete linked bundle on upload ${Zx(s)}`);return}m0.info("Linked bundle deleted")}async function Wb0(i,r,a,n,o,e,s,_,i0,t0){let{data:r0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:_}).single();r0||t6("Cannot get version id, cannot set channel");let{data:c0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(c0){let{error:l0,data:d0}=await R4(i,{name:o,app_id:_,created_by:e,version:r0,owner_org:s,...t0?{allow_device_self_set:!0}:{}});l0&&t6(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${Zx(l0)}`);let v0=`${i0.hostWeb}/app/p/${_}/channel/${d0.id}`;d0?.public?m0.info("Your update is now available in your public channel \u{1F389}"):d0?.id&&m0.info(`Link device to this bundle to try it: ${v0}`),a&&m0.info(`Bundle url: ${v0}`)}else m0.warn("The upload key is not allowed to set the version in the channel")}async function Yb0(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").eq("app_id",i).single();return n?(m0.warn("Cannot find default upload channel"),m0.info(`You can set it here: ${a}/app/p/${i}/settings`),null):o.default_upload_channel}async function Uy(i,r,a=!0){a&&ke(`Uploading with CLI version ${Kr.version}`);let n,o=ht();await x6();let{s3Region:e,s3Apikey:s,s3Apisecret:_,s3BucketName:i0,s3Endpoint:t0,s3Port:r0,s3SSL:c0}=r;r.verbose&&(m0.info("[Verbose] Starting upload process with options:"),m0.info(` - API key: ${r.apikey?"provided":"from saved key"}`),m0.info(` - Path: ${r.path||"from capacitor config"}`),m0.info(` - Channel: ${r.channel||"from default upload channel"}`),m0.info(` - Bundle: ${r.bundle||"auto-detected"}`),m0.info(` - External: ${r.external||"false"}`),m0.info(` - Encryption: ${r.keyV2||r.keyDataV2?"v2":r.key===!1?"disabled":"auto"}`),m0.info(` - Upload method: ${r.tus?"TUS":r.zip?"ZIP":"auto"}`),m0.info(` - Delta updates: ${r.delta||r.partial?"enabled":"disabled"}`));let l0=Mb0(r);r.verbose&&m0.info("[Verbose] API key retrieved successfully");let d0=await Be();r.verbose&&m0.info("[Verbose] Capacitor config loaded successfully");let v0=await PU();r.verbose&&(m0.info("[Verbose] Remote file config retrieved:"),m0.info(` - Max upload length: ${Math.floor(v0.maxUploadLength/1024/1024)} MB`),m0.info(` - Alert upload size: ${Math.floor(v0.alertUploadSize/1024/1024)} MB`),m0.info(` - TUS upload: ${v0.TUSUpload?"enabled":"disabled"}`),m0.info(` - TUS upload forced: ${v0.TUSUploadForced?"yes":"no"}`),m0.info(` - Partial upload: ${v0.partialUpload?"enabled":"disabled"}`),m0.info(` - Max chunk size: ${Math.floor(v0.maxChunkSize/1024/1024)} MB`));let{appid:F0,path:O0}=Ub0(i,r,d0.config);r.verbose&&m0.info(`[Verbose] App ID: ${F0}, Build path: ${O0}`);let B0=await Lb0(d0.config,r);r.verbose&&m0.info(`[Verbose] Bundle version: ${B0}`);let j0=r.external?"external":"r2-direct",k0="none";r.autoSetBundle&&(await Hu({version:B0}),r.verbose&&m0.info("[Verbose] Auto-set bundle version in capacitor.config.json")),qb0(r,O0),r.verbose&&m0.info("[Verbose] Code check passed (notifyAppReady found and index.html present)"),m0.info(`Upload ${F0}@${B0} started from path "${O0}" to Capgo cloud`);let Y0=await Mr();r.verbose&&m0.info(`[Verbose] Local config loaded: host=${Y0.hostWeb}`),r.supaHost&&r.supaAnon&&(m0.info("Using custom supabase instance from provided options"),Y0.supaHost=r.supaHost,Y0.supaKey=r.supaAnon,r.verbose&&m0.info(`[Verbose] Custom Supabase host: ${r.supaHost}`));let z0=await Me(l0,r.supaHost,r.supaAnon);r.verbose&&m0.info("[Verbose] Supabase client created successfully");let sx=await je(z0,l0,["write","all","upload"]);r.verbose&&m0.info(`[Verbose] User verified successfully, user_id: ${sx}`);let Q0=r.channel||await Yb0(F0,z0,Y0.hostWeb)||"dev";r.verbose&&m0.info(`[Verbose] Target channel: ${Q0}`);let mx=await Ur(z0,F0);r.verbose&&m0.info(`[Verbose] Organization ID: ${mx}`),await LU(z0,mx,Kr.version),r.verbose&&m0.info("[Verbose] Remote CLI messages checked"),await UU(z0,mx,l0,F0,!0),r.verbose&&m0.info("[Verbose] Plan validation passed"),await jb0(z0,mx,Y0),r.verbose&&m0.info("[Verbose] Trial check completed"),r.verbose&&m0.info(`[Verbose] Checking compatibility with channel ${Q0}...`);let{nativePackages:K0,minUpdateVersion:wx}=await Hb0(z0,o,r,Q0,F0,B0);r.verbose&&(m0.info("[Verbose] Compatibility check completed:"),m0.info(` - Native packages: ${K0?K0.length:0}`),m0.info(` - Min update version: ${wx||"none"}`)),r.verbose&&m0.info(`[Verbose] Checking if version ${B0} already exists...`);let $0=await Vb0(z0,F0,B0,r.versionExistsOk);if(r.verbose&&m0.info(`[Verbose] Version exists check: ${$0?"yes (skipping)":"no (continuing)"}`),$0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:B0,checksum:null,encryptionMethod:k0,storageProvider:j0};r.external&&!r.external.startsWith("https://")&&t6(`External link should should start with "https://" current is "${r.external}"`),r.deleteLinkedBundleOnUpload&&(m0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),m0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let Mx={name:B0,app_id:F0,session_key:void 0,external_url:r.external,storage_provider:j0,min_update_version:wx,native_packages:K0,owner_org:mx,user_id:sx,checksum:void 0,link:r.link||null,comment:r.comment||null},jx=null,te="";if(r.external)r.verbose&&m0.info(`[Verbose] Using external URL: ${r.external}`),await n6(l0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:mx,tags:{"app-id":F0},notify:!1}),Mx.session_key=r.ivSessionKey,Mx.checksum=r.encryptedChecksum,r.verbose&&(m0.info("[Verbose] External bundle configured:"),m0.info(` - URL: ${r.external}`),m0.info(` - IV Session Key: ${r.ivSessionKey?"provided":"none"}`),m0.info(` - Encrypted Checksum: ${r.encryptedChecksum?"provided":"none"}`));else{r.verbose&&m0.info(`[Verbose] Preparing bundle file from path: ${O0}`);let{zipped:tx,ivSessionKey:Fx,checksum:yx,sessionKey:xe,encryptionMethod:Sx,finalKeyData:Vx}=await Gb0(O0,r,l0,mx,F0,v0.maxUploadLength,v0.alertUploadSize);Mx.session_key=Fx,Mx.checksum=yx,n=xe,jx=tx,k0=Sx,te=Vx,r.verbose&&(m0.info("[Verbose] Bundle prepared:"),m0.info(` - Size: ${Math.floor((tx?.byteLength??0)/1024)} KB`),m0.info(` - Checksum: ${yx}`),m0.info(` - Encryption: ${Sx}`),m0.info(` - IV Session Key: ${Fx?"present":"none"}`)),r.ignoreChecksumCheck||(r.verbose&&m0.info("[Verbose] Checking for duplicate checksum..."),await KU(z0,F0,Q0,yx),r.verbose&&m0.info("[Verbose] Checksum is unique"))}if(r.zip?(r.tus=!1,r.verbose&&m0.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")):!v0.TUSUpload||r.external?(r.tus=!1,r.verbose&&m0.info("[Verbose] Upload method: Standard (TUS not available or external URL)")):(r.tus=r.tus||v0.TUSUploadForced,r.verbose&&m0.info(`[Verbose] Upload method: ${r.tus?"TUS (resumable)":"Standard"}`)),!v0.partialUpload||r.external?(r.delta=!1,r.verbose&&r.external&&m0.info("[Verbose] Delta updates disabled (not available with external URLs)")):(r.delta=r.delta||r.partial||r.deltaOnly||r.partialOnly||v0.partialUploadForced,r.verbose&&m0.info(`[Verbose] Delta updates: ${r.delta?"enabled":"disabled"}`)),r.encryptPartial&&k0==="v1"&&t6("You cannot encrypt the partial update if you are not using the v2 encryption method"),r.delta&&k0==="v2"&&!r.encryptPartial){let tx=(0,By.join)(Dt((0,Ny.cwd)()),yt),yx=(await it(void 0,r.packageJson||tx)).get("@capgo/capacitor-updater"),xe=(0,Ly.default)(yx);yx&&xe&&(0,My.default)(xe.version,"6.14.4")&&(m0.info(`Auto-enabling partial update encryption for updater version ${xe.version} (> 6.14.4)`),r.verbose&&m0.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4"),r.encryptPartial=!0)}r.verbose&&r.delta&&m0.info("[Verbose] Preparing delta/partial update manifest...");let A0=r.delta?await mQ(O0,l0,mx,F0,r.encryptPartial?k0:"none",te):[];r.verbose&&r.delta&&m0.info(`[Verbose] Delta manifest prepared with ${A0.length} files`),r.verbose&&m0.info("[Verbose] Creating version record in database...");let{error:N0}=await jm(z0,Mx);if(N0&&t6(`Cannot add bundle ${Zx(N0)}`),r.verbose&&m0.info("[Verbose] Version record created successfully"),r.tusChunkSize&&r.tusChunkSize>v0.maxChunkSize?(m0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${v0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=v0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=v0.maxChunkSize),r.verbose&&m0.info(`[Verbose] TUS chunk size: ${Math.floor(r.tusChunkSize/1024/1024)} MB`),jx&&(i0||t0||e||s||_||r0||c0)){(!i0||!t0||!e||!s||!_||!r0)&&t6("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),m0.info("Uploading to S3"),r.verbose&&(m0.info("[Verbose] S3 configuration:"),m0.info(` - Endpoint: ${t0}`),m0.info(` - Region: ${e}`),m0.info(` - Bucket: ${i0}`),m0.info(` - Port: ${r0}`),m0.info(` - SSL: ${c0?"enabled":"disabled"}`));let tx=c0?`https://${t0}`:`http://${t0}`,Fx=new pf({endPoint:t0,region:e,port:r0,pathStyle:!0,bucket:i0,accessKey:s,secretKey:_}),yx=`${F0}-${B0}`,xe=encodeURIComponent(yx);r.verbose&&m0.info(`[Verbose] Uploading to S3 as: ${yx}`),await Fx.putObject(yx,Uint8Array.from(jx)),Mx.external_url=`${tx}/${xe}`,Mx.storage_provider="external",r.verbose&&m0.info(`[Verbose] S3 upload complete, external URL: ${Mx.external_url}`)}else if(jx){!r.partialOnly&&!r.deltaOnly?(r.verbose&&m0.info("[Verbose] Starting full bundle upload to Capgo Cloud..."),await zb0(l0,z0,F0,B0,mx,jx,r,r.tusChunkSize)):r.verbose&&m0.info("[Verbose] Skipping full bundle upload (delta-only mode)");let tx=null;try{r.dryUpload&&(r.delta=!1,r.verbose&&m0.info("[Verbose] Dry upload mode: skipping delta upload"));let yx=Mx.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:Mx.session_key}:void 0;r.verbose&&r.delta&&(m0.info("[Verbose] Starting delta/partial file upload..."),m0.info(` - Manifest entries: ${A0.length}`),m0.info(` - Encryption: ${yx?"enabled":"disabled"}`)),tx=r.delta?await wQ(l0,A0,O0,F0,B0,mx,yx,r):null,r.verbose&&tx&&m0.info(`[Verbose] Delta upload complete with ${tx.length} files`)}catch(yx){m0.info(`Failed to upload partial files to capgo cloud. Error: ${Zx(yx)}. This is not a critical error, the bundle has been uploaded without the partial files`),r.verbose&&m0.info(`[Verbose] Delta upload error details: ${Zx(yx)}`)}Mx.storage_provider="r2",Mx.manifest=tx,r.verbose&&m0.info("[Verbose] Updating version record with storage provider and manifest...");let{error:Fx}=await jm(z0,Mx);Fx&&t6(`Cannot update bundle ${Zx(Fx)}`),r.verbose&&m0.info("[Verbose] Version record updated successfully")}r.verbose&&m0.info("[Verbose] Checking app permissions...");let L0=await T6(z0,l0,F0,2);r.verbose&&(m0.info("[Verbose] Permissions:"),m0.info(` - Upload: ${b7(L0,2)?"yes":"no"}`),m0.info(` - Write: ${b7(L0,3)?"yes":"no"}`),m0.info(` - Admin: ${b7(L0,4)?"yes":"no"}`)),r.deleteLinkedBundleOnUpload&&b7(L0,3)?(r.verbose&&m0.info(`[Verbose] Deleting linked bundle in channel ${Q0}...`),await Qb0(z0,F0,Q0)):r.deleteLinkedBundleOnUpload&&m0.warn("Cannot delete linked bundle on upload as a upload organization member"),b7(L0,3)?(r.verbose&&m0.info(`[Verbose] Setting bundle ${B0} to channel ${Q0}...`),await Wb0(z0,l0,!!r.bundleUrl,B0,Q0,sx,mx,F0,Y0,r.selfAssign),r.verbose&&m0.info("[Verbose] Channel updated successfully")):m0.warn("Cannot set channel as a upload organization member"),r.verbose&&m0.info("[Verbose] Sending upload event..."),await n6(l0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:mx,tags:{"app-id":F0},notify:!1});let H0={success:!0,bundle:B0,checksum:Mx.checksum??null,encryptionMethod:k0,sessionKey:n?n.toString("base64"):void 0,ivSessionKey:typeof Mx.session_key=="string"?Mx.session_key:void 0,storageProvider:Mx.storage_provider};return r.verbose&&(m0.info("[Verbose] Upload completed successfully:"),m0.info(` - Bundle: ${H0.bundle}`),m0.info(` - Checksum: ${H0.checksum}`),m0.info(` - Encryption: ${H0.encryptionMethod}`),m0.info(` - Storage: ${H0.storageProvider}`)),a&&!H0.skipped&&ye("Time to share your update to the world \u{1F30D}"),H0}function Kb0(i){i.ivSessionKey&&!i.external&&t6("You need to provide an external url if you want to use the --iv-session-key option"),i.encryptedChecksum&&!i.external&&t6("You need to provide an external url if you want to use the --encrypted-checksum option"),(i.partial||i.delta||i.partialOnly||i.deltaOnly)&&i.external&&t6("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url"),i.tus&&i.external&&t6("You cannot use the --tus option with an external url"),i.dryUpload&&i.external&&t6("You cannot use the --dry-upload option with an external url"),i.multipart&&i.external&&t6("You cannot use the --multipart option with an external url"),i.external&&(i.keyV2||i.keyDataV2)&&t6("You cannot set a key if you are uploading to an external url"),i.keyV2&&i.keyDataV2&&t6("You cannot set both key-v2 and key-data-v2"),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&t6("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),i.encryptedChecksum&&!i.external&&t6("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),i.minUpdateVersion&&i.autoMinUpdateVersion&&t6("You cannot set both min-update-version and auto-min-update-version, use only one of them")}async function DQ(i,r){try{Kb0(r),await Uy(i,r,!0)}catch(a){throw m0.error(`uploadBundle failded: ${Zx(a)}`),a instanceof Error?a:new Error(String(a))}}var vQ=require("node:crypto"),N5=require("node:fs"),EQ=require("node:path"),AQ=require("node:process");var CQ=Re(Ic()),SQ=Re(_u()),kQ=Re(Is());var Xb0=20;function Jb0(i){console.log(JSON.stringify(i,null,2))}function Ef(i){console.error(Zx(i))}async function Zb0(i,r,a=!1){let{json:n}=r,{bundle:o,path:e}=r,s=!n&&!a;try{s&&await x6();let _=await Be(),i0=$e(i,_?.config),t0=(0,vQ.randomUUID)().split("-")[0],r0=si("",r.packageJson);if(o=o||r0||`0.0.1-beta.${t0}`,s&&ke(`Zipping ${i0}@${o}`),o&&!p7.test(o)){let Q0=`Your bundle name ${o}, is not valid it should follow semver convention : https://semver.org/`;throw a||(n?Ef({error:"invalid_semver"}):m0.error(Q0)),new Error("Invalid bundle version format")}if(e=e||_?.config?.webDir,!i0||!o||!e){let Q0="Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project";throw a||(n?Ef({error:"missing_argument"}):m0.error(Q0)),new Error(Q0)}if(s&&m0.info(`Started from path "${e}"`),typeof r.codeCheck>"u"?!0:r.codeCheck){if(!bf(e,"notifyAppReady"))throw a||(n?Ef({error:"notifyAppReady_not_in_source_code"}):m0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready")),new Error("notifyAppReady() is missing in build folder");if(!D5(e))throw a||(n?Ef({error:"index_html_not_found"}):m0.error(`index.html is missing in the root folder of ${e}`)),new Error("index.html is missing in root folder")}let l0=await T4(e);s&&m0.info(`Zipped ${l0.byteLength} bytes`);let d0=s?u6():null;d0&&d0.start("Calculating checksum");let v0=(0,EQ.join)(Dt((0,AQ.cwd)()),yt),O0=(await it(void 0,r.packageJson||v0)).get("@capgo/capacitor-updater");if(!O0){let Q0="Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work";throw a||m0.warn(Q0),new Error(Q0)}let B0=!1,j0=(0,SQ.default)(O0);j0?B0=(0,kQ.default)(j0.version,"7.0.0"):O0==="link:@capgo/capacitor-updater"&&(a||m0.warn("Using local @capgo/capacitor-updater. Assuming v7"),B0=!0);let k0=await(0,CQ.checksum)(l0,r.keyV2||(0,N5.existsSync)(wr)||B0?"sha256":"crc32");d0&&d0.stop(`Checksum: ${k0}`);let Y0=Math.floor(l0.byteLength/1024/1024);Y0>Xb0&&s&&(m0.warn(`WARNING !!
339
+ `),r.verbose&&(m0.info("[Verbose] Bundle size details:"),m0.info(` - Actual size: ${z0} MB (${r0?.byteLength} bytes)`),m0.info(` - Alert threshold: ${Math.floor(s/1024/1024)} MB`),m0.info(` - Maximum allowed: ${sx} MB`),m0.info("[Verbose] Sending 'App Too Large' event to analytics...")),await n6(a,{channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":o},notify:!1},r.verbose),r.verbose&&m0.info("[Verbose] Event sent successfully")):r.verbose&&m0.info(`[Verbose] Bundle size OK: ${z0} MB (under ${Math.floor(s/1024/1024)} MB alert threshold)`),r.verbose&&m0.info("[Verbose] Bundle preparation complete, returning bundle data"),{zipped:r0,ivSessionKey:_,sessionKey:i0,checksum:t0,encryptionMethod:c0,finalKeyData:l0}}async function zb0(i,r,a,n,o,e,s,_){let i0=u6();i0.start("Uploading Bundle");let t0=performance.now(),r0=!1;if(s.verbose&&(m0.info("[Verbose] uploadBundleToCapgoCloud called:"),m0.info(` - Bundle size: ${Math.floor(e.byteLength/1024)} KB`),m0.info(` - App ID: ${a}`),m0.info(` - Bundle version: ${n}`),m0.info(` - Chunk size: ${Math.floor(_/1024/1024)} MB`)),s.dryUpload){i0.stop(`Dry run, bundle not uploaded
340
+ Bundle uploaded \u{1F4AA} in 0 seconds`),s.verbose&&m0.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let d0=await Mr();if(s.verbose&&m0.info("[Verbose] Local config retrieved for upload"),s.multipart!==void 0&&s.multipart||s.tus!==void 0&&s.tus){s.multipart?m0.info("Uploading bundle with multipart is deprecated, we upload with TUS instead"):m0.info("Uploading bundle with TUS protocol"),s.verbose&&(m0.info("[Verbose] Starting TUS resumable upload..."),m0.info(` - Host: ${d0.hostWeb}`),m0.info(` - Chunk size: ${Math.floor(_/1024/1024)} MB`)),await zU(i,e,o,a,n,i0,d0,_),r0=!0,s.verbose&&m0.info("[Verbose] TUS upload completed, updating database with R2 path...");let v0=`orgs/${o}/apps/${a}/${n}.zip`,{error:F0}=await r.from("app_versions").update({r2_path:v0}).eq("name",n).eq("app_id",a);if(F0)return m0.error(`Cannot finish TUS upload ${Jx(F0)}`),s.verbose&&m0.info(`[Verbose] Database update failed: ${Jx(F0)}`),Promise.reject(new Error("Cannot finish TUS upload"));s.verbose&&m0.info(`[Verbose] Database updated with R2 path: ${v0}`)}else{s.verbose&&m0.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let v0=await jU(r,a,n);if(!v0)return m0.error("Cannot get upload url"),s.verbose&&m0.info("[Verbose] Failed to retrieve presigned upload URL from database"),Promise.reject(new Error("Cannot get upload url"));s.verbose&&(m0.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),m0.info(` - Timeout: ${s.timeout||Lm}ms`),m0.info(" - Retry attempts: 5"),m0.info(" - Content-Type: application/zip")),await Bn.put(v0,{timeout:s.timeout||Lm,retry:5,body:e,headers:{"Content-Type":"application/zip"}}),s.verbose&&m0.info("[Verbose] HTTP PUT upload completed successfully")}}catch(d0){let F0=((performance.now()-t0)/1e3).toFixed(2);if(i0.stop(`Failed to upload bundle ( after ${F0} seconds)`),s.verbose&&(m0.info(`[Verbose] Upload failed after ${F0} seconds`),m0.info(`[Verbose] Error type: ${d0 instanceof ei?"HTTPError":typeof d0}`)),d0 instanceof ei)try{let O0=await d0.response.text();if(s.verbose&&m0.info(`[Verbose] HTTP error response body: ${O0.substring(0,500)}`),O0.startsWith("<?xml")){let B0=O0.match(/<Message>(.*?)<\/Message>/s),j0=B0?B0[1]:"Unknown S3 error";m0.error(`S3 Upload Error: ${j0}`)}else{let B0=JSON.parse(O0);m0.error(`Response Error: ${B0.error||B0.status||B0.message}`)}}catch{m0.error(`Upload failed with status ${d0.response.status}: ${d0.message}`)}else s.verbose&&m0.info(`[Verbose] Non-HTTP error: ${Jx(d0)}`),s.tus?m0.error(`Cannot upload bundle please contact support if the issue persists ${Jx(d0)}`):m0.error(`Cannot upload bundle ( try again with --tus option) ${Jx(d0)}`);throw s.verbose&&m0.info("[Verbose] Cleaning up failed version from database..."),await QU(r,a,n),s.verbose&&m0.info("[Verbose] Failed version cleaned up"),d0 instanceof Error?d0:new Error(String(d0))}let l0=((performance.now()-t0)/1e3).toFixed(2);i0.stop(`Bundle uploaded \u{1F4AA} in (${l0} seconds)`),s.verbose&&(m0.info("[Verbose] Upload successful:"),m0.info(` - Upload time: ${l0} seconds`),m0.info(` - Upload method: ${r0?"TUS (resumable)":"Standard HTTP PUT"}`),m0.info(` - Bundle size: ${Math.floor(e.byteLength/1024)} KB`),m0.info("[Verbose] Sending performance event...")),await n6(i,{channel:"performance",event:r0?"TUS upload zip performance":"Upload zip performance",icon:"\u{1F684}",user_id:o,tags:{"app-id":a,time:l0},notify:!1},s.verbose),s.verbose&&m0.info("[Verbose] Performance event sent successfully")}async function Qb0(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){m0.error(`Cannot delete linked bundle on upload ${Jx(o)}`);return}if(n.length===0){m0.warn("No linked bundle found in the channel you are trying to upload to");return}let e=n[0].version;if(e.deleted){m0.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){m0.error(`Cannot delete linked bundle on upload ${Jx(s)}`);return}m0.info("Linked bundle deleted")}async function Wb0(i,r,a,n,o,e,s,_,i0,t0){let{data:r0}=await i.rpc("get_app_versions",{apikey:r,name_version:n,appid:_}).single();r0||t6("Cannot get version id, cannot set channel");let{data:c0}=await i.rpc("is_allowed_capgkey",{apikey:r,keymode:["write","all"]}).single();if(c0){let{error:l0,data:d0}=await R4(i,{name:o,app_id:_,created_by:e,version:r0,owner_org:s,...t0?{allow_device_self_set:!0}:{}});l0&&t6(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${Jx(l0)}`);let v0=`${i0.hostWeb}/app/p/${_}/channel/${d0.id}`;d0?.public?m0.info("Your update is now available in your public channel \u{1F389}"):d0?.id&&m0.info(`Link device to this bundle to try it: ${v0}`),a&&m0.info(`Bundle url: ${v0}`)}else m0.warn("The upload key is not allowed to set the version in the channel")}async function Yb0(i,r,a){let{error:n,data:o}=await r.from("apps").select("default_upload_channel").eq("app_id",i).single();return n?(m0.warn("Cannot find default upload channel"),m0.info(`You can set it here: ${a}/app/p/${i}/settings`),null):o.default_upload_channel}async function Uy(i,r,a=!0){a&&ke(`Uploading with CLI version ${Kr.version}`);let n,o=ht();await x6();let{s3Region:e,s3Apikey:s,s3Apisecret:_,s3BucketName:i0,s3Endpoint:t0,s3Port:r0,s3SSL:c0}=r;r.verbose&&(m0.info("[Verbose] Starting upload process with options:"),m0.info(` - API key: ${r.apikey?"provided":"from saved key"}`),m0.info(` - Path: ${r.path||"from capacitor config"}`),m0.info(` - Channel: ${r.channel||"from default upload channel"}`),m0.info(` - Bundle: ${r.bundle||"auto-detected"}`),m0.info(` - External: ${r.external||"false"}`),m0.info(` - Encryption: ${r.keyV2||r.keyDataV2?"v2":r.key===!1?"disabled":"auto"}`),m0.info(` - Upload method: ${r.tus?"TUS":r.zip?"ZIP":"auto"}`),m0.info(` - Delta updates: ${r.delta||r.partial?"enabled":"disabled"}`));let l0=Mb0(r);r.verbose&&m0.info("[Verbose] API key retrieved successfully");let d0=await Be();r.verbose&&m0.info("[Verbose] Capacitor config loaded successfully");let v0=await PU();r.verbose&&(m0.info("[Verbose] Remote file config retrieved:"),m0.info(` - Max upload length: ${Math.floor(v0.maxUploadLength/1024/1024)} MB`),m0.info(` - Alert upload size: ${Math.floor(v0.alertUploadSize/1024/1024)} MB`),m0.info(` - TUS upload: ${v0.TUSUpload?"enabled":"disabled"}`),m0.info(` - TUS upload forced: ${v0.TUSUploadForced?"yes":"no"}`),m0.info(` - Partial upload: ${v0.partialUpload?"enabled":"disabled"}`),m0.info(` - Max chunk size: ${Math.floor(v0.maxChunkSize/1024/1024)} MB`));let{appid:F0,path:O0}=Ub0(i,r,d0.config);r.verbose&&m0.info(`[Verbose] App ID: ${F0}, Build path: ${O0}`);let B0=await Lb0(d0.config,r);r.verbose&&m0.info(`[Verbose] Bundle version: ${B0}`);let j0=r.external?"external":"r2-direct",k0="none";r.autoSetBundle&&(await Hu({version:B0}),r.verbose&&m0.info("[Verbose] Auto-set bundle version in capacitor.config.json")),qb0(r,O0),r.verbose&&m0.info("[Verbose] Code check passed (notifyAppReady found and index.html present)"),m0.info(`Upload ${F0}@${B0} started from path "${O0}" to Capgo cloud`);let Y0=await Mr();r.verbose&&m0.info(`[Verbose] Local config loaded: host=${Y0.hostWeb}`),r.supaHost&&r.supaAnon&&(m0.info("Using custom supabase instance from provided options"),Y0.supaHost=r.supaHost,Y0.supaKey=r.supaAnon,r.verbose&&m0.info(`[Verbose] Custom Supabase host: ${r.supaHost}`));let z0=await Me(l0,r.supaHost,r.supaAnon);r.verbose&&m0.info("[Verbose] Supabase client created successfully");let sx=await je(z0,l0,["write","all","upload"]);r.verbose&&m0.info(`[Verbose] User verified successfully, user_id: ${sx}`);let Q0=r.channel||await Yb0(F0,z0,Y0.hostWeb)||"dev";r.verbose&&m0.info(`[Verbose] Target channel: ${Q0}`);let mx=await Ur(z0,F0);r.verbose&&m0.info(`[Verbose] Organization ID: ${mx}`),await LU(z0,mx,Kr.version),r.verbose&&m0.info("[Verbose] Remote CLI messages checked"),await UU(z0,mx,l0,F0,!0),r.verbose&&m0.info("[Verbose] Plan validation passed"),await jb0(z0,mx,Y0),r.verbose&&m0.info("[Verbose] Trial check completed"),r.verbose&&m0.info(`[Verbose] Checking compatibility with channel ${Q0}...`);let{nativePackages:K0,minUpdateVersion:wx}=await Hb0(z0,o,r,Q0,F0,B0);r.verbose&&(m0.info("[Verbose] Compatibility check completed:"),m0.info(` - Native packages: ${K0?K0.length:0}`),m0.info(` - Min update version: ${wx||"none"}`)),r.verbose&&m0.info(`[Verbose] Checking if version ${B0} already exists...`);let $0=await Vb0(z0,F0,B0,r.versionExistsOk);if(r.verbose&&m0.info(`[Verbose] Version exists check: ${$0?"yes (skipping)":"no (continuing)"}`),$0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:B0,checksum:null,encryptionMethod:k0,storageProvider:j0};r.external&&!r.external.startsWith("https://")&&t6(`External link should should start with "https://" current is "${r.external}"`),r.deleteLinkedBundleOnUpload&&(m0.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),m0.warn("Please make sure you want to do this, if you are not sure, please do not use this option."));let Mx={name:B0,app_id:F0,session_key:void 0,external_url:r.external,storage_provider:j0,min_update_version:wx,native_packages:K0,owner_org:mx,user_id:sx,checksum:void 0,link:r.link||null,comment:r.comment||null},jx=null,te="";if(r.external)r.verbose&&m0.info(`[Verbose] Using external URL: ${r.external}`),await n6(l0,{channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:mx,tags:{"app-id":F0},notify:!1},r.verbose),Mx.session_key=r.ivSessionKey,Mx.checksum=r.encryptedChecksum,r.verbose&&(m0.info("[Verbose] External bundle configured:"),m0.info(` - URL: ${r.external}`),m0.info(` - IV Session Key: ${r.ivSessionKey?"provided":"none"}`),m0.info(` - Encrypted Checksum: ${r.encryptedChecksum?"provided":"none"}`));else{r.verbose&&m0.info(`[Verbose] Preparing bundle file from path: ${O0}`);let{zipped:tx,ivSessionKey:Fx,checksum:yx,sessionKey:xe,encryptionMethod:Sx,finalKeyData:Vx}=await Gb0(O0,r,l0,mx,F0,v0.maxUploadLength,v0.alertUploadSize);Mx.session_key=Fx,Mx.checksum=yx,n=xe,jx=tx,k0=Sx,te=Vx,r.verbose&&(m0.info("[Verbose] Bundle prepared:"),m0.info(` - Size: ${Math.floor((tx?.byteLength??0)/1024)} KB`),m0.info(` - Checksum: ${yx}`),m0.info(` - Encryption: ${Sx}`),m0.info(` - IV Session Key: ${Fx?"present":"none"}`)),r.ignoreChecksumCheck||(r.verbose&&m0.info("[Verbose] Checking for duplicate checksum..."),await KU(z0,F0,Q0,yx),r.verbose&&m0.info("[Verbose] Checksum is unique"))}if(r.zip?(r.tus=!1,r.verbose&&m0.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")):!v0.TUSUpload||r.external?(r.tus=!1,r.verbose&&m0.info("[Verbose] Upload method: Standard (TUS not available or external URL)")):(r.tus=r.tus||v0.TUSUploadForced,r.verbose&&m0.info(`[Verbose] Upload method: ${r.tus?"TUS (resumable)":"Standard"}`)),!v0.partialUpload||r.external?(r.delta=!1,r.verbose&&r.external&&m0.info("[Verbose] Delta updates disabled (not available with external URLs)")):(r.delta=r.delta||r.partial||r.deltaOnly||r.partialOnly||v0.partialUploadForced,r.verbose&&m0.info(`[Verbose] Delta updates: ${r.delta?"enabled":"disabled"}`)),r.encryptPartial&&k0==="v1"&&t6("You cannot encrypt the partial update if you are not using the v2 encryption method"),r.delta&&k0==="v2"&&!r.encryptPartial){let tx=(0,By.join)(Dt((0,Ny.cwd)()),yt),yx=(await it(void 0,r.packageJson||tx)).get("@capgo/capacitor-updater"),xe=(0,Ly.default)(yx);yx&&xe&&(0,My.default)(xe.version,"6.14.4")&&(m0.info(`Auto-enabling partial update encryption for updater version ${xe.version} (> 6.14.4)`),r.verbose&&m0.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4"),r.encryptPartial=!0)}r.verbose&&r.delta&&m0.info("[Verbose] Preparing delta/partial update manifest...");let A0=r.delta?await mQ(O0,l0,mx,F0,r.encryptPartial?k0:"none",te):[];r.verbose&&r.delta&&m0.info(`[Verbose] Delta manifest prepared with ${A0.length} files`),r.verbose&&m0.info("[Verbose] Creating version record in database...");let{error:N0}=await jm(z0,Mx);if(N0&&t6(`Cannot add bundle ${Jx(N0)}`),r.verbose&&m0.info("[Verbose] Version record created successfully"),r.tusChunkSize&&r.tusChunkSize>v0.maxChunkSize?(m0.error(`Chunk size ${r.tusChunkSize} is greater than the maximum chunk size ${v0.maxChunkSize}, using the maximum chunk size`),r.tusChunkSize=v0.maxChunkSize):r.tusChunkSize||(r.tusChunkSize=v0.maxChunkSize),r.verbose&&m0.info(`[Verbose] TUS chunk size: ${Math.floor(r.tusChunkSize/1024/1024)} MB`),jx&&(i0||t0||e||s||_||r0||c0)){(!i0||!t0||!e||!s||!_||!r0)&&t6("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),m0.info("Uploading to S3"),r.verbose&&(m0.info("[Verbose] S3 configuration:"),m0.info(` - Endpoint: ${t0}`),m0.info(` - Region: ${e}`),m0.info(` - Bucket: ${i0}`),m0.info(` - Port: ${r0}`),m0.info(` - SSL: ${c0?"enabled":"disabled"}`));let tx=c0?`https://${t0}`:`http://${t0}`,Fx=new pf({endPoint:t0,region:e,port:r0,pathStyle:!0,bucket:i0,accessKey:s,secretKey:_}),yx=`${F0}-${B0}`,xe=encodeURIComponent(yx);r.verbose&&m0.info(`[Verbose] Uploading to S3 as: ${yx}`),await Fx.putObject(yx,Uint8Array.from(jx)),Mx.external_url=`${tx}/${xe}`,Mx.storage_provider="external",r.verbose&&m0.info(`[Verbose] S3 upload complete, external URL: ${Mx.external_url}`)}else if(jx){!r.partialOnly&&!r.deltaOnly?(r.verbose&&m0.info("[Verbose] Starting full bundle upload to Capgo Cloud..."),await zb0(l0,z0,F0,B0,mx,jx,r,r.tusChunkSize)):r.verbose&&m0.info("[Verbose] Skipping full bundle upload (delta-only mode)");let tx=null;try{r.dryUpload&&(r.delta=!1,r.verbose&&m0.info("[Verbose] Dry upload mode: skipping delta upload"));let yx=Mx.session_key&&r.encryptPartial&&n?{sessionKey:n,ivSessionKey:Mx.session_key}:void 0;r.verbose&&r.delta&&(m0.info("[Verbose] Starting delta/partial file upload..."),m0.info(` - Manifest entries: ${A0.length}`),m0.info(` - Encryption: ${yx?"enabled":"disabled"}`)),tx=r.delta?await wQ(l0,A0,O0,F0,B0,mx,yx,r):null,r.verbose&&tx&&m0.info(`[Verbose] Delta upload complete with ${tx.length} files`)}catch(yx){m0.info(`Failed to upload partial files to capgo cloud. Error: ${Jx(yx)}. This is not a critical error, the bundle has been uploaded without the partial files`),r.verbose&&m0.info(`[Verbose] Delta upload error details: ${Jx(yx)}`)}Mx.storage_provider="r2",Mx.manifest=tx,r.verbose&&m0.info("[Verbose] Updating version record with storage provider and manifest...");let{error:Fx}=await jm(z0,Mx);Fx&&t6(`Cannot update bundle ${Jx(Fx)}`),r.verbose&&m0.info("[Verbose] Version record updated successfully")}r.verbose&&m0.info("[Verbose] Checking app permissions...");let L0=await T6(z0,l0,F0,2);r.verbose&&(m0.info("[Verbose] Permissions:"),m0.info(` - Upload: ${b7(L0,2)?"yes":"no"}`),m0.info(` - Write: ${b7(L0,3)?"yes":"no"}`),m0.info(` - Admin: ${b7(L0,4)?"yes":"no"}`)),r.deleteLinkedBundleOnUpload&&b7(L0,3)?(r.verbose&&m0.info(`[Verbose] Deleting linked bundle in channel ${Q0}...`),await Qb0(z0,F0,Q0)):r.deleteLinkedBundleOnUpload&&m0.warn("Cannot delete linked bundle on upload as a upload organization member"),b7(L0,3)?(r.verbose&&m0.info(`[Verbose] Setting bundle ${B0} to channel ${Q0}...`),await Wb0(z0,l0,!!r.bundleUrl,B0,Q0,sx,mx,F0,Y0,r.selfAssign),r.verbose&&m0.info("[Verbose] Channel updated successfully")):m0.warn("Cannot set channel as a upload organization member"),r.verbose&&m0.info("[Verbose] Sending upload event..."),await n6(l0,{channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:mx,tags:{"app-id":F0},notify:!1},r.verbose);let H0={success:!0,bundle:B0,checksum:Mx.checksum??null,encryptionMethod:k0,sessionKey:n?n.toString("base64"):void 0,ivSessionKey:typeof Mx.session_key=="string"?Mx.session_key:void 0,storageProvider:Mx.storage_provider};return r.verbose&&(m0.info("[Verbose] Upload completed successfully:"),m0.info(` - Bundle: ${H0.bundle}`),m0.info(` - Checksum: ${H0.checksum}`),m0.info(` - Encryption: ${H0.encryptionMethod}`),m0.info(` - Storage: ${H0.storageProvider}`)),a&&!H0.skipped&&ye("Time to share your update to the world \u{1F30D}"),H0}function Kb0(i){i.ivSessionKey&&!i.external&&t6("You need to provide an external url if you want to use the --iv-session-key option"),i.encryptedChecksum&&!i.external&&t6("You need to provide an external url if you want to use the --encrypted-checksum option"),(i.partial||i.delta||i.partialOnly||i.deltaOnly)&&i.external&&t6("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url"),i.tus&&i.external&&t6("You cannot use the --tus option with an external url"),i.dryUpload&&i.external&&t6("You cannot use the --dry-upload option with an external url"),i.multipart&&i.external&&t6("You cannot use the --multipart option with an external url"),i.external&&(i.keyV2||i.keyDataV2)&&t6("You cannot set a key if you are uploading to an external url"),i.keyV2&&i.keyDataV2&&t6("You cannot set both key-v2 and key-data-v2"),i.external&&(i.s3Region||i.s3Apikey||i.s3Apisecret||i.s3Endpoint||i.s3BucketName||i.s3Port||i.s3SSL)&&t6("You cannot set S3 options if you are uploading to an external url, it's automatically handled"),i.encryptedChecksum&&!i.external&&t6("You cannot set the --encrypted-checksum option if you are not uploading to an external url"),i.minUpdateVersion&&i.autoMinUpdateVersion&&t6("You cannot set both min-update-version and auto-min-update-version, use only one of them")}async function DQ(i,r){try{Kb0(r),await Uy(i,r,!0)}catch(a){throw m0.error(`uploadBundle failded: ${Jx(a)}`),a instanceof Error?a:new Error(String(a))}}var vQ=require("node:crypto"),N5=require("node:fs"),EQ=require("node:path"),AQ=require("node:process");var CQ=Re(Ic()),SQ=Re(_u()),kQ=Re(Is());var Xb0=20;function Jb0(i){console.log(JSON.stringify(i,null,2))}function Ef(i){console.error(Jx(i))}async function Zb0(i,r,a=!1){let{json:n}=r,{bundle:o,path:e}=r,s=!n&&!a;try{s&&await x6();let _=await Be(),i0=$e(i,_?.config),t0=(0,vQ.randomUUID)().split("-")[0],r0=si("",r.packageJson);if(o=o||r0||`0.0.1-beta.${t0}`,s&&ke(`Zipping ${i0}@${o}`),o&&!p7.test(o)){let Q0=`Your bundle name ${o}, is not valid it should follow semver convention : https://semver.org/`;throw a||(n?Ef({error:"invalid_semver"}):m0.error(Q0)),new Error("Invalid bundle version format")}if(e=e||_?.config?.webDir,!i0||!o||!e){let Q0="Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project";throw a||(n?Ef({error:"missing_argument"}):m0.error(Q0)),new Error(Q0)}if(s&&m0.info(`Started from path "${e}"`),typeof r.codeCheck>"u"?!0:r.codeCheck){if(!bf(e,"notifyAppReady"))throw a||(n?Ef({error:"notifyAppReady_not_in_source_code"}):m0.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready")),new Error("notifyAppReady() is missing in build folder");if(!D5(e))throw a||(n?Ef({error:"index_html_not_found"}):m0.error(`index.html is missing in the root folder of ${e}`)),new Error("index.html is missing in root folder")}let l0=await T4(e);s&&m0.info(`Zipped ${l0.byteLength} bytes`);let d0=s?u6():null;d0&&d0.start("Calculating checksum");let v0=(0,EQ.join)(Dt((0,AQ.cwd)()),yt),O0=(await it(void 0,r.packageJson||v0)).get("@capgo/capacitor-updater");if(!O0){let Q0="Cannot find @capgo/capacitor-updater in ./package.json, provide the package.json path with --package-json it's required for v7 CLI to work";throw a||m0.warn(Q0),new Error(Q0)}let B0=!1,j0=(0,SQ.default)(O0);j0?B0=(0,kQ.default)(j0.version,"7.0.0"):O0==="link:@capgo/capacitor-updater"&&(a||m0.warn("Using local @capgo/capacitor-updater. Assuming v7"),B0=!0);let k0=await(0,CQ.checksum)(l0,r.keyV2||(0,N5.existsSync)(wr)||B0?"sha256":"crc32");d0&&d0.stop(`Checksum: ${k0}`);let Y0=Math.floor(l0.byteLength/1024/1024);Y0>Xb0&&s&&(m0.warn(`WARNING !!
341
341
  The bundle size is ${Y0} Mb, this may take a while to download for users
342
342
  `),m0.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
343
- `));let z0=s?u6():null,sx=r.name||`${i0}_${o}.zip`;return z0&&z0.start(`Saving to ${sx}`),(0,N5.writeFileSync)(sx,l0),z0&&z0.stop(`Saved to ${sx}`),s&&ye("Done \u2705"),!a&&n&&Jb0({bundle:o,filename:sx,checksum:k0}),{bundle:o,filename:sx,checksum:k0}}catch(_){throw a||(n?Ef(_):m0.error(Zx(_))),_ instanceof Error?_:new Error(String(_))}}async function OQ(i,r){await Zb0(i,r,!1)}async function qy(i,r,a,n=!1){n||ke("Create channel"),a.apikey=a.apikey||ze();let o=await Be().catch(()=>{});if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let e=await Me(a.apikey,a.supaHost,a.supaAnon);await je(e,a.apikey,["write","all"]),await T6(e,a.apikey,r,4,n),n||m0.info(`Creating channel ${r}#${i} to Capgo`);let s=await zw(e,r);if(!s)throw n||m0.error("Cannot find default version for channel creation, please contact Capgo support \u{1F928}"),new Error("Cannot find default version for channel creation");let _=await Ur(e,r),i0=await je(e,a.apikey,["write","all"]),t0=await QV(e,{name:i,app_id:r,version:s.id,created_by:i0,owner_org:_,allow_device_self_set:a.selfAssign??!1,public:a.default??!1});if(t0.error)throw n||m0.error(`Cannot create Channel \u{1F640}
344
- ${Zx(t0.error)}`),new Error(`Cannot create channel: ${Zx(t0.error)}`);return await n6(a.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:_,tags:{"app-id":r,channel:i},notify:!1}).catch(()=>{}),n||(m0.success("Channel created \u2705"),ye("Done \u2705")),t0.data??!0}async function FQ(i,r,a){await qy(i,r,a,!1)}async function IQ(i,r,a,n=!1){let{quiet:o}=a;!o&&!n&&ke("List current bundle"),a.apikey=a.apikey||ze(o);let e=await Be();if(r=$e(r,e?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let s=await Me(a.apikey,a.supaHost,a.supaAnon);if(await je(s,a.apikey,["write","all","read"]),await T6(s,a.apikey,r,1,n),!i)throw n||m0.error("Please provide a channel to get the bundle from."),new Error("Channel name missing");let{data:_,error:i0}=await s.from("channels").select("version ( name )").eq("name",i).eq("app_id",r).limit(1);if(i0||!_?.length)throw n||m0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exist?`),new Error(`Channel ${i} not found for app ${r}`);let{version:t0}=_[0];if(!t0)throw n||m0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exist?`),new Error(`Channel ${i} does not have a bundle linked`);return n||(o?m0.info(t0.name):m0.info(`Current bundle for channel ${i} is ${t0.name}`)),t0.name}async function TQ(i,r,a,n=!1){n||ke("Delete channel"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let e=await Me(a.apikey,a.supaHost,a.supaAnon),s=await je(e,a.apikey,["all"]);if(await T6(e,a.apikey,r,4,n),a.deleteBundle&&!n&&m0.info(`Deleting bundle ${r}#${i} from Capgo`),a.deleteBundle){let l0=await XV(e,r,i);l0?.name&&!n&&m0.info(`Deleting bundle ${l0.name} from Capgo`),l0?.name&&await Qw(e,r,l0.name)}let{data:_,error:i0}=await YV(e,r,i);if(i0||!_){if(n||m0.error(`Channel ${i} not found`),a.successIfNotFound)return n||m0.success(`Channel ${i} not found and successIfNotFound is true`),!0;throw new Error(`Channel ${i} not found`)}let{error:t0}=await KV(e,r,_.id);if(t0)throw n||m0.error(`Cannot delete channel devices: ${Zx(t0)}`),new Error(`Cannot delete channel devices: ${Zx(t0)}`);n||m0.info(`Deleting channel ${r}#${i} from Capgo`);let r0=await WV(e,i,r,s);if(r0.error)throw n||m0.error(`Cannot delete Channel \u{1F640} ${Zx(r0.error)}`),new Error(`Cannot delete channel: ${Zx(r0.error)}`);let c0=await Ur(e,r);return await n6(a.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:c0,tags:{"app-id":r,channel:i},notify:!1}).catch(()=>{}),n||(m0.success("Channel deleted"),ye("Done \u2705")),!0}async function RQ(i,r,a=!1){a||ke("List channels"),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon),e=await je(o,r.apikey,["write","all","read","upload"]);await T6(o,r.apikey,i,1,a),a||m0.info("Querying available channels in Capgo");let s=await ZV(o,i);return a||(m0.info(`Active channels in Capgo: ${s?.length??0}`),JV(s)),await n6(r.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:e,tags:{"app-id":i},notify:!1}).catch(()=>{}),a||ye("Done \u2705"),s}var PQ=["major","minor","metadata","patch","none"];async function _Q(i,r,a,n=!1){n||ke("Set channel"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!i)throw n||m0.error("Missing argument, you need to provide a channel"),new Error("Missing channel id");let e=await Me(a.apikey,a.supaHost,a.supaAnon),s=await je(e,a.apikey,["write","all"]);await T6(e,a.apikey,r,4,n);let _=await Ur(e,r),{bundle:i0,state:t0,downgrade:r0,latest:c0,latestRemote:l0,ios:d0,android:v0,selfAssign:F0,disableAutoUpdate:O0,dev:B0,emulator:j0}=a;if(c0&&i0)throw n||m0.error("Cannot set latest and bundle at the same time"),new Error("Cannot set both latest and bundle simultaneously");if(l0&&i0)throw n||m0.error("Cannot set latest remote and bundle at the same time"),new Error("Cannot set both latest remote and bundle simultaneously");if(l0&&c0)throw n||m0.error("Cannot set latest remote and latest at the same time"),new Error("Cannot set both latest remote and latest simultaneously");if(i0==null&&t0==null&&c0==null&&l0==null&&r0==null&&d0==null&&v0==null&&F0==null&&B0==null&&j0==null&&O0==null)throw n||m0.error("Missing argument, you need to provide a option to set"),new Error("No channel option provided");await MU(e,_,a.apikey,r);let k0={created_by:s,app_id:r,name:i,owner_org:_,version:void 0},{error:Y0}=await e.from("channels").select().eq("app_id",r).eq("name",i).single();if(Y0)throw n||m0.error(`Cannot find channel ${i}`),new Error(`Cannot find channel ${i}`);let z0=c0?o?.config?.plugins?.CapacitorUpdater?.version||si("",a.packageJson):i0;if(z0!=null){let{data:Q0,error:mx}=await e.from("app_versions").select().eq("app_id",r).eq("name",z0).eq("user_id",s).eq("deleted",!1).single();if(mx||!Q0)throw n||m0.error(`Cannot find version ${z0}`),new Error(`Cannot find version ${z0}`);if(!a.ignoreMetadataCheck){let{finalCompatibility:K0,localDependencies:wx}=await Gm(e,r,i,Q0.native_packages??[]),$0=ht();if(wx.length>0&&K0.some(Mx=>!uo(Mx)))throw n||(m0.warn(`Bundle NOT compatible with ${i} channel`),m0.warn(`You can check compatibility with "${$0.runner} @capgo/cli bundle compatibility"`)),new Error(`Bundle is not compatible with ${i} channel`);n||(wx.length===0&&K0.length>0?m0.info(`Ignoring check compatibility with ${i} channel because the bundle does not contain any native packages`):m0.info(`Bundle is compatible with ${i} channel`))}n||m0.info(`Set ${r} channel: ${i} to @${z0}`),k0.version=Q0.id}if(l0){let{data:Q0,error:mx}=await e.from("app_versions").select().eq("app_id",r).eq("user_id",s).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(mx||!Q0)throw n||m0.error("Cannot find latest remote version"),new Error("Cannot find latest remote version");if(!a.ignoreMetadataCheck){let{finalCompatibility:K0}=await Gm(e,r,i,Q0.native_packages??[]),wx=ht();if(K0.some($0=>!uo($0)))throw n||(m0.warn(`Bundle NOT compatible with ${i} channel`),m0.warn(`You can check compatibility with "${wx.runner} @capgo/cli bundle compatibility"`)),new Error(`Latest remote bundle is not compatible with ${i} channel`)}n||m0.info(`Set ${r} channel: ${i} to @${Q0.name}`),k0.version=Q0.id}if(t0!=null){if(t0!=="normal"&&t0!=="default")throw n||m0.error(`State ${t0} is not known. The possible values are: normal, default.`),new Error(`Unknown state ${t0}. Expected normal or default`);n||m0.info(`Set ${r} channel: ${i} to ${t0}`),k0.public=t0==="default"}if(r0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${r0?"allow":"disallow"} downgrade`),k0.disable_auto_update_under_native=!r0),d0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${d0?"allow":"disallow"} ios update`),k0.ios=!!d0),v0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${v0?"allow":"disallow"} android update`),k0.android=!!v0),F0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${F0?"allow":"disallow"} self assign to this channel`),k0.allow_device_self_set=!!F0),B0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${B0?"allow":"disallow"} dev devices`),k0.allow_dev=!!B0),j0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${j0?"allow":"disallow"} emulator devices`),k0.allow_emulator=!!j0),O0!=null){let Q0=O0.toLowerCase();if(!PQ.includes(Q0))throw n||m0.error(`Channel strategy ${Q0} is not known. The possible values are: ${PQ.join(", ")}.`),new Error(`Unknown channel strategy ${Q0}`);Q0==="metadata"&&(Q0="version_number"),k0.disable_auto_update=Q0,n||m0.info(`Set ${r} channel: ${i} to ${Q0} disable update strategy to this channel`)}let{error:sx}=await R4(e,k0);if(sx)throw n||m0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),new Error("Upload key is not allowed to set this channel");return await n6(a.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:_,tags:{"app-id":r},notify:!1}).catch(()=>{}),n||ye("Done \u2705"),!0}var qi=require("node:fs");function Hy(i){let r="\u{1F539}";return i.includes("upload")?r="\u2B06\uFE0F":i.includes("delete")?r="\u{1F5D1}\uFE0F":i.includes("list")?r="\u{1F4CB}":i.includes("add")?r="\u2795":i.includes("set")?r="\u2699\uFE0F":i.includes("create")?r="\u{1F528}":i.includes("encrypt")?r="\u{1F512}":i.includes("decrypt")?r="\u{1F513}":i.includes("debug")?r="\u{1F41E}":i.includes("doctor")?r="\u{1F468}\u200D\u2695\uFE0F":i.includes("login")?r="\u{1F511}":i.includes("init")?r="\u{1F680}":i.includes("compatibility")?r="\u{1F9EA}":i.includes("cleanup")?r="\u{1F9F9}":i.includes("currentBundle")?r="\u{1F4E6}":i.includes("setting")?r="\u2699\uFE0F":i==="app"?r="\u{1F4F1}":i==="bundle"?r="\u{1F4E6}":i==="channel"?r="\u{1F4E2}":i==="key"?r="\u{1F510}":i==="account"&&(r="\u{1F464}"),r}function BQ(i="./README.md",r){let a=kt.commands.map(o=>{let e=o,s=e._actionHandler!==null&&e._actionHandler!==void 0,i0=o.commands&&o.commands.length>0&&!s;return{name:o.name(),alias:o.alias()||"",description:o.description(),options:o.options.map(t0=>({flags:t0.flags,description:t0.description||""})),subcommands:o.commands?o.commands.map(t0=>{let r0=t0,c0=r0._actionHandler!==null&&r0._actionHandler!==void 0;return{name:t0.name(),alias:t0.alias()||"",description:t0.description(),options:t0.options.map(l0=>({flags:l0.flags,description:l0.description||""})),subcommands:[],hasAction:c0,isCommandGroup:!1}}):[],hasAction:s,isCommandGroup:i0}}),n=(o,e=!1,s,_=!1)=>{let i0=o.name,t0=i0.charAt(0).toUpperCase()+i0.slice(1),r0;e?r0=s?`${s}-${i0}`:i0:r0=_?"options":i0;let c0=e?"###":"##",l0="",d0=Hy(i0);_&&!e||(l0+=`${c0} <a id="${r0}"></a> ${d0} **${t0}**
343
+ `));let z0=s?u6():null,sx=r.name||`${i0}_${o}.zip`;return z0&&z0.start(`Saving to ${sx}`),(0,N5.writeFileSync)(sx,l0),z0&&z0.stop(`Saved to ${sx}`),s&&ye("Done \u2705"),!a&&n&&Jb0({bundle:o,filename:sx,checksum:k0}),{bundle:o,filename:sx,checksum:k0}}catch(_){throw a||(n?Ef(_):m0.error(Jx(_))),_ instanceof Error?_:new Error(String(_))}}async function OQ(i,r){await Zb0(i,r,!1)}async function qy(i,r,a,n=!1){n||ke("Create channel"),a.apikey=a.apikey||ze();let o=await Be().catch(()=>{});if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let e=await Me(a.apikey,a.supaHost,a.supaAnon);await je(e,a.apikey,["write","all"]),await T6(e,a.apikey,r,4,n),n||m0.info(`Creating channel ${r}#${i} to Capgo`);let s=await zw(e,r);if(!s)throw n||m0.error("Cannot find default version for channel creation, please contact Capgo support \u{1F928}"),new Error("Cannot find default version for channel creation");let _=await Ur(e,r),i0=await je(e,a.apikey,["write","all"]),t0=await QV(e,{name:i,app_id:r,version:s.id,created_by:i0,owner_org:_,allow_device_self_set:a.selfAssign??!1,public:a.default??!1});if(t0.error)throw n||m0.error(`Cannot create Channel \u{1F640}
344
+ ${Jx(t0.error)}`),new Error(`Cannot create channel: ${Jx(t0.error)}`);return await n6(a.apikey,{channel:"channel",event:"Create channel",icon:"\u2705",user_id:_,tags:{"app-id":r,channel:i},notify:!1}).catch(()=>{}),n||(m0.success("Channel created \u2705"),ye("Done \u2705")),t0.data??!0}async function FQ(i,r,a){await qy(i,r,a,!1)}async function IQ(i,r,a,n=!1){let{quiet:o}=a;!o&&!n&&ke("List current bundle"),a.apikey=a.apikey||ze(o);let e=await Be();if(r=$e(r,e?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let s=await Me(a.apikey,a.supaHost,a.supaAnon);if(await je(s,a.apikey,["write","all","read"]),await T6(s,a.apikey,r,1,n),!i)throw n||m0.error("Please provide a channel to get the bundle from."),new Error("Channel name missing");let{data:_,error:i0}=await s.from("channels").select("version ( name )").eq("name",i).eq("app_id",r).limit(1);if(i0||!_?.length)throw n||m0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exist?`),new Error(`Channel ${i} not found for app ${r}`);let{version:t0}=_[0];if(!t0)throw n||m0.error(`Error retrieving channel ${i} for app ${r}. Perhaps the channel does not exist?`),new Error(`Channel ${i} does not have a bundle linked`);return n||(o?m0.info(t0.name):m0.info(`Current bundle for channel ${i} is ${t0.name}`)),t0.name}async function TQ(i,r,a,n=!1){n||ke("Delete channel"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let e=await Me(a.apikey,a.supaHost,a.supaAnon),s=await je(e,a.apikey,["all"]);if(await T6(e,a.apikey,r,4,n),a.deleteBundle&&!n&&m0.info(`Deleting bundle ${r}#${i} from Capgo`),a.deleteBundle){let l0=await XV(e,r,i);l0?.name&&!n&&m0.info(`Deleting bundle ${l0.name} from Capgo`),l0?.name&&await Qw(e,r,l0.name)}let{data:_,error:i0}=await YV(e,r,i);if(i0||!_){if(n||m0.error(`Channel ${i} not found`),a.successIfNotFound)return n||m0.success(`Channel ${i} not found and successIfNotFound is true`),!0;throw new Error(`Channel ${i} not found`)}let{error:t0}=await KV(e,r,_.id);if(t0)throw n||m0.error(`Cannot delete channel devices: ${Jx(t0)}`),new Error(`Cannot delete channel devices: ${Jx(t0)}`);n||m0.info(`Deleting channel ${r}#${i} from Capgo`);let r0=await WV(e,i,r,s);if(r0.error)throw n||m0.error(`Cannot delete Channel \u{1F640} ${Jx(r0.error)}`),new Error(`Cannot delete channel: ${Jx(r0.error)}`);let c0=await Ur(e,r);return await n6(a.apikey,{channel:"channel",event:"Delete channel",icon:"\u2705",user_id:c0,tags:{"app-id":r,channel:i},notify:!1}).catch(()=>{}),n||(m0.success("Channel deleted"),ye("Done \u2705")),!0}async function RQ(i,r,a=!1){a||ke("List channels"),r.apikey=r.apikey||ze();let n=await Be();if(i=$e(i,n?.config),!r.apikey)throw a||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");let o=await Me(r.apikey,r.supaHost,r.supaAnon),e=await je(o,r.apikey,["write","all","read","upload"]);await T6(o,r.apikey,i,1,a),a||m0.info("Querying available channels in Capgo");let s=await ZV(o,i);return a||(m0.info(`Active channels in Capgo: ${s?.length??0}`),JV(s)),await n6(r.apikey,{channel:"channel",event:"List channel",icon:"\u2705",user_id:e,tags:{"app-id":i},notify:!1}).catch(()=>{}),a||ye("Done \u2705"),s}var PQ=["major","minor","metadata","patch","none"];async function _Q(i,r,a,n=!1){n||ke("Set channel"),a.apikey=a.apikey||ze();let o=await Be();if(r=$e(r,o?.config),!a.apikey)throw n||m0.error("Missing API key, you need to provide an API key to upload your bundle"),new Error("Missing API key");if(!r)throw n||m0.error("Missing argument, you need to provide a appId, or be in a capacitor project"),new Error("Missing appId");if(!i)throw n||m0.error("Missing argument, you need to provide a channel"),new Error("Missing channel id");let e=await Me(a.apikey,a.supaHost,a.supaAnon),s=await je(e,a.apikey,["write","all"]);await T6(e,a.apikey,r,4,n);let _=await Ur(e,r),{bundle:i0,state:t0,downgrade:r0,latest:c0,latestRemote:l0,ios:d0,android:v0,selfAssign:F0,disableAutoUpdate:O0,dev:B0,emulator:j0}=a;if(c0&&i0)throw n||m0.error("Cannot set latest and bundle at the same time"),new Error("Cannot set both latest and bundle simultaneously");if(l0&&i0)throw n||m0.error("Cannot set latest remote and bundle at the same time"),new Error("Cannot set both latest remote and bundle simultaneously");if(l0&&c0)throw n||m0.error("Cannot set latest remote and latest at the same time"),new Error("Cannot set both latest remote and latest simultaneously");if(i0==null&&t0==null&&c0==null&&l0==null&&r0==null&&d0==null&&v0==null&&F0==null&&B0==null&&j0==null&&O0==null)throw n||m0.error("Missing argument, you need to provide a option to set"),new Error("No channel option provided");await MU(e,_,a.apikey,r);let k0={created_by:s,app_id:r,name:i,owner_org:_,version:void 0},{error:Y0}=await e.from("channels").select().eq("app_id",r).eq("name",i).single();if(Y0)throw n||m0.error(`Cannot find channel ${i}`),new Error(`Cannot find channel ${i}`);let z0=c0?o?.config?.plugins?.CapacitorUpdater?.version||si("",a.packageJson):i0;if(z0!=null){let{data:Q0,error:mx}=await e.from("app_versions").select().eq("app_id",r).eq("name",z0).eq("user_id",s).eq("deleted",!1).single();if(mx||!Q0)throw n||m0.error(`Cannot find version ${z0}`),new Error(`Cannot find version ${z0}`);if(!a.ignoreMetadataCheck){let{finalCompatibility:K0,localDependencies:wx}=await Gm(e,r,i,Q0.native_packages??[]),$0=ht();if(wx.length>0&&K0.some(Mx=>!uo(Mx)))throw n||(m0.warn(`Bundle NOT compatible with ${i} channel`),m0.warn(`You can check compatibility with "${$0.runner} @capgo/cli bundle compatibility"`)),new Error(`Bundle is not compatible with ${i} channel`);n||(wx.length===0&&K0.length>0?m0.info(`Ignoring check compatibility with ${i} channel because the bundle does not contain any native packages`):m0.info(`Bundle is compatible with ${i} channel`))}n||m0.info(`Set ${r} channel: ${i} to @${z0}`),k0.version=Q0.id}if(l0){let{data:Q0,error:mx}=await e.from("app_versions").select().eq("app_id",r).eq("user_id",s).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(mx||!Q0)throw n||m0.error("Cannot find latest remote version"),new Error("Cannot find latest remote version");if(!a.ignoreMetadataCheck){let{finalCompatibility:K0}=await Gm(e,r,i,Q0.native_packages??[]),wx=ht();if(K0.some($0=>!uo($0)))throw n||(m0.warn(`Bundle NOT compatible with ${i} channel`),m0.warn(`You can check compatibility with "${wx.runner} @capgo/cli bundle compatibility"`)),new Error(`Latest remote bundle is not compatible with ${i} channel`)}n||m0.info(`Set ${r} channel: ${i} to @${Q0.name}`),k0.version=Q0.id}if(t0!=null){if(t0!=="normal"&&t0!=="default")throw n||m0.error(`State ${t0} is not known. The possible values are: normal, default.`),new Error(`Unknown state ${t0}. Expected normal or default`);n||m0.info(`Set ${r} channel: ${i} to ${t0}`),k0.public=t0==="default"}if(r0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${r0?"allow":"disallow"} downgrade`),k0.disable_auto_update_under_native=!r0),d0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${d0?"allow":"disallow"} ios update`),k0.ios=!!d0),v0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${v0?"allow":"disallow"} android update`),k0.android=!!v0),F0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${F0?"allow":"disallow"} self assign to this channel`),k0.allow_device_self_set=!!F0),B0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${B0?"allow":"disallow"} dev devices`),k0.allow_dev=!!B0),j0!=null&&(n||m0.info(`Set ${r} channel: ${i} to ${j0?"allow":"disallow"} emulator devices`),k0.allow_emulator=!!j0),O0!=null){let Q0=O0.toLowerCase();if(!PQ.includes(Q0))throw n||m0.error(`Channel strategy ${Q0} is not known. The possible values are: ${PQ.join(", ")}.`),new Error(`Unknown channel strategy ${Q0}`);Q0==="metadata"&&(Q0="version_number"),k0.disable_auto_update=Q0,n||m0.info(`Set ${r} channel: ${i} to ${Q0} disable update strategy to this channel`)}let{error:sx}=await R4(e,k0);if(sx)throw n||m0.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),new Error("Upload key is not allowed to set this channel");return await n6(a.apikey,{channel:"channel",event:"Set channel",icon:"\u2705",user_id:_,tags:{"app-id":r},notify:!1}).catch(()=>{}),n||ye("Done \u2705"),!0}var qi=require("node:fs");function Hy(i){let r="\u{1F539}";return i.includes("upload")?r="\u2B06\uFE0F":i.includes("delete")?r="\u{1F5D1}\uFE0F":i.includes("list")?r="\u{1F4CB}":i.includes("add")?r="\u2795":i.includes("set")?r="\u2699\uFE0F":i.includes("create")?r="\u{1F528}":i.includes("encrypt")?r="\u{1F512}":i.includes("decrypt")?r="\u{1F513}":i.includes("debug")?r="\u{1F41E}":i.includes("doctor")?r="\u{1F468}\u200D\u2695\uFE0F":i.includes("login")?r="\u{1F511}":i.includes("init")?r="\u{1F680}":i.includes("compatibility")?r="\u{1F9EA}":i.includes("cleanup")?r="\u{1F9F9}":i.includes("currentBundle")?r="\u{1F4E6}":i.includes("setting")?r="\u2699\uFE0F":i==="app"?r="\u{1F4F1}":i==="bundle"?r="\u{1F4E6}":i==="channel"?r="\u{1F4E2}":i==="key"?r="\u{1F510}":i==="account"&&(r="\u{1F464}"),r}function BQ(i="./README.md",r){let a=kt.commands.map(o=>{let e=o,s=e._actionHandler!==null&&e._actionHandler!==void 0,i0=o.commands&&o.commands.length>0&&!s;return{name:o.name(),alias:o.alias()||"",description:o.description(),options:o.options.map(t0=>({flags:t0.flags,description:t0.description||""})),subcommands:o.commands?o.commands.map(t0=>{let r0=t0,c0=r0._actionHandler!==null&&r0._actionHandler!==void 0;return{name:t0.name(),alias:t0.alias()||"",description:t0.description(),options:t0.options.map(l0=>({flags:l0.flags,description:l0.description||""})),subcommands:[],hasAction:c0,isCommandGroup:!1}}):[],hasAction:s,isCommandGroup:i0}}),n=(o,e=!1,s,_=!1)=>{let i0=o.name,t0=i0.charAt(0).toUpperCase()+i0.slice(1),r0;e?r0=s?`${s}-${i0}`:i0:r0=_?"options":i0;let c0=e?"###":"##",l0="",d0=Hy(i0);_&&!e||(l0+=`${c0} <a id="${r0}"></a> ${d0} **${t0}**
345
345
 
346
346
  `),o.alias&&(l0+=`**Alias:** \`${o.alias}\`
347
347
 
@@ -426,7 +426,7 @@ body {
426
426
 
427
427
  ${v0}`)),F0!==v0){(0,w6.writeFileSync)(d0,F0,"utf8"),r0.stop(`\u2705 Made test changes to ${d0}`),m0.info("\u{1F4DD} Added visible test modification to verify the update works"),c0=!0;break}}catch{}if(!c0){r0.stop("\u26A0\uFE0F Could not automatically modify files"),m0.warn("Please make a visible change manually (like editing a text or color)");let d0=await o6({message:"Continue after making your changes?"});await lr(d0,i,r)}}else{m0.info("\u270B Please make a visible change to your app now (example: change a text, color, or add an element)"),m0.info("\u{1F4A1} This change will help you see that Capgo updates work correctly");let r0=await o6({message:"Have you made your changes and ready to continue?"});await lr(r0,i,r)}let e=(0,Yy.default)(n,"patch")||"1.0.1",s=await Jr({message:"How do you want to handle the version for this update?",options:[{value:"auto",label:`Auto: Bump patch version (${n} \u2192 ${e})`},{value:"manual",label:"Manual: I'll provide the version number"}]});s6(s)&&(await _i("onboarding-v2",i,r,"canceled","\u{1F937}"),(0,c6.exit)());let _=n;if(s==="auto"){let r0=(0,Yy.default)(n,"patch");r0?(_=r0,m0.info(`\u{1F522} Auto-bumped version from ${n} to ${_}`)):(_="1.0.1",m0.warn(`Could not parse version ${n}, using fallback ${_}`))}else{let r0=await Xr({message:`Current version is ${n}. Enter new version:`,validate:c0=>{if(!c0.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});s6(r0)&&(await _i("onboarding-v2",i,r,"canceled","\u{1F937}"),(0,c6.exit)()),_=r0}let i0=ht(),t0=await o6({message:`Build ${a} with changes before uploading? If you need to build yourself please do it now in other terminal, and then select no`});if(await lr(t0,i,r),t0){let r0=u6();r0.start("Checking project type");let c0=await I4(),l0=await Hm(c0);r0.message(`Running: ${i0.pm} run ${l0} && ${i0.runner} cap sync`),Mm()[l0]||(r0.stop("Error"),m0.warn(`Cannot find ${l0} script in package.json, please add it and run \`capgo init\` again`),ye("Bye \u{1F44B}"),(0,c6.exit)()),(0,X7.execSync)(`${i0.pm} run ${l0} && ${i0.runner} cap sync`,Ky),r0.stop("\u2705 Build with changes completed"),m0.info("\u{1F4E6} Your modifications have been built and synced")}else m0.info(`Build yourself with command: ${i0.pm} run build && ${i0.runner} cap sync`);return await Wr(i,r,"add-code-change",a),_}async function Bg0(i,r,a,n,o){let e=ht(),s=await o6({message:`Upload the updated ${a} bundle (v${n}) to Capgo?`});if(await lr(s,i,r),s){let _=u6(),i0;_.start(`Running: ${e.runner} @capgo/cli@latest bundle upload ${o?"--delta-only":""}`);let t0=TU((0,c6.cwd)());as&&t0&&(m0.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"),m0.warn(`Example: ${e.runner} @capgo/cli@latest bundle upload --package-json ./packages/my-app/package.json --node-modules ./packages/my-app/node_modules ${o?"--delta-only":""}`),i0=(0,ns.join)(Dt((0,c6.cwd)()),"node_modules"),m0.warn(`Guessed node modules path at: ${i0}`),(0,w6.existsSync)(i0)||(m0.error("Node modules path does not exist, upload skipped"),ye("Bye \u{1F44B}"),(0,c6.exit)(1))),(await Uy(a,{channel:Af,apikey:r,packageJson:t0?as:void 0,nodeModules:t0?i0:void 0,deltaOnly:o,bundle:n},!1))?.success?(_.stop(`\u2705 Update v${n} uploaded successfully!`),m0.info("\u{1F389} Your updated bundle is now available on Capgo")):(_.stop("Error"),m0.warn("Upload failed \u274C"),ye("Bye \u{1F44B}"),(0,c6.exit)())}else m0.info(`Upload yourself with command: ${e.runner} @capgo/cli@latest bundle upload`);await Wr(i,r,"upload",a)}async function Ng0(i,r,a,n,o){m0.info("\u{1F9EA} Time to test the Capgo update system!"),m0.info("\u{1F4F1} Go to your device where the app is running"),o?(m0.info("\u{1F504} IMPORTANT: Background your app (swipe up/press home button) and then reopen it"),m0.info("\u23F1\uFE0F The update should be downloaded and applied automatically")):(m0.info("\u{1F4F1} With standard updates, you will need to:"),m0.info(" 1. Background the app (swipe up/press home button) to start download"),m0.info(" 2. Wait a few seconds for download to complete"),m0.info(" 3. Background and foreground again to see the update")),m0.info("\u{1F440} You should see your changes appear in the app!");let e=await o6({message:"Monitor Capgo logs to verify the update worked?"});await lr(e,i,r),e?(m0.info(`\u{1F4CA} Watching logs from ${a}...`),m0.info("\u{1F504} Please background and reopen your app now to trigger the update"),await Nw("onboarding-v2",r,a,r,i)):m0.info(`\u{1F4CA} Check logs manually at ${n}/app/p/${a}/logs to verify the update`),await Wr(i,r,"test-update",a)}async function uW(i,r,a){let n=ht();ke("Capgo onboarding \u{1F6EB}"),await x6();let o=!a.supaAnon||!a.supaHost?await Be():await Hu({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 Mr();r=$e(r,o?.config),a.apikey=i||ze(),r===void 0&&(r=await Xr({message:"Enter your appId:"}),s6(r)&&(ls("Operation cancelled."),(0,c6.exit)(1)));let s=u6();(!aW()||i)&&(s.start(`Running: ${n.runner} @capgo/cli@latest login ***`),await Wy(a.apikey,a,!1),s.stop("Login Done \u2705"));let _=await Me(a.apikey,a.supaHost,a.supaAnon);await je(_,a.apikey,["upload","all","read","write"]);let i0=await m7(_,["admin","super_admin"]),t0=i0.gid,r0=await vg0(t0,a.apikey)??0,c0=si(void 0,as)||"1.0.0",l0=!1,d0=c0;try{if(r0<1&&await Wr(t0,a.apikey,"add-app",r),r0<2&&(await Ag0(i0,a.apikey,r,a),Qr(2)),r0<3&&(await Cg0(t0,a.apikey,r),Qr(3)),r0<4){let v0=await Fg0(t0,a.apikey,r);c0=v0.pkgVersion,d0=c0,l0=v0.delta,Qr(4)}r0<5&&(await Ig0(t0,a.apikey,r),Qr(5)),r0<6&&(await Tg0(t0,a.apikey,r),Qr(6)),r0<7&&(await Rg0(t0,a.apikey,r),Qr(7)),r0<8&&(await Pg0(t0,a.apikey,r),Qr(8)),r0<9&&(d0=await _g0(t0,a.apikey,r,c0),Qr(9)),r0<10&&(await Bg0(t0,a.apikey,r,d0,l0),Qr(10)),r0<11&&(await Ng0(t0,a.apikey,r,e.hostWeb,l0),Qr(11)),await Wr(t0,a.apikey,"done",r),Eg0()}catch(v0){console.error(v0),m0.error(`Error during onboarding.
428
428
  if the error persists please contact support@capgo.app
429
- Or use manual installation: https://capgo.app/docs/getting-started/add-an-app/`),(0,c6.exit)(1)}m0.info("Welcome onboard \u2708\uFE0F!"),m0.info("Your Capgo update system is setup"),m0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),m0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),ye("Bye \u{1F44B}"),(0,c6.exit)()}async function Lg0(i,r=!1){r||ke("Adding organization"),await x6();let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to add an organization"),new Error("Missing API key");let n=await Me(a.apikey,a.supaHost,a.supaAnon),o=await je(n,a.apikey,["write","all"]),{name:e,email:s}=a;if(!r&&!e){let t0=await Xr({message:"Organization name:",placeholder:"My Organization"});if(s6(t0))throw m0.error("Canceled adding organization"),new Error("Organization creation cancelled");e=t0}if(!r&&!s){let t0=await Xr({message:"Management email:",placeholder:"admin@example.com"});if(s6(t0))throw m0.error("Canceled adding organization"),new Error("Organization creation cancelled");s=t0}if(!e||!s)throw r||m0.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");r||m0.info(`Adding organization "${e}" to Capgo`);let{data:_,error:i0}=await n.from("orgs").insert({name:e,management_email:s,created_by:o}).select().single();if(i0)throw r||m0.error(`Could not add organization ${Zx(i0)}`),new Error(`Could not add organization: ${Zx(i0)}`);return await n6(a.apikey,{channel:"organization",event:"Organization Created",icon:"\u{1F3E2}",user_id:_.id,tags:{"org-name":e},notify:!1}).catch(()=>{}),r||(m0.success(`Organization "${e}" added to Capgo`),ye("Done \u2705")),_}async function Xy(i){await Lg0(i,!1)}async function Mg0(i,r,a=!1){a||ke("Deleting organization"),await x6();let n={...r,apikey:r.apikey||ze()};if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete an organization"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let o=await Me(n.apikey,n.supaHost,n.supaAnon),e=await je(o,n.apikey,["write","all"]),{data:s,error:_}=await o.from("orgs").select("created_by, name").eq("id",i).single();if(_||!s)throw a||m0.error(`Cannot get organization details ${Zx(_)}`),new Error(`Cannot get organization details: ${Zx(_)}`);if(s.created_by!==e){if(a)throw new Error("Deleting an organization is restricted to the organization owner");m0.warn("Deleting an organization is restricted to the organization owner"),m0.warn("You are not the owner of this organization"),m0.warn("It's strongly recommended that you do not continue!");let t0=await Jr({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(s6(t0)||t0==="no")throw m0.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}if(!a&&!n.autoConfirm){let t0=await o6({message:`Are you sure you want to delete organization "${s.name}"? This action cannot be undone.`});if(s6(t0)||!t0)throw m0.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}a||m0.info(`Deleting organization "${s.name}"`);let{error:i0}=await o.from("orgs").delete().eq("id",i);if(i0)throw a||m0.error(`Could not delete organization ${Zx(i0)}`),new Error(`Could not delete organization: ${Zx(i0)}`);return await n6(n.apikey,{channel:"organization",event:"Organization Deleted",icon:"\u{1F5D1}\uFE0F",user_id:i,tags:{"org-name":s.name},notify:!1}).catch(()=>{}),a||(m0.success(`Organization "${s.name}" deleted from Capgo`),ye("Done \u2705")),!0}async function Jy(i,r){await Mg0(i,r,!1)}function Ug0(i,r){if(r)return;if(!i.length){m0.error("No organizations found");return}let a=new pt;a.headers=["Name","ID","Role","Apps"],a.rows=[];for(let n of i.toReversed())a.rows.push([n.name??"Unknown",n.gid,n.role,n.app_count?.toString()||"0"]);m0.success("Organizations"),m0.success(a.toString())}async function qg0(i,r=!1){r||ke("List organizations"),await x6();let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to list organizations"),new Error("Missing API key");let n=await Me(a.apikey,a.supaHost,a.supaAnon);await je(n,a.apikey,["read","write","all"]),r||m0.info("Getting organizations from Capgo");let{error:o,data:e}=await n.rpc("get_orgs_v6");if(o)throw r||m0.error(`Cannot get organizations ${Zx(o)}`),new Error(`Cannot get organizations: ${Zx(o)}`);let s=e||[];return r||(m0.info(`Organizations found: ${s.length}`),Ug0(s,r),ye("Done \u2705")),s}async function Zy(i){await qg0(i,!1)}async function Hg0(i,r,a=!1){a||ke("Updating organization"),await x6();let n={...r,apikey:r.apikey||ze()};if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to update an organization"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let o=await Me(n.apikey,n.supaHost,n.supaAnon);await je(o,n.apikey,["write","all"]);let{data:e,error:s}=await o.from("orgs").select("name, management_email, created_by").eq("id",i).single();if(s||!e)throw a||m0.error(`Cannot get organization details ${Zx(s)}`),new Error(`Cannot get organization details: ${Zx(s)}`);let{name:_,email:i0}=n;if(!a&&!_){let r0=await Xr({message:"New organization name:",placeholder:e.name||"My Organization"});if(s6(r0))throw m0.error("Canceled updating organization"),new Error("Organization update cancelled");_=r0}if(!a&&!i0){let r0=await Xr({message:"Management email:",placeholder:e.management_email||"admin@example.com"});if(s6(r0))throw m0.error("Canceled updating organization"),new Error("Organization update cancelled");i0=r0}if(!_||!i0)throw a||m0.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");a||m0.info(`Updating organization "${i}"`);let{error:t0}=await o.from("orgs").update({name:_,management_email:i0}).eq("id",i);if(t0)throw a||m0.error(`Could not update organization ${Zx(t0)}`),new Error(`Could not update organization: ${Zx(t0)}`);return await n6(n.apikey,{channel:"organization",event:"Organization Updated",icon:"\u270F\uFE0F",user_id:i,tags:{"org-name":_},notify:!1}).catch(()=>{}),a||(m0.success("Organization updated"),ye("Done \u2705")),{orgId:i,name:_,email:i0}}async function $y(i,r){await Hg0(i,r,!1)}async function jg0(i,r=!1){r||ke("Getting user id");let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to fetch the user id"),new Error("Missing API key");try{let n=await Me(a.apikey,a.supaHost,a.supaAnon),o=await je(n,a.apikey,["read","all","write"]);return r||ye(`Done \u2705: ${o}`),o}catch(n){throw r||m0.error(`Error getting user id ${Zx(n)}`),n instanceof Error?n:new Error(String(n))}}async function fW(i){await jg0(i,!1)}var he={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output"};kt.name(Kr.name).description("\u{1F4E6} Manage packages and bundle versions in Capgo Cloud").version(Kr.version,"-v, --version","output the current version");kt.command("init [apikey] [appId]").alias("i").description(`\u{1F680} Initialize a new app in Capgo Cloud with step-by-step guidance.
429
+ Or use manual installation: https://capgo.app/docs/getting-started/add-an-app/`),(0,c6.exit)(1)}m0.info("Welcome onboard \u2708\uFE0F!"),m0.info("Your Capgo update system is setup"),m0.info(`Next time use \`${n.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),m0.info(`If you have any issue try to use the debug command \`${n.runner} @capgo/cli@latest app debug\``),ye("Bye \u{1F44B}"),(0,c6.exit)()}async function Lg0(i,r=!1){r||ke("Adding organization"),await x6();let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to add an organization"),new Error("Missing API key");let n=await Me(a.apikey,a.supaHost,a.supaAnon),o=await je(n,a.apikey,["write","all"]),{name:e,email:s}=a;if(!r&&!e){let t0=await Xr({message:"Organization name:",placeholder:"My Organization"});if(s6(t0))throw m0.error("Canceled adding organization"),new Error("Organization creation cancelled");e=t0}if(!r&&!s){let t0=await Xr({message:"Management email:",placeholder:"admin@example.com"});if(s6(t0))throw m0.error("Canceled adding organization"),new Error("Organization creation cancelled");s=t0}if(!e||!s)throw r||m0.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");r||m0.info(`Adding organization "${e}" to Capgo`);let{data:_,error:i0}=await n.from("orgs").insert({name:e,management_email:s,created_by:o}).select().single();if(i0)throw r||m0.error(`Could not add organization ${Jx(i0)}`),new Error(`Could not add organization: ${Jx(i0)}`);return await n6(a.apikey,{channel:"organization",event:"Organization Created",icon:"\u{1F3E2}",user_id:_.id,tags:{"org-name":e},notify:!1}).catch(()=>{}),r||(m0.success(`Organization "${e}" added to Capgo`),ye("Done \u2705")),_}async function Xy(i){await Lg0(i,!1)}async function Mg0(i,r,a=!1){a||ke("Deleting organization"),await x6();let n={...r,apikey:r.apikey||ze()};if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to delete an organization"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let o=await Me(n.apikey,n.supaHost,n.supaAnon),e=await je(o,n.apikey,["write","all"]),{data:s,error:_}=await o.from("orgs").select("created_by, name").eq("id",i).single();if(_||!s)throw a||m0.error(`Cannot get organization details ${Jx(_)}`),new Error(`Cannot get organization details: ${Jx(_)}`);if(s.created_by!==e){if(a)throw new Error("Deleting an organization is restricted to the organization owner");m0.warn("Deleting an organization is restricted to the organization owner"),m0.warn("You are not the owner of this organization"),m0.warn("It's strongly recommended that you do not continue!");let t0=await Jr({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(s6(t0)||t0==="no")throw m0.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}if(!a&&!n.autoConfirm){let t0=await o6({message:`Are you sure you want to delete organization "${s.name}"? This action cannot be undone.`});if(s6(t0)||!t0)throw m0.error("Canceled deleting the organization"),new Error("Organization deletion cancelled")}a||m0.info(`Deleting organization "${s.name}"`);let{error:i0}=await o.from("orgs").delete().eq("id",i);if(i0)throw a||m0.error(`Could not delete organization ${Jx(i0)}`),new Error(`Could not delete organization: ${Jx(i0)}`);return await n6(n.apikey,{channel:"organization",event:"Organization Deleted",icon:"\u{1F5D1}\uFE0F",user_id:i,tags:{"org-name":s.name},notify:!1}).catch(()=>{}),a||(m0.success(`Organization "${s.name}" deleted from Capgo`),ye("Done \u2705")),!0}async function Jy(i,r){await Mg0(i,r,!1)}function Ug0(i,r){if(r)return;if(!i.length){m0.error("No organizations found");return}let a=new pt;a.headers=["Name","ID","Role","Apps"],a.rows=[];for(let n of i.toReversed())a.rows.push([n.name??"Unknown",n.gid,n.role,n.app_count?.toString()||"0"]);m0.success("Organizations"),m0.success(a.toString())}async function qg0(i,r=!1){r||ke("List organizations"),await x6();let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to list organizations"),new Error("Missing API key");let n=await Me(a.apikey,a.supaHost,a.supaAnon);await je(n,a.apikey,["read","write","all"]),r||m0.info("Getting organizations from Capgo");let{error:o,data:e}=await n.rpc("get_orgs_v6");if(o)throw r||m0.error(`Cannot get organizations ${Jx(o)}`),new Error(`Cannot get organizations: ${Jx(o)}`);let s=e||[];return r||(m0.info(`Organizations found: ${s.length}`),Ug0(s,r),ye("Done \u2705")),s}async function Zy(i){await qg0(i,!1)}async function Hg0(i,r,a=!1){a||ke("Updating organization"),await x6();let n={...r,apikey:r.apikey||ze()};if(!n.apikey)throw a||m0.error("Missing API key, you need to provide an API key to update an organization"),new Error("Missing API key");if(!i)throw a||m0.error("Missing argument, you need to provide an organization ID"),new Error("Missing organization id");let o=await Me(n.apikey,n.supaHost,n.supaAnon);await je(o,n.apikey,["write","all"]);let{data:e,error:s}=await o.from("orgs").select("name, management_email, created_by").eq("id",i).single();if(s||!e)throw a||m0.error(`Cannot get organization details ${Jx(s)}`),new Error(`Cannot get organization details: ${Jx(s)}`);let{name:_,email:i0}=n;if(!a&&!_){let r0=await Xr({message:"New organization name:",placeholder:e.name||"My Organization"});if(s6(r0))throw m0.error("Canceled updating organization"),new Error("Organization update cancelled");_=r0}if(!a&&!i0){let r0=await Xr({message:"Management email:",placeholder:e.management_email||"admin@example.com"});if(s6(r0))throw m0.error("Canceled updating organization"),new Error("Organization update cancelled");i0=r0}if(!_||!i0)throw a||m0.error("Missing arguments, you need to provide an organization name and management email"),new Error("Missing organization name or management email");a||m0.info(`Updating organization "${i}"`);let{error:t0}=await o.from("orgs").update({name:_,management_email:i0}).eq("id",i);if(t0)throw a||m0.error(`Could not update organization ${Jx(t0)}`),new Error(`Could not update organization: ${Jx(t0)}`);return await n6(n.apikey,{channel:"organization",event:"Organization Updated",icon:"\u270F\uFE0F",user_id:i,tags:{"org-name":_},notify:!1}).catch(()=>{}),a||(m0.success("Organization updated"),ye("Done \u2705")),{orgId:i,name:_,email:i0}}async function $y(i,r){await Hg0(i,r,!1)}async function jg0(i,r=!1){r||ke("Getting user id");let a={...i,apikey:i.apikey||ze()};if(!a.apikey)throw r||m0.error("Missing API key, you need to provide an API key to fetch the user id"),new Error("Missing API key");try{let n=await Me(a.apikey,a.supaHost,a.supaAnon),o=await je(n,a.apikey,["read","all","write"]);return r||ye(`Done \u2705: ${o}`),o}catch(n){throw r||m0.error(`Error getting user id ${Jx(n)}`),n instanceof Error?n:new Error(String(n))}}async function fW(i){await jg0(i,!1)}var he={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output"};kt.name(Kr.name).description("\u{1F4E6} Manage packages and bundle versions in Capgo Cloud").version(Kr.version,"-v, --version","output the current version");kt.command("init [apikey] [appId]").alias("i").description(`\u{1F680} Initialize a new app in Capgo Cloud with step-by-step guidance.
430
430
 
431
431
  This includes adding code for updates, building, uploading your app, and verifying update functionality.
432
432
 
@@ -523,7 +523,7 @@ Example: npx @capgo/cli@latest organisation set ORG_ID --name "Updated Company N
523
523
 
524
524
  Only organization owners can delete organizations.
525
525
 
526
- Example: npx @capgo/cli@latest organisation delete ORG_ID`).action(Jy).option("-a, --apikey <apikey>",he.apikey).option("--supa-host <supaHost>",he.supaHost).option("--supa-anon <supaAnon>",he.supaAnon);kt.command("generate-docs [filePath]").description("Generate Markdown documentation for CLI commands - either for README or individual files").option("--folder <folderPath>","Generate individual markdown files for each command in the specified folder (instead of updating README)").action((i,r)=>{BQ(i,r.folder)});kt.exitOverride();kt.parseAsync().catch(i=>{if(typeof i=="object"&&i!==null&&"exitCode"in i){console.error(`Error: ${Zx(i)}`);let r=i.exitCode;typeof r=="number"&&(0,xD.exit)(r)}(0,xD.exit)(1)});
526
+ Example: npx @capgo/cli@latest organisation delete ORG_ID`).action(Jy).option("-a, --apikey <apikey>",he.apikey).option("--supa-host <supaHost>",he.supaHost).option("--supa-anon <supaAnon>",he.supaAnon);kt.command("generate-docs [filePath]").description("Generate Markdown documentation for CLI commands - either for README or individual files").option("--folder <folderPath>","Generate individual markdown files for each command in the specified folder (instead of updating README)").action((i,r)=>{BQ(i,r.folder)});kt.exitOverride();kt.parseAsync().catch(i=>{if(typeof i=="object"&&i!==null&&"exitCode"in i){console.error(`Error: ${Jx(i)}`);let r=i.exitCode;typeof r=="number"&&(0,xD.exit)(r)}(0,xD.exit)(1)});
527
527
  /*! Bundled license information:
528
528
 
529
529
  safe-buffer/index.js: