/* (c) 2012 by Cédric Mesnil. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Counter block mode compatible with Dr Brian Gladman fileenc.c derived from CryptoJS.mode.CTR Jan Hruby jhruby.web@gmail.com */ !function(ma,W){"object"==typeof exports?module.exports=exports=W():"function"==typeof define&&define.amd?define([],W):ma.CryptoJS=W()}(this,function(){var ma,W,ca,da,ta,C=C||function(d,r){var l;if("undefined"!=typeof window&&window.crypto&&(l=window.crypto),!l&&"undefined"!=typeof window&&window.msCrypto&&(l=window.msCrypto),!l&&"undefined"!=typeof global&&global.crypto&&(l=global.crypto),!l&&"function"==typeof require)try{l=require("crypto")}catch(e){}var n=Object.create||function(){function e(){} return function(a){var h;return e.prototype=a,h=new e,e.prototype=null,h}}();r={};var q=r.lib={},f=q.Base={extend:function(e){var a=n(this);return e&&a.mixIn(e),a.hasOwnProperty("init")&&this.init!==a.init||(a.init=function(){a.$super.init.apply(this,arguments)}),a.init.prototype=a,a.$super=this,a},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var a in e)e.hasOwnProperty(a)&&(this[a]=e[a]);e.hasOwnProperty("toString")&&(this.toString= e.toString)},clone:function(){return this.init.prototype.extend(this)}},v=q.WordArray=f.extend({init:function(e,a){e=this.words=e||[];this.sigBytes=null!=a?a:4*e.length},toString:function(e){return(e||p).stringify(this)},concat:function(e){var a=this.words,h=e.words,m=this.sigBytes;e=e.sigBytes;if(this.clamp(),m%4)for(var u=0;u>>2]|=(h[u>>>2]>>>24-u%4*8&255)<<24-(m+u)%4*8;else for(u=0;u>>2]=h[u>>>2];return this.sigBytes+=e,this},clamp:function(){var e=this.words,a=this.sigBytes; e[a>>>2]&=4294967295<<32-a%4*8;e.length=d.ceil(a/4)},clone:function(){var e=f.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var a=[],h=0;h>>2]>>>24-m%4*8&255;h.push((u>>>4).toString(16));h.push((15&u).toString(16))}return h.join("")},parse:function(e){for(var a=e.length,h=[],m=0;m>>3]|=parseInt(e.substr(m,2),16)<<24-m%8*4;return new v.init(h,a/2)}},c=g.Latin1={stringify:function(e){var a=e.words;e=e.sigBytes;for(var h=[],m=0;m>>2]>>>24-m%4*8&255));return h.join("")},parse:function(e){for(var a= e.length,h=[],m=0;m>>2]|=(255&e.charCodeAt(m))<<24-m%4*8;return new v.init(h,a)}},k=g.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(a){throw Error("Malformed UTF-8 data");}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},b=q.BufferedBlockAlgorithm=f.extend({reset:function(){this._data=new v.init;this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=k.parse(e));this._data.concat(e);this._nDataBytes+=e.sigBytes},_process:function(e){var a, h=this._data,m=h.words,u=h.sigBytes,A=this.blockSize,w=u/(4*A);e=(e?d.ceil(w):d.max((0|w)-this._minBufferSize,0))*A;u=d.min(4*e,u);if(e){for(a=0;a>>2]>>>24-q%4*8&255)<<16|(r[q+1>>>2]>>> 24-(q+1)%4*8&255)<<8|r[q+2>>>2]>>>24-(q+2)%4*8&255,v=0;4>v&&q+.75*v>>6*(3-v)&63));if(r=n.charAt(64))for(;d.length%4;)d.push(r);return d.join("")},parse:function(d){var r=d.length,l=this._map,n=this._reverseMap;if(!n){n=this._reverseMap=[];for(var q=0;q>>6-f%4*2;l[q>>>2]|=v<<24-q%4*8;q++}return W.create(l, q)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(d){function r(k,b,t,e,a,h,m){k=k+(b&t|~b&e)+a+m;return(k<>>32-h)+b}function l(k,b,t,e,a,h,m){k=k+(b&e|t&~e)+a+m;return(k<>>32-h)+b}function n(k,b,t,e,a,h,m){k=k+(b^t^e)+a+m;return(k<>>32-h)+b}function q(k,b,t,e,a,h,m){k=k+(t^(b|~e))+a+m;return(k<>>32-h)+b}var f=C,v=f.lib,g=v.WordArray,p=v.Hasher;v=f.algo;var c=[];!function(){for(var k=0;64>k;k++)c[k]=4294967296*d.abs(d.sin(k+1))|0}();v=v.MD5= p.extend({_doReset:function(){this._hash=new g.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(k,b){for(var t=0;16>t;t++){var e=b+t,a=k[e];k[e]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8)}t=this._hash.words;e=k[b+0];a=k[b+1];var h=k[b+2],m=k[b+3],u=k[b+4],A=k[b+5],w=k[b+6],B=k[b+7],D=k[b+8],E=k[b+9],I=k[b+10],K=k[b+11],J=k[b+12],G=k[b+13],F=k[b+14];k=k[b+15];b=t[0];var y=t[1],x=t[2],z=t[3];b=r(b,y,x,z,e,7,c[0]);z=r(z,b,y,x,a,12,c[1]);x=r(x,z,b,y,h,17,c[2]);y=r(y,x, z,b,m,22,c[3]);b=r(b,y,x,z,u,7,c[4]);z=r(z,b,y,x,A,12,c[5]);x=r(x,z,b,y,w,17,c[6]);y=r(y,x,z,b,B,22,c[7]);b=r(b,y,x,z,D,7,c[8]);z=r(z,b,y,x,E,12,c[9]);x=r(x,z,b,y,I,17,c[10]);y=r(y,x,z,b,K,22,c[11]);b=r(b,y,x,z,J,7,c[12]);z=r(z,b,y,x,G,12,c[13]);x=r(x,z,b,y,F,17,c[14]);b=l(b,y=r(y,x,z,b,k,22,c[15]),x,z,a,5,c[16]);z=l(z,b,y,x,w,9,c[17]);x=l(x,z,b,y,K,14,c[18]);y=l(y,x,z,b,e,20,c[19]);b=l(b,y,x,z,A,5,c[20]);z=l(z,b,y,x,I,9,c[21]);x=l(x,z,b,y,k,14,c[22]);y=l(y,x,z,b,u,20,c[23]);b=l(b,y,x,z,E,5,c[24]); z=l(z,b,y,x,F,9,c[25]);x=l(x,z,b,y,m,14,c[26]);y=l(y,x,z,b,D,20,c[27]);b=l(b,y,x,z,G,5,c[28]);z=l(z,b,y,x,h,9,c[29]);x=l(x,z,b,y,B,14,c[30]);b=n(b,y=l(y,x,z,b,J,20,c[31]),x,z,A,4,c[32]);z=n(z,b,y,x,D,11,c[33]);x=n(x,z,b,y,K,16,c[34]);y=n(y,x,z,b,F,23,c[35]);b=n(b,y,x,z,a,4,c[36]);z=n(z,b,y,x,u,11,c[37]);x=n(x,z,b,y,B,16,c[38]);y=n(y,x,z,b,I,23,c[39]);b=n(b,y,x,z,G,4,c[40]);z=n(z,b,y,x,e,11,c[41]);x=n(x,z,b,y,m,16,c[42]);y=n(y,x,z,b,w,23,c[43]);b=n(b,y,x,z,E,4,c[44]);z=n(z,b,y,x,J,11,c[45]);x=n(x, z,b,y,k,16,c[46]);b=q(b,y=n(y,x,z,b,h,23,c[47]),x,z,e,6,c[48]);z=q(z,b,y,x,B,10,c[49]);x=q(x,z,b,y,F,15,c[50]);y=q(y,x,z,b,A,21,c[51]);b=q(b,y,x,z,J,6,c[52]);z=q(z,b,y,x,m,10,c[53]);x=q(x,z,b,y,I,15,c[54]);y=q(y,x,z,b,a,21,c[55]);b=q(b,y,x,z,D,6,c[56]);z=q(z,b,y,x,k,10,c[57]);x=q(x,z,b,y,w,15,c[58]);y=q(y,x,z,b,G,21,c[59]);b=q(b,y,x,z,u,6,c[60]);z=q(z,b,y,x,K,10,c[61]);x=q(x,z,b,y,h,15,c[62]);y=q(y,x,z,b,E,21,c[63]);t[0]=t[0]+b|0;t[1]=t[1]+y|0;t[2]=t[2]+x|0;t[3]=t[3]+z|0},_doFinalize:function(){var k= this._data,b=k.words,t=8*this._nDataBytes,e=8*k.sigBytes;b[e>>>5]|=128<<24-e%32;var a=d.floor(t/4294967296);b[15+(e+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);b[14+(e+64>>>9<<4)]=16711935&(t<<8|t>>>24)|4278255360&(t<<24|t>>>8);k.sigBytes=4*(b.length+1);this._process();k=this._hash;b=k.words;for(t=0;4>t;t++)e=b[t],b[t]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8);return k},clone:function(){var k=p.clone.call(this);return k._hash=this._hash.clone(),k}});f.MD5=p._createHelper(v); f.HmacMD5=p._createHmacHelper(v)}(Math),function(){var d=C,r=d.lib,l=r.WordArray,n=r.Hasher,q=[];r=d.algo.SHA1=n.extend({_doReset:function(){this._hash=new l.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(f,v){for(var g=this._hash.words,p=g[0],c=g[1],k=g[2],b=g[3],t=g[4],e=0;80>e;e++){if(16>e)q[e]=0|f[v+e];else{var a=q[e-3]^q[e-8]^q[e-14]^q[e-16];q[e]=a<<1|a>>>31}a=(p<<5|p>>>27)+t+q[e];a+=20>e?1518500249+(c&k|~c&b):40>e?1859775393+(c^k^b):60>e?(c&k|c&b|k&b)- 1894007588:(c^k^b)-899497514;t=b;b=k;k=c<<30|c>>>2;c=p;p=a}g[0]=g[0]+p|0;g[1]=g[1]+c|0;g[2]=g[2]+k|0;g[3]=g[3]+b|0;g[4]=g[4]+t|0},_doFinalize:function(){var f=this._data,v=f.words,g=8*this._nDataBytes,p=8*f.sigBytes;return v[p>>>5]|=128<<24-p%32,v[14+(p+64>>>9<<4)]=Math.floor(g/4294967296),v[15+(p+64>>>9<<4)]=g,f.sigBytes=4*v.length,this._process(),this._hash},clone:function(){var f=n.clone.call(this);return f._hash=this._hash.clone(),f}});d.SHA1=n._createHelper(r);d.HmacSHA1=n._createHmacHelper(r)}(), function(d){var r=C,l=r.lib,n=l.WordArray,q=l.Hasher;l=r.algo;var f=[],v=[];!function(){function p(t){for(var e=d.sqrt(t),a=2;a<=e;a++)if(!(t%a))return!1;return!0}function c(t){return 4294967296*(t-(0|t))|0}for(var k=2,b=0;64>b;)p(k)&&(8>b&&(f[b]=c(d.pow(k,.5))),v[b]=c(d.pow(k,1/3)),b++),k++}();var g=[];l=l.SHA256=q.extend({_doReset:function(){this._hash=new n.init(f.slice(0))},_doProcessBlock:function(p,c){for(var k=this._hash.words,b=k[0],t=k[1],e=k[2],a=k[3],h=k[4],m=k[5],u=k[6],A=k[7],w=0;64> w;w++){if(16>w)g[w]=0|p[c+w];else{var B=g[w-15],D=g[w-2];g[w]=((B<<25|B>>>7)^(B<<14|B>>>18)^B>>>3)+g[w-7]+((D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10)+g[w-16]}B=b&t^b&e^t&e;D=(b<<30|b>>>2)^(b<<19|b>>>13)^(b<<10|b>>>22);var E=A+((h<<26|h>>>6)^(h<<21|h>>>11)^(h<<7|h>>>25))+(h&m^~h&u)+v[w]+g[w];A=u;u=m;m=h;h=a+E|0;a=e;e=t;t=b;b=E+(D+B)|0}k[0]=k[0]+b|0;k[1]=k[1]+t|0;k[2]=k[2]+e|0;k[3]=k[3]+a|0;k[4]=k[4]+h|0;k[5]=k[5]+m|0;k[6]=k[6]+u|0;k[7]=k[7]+A|0},_doFinalize:function(){var p=this._data,c=p.words,k=8*this._nDataBytes, b=8*p.sigBytes;return c[b>>>5]|=128<<24-b%32,c[14+(b+64>>>9<<4)]=d.floor(k/4294967296),c[15+(b+64>>>9<<4)]=k,p.sigBytes=4*c.length,this._process(),this._hash},clone:function(){var p=q.clone.call(this);return p._hash=this._hash.clone(),p}});r.SHA256=q._createHelper(l);r.HmacSHA256=q._createHmacHelper(l)}(Math),function(){function d(n){return n<<8&4278255360|n>>>8&16711935}var r=C,l=r.lib.WordArray;r=r.enc;r.Utf16=r.Utf16BE={stringify:function(n){var q=n.words;n=n.sigBytes;for(var f=[],v=0;v>> 2]>>>16-v%4*8&65535));return f.join("")},parse:function(n){for(var q=n.length,f=[],v=0;v>>1]|=n.charCodeAt(v)<<16-v%2*16;return l.create(f,2*q)}};r.Utf16LE={stringify:function(n){var q=n.words;n=n.sigBytes;for(var f=[],v=0;v>>2]>>>16-v%4*8&65535);f.push(String.fromCharCode(g))}return f.join("")},parse:function(n){for(var q=n.length,f=[],v=0;v>>1]|=d(n.charCodeAt(v)<<16-v%2*16);return l.create(f,2*q)}}}(),function(){if("function"==typeof ArrayBuffer){var d= C.lib.WordArray,r=d.init;(d.init=function(l){if(l instanceof ArrayBuffer&&(l=new Uint8Array(l)),(l instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&l instanceof Uint8ClampedArray||l instanceof Int16Array||l instanceof Uint16Array||l instanceof Int32Array||l instanceof Uint32Array||l instanceof Float32Array||l instanceof Float64Array)&&(l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength)),l instanceof Uint8Array){for(var n=l.byteLength,q=[],f=0;f>>2]|=l[f]<<24-f%4*8;r.call(this, q,n)}else r.apply(this,arguments)}).prototype=d}}(),function(d){function r(b,t){return b<>>32-t}d=C;var l=d.lib,n=l.WordArray,q=l.Hasher;l=d.algo;var f=n.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),v=n.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15, 0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),g=n.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),p=n.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),c=n.create([0, 1518500249,1859775393,2400959708,2840853838]),k=n.create([1352829926,1548603684,1836072691,2053994217,0]);l=l.RIPEMD160=q.extend({_doReset:function(){this._hash=n.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(b,t){for(var e=0;16>e;e++){var a=t+e,h=b[a];b[a]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}var m,u,A,w=this._hash.words,B=c.words,D=k.words,E=f.words,I=v.words,K=g.words,J=p.words;var G=a=w[0];var F=h=w[1];var y=m=w[2];var x=u=w[3];var z=A=w[4]; for(e=0;80>e;e+=1){var H=a+b[t+E[e]]|0;H+=16>e?(h^m^u)+B[0]:32>e?(h&m|~h&u)+B[1]:48>e?((h|~m)^u)+B[2]:64>e?(h&u|m&~u)+B[3]:(h^(m|~u))+B[4];H=(H=r(H|=0,K[e]))+A|0;a=A;A=u;u=r(m,10);m=h;h=H;H=G+b[t+I[e]]|0;H+=16>e?(F^(y|~x))+D[0]:32>e?(F&x|y&~x)+D[1]:48>e?((F|~y)^x)+D[2]:64>e?(F&y|~F&x)+D[3]:(F^y^x)+D[4];H=(H=r(H|=0,J[e]))+z|0;G=z;z=x;x=r(y,10);y=F;F=H}H=w[1]+m+x|0;w[1]=w[2]+u+z|0;w[2]=w[3]+A+G|0;w[3]=w[4]+a+F|0;w[4]=w[0]+h+y|0;w[0]=H},_doFinalize:function(){var b=this._data,t=b.words,e=8*this._nDataBytes, a=8*b.sigBytes;t[a>>>5]|=128<<24-a%32;t[14+(a+64>>>9<<4)]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8);b.sigBytes=4*(t.length+1);this._process();b=this._hash;t=b.words;for(e=0;5>e;e++)a=t[e],t[e]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8);return b},clone:function(){var b=q.clone.call(this);return b._hash=this._hash.clone(),b}});d.RIPEMD160=q._createHelper(l);d.HmacRIPEMD160=q._createHmacHelper(l)}(Math),function(){var d=C,r=d.enc.Utf8;d.algo.HMAC=d.lib.Base.extend({init:function(l,n){l=this._hasher= new l.init;"string"==typeof n&&(n=r.parse(n));var q=l.blockSize,f=4*q;n.sigBytes>f&&(n=l.finalize(n));n.clamp();l=this._oKey=n.clone();n=this._iKey=n.clone();for(var v=l.words,g=n.words,p=0;pt;t++){v[k+5*b]=(t+1)*(t+2)/2%64;var e=(2*k+3*b)%5;k=b%5;b=e}for(k=0;5>k;k++)for(b=0;5>b;b++)g[k+5*b]=b+(2*k+3*b)%5*5;k=1;for(b=0;24>b;b++){for(var a=e=t=0;7>a;a++){if(1&k){var h=(1<h?e^=1<k;k++)c[k]=f.create()}();l=l.SHA3=q.extend({cfg:q.cfg.extend({outputLength:512}),_doReset:function(){for(var k=this._state=[],b=0;25>b;b++)k[b]= new f.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function(k,b){for(var t=this._state,e=this.blockSize/2,a=0;a>>24)|4278255360&(h<<24|h>>>8);m=16711935&(m<<8|m>>>24)|4278255360&(m<<24|m>>>8);(w=t[a]).high^=m;w.low^=h}for(k=0;24>k;k++){for(b=0;5>b;b++){var u=0,A=0;for(a=0;5>a;a++)u^=(w=t[b+5*a]).high,A^=w.low;w=c[b];w.high=u;w.low=A}for(b=0;5>b;b++)for(A=c[(b+4)%5],u=c[(b+1)%5],w=u.high,e=u.low,u=A.high^(w<<1|e>>>31), A=A.low^(e<<1|w>>>31),a=0;5>a;a++)(w=t[b+5*a]).high^=u,w.low^=A;for(e=1;25>e;e++)b=(w=t[e]).high,w=w.low,a=v[e],32>a?(u=b<>>32-a,A=w<>>32-a):(u=w<>>64-a,A=b<>>64-a),w=c[g[e]],w.high=u,w.low=A;w=c[0];b=t[0];w.high=b.high;w.low=b.low;for(b=0;5>b;b++)for(a=0;5>a;a++){var w=t[e=b+5*a];e=c[e];h=c[(b+1)%5+5*a];m=c[(b+2)%5+5*a];w.high=e.high^~h.high&m.high;w.low=e.low^~h.low&m.low}w=t[0];b=p[k];w.high^=b.high;w.low^=b.low}},_doFinalize:function(){var k=this._data,b=k.words,t=(this._nDataBytes, 8*k.sigBytes),e=32*this.blockSize;b[t>>>5]|=1<<24-t%32;b[(d.ceil((t+1)/e)*e>>>5)-1]|=128;k.sigBytes=4*b.length;this._process();k=this._state;b=this.cfg.outputLength/8;t=b/8;e=[];for(var a=0;a>>24)|4278255360&(m<<24|m>>>8);h=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8);e.push(h);e.push(m)}return new n.init(e,b)},clone:function(){for(var k=q.clone.call(this),b=k._state=this._state.slice(0),t=0;25>t;t++)b[t]=b[t].clone();return k}});r.SHA3=q._createHelper(l); r.HmacSHA3=q._createHmacHelper(l)}(Math),function(){function d(){return q.create.apply(q,arguments)}var r=C,l=r.lib.Hasher,n=r.x64,q=n.Word,f=n.WordArray;n=r.algo;var v=[d(1116352408,3609767458),d(1899447441,602891725),d(3049323471,3964484399),d(3921009573,2173295548),d(961987163,4081628472),d(1508970993,3053834265),d(2453635748,2937671579),d(2870763221,3664609560),d(3624381080,2734883394),d(310598401,1164996542),d(607225278,1323610764),d(1426881987,3590304994),d(1925078388,4068182383),d(2162078206, 991336113),d(2614888103,633803317),d(3248222580,3479774868),d(3835390401,2666613458),d(4022224774,944711139),d(264347078,2341262773),d(604807628,2007800933),d(770255983,1495990901),d(1249150122,1856431235),d(1555081692,3175218132),d(1996064986,2198950837),d(2554220882,3999719339),d(2821834349,766784016),d(2952996808,2566594879),d(3210313671,3203337956),d(3336571891,1034457026),d(3584528711,2466948901),d(113926993,3758326383),d(338241895,168717936),d(666307205,1188179964),d(773529912,1546045734),d(1294757372, 1522805485),d(1396182291,2643833823),d(1695183700,2343527390),d(1986661051,1014477480),d(2177026350,1206759142),d(2456956037,344077627),d(2730485921,1290863460),d(2820302411,3158454273),d(3259730800,3505952657),d(3345764771,106217008),d(3516065817,3606008344),d(3600352804,1432725776),d(4094571909,1467031594),d(275423344,851169720),d(430227734,3100823752),d(506948616,1363258195),d(659060556,3750685593),d(883997877,3785050280),d(958139571,3318307427),d(1322822218,3812723403),d(1537002063,2003034995), d(1747873779,3602036899),d(1955562222,1575990012),d(2024104815,1125592928),d(2227730452,2716904306),d(2361852424,442776044),d(2428436474,593698344),d(2756734187,3733110249),d(3204031479,2999351573),d(3329325298,3815920427),d(3391569614,3928383900),d(3515267271,566280711),d(3940187606,3454069534),d(4118630271,4000239992),d(116418474,1914138554),d(174292421,2731055270),d(289380356,3203993006),d(460393269,320620315),d(685471733,587496836),d(852142971,1086792851),d(1017036298,365543100),d(1126000580, 2618297676),d(1288033470,3409855158),d(1501505948,4234509866),d(1607167915,987167468),d(1816402316,1246189591)],g=[];!function(){for(var p=0;80>p;p++)g[p]=d()}();n=n.SHA512=l.extend({_doReset:function(){this._hash=new f.init([new q.init(1779033703,4089235720),new q.init(3144134277,2227873595),new q.init(1013904242,4271175723),new q.init(2773480762,1595750129),new q.init(1359893119,2917565137),new q.init(2600822924,725511199),new q.init(528734635,4215389547),new q.init(1541459225,327033209)])},_doProcessBlock:function(p, c){var k=this._hash.words,b=k[0],t=k[1],e=k[2],a=k[3],h=k[4],m=k[5],u=k[6];k=k[7];for(var A=b.high,w=b.low,B=t.high,D=t.low,E=e.high,I=e.low,K=a.high,J=a.low,G=h.high,F=h.low,y=m.high,x=m.low,z=u.high,H=u.low,ua=k.high,na=k.low,Q=A,L=w,ea=B,X=D,fa=E,Y=I,ra=K,ha=J,R=G,M=F,oa=y,ia=x,pa=z,ja=H,sa=ua,ka=na,S=0;80>S;S++){var Z=g[S];if(16>S){var N=Z.high=0|p[c+2*S];var aa=Z.low=0|p[c+2*S+1]}else{var T=g[S-15];N=T.high;T=T.low;var qa=(T>>>1|N<<31)^(T>>>8|N<<24)^(T>>>7|N<<25),ba=g[S-2],O=ba.high,V=ba.low; ba=(O>>>19|V<<13)^(O<<3|V>>>29)^O>>>6;O=(V>>>19|O<<13)^(V<<3|O>>>29)^(V>>>6|O<<26);var P=g[S-7],U=g[S-16];V=U.high;U=U.low;N=(N=(N=((N>>>1|T<<31)^(N>>>8|T<<24)^N>>>7)+P.high+((aa=qa+P.low)>>>0>>0?1:0))+ba+((aa+=O)>>>0>>0?1:0))+V+((aa+=U)>>>0>>0?1:0);Z.high=N;Z.low=aa}Z=R&oa^~R&pa;T=M&ia^~M&ja;qa=Q&ea^Q&fa^ea&fa;U=L&X^L&Y^X&Y;ba=(Q>>>28|L<<4)^(Q<<30|L>>>2)^(Q<<25|L>>>7);O=(L>>>28|Q<<4)^(L<<30|Q>>>2)^(L<<25|Q>>>7);P=v[S];V=P.high;var va=P.low,la=sa+((R>>>14|M<<18)^(R>>>18|M<<14)^(R<<23|M>>> 9))+((P=ka+((M>>>14|R<<18)^(M>>>18|R<<14)^(M<<23|R>>>9)))>>>0>>0?1:0);U=O+U;sa=pa;ka=ja;pa=oa;ja=ia;oa=R;ia=M;R=ra+(la=(la=(la=la+Z+((P+=T)>>>0>>0?1:0))+V+((P+=va)>>>0>>0?1:0))+N+((P+=aa)>>>0>>0?1:0))+((M=ha+P|0)>>>0>>0?1:0)|0;ra=fa;ha=Y;fa=ea;Y=X;ea=Q;X=L;Q=la+(ba+qa+(U>>>0>>0?1:0))+((L=P+U|0)>>>0

>>0?1:0)|0}w=b.low=w+L;b.high=A+Q+(w>>>0>>0?1:0);D=t.low=D+X;t.high=B+ea+(D>>>0>>0?1:0);I=e.low=I+Y;e.high=E+fa+(I>>>0>>0?1:0);J=a.low=J+ha;a.high=K+ra+(J>>>0>>0?1: 0);F=h.low=F+M;h.high=G+R+(F>>>0>>0?1:0);x=m.low=x+ia;m.high=y+oa+(x>>>0>>0?1:0);H=u.low=H+ja;u.high=z+pa+(H>>>0>>0?1:0);na=k.low=na+ka;k.high=ua+sa+(na>>>0>>0?1:0)},_doFinalize:function(){var p=this._data,c=p.words,k=8*this._nDataBytes,b=8*p.sigBytes;return c[b>>>5]|=128<<24-b%32,c[30+(b+128>>>10<<5)]=Math.floor(k/4294967296),c[31+(b+128>>>10<<5)]=k,p.sigBytes=4*c.length,this._process(),this._hash.toX32()},clone:function(){var p=l.clone.call(this);return p._hash=this._hash.clone(), p},blockSize:32});r.SHA512=l._createHelper(n);r.HmacSHA512=l._createHmacHelper(n)}(),function(){var d=C,r=d.x64,l=r.Word,n=r.WordArray;r=d.algo;var q=r.SHA512;r=r.SHA384=q.extend({_doReset:function(){this._hash=new n.init([new l.init(3418070365,3238371032),new l.init(1654270250,914150663),new l.init(2438529370,812702999),new l.init(355462360,4144912697),new l.init(1731405415,4290775857),new l.init(2394180231,1750603025),new l.init(3675008525,1694076839),new l.init(1203062813,3204075428)])},_doFinalize:function(){var f= q._doFinalize.call(this);return f.sigBytes-=16,f}});d.SHA384=q._createHelper(r);d.HmacSHA384=q._createHmacHelper(r)}(),C.lib.Cipher||function(d){var r=C;d=r.lib;var l=d.Base,n=d.WordArray,q=d.BufferedBlockAlgorithm,f=r.enc,v=(f.Utf8,f.Base64),g=r.algo.EvpKDF,p=d.Cipher=q.extend({cfg:l.extend(),createEncryptor:function(a,h){return this.create(this._ENC_XFORM_MODE,a,h)},createDecryptor:function(a,h){return this.create(this._DEC_XFORM_MODE,a,h)},init:function(a,h,m){this.cfg=this.cfg.extend(m);this._xformMode= a;this._key=h;this.reset()},reset:function(){q.reset.call(this);this._doReset()},process:function(a){return this._append(a),this._process()},finalize:function(a){return a&&this._append(a),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(a){return{encrypt:function(h,m,u){return("string"==typeof m?e:t).encrypt(a,h,m,u)},decrypt:function(h,m,u){return("string"==typeof m?e:t).decrypt(a,h,m,u)}}}}()});f=(d.StreamCipher=p.extend({_doFinalize:function(){return this._process(!0)}, blockSize:1}),r.mode={});var c=d.BlockCipherMode=l.extend({createEncryptor:function(a,h){return this.Encryptor.create(a,h)},createDecryptor:function(a,h){return this.Decryptor.create(a,h)},init:function(a,h){this._cipher=a;this._iv=h}});f=f.CBC=function(){function a(m,u,A){var w,B=this._iv;B?(w=B,this._iv=void 0):w=this._prevBlock;for(B=0;B>>2]}},b=(d.BlockCipher=p.extend({cfg:p.cfg.extend({mode:f,padding:k}),reset:function(){var a;p.reset.call(this); var h=this.cfg,m=h.iv;h=h.mode;this._xformMode==this._ENC_XFORM_MODE?a=h.createEncryptor:(a=h.createDecryptor,this._minBufferSize=1);this._mode&&this._mode.__creator==a?this._mode.init(this,m&&m.words):(this._mode=a.call(h,this,m&&m.words),this._mode.__creator=a)},_doProcessBlock:function(a,h){this._mode.processBlock(a,h)},_doFinalize:function(){var a,h=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(h.pad(this._data,this.blockSize),a=this._process(!0)):(a=this._process(!0),h.unpad(a)), a},blockSize:4}),d.CipherParams=l.extend({init:function(a){this.mixIn(a)},toString:function(a){return(a||this.formatter).stringify(this)}}));f=(r.format={}).OpenSSL={stringify:function(a){var h=a.ciphertext;a=a.salt;return(a?n.create([1398893684,1701076831]).concat(a).concat(h):h).toString(v)},parse:function(a){var h;a=v.parse(a);var m=a.words;return 1398893684==m[0]&&1701076831==m[1]&&(h=n.create(m.slice(2,4)),m.splice(0,4),a.sigBytes-=16),b.create({ciphertext:a,salt:h})}};var t=d.SerializableCipher= l.extend({cfg:l.extend({format:f}),encrypt:function(a,h,m,u){u=this.cfg.extend(u);var A=a.createEncryptor(m,u);h=A.finalize(h);A=A.cfg;return b.create({ciphertext:h,key:m,iv:A.iv,algorithm:a,mode:A.mode,padding:A.padding,blockSize:a.blockSize,formatter:u.format})},decrypt:function(a,h,m,u){return u=this.cfg.extend(u),h=this._parse(h,u.format),a.createDecryptor(m,u).finalize(h.ciphertext)},_parse:function(a,h){return"string"==typeof a?h.parse(a,this):a}});r=(r.kdf={}).OpenSSL={execute:function(a,h, m,u){u||(u=n.random(8));a=g.create({keySize:h+m}).compute(a,u);m=n.create(a.words.slice(h),4*m);return a.sigBytes=4*h,b.create({key:a,iv:m,salt:u})}};var e=d.PasswordBasedCipher=t.extend({cfg:t.cfg.extend({kdf:r}),encrypt:function(a,h,m,u){m=(u=this.cfg.extend(u)).kdf.execute(m,a.keySize,a.ivSize);u.iv=m.iv;a=t.encrypt.call(this,a,h,m.key,u);return a.mixIn(m),a},decrypt:function(a,h,m,u){u=this.cfg.extend(u);h=this._parse(h,u.format);m=u.kdf.execute(m,a.keySize,a.ivSize,h.salt);return u.iv=m.iv,t.decrypt.call(this, a,h,m.key,u)}})}(),C.mode.CFB=function(){function d(l,n,q,f){var v,g=this._iv;g?(v=g.slice(0),this._iv=void 0):v=this._prevBlock;f.encryptBlock(v,0);for(f=0;f>>2]|=r<<24-l%4*8;d.sigBytes+=r},unpad:function(d){d.sigBytes-=255&d.words[d.sigBytes-1>>>2]}},C.pad.Iso10126={pad:function(d,r){r*=4;r-=d.sigBytes%r;d.concat(C.lib.WordArray.random(r-1)).concat(C.lib.WordArray.create([r<< 24],1))},unpad:function(d){d.sigBytes-=255&d.words[d.sigBytes-1>>>2]}},C.pad.Iso97971={pad:function(d,r){d.concat(C.lib.WordArray.create([2147483648],1));C.pad.ZeroPadding.pad(d,r)},unpad:function(d){C.pad.ZeroPadding.unpad(d);d.sigBytes--}},C.mode.OFB=(da=C.lib.BlockCipherMode.extend(),ta=da.Encryptor=da.extend({processBlock:function(d,r){var l=this._cipher,n=l.blockSize,q=this._iv,f=this._keystream;q&&(f=this._keystream=q.slice(0),this._iv=void 0);l.encryptBlock(f,0);for(l=0;lh;h++)a[h]=128>h?h<<1:h<<1^283;var m=0,u=0;for(h=0;256>h;h++){var A=u^u<<1^u<<2^u<<3^u<<4;A=A>>>8^255&A^99; n[m]=A;q[A]=m;var w=a[m],B=a[w],D=a[B],E=257*a[A]^16843008*A;f[m]=E<<24|E>>>8;v[m]=E<<16|E>>>16;g[m]=E<<8|E>>>24;p[m]=E;E=16843009*D^65537*B^257*w^16843008*m;c[A]=E<<24|E>>>8;k[A]=E<<16|E>>>16;b[A]=E<<8|E>>>24;t[A]=E;m?(m=w^a[a[a[D^w]]],u^=a[a[u]]):m=u=1}}();var e=[0,1,2,4,8,16,32,64,128,27,54];l=l.AES=r.extend({_doReset:function(){if(!this._nRounds||this._keyPriorReset!==this._key){var a=this._keyPriorReset=this._key,h=a.words,m=a.sigBytes/4;a=4*((this._nRounds=m+6)+1);for(var u=this._keySchedule= [],A=0;A>>24]<<24|n[w>>>16&255]<<16|n[w>>>8&255]<<8|n[255&w]):(w=n[(w=w<<8|w>>>24)>>>24]<<24|n[w>>>16&255]<<16|n[w>>>8&255]<<8|n[255&w],w^=e[A/m|0]<<24),u[A]=u[A-m]^w);h=this._invKeySchedule=[];for(m=0;mm||4>=A?w:c[n[w>>>24]]^k[n[w>>>16&255]]^b[n[w>>>8&255]]^t[n[255&w]]}}},encryptBlock:function(a,h){this._doCryptBlock(a,h,this._keySchedule,f,v,g,p,n)},decryptBlock:function(a,h){var m=a[h+1];a[h+1]=a[h+ 3];a[h+3]=m;this._doCryptBlock(a,h,this._invKeySchedule,c,k,b,t,q);m=a[h+1];a[h+1]=a[h+3];a[h+3]=m},_doCryptBlock:function(a,h,m,u,A,w,B,D){for(var E=this._nRounds,I=a[h]^m[0],K=a[h+1]^m[1],J=a[h+2]^m[2],G=a[h+3]^m[3],F=4,y=1;y>>24]^A[K>>>16&255]^w[J>>>8&255]^B[255&G]^m[F++],z=u[K>>>24]^A[J>>>16&255]^w[G>>>8&255]^B[255&I]^m[F++],H=u[J>>>24]^A[G>>>16&255]^w[I>>>8&255]^B[255&K]^m[F++];G=u[G>>>24]^A[I>>>16&255]^w[K>>>8&255]^B[255&J]^m[F++];I=x;K=z;J=H}x=(D[I>>>24]<<24|D[K>>>16&255]<< 16|D[J>>>8&255]<<8|D[255&G])^m[F++];z=(D[K>>>24]<<24|D[J>>>16&255]<<16|D[G>>>8&255]<<8|D[255&I])^m[F++];H=(D[J>>>24]<<24|D[G>>>16&255]<<16|D[I>>>8&255]<<8|D[255&K])^m[F++];G=(D[G>>>24]<<24|D[I>>>16&255]<<16|D[K>>>8&255]<<8|D[255&J])^m[F++];a[h]=x;a[h+1]=z;a[h+2]=H;a[h+3]=G},keySize:8});d.AES=r._createHelper(l)}(),function(){function d(t,e){e&=this._lBlock>>>t^this._rBlock;this._rBlock^=e;this._lBlock^=e<>>t^this._lBlock;this._lBlock^=e;this._rBlock^=e<a;a++){var h=v[a]-1;e[a]=t[h>>>5]>>>31-h%32&1}t=this._subKeys=[];for(h=0;16>h;h++){var m=t[h]=[],u=p[h];for(a=0;24>a;a++)m[a/6|0]|=e[(g[a]-1+u)%28]<<31-a%6,m[4+(a/6|0)]|=e[28+(g[a+24]-1+u)%28]<<31-a%6;m[0]=m[0]<<1|m[0]>>>31;for(a=1;7>a;a++)m[a]>>>=4*(a-1)+3;m[7]=m[7]<<5|m[7]>>>27}e=this._invSubKeys=[];for(a=0;16>a;a++)e[a]=t[15-a]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._subKeys)},decryptBlock:function(t,e){this._doCryptBlock(t,e,this._invSubKeys)},_doCryptBlock:function(t, e,a){this._lBlock=t[e];this._rBlock=t[e+1];d.call(this,4,252645135);d.call(this,16,65535);r.call(this,2,858993459);r.call(this,8,16711935);d.call(this,1,1431655765);for(var h=0;16>h;h++){for(var m=a[h],u=this._lBlock,A=this._rBlock,w=0,B=0;8>B;B++)w|=c[B][((A^m[B])&k[B])>>>0];this._lBlock=A;this._rBlock=u^w}a=this._lBlock;this._lBlock=this._rBlock;this._rBlock=a;d.call(this,1,1431655765);r.call(this,8,16711935);r.call(this,2,858993459);d.call(this,16,65535);d.call(this,4,252645135);t[e]=this._lBlock; t[e+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});l.DES=n._createHelper(b);f=f.TripleDES=n.extend({_doReset:function(){var t=this._key.words;if(2!==t.length&&4!==t.length&&6>t.length)throw Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var e=t.slice(0,2),a=4>t.length?t.slice(0,2):t.slice(2,4);t=6>t.length?t.slice(0,2):t.slice(4,6);this._des1=b.createEncryptor(q.create(e));this._des2=b.createEncryptor(q.create(a));this._des3=b.createEncryptor(q.create(t))}, encryptBlock:function(t,e){this._des1.encryptBlock(t,e);this._des2.decryptBlock(t,e);this._des3.encryptBlock(t,e)},decryptBlock:function(t,e){this._des3.decryptBlock(t,e);this._des2.encryptBlock(t,e);this._des1.decryptBlock(t,e)},keySize:6,ivSize:2,blockSize:2});l.TripleDES=n._createHelper(f)}(),function(){function d(){for(var f=this._S,v=this._i,g=this._j,p=0,c=0;4>c;c++){g=(g+f[v=(v+1)%256])%256;var k=f[v];f[v]=f[g];f[g]=k;p|=f[(f[v]+f[g])%256]<<24-8*c}return this._i=v,this._j=g,p}var r=C,l=r.lib.StreamCipher, n=r.algo,q=n.RC4=l.extend({_doReset:function(){var f=this._key,v=f.words;f=f.sigBytes;for(var g=this._S=[],p=0;256>p;p++)g[p]=p;for(var c=p=0;256>p;p++){var k=p%f;c=(c+g[p]+(v[k>>>2]>>>24-k%4*8&255))%256;k=g[p];g[p]=g[c];g[c]=k}this._i=this._j=0},_doProcessBlock:function(f,v){f[v]^=d.call(this)},keySize:8,ivSize:0});r.RC4=l._createHelper(q);n=n.RC4Drop=q.extend({cfg:q.cfg.extend({drop:192}),_doReset:function(){q._doReset.call(this);for(var f=this.cfg.drop;0>24&255)){var q=n>>16&255,f=n>>8&255,v=255&n;255===q?(q=0,255===f?(f=0,255===v?v=0:++v):++f):++q;n=(q<<16)+(f<<8);n+=v}else n+=16777216;return n}var r=C.lib.BlockCipherMode.extend(),l=r.Encryptor=r.extend({processBlock:function(n,q){var f=this._cipher,v=f.blockSize,g=this._iv,p=this._counter;g&&(p=this._counter=g.slice(0),this._iv=void 0);g=p;0===(g[0]=d(g[0]))&&(g[1]=d(g[1]));p=p.slice(0);f.encryptBlock(p,0);for(f=0;fc;c++)q[c]=p[c];p[0]=p[0]+1295307597+this._b|0;p[1]=p[1]+3545052371+(p[0]>>>0>>0?1:0)|0;p[2]=p[2]+886263092+(p[1]>>>0>>0?1:0)|0;p[3]=p[3]+1295307597+(p[2]>>>0>>0?1:0)|0;p[4]=p[4]+3545052371+(p[3]>>>0>>0?1:0)|0;p[5]=p[5]+886263092+(p[4]>>>0>>0?1:0)|0;p[6]=p[6]+1295307597+(p[5]>>>0>>0?1:0)|0;p[7]=p[7]+3545052371+(p[6]>>>0>>0?1:0)|0;this._b=p[7]>>>0>>0?1:0;for(c=0;8>c;c++){var k=g[c]+p[c], b=65535&k,t=k>>>16;f[c]=((b*b>>>17)+b*t>>>15)+t*t^((4294901760&k)*k|0)+((65535&k)*k|0)}g[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0;g[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0;g[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0;g[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0;g[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0;g[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0;g[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0;g[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}var r=C,l=r.lib.StreamCipher,n=[],q=[],f=[],v=r.algo.Rabbit= l.extend({_doReset:function(){for(var g=this._key.words,p=this.cfg.iv,c=0;4>c;c++)g[c]=16711935&(g[c]<<8|g[c]>>>24)|4278255360&(g[c]<<24|g[c]>>>8);var k=this._X=[g[0],g[3]<<16|g[2]>>>16,g[1],g[0]<<16|g[3]>>>16,g[2],g[1]<<16|g[0]>>>16,g[3],g[2]<<16|g[1]>>>16];g=this._C=[g[2]<<16|g[2]>>>16,4294901760&g[0]|65535&g[1],g[3]<<16|g[3]>>>16,4294901760&g[1]|65535&g[2],g[0]<<16|g[0]>>>16,4294901760&g[2]|65535&g[3],g[1]<<16|g[1]>>>16,4294901760&g[3]|65535&g[0]];for(c=this._b=0;4>c;c++)d.call(this);for(c=0;8> c;c++)g[c]^=k[c+4&7];if(p){c=p.words;p=c[0];c=c[1];p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8);k=p>>>16|4294901760&c;var b=c<<16|65535&p;g[0]^=p;g[1]^=k;g[2]^=c;g[3]^=b;g[4]^=p;g[5]^=k;g[6]^=c;g[7]^=b;for(c=0;4>c;c++)d.call(this)}},_doProcessBlock:function(g,p){var c=this._X;d.call(this);n[0]=c[0]^c[5]>>>16^c[3]<<16;n[1]=c[2]^c[7]>>>16^c[5]<<16;n[2]=c[4]^c[1]>>>16^c[7]<<16;n[3]=c[6]^c[3]>>>16^c[1]<<16;for(c=0;4>c;c++)n[c]=16711935&(n[c]<<8|n[c]>>> 24)|4278255360&(n[c]<<24|n[c]>>>8),g[p+c]^=n[c]},blockSize:4,ivSize:2});r.Rabbit=l._createHelper(v)}(),C.mode.CTR=function(){var d=C.lib.BlockCipherMode.extend(),r=d.Encryptor=d.extend({processBlock:function(l,n){var q=this._cipher,f=q.blockSize,v=this._iv,g=this._counter;v&&(g=this._counter=v.slice(0),this._iv=void 0);v=g.slice(0);q.encryptBlock(v,0);g[f-1]=g[f-1]+1|0;for(q=0;qc;c++)q[c]=p[c]; p[0]=p[0]+1295307597+this._b|0;p[1]=p[1]+3545052371+(p[0]>>>0>>0?1:0)|0;p[2]=p[2]+886263092+(p[1]>>>0>>0?1:0)|0;p[3]=p[3]+1295307597+(p[2]>>>0>>0?1:0)|0;p[4]=p[4]+3545052371+(p[3]>>>0>>0?1:0)|0;p[5]=p[5]+886263092+(p[4]>>>0>>0?1:0)|0;p[6]=p[6]+1295307597+(p[5]>>>0>>0?1:0)|0;p[7]=p[7]+3545052371+(p[6]>>>0>>0?1:0)|0;this._b=p[7]>>>0>>0?1:0;for(c=0;8>c;c++){var k=g[c]+p[c],b=65535&k,t=k>>>16;f[c]=((b*b>>>17)+b*t>>>15)+t*t^((4294901760&k)*k|0)+((65535&k)* k|0)}g[0]=f[0]+(f[7]<<16|f[7]>>>16)+(f[6]<<16|f[6]>>>16)|0;g[1]=f[1]+(f[0]<<8|f[0]>>>24)+f[7]|0;g[2]=f[2]+(f[1]<<16|f[1]>>>16)+(f[0]<<16|f[0]>>>16)|0;g[3]=f[3]+(f[2]<<8|f[2]>>>24)+f[1]|0;g[4]=f[4]+(f[3]<<16|f[3]>>>16)+(f[2]<<16|f[2]>>>16)|0;g[5]=f[5]+(f[4]<<8|f[4]>>>24)+f[3]|0;g[6]=f[6]+(f[5]<<16|f[5]>>>16)+(f[4]<<16|f[4]>>>16)|0;g[7]=f[7]+(f[6]<<8|f[6]>>>24)+f[5]|0}var r=C,l=r.lib.StreamCipher,n=[],q=[],f=[],v=r.algo.RabbitLegacy=l.extend({_doReset:function(){var g=this._key.words,p=this.cfg.iv, c=this._X=[g[0],g[3]<<16|g[2]>>>16,g[1],g[0]<<16|g[3]>>>16,g[2],g[1]<<16|g[0]>>>16,g[3],g[2]<<16|g[1]>>>16];g=this._C=[g[2]<<16|g[2]>>>16,4294901760&g[0]|65535&g[1],g[3]<<16|g[3]>>>16,4294901760&g[1]|65535&g[2],g[0]<<16|g[0]>>>16,4294901760&g[2]|65535&g[3],g[1]<<16|g[1]>>>16,4294901760&g[3]|65535&g[0]];for(var k=this._b=0;4>k;k++)d.call(this);for(k=0;8>k;k++)g[k]^=c[k+4&7];if(p){c=p.words;p=c[0];c=c[1];p=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8);c=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>> 8);k=p>>>16|4294901760&c;var b=c<<16|65535&p;g[0]^=p;g[1]^=k;g[2]^=c;g[3]^=b;g[4]^=p;g[5]^=k;g[6]^=c;g[7]^=b;for(k=0;4>k;k++)d.call(this)}},_doProcessBlock:function(g,p){var c=this._X;d.call(this);n[0]=c[0]^c[5]>>>16^c[3]<<16;n[1]=c[2]^c[7]>>>16^c[5]<<16;n[2]=c[4]^c[1]>>>16^c[7]<<16;n[3]=c[6]^c[3]>>>16^c[1]<<16;for(c=0;4>c;c++)n[c]=16711935&(n[c]<<8|n[c]>>>24)|4278255360&(n[c]<<24|n[c]>>>8),g[p+c]^=n[c]},blockSize:4,ivSize:2});r.RabbitLegacy=l._createHelper(v)}(),C.pad.ZeroPadding={pad:function(d, r){r*=4;d.clamp();d.sigBytes+=r-(d.sigBytes%r||r)},unpad:function(d){var r=d.words,l;for(l=d.sigBytes-1;0<=l;l--)if(r[l>>>2]>>>24-l%4*8&255){d.sigBytes=l+1;break}}},C});