const local_atob="undefined"==typeof atob?f=>Buffer.from(f,"base64").toString("binary"):atob,local_btoa="undefined"==typeof btoa?f=>Buffer.from(f,"binary").toString("base64"):btoa;function string_to_bytes(f,t=!1){for(var e=f.length,r=new Uint8Array(t?4*e:e),s=0,i=0;s=e)throw new Error("Malformed string, low surrogate expected at position "+s);n=(55296^n)<<10|65536|56320^f.charCodeAt(s)}else if(!t&&n>>>8)throw new Error("Wide characters are not allowed.");!t||n<=127?r[i++]=n:n<=2047?(r[i++]=192|n>>6,r[i++]=128|63&n):n<=65535?(r[i++]=224|n>>12,r[i++]=128|n>>6&63,r[i++]=128|63&n):(r[i++]=240|n>>18,r[i++]=128|n>>12&63,r[i++]=128|n>>6&63,r[i++]=128|63&n)}return r.subarray(0,i)}function hex_to_bytes(f){var t=f.length;1&t&&(f="0"+f,t++);for(var e=new Uint8Array(t>>1),r=0;r>1]=parseInt(f.substr(r,2),16);return e}function base64_to_bytes(f){return string_to_bytes(local_atob(f))}function bytes_to_string(f,t=!1){for(var e=f.length,r=new Array(e),s=0,i=0;s=192&&n<224&&s+1=224&&n<240&&s+2=240&&n<248&&s+3>10,r[i++]=56320|1023&a)}}var h="",x=16384;for(s=0;sf+t.length,0),e=new Uint8Array(t);let r=0;for(let t=0;t>>7),r^=e;return r^=99,r}e||r(),n=[],a=[],h=[[],[],[],[]],x=[[],[],[],[]];for(var t=0;t<256;t++){var o=f(t);n[t]=o,a[o]=t,h[0][t]=s(2,o)<<24|o<<16|o<<8|s(3,o),x[0][o]=s(14,t)<<24|s(9,t)<<16|s(13,t)<<8|s(11,t);for(var l=1;l<4;l++)h[l][t]=h[l-1][t]>>>8|h[l-1][t]<<24,x[l][o]=x[l-1][o]>>>8|x[l-1][o]<<24}c=!0}var l=function(f,t){c||o();var e=new Uint32Array(t);e.set(n,512),e.set(a,768);for(var r=0;r<4;r++)e.set(h[r],4096+1024*r>>2),e.set(x[r],8192+1024*r>>2);function s(f,t,r,s,i,a,h,c,o){var u=e.subarray(0,60),_=e.subarray(256,316);u.set([t,r,s,i,a,h,c,o]);for(var g=f,b=1;g<4*f+28;g++){var m=u[g-1];(g%f==0||8===f&&g%f==4)&&(m=n[m>>>24]<<24^n[m>>>16&255]<<16^n[m>>>8&255]<<8^n[255&m]),g%f==0&&(m=m<<8^m>>>24^b<<24,b=b<<1^(128&b?27:0)),u[g]=u[g-f]^m}for(var A=0;A=g-4?m:x[0][n[m>>>24]]^x[1][n[m>>>16&255]]^x[2][n[m>>>8&255]]^x[3][n[255&m]]}l.set_rounds(f+5)}var i={Uint8Array:Uint8Array,Uint32Array:Uint32Array},l=function(f,t,e){"use asm";var r=0,s=0,i=0,n=0,a=0,h=0,x=0,c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0;var S=new f.Uint32Array(e),C=new f.Uint8Array(e);function v(f,t,e,a,h,x,c,o){f=f|0;t=t|0;e=e|0;a=a|0;h=h|0;x=x|0;c=c|0;o=o|0;var l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0;l=e|0x400,u=e|0x800,_=e|0xc00;h=h^S[(f|0)>>2],x=x^S[(f|4)>>2],c=c^S[(f|8)>>2],o=o^S[(f|12)>>2];for(d=16;(d|0)<=a<<4;d=d+16|0){g=S[(e|h>>22&1020)>>2]^S[(l|x>>14&1020)>>2]^S[(u|c>>6&1020)>>2]^S[(_|o<<2&1020)>>2]^S[(f|d|0)>>2],b=S[(e|x>>22&1020)>>2]^S[(l|c>>14&1020)>>2]^S[(u|o>>6&1020)>>2]^S[(_|h<<2&1020)>>2]^S[(f|d|4)>>2],m=S[(e|c>>22&1020)>>2]^S[(l|o>>14&1020)>>2]^S[(u|h>>6&1020)>>2]^S[(_|x<<2&1020)>>2]^S[(f|d|8)>>2],A=S[(e|o>>22&1020)>>2]^S[(l|h>>14&1020)>>2]^S[(u|x>>6&1020)>>2]^S[(_|c<<2&1020)>>2]^S[(f|d|12)>>2];h=g,x=b,c=m,o=A}r=S[(t|h>>22&1020)>>2]<<24^S[(t|x>>14&1020)>>2]<<16^S[(t|c>>6&1020)>>2]<<8^S[(t|o<<2&1020)>>2]^S[(f|d|0)>>2],s=S[(t|x>>22&1020)>>2]<<24^S[(t|c>>14&1020)>>2]<<16^S[(t|o>>6&1020)>>2]<<8^S[(t|h<<2&1020)>>2]^S[(f|d|4)>>2],i=S[(t|c>>22&1020)>>2]<<24^S[(t|o>>14&1020)>>2]<<16^S[(t|h>>6&1020)>>2]<<8^S[(t|x<<2&1020)>>2]^S[(f|d|8)>>2],n=S[(t|o>>22&1020)>>2]<<24^S[(t|h>>14&1020)>>2]<<16^S[(t|x>>6&1020)>>2]<<8^S[(t|c<<2&1020)>>2]^S[(f|d|12)>>2]}function M(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;v(0x0000,0x0800,0x1000,w,f,t,e,r)}function U(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var i=0;v(0x0400,0x0c00,0x2000,w,f,r,e,t);i=s,s=n,n=i}function B(f,t,e,o){f=f|0;t=t|0;e=e|0;o=o|0;v(0x0000,0x0800,0x1000,w,a^f,h^t,x^e,c^o);a=r,h=s,x=i,c=n}function H(f,t,e,o){f=f|0;t=t|0;e=e|0;o=o|0;var l=0;v(0x0400,0x0c00,0x2000,w,f,o,e,t);l=s,s=n,n=l;r=r^a,s=s^h,i=i^x,n=n^c;a=f,h=t,x=e,c=o}function L(f,t,e,o){f=f|0;t=t|0;e=e|0;o=o|0;v(0x0000,0x0800,0x1000,w,a,h,x,c);a=r=r^f,h=s=s^t,x=i=i^e,c=n=n^o}function k(f,t,e,o){f=f|0;t=t|0;e=e|0;o=o|0;v(0x0000,0x0800,0x1000,w,a,h,x,c);r=r^f,s=s^t,i=i^e,n=n^o;a=f,h=t,x=e,c=o}function N(f,t,e,o){f=f|0;t=t|0;e=e|0;o=o|0;v(0x0000,0x0800,0x1000,w,a,h,x,c);a=r,h=s,x=i,c=n;r=r^f,s=s^t,i=i^e,n=n^o}function R(f,t,e,a){f=f|0;t=t|0;e=e|0;a=a|0;v(0x0000,0x0800,0x1000,w,o,l,u,_);_=~A&_|A&_+1;u=~m&u|m&u+((_|0)==0);l=~b&l|b&l+((u|0)==0);o=~g&o|g&o+((l|0)==0);r=r^f;s=s^t;i=i^e;n=n^a}function I(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var s=0,i=0,n=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0;f=f^a,t=t^h,e=e^x,r=r^c;s=d|0,i=y|0,n=p|0,o=E|0;for(;(b|0)<128;b=b+1|0){if(s>>>31){l=l^f,u=u^t,_=_^e,g=g^r}s=s<<1|i>>>31,i=i<<1|n>>>31,n=n<<1|o>>>31,o=o<<1;m=r&1;r=r>>>1|e<<31,e=e>>>1|t<<31,t=t>>>1|f<<31,f=f>>>1;if(m)f=f^0xe1000000}a=l,h=u,x=_,c=g}function D(f){f=f|0;w=f}function T(f,t,e,a){f=f|0;t=t|0;e=e|0;a=a|0;r=f,s=t,i=e,n=a}function P(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;a=f,h=t,x=e,c=r}function z(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;o=f,l=t,u=e,_=r}function Z(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;g=f,b=t,m=e,A=r}function O(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;_=~A&_|A&r,u=~m&u|m&e,l=~b&l|b&t,o=~g&o|g&f}function G(f){f=f|0;if(f&15)return-1;C[f|0]=r>>>24,C[f|1]=r>>>16&255,C[f|2]=r>>>8&255,C[f|3]=r&255,C[f|4]=s>>>24,C[f|5]=s>>>16&255,C[f|6]=s>>>8&255,C[f|7]=s&255,C[f|8]=i>>>24,C[f|9]=i>>>16&255,C[f|10]=i>>>8&255,C[f|11]=i&255,C[f|12]=n>>>24,C[f|13]=n>>>16&255,C[f|14]=n>>>8&255,C[f|15]=n&255;return 16}function F(f){f=f|0;if(f&15)return-1;C[f|0]=a>>>24,C[f|1]=a>>>16&255,C[f|2]=a>>>8&255,C[f|3]=a&255,C[f|4]=h>>>24,C[f|5]=h>>>16&255,C[f|6]=h>>>8&255,C[f|7]=h&255,C[f|8]=x>>>24,C[f|9]=x>>>16&255,C[f|10]=x>>>8&255,C[f|11]=x&255,C[f|12]=c>>>24,C[f|13]=c>>>16&255,C[f|14]=c>>>8&255,C[f|15]=c&255;return 16}function q(){M(0,0,0,0);d=r,y=s,p=i,E=n}function V(f,t,e){f=f|0;t=t|0;e=e|0;var a=0;if(t&15)return-1;while((e|0)>=16){K[f&7](C[t|0]<<24|C[t|1]<<16|C[t|2]<<8|C[t|3],C[t|4]<<24|C[t|5]<<16|C[t|6]<<8|C[t|7],C[t|8]<<24|C[t|9]<<16|C[t|10]<<8|C[t|11],C[t|12]<<24|C[t|13]<<16|C[t|14]<<8|C[t|15]);C[t|0]=r>>>24,C[t|1]=r>>>16&255,C[t|2]=r>>>8&255,C[t|3]=r&255,C[t|4]=s>>>24,C[t|5]=s>>>16&255,C[t|6]=s>>>8&255,C[t|7]=s&255,C[t|8]=i>>>24,C[t|9]=i>>>16&255,C[t|10]=i>>>8&255,C[t|11]=i&255,C[t|12]=n>>>24,C[t|13]=n>>>16&255,C[t|14]=n>>>8&255,C[t|15]=n&255;a=a+16|0,t=t+16|0,e=e-16|0}return a|0}function j(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if(t&15)return-1;while((e|0)>=16){X[f&1](C[t|0]<<24|C[t|1]<<16|C[t|2]<<8|C[t|3],C[t|4]<<24|C[t|5]<<16|C[t|6]<<8|C[t|7],C[t|8]<<24|C[t|9]<<16|C[t|10]<<8|C[t|11],C[t|12]<<24|C[t|13]<<16|C[t|14]<<8|C[t|15]);r=r+16|0,t=t+16|0,e=e-16|0}return r|0}var K=[M,U,B,H,L,k,N,R];var X=[B,I];return{set_rounds:D,set_state:T,set_iv:P,set_nonce:z,set_mask:Z,set_counter:O,get_state:G,get_iv:F,gcm_init:q,cipher:V,mac:j}}(i,f,t);return l.set_key=s,l};return l.ENC={ECB:0,CBC:2,CFB:4,OFB:6,CTR:7},l.DEC={ECB:1,CBC:3,CFB:5,OFB:6,CTR:7},l.MAC={CBC:0,GCM:1},l.HEAP_DATA=16384,l}();class AES{constructor(f,t,e=!0,r){this.pos=0,this.len=0,this.mode=r,this.heap=_heap_init().subarray(AES_asm.HEAP_DATA),this.asm=new AES_asm(null,this.heap.buffer),this.pos=0,this.len=0;const s=f.length;if(16!==s&&24!==s&&32!==s)throw new IllegalArgumentError("illegal key size");const i=new DataView(f.buffer,f.byteOffset,f.byteLength);if(this.asm.set_key(s>>2,i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12),s>16?i.getUint32(16):0,s>16?i.getUint32(20):0,s>24?i.getUint32(24):0,s>24?i.getUint32(28):0),void 0!==t){if(16!==t.length)throw new IllegalArgumentError("illegal iv size");let f=new DataView(t.buffer,t.byteOffset,t.byteLength);this.asm.set_iv(f.getUint32(0),f.getUint32(4),f.getUint32(8),f.getUint32(12))}else this.asm.set_iv(0,0,0,0);this.padding=e}AES_Encrypt_process(f){if(!is_bytes(f))throw new TypeError("data isn't of expected type");let t=this.asm,e=this.heap,r=AES_asm.ENC[this.mode],s=AES_asm.HEAP_DATA,i=this.pos,n=this.len,a=0,h=f.length||0,x=0,c=n+h&-16,o=0,l=new Uint8Array(c);for(;h>0;)o=_heap_write(e,i+n,f,a,h),n+=o,a+=o,h-=o,o=t.cipher(r,s+i,n),o&&l.set(e.subarray(i,i+o),x),x+=o,o0;)l=_heap_write(e,i+n,f,a,h),n+=l,a+=l,h-=l,l=t.cipher(r,s+i,n-(h?0:o)),l&&u.set(e.subarray(i,i+l),x),x+=l,l0){if(i%16){if(this.hasOwnProperty("padding"))throw new IllegalArgumentError("data length must be a multiple of the block size");i+=16-i%16}if(f.cipher(e,r+s,i),this.hasOwnProperty("padding")&&this.padding){let f=t[s+n-1];if(f<1||f>16||f>n)throw new SecurityError("bad padding");let e=0;for(let r=f;r>1;r--)e|=f^t[s+n-r];if(e)throw new SecurityError("bad padding");n-=f}}const a=new Uint8Array(n);return n>0&&a.set(t.subarray(s,s+n)),this.pos=0,this.len=0,a}}class AES_CBC extends AES{static encrypt(f,t,e=!0,r){return new AES_CBC(t,r,e).encrypt(f)}static decrypt(f,t,e=!0,r){return new AES_CBC(t,r,e).decrypt(f)}constructor(f,t,e=!0){super(f,t,e,"CBC")}encrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}decrypt(f){const t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return joinBytes(t,e)}}const _AES_CCM_adata_maxLength=65279,_AES_CCM_data_maxLength=0xffffffffffff0;class AES_CCM extends AES{constructor(f,t,e,r=16,s){if(super(f,void 0,void 0,"CCM"),this.counter=1,this.dataLength=-1,r<4||r>16||1&r)throw new IllegalArgumentError("illegal tagSize value");if(this.tagSize=r,this.nonce=t,t.length<8||t.length>13)throw new IllegalArgumentError("illegal nonce length");if(this.lengthSize=15-t.length,t=new Uint8Array(t.length+1),t[0]=this.lengthSize-1,t.set(this.nonce,1),s<0||s>_AES_CCM_data_maxLength||s>Math.pow(2,8*this.lengthSize)-16)throw new IllegalArgumentError("illegal dataLength value");if(void 0!==e){if(e.length>_AES_CCM_adata_maxLength)throw new IllegalArgumentError("illegal adata length");this.adata=e.length?e:void 0}this.dataLength=s,this.counter=1,this.AES_CCM_calculate_iv(),this.AES_CTR_set_options(t,this.counter,8*this.lengthSize)}static encrypt(f,t,e,r,s=16){return new AES_CCM(t,e,r,s,f.length).encrypt(f)}static decrypt(f,t,e,r,s=16){return new AES_CCM(t,e,r,s,f.length-s).decrypt(f)}encrypt(f){this.dataLength=f.length||0;const t=this.AES_CCM_Encrypt_process(f),e=this.AES_CCM_Encrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r}decrypt(f){this.dataLength=f.length||0;const t=this.AES_CCM_Decrypt_process(f),e=this.AES_CCM_Decrypt_finish(),r=new Uint8Array(t.length+e.length);return t.length&&r.set(t),e.length&&r.set(e,t.length),r}AES_CCM_calculate_iv(){const f=this.nonce,t=this.adata,e=this.tagSize,r=this.lengthSize,s=this.dataLength,i=new Uint8Array(16+(t?2+t.length:0));i[0]=(t?64:0)|e-2<<2|r-1,i.set(f,1),r>6&&(i[9]=s/4294967296>>>16&15),r>5&&(i[10]=s/4294967296>>>8&255),r>4&&(i[11]=s/4294967296&255),r>3&&(i[12]=s>>>24),r>2&&(i[13]=s>>>16&255),i[14]=s>>>8&255,i[15]=255&s,t&&(i[16]=t.length>>>8&255,i[17]=255&t.length,i.set(t,18)),this._cbc_mac_process(i),this.asm.get_state(AES_asm.HEAP_DATA);const n=new Uint8Array(this.heap.subarray(0,16)),a=new DataView(n.buffer,n.byteOffset,n.byteLength);this.asm.set_iv(a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12))}_cbc_mac_process(f){const t=this.heap,e=this.asm;let r=0,s=f.length||0,i=0;for(;s>0;){for(i=_heap_write(t,0,f,r,s);15&i;)t[i++]=0;r+=i,s-=i,e.mac(AES_asm.MAC.CBC,AES_asm.HEAP_DATA,i)}}AES_CCM_Encrypt_process(f){const t=this.asm,e=this.heap;let r=0,s=f.length||0,i=this.counter,n=this.pos,a=this.len;const h=a+s&-16;let x=0,c=0;if((i-1<<4)+a+s>_AES_CCM_data_maxLength)throw new RangeError("counter overflow");const o=new Uint8Array(h);for(;s>0;)c=_heap_write(e,n+a,f,r,s),a+=c,r+=c,s-=c,c=t.mac(AES_asm.MAC.CBC,AES_asm.HEAP_DATA+n,a),c=t.cipher(AES_asm.ENC.CTR,AES_asm.HEAP_DATA+n,c),c&&o.set(e.subarray(n,n+c),x),i+=c>>>4,x+=c,cn?h+e-n&-16:0,o=h+e-c;let l=0;if((i-1<<4)+h+e>_AES_CCM_data_maxLength)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;e>o;)l=_heap_write(s,a+h,f,t,e-o),h+=l,t+=l,e-=l,l=r.cipher(AES_asm.DEC.CTR,AES_asm.HEAP_DATA+a,l),l=r.mac(AES_asm.MAC.CBC,AES_asm.HEAP_DATA+a,l),l&&u.set(s.subarray(a,a+l),x),i+=l>>>4,x+=l,a=0,h=0;return e>0&&(h+=_heap_write(s,0,f,t,e)),this.counter=i,this.pos=a,this.len=h,u}AES_CCM_Decrypt_finish(){const f=this.asm,t=this.heap,e=this.tagSize,r=this.pos,s=this.len,i=s-e;if(s48)throw new IllegalArgumentError("illegal counter size");const r=Math.pow(2,e)-1;this.asm.set_mask(0,0,r/4294967296|0,0|r);const s=f.length;if(!s||s>16)throw new IllegalArgumentError("illegal nonce size");this.nonce=f;const i=new DataView(new ArrayBuffer(16));if(new Uint8Array(i.buffer).set(f),this.asm.set_nonce(i.getUint32(0),i.getUint32(4),i.getUint32(8),i.getUint32(12)),t<0||t>=Math.pow(2,e))throw new IllegalArgumentError("illegal counter value");this.counter=t,this.asm.set_counter(0,0,t/4294967296|0,0|t)}}class AES_CFB extends AES{static encrypt(f,t,e){return new AES_CFB(t,e).encrypt(f)}static decrypt(f,t,e){return new AES_CFB(t,e).decrypt(f)}constructor(f,t){super(f,t,!0,"CFB"),delete this.padding}encrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}decrypt(f){const t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return joinBytes(t,e)}}class AES_ECB extends AES{static encrypt(f,t,e=!1){return new AES_ECB(t,e).encrypt(f)}static decrypt(f,t,e=!1){return new AES_ECB(t,e).decrypt(f)}constructor(f,t=!1){super(f,void 0,t,"ECB")}encrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}decrypt(f){const t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return joinBytes(t,e)}}function mul2(f){const t=128&f[0];for(let t=0;t<15;t++)f[t]=f[t]<<1^(128&f[t+1]?1:0);f[15]=f[15]<<1^(t?135:0)}class AES_CMAC{constructor(f){this.bufferLength=0,this.k=new AES_ECB(f).encrypt(new Uint8Array(16)),mul2(this.k),this.cbc=new AES_CBC(f,new Uint8Array(16),!1),this.buffer=new Uint8Array(16),this.result=null}static bytes(f,t){return new AES_CMAC(t).process(f).finish().result}process(f){if(this.bufferLength+f.length>16){this.cbc.encrypt(this.buffer.subarray(0,this.bufferLength));const t=(this.bufferLength+f.length-1&-16)-this.bufferLength;this.cbc.encrypt(f.subarray(0,t)),this.buffer.set(f.subarray(t)),this.bufferLength=f.length-t}else this.buffer.set(f,this.bufferLength),this.bufferLength+=f.length;return this}finish(){if(16!==this.bufferLength){this.buffer[this.bufferLength]=128;for(let f=this.bufferLength+1;f<16;f++)this.buffer[f]=0;mul2(this.k)}for(let f=0;f<16;f++)this.buffer[f]^=this.k[f];return this.result=this.cbc.encrypt(this.buffer),this}}class AES_CTR extends AES{static encrypt(f,t,e){return new AES_CTR(t,e).encrypt(f)}static decrypt(f,t,e){return new AES_CTR(t,e).encrypt(f)}constructor(f,t){super(f,void 0,!1,"CTR"),delete this.padding,this.AES_CTR_set_options(t)}encrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}decrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}AES_CTR_set_options(f,t,e){if(void 0!==e){if(e<8||e>48)throw new IllegalArgumentError("illegal counter size");let f=Math.pow(2,e)-1;this.asm.set_mask(0,0,f/4294967296|0,0|f)}else e=48,this.asm.set_mask(0,0,65535,4294967295);if(void 0===f)throw new Error("nonce is required");{let t=f.length;if(!t||t>16)throw new IllegalArgumentError("illegal nonce size");let e=new DataView(new ArrayBuffer(16));new Uint8Array(e.buffer).set(f),this.asm.set_nonce(e.getUint32(0),e.getUint32(4),e.getUint32(8),e.getUint32(12))}if(void 0!==t){if(t<0||t>=Math.pow(2,e))throw new IllegalArgumentError("illegal counter value");this.asm.set_counter(0,0,t/4294967296|0,0|t)}}}const _AES_GCM_data_maxLength=68719476704;class AES_GCM extends AES{constructor(f,t,e,r=16){if(super(f,void 0,!1,"CTR"),this.tagSize=r,this.gamma0=0,this.counter=1,this.asm.gcm_init(),this.tagSize<4||this.tagSize>16)throw new IllegalArgumentError("illegal tagSize value");const s=t.length||0,i=new Uint8Array(16);12!==s?(this._gcm_mac_process(t),this.heap[0]=0,this.heap[1]=0,this.heap[2]=0,this.heap[3]=0,this.heap[4]=0,this.heap[5]=0,this.heap[6]=0,this.heap[7]=0,this.heap[8]=0,this.heap[9]=0,this.heap[10]=0,this.heap[11]=s>>>29,this.heap[12]=s>>>21&255,this.heap[13]=s>>>13&255,this.heap[14]=s>>>5&255,this.heap[15]=s<<3&255,this.asm.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA,16),this.asm.get_iv(AES_asm.HEAP_DATA),this.asm.set_iv(0,0,0,0),i.set(this.heap.subarray(0,16))):(i.set(t),i[15]=1);const n=new DataView(i.buffer);if(this.gamma0=n.getUint32(12),this.asm.set_nonce(n.getUint32(0),n.getUint32(4),n.getUint32(8),0),this.asm.set_mask(0,0,0,4294967295),void 0!==e){if(e.length>_AES_GCM_data_maxLength)throw new IllegalArgumentError("illegal adata length");e.length?(this.adata=e,this._gcm_mac_process(e)):this.adata=void 0}else this.adata=void 0;if(this.counter<1||this.counter>4294967295)throw new RangeError("counter must be a positive 32-bit integer");this.asm.set_counter(0,0,0,this.gamma0+this.counter|0)}static encrypt(f,t,e,r,s){return new AES_GCM(t,e,r,s).encrypt(f)}static decrypt(f,t,e,r,s){return new AES_GCM(t,e,r,s).decrypt(f)}encrypt(f){return this.AES_GCM_encrypt(f)}decrypt(f){return this.AES_GCM_decrypt(f)}AES_GCM_Encrypt_process(f){let t=0,e=f.length||0,r=this.asm,s=this.heap,i=this.counter,n=this.pos,a=this.len,h=0,x=a+e&-16,c=0;if((i-1<<4)+a+e>_AES_GCM_data_maxLength)throw new RangeError("counter overflow");const o=new Uint8Array(x);for(;e>0;)c=_heap_write(s,n+a,f,t,e),a+=c,t+=c,e-=c,c=r.cipher(AES_asm.ENC.CTR,AES_asm.HEAP_DATA+n,a),c=r.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA+n,c),c&&o.set(s.subarray(n,n+c),h),i+=c>>>4,h+=c,c>>29,t[4]=x>>>21,t[5]=x>>>13&255,t[6]=x>>>5&255,t[7]=x<<3&255,t[8]=t[9]=t[10]=0,t[11]=c>>>29,t[12]=c>>>21&255,t[13]=c>>>13&255,t[14]=c>>>5&255,t[15]=c<<3&255,f.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA,16),f.get_iv(AES_asm.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(AES_asm.ENC.CTR,AES_asm.HEAP_DATA,16),a.set(t.subarray(0,r),n),this.counter=1,this.pos=0,this.len=0,a}AES_GCM_Decrypt_process(f){let t=0,e=f.length||0,r=this.asm,s=this.heap,i=this.counter,n=this.tagSize,a=this.pos,h=this.len,x=0,c=h+e>n?h+e-n&-16:0,o=h+e-c,l=0;if((i-1<<4)+h+e>_AES_GCM_data_maxLength)throw new RangeError("counter overflow");const u=new Uint8Array(c);for(;e>o;)l=_heap_write(s,a+h,f,t,e-o),h+=l,t+=l,e-=l,l=r.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA+a,l),l=r.cipher(AES_asm.DEC.CTR,AES_asm.HEAP_DATA+a,l),l&&u.set(s.subarray(a,a+l),x),i+=l>>>4,x+=l,a=0,h=0;return e>0&&(h+=_heap_write(s,0,f,t,e)),this.counter=i,this.pos=a,this.len=h,u}AES_GCM_Decrypt_finish(){let f=this.asm,t=this.heap,e=this.tagSize,r=this.adata,s=this.counter,i=this.pos,n=this.len,a=n-e;if(n>>29,t[4]=o>>>21,t[5]=o>>>13&255,t[6]=o>>>5&255,t[7]=o<<3&255,t[8]=t[9]=t[10]=0,t[11]=l>>>29,t[12]=l>>>21&255,t[13]=l>>>13&255,t[14]=l>>>5&255,t[15]=l<<3&255,f.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA,16),f.get_iv(AES_asm.HEAP_DATA),f.set_counter(0,0,0,this.gamma0),f.cipher(AES_asm.ENC.CTR,AES_asm.HEAP_DATA,16);let u=0;for(let f=0;f0;){for(i=_heap_write(t,0,f,r,s),r+=i,s-=i;15&i;)t[i++]=0;e.mac(AES_asm.MAC.GCM,AES_asm.HEAP_DATA,i)}}}class AES_OFB extends AES{static encrypt(f,t,e){return new AES_OFB(t,e).encrypt(f)}static decrypt(f,t,e){return new AES_OFB(t,e).decrypt(f)}constructor(f,t){super(f,t,!1,"OFB")}encrypt(f){const t=this.AES_Encrypt_process(f),e=this.AES_Encrypt_finish();return joinBytes(t,e)}decrypt(f){const t=this.AES_Decrypt_process(f),e=this.AES_Decrypt_finish();return joinBytes(t,e)}}var bigint_asm=function(f,t,e){"use asm";var r=0;var s=new f.Uint32Array(e);var i=f.Math.imul;function n(f){f=f|0;r=f=f+31&-32;return f|0}function a(f){f=f|0;var t=0;t=r;r=t+(f+31&-32)|0;return t|0}function h(f){f=f|0;r=r-(f+31&-32)|0}function x(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;if((t|0)>(e|0)){for(;(r|0)<(f|0);r=r+4|0){s[e+r>>2]=s[t+r>>2]}}else{for(r=f-4|0;(r|0)>=0;r=r-4|0){s[e+r>>2]=s[t+r>>2]}}}function c(f,t,e){f=f|0;t=t|0;e=e|0;var r=0;for(;(r|0)<(f|0);r=r+4|0){s[e+r>>2]=t}}function o(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var i=0,n=0,a=0,h=0,x=0;if((r|0)<=0)r=t;if((r|0)<(t|0))t=r;n=1;for(;(x|0)<(t|0);x=x+4|0){i=~s[f+x>>2];a=(i&0xffff)+n|0;h=(i>>>16)+(a>>>16)|0;s[e+x>>2]=h<<16|a&0xffff;n=h>>>16}for(;(x|0)<(r|0);x=x+4|0){s[e+x>>2]=n-1|0}return n|0}function l(f,t,e,r){f=f|0;t=t|0;e=e|0;r=r|0;var i=0,n=0,a=0;if((t|0)>(r|0)){for(a=t-4|0;(a|0)>=(r|0);a=a-4|0){if(s[f+a>>2]|0)return 1}}else{for(a=r-4|0;(a|0)>=(t|0);a=a-4|0){if(s[e+a>>2]|0)return-1}}for(;(a|0)>=0;a=a-4|0){i=s[f+a>>2]|0,n=s[e+a>>2]|0;if(i>>>0>>0)return-1;if(i>>>0>n>>>0)return 1}return 0}function u(f,t){f=f|0;t=t|0;var e=0;for(e=t-4|0;(e|0)>=0;e=e-4|0){if(s[f+e>>2]|0)return e+4|0}return 0}function _(f,t,e,r,i,n){f=f|0;t=t|0;e=e|0;r=r|0;i=i|0;n=n|0;var a=0,h=0,x=0,c=0,o=0,l=0;if((t|0)<(r|0)){c=f,f=e,e=c;c=t,t=r,r=c}if((n|0)<=0)n=t+4|0;if((n|0)<(r|0))t=r=n;for(;(l|0)<(r|0);l=l+4|0){a=s[f+l>>2]|0;h=s[e+l>>2]|0;c=((a&0xffff)+(h&0xffff)|0)+x|0;o=((a>>>16)+(h>>>16)|0)+(c>>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>>16}for(;(l|0)<(t|0);l=l+4|0){a=s[f+l>>2]|0;c=(a&0xffff)+x|0;o=(a>>>16)+(c>>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>>16}for(;(l|0)<(n|0);l=l+4|0){s[i+l>>2]=x|0;x=0}return x|0}function g(f,t,e,r,i,n){f=f|0;t=t|0;e=e|0;r=r|0;i=i|0;n=n|0;var a=0,h=0,x=0,c=0,o=0,l=0;if((n|0)<=0)n=(t|0)>(r|0)?t+4|0:r+4|0;if((n|0)<(t|0))t=n;if((n|0)<(r|0))r=n;if((t|0)<(r|0)){for(;(l|0)<(t|0);l=l+4|0){a=s[f+l>>2]|0;h=s[e+l>>2]|0;c=((a&0xffff)-(h&0xffff)|0)+x|0;o=((a>>>16)-(h>>>16)|0)+(c>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>16}for(;(l|0)<(r|0);l=l+4|0){h=s[e+l>>2]|0;c=x-(h&0xffff)|0;o=(c>>16)-(h>>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>16}}else{for(;(l|0)<(r|0);l=l+4|0){a=s[f+l>>2]|0;h=s[e+l>>2]|0;c=((a&0xffff)-(h&0xffff)|0)+x|0;o=((a>>>16)-(h>>>16)|0)+(c>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>16}for(;(l|0)<(t|0);l=l+4|0){a=s[f+l>>2]|0;c=(a&0xffff)+x|0;o=(a>>>16)+(c>>16)|0;s[i+l>>2]=c&0xffff|o<<16;x=o>>16}}for(;(l|0)<(n|0);l=l+4|0){s[i+l>>2]=x|0}return x|0}function b(f,t,e,r,n,a){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;a=a|0;var h=0,x=0,c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0,D=0,T=0,P=0,z=0,Z=0,O=0,G=0,F=0,q=0,V=0,j=0,K=0,X=0,W=0,J=0,Q=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,xf=0,cf=0,of=0;if((t|0)>(r|0)){ef=f,rf=t;f=e,t=r;e=ef,r=rf}nf=t+r|0;if((a|0)>(nf|0)|(a|0)<=0)a=nf;if((a|0)<(t|0))t=a;if((a|0)<(r|0))r=a;for(;(af|0)<(t|0);af=af+32|0){hf=f+af|0;b=s[(hf|0)>>2]|0,m=s[(hf|4)>>2]|0,A=s[(hf|8)>>2]|0,d=s[(hf|12)>>2]|0,y=s[(hf|16)>>2]|0,p=s[(hf|20)>>2]|0,E=s[(hf|24)>>2]|0,w=s[(hf|28)>>2]|0,h=b&0xffff,x=m&0xffff,c=A&0xffff,o=d&0xffff,l=y&0xffff,u=p&0xffff,_=E&0xffff,g=w&0xffff,b=b>>>16,m=m>>>16,A=A>>>16,d=d>>>16,y=y>>>16,p=p>>>16,E=E>>>16,w=w>>>16;X=W=J=Q=Y=$=ff=tf=0;for(xf=0;(xf|0)<(r|0);xf=xf+32|0){cf=e+xf|0;of=n+(af+xf|0)|0;k=s[(cf|0)>>2]|0,N=s[(cf|4)>>2]|0,R=s[(cf|8)>>2]|0,I=s[(cf|12)>>2]|0,D=s[(cf|16)>>2]|0,T=s[(cf|20)>>2]|0,P=s[(cf|24)>>2]|0,z=s[(cf|28)>>2]|0,S=k&0xffff,C=N&0xffff,v=R&0xffff,M=I&0xffff,U=D&0xffff,B=T&0xffff,H=P&0xffff,L=z&0xffff,k=k>>>16,N=N>>>16,R=R>>>16,I=I>>>16,D=D>>>16,T=T>>>16,P=P>>>16,z=z>>>16;Z=s[(of|0)>>2]|0,O=s[(of|4)>>2]|0,G=s[(of|8)>>2]|0,F=s[(of|12)>>2]|0,q=s[(of|16)>>2]|0,V=s[(of|20)>>2]|0,j=s[(of|24)>>2]|0,K=s[(of|28)>>2]|0;ef=((i(h,S)|0)+(X&0xffff)|0)+(Z&0xffff)|0;rf=((i(b,S)|0)+(X>>>16)|0)+(Z>>>16)|0;sf=((i(h,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;Z=sf<<16|ef&0xffff;ef=((i(h,C)|0)+(nf&0xffff)|0)+(O&0xffff)|0;rf=((i(b,C)|0)+(nf>>>16)|0)+(O>>>16)|0;sf=((i(h,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;O=sf<<16|ef&0xffff;ef=((i(h,v)|0)+(nf&0xffff)|0)+(G&0xffff)|0;rf=((i(b,v)|0)+(nf>>>16)|0)+(G>>>16)|0;sf=((i(h,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;G=sf<<16|ef&0xffff;ef=((i(h,M)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((i(b,M)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((i(h,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((i(h,U)|0)+(nf&0xffff)|0)+(q&0xffff)|0;rf=((i(b,U)|0)+(nf>>>16)|0)+(q>>>16)|0;sf=((i(h,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;q=sf<<16|ef&0xffff;ef=((i(h,B)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((i(b,B)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((i(h,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(h,H)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(b,H)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(h,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(h,L)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(b,L)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(h,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(b,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;X=nf;ef=((i(x,S)|0)+(W&0xffff)|0)+(O&0xffff)|0;rf=((i(m,S)|0)+(W>>>16)|0)+(O>>>16)|0;sf=((i(x,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;O=sf<<16|ef&0xffff;ef=((i(x,C)|0)+(nf&0xffff)|0)+(G&0xffff)|0;rf=((i(m,C)|0)+(nf>>>16)|0)+(G>>>16)|0;sf=((i(x,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;G=sf<<16|ef&0xffff;ef=((i(x,v)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((i(m,v)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((i(x,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((i(x,M)|0)+(nf&0xffff)|0)+(q&0xffff)|0;rf=((i(m,M)|0)+(nf>>>16)|0)+(q>>>16)|0;sf=((i(x,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;q=sf<<16|ef&0xffff;ef=((i(x,U)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((i(m,U)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((i(x,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(x,B)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(m,B)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(x,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(x,H)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(m,H)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(x,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(x,L)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(m,L)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(x,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(m,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;W=nf;ef=((i(c,S)|0)+(J&0xffff)|0)+(G&0xffff)|0;rf=((i(A,S)|0)+(J>>>16)|0)+(G>>>16)|0;sf=((i(c,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;G=sf<<16|ef&0xffff;ef=((i(c,C)|0)+(nf&0xffff)|0)+(F&0xffff)|0;rf=((i(A,C)|0)+(nf>>>16)|0)+(F>>>16)|0;sf=((i(c,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((i(c,v)|0)+(nf&0xffff)|0)+(q&0xffff)|0;rf=((i(A,v)|0)+(nf>>>16)|0)+(q>>>16)|0;sf=((i(c,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;q=sf<<16|ef&0xffff;ef=((i(c,M)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((i(A,M)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((i(c,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(c,U)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(A,U)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(c,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(c,B)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(A,B)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(c,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(c,H)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(A,H)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(c,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(c,L)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(A,L)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(c,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(A,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;J=nf;ef=((i(o,S)|0)+(Q&0xffff)|0)+(F&0xffff)|0;rf=((i(d,S)|0)+(Q>>>16)|0)+(F>>>16)|0;sf=((i(o,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;F=sf<<16|ef&0xffff;ef=((i(o,C)|0)+(nf&0xffff)|0)+(q&0xffff)|0;rf=((i(d,C)|0)+(nf>>>16)|0)+(q>>>16)|0;sf=((i(o,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;q=sf<<16|ef&0xffff;ef=((i(o,v)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((i(d,v)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((i(o,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(o,M)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(d,M)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(o,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(o,U)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(d,U)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(o,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(o,B)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(d,B)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(o,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(o,H)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(d,H)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(o,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((i(o,L)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((i(d,L)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((i(o,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(d,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;Q=nf;ef=((i(l,S)|0)+(Y&0xffff)|0)+(q&0xffff)|0;rf=((i(y,S)|0)+(Y>>>16)|0)+(q>>>16)|0;sf=((i(l,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;q=sf<<16|ef&0xffff;ef=((i(l,C)|0)+(nf&0xffff)|0)+(V&0xffff)|0;rf=((i(y,C)|0)+(nf>>>16)|0)+(V>>>16)|0;sf=((i(l,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(l,v)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(y,v)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(l,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(l,M)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(y,M)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(l,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(l,U)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(y,U)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(l,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(l,B)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(y,B)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(l,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((i(l,H)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((i(y,H)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((i(l,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((i(l,L)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((i(y,L)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((i(l,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(y,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;Y=nf;ef=((i(u,S)|0)+($&0xffff)|0)+(V&0xffff)|0;rf=((i(p,S)|0)+($>>>16)|0)+(V>>>16)|0;sf=((i(u,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;V=sf<<16|ef&0xffff;ef=((i(u,C)|0)+(nf&0xffff)|0)+(j&0xffff)|0;rf=((i(p,C)|0)+(nf>>>16)|0)+(j>>>16)|0;sf=((i(u,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(u,v)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(p,v)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(u,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(u,M)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(p,M)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(u,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(u,U)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(p,U)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(u,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((i(u,B)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((i(p,B)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((i(u,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((i(u,H)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((i(p,H)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((i(u,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((i(u,L)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((i(p,L)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((i(u,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(p,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;$=nf;ef=((i(_,S)|0)+(ff&0xffff)|0)+(j&0xffff)|0;rf=((i(E,S)|0)+(ff>>>16)|0)+(j>>>16)|0;sf=((i(_,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;j=sf<<16|ef&0xffff;ef=((i(_,C)|0)+(nf&0xffff)|0)+(K&0xffff)|0;rf=((i(E,C)|0)+(nf>>>16)|0)+(K>>>16)|0;sf=((i(_,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(_,v)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(E,v)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(_,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(_,M)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(E,M)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(_,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((i(_,U)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((i(E,U)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((i(_,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((i(_,B)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((i(E,B)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((i(_,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((i(_,H)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((i(E,H)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((i(_,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;ef=((i(_,L)|0)+(nf&0xffff)|0)+($&0xffff)|0;rf=((i(E,L)|0)+(nf>>>16)|0)+($>>>16)|0;sf=((i(_,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(E,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;$=sf<<16|ef&0xffff;ff=nf;ef=((i(g,S)|0)+(tf&0xffff)|0)+(K&0xffff)|0;rf=((i(w,S)|0)+(tf>>>16)|0)+(K>>>16)|0;sf=((i(g,k)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,k)|0)+(rf>>>16)|0)+(sf>>>16)|0;K=sf<<16|ef&0xffff;ef=((i(g,C)|0)+(nf&0xffff)|0)+(X&0xffff)|0;rf=((i(w,C)|0)+(nf>>>16)|0)+(X>>>16)|0;sf=((i(g,N)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,N)|0)+(rf>>>16)|0)+(sf>>>16)|0;X=sf<<16|ef&0xffff;ef=((i(g,v)|0)+(nf&0xffff)|0)+(W&0xffff)|0;rf=((i(w,v)|0)+(nf>>>16)|0)+(W>>>16)|0;sf=((i(g,R)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,R)|0)+(rf>>>16)|0)+(sf>>>16)|0;W=sf<<16|ef&0xffff;ef=((i(g,M)|0)+(nf&0xffff)|0)+(J&0xffff)|0;rf=((i(w,M)|0)+(nf>>>16)|0)+(J>>>16)|0;sf=((i(g,I)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,I)|0)+(rf>>>16)|0)+(sf>>>16)|0;J=sf<<16|ef&0xffff;ef=((i(g,U)|0)+(nf&0xffff)|0)+(Q&0xffff)|0;rf=((i(w,U)|0)+(nf>>>16)|0)+(Q>>>16)|0;sf=((i(g,D)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,D)|0)+(rf>>>16)|0)+(sf>>>16)|0;Q=sf<<16|ef&0xffff;ef=((i(g,B)|0)+(nf&0xffff)|0)+(Y&0xffff)|0;rf=((i(w,B)|0)+(nf>>>16)|0)+(Y>>>16)|0;sf=((i(g,T)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,T)|0)+(rf>>>16)|0)+(sf>>>16)|0;Y=sf<<16|ef&0xffff;ef=((i(g,H)|0)+(nf&0xffff)|0)+($&0xffff)|0;rf=((i(w,H)|0)+(nf>>>16)|0)+($>>>16)|0;sf=((i(g,P)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,P)|0)+(rf>>>16)|0)+(sf>>>16)|0;$=sf<<16|ef&0xffff;ef=((i(g,L)|0)+(nf&0xffff)|0)+(ff&0xffff)|0;rf=((i(w,L)|0)+(nf>>>16)|0)+(ff>>>16)|0;sf=((i(g,z)|0)+(rf&0xffff)|0)+(ef>>>16)|0;nf=((i(w,z)|0)+(rf>>>16)|0)+(sf>>>16)|0;ff=sf<<16|ef&0xffff;tf=nf;s[(of|0)>>2]=Z,s[(of|4)>>2]=O,s[(of|8)>>2]=G,s[(of|12)>>2]=F,s[(of|16)>>2]=q,s[(of|20)>>2]=V,s[(of|24)>>2]=j,s[(of|28)>>2]=K}of=n+(af+xf|0)|0;s[(of|0)>>2]=X,s[(of|4)>>2]=W,s[(of|8)>>2]=J,s[(of|12)>>2]=Q,s[(of|16)>>2]=Y,s[(of|20)>>2]=$,s[(of|24)>>2]=ff,s[(of|28)>>2]=tf}}function m(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,n=0,a=0,h=0,x=0,c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0,D=0,T=0,P=0,z=0,Z=0,O=0,G=0,F=0,q=0,V=0,j=0,K=0,X=0,W=0,J=0,Q=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,xf=0,cf=0,of=0,lf=0,uf=0,_f=0,gf=0;for(;(cf|0)<(t|0);cf=cf+4|0){gf=e+(cf<<1)|0;u=s[f+cf>>2]|0,r=u&0xffff,u=u>>>16;$=i(r,r)|0;ff=(i(r,u)|0)+($>>>17)|0;tf=(i(u,u)|0)+(ff>>>15)|0;s[gf>>2]=ff<<17|$&0x1ffff;s[(gf|4)>>2]=tf}for(xf=0;(xf|0)<(t|0);xf=xf+8|0){uf=f+xf|0,gf=e+(xf<<1)|0;u=s[uf>>2]|0,r=u&0xffff,u=u>>>16;B=s[(uf|4)>>2]|0,p=B&0xffff,B=B>>>16;$=i(r,p)|0;ff=(i(r,B)|0)+($>>>16)|0;tf=(i(u,p)|0)+(ff&0xffff)|0;sf=((i(u,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;nf=s[(gf|4)>>2]|0;$=(nf&0xffff)+(($&0xffff)<<1)|0;tf=((nf>>>16)+((tf&0xffff)<<1)|0)+($>>>16)|0;s[(gf|4)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|8)>>2]|0;$=((nf&0xffff)+((sf&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(sf>>>16<<1)|0)+($>>>16)|0;s[(gf|8)>>2]=tf<<16|$&0xffff;ef=tf>>>16;if(ef){nf=s[(gf|12)>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;s[(gf|12)>>2]=tf<<16|$&0xffff}}for(xf=0;(xf|0)<(t|0);xf=xf+16|0){uf=f+xf|0,gf=e+(xf<<1)|0;u=s[uf>>2]|0,r=u&0xffff,u=u>>>16,_=s[(uf|4)>>2]|0,n=_&0xffff,_=_>>>16;B=s[(uf|8)>>2]|0,p=B&0xffff,B=B>>>16,H=s[(uf|12)>>2]|0,E=H&0xffff,H=H>>>16;$=i(r,p)|0;ff=i(u,p)|0;tf=((i(r,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;T=tf<<16|$&0xffff;$=(i(r,E)|0)+(sf&0xffff)|0;ff=(i(u,E)|0)+(sf>>>16)|0;tf=((i(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;z=sf;$=(i(n,p)|0)+(P&0xffff)|0;ff=(i(_,p)|0)+(P>>>16)|0;tf=((i(n,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;$=((i(n,E)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,E)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((i(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;Z=sf;nf=s[(gf|8)>>2]|0;$=(nf&0xffff)+((T&0xffff)<<1)|0;tf=((nf>>>16)+(T>>>16<<1)|0)+($>>>16)|0;s[(gf|8)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|12)>>2]|0;$=((nf&0xffff)+((P&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(P>>>16<<1)|0)+($>>>16)|0;s[(gf|12)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|16)>>2]|0;$=((nf&0xffff)+((z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(z>>>16<<1)|0)+($>>>16)|0;s[(gf|16)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|20)>>2]|0;$=((nf&0xffff)+((Z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Z>>>16<<1)|0)+($>>>16)|0;s[(gf|20)>>2]=tf<<16|$&0xffff;ef=tf>>>16;for(lf=24;!!ef&(lf|0)<32;lf=lf+4|0){nf=s[(gf|lf)>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;s[(gf|lf)>>2]=tf<<16|$&0xffff;ef=tf>>>16}}for(xf=0;(xf|0)<(t|0);xf=xf+32|0){uf=f+xf|0,gf=e+(xf<<1)|0;u=s[uf>>2]|0,r=u&0xffff,u=u>>>16,_=s[(uf|4)>>2]|0,n=_&0xffff,_=_>>>16,g=s[(uf|8)>>2]|0,a=g&0xffff,g=g>>>16,b=s[(uf|12)>>2]|0,h=b&0xffff,b=b>>>16;B=s[(uf|16)>>2]|0,p=B&0xffff,B=B>>>16,H=s[(uf|20)>>2]|0,E=H&0xffff,H=H>>>16,L=s[(uf|24)>>2]|0,w=L&0xffff,L=L>>>16,k=s[(uf|28)>>2]|0,S=k&0xffff,k=k>>>16;$=i(r,p)|0;ff=i(u,p)|0;tf=((i(r,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;T=tf<<16|$&0xffff;$=(i(r,E)|0)+(sf&0xffff)|0;ff=(i(u,E)|0)+(sf>>>16)|0;tf=((i(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;$=(i(r,w)|0)+(sf&0xffff)|0;ff=(i(u,w)|0)+(sf>>>16)|0;tf=((i(r,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=(i(r,S)|0)+(sf&0xffff)|0;ff=(i(u,S)|0)+(sf>>>16)|0;tf=((i(r,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;O=sf;$=(i(n,p)|0)+(P&0xffff)|0;ff=(i(_,p)|0)+(P>>>16)|0;tf=((i(n,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;$=((i(n,E)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,E)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((i(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((i(n,w)|0)+(Z&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,w)|0)+(Z>>>16)|0)+(sf>>>16)|0;tf=((i(n,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(n,S)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,S)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(n,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;G=sf;$=(i(a,p)|0)+(z&0xffff)|0;ff=(i(g,p)|0)+(z>>>16)|0;tf=((i(a,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((i(a,E)|0)+(Z&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,E)|0)+(Z>>>16)|0)+(sf>>>16)|0;tf=((i(a,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(a,w)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,w)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(a,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(a,S)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,S)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(a,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;F=sf;$=(i(h,p)|0)+(Z&0xffff)|0;ff=(i(b,p)|0)+(Z>>>16)|0;tf=((i(h,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(h,E)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,E)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(h,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(h,w)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,w)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(h,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(h,S)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,S)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(h,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;q=sf;nf=s[(gf|16)>>2]|0;$=(nf&0xffff)+((T&0xffff)<<1)|0;tf=((nf>>>16)+(T>>>16<<1)|0)+($>>>16)|0;s[(gf|16)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|20)>>2]|0;$=((nf&0xffff)+((P&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(P>>>16<<1)|0)+($>>>16)|0;s[(gf|20)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|24)>>2]|0;$=((nf&0xffff)+((z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(z>>>16<<1)|0)+($>>>16)|0;s[(gf|24)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[(gf|28)>>2]|0;$=((nf&0xffff)+((Z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Z>>>16<<1)|0)+($>>>16)|0;s[(gf|28)>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[gf+32>>2]|0;$=((nf&0xffff)+((O&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(O>>>16<<1)|0)+($>>>16)|0;s[gf+32>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[gf+36>>2]|0;$=((nf&0xffff)+((G&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(G>>>16<<1)|0)+($>>>16)|0;s[gf+36>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[gf+40>>2]|0;$=((nf&0xffff)+((F&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(F>>>16<<1)|0)+($>>>16)|0;s[gf+40>>2]=tf<<16|$&0xffff;ef=tf>>>16;nf=s[gf+44>>2]|0;$=((nf&0xffff)+((q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(q>>>16<<1)|0)+($>>>16)|0;s[gf+44>>2]=tf<<16|$&0xffff;ef=tf>>>16;for(lf=48;!!ef&(lf|0)<64;lf=lf+4|0){nf=s[gf+lf>>2]|0;$=(nf&0xffff)+ef|0;tf=(nf>>>16)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16}}for(af=32;(af|0)<(t|0);af=af<<1){hf=af<<1;for(xf=0;(xf|0)<(t|0);xf=xf+hf|0){gf=e+(xf<<1)|0;rf=0;for(cf=0;(cf|0)<(af|0);cf=cf+32|0){uf=(f+xf|0)+cf|0;u=s[uf>>2]|0,r=u&0xffff,u=u>>>16,_=s[(uf|4)>>2]|0,n=_&0xffff,_=_>>>16,g=s[(uf|8)>>2]|0,a=g&0xffff,g=g>>>16,b=s[(uf|12)>>2]|0,h=b&0xffff,b=b>>>16,m=s[(uf|16)>>2]|0,x=m&0xffff,m=m>>>16,A=s[(uf|20)>>2]|0,c=A&0xffff,A=A>>>16,d=s[(uf|24)>>2]|0,o=d&0xffff,d=d>>>16,y=s[(uf|28)>>2]|0,l=y&0xffff,y=y>>>16;V=j=K=X=W=J=Q=Y=ef=0;for(of=0;(of|0)<(af|0);of=of+32|0){_f=((f+xf|0)+af|0)+of|0;B=s[_f>>2]|0,p=B&0xffff,B=B>>>16,H=s[(_f|4)>>2]|0,E=H&0xffff,H=H>>>16,L=s[(_f|8)>>2]|0,w=L&0xffff,L=L>>>16,k=s[(_f|12)>>2]|0,S=k&0xffff,k=k>>>16,N=s[(_f|16)>>2]|0,C=N&0xffff,N=N>>>16,R=s[(_f|20)>>2]|0,v=R&0xffff,R=R>>>16,I=s[(_f|24)>>2]|0,M=I&0xffff,I=I>>>16,D=s[(_f|28)>>2]|0,U=D&0xffff,D=D>>>16;T=P=z=Z=O=G=F=q=0;$=((i(r,p)|0)+(T&0xffff)|0)+(V&0xffff)|0;ff=((i(u,p)|0)+(T>>>16)|0)+(V>>>16)|0;tf=((i(r,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;T=tf<<16|$&0xffff;$=((i(r,E)|0)+(P&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,E)|0)+(P>>>16)|0)+(sf>>>16)|0;tf=((i(r,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;$=((i(r,w)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,w)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((i(r,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((i(r,S)|0)+(Z&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,S)|0)+(Z>>>16)|0)+(sf>>>16)|0;tf=((i(r,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(r,C)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,C)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(r,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(r,v)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,v)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(r,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(r,M)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,M)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(r,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(r,U)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(u,U)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(r,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(u,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;V=sf;$=((i(n,p)|0)+(P&0xffff)|0)+(j&0xffff)|0;ff=((i(_,p)|0)+(P>>>16)|0)+(j>>>16)|0;tf=((i(n,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;P=tf<<16|$&0xffff;$=((i(n,E)|0)+(z&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,E)|0)+(z>>>16)|0)+(sf>>>16)|0;tf=((i(n,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((i(n,w)|0)+(Z&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,w)|0)+(Z>>>16)|0)+(sf>>>16)|0;tf=((i(n,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(n,S)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,S)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(n,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(n,C)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,C)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(n,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(n,v)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,v)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(n,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(n,M)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,M)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(n,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(n,U)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(_,U)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(n,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(_,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;j=sf;$=((i(a,p)|0)+(z&0xffff)|0)+(K&0xffff)|0;ff=((i(g,p)|0)+(z>>>16)|0)+(K>>>16)|0;tf=((i(a,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;z=tf<<16|$&0xffff;$=((i(a,E)|0)+(Z&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,E)|0)+(Z>>>16)|0)+(sf>>>16)|0;tf=((i(a,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(a,w)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,w)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(a,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(a,S)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,S)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(a,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(a,C)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,C)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(a,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(a,v)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,v)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(a,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(a,M)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,M)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(a,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(a,U)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(g,U)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(a,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(g,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;K=sf;$=((i(h,p)|0)+(Z&0xffff)|0)+(X&0xffff)|0;ff=((i(b,p)|0)+(Z>>>16)|0)+(X>>>16)|0;tf=((i(h,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;Z=tf<<16|$&0xffff;$=((i(h,E)|0)+(O&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,E)|0)+(O>>>16)|0)+(sf>>>16)|0;tf=((i(h,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(h,w)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,w)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(h,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(h,S)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,S)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(h,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(h,C)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,C)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(h,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(h,v)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,v)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(h,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(h,M)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,M)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(h,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((i(h,U)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((i(b,U)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((i(h,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(b,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;X=sf;$=((i(x,p)|0)+(O&0xffff)|0)+(W&0xffff)|0;ff=((i(m,p)|0)+(O>>>16)|0)+(W>>>16)|0;tf=((i(x,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;O=tf<<16|$&0xffff;$=((i(x,E)|0)+(G&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,E)|0)+(G>>>16)|0)+(sf>>>16)|0;tf=((i(x,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(x,w)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,w)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(x,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(x,S)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,S)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(x,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(x,C)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,C)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(x,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(x,v)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,v)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(x,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((i(x,M)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,M)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((i(x,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((i(x,U)|0)+(X&0xffff)|0)+(sf&0xffff)|0;ff=((i(m,U)|0)+(X>>>16)|0)+(sf>>>16)|0;tf=((i(x,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(m,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;X=tf<<16|$&0xffff;W=sf;$=((i(c,p)|0)+(G&0xffff)|0)+(J&0xffff)|0;ff=((i(A,p)|0)+(G>>>16)|0)+(J>>>16)|0;tf=((i(c,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;G=tf<<16|$&0xffff;$=((i(c,E)|0)+(F&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,E)|0)+(F>>>16)|0)+(sf>>>16)|0;tf=((i(c,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(c,w)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,w)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(c,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(c,S)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,S)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(c,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(c,C)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,C)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(c,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((i(c,v)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,v)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((i(c,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((i(c,M)|0)+(X&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,M)|0)+(X>>>16)|0)+(sf>>>16)|0;tf=((i(c,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;X=tf<<16|$&0xffff;$=((i(c,U)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((i(A,U)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((i(c,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(A,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;J=sf;$=((i(o,p)|0)+(F&0xffff)|0)+(Q&0xffff)|0;ff=((i(d,p)|0)+(F>>>16)|0)+(Q>>>16)|0;tf=((i(o,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;F=tf<<16|$&0xffff;$=((i(o,E)|0)+(q&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,E)|0)+(q>>>16)|0)+(sf>>>16)|0;tf=((i(o,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(o,w)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,w)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(o,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(o,S)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,S)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(o,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((i(o,C)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,C)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((i(o,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((i(o,v)|0)+(X&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,v)|0)+(X>>>16)|0)+(sf>>>16)|0;tf=((i(o,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;X=tf<<16|$&0xffff;$=((i(o,M)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,M)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((i(o,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;$=((i(o,U)|0)+(J&0xffff)|0)+(sf&0xffff)|0;ff=((i(d,U)|0)+(J>>>16)|0)+(sf>>>16)|0;tf=((i(o,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(d,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;J=tf<<16|$&0xffff;Q=sf;$=((i(l,p)|0)+(q&0xffff)|0)+(Y&0xffff)|0;ff=((i(y,p)|0)+(q>>>16)|0)+(Y>>>16)|0;tf=((i(l,B)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,B)|0)+(ff>>>16)|0)+(tf>>>16)|0;q=tf<<16|$&0xffff;$=((i(l,E)|0)+(V&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,E)|0)+(V>>>16)|0)+(sf>>>16)|0;tf=((i(l,H)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,H)|0)+(ff>>>16)|0)+(tf>>>16)|0;V=tf<<16|$&0xffff;$=((i(l,w)|0)+(j&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,w)|0)+(j>>>16)|0)+(sf>>>16)|0;tf=((i(l,L)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,L)|0)+(ff>>>16)|0)+(tf>>>16)|0;j=tf<<16|$&0xffff;$=((i(l,S)|0)+(K&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,S)|0)+(K>>>16)|0)+(sf>>>16)|0;tf=((i(l,k)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,k)|0)+(ff>>>16)|0)+(tf>>>16)|0;K=tf<<16|$&0xffff;$=((i(l,C)|0)+(X&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,C)|0)+(X>>>16)|0)+(sf>>>16)|0;tf=((i(l,N)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,N)|0)+(ff>>>16)|0)+(tf>>>16)|0;X=tf<<16|$&0xffff;$=((i(l,v)|0)+(W&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,v)|0)+(W>>>16)|0)+(sf>>>16)|0;tf=((i(l,R)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,R)|0)+(ff>>>16)|0)+(tf>>>16)|0;W=tf<<16|$&0xffff;$=((i(l,M)|0)+(J&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,M)|0)+(J>>>16)|0)+(sf>>>16)|0;tf=((i(l,I)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,I)|0)+(ff>>>16)|0)+(tf>>>16)|0;J=tf<<16|$&0xffff;$=((i(l,U)|0)+(Q&0xffff)|0)+(sf&0xffff)|0;ff=((i(y,U)|0)+(Q>>>16)|0)+(sf>>>16)|0;tf=((i(l,D)|0)+(ff&0xffff)|0)+($>>>16)|0;sf=((i(y,D)|0)+(ff>>>16)|0)+(tf>>>16)|0;Q=tf<<16|$&0xffff;Y=sf;lf=af+(cf+of|0)|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((T&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(T>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((P&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(P>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(z>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((Z&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Z>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((O&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(O>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((G&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(G>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((F&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(F>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(q>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16}lf=af+(cf+of|0)|0;nf=s[gf+lf>>2]|0;$=(((nf&0xffff)+((V&0xffff)<<1)|0)+ef|0)+rf|0;tf=((nf>>>16)+(V>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((j&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(j>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((K&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(K>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((X&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(X>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((W&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(W>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((J&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(J>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((Q&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Q>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;ef=tf>>>16;lf=lf+4|0;nf=s[gf+lf>>2]|0;$=((nf&0xffff)+((Y&0xffff)<<1)|0)+ef|0;tf=((nf>>>16)+(Y>>>16<<1)|0)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;rf=tf>>>16}for(lf=lf+4|0;!!rf&(lf|0)>2]|0;$=(nf&0xffff)+rf|0;tf=(nf>>>16)+($>>>16)|0;s[gf+lf>>2]=tf<<16|$&0xffff;rf=tf>>>16}}}}function A(f,t,e,r,n){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;var a=0,h=0,x=0,c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0;for(w=t-1&-4;(w|0)>=0;w=w-4|0){a=s[f+w>>2]|0;if(a){t=w;break}}for(w=r-1&-4;(w|0)>=0;w=w-4|0){h=s[e+w>>2]|0;if(h){r=w;break}}while((h&0x80000000)==0){h=h<<1;x=x+1|0}o=s[f+t>>2]|0;if(x){c=o>>>(32-x|0);for(w=t-4|0;(w|0)>=0;w=w-4|0){a=s[f+w>>2]|0;s[f+w+4>>2]=o<>>(32-x|0):0);o=a}s[f>>2]=o<>2]|0;for(w=r-4|0;(w|0)>=0;w=w-4|0){h=s[e+w>>2]|0;s[e+w+4>>2]=l<>>(32-x|0);l=h}s[e>>2]=l<>2]|0;u=l>>>16,_=l&0xffff;for(w=t;(w|0)>=(r|0);w=w-4|0){S=w-r|0;o=s[f+w>>2]|0;g=(c>>>0)/(u>>>0)|0,m=(c>>>0)%(u>>>0)|0,d=i(g,_)|0;while((g|0)==0x10000|d>>>0>(m<<16|o>>>16)>>>0){g=g-1|0,m=m+u|0,d=d-_|0;if((m|0)>=0x10000)break}p=0,E=0;for(C=0;(C|0)<=(r|0);C=C+4|0){h=s[e+C>>2]|0;d=(i(g,h&0xffff)|0)+(p>>>16)|0;y=(i(g,h>>>16)|0)+(d>>>16)|0;h=p&0xffff|d<<16;p=y;a=s[f+S+C>>2]|0;d=((a&0xffff)-(h&0xffff)|0)+E|0;y=((a>>>16)-(h>>>16)|0)+(d>>16)|0;s[f+S+C>>2]=y<<16|d&0xffff;E=y>>16}d=((c&0xffff)-(p&0xffff)|0)+E|0;y=((c>>>16)-(p>>>16)|0)+(d>>16)|0;c=y<<16|d&0xffff;E=y>>16;if(E){g=g-1|0;E=0;for(C=0;(C|0)<=(r|0);C=C+4|0){h=s[e+C>>2]|0;a=s[f+S+C>>2]|0;d=(a&0xffff)+E|0;y=(a>>>16)+h+(d>>>16)|0;s[f+S+C>>2]=y<<16|d&0xffff;E=y>>>16}c=c+E|0}o=s[f+w>>2]|0;a=c<<16|o>>>16;b=(a>>>0)/(u>>>0)|0,A=(a>>>0)%(u>>>0)|0,d=i(b,_)|0;while((b|0)==0x10000|d>>>0>(A<<16|o&0xffff)>>>0){b=b-1|0,A=A+u|0,d=d-_|0;if((A|0)>=0x10000)break}p=0,E=0;for(C=0;(C|0)<=(r|0);C=C+4|0){h=s[e+C>>2]|0;d=(i(b,h&0xffff)|0)+(p&0xffff)|0;y=((i(b,h>>>16)|0)+(d>>>16)|0)+(p>>>16)|0;h=d&0xffff|y<<16;p=y>>>16;a=s[f+S+C>>2]|0;d=((a&0xffff)-(h&0xffff)|0)+E|0;y=((a>>>16)-(h>>>16)|0)+(d>>16)|0;E=y>>16;s[f+S+C>>2]=y<<16|d&0xffff}d=((c&0xffff)-(p&0xffff)|0)+E|0;y=((c>>>16)-(p>>>16)|0)+(d>>16)|0;E=y>>16;if(E){b=b-1|0;E=0;for(C=0;(C|0)<=(r|0);C=C+4|0){h=s[e+C>>2]|0;a=s[f+S+C>>2]|0;d=((a&0xffff)+(h&0xffff)|0)+E|0;y=((a>>>16)+(h>>>16)|0)+(d>>>16)|0;E=y>>>16;s[f+S+C>>2]=d&0xffff|y<<16}}s[n+S>>2]=g<<16|b;c=s[f+w>>2]|0}if(x){o=s[f>>2]|0;for(w=4;(w|0)<=(r|0);w=w+4|0){a=s[f+w>>2]|0;s[f+w-4>>2]=a<<(32-x|0)|o>>>x;o=a}s[f+r>>2]=o>>>x}}function d(f,t,e,r,n,o){f=f|0;t=t|0;e=e|0;r=r|0;n=n|0;o=o|0;var u=0,_=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0;u=a(r<<1)|0;c(r<<1,0,u);x(t,f,u);for(C=0;(C|0)<(r|0);C=C+4|0){b=s[u+C>>2]|0,m=b&0xffff,b=b>>>16;d=n>>>16,A=n&0xffff;y=i(m,A)|0,p=((i(m,d)|0)+(i(b,A)|0)|0)+(y>>>16)|0;m=y&0xffff,b=p&0xffff;S=0;for(v=0;(v|0)<(r|0);v=v+4|0){M=C+v|0;d=s[e+v>>2]|0,A=d&0xffff,d=d>>>16;w=s[u+M>>2]|0;y=((i(m,A)|0)+(S&0xffff)|0)+(w&0xffff)|0;p=((i(m,d)|0)+(S>>>16)|0)+(w>>>16)|0;E=((i(b,A)|0)+(p&0xffff)|0)+(y>>>16)|0;S=((i(b,d)|0)+(E>>>16)|0)+(p>>>16)|0;w=E<<16|y&0xffff;s[u+M>>2]=w}M=C+v|0;w=s[u+M>>2]|0;y=((w&0xffff)+(S&0xffff)|0)+_|0;p=((w>>>16)+(S>>>16)|0)+(y>>>16)|0;s[u+M>>2]=p<<16|y&0xffff;_=p>>>16}x(r,u+r|0,o);h(r<<1);if(_|(l(e,r,o,r)|0)<=0){g(o,r,e,r,o,r)|0}}return{sreset:n,salloc:a,sfree:h,z:c,tst:u,neg:o,cmp:l,add:_,sub:g,mul:b,sqr:m,div:A,mredc:d}};function Number_extGCD(f,t){var e,r,s,i,n=f<0?-1:1,a=t<0?-1:1,h=1,x=0,c=0,o=1;for(f*=n,t*=a,i=f>5);for(var i=f.length-4;i>=s;i-=4)t[f.length-4-i>>2]=f[i]<<24|f[i+1]<<16|f[i+2]<<8|f[i+3];s-i==3?t[t.length-1]=f[s]:s-i==2?t[t.length-1]=f[s]<<8|f[s+1]:s-i==1&&(t[t.length-1]=f[s]<<16|f[s+1]<<8|f[s+2]),r=1}this.limbs=t,this.bitLength=e,this.sign=r}static fromString(f){const t=string_to_bytes(f);return new BigNumber(t)}static fromNumber(f){let t=_BigNumber_ZERO_limbs,e=0,r=0;var s=Math.abs(f);return s>4294967295?(t=new Uint32Array(2),t[0]=0|s,t[1]=s/4294967296|0,e=52):s>0?(t=new Uint32Array(1),t[0]=s,e=32):(t=_BigNumber_ZERO_limbs,e=0),r=f<0?-1:1,BigNumber.fromConfig({limbs:t,bitLength:e,sign:r})}static fromArrayBuffer(f){return new BigNumber(new Uint8Array(f))}static fromConfig(f){const t=new BigNumber;return t.limbs=new Uint32Array(f.limbs),t.bitLength=f.bitLength,t.sign=f.sign,t}toString(f){f=f||16;const t=this.limbs,e=this.bitLength;let r="";if(16!==f)throw new IllegalArgumentError("bad radix");for(var s=(e+31>>5)-1;s>=0;s--){var i=t[s].toString(16);r+="00000000".substr(i.length),r+=i}return r=r.replace(/^0+/,""),r.length||(r="0"),this.sign<0&&(r="-"+r),r}toBytes(){const f=this.bitLength,t=this.limbs;if(0===f)return new Uint8Array(0);const e=f+7>>3,r=new Uint8Array(e);for(let f=0;f>2]>>((3&s)<<3)}return r}valueOf(){const f=this.limbs,t=this.bitLength,e=this.sign;if(!e)return 0;if(t<=32)return e*(f[0]>>>0);if(t<=52)return e*(4294967296*(f[1]>>>0)+(f[0]>>>0));let r,s,i=0;for(r=f.length-1;r>=0;r--)if(0!==(s=f[r])){for(;0==(s<>>0):e*(1048576*((f[r]<>>32-i:0))>>>0)+((f[r-1]<1?f[r-2]>>>32-i:0))>>>12))*Math.pow(2,32*r-i-52)}clamp(f){const t=this.limbs,e=this.bitLength;if(f>=e)return this;const r=new BigNumber;let s=f+31>>5,i=f%32;return r.limbs=new Uint32Array(t.subarray(0,s)),r.bitLength=f,r.sign=this.sign,i&&(r.limbs[s-1]&=-1>>>32-i),r}slice(f,t){const e=this.limbs,r=this.bitLength;if(f<0)throw new RangeError("TODO");if(f>=r)return BigNumber.ZERO;(void 0===t||t>r-f)&&(t=r-f);const s=new BigNumber;let i=f>>5,n=f+t+31>>5,a=t+31>>5,h=f%32,x=t%32;const c=new Uint32Array(a);if(h){for(var o=0;o>>h|e[i+o+1]<<32-h;c[o]=e[i+o]>>>h}else c.set(e.subarray(i,n));return x&&(c[a-1]&=-1>>>32-x),s.limbs=c,s.bitLength=t,s.sign=this.sign,s}negate(){const f=new BigNumber;return f.limbs=this.limbs,f.bitLength=this.bitLength,f.sign=-1*this.sign,f}compare(f){var t=this.limbs,e=t.length,r=f.limbs,s=r.length,i=0;return this.signf.sign?1:(_bigint_heap.set(t,0),_bigint_heap.set(r,e),i=_bigint_asm.cmp(0,e<<2,e<<2,s<<2),i*this.sign)}add(f){if(!this.sign)return f;if(!f.sign)return this;var t,e,r,s,i=this.bitLength,n=this.limbs,a=n.length,h=this.sign,x=f.bitLength,c=f.limbs,o=c.length,l=f.sign,u=new BigNumber;t=(i>x?i:x)+(h*l>0?1:0),e=t+31>>5,_bigint_asm.sreset();var _=_bigint_asm.salloc(a<<2),g=_bigint_asm.salloc(o<<2),b=_bigint_asm.salloc(e<<2);return _bigint_asm.z(b-_+(e<<2),0,_),_bigint_heap.set(n,_>>2),_bigint_heap.set(c,g>>2),h*l>0?(_bigint_asm.add(_,a<<2,g,o<<2,b,e<<2),r=h):h>l?(s=_bigint_asm.sub(_,a<<2,g,o<<2,b,e<<2),r=s?l:h):(s=_bigint_asm.sub(g,o<<2,_,a<<2,b,e<<2),r=s?h:l),s&&_bigint_asm.neg(b,e<<2,b,e<<2),0===_bigint_asm.tst(b,e<<2)?BigNumber.ZERO:(u.limbs=new Uint32Array(_bigint_heap.subarray(b>>2,(b>>2)+e)),u.bitLength=t,u.sign=r,u)}subtract(f){return this.add(f.negate())}square(){if(!this.sign)return BigNumber.ZERO;var f,t,e=this.bitLength,r=this.limbs,s=r.length,i=new BigNumber;f=e<<1,t=f+31>>5,_bigint_asm.sreset();var n=_bigint_asm.salloc(s<<2),a=_bigint_asm.salloc(t<<2);return _bigint_asm.z(a-n+(t<<2),0,n),_bigint_heap.set(r,n>>2),_bigint_asm.sqr(n,s<<2,a),i.limbs=new Uint32Array(_bigint_heap.subarray(a>>2,(a>>2)+t)),i.bitLength=f,i.sign=1,i}divide(f){var t,e,r=this.bitLength,s=this.limbs,i=s.length,n=f.bitLength,a=f.limbs,h=a.length,x=BigNumber.ZERO,c=BigNumber.ZERO;_bigint_asm.sreset();var o=_bigint_asm.salloc(i<<2),l=_bigint_asm.salloc(h<<2),u=_bigint_asm.salloc(i<<2);return _bigint_asm.z(u-o+(i<<2),0,o),_bigint_heap.set(s,o>>2),_bigint_heap.set(a,l>>2),_bigint_asm.div(o,i<<2,l,h<<2,u),t=_bigint_asm.tst(u,i<<2)>>2,t&&(x=new BigNumber,x.limbs=new Uint32Array(_bigint_heap.subarray(u>>2,(u>>2)+t)),x.bitLength=r>2,e&&(c=new BigNumber,c.limbs=new Uint32Array(_bigint_heap.subarray(o>>2,(o>>2)+e)),c.bitLength=n>5,_bigint_asm.sreset();var c=_bigint_asm.salloc(i<<2),o=_bigint_asm.salloc(h<<2),l=_bigint_asm.salloc(e<<2);return _bigint_asm.z(l-c+(e<<2),0,c),_bigint_heap.set(s,c>>2),_bigint_heap.set(a,o>>2),_bigint_asm.mul(c,i<<2,o,h<<2,l,e<<2),x.limbs=new Uint32Array(_bigint_heap.subarray(l>>2,(l>>2)+e)),x.sign=this.sign*f.sign,x.bitLength=t,x}isMillerRabinProbablePrime(f){var t=BigNumber.fromConfig(this),e=0;for(t.limbs[0]-=1;0===t.limbs[e>>5];)e+=32;for(;0==(t.limbs[e>>5]>>(31&e)&1);)e++;t=t.slice(e);for(var r=new Modulus(this),s=this.subtract(BigNumber.ONE),i=BigNumber.fromConfig(this),n=this.limbs.length-1;0===i.limbs[n];)n--;for(;--f>=0;){for(getRandomValues(i.limbs),i.limbs[0]<2&&(i.limbs[0]+=2);i.compare(s)>=0;)i.limbs[n]>>>=1;var a=r.power(i,t);if(0!==a.compare(BigNumber.ONE)&&0!==a.compare(s)){for(var h=e;--h>0;){if(a=a.square().divide(r).remainder,0===a.compare(BigNumber.ONE))return!1;if(0===a.compare(s))break}if(0===h)return!1}}return!0}isProbablePrime(f=80){var t=this.limbs,e=0;if(0==(1&t[0]))return!1;if(f<=1)return!0;var r=0,s=0,i=0;for(e=0;e>>=2;for(var a=t[e];a;)s+=3&a,a>>>=2,s-=3&a,a>>>=2;for(var h=t[e];h;)i+=15&h,h>>>=4,i-=15&h,h>>>=4}return!!(r%3&&s%5&&i%17)&&(f<=2||this.isMillerRabinProbablePrime(f>>>1))}}BigNumber.extGCD=BigNumber_extGCD,BigNumber.ZERO=BigNumber.fromNumber(0),BigNumber.ONE=BigNumber.fromNumber(1);class Modulus extends BigNumber{constructor(f){if(super(),this.limbs=f.limbs,this.bitLength=f.bitLength,this.sign=f.sign,this.valueOf()<1)throw new RangeError;if(this.bitLength<=32)return;let t;if(1&this.limbs[0]){{const f=1+(this.bitLength+31&-32),e=new Uint32Array(f+31>>5);e[e.length-1]=1,t=new BigNumber,t.sign=1,t.bitLength=f,t.limbs=e;const r=Number_extGCD(4294967296,this.limbs[0]).y;this.coefficient=r<0?-r:4294967296-r}this.comodulus=t,this.comodulusRemainder=t.divide(this).remainder,this.comodulusRemainderSquare=t.square().divide(this).remainder}}reduce(f){return f.bitLength<=32&&this.bitLength<=32?BigNumber.fromNumber(f.valueOf()%this.valueOf()):f.compare(this)<0?f:f.divide(this).remainder}inverse(f){f=this.reduce(f);const t=BigNumber_extGCD(this,f);if(1!==t.gcd.valueOf())throw new Error("GCD is not 1");return t.y.sign<0?t.y.add(this).clamp(this.bitLength):t.y}power(f,t){let e=0;for(let f=0;f>>=1}let r=8;t.bitLength<=4536&&(r=7),t.bitLength<=1736&&(r=6),t.bitLength<=630&&(r=5),t.bitLength<=210&&(r=4),t.bitLength<=60&&(r=3),t.bitLength<=12&&(r=2),e<=1<=0;f--){let e=t.limbs[f];for(let f=32;f>0;)if(2147483648&e){let t=e>>>32-r,s=r;for(;0==(1&t);)t>>>=1,s--;for(var h=i[t>>>1];t;)t>>>=1,a!==n&&(a=Modulus._Montgomery_reduce(a.square(),this));a=a!==n?Modulus._Montgomery_reduce(a.multiply(h),this):h,e<<=s,f-=s}else a!==n&&(a=Modulus._Montgomery_reduce(a.square(),this)),e<<=1,f--}return Modulus._Montgomery_reduce(a,this)}static _Montgomery_reduce(f,t){const e=f.limbs,r=e.length,s=t.limbs,i=s.length,n=t.coefficient;_bigint_asm.sreset();const a=_bigint_asm.salloc(r<<2),h=_bigint_asm.salloc(i<<2),x=_bigint_asm.salloc(i<<2);_bigint_asm.z(x-a+(i<<2),0,a),_bigint_heap.set(e,a>>2),_bigint_heap.set(s,h>>2),_bigint_asm.mredc(a,r<<2,h,i<<2,n,x);const c=new BigNumber;return c.limbs=new Uint32Array(_bigint_heap.subarray(x>>2,(x>>2)+i)),c.bitLength=t.bitLength,c.sign=1,c}}var sha1_asm=function(f,t,e){"use asm";var r=0,s=0,i=0,n=0,a=0,h=0,x=0;var c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0;var y=new f.Uint8Array(e);function p(f,t,e,h,x,c,o,l,u,_,g,b,m,A,d,y){f=f|0;t=t|0;e=e|0;h=h|0;x=x|0;c=c|0;o=o|0;l=l|0;u=u|0;_=_|0;g=g|0;b=b|0;m=m|0;A=A|0;d=d|0;y=y|0;var p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0,D=0,T=0,P=0,z=0,Z=0,O=0,G=0,F=0,q=0,V=0,j=0,K=0,X=0,W=0,J=0,Q=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,xf=0,cf=0,of=0,lf=0,uf=0,_f=0,gf=0,bf=0,mf=0,Af=0,df=0,yf=0,pf=0,Ef=0,wf=0,Sf=0,Cf=0,vf=0,Mf=0,Uf=0,Bf=0,Hf=0,Lf=0,kf=0,Nf=0,Rf=0,If=0,Df=0,Tf=0,Pf=0;p=r;E=s;w=i;S=n;C=a;M=f+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=t+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=e+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=h+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=x+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=c+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=o+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=l+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=u+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=_+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=g+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=b+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=m+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=A+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=d+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;M=y+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=A^u^e^f;U=v<<1|v>>>31;M=U+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=d^_^h^t;B=v<<1|v>>>31;M=B+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=y^g^x^e;H=v<<1|v>>>31;M=H+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=U^b^c^h;L=v<<1|v>>>31;M=L+(p<<5|p>>>27)+C+(E&w|~E&S)+0x5a827999|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=B^m^o^x;k=v<<1|v>>>31;M=k+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=H^A^l^c;N=v<<1|v>>>31;M=N+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=L^d^u^o;R=v<<1|v>>>31;M=R+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=k^y^_^l;I=v<<1|v>>>31;M=I+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=N^U^g^u;D=v<<1|v>>>31;M=D+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=R^B^b^_;T=v<<1|v>>>31;M=T+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=I^H^m^g;P=v<<1|v>>>31;M=P+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=D^L^A^b;z=v<<1|v>>>31;M=z+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=T^k^d^m;Z=v<<1|v>>>31;M=Z+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=P^N^y^A;O=v<<1|v>>>31;M=O+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=z^R^U^d;G=v<<1|v>>>31;M=G+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Z^I^B^y;F=v<<1|v>>>31;M=F+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=O^D^H^U;q=v<<1|v>>>31;M=q+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=G^T^L^B;V=v<<1|v>>>31;M=V+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=F^P^k^H;j=v<<1|v>>>31;M=j+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=q^z^N^L;K=v<<1|v>>>31;M=K+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=V^Z^R^k;X=v<<1|v>>>31;M=X+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=j^O^I^N;W=v<<1|v>>>31;M=W+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=K^G^D^R;J=v<<1|v>>>31;M=J+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=X^F^T^I;Q=v<<1|v>>>31;M=Q+(p<<5|p>>>27)+C+(E^w^S)+0x6ed9eba1|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=W^q^P^D;Y=v<<1|v>>>31;M=Y+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=J^V^z^T;$=v<<1|v>>>31;M=$+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Q^j^Z^P;ff=v<<1|v>>>31;M=ff+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Y^K^O^z;tf=v<<1|v>>>31;M=tf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=$^X^G^Z;ef=v<<1|v>>>31;M=ef+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=ff^W^F^O;rf=v<<1|v>>>31;M=rf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=tf^J^q^G;sf=v<<1|v>>>31;M=sf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=ef^Q^V^F;nf=v<<1|v>>>31;M=nf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=rf^Y^j^q;af=v<<1|v>>>31;M=af+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=sf^$^K^V;hf=v<<1|v>>>31;M=hf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=nf^ff^X^j;xf=v<<1|v>>>31;M=xf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=af^tf^W^K;cf=v<<1|v>>>31;M=cf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=hf^ef^J^X;of=v<<1|v>>>31;M=of+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=xf^rf^Q^W;lf=v<<1|v>>>31;M=lf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=cf^sf^Y^J;uf=v<<1|v>>>31;M=uf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=of^nf^$^Q;_f=v<<1|v>>>31;M=_f+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=lf^af^ff^Y;gf=v<<1|v>>>31;M=gf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=uf^hf^tf^$;bf=v<<1|v>>>31;M=bf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=_f^xf^ef^ff;mf=v<<1|v>>>31;M=mf+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=gf^cf^rf^tf;Af=v<<1|v>>>31;M=Af+(p<<5|p>>>27)+C+(E&w|E&S|w&S)-0x70e44324|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=bf^of^sf^ef;df=v<<1|v>>>31;M=df+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=mf^lf^nf^rf;yf=v<<1|v>>>31;M=yf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Af^uf^af^sf;pf=v<<1|v>>>31;M=pf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=df^_f^hf^nf;Ef=v<<1|v>>>31;M=Ef+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=yf^gf^xf^af;wf=v<<1|v>>>31;M=wf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=pf^bf^cf^hf;Sf=v<<1|v>>>31;M=Sf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Ef^mf^of^xf;Cf=v<<1|v>>>31;M=Cf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=wf^Af^lf^cf;vf=v<<1|v>>>31;M=vf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Sf^df^uf^of;Mf=v<<1|v>>>31;M=Mf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Cf^yf^_f^lf;Uf=v<<1|v>>>31;M=Uf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=vf^pf^gf^uf;Bf=v<<1|v>>>31;M=Bf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Mf^Ef^bf^_f;Hf=v<<1|v>>>31;M=Hf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Uf^wf^mf^gf;Lf=v<<1|v>>>31;M=Lf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Bf^Sf^Af^bf;kf=v<<1|v>>>31;M=kf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Hf^Cf^df^mf;Nf=v<<1|v>>>31;M=Nf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Lf^vf^yf^Af;Rf=v<<1|v>>>31;M=Rf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=kf^Mf^pf^df;If=v<<1|v>>>31;M=If+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Nf^Uf^Ef^yf;Df=v<<1|v>>>31;M=Df+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=Rf^Bf^wf^pf;Tf=v<<1|v>>>31;M=Tf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;v=If^Hf^Sf^Ef;Pf=v<<1|v>>>31;M=Pf+(p<<5|p>>>27)+C+(E^w^S)-0x359d3e2a|0;C=S;S=w;w=E<<30|E>>>2;E=p;p=M;r=r+p|0;s=s+E|0;i=i+w|0;n=n+S|0;a=a+C|0}function E(f){f=f|0;p(y[f|0]<<24|y[f|1]<<16|y[f|2]<<8|y[f|3],y[f|4]<<24|y[f|5]<<16|y[f|6]<<8|y[f|7],y[f|8]<<24|y[f|9]<<16|y[f|10]<<8|y[f|11],y[f|12]<<24|y[f|13]<<16|y[f|14]<<8|y[f|15],y[f|16]<<24|y[f|17]<<16|y[f|18]<<8|y[f|19],y[f|20]<<24|y[f|21]<<16|y[f|22]<<8|y[f|23],y[f|24]<<24|y[f|25]<<16|y[f|26]<<8|y[f|27],y[f|28]<<24|y[f|29]<<16|y[f|30]<<8|y[f|31],y[f|32]<<24|y[f|33]<<16|y[f|34]<<8|y[f|35],y[f|36]<<24|y[f|37]<<16|y[f|38]<<8|y[f|39],y[f|40]<<24|y[f|41]<<16|y[f|42]<<8|y[f|43],y[f|44]<<24|y[f|45]<<16|y[f|46]<<8|y[f|47],y[f|48]<<24|y[f|49]<<16|y[f|50]<<8|y[f|51],y[f|52]<<24|y[f|53]<<16|y[f|54]<<8|y[f|55],y[f|56]<<24|y[f|57]<<16|y[f|58]<<8|y[f|59],y[f|60]<<24|y[f|61]<<16|y[f|62]<<8|y[f|63])}function w(f){f=f|0;y[f|0]=r>>>24;y[f|1]=r>>>16&255;y[f|2]=r>>>8&255;y[f|3]=r&255;y[f|4]=s>>>24;y[f|5]=s>>>16&255;y[f|6]=s>>>8&255;y[f|7]=s&255;y[f|8]=i>>>24;y[f|9]=i>>>16&255;y[f|10]=i>>>8&255;y[f|11]=i&255;y[f|12]=n>>>24;y[f|13]=n>>>16&255;y[f|14]=n>>>8&255;y[f|15]=n&255;y[f|16]=a>>>24;y[f|17]=a>>>16&255;y[f|18]=a>>>8&255;y[f|19]=a&255}function S(){r=0x67452301;s=0xefcdab89;i=0x98badcfe;n=0x10325476;a=0xc3d2e1f0;h=x=0}function C(f,t,e,c,o,l,u){f=f|0;t=t|0;e=e|0;c=c|0;o=o|0;l=l|0;u=u|0;r=f;s=t;i=e;n=c;a=o;h=l;x=u}function v(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){E(f);f=f+64|0;t=t-64|0;e=e+64|0}h=h+e|0;if(h>>>0>>0)x=x+1|0;return e|0}function M(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,s=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=v(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;h=h+t|0;if(h>>>0>>0)x=x+1|0;y[f|t]=0x80;if((t|0)>=56){for(s=t+1|0;(s|0)<64;s=s+1|0)y[f|s]=0x00;E(f);t=0;y[f|0]=0}for(s=t+1|0;(s|0)<59;s=s+1|0)y[f|s]=0;y[f|56]=x>>>21&255;y[f|57]=x>>>13&255;y[f|58]=x>>>5&255;y[f|59]=x<<3&255|h>>>29;y[f|60]=h>>>21&255;y[f|61]=h>>>13&255;y[f|62]=h>>>5&255;y[f|63]=h<<3&255;E(f);if(~e)w(e);return r|0}function U(){r=c;s=o;i=l;n=u;a=_;h=64;x=0}function B(){r=g;s=b;i=m;n=A;a=d;h=64;x=0}function H(f,t,e,y,E,w,C,v,M,U,B,H,L,k,N,R){f=f|0;t=t|0;e=e|0;y=y|0;E=E|0;w=w|0;C=C|0;v=v|0;M=M|0;U=U|0;B=B|0;H=H|0;L=L|0;k=k|0;N=N|0;R=R|0;S();p(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,y^0x5c5c5c5c,E^0x5c5c5c5c,w^0x5c5c5c5c,C^0x5c5c5c5c,v^0x5c5c5c5c,M^0x5c5c5c5c,U^0x5c5c5c5c,B^0x5c5c5c5c,H^0x5c5c5c5c,L^0x5c5c5c5c,k^0x5c5c5c5c,N^0x5c5c5c5c,R^0x5c5c5c5c);g=r;b=s;m=i;A=n;d=a;S();p(f^0x36363636,t^0x36363636,e^0x36363636,y^0x36363636,E^0x36363636,w^0x36363636,C^0x36363636,v^0x36363636,M^0x36363636,U^0x36363636,B^0x36363636,H^0x36363636,L^0x36363636,k^0x36363636,N^0x36363636,R^0x36363636);c=r;o=s;l=i;u=n;_=a;h=64;x=0}function L(f,t,e){f=f|0;t=t|0;e=e|0;var h=0,x=0,c=0,o=0,l=0,u=0;if(f&63)return-1;if(~e)if(e&31)return-1;u=M(f,t,-1)|0;h=r,x=s,c=i,o=n,l=a;B();p(h,x,c,o,l,0x80000000,0,0,0,0,0,0,0,0,0,672);if(~e)w(e);return u|0}function k(f,t,e,h,x){f=f|0;t=t|0;e=e|0;h=h|0;x=x|0;var c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0;if(f&63)return-1;if(~x)if(x&31)return-1;y[f+t|0]=e>>>24;y[f+t+1|0]=e>>>16&255;y[f+t+2|0]=e>>>8&255;y[f+t+3|0]=e&255;L(f,t+4|0,-1)|0;c=g=r,o=b=s,l=m=i,u=A=n,_=d=a;h=h-1|0;while((h|0)>0){U();p(g,b,m,A,d,0x80000000,0,0,0,0,0,0,0,0,0,672);g=r,b=s,m=i,A=n,d=a;B();p(g,b,m,A,d,0x80000000,0,0,0,0,0,0,0,0,0,672);g=r,b=s,m=i,A=n,d=a;c=c^r;o=o^s;l=l^i;u=u^n;_=_^a;h=h-1|0}r=c;s=o;i=l;n=u;a=_;if(~x)w(x);return 0}return{reset:S,init:C,process:v,finish:M,hmac_reset:U,hmac_init:H,hmac_finish:L,pbkdf2_generate_block:k}};class Hash{constructor(){this.pos=0,this.len=0}reset(){return this.result=null,this.pos=0,this.len=0,this.asm.reset(),this}process(f){if(null!==this.result)throw new IllegalStateError("state must be reset before processing new data");let t=this.asm,e=this.heap,r=this.pos,s=this.len,i=0,n=f.length,a=0;for(;n>0;)a=_heap_write(e,r+s,f,i,n),s+=a,i+=a,n-=a,a=t.process(r,s),r+=a,s-=a,s||(r=0);return this.pos=r,this.len=s,this}finish(){if(null!==this.result)throw new IllegalStateError("state must be reset before processing new data");return this.asm.finish(this.pos,this.len,0),this.result=new Uint8Array(this.HASH_SIZE),this.result.set(this.heap.subarray(0,this.HASH_SIZE)),this.pos=0,this.len=0,this}}const _sha1_block_size=64,_sha1_hash_size=20;class Sha1 extends Hash{constructor(){super(),this.NAME="sha1",this.BLOCK_SIZE=_sha1_block_size,this.HASH_SIZE=_sha1_hash_size,this.heap=_heap_init(),this.asm=sha1_asm({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset()}}Sha1.NAME="sha1";var sha256_asm=function(f,t,e){"use asm";var r=0,s=0,i=0,n=0,a=0,h=0,x=0,c=0,o=0,l=0;var u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0;var B=new f.Uint8Array(e);function H(f,t,e,o,l,u,_,g,b,m,A,d,y,p,E,w){f=f|0;t=t|0;e=e|0;o=o|0;l=l|0;u=u|0;_=_|0;g=g|0;b=b|0;m=m|0;A=A|0;d=d|0;y=y|0;p=p|0;E=E|0;w=w|0;var S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0;S=r;C=s;v=i;M=n;U=a;B=h;H=x;L=c;L=f+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0x428a2f98|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;H=t+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0x71374491|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;B=e+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0xb5c0fbcf|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;U=o+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0xe9b5dba5|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;M=l+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x3956c25b|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;v=u+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0x59f111f1|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;C=_+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x923f82a4|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;S=g+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0xab1c5ed5|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;L=b+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0xd807aa98|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;H=m+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0x12835b01|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;B=A+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0x243185be|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;U=d+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0x550c7dc3|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;M=y+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x72be5d74|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;v=p+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0x80deb1fe|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;C=E+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x9bdc06a7|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;S=w+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0xc19bf174|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+f+m|0;L=f+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0xe49b69c1|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+t+A|0;H=t+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0xefbe4786|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+d|0;B=e+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0x0fc19dc6|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;o=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+o+y|0;U=o+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0x240ca1cc|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+p|0;M=l+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x2de92c6f|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;u=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+u+E|0;v=u+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0x4a7484aa|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+_+w|0;C=_+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x5cb0a9dc|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+g+f|0;S=g+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0x76f988da|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+b+t|0;L=b+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0x983e5152|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+e|0;H=m+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0xa831c66d|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;A=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+A+o|0;B=A+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0xb00327c8|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;d=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+d+l|0;U=d+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0xbf597fc7|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;y=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+u|0;M=y+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0xc6e00bf3|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;p=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;v=p+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0xd5a79147|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+g|0;C=E+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x06ca6351|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;w=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+w+b|0;S=w+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0x14292967|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+f+m|0;L=f+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0x27b70a85|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+t+A|0;H=t+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0x2e1b2138|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+d|0;B=e+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0x4d2c6dfc|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;o=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+o+y|0;U=o+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0x53380d13|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+p|0;M=l+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x650a7354|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;u=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+u+E|0;v=u+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0x766a0abb|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+_+w|0;C=_+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x81c2c92e|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+g+f|0;S=g+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0x92722c85|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+b+t|0;L=b+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0xa2bfe8a1|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+e|0;H=m+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0xa81a664b|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;A=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+A+o|0;B=A+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0xc24b8b70|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;d=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+d+l|0;U=d+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0xc76c51a3|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;y=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+u|0;M=y+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0xd192e819|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;p=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;v=p+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0xd6990624|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+g|0;C=E+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0xf40e3585|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;w=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+w+b|0;S=w+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0x106aa070|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;f=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+f+m|0;L=f+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0x19a4c116|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;t=(e>>>7^e>>>18^e>>>3^e<<25^e<<14)+(w>>>17^w>>>19^w>>>10^w<<15^w<<13)+t+A|0;H=t+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0x1e376c08|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;e=(o>>>7^o>>>18^o>>>3^o<<25^o<<14)+(f>>>17^f>>>19^f>>>10^f<<15^f<<13)+e+d|0;B=e+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0x2748774c|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;o=(l>>>7^l>>>18^l>>>3^l<<25^l<<14)+(t>>>17^t>>>19^t>>>10^t<<15^t<<13)+o+y|0;U=o+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0x34b0bcb5|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;l=(u>>>7^u>>>18^u>>>3^u<<25^u<<14)+(e>>>17^e>>>19^e>>>10^e<<15^e<<13)+l+p|0;M=l+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x391c0cb3|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;u=(_>>>7^_>>>18^_>>>3^_<<25^_<<14)+(o>>>17^o>>>19^o>>>10^o<<15^o<<13)+u+E|0;v=u+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0x4ed8aa4a|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;_=(g>>>7^g>>>18^g>>>3^g<<25^g<<14)+(l>>>17^l>>>19^l>>>10^l<<15^l<<13)+_+w|0;C=_+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0x5b9cca4f|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;g=(b>>>7^b>>>18^b>>>3^b<<25^b<<14)+(u>>>17^u>>>19^u>>>10^u<<15^u<<13)+g+f|0;S=g+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0x682e6ff3|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;b=(m>>>7^m>>>18^m>>>3^m<<25^m<<14)+(_>>>17^_>>>19^_>>>10^_<<15^_<<13)+b+t|0;L=b+L+(U>>>6^U>>>11^U>>>25^U<<26^U<<21^U<<7)+(H^U&(B^H))+0x748f82ee|0;M=M+L|0;L=L+(S&C^v&(S^C))+(S>>>2^S>>>13^S>>>22^S<<30^S<<19^S<<10)|0;m=(A>>>7^A>>>18^A>>>3^A<<25^A<<14)+(g>>>17^g>>>19^g>>>10^g<<15^g<<13)+m+e|0;H=m+H+(M>>>6^M>>>11^M>>>25^M<<26^M<<21^M<<7)+(B^M&(U^B))+0x78a5636f|0;v=v+H|0;H=H+(L&S^C&(L^S))+(L>>>2^L>>>13^L>>>22^L<<30^L<<19^L<<10)|0;A=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(b>>>17^b>>>19^b>>>10^b<<15^b<<13)+A+o|0;B=A+B+(v>>>6^v>>>11^v>>>25^v<<26^v<<21^v<<7)+(U^v&(M^U))+0x84c87814|0;C=C+B|0;B=B+(H&L^S&(H^L))+(H>>>2^H>>>13^H>>>22^H<<30^H<<19^H<<10)|0;d=(y>>>7^y>>>18^y>>>3^y<<25^y<<14)+(m>>>17^m>>>19^m>>>10^m<<15^m<<13)+d+l|0;U=d+U+(C>>>6^C>>>11^C>>>25^C<<26^C<<21^C<<7)+(M^C&(v^M))+0x8cc70208|0;S=S+U|0;U=U+(B&H^L&(B^H))+(B>>>2^B>>>13^B>>>22^B<<30^B<<19^B<<10)|0;y=(p>>>7^p>>>18^p>>>3^p<<25^p<<14)+(A>>>17^A>>>19^A>>>10^A<<15^A<<13)+y+u|0;M=y+M+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(v^S&(C^v))+0x90befffa|0;L=L+M|0;M=M+(U&B^H&(U^B))+(U>>>2^U>>>13^U>>>22^U<<30^U<<19^U<<10)|0;p=(E>>>7^E>>>18^E>>>3^E<<25^E<<14)+(d>>>17^d>>>19^d>>>10^d<<15^d<<13)+p+_|0;v=p+v+(L>>>6^L>>>11^L>>>25^L<<26^L<<21^L<<7)+(C^L&(S^C))+0xa4506ceb|0;H=H+v|0;v=v+(M&U^B&(M^U))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0;E=(w>>>7^w>>>18^w>>>3^w<<25^w<<14)+(y>>>17^y>>>19^y>>>10^y<<15^y<<13)+E+g|0;C=E+C+(H>>>6^H>>>11^H>>>25^H<<26^H<<21^H<<7)+(S^H&(L^S))+0xbef9a3f7|0;B=B+C|0;C=C+(v&M^U&(v^M))+(v>>>2^v>>>13^v>>>22^v<<30^v<<19^v<<10)|0;w=(f>>>7^f>>>18^f>>>3^f<<25^f<<14)+(p>>>17^p>>>19^p>>>10^p<<15^p<<13)+w+b|0;S=w+S+(B>>>6^B>>>11^B>>>25^B<<26^B<<21^B<<7)+(L^B&(H^L))+0xc67178f2|0;U=U+S|0;S=S+(C&v^M&(C^v))+(C>>>2^C>>>13^C>>>22^C<<30^C<<19^C<<10)|0;r=r+S|0;s=s+C|0;i=i+v|0;n=n+M|0;a=a+U|0;h=h+B|0;x=x+H|0;c=c+L|0}function L(f){f=f|0;H(B[f|0]<<24|B[f|1]<<16|B[f|2]<<8|B[f|3],B[f|4]<<24|B[f|5]<<16|B[f|6]<<8|B[f|7],B[f|8]<<24|B[f|9]<<16|B[f|10]<<8|B[f|11],B[f|12]<<24|B[f|13]<<16|B[f|14]<<8|B[f|15],B[f|16]<<24|B[f|17]<<16|B[f|18]<<8|B[f|19],B[f|20]<<24|B[f|21]<<16|B[f|22]<<8|B[f|23],B[f|24]<<24|B[f|25]<<16|B[f|26]<<8|B[f|27],B[f|28]<<24|B[f|29]<<16|B[f|30]<<8|B[f|31],B[f|32]<<24|B[f|33]<<16|B[f|34]<<8|B[f|35],B[f|36]<<24|B[f|37]<<16|B[f|38]<<8|B[f|39],B[f|40]<<24|B[f|41]<<16|B[f|42]<<8|B[f|43],B[f|44]<<24|B[f|45]<<16|B[f|46]<<8|B[f|47],B[f|48]<<24|B[f|49]<<16|B[f|50]<<8|B[f|51],B[f|52]<<24|B[f|53]<<16|B[f|54]<<8|B[f|55],B[f|56]<<24|B[f|57]<<16|B[f|58]<<8|B[f|59],B[f|60]<<24|B[f|61]<<16|B[f|62]<<8|B[f|63])}function k(f){f=f|0;B[f|0]=r>>>24;B[f|1]=r>>>16&255;B[f|2]=r>>>8&255;B[f|3]=r&255;B[f|4]=s>>>24;B[f|5]=s>>>16&255;B[f|6]=s>>>8&255;B[f|7]=s&255;B[f|8]=i>>>24;B[f|9]=i>>>16&255;B[f|10]=i>>>8&255;B[f|11]=i&255;B[f|12]=n>>>24;B[f|13]=n>>>16&255;B[f|14]=n>>>8&255;B[f|15]=n&255;B[f|16]=a>>>24;B[f|17]=a>>>16&255;B[f|18]=a>>>8&255;B[f|19]=a&255;B[f|20]=h>>>24;B[f|21]=h>>>16&255;B[f|22]=h>>>8&255;B[f|23]=h&255;B[f|24]=x>>>24;B[f|25]=x>>>16&255;B[f|26]=x>>>8&255;B[f|27]=x&255;B[f|28]=c>>>24;B[f|29]=c>>>16&255;B[f|30]=c>>>8&255;B[f|31]=c&255}function N(){r=0x6a09e667;s=0xbb67ae85;i=0x3c6ef372;n=0xa54ff53a;a=0x510e527f;h=0x9b05688c;x=0x1f83d9ab;c=0x5be0cd19;o=l=0}function R(f,t,e,u,_,g,b,m,A,d){f=f|0;t=t|0;e=e|0;u=u|0;_=_|0;g=g|0;b=b|0;m=m|0;A=A|0;d=d|0;r=f;s=t;i=e;n=u;a=_;h=g;x=b;c=m;o=A;l=d}function I(f,t){f=f|0;t=t|0;var e=0;if(f&63)return-1;while((t|0)>=64){L(f);f=f+64|0;t=t-64|0;e=e+64|0}o=o+e|0;if(o>>>0>>0)l=l+1|0;return e|0}function D(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,s=0;if(f&63)return-1;if(~e)if(e&31)return-1;if((t|0)>=64){r=I(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;o=o+t|0;if(o>>>0>>0)l=l+1|0;B[f|t]=0x80;if((t|0)>=56){for(s=t+1|0;(s|0)<64;s=s+1|0)B[f|s]=0x00;L(f);t=0;B[f|0]=0}for(s=t+1|0;(s|0)<59;s=s+1|0)B[f|s]=0;B[f|56]=l>>>21&255;B[f|57]=l>>>13&255;B[f|58]=l>>>5&255;B[f|59]=l<<3&255|o>>>29;B[f|60]=o>>>21&255;B[f|61]=o>>>13&255;B[f|62]=o>>>5&255;B[f|63]=o<<3&255;L(f);if(~e)k(e);return r|0}function T(){r=u;s=_;i=g;n=b;a=m;h=A;x=d;c=y;o=64;l=0}function P(){r=p;s=E;i=w;n=S;a=C;h=v;x=M;c=U;o=64;l=0}function z(f,t,e,B,L,k,R,I,D,T,P,z,Z,O,G,F){f=f|0;t=t|0;e=e|0;B=B|0;L=L|0;k=k|0;R=R|0;I=I|0;D=D|0;T=T|0;P=P|0;z=z|0;Z=Z|0;O=O|0;G=G|0;F=F|0;N();H(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,B^0x5c5c5c5c,L^0x5c5c5c5c,k^0x5c5c5c5c,R^0x5c5c5c5c,I^0x5c5c5c5c,D^0x5c5c5c5c,T^0x5c5c5c5c,P^0x5c5c5c5c,z^0x5c5c5c5c,Z^0x5c5c5c5c,O^0x5c5c5c5c,G^0x5c5c5c5c,F^0x5c5c5c5c);p=r;E=s;w=i;S=n;C=a;v=h;M=x;U=c;N();H(f^0x36363636,t^0x36363636,e^0x36363636,B^0x36363636,L^0x36363636,k^0x36363636,R^0x36363636,I^0x36363636,D^0x36363636,T^0x36363636,P^0x36363636,z^0x36363636,Z^0x36363636,O^0x36363636,G^0x36363636,F^0x36363636);u=r;_=s;g=i;b=n;m=a;A=h;d=x;y=c;o=64;l=0}function Z(f,t,e){f=f|0;t=t|0;e=e|0;var o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0;if(f&63)return-1;if(~e)if(e&31)return-1;d=D(f,t,-1)|0;o=r,l=s,u=i,_=n,g=a,b=h,m=x,A=c;P();H(o,l,u,_,g,b,m,A,0x80000000,0,0,0,0,0,0,768);if(~e)k(e);return d|0}function O(f,t,e,o,l){f=f|0;t=t|0;e=e|0;o=o|0;l=l|0;var u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0;if(f&63)return-1;if(~l)if(l&31)return-1;B[f+t|0]=e>>>24;B[f+t+1|0]=e>>>16&255;B[f+t+2|0]=e>>>8&255;B[f+t+3|0]=e&255;Z(f,t+4|0,-1)|0;u=p=r,_=E=s,g=w=i,b=S=n,m=C=a,A=v=h,d=M=x,y=U=c;o=o-1|0;while((o|0)>0){T();H(p,E,w,S,C,v,M,U,0x80000000,0,0,0,0,0,0,768);p=r,E=s,w=i,S=n,C=a,v=h,M=x,U=c;P();H(p,E,w,S,C,v,M,U,0x80000000,0,0,0,0,0,0,768);p=r,E=s,w=i,S=n,C=a,v=h,M=x,U=c;u=u^r;_=_^s;g=g^i;b=b^n;m=m^a;A=A^h;d=d^x;y=y^c;o=o-1|0}r=u;s=_;i=g;n=b;a=m;h=A;x=d;c=y;if(~l)k(l);return 0}return{reset:N,init:R,process:I,finish:D,hmac_reset:T,hmac_init:z,hmac_finish:Z,pbkdf2_generate_block:O}};const _sha256_block_size=64,_sha256_hash_size=32;class Sha256 extends Hash{constructor(){super(),this.NAME="sha256",this.BLOCK_SIZE=_sha256_block_size,this.HASH_SIZE=_sha256_hash_size,this.heap=_heap_init(),this.asm=sha256_asm({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset()}}Sha256.NAME="sha256";var sha512_asm=function(f,t,e){"use asm";var r=0,s=0,i=0,n=0,a=0,h=0,x=0,c=0,o=0,l=0,u=0,_=0,g=0,b=0,m=0,A=0,d=0,y=0;var p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0,D=0,T=0,P=0,z=0,Z=0,O=0,G=0,F=0,q=0,V=0,j=0,K=0,X=0,W=0,J=0,Q=0,Y=0;var $=new f.Uint8Array(e);function ff(f,t,e,d,y,p,E,w,S,C,v,M,U,B,H,L,k,N,R,I,D,T,P,z,Z,O,G,F,q,V,j,K){f=f|0;t=t|0;e=e|0;d=d|0;y=y|0;p=p|0;E=E|0;w=w|0;S=S|0;C=C|0;v=v|0;M=M|0;U=U|0;B=B|0;H=H|0;L=L|0;k=k|0;N=N|0;R=R|0;I=I|0;D=D|0;T=T|0;P=P|0;z=z|0;Z=Z|0;O=O|0;G=G|0;F=F|0;q=q|0;V=V|0;j=j|0;K=K|0;var X=0,W=0,J=0,Q=0,Y=0,$=0,ff=0,tf=0,ef=0,rf=0,sf=0,nf=0,af=0,hf=0,xf=0,cf=0,of=0,lf=0,uf=0;X=r;W=s;J=i;Q=n;Y=a;$=h;ff=x;tf=c;ef=o;rf=l;sf=u;nf=_;af=g;hf=b;xf=m;cf=A;lf=0xd728ae22+t|0;of=0x428a2f98+f+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x23ef65cd+d|0;of=0x71374491+e+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xec4d3b2f+p|0;of=0xb5c0fbcf+y+(lf>>>0

>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x8189dbbc+w|0;of=0xe9b5dba5+E+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xf348b538+C|0;of=0x3956c25b+S+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xb605d019+M|0;of=0x59f111f1+v+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xaf194f9b+B|0;of=0x923f82a4+U+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xda6d8118+L|0;of=0xab1c5ed5+H+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xa3030242+N|0;of=0xd807aa98+k+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x45706fbe+I|0;of=0x12835b01+R+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x4ee4b28c+T|0;of=0x243185be+D+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xd5ffb4e2+z|0;of=0x550c7dc3+P+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xf27b896f+O|0;of=0x72be5d74+Z+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x3b1696b1+F|0;of=0x80deb1fe+G+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0x25c71235+V|0;of=0x9bdc06a7+q+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;lf=0xcf692694+K|0;of=0xc19bf174+j+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;t=t+I|0;f=f+R+(t>>>0>>0?1:0)|0;uf=(d>>>1|e<<31)^(d>>>8|e<<24)^(d>>>7|e<<25)|0;t=t+uf|0;f=f+((e>>>1|d<<31)^(e>>>8|d<<24)^e>>>7)+(t>>>0>>0?1:0)|0;uf=(V>>>19|q<<13)^(V<<3|q>>>29)^(V>>>6|q<<26)|0;t=t+uf|0;f=f+((q>>>19|V<<13)^(q<<3|V>>>29)^q>>>6)+(t>>>0>>0?1:0)|0;lf=0x9ef14ad2+t|0;of=0xe49b69c1+f+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;d=d+T|0;e=e+D+(d>>>0>>0?1:0)|0;uf=(p>>>1|y<<31)^(p>>>8|y<<24)^(p>>>7|y<<25)|0;d=d+uf|0;e=e+((y>>>1|p<<31)^(y>>>8|p<<24)^y>>>7)+(d>>>0>>0?1:0)|0;uf=(K>>>19|j<<13)^(K<<3|j>>>29)^(K>>>6|j<<26)|0;d=d+uf|0;e=e+((j>>>19|K<<13)^(j<<3|K>>>29)^j>>>6)+(d>>>0>>0?1:0)|0;lf=0x384f25e3+d|0;of=0xefbe4786+e+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;p=p+z|0;y=y+P+(p>>>0>>0?1:0)|0;uf=(w>>>1|E<<31)^(w>>>8|E<<24)^(w>>>7|E<<25)|0;p=p+uf|0;y=y+((E>>>1|w<<31)^(E>>>8|w<<24)^E>>>7)+(p>>>0>>0?1:0)|0;uf=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;p=p+uf|0;y=y+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(p>>>0>>0?1:0)|0;lf=0x8b8cd5b5+p|0;of=0xfc19dc6+y+(lf>>>0

>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;w=w+O|0;E=E+Z+(w>>>0>>0?1:0)|0;uf=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25)|0;w=w+uf|0;E=E+((S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7)+(w>>>0>>0?1:0)|0;uf=(d>>>19|e<<13)^(d<<3|e>>>29)^(d>>>6|e<<26)|0;w=w+uf|0;E=E+((e>>>19|d<<13)^(e<<3|d>>>29)^e>>>6)+(w>>>0>>0?1:0)|0;lf=0x77ac9c65+w|0;of=0x240ca1cc+E+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;C=C+F|0;S=S+G+(C>>>0>>0?1:0)|0;uf=(M>>>1|v<<31)^(M>>>8|v<<24)^(M>>>7|v<<25)|0;C=C+uf|0;S=S+((v>>>1|M<<31)^(v>>>8|M<<24)^v>>>7)+(C>>>0>>0?1:0)|0;uf=(p>>>19|y<<13)^(p<<3|y>>>29)^(p>>>6|y<<26)|0;C=C+uf|0;S=S+((y>>>19|p<<13)^(y<<3|p>>>29)^y>>>6)+(C>>>0>>0?1:0)|0;lf=0x592b0275+C|0;of=0x2de92c6f+S+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;M=M+V|0;v=v+q+(M>>>0>>0?1:0)|0;uf=(B>>>1|U<<31)^(B>>>8|U<<24)^(B>>>7|U<<25)|0;M=M+uf|0;v=v+((U>>>1|B<<31)^(U>>>8|B<<24)^U>>>7)+(M>>>0>>0?1:0)|0;uf=(w>>>19|E<<13)^(w<<3|E>>>29)^(w>>>6|E<<26)|0;M=M+uf|0;v=v+((E>>>19|w<<13)^(E<<3|w>>>29)^E>>>6)+(M>>>0>>0?1:0)|0;lf=0x6ea6e483+M|0;of=0x4a7484aa+v+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;B=B+K|0;U=U+j+(B>>>0>>0?1:0)|0;uf=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;B=B+uf|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(B>>>0>>0?1:0)|0;uf=(C>>>19|S<<13)^(C<<3|S>>>29)^(C>>>6|S<<26)|0;B=B+uf|0;U=U+((S>>>19|C<<13)^(S<<3|C>>>29)^S>>>6)+(B>>>0>>0?1:0)|0;lf=0xbd41fbd4+B|0;of=0x5cb0a9dc+U+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;L=L+t|0;H=H+f+(L>>>0>>0?1:0)|0;uf=(N>>>1|k<<31)^(N>>>8|k<<24)^(N>>>7|k<<25)|0;L=L+uf|0;H=H+((k>>>1|N<<31)^(k>>>8|N<<24)^k>>>7)+(L>>>0>>0?1:0)|0;uf=(M>>>19|v<<13)^(M<<3|v>>>29)^(M>>>6|v<<26)|0;L=L+uf|0;H=H+((v>>>19|M<<13)^(v<<3|M>>>29)^v>>>6)+(L>>>0>>0?1:0)|0;lf=0x831153b5+L|0;of=0x76f988da+H+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;N=N+d|0;k=k+e+(N>>>0>>0?1:0)|0;uf=(I>>>1|R<<31)^(I>>>8|R<<24)^(I>>>7|R<<25)|0;N=N+uf|0;k=k+((R>>>1|I<<31)^(R>>>8|I<<24)^R>>>7)+(N>>>0>>0?1:0)|0;uf=(B>>>19|U<<13)^(B<<3|U>>>29)^(B>>>6|U<<26)|0;N=N+uf|0;k=k+((U>>>19|B<<13)^(U<<3|B>>>29)^U>>>6)+(N>>>0>>0?1:0)|0;lf=0xee66dfab+N|0;of=0x983e5152+k+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;I=I+p|0;R=R+y+(I>>>0

>>0?1:0)|0;uf=(T>>>1|D<<31)^(T>>>8|D<<24)^(T>>>7|D<<25)|0;I=I+uf|0;R=R+((D>>>1|T<<31)^(D>>>8|T<<24)^D>>>7)+(I>>>0>>0?1:0)|0;uf=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;I=I+uf|0;R=R+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(I>>>0>>0?1:0)|0;lf=0x2db43210+I|0;of=0xa831c66d+R+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;T=T+w|0;D=D+E+(T>>>0>>0?1:0)|0;uf=(z>>>1|P<<31)^(z>>>8|P<<24)^(z>>>7|P<<25)|0;T=T+uf|0;D=D+((P>>>1|z<<31)^(P>>>8|z<<24)^P>>>7)+(T>>>0>>0?1:0)|0;uf=(N>>>19|k<<13)^(N<<3|k>>>29)^(N>>>6|k<<26)|0;T=T+uf|0;D=D+((k>>>19|N<<13)^(k<<3|N>>>29)^k>>>6)+(T>>>0>>0?1:0)|0;lf=0x98fb213f+T|0;of=0xb00327c8+D+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;z=z+C|0;P=P+S+(z>>>0>>0?1:0)|0;uf=(O>>>1|Z<<31)^(O>>>8|Z<<24)^(O>>>7|Z<<25)|0;z=z+uf|0;P=P+((Z>>>1|O<<31)^(Z>>>8|O<<24)^Z>>>7)+(z>>>0>>0?1:0)|0;uf=(I>>>19|R<<13)^(I<<3|R>>>29)^(I>>>6|R<<26)|0;z=z+uf|0;P=P+((R>>>19|I<<13)^(R<<3|I>>>29)^R>>>6)+(z>>>0>>0?1:0)|0;lf=0xbeef0ee4+z|0;of=0xbf597fc7+P+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;O=O+M|0;Z=Z+v+(O>>>0>>0?1:0)|0;uf=(F>>>1|G<<31)^(F>>>8|G<<24)^(F>>>7|G<<25)|0;O=O+uf|0;Z=Z+((G>>>1|F<<31)^(G>>>8|F<<24)^G>>>7)+(O>>>0>>0?1:0)|0;uf=(T>>>19|D<<13)^(T<<3|D>>>29)^(T>>>6|D<<26)|0;O=O+uf|0;Z=Z+((D>>>19|T<<13)^(D<<3|T>>>29)^D>>>6)+(O>>>0>>0?1:0)|0;lf=0x3da88fc2+O|0;of=0xc6e00bf3+Z+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;F=F+B|0;G=G+U+(F>>>0>>0?1:0)|0;uf=(V>>>1|q<<31)^(V>>>8|q<<24)^(V>>>7|q<<25)|0;F=F+uf|0;G=G+((q>>>1|V<<31)^(q>>>8|V<<24)^q>>>7)+(F>>>0>>0?1:0)|0;uf=(z>>>19|P<<13)^(z<<3|P>>>29)^(z>>>6|P<<26)|0;F=F+uf|0;G=G+((P>>>19|z<<13)^(P<<3|z>>>29)^P>>>6)+(F>>>0>>0?1:0)|0;lf=0x930aa725+F|0;of=0xd5a79147+G+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;V=V+L|0;q=q+H+(V>>>0>>0?1:0)|0;uf=(K>>>1|j<<31)^(K>>>8|j<<24)^(K>>>7|j<<25)|0;V=V+uf|0;q=q+((j>>>1|K<<31)^(j>>>8|K<<24)^j>>>7)+(V>>>0>>0?1:0)|0;uf=(O>>>19|Z<<13)^(O<<3|Z>>>29)^(O>>>6|Z<<26)|0;V=V+uf|0;q=q+((Z>>>19|O<<13)^(Z<<3|O>>>29)^Z>>>6)+(V>>>0>>0?1:0)|0;lf=0xe003826f+V|0;of=0x6ca6351+q+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;K=K+N|0;j=j+k+(K>>>0>>0?1:0)|0;uf=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;K=K+uf|0;j=j+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(K>>>0>>0?1:0)|0;uf=(F>>>19|G<<13)^(F<<3|G>>>29)^(F>>>6|G<<26)|0;K=K+uf|0;j=j+((G>>>19|F<<13)^(G<<3|F>>>29)^G>>>6)+(K>>>0>>0?1:0)|0;lf=0xa0e6e70+K|0;of=0x14292967+j+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;t=t+I|0;f=f+R+(t>>>0>>0?1:0)|0;uf=(d>>>1|e<<31)^(d>>>8|e<<24)^(d>>>7|e<<25)|0;t=t+uf|0;f=f+((e>>>1|d<<31)^(e>>>8|d<<24)^e>>>7)+(t>>>0>>0?1:0)|0;uf=(V>>>19|q<<13)^(V<<3|q>>>29)^(V>>>6|q<<26)|0;t=t+uf|0;f=f+((q>>>19|V<<13)^(q<<3|V>>>29)^q>>>6)+(t>>>0>>0?1:0)|0;lf=0x46d22ffc+t|0;of=0x27b70a85+f+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;d=d+T|0;e=e+D+(d>>>0>>0?1:0)|0;uf=(p>>>1|y<<31)^(p>>>8|y<<24)^(p>>>7|y<<25)|0;d=d+uf|0;e=e+((y>>>1|p<<31)^(y>>>8|p<<24)^y>>>7)+(d>>>0>>0?1:0)|0;uf=(K>>>19|j<<13)^(K<<3|j>>>29)^(K>>>6|j<<26)|0;d=d+uf|0;e=e+((j>>>19|K<<13)^(j<<3|K>>>29)^j>>>6)+(d>>>0>>0?1:0)|0;lf=0x5c26c926+d|0;of=0x2e1b2138+e+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;p=p+z|0;y=y+P+(p>>>0>>0?1:0)|0;uf=(w>>>1|E<<31)^(w>>>8|E<<24)^(w>>>7|E<<25)|0;p=p+uf|0;y=y+((E>>>1|w<<31)^(E>>>8|w<<24)^E>>>7)+(p>>>0>>0?1:0)|0;uf=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;p=p+uf|0;y=y+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(p>>>0>>0?1:0)|0;lf=0x5ac42aed+p|0;of=0x4d2c6dfc+y+(lf>>>0

>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;w=w+O|0;E=E+Z+(w>>>0>>0?1:0)|0;uf=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25)|0;w=w+uf|0;E=E+((S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7)+(w>>>0>>0?1:0)|0;uf=(d>>>19|e<<13)^(d<<3|e>>>29)^(d>>>6|e<<26)|0;w=w+uf|0;E=E+((e>>>19|d<<13)^(e<<3|d>>>29)^e>>>6)+(w>>>0>>0?1:0)|0;lf=0x9d95b3df+w|0;of=0x53380d13+E+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;C=C+F|0;S=S+G+(C>>>0>>0?1:0)|0;uf=(M>>>1|v<<31)^(M>>>8|v<<24)^(M>>>7|v<<25)|0;C=C+uf|0;S=S+((v>>>1|M<<31)^(v>>>8|M<<24)^v>>>7)+(C>>>0>>0?1:0)|0;uf=(p>>>19|y<<13)^(p<<3|y>>>29)^(p>>>6|y<<26)|0;C=C+uf|0;S=S+((y>>>19|p<<13)^(y<<3|p>>>29)^y>>>6)+(C>>>0>>0?1:0)|0;lf=0x8baf63de+C|0;of=0x650a7354+S+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;M=M+V|0;v=v+q+(M>>>0>>0?1:0)|0;uf=(B>>>1|U<<31)^(B>>>8|U<<24)^(B>>>7|U<<25)|0;M=M+uf|0;v=v+((U>>>1|B<<31)^(U>>>8|B<<24)^U>>>7)+(M>>>0>>0?1:0)|0;uf=(w>>>19|E<<13)^(w<<3|E>>>29)^(w>>>6|E<<26)|0;M=M+uf|0;v=v+((E>>>19|w<<13)^(E<<3|w>>>29)^E>>>6)+(M>>>0>>0?1:0)|0;lf=0x3c77b2a8+M|0;of=0x766a0abb+v+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;B=B+K|0;U=U+j+(B>>>0>>0?1:0)|0;uf=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;B=B+uf|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(B>>>0>>0?1:0)|0;uf=(C>>>19|S<<13)^(C<<3|S>>>29)^(C>>>6|S<<26)|0;B=B+uf|0;U=U+((S>>>19|C<<13)^(S<<3|C>>>29)^S>>>6)+(B>>>0>>0?1:0)|0;lf=0x47edaee6+B|0;of=0x81c2c92e+U+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;L=L+t|0;H=H+f+(L>>>0>>0?1:0)|0;uf=(N>>>1|k<<31)^(N>>>8|k<<24)^(N>>>7|k<<25)|0;L=L+uf|0;H=H+((k>>>1|N<<31)^(k>>>8|N<<24)^k>>>7)+(L>>>0>>0?1:0)|0;uf=(M>>>19|v<<13)^(M<<3|v>>>29)^(M>>>6|v<<26)|0;L=L+uf|0;H=H+((v>>>19|M<<13)^(v<<3|M>>>29)^v>>>6)+(L>>>0>>0?1:0)|0;lf=0x1482353b+L|0;of=0x92722c85+H+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;N=N+d|0;k=k+e+(N>>>0>>0?1:0)|0;uf=(I>>>1|R<<31)^(I>>>8|R<<24)^(I>>>7|R<<25)|0;N=N+uf|0;k=k+((R>>>1|I<<31)^(R>>>8|I<<24)^R>>>7)+(N>>>0>>0?1:0)|0;uf=(B>>>19|U<<13)^(B<<3|U>>>29)^(B>>>6|U<<26)|0;N=N+uf|0;k=k+((U>>>19|B<<13)^(U<<3|B>>>29)^U>>>6)+(N>>>0>>0?1:0)|0;lf=0x4cf10364+N|0;of=0xa2bfe8a1+k+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;I=I+p|0;R=R+y+(I>>>0

>>0?1:0)|0;uf=(T>>>1|D<<31)^(T>>>8|D<<24)^(T>>>7|D<<25)|0;I=I+uf|0;R=R+((D>>>1|T<<31)^(D>>>8|T<<24)^D>>>7)+(I>>>0>>0?1:0)|0;uf=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;I=I+uf|0;R=R+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(I>>>0>>0?1:0)|0;lf=0xbc423001+I|0;of=0xa81a664b+R+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;T=T+w|0;D=D+E+(T>>>0>>0?1:0)|0;uf=(z>>>1|P<<31)^(z>>>8|P<<24)^(z>>>7|P<<25)|0;T=T+uf|0;D=D+((P>>>1|z<<31)^(P>>>8|z<<24)^P>>>7)+(T>>>0>>0?1:0)|0;uf=(N>>>19|k<<13)^(N<<3|k>>>29)^(N>>>6|k<<26)|0;T=T+uf|0;D=D+((k>>>19|N<<13)^(k<<3|N>>>29)^k>>>6)+(T>>>0>>0?1:0)|0;lf=0xd0f89791+T|0;of=0xc24b8b70+D+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;z=z+C|0;P=P+S+(z>>>0>>0?1:0)|0;uf=(O>>>1|Z<<31)^(O>>>8|Z<<24)^(O>>>7|Z<<25)|0;z=z+uf|0;P=P+((Z>>>1|O<<31)^(Z>>>8|O<<24)^Z>>>7)+(z>>>0>>0?1:0)|0;uf=(I>>>19|R<<13)^(I<<3|R>>>29)^(I>>>6|R<<26)|0;z=z+uf|0;P=P+((R>>>19|I<<13)^(R<<3|I>>>29)^R>>>6)+(z>>>0>>0?1:0)|0;lf=0x654be30+z|0;of=0xc76c51a3+P+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;O=O+M|0;Z=Z+v+(O>>>0>>0?1:0)|0;uf=(F>>>1|G<<31)^(F>>>8|G<<24)^(F>>>7|G<<25)|0;O=O+uf|0;Z=Z+((G>>>1|F<<31)^(G>>>8|F<<24)^G>>>7)+(O>>>0>>0?1:0)|0;uf=(T>>>19|D<<13)^(T<<3|D>>>29)^(T>>>6|D<<26)|0;O=O+uf|0;Z=Z+((D>>>19|T<<13)^(D<<3|T>>>29)^D>>>6)+(O>>>0>>0?1:0)|0;lf=0xd6ef5218+O|0;of=0xd192e819+Z+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;F=F+B|0;G=G+U+(F>>>0>>0?1:0)|0;uf=(V>>>1|q<<31)^(V>>>8|q<<24)^(V>>>7|q<<25)|0;F=F+uf|0;G=G+((q>>>1|V<<31)^(q>>>8|V<<24)^q>>>7)+(F>>>0>>0?1:0)|0;uf=(z>>>19|P<<13)^(z<<3|P>>>29)^(z>>>6|P<<26)|0;F=F+uf|0;G=G+((P>>>19|z<<13)^(P<<3|z>>>29)^P>>>6)+(F>>>0>>0?1:0)|0;lf=0x5565a910+F|0;of=0xd6990624+G+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;V=V+L|0;q=q+H+(V>>>0>>0?1:0)|0;uf=(K>>>1|j<<31)^(K>>>8|j<<24)^(K>>>7|j<<25)|0;V=V+uf|0;q=q+((j>>>1|K<<31)^(j>>>8|K<<24)^j>>>7)+(V>>>0>>0?1:0)|0;uf=(O>>>19|Z<<13)^(O<<3|Z>>>29)^(O>>>6|Z<<26)|0;V=V+uf|0;q=q+((Z>>>19|O<<13)^(Z<<3|O>>>29)^Z>>>6)+(V>>>0>>0?1:0)|0;lf=0x5771202a+V|0;of=0xf40e3585+q+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;K=K+N|0;j=j+k+(K>>>0>>0?1:0)|0;uf=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;K=K+uf|0;j=j+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(K>>>0>>0?1:0)|0;uf=(F>>>19|G<<13)^(F<<3|G>>>29)^(F>>>6|G<<26)|0;K=K+uf|0;j=j+((G>>>19|F<<13)^(G<<3|F>>>29)^G>>>6)+(K>>>0>>0?1:0)|0;lf=0x32bbd1b8+K|0;of=0x106aa070+j+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;t=t+I|0;f=f+R+(t>>>0>>0?1:0)|0;uf=(d>>>1|e<<31)^(d>>>8|e<<24)^(d>>>7|e<<25)|0;t=t+uf|0;f=f+((e>>>1|d<<31)^(e>>>8|d<<24)^e>>>7)+(t>>>0>>0?1:0)|0;uf=(V>>>19|q<<13)^(V<<3|q>>>29)^(V>>>6|q<<26)|0;t=t+uf|0;f=f+((q>>>19|V<<13)^(q<<3|V>>>29)^q>>>6)+(t>>>0>>0?1:0)|0;lf=0xb8d2d0c8+t|0;of=0x19a4c116+f+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;d=d+T|0;e=e+D+(d>>>0>>0?1:0)|0;uf=(p>>>1|y<<31)^(p>>>8|y<<24)^(p>>>7|y<<25)|0;d=d+uf|0;e=e+((y>>>1|p<<31)^(y>>>8|p<<24)^y>>>7)+(d>>>0>>0?1:0)|0;uf=(K>>>19|j<<13)^(K<<3|j>>>29)^(K>>>6|j<<26)|0;d=d+uf|0;e=e+((j>>>19|K<<13)^(j<<3|K>>>29)^j>>>6)+(d>>>0>>0?1:0)|0;lf=0x5141ab53+d|0;of=0x1e376c08+e+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;p=p+z|0;y=y+P+(p>>>0>>0?1:0)|0;uf=(w>>>1|E<<31)^(w>>>8|E<<24)^(w>>>7|E<<25)|0;p=p+uf|0;y=y+((E>>>1|w<<31)^(E>>>8|w<<24)^E>>>7)+(p>>>0>>0?1:0)|0;uf=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;p=p+uf|0;y=y+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(p>>>0>>0?1:0)|0;lf=0xdf8eeb99+p|0;of=0x2748774c+y+(lf>>>0

>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;w=w+O|0;E=E+Z+(w>>>0>>0?1:0)|0;uf=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25)|0;w=w+uf|0;E=E+((S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7)+(w>>>0>>0?1:0)|0;uf=(d>>>19|e<<13)^(d<<3|e>>>29)^(d>>>6|e<<26)|0;w=w+uf|0;E=E+((e>>>19|d<<13)^(e<<3|d>>>29)^e>>>6)+(w>>>0>>0?1:0)|0;lf=0xe19b48a8+w|0;of=0x34b0bcb5+E+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;C=C+F|0;S=S+G+(C>>>0>>0?1:0)|0;uf=(M>>>1|v<<31)^(M>>>8|v<<24)^(M>>>7|v<<25)|0;C=C+uf|0;S=S+((v>>>1|M<<31)^(v>>>8|M<<24)^v>>>7)+(C>>>0>>0?1:0)|0;uf=(p>>>19|y<<13)^(p<<3|y>>>29)^(p>>>6|y<<26)|0;C=C+uf|0;S=S+((y>>>19|p<<13)^(y<<3|p>>>29)^y>>>6)+(C>>>0>>0?1:0)|0;lf=0xc5c95a63+C|0;of=0x391c0cb3+S+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;M=M+V|0;v=v+q+(M>>>0>>0?1:0)|0;uf=(B>>>1|U<<31)^(B>>>8|U<<24)^(B>>>7|U<<25)|0;M=M+uf|0;v=v+((U>>>1|B<<31)^(U>>>8|B<<24)^U>>>7)+(M>>>0>>0?1:0)|0;uf=(w>>>19|E<<13)^(w<<3|E>>>29)^(w>>>6|E<<26)|0;M=M+uf|0;v=v+((E>>>19|w<<13)^(E<<3|w>>>29)^E>>>6)+(M>>>0>>0?1:0)|0;lf=0xe3418acb+M|0;of=0x4ed8aa4a+v+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;B=B+K|0;U=U+j+(B>>>0>>0?1:0)|0;uf=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;B=B+uf|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(B>>>0>>0?1:0)|0;uf=(C>>>19|S<<13)^(C<<3|S>>>29)^(C>>>6|S<<26)|0;B=B+uf|0;U=U+((S>>>19|C<<13)^(S<<3|C>>>29)^S>>>6)+(B>>>0>>0?1:0)|0;lf=0x7763e373+B|0;of=0x5b9cca4f+U+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;L=L+t|0;H=H+f+(L>>>0>>0?1:0)|0;uf=(N>>>1|k<<31)^(N>>>8|k<<24)^(N>>>7|k<<25)|0;L=L+uf|0;H=H+((k>>>1|N<<31)^(k>>>8|N<<24)^k>>>7)+(L>>>0>>0?1:0)|0;uf=(M>>>19|v<<13)^(M<<3|v>>>29)^(M>>>6|v<<26)|0;L=L+uf|0;H=H+((v>>>19|M<<13)^(v<<3|M>>>29)^v>>>6)+(L>>>0>>0?1:0)|0;lf=0xd6b2b8a3+L|0;of=0x682e6ff3+H+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;N=N+d|0;k=k+e+(N>>>0>>0?1:0)|0;uf=(I>>>1|R<<31)^(I>>>8|R<<24)^(I>>>7|R<<25)|0;N=N+uf|0;k=k+((R>>>1|I<<31)^(R>>>8|I<<24)^R>>>7)+(N>>>0>>0?1:0)|0;uf=(B>>>19|U<<13)^(B<<3|U>>>29)^(B>>>6|U<<26)|0;N=N+uf|0;k=k+((U>>>19|B<<13)^(U<<3|B>>>29)^U>>>6)+(N>>>0>>0?1:0)|0;lf=0x5defb2fc+N|0;of=0x748f82ee+k+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;I=I+p|0;R=R+y+(I>>>0

>>0?1:0)|0;uf=(T>>>1|D<<31)^(T>>>8|D<<24)^(T>>>7|D<<25)|0;I=I+uf|0;R=R+((D>>>1|T<<31)^(D>>>8|T<<24)^D>>>7)+(I>>>0>>0?1:0)|0;uf=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;I=I+uf|0;R=R+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(I>>>0>>0?1:0)|0;lf=0x43172f60+I|0;of=0x78a5636f+R+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;T=T+w|0;D=D+E+(T>>>0>>0?1:0)|0;uf=(z>>>1|P<<31)^(z>>>8|P<<24)^(z>>>7|P<<25)|0;T=T+uf|0;D=D+((P>>>1|z<<31)^(P>>>8|z<<24)^P>>>7)+(T>>>0>>0?1:0)|0;uf=(N>>>19|k<<13)^(N<<3|k>>>29)^(N>>>6|k<<26)|0;T=T+uf|0;D=D+((k>>>19|N<<13)^(k<<3|N>>>29)^k>>>6)+(T>>>0>>0?1:0)|0;lf=0xa1f0ab72+T|0;of=0x84c87814+D+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;z=z+C|0;P=P+S+(z>>>0>>0?1:0)|0;uf=(O>>>1|Z<<31)^(O>>>8|Z<<24)^(O>>>7|Z<<25)|0;z=z+uf|0;P=P+((Z>>>1|O<<31)^(Z>>>8|O<<24)^Z>>>7)+(z>>>0>>0?1:0)|0;uf=(I>>>19|R<<13)^(I<<3|R>>>29)^(I>>>6|R<<26)|0;z=z+uf|0;P=P+((R>>>19|I<<13)^(R<<3|I>>>29)^R>>>6)+(z>>>0>>0?1:0)|0;lf=0x1a6439ec+z|0;of=0x8cc70208+P+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;O=O+M|0;Z=Z+v+(O>>>0>>0?1:0)|0;uf=(F>>>1|G<<31)^(F>>>8|G<<24)^(F>>>7|G<<25)|0;O=O+uf|0;Z=Z+((G>>>1|F<<31)^(G>>>8|F<<24)^G>>>7)+(O>>>0>>0?1:0)|0;uf=(T>>>19|D<<13)^(T<<3|D>>>29)^(T>>>6|D<<26)|0;O=O+uf|0;Z=Z+((D>>>19|T<<13)^(D<<3|T>>>29)^D>>>6)+(O>>>0>>0?1:0)|0;lf=0x23631e28+O|0;of=0x90befffa+Z+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;F=F+B|0;G=G+U+(F>>>0>>0?1:0)|0;uf=(V>>>1|q<<31)^(V>>>8|q<<24)^(V>>>7|q<<25)|0;F=F+uf|0;G=G+((q>>>1|V<<31)^(q>>>8|V<<24)^q>>>7)+(F>>>0>>0?1:0)|0;uf=(z>>>19|P<<13)^(z<<3|P>>>29)^(z>>>6|P<<26)|0;F=F+uf|0;G=G+((P>>>19|z<<13)^(P<<3|z>>>29)^P>>>6)+(F>>>0>>0?1:0)|0;lf=0xde82bde9+F|0;of=0xa4506ceb+G+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;V=V+L|0;q=q+H+(V>>>0>>0?1:0)|0;uf=(K>>>1|j<<31)^(K>>>8|j<<24)^(K>>>7|j<<25)|0;V=V+uf|0;q=q+((j>>>1|K<<31)^(j>>>8|K<<24)^j>>>7)+(V>>>0>>0?1:0)|0;uf=(O>>>19|Z<<13)^(O<<3|Z>>>29)^(O>>>6|Z<<26)|0;V=V+uf|0;q=q+((Z>>>19|O<<13)^(Z<<3|O>>>29)^Z>>>6)+(V>>>0>>0?1:0)|0;lf=0xb2c67915+V|0;of=0xbef9a3f7+q+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;K=K+N|0;j=j+k+(K>>>0>>0?1:0)|0;uf=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;K=K+uf|0;j=j+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(K>>>0>>0?1:0)|0;uf=(F>>>19|G<<13)^(F<<3|G>>>29)^(F>>>6|G<<26)|0;K=K+uf|0;j=j+((G>>>19|F<<13)^(G<<3|F>>>29)^G>>>6)+(K>>>0>>0?1:0)|0;lf=0xe372532b+K|0;of=0xc67178f2+j+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;t=t+I|0;f=f+R+(t>>>0>>0?1:0)|0;uf=(d>>>1|e<<31)^(d>>>8|e<<24)^(d>>>7|e<<25)|0;t=t+uf|0;f=f+((e>>>1|d<<31)^(e>>>8|d<<24)^e>>>7)+(t>>>0>>0?1:0)|0;uf=(V>>>19|q<<13)^(V<<3|q>>>29)^(V>>>6|q<<26)|0;t=t+uf|0;f=f+((q>>>19|V<<13)^(q<<3|V>>>29)^q>>>6)+(t>>>0>>0?1:0)|0;lf=0xea26619c+t|0;of=0xca273ece+f+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;d=d+T|0;e=e+D+(d>>>0>>0?1:0)|0;uf=(p>>>1|y<<31)^(p>>>8|y<<24)^(p>>>7|y<<25)|0;d=d+uf|0;e=e+((y>>>1|p<<31)^(y>>>8|p<<24)^y>>>7)+(d>>>0>>0?1:0)|0;uf=(K>>>19|j<<13)^(K<<3|j>>>29)^(K>>>6|j<<26)|0;d=d+uf|0;e=e+((j>>>19|K<<13)^(j<<3|K>>>29)^j>>>6)+(d>>>0>>0?1:0)|0;lf=0x21c0c207+d|0;of=0xd186b8c7+e+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;p=p+z|0;y=y+P+(p>>>0>>0?1:0)|0;uf=(w>>>1|E<<31)^(w>>>8|E<<24)^(w>>>7|E<<25)|0;p=p+uf|0;y=y+((E>>>1|w<<31)^(E>>>8|w<<24)^E>>>7)+(p>>>0>>0?1:0)|0;uf=(t>>>19|f<<13)^(t<<3|f>>>29)^(t>>>6|f<<26)|0;p=p+uf|0;y=y+((f>>>19|t<<13)^(f<<3|t>>>29)^f>>>6)+(p>>>0>>0?1:0)|0;lf=0xcde0eb1e+p|0;of=0xeada7dd6+y+(lf>>>0

>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;w=w+O|0;E=E+Z+(w>>>0>>0?1:0)|0;uf=(C>>>1|S<<31)^(C>>>8|S<<24)^(C>>>7|S<<25)|0;w=w+uf|0;E=E+((S>>>1|C<<31)^(S>>>8|C<<24)^S>>>7)+(w>>>0>>0?1:0)|0;uf=(d>>>19|e<<13)^(d<<3|e>>>29)^(d>>>6|e<<26)|0;w=w+uf|0;E=E+((e>>>19|d<<13)^(e<<3|d>>>29)^e>>>6)+(w>>>0>>0?1:0)|0;lf=0xee6ed178+w|0;of=0xf57d4f7f+E+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;C=C+F|0;S=S+G+(C>>>0>>0?1:0)|0;uf=(M>>>1|v<<31)^(M>>>8|v<<24)^(M>>>7|v<<25)|0;C=C+uf|0;S=S+((v>>>1|M<<31)^(v>>>8|M<<24)^v>>>7)+(C>>>0>>0?1:0)|0;uf=(p>>>19|y<<13)^(p<<3|y>>>29)^(p>>>6|y<<26)|0;C=C+uf|0;S=S+((y>>>19|p<<13)^(y<<3|p>>>29)^y>>>6)+(C>>>0>>0?1:0)|0;lf=0x72176fba+C|0;of=0x6f067aa+S+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;M=M+V|0;v=v+q+(M>>>0>>0?1:0)|0;uf=(B>>>1|U<<31)^(B>>>8|U<<24)^(B>>>7|U<<25)|0;M=M+uf|0;v=v+((U>>>1|B<<31)^(U>>>8|B<<24)^U>>>7)+(M>>>0>>0?1:0)|0;uf=(w>>>19|E<<13)^(w<<3|E>>>29)^(w>>>6|E<<26)|0;M=M+uf|0;v=v+((E>>>19|w<<13)^(E<<3|w>>>29)^E>>>6)+(M>>>0>>0?1:0)|0;lf=0xa2c898a6+M|0;of=0xa637dc5+v+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;B=B+K|0;U=U+j+(B>>>0>>0?1:0)|0;uf=(L>>>1|H<<31)^(L>>>8|H<<24)^(L>>>7|H<<25)|0;B=B+uf|0;U=U+((H>>>1|L<<31)^(H>>>8|L<<24)^H>>>7)+(B>>>0>>0?1:0)|0;uf=(C>>>19|S<<13)^(C<<3|S>>>29)^(C>>>6|S<<26)|0;B=B+uf|0;U=U+((S>>>19|C<<13)^(S<<3|C>>>29)^S>>>6)+(B>>>0>>0?1:0)|0;lf=0xbef90dae+B|0;of=0x113f9804+U+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;L=L+t|0;H=H+f+(L>>>0>>0?1:0)|0;uf=(N>>>1|k<<31)^(N>>>8|k<<24)^(N>>>7|k<<25)|0;L=L+uf|0;H=H+((k>>>1|N<<31)^(k>>>8|N<<24)^k>>>7)+(L>>>0>>0?1:0)|0;uf=(M>>>19|v<<13)^(M<<3|v>>>29)^(M>>>6|v<<26)|0;L=L+uf|0;H=H+((v>>>19|M<<13)^(v<<3|M>>>29)^v>>>6)+(L>>>0>>0?1:0)|0;lf=0x131c471b+L|0;of=0x1b710b35+H+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;N=N+d|0;k=k+e+(N>>>0>>0?1:0)|0;uf=(I>>>1|R<<31)^(I>>>8|R<<24)^(I>>>7|R<<25)|0;N=N+uf|0;k=k+((R>>>1|I<<31)^(R>>>8|I<<24)^R>>>7)+(N>>>0>>0?1:0)|0;uf=(B>>>19|U<<13)^(B<<3|U>>>29)^(B>>>6|U<<26)|0;N=N+uf|0;k=k+((U>>>19|B<<13)^(U<<3|B>>>29)^U>>>6)+(N>>>0>>0?1:0)|0;lf=0x23047d84+N|0;of=0x28db77f5+k+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;I=I+p|0;R=R+y+(I>>>0

>>0?1:0)|0;uf=(T>>>1|D<<31)^(T>>>8|D<<24)^(T>>>7|D<<25)|0;I=I+uf|0;R=R+((D>>>1|T<<31)^(D>>>8|T<<24)^D>>>7)+(I>>>0>>0?1:0)|0;uf=(L>>>19|H<<13)^(L<<3|H>>>29)^(L>>>6|H<<26)|0;I=I+uf|0;R=R+((H>>>19|L<<13)^(H<<3|L>>>29)^H>>>6)+(I>>>0>>0?1:0)|0;lf=0x40c72493+I|0;of=0x32caab7b+R+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;T=T+w|0;D=D+E+(T>>>0>>0?1:0)|0;uf=(z>>>1|P<<31)^(z>>>8|P<<24)^(z>>>7|P<<25)|0;T=T+uf|0;D=D+((P>>>1|z<<31)^(P>>>8|z<<24)^P>>>7)+(T>>>0>>0?1:0)|0;uf=(N>>>19|k<<13)^(N<<3|k>>>29)^(N>>>6|k<<26)|0;T=T+uf|0;D=D+((k>>>19|N<<13)^(k<<3|N>>>29)^k>>>6)+(T>>>0>>0?1:0)|0;lf=0x15c9bebc+T|0;of=0x3c9ebe0a+D+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;z=z+C|0;P=P+S+(z>>>0>>0?1:0)|0;uf=(O>>>1|Z<<31)^(O>>>8|Z<<24)^(O>>>7|Z<<25)|0;z=z+uf|0;P=P+((Z>>>1|O<<31)^(Z>>>8|O<<24)^Z>>>7)+(z>>>0>>0?1:0)|0;uf=(I>>>19|R<<13)^(I<<3|R>>>29)^(I>>>6|R<<26)|0;z=z+uf|0;P=P+((R>>>19|I<<13)^(R<<3|I>>>29)^R>>>6)+(z>>>0>>0?1:0)|0;lf=0x9c100d4c+z|0;of=0x431d67c4+P+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;O=O+M|0;Z=Z+v+(O>>>0>>0?1:0)|0;uf=(F>>>1|G<<31)^(F>>>8|G<<24)^(F>>>7|G<<25)|0;O=O+uf|0;Z=Z+((G>>>1|F<<31)^(G>>>8|F<<24)^G>>>7)+(O>>>0>>0?1:0)|0;uf=(T>>>19|D<<13)^(T<<3|D>>>29)^(T>>>6|D<<26)|0;O=O+uf|0;Z=Z+((D>>>19|T<<13)^(D<<3|T>>>29)^D>>>6)+(O>>>0>>0?1:0)|0;lf=0xcb3e42b6+O|0;of=0x4cc5d4be+Z+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;F=F+B|0;G=G+U+(F>>>0>>0?1:0)|0;uf=(V>>>1|q<<31)^(V>>>8|q<<24)^(V>>>7|q<<25)|0;F=F+uf|0;G=G+((q>>>1|V<<31)^(q>>>8|V<<24)^q>>>7)+(F>>>0>>0?1:0)|0;uf=(z>>>19|P<<13)^(z<<3|P>>>29)^(z>>>6|P<<26)|0;F=F+uf|0;G=G+((P>>>19|z<<13)^(P<<3|z>>>29)^P>>>6)+(F>>>0>>0?1:0)|0;lf=0xfc657e2a+F|0;of=0x597f299c+G+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;V=V+L|0;q=q+H+(V>>>0>>0?1:0)|0;uf=(K>>>1|j<<31)^(K>>>8|j<<24)^(K>>>7|j<<25)|0;V=V+uf|0;q=q+((j>>>1|K<<31)^(j>>>8|K<<24)^j>>>7)+(V>>>0>>0?1:0)|0;uf=(O>>>19|Z<<13)^(O<<3|Z>>>29)^(O>>>6|Z<<26)|0;V=V+uf|0;q=q+((Z>>>19|O<<13)^(Z<<3|O>>>29)^Z>>>6)+(V>>>0>>0?1:0)|0;lf=0x3ad6faec+V|0;of=0x5fcb6fab+q+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;K=K+N|0;j=j+k+(K>>>0>>0?1:0)|0;uf=(t>>>1|f<<31)^(t>>>8|f<<24)^(t>>>7|f<<25)|0;K=K+uf|0;j=j+((f>>>1|t<<31)^(f>>>8|t<<24)^f>>>7)+(K>>>0>>0?1:0)|0;uf=(F>>>19|G<<13)^(F<<3|G>>>29)^(F>>>6|G<<26)|0;K=K+uf|0;j=j+((G>>>19|F<<13)^(G<<3|F>>>29)^G>>>6)+(K>>>0>>0?1:0)|0;lf=0x4a475817+K|0;of=0x6c44198c+j+(lf>>>0>>0?1:0)|0;lf=lf+cf|0;of=of+xf+(lf>>>0>>0?1:0)|0;uf=(rf>>>14|ef<<18)^(rf>>>18|ef<<14)^(rf<<23|ef>>>9)|0;lf=lf+uf|0;of=of+((ef>>>14|rf<<18)^(ef>>>18|rf<<14)^(ef<<23|rf>>>9))+(lf>>>0>>0?1:0)|0;uf=hf^rf&(nf^hf)|0;lf=lf+uf|0;of=of+(af^ef&(sf^af))+(lf>>>0>>0?1:0)|0;cf=hf;xf=af;hf=nf;af=sf;nf=rf;sf=ef;rf=tf+lf|0;ef=ff+of+(rf>>>0>>0?1:0)|0;tf=$;ff=Y;$=Q;Y=J;Q=W;J=X;W=lf+(Q&$^tf&(Q^$))|0;X=of+(J&Y^ff&(J^Y))+(W>>>0>>0?1:0)|0;uf=(Q>>>28|J<<4)^(Q<<30|J>>>2)^(Q<<25|J>>>7)|0;W=W+uf|0;X=X+((J>>>28|Q<<4)^(J<<30|Q>>>2)^(J<<25|Q>>>7))+(W>>>0>>0?1:0)|0;s=s+W|0;r=r+X+(s>>>0>>0?1:0)|0;n=n+Q|0;i=i+J+(n>>>0>>0?1:0)|0;h=h+$|0;a=a+Y+(h>>>0<$>>>0?1:0)|0;c=c+tf|0;x=x+ff+(c>>>0>>0?1:0)|0;l=l+rf|0;o=o+ef+(l>>>0>>0?1:0)|0;_=_+nf|0;u=u+sf+(_>>>0>>0?1:0)|0;b=b+hf|0;g=g+af+(b>>>0>>0?1:0)|0;A=A+cf|0;m=m+xf+(A>>>0>>0?1:0)|0}function tf(f){f=f|0;ff($[f|0]<<24|$[f|1]<<16|$[f|2]<<8|$[f|3],$[f|4]<<24|$[f|5]<<16|$[f|6]<<8|$[f|7],$[f|8]<<24|$[f|9]<<16|$[f|10]<<8|$[f|11],$[f|12]<<24|$[f|13]<<16|$[f|14]<<8|$[f|15],$[f|16]<<24|$[f|17]<<16|$[f|18]<<8|$[f|19],$[f|20]<<24|$[f|21]<<16|$[f|22]<<8|$[f|23],$[f|24]<<24|$[f|25]<<16|$[f|26]<<8|$[f|27],$[f|28]<<24|$[f|29]<<16|$[f|30]<<8|$[f|31],$[f|32]<<24|$[f|33]<<16|$[f|34]<<8|$[f|35],$[f|36]<<24|$[f|37]<<16|$[f|38]<<8|$[f|39],$[f|40]<<24|$[f|41]<<16|$[f|42]<<8|$[f|43],$[f|44]<<24|$[f|45]<<16|$[f|46]<<8|$[f|47],$[f|48]<<24|$[f|49]<<16|$[f|50]<<8|$[f|51],$[f|52]<<24|$[f|53]<<16|$[f|54]<<8|$[f|55],$[f|56]<<24|$[f|57]<<16|$[f|58]<<8|$[f|59],$[f|60]<<24|$[f|61]<<16|$[f|62]<<8|$[f|63],$[f|64]<<24|$[f|65]<<16|$[f|66]<<8|$[f|67],$[f|68]<<24|$[f|69]<<16|$[f|70]<<8|$[f|71],$[f|72]<<24|$[f|73]<<16|$[f|74]<<8|$[f|75],$[f|76]<<24|$[f|77]<<16|$[f|78]<<8|$[f|79],$[f|80]<<24|$[f|81]<<16|$[f|82]<<8|$[f|83],$[f|84]<<24|$[f|85]<<16|$[f|86]<<8|$[f|87],$[f|88]<<24|$[f|89]<<16|$[f|90]<<8|$[f|91],$[f|92]<<24|$[f|93]<<16|$[f|94]<<8|$[f|95],$[f|96]<<24|$[f|97]<<16|$[f|98]<<8|$[f|99],$[f|100]<<24|$[f|101]<<16|$[f|102]<<8|$[f|103],$[f|104]<<24|$[f|105]<<16|$[f|106]<<8|$[f|107],$[f|108]<<24|$[f|109]<<16|$[f|110]<<8|$[f|111],$[f|112]<<24|$[f|113]<<16|$[f|114]<<8|$[f|115],$[f|116]<<24|$[f|117]<<16|$[f|118]<<8|$[f|119],$[f|120]<<24|$[f|121]<<16|$[f|122]<<8|$[f|123],$[f|124]<<24|$[f|125]<<16|$[f|126]<<8|$[f|127])}function ef(f){f=f|0;$[f|0]=r>>>24;$[f|1]=r>>>16&255;$[f|2]=r>>>8&255;$[f|3]=r&255;$[f|4]=s>>>24;$[f|5]=s>>>16&255;$[f|6]=s>>>8&255;$[f|7]=s&255;$[f|8]=i>>>24;$[f|9]=i>>>16&255;$[f|10]=i>>>8&255;$[f|11]=i&255;$[f|12]=n>>>24;$[f|13]=n>>>16&255;$[f|14]=n>>>8&255;$[f|15]=n&255;$[f|16]=a>>>24;$[f|17]=a>>>16&255;$[f|18]=a>>>8&255;$[f|19]=a&255;$[f|20]=h>>>24;$[f|21]=h>>>16&255;$[f|22]=h>>>8&255;$[f|23]=h&255;$[f|24]=x>>>24;$[f|25]=x>>>16&255;$[f|26]=x>>>8&255;$[f|27]=x&255;$[f|28]=c>>>24;$[f|29]=c>>>16&255;$[f|30]=c>>>8&255;$[f|31]=c&255;$[f|32]=o>>>24;$[f|33]=o>>>16&255;$[f|34]=o>>>8&255;$[f|35]=o&255;$[f|36]=l>>>24;$[f|37]=l>>>16&255;$[f|38]=l>>>8&255;$[f|39]=l&255;$[f|40]=u>>>24;$[f|41]=u>>>16&255;$[f|42]=u>>>8&255;$[f|43]=u&255;$[f|44]=_>>>24;$[f|45]=_>>>16&255;$[f|46]=_>>>8&255;$[f|47]=_&255;$[f|48]=g>>>24;$[f|49]=g>>>16&255;$[f|50]=g>>>8&255;$[f|51]=g&255;$[f|52]=b>>>24;$[f|53]=b>>>16&255;$[f|54]=b>>>8&255;$[f|55]=b&255;$[f|56]=m>>>24;$[f|57]=m>>>16&255;$[f|58]=m>>>8&255;$[f|59]=m&255;$[f|60]=A>>>24;$[f|61]=A>>>16&255;$[f|62]=A>>>8&255;$[f|63]=A&255}function rf(){r=0x6a09e667;s=0xf3bcc908;i=0xbb67ae85;n=0x84caa73b;a=0x3c6ef372;h=0xfe94f82b;x=0xa54ff53a;c=0x5f1d36f1;o=0x510e527f;l=0xade682d1;u=0x9b05688c;_=0x2b3e6c1f;g=0x1f83d9ab;b=0xfb41bd6b;m=0x5be0cd19;A=0x137e2179;d=y=0}function sf(f,t,e,p,E,w,S,C,v,M,U,B,H,L,k,N,R,I){f=f|0;t=t|0;e=e|0;p=p|0;E=E|0;w=w|0;S=S|0;C=C|0;v=v|0;M=M|0;U=U|0;B=B|0;H=H|0;L=L|0;k=k|0;N=N|0;R=R|0;I=I|0;r=f;s=t;i=e;n=p;a=E;h=w;x=S;c=C;o=v;l=M;u=U;_=B;g=H;b=L;m=k;A=N;d=R;y=I}function nf(f,t){f=f|0;t=t|0;var e=0;if(f&127)return-1;while((t|0)>=128){tf(f);f=f+128|0;t=t-128|0;e=e+128|0}d=d+e|0;if(d>>>0>>0)y=y+1|0;return e|0}function af(f,t,e){f=f|0;t=t|0;e=e|0;var r=0,s=0;if(f&127)return-1;if(~e)if(e&63)return-1;if((t|0)>=128){r=nf(f,t)|0;if((r|0)==-1)return-1;f=f+r|0;t=t-r|0}r=r+t|0;d=d+t|0;if(d>>>0>>0)y=y+1|0;$[f|t]=0x80;if((t|0)>=112){for(s=t+1|0;(s|0)<128;s=s+1|0)$[f|s]=0x00;tf(f);t=0;$[f|0]=0}for(s=t+1|0;(s|0)<123;s=s+1|0)$[f|s]=0;$[f|120]=y>>>21&255;$[f|121]=y>>>13&255;$[f|122]=y>>>5&255;$[f|123]=y<<3&255|d>>>29;$[f|124]=d>>>21&255;$[f|125]=d>>>13&255;$[f|126]=d>>>5&255;$[f|127]=d<<3&255;tf(f);if(~e)ef(e);return r|0}function hf(){r=p;s=E;i=w;n=S;a=C;h=v;x=M;c=U;o=B;l=H;u=L;_=k;g=N;b=R;m=I;A=D;d=128;y=0}function xf(){r=T;s=P;i=z;n=Z;a=O;h=G;x=F;c=q;o=V;l=j;u=K;_=X;g=W;b=J;m=Q;A=Y;d=128;y=0}function cf(f,t,e,$,tf,ef,sf,nf,af,hf,xf,cf,of,lf,uf,_f,gf,bf,mf,Af,df,yf,pf,Ef,wf,Sf,Cf,vf,Mf,Uf,Bf,Hf){f=f|0;t=t|0;e=e|0;$=$|0;tf=tf|0;ef=ef|0;sf=sf|0;nf=nf|0;af=af|0;hf=hf|0;xf=xf|0;cf=cf|0;of=of|0;lf=lf|0;uf=uf|0;_f=_f|0;gf=gf|0;bf=bf|0;mf=mf|0;Af=Af|0;df=df|0;yf=yf|0;pf=pf|0;Ef=Ef|0;wf=wf|0;Sf=Sf|0;Cf=Cf|0;vf=vf|0;Mf=Mf|0;Uf=Uf|0;Bf=Bf|0;Hf=Hf|0;rf();ff(f^0x5c5c5c5c,t^0x5c5c5c5c,e^0x5c5c5c5c,$^0x5c5c5c5c,tf^0x5c5c5c5c,ef^0x5c5c5c5c,sf^0x5c5c5c5c,nf^0x5c5c5c5c,af^0x5c5c5c5c,hf^0x5c5c5c5c,xf^0x5c5c5c5c,cf^0x5c5c5c5c,of^0x5c5c5c5c,lf^0x5c5c5c5c,uf^0x5c5c5c5c,_f^0x5c5c5c5c,gf^0x5c5c5c5c,bf^0x5c5c5c5c,mf^0x5c5c5c5c,Af^0x5c5c5c5c,df^0x5c5c5c5c,yf^0x5c5c5c5c,pf^0x5c5c5c5c,Ef^0x5c5c5c5c,wf^0x5c5c5c5c,Sf^0x5c5c5c5c,Cf^0x5c5c5c5c,vf^0x5c5c5c5c,Mf^0x5c5c5c5c,Uf^0x5c5c5c5c,Bf^0x5c5c5c5c,Hf^0x5c5c5c5c);T=r;P=s;z=i;Z=n;O=a;G=h;F=x;q=c;V=o;j=l;K=u;X=_;W=g;J=b;Q=m;Y=A;rf();ff(f^0x36363636,t^0x36363636,e^0x36363636,$^0x36363636,tf^0x36363636,ef^0x36363636,sf^0x36363636,nf^0x36363636,af^0x36363636,hf^0x36363636,xf^0x36363636,cf^0x36363636,of^0x36363636,lf^0x36363636,uf^0x36363636,_f^0x36363636,gf^0x36363636,bf^0x36363636,mf^0x36363636,Af^0x36363636,df^0x36363636,yf^0x36363636,pf^0x36363636,Ef^0x36363636,wf^0x36363636,Sf^0x36363636,Cf^0x36363636,vf^0x36363636,Mf^0x36363636,Uf^0x36363636,Bf^0x36363636,Hf^0x36363636);p=r;E=s;w=i;S=n;C=a;v=h;M=x;U=c;B=o;H=l;L=u;k=_;N=g;R=b;I=m;D=A;d=128;y=0}function of(f,t,e){f=f|0;t=t|0;e=e|0;var d=0,y=0,p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0;if(f&127)return-1;if(~e)if(e&63)return-1;I=af(f,t,-1)|0;d=r;y=s;p=i;E=n;w=a;S=h;C=x;v=c;M=o;U=l;B=u;H=_;L=g;k=b;N=m;R=A;xf();ff(d,y,p,E,w,S,C,v,M,U,B,H,L,k,N,R,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);if(~e)ef(e);return I|0}function lf(f,t,e,d,y){f=f|0;t=t|0;e=e|0;d=d|0;y=y|0;var p=0,E=0,w=0,S=0,C=0,v=0,M=0,U=0,B=0,H=0,L=0,k=0,N=0,R=0,I=0,D=0,T=0,P=0,z=0,Z=0,O=0,G=0,F=0,q=0,V=0,j=0,K=0,X=0,W=0,J=0,Q=0,Y=0;if(f&127)return-1;if(~y)if(y&63)return-1;$[f+t|0]=e>>>24;$[f+t+1|0]=e>>>16&255;$[f+t+2|0]=e>>>8&255;$[f+t+3|0]=e&255;of(f,t+4|0,-1)|0;p=T=r;E=P=s;w=z=i;S=Z=n;C=O=a;v=G=h;M=F=x;U=q=c;B=V=o;H=j=l;L=K=u;k=X=_;N=W=g;R=J=b;I=Q=m;D=Y=A;d=d-1|0;while((d|0)>0){hf();ff(T,P,z,Z,O,G,F,q,V,j,K,X,W,J,Q,Y,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);T=r;P=s;z=i;Z=n;O=a;G=h;F=x;q=c;V=o;j=l;K=u;X=_;W=g;J=b;Q=m;Y=A;xf();ff(T,P,z,Z,O,G,F,q,V,j,K,X,W,J,Q,Y,0x80000000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1536);T=r;P=s;z=i;Z=n;O=a;G=h;F=x;q=c;V=o;j=l;K=u;X=_;W=g;J=b;Q=m;Y=A;p=p^r;E=E^s;w=w^i;S=S^n;C=C^a;v=v^h;M=M^x;U=U^c;B=B^o;H=H^l;L=L^u;k=k^_;N=N^g;R=R^b;I=I^m;D=D^A;d=d-1|0}r=p;s=E;i=w;n=S;a=C;h=v;x=M;c=U;o=B;l=H;u=L;_=k;g=N;b=R;m=I;A=D;if(~y)ef(y);return 0}return{reset:rf,init:sf,process:nf,finish:af,hmac_reset:hf,hmac_init:cf,hmac_finish:of,pbkdf2_generate_block:lf}};const _sha512_block_size=128,_sha512_hash_size=64;class Sha512 extends Hash{constructor(){super(),this.NAME="sha512",this.BLOCK_SIZE=_sha512_block_size,this.HASH_SIZE=_sha512_hash_size,this.heap=_heap_init(),this.asm=sha512_asm({Uint8Array:Uint8Array},null,this.heap.buffer),this.reset()}}Sha512.NAME="sha512";class Hmac{constructor(f,t,e){if(!f.HASH_SIZE)throw new SyntaxError("option 'hash' supplied doesn't seem to be a valid hash function");this.hash=f,this.BLOCK_SIZE=this.hash.BLOCK_SIZE,this.HMAC_SIZE=this.hash.HASH_SIZE,this.result=null,this.key=_hmac_key(this.hash,t);const r=new Uint8Array(this.key);for(let f=0;ff.BLOCK_SIZE?e.set(f.reset().process(t).finish().result):e.set(t),e}class HmacSha1 extends Hmac{constructor(f,t){const e=new Sha1;return super(e,f,t),this.reset(),void 0!==t?this._hmac_init_verify(t):this.verify=null,this}reset(){this.result=null;const f=this.key;return this.hash.reset().asm.hmac_init(f[0]<<24|f[1]<<16|f[2]<<8|f[3],f[4]<<24|f[5]<<16|f[6]<<8|f[7],f[8]<<24|f[9]<<16|f[10]<<8|f[11],f[12]<<24|f[13]<<16|f[14]<<8|f[15],f[16]<<24|f[17]<<16|f[18]<<8|f[19],f[20]<<24|f[21]<<16|f[22]<<8|f[23],f[24]<<24|f[25]<<16|f[26]<<8|f[27],f[28]<<24|f[29]<<16|f[30]<<8|f[31],f[32]<<24|f[33]<<16|f[34]<<8|f[35],f[36]<<24|f[37]<<16|f[38]<<8|f[39],f[40]<<24|f[41]<<16|f[42]<<8|f[43],f[44]<<24|f[45]<<16|f[46]<<8|f[47],f[48]<<24|f[49]<<16|f[50]<<8|f[51],f[52]<<24|f[53]<<16|f[54]<<8|f[55],f[56]<<24|f[57]<<16|f[58]<<8|f[59],f[60]<<24|f[61]<<16|f[62]<<8|f[63]),this}finish(){if(null!==this.result)throw new IllegalStateError("state must be reset before processing new data");const f=this.hash,t=this.hash.asm,e=this.hash.heap;t.hmac_finish(f.pos,f.len,0);const r=this.verify,s=new Uint8Array(_sha1_hash_size);if(s.set(e.subarray(0,_sha1_hash_size)),r){if(r.length!==s.length)throw new Error("HMAC verification failed, lengths doesn't match");{let f=0;for(let t=0;t2&&(this.key[2]=new BigNumber(f[2])),t>3&&(this.key[3]=new Modulus(new BigNumber(f[3])),this.key[4]=new Modulus(new BigNumber(f[4])),this.key[5]=new BigNumber(f[5]),this.key[6]=new BigNumber(f[6]),this.key[7]=new BigNumber(f[7]))}encrypt(f){if(!this.key)throw new IllegalStateError("no key is associated with the instance");if(this.key[0].compare(f)<=0)throw new RangeError("data too large");const t=this.key[0],e=this.key[1];let r=t.power(f,e).toBytes();const s=t.bitLength+7>>3;if(r.length>3;if(t.length0?e:null}encrypt(f,t){const e=Math.ceil(this.rsa.key[0].bitLength/8),r=this.hash.HASH_SIZE,s=f.byteLength||f.length||0,i=e-s-2*r-2;if(s>e-2*this.hash.HASH_SIZE-2)throw new IllegalArgumentError("data too large");const n=new Uint8Array(e),a=n.subarray(1,r+1),h=n.subarray(r+1);if(h.set(f,r+i+1),h.set(this.hash.process(this.label||new Uint8Array(0)).finish().result,0),h[r+i]=1,void 0!==t){if(a.length!==t.length)throw new IllegalArgumentError("random size must equal the hash size");a.set(t)}else getRandomValues(a);const x=this.RSA_MGF1_generate(a,h.length);for(let f=0;f>>24,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t;const i=r.subarray(t*e);let n=this.hash.reset().process(f).process(s).finish().result;n.length>i.length&&(n=n.subarray(0,i.length)),i.set(n)}return r}}class RSA_PSS{constructor(f,t,e=4){if(this.rsa=new RSA(f),this.hash=t,this.saltLength=e,this.saltLength<0)throw new TypeError("saltLength should be a non-negative number");if(null!==this.rsa.key&&Math.ceil((this.rsa.key[0].bitLength-1)/8)0)if(void 0!==t){if(u.length!==t.length)throw new IllegalArgumentError("random size must equal the salt size");u.set(t)}else getRandomValues(u);x[n]=1,c.set(u),h.set(this.hash.reset().process(o).finish().result);const _=this.RSA_MGF1_generate(h,x.length);for(let f=0;f>>g),this.rsa.decrypt(new BigNumber(a)),this.rsa.result}verify(f,t){const e=this.rsa.key[0].bitLength,r=this.hash.HASH_SIZE,s=Math.ceil((e-1)/8),i=this.saltLength,n=s-i-r-2;this.rsa.encrypt(new BigNumber(f));const a=this.rsa.result;if(188!==a[s-1])throw new SecurityError("bad signature");const h=a.subarray(s-r-1,s-1),x=a.subarray(0,s-r-1),c=x.subarray(n+1),o=8*s-e+1;if(o%8&&a[0]>>>8-o)throw new SecurityError("bad signature");const l=this.RSA_MGF1_generate(h,x.length);for(let f=0;f>>o);for(let f=0;f>>24,s[1]=t>>>16&255,s[2]=t>>>8&255,s[3]=255&t;const i=r.subarray(t*e);let n=this.hash.reset().process(f).process(s).finish().result;n.length>i.length&&(n=n.subarray(0,i.length)),i.set(n)}return r}}class RSA_PKCS1_v1_5{constructor(f,t){this.rsa=new RSA(f),this.hash=t}sign(f){if(!this.rsa.key)throw new IllegalStateError("no key is associated with the instance");const t=getHashPrefix(this.hash),e=this.hash.HASH_SIZE,r=t.length+e,s=this.rsa.key[0].bitLength+7>>3;if(s>3;if(i