!function(e,r){"object"==typeof exports?module.exports=exports=r(require("./core"),require("./enc-base64"),require("./md5"),require("./evpkdf"),require("./cipher-core")):"function"==typeof define&&define.amd?define(["./core","./enc-base64","./md5","./evpkdf","./cipher-core"],r):r(e.CryptoJS)}(this,function(e){function d(){for(var e=this._X,r=this._C,i=0;i<8;i++)a[i]=r[i];r[0]=r[0]+1295307597+this._b|0,r[1]=r[1]+3545052371+(r[0]>>>0>>0?1:0)|0,r[2]=r[2]+886263092+(r[1]>>>0>>0?1:0)|0,r[3]=r[3]+1295307597+(r[2]>>>0>>0?1:0)|0,r[4]=r[4]+3545052371+(r[3]>>>0>>0?1:0)|0,r[5]=r[5]+886263092+(r[4]>>>0>>0?1:0)|0,r[6]=r[6]+1295307597+(r[5]>>>0>>0?1:0)|0,r[7]=r[7]+3545052371+(r[6]>>>0>>0?1:0)|0,this._b=r[7]>>>0>>0?1:0;for(i=0;i<8;i++){var t=e[i]+r[i],o=65535&t,s=t>>>16,c=((o*o>>>17)+o*s>>>15)+s*s,f=((4294901760&t)*t|0)+((65535&t)*t|0);n[i]=c^f}e[0]=n[0]+(n[7]<<16|n[7]>>>16)+(n[6]<<16|n[6]>>>16)|0,e[1]=n[1]+(n[0]<<8|n[0]>>>24)+n[7]|0,e[2]=n[2]+(n[1]<<16|n[1]>>>16)+(n[0]<<16|n[0]>>>16)|0,e[3]=n[3]+(n[2]<<8|n[2]>>>24)+n[1]|0,e[4]=n[4]+(n[3]<<16|n[3]>>>16)+(n[2]<<16|n[2]>>>16)|0,e[5]=n[5]+(n[4]<<8|n[4]>>>24)+n[3]|0,e[6]=n[6]+(n[5]<<16|n[5]>>>16)+(n[4]<<16|n[4]>>>16)|0,e[7]=n[7]+(n[6]<<8|n[6]>>>24)+n[5]|0}var r,i,t,o,a,n,s;return i=(r=e).lib.StreamCipher,t=r.algo,o=[],a=[],n=[],s=t.Rabbit=i.extend({_doReset:function(){for(var e=this._key.words,r=this.cfg.iv,i=0;i<4;i++)e[i]=16711935&(e[i]<<8|e[i]>>>24)|4278255360&(e[i]<<24|e[i]>>>8);var t=this._X=[e[0],e[3]<<16|e[2]>>>16,e[1],e[0]<<16|e[3]>>>16,e[2],e[1]<<16|e[0]>>>16,e[3],e[2]<<16|e[1]>>>16],o=this._C=[e[2]<<16|e[2]>>>16,4294901760&e[0]|65535&e[1],e[3]<<16|e[3]>>>16,4294901760&e[1]|65535&e[2],e[0]<<16|e[0]>>>16,4294901760&e[2]|65535&e[3],e[1]<<16|e[1]>>>16,4294901760&e[3]|65535&e[0]];for(i=this._b=0;i<4;i++)d.call(this);for(i=0;i<8;i++)o[i]^=t[i+4&7];if(r){var s=r.words,c=s[0],f=s[1],a=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8),n=16711935&(f<<8|f>>>24)|4278255360&(f<<24|f>>>8),h=a>>>16|4294901760&n,b=n<<16|65535&a;o[0]^=a,o[1]^=h,o[2]^=n,o[3]^=b,o[4]^=a,o[5]^=h,o[6]^=n,o[7]^=b;for(i=0;i<4;i++)d.call(this)}},_doProcessBlock:function(e,r){var i=this._X;d.call(this),o[0]=i[0]^i[5]>>>16^i[3]<<16,o[1]=i[2]^i[7]>>>16^i[5]<<16,o[2]=i[4]^i[1]>>>16^i[7]<<16,o[3]=i[6]^i[3]>>>16^i[1]<<16;for(var t=0;t<4;t++)o[t]=16711935&(o[t]<<8|o[t]>>>24)|4278255360&(o[t]<<24|o[t]>>>8),e[r+t]^=o[t]},blockSize:4,ivSize:2}),r.Rabbit=i._createHelper(s),e.Rabbit});