function parseBigInt(_0x2f8ce9,_0x128130){return new BigInteger(_0x2f8ce9,_0x128130);}function linebrk(_0x443fcc,_0x213c29){var _0x2d1ea7='',_0x5da05b=0x0;while(_0x5da05b+_0x213c29<_0x443fcc['length']){_0x2d1ea7+=_0x443fcc['substring'](_0x5da05b,_0x5da05b+_0x213c29)+'\x0a';_0x5da05b+=_0x213c29;}return _0x2d1ea7+_0x443fcc['substring'](_0x5da05b,_0x443fcc['length']);}function byte2Hex(_0x45592f){return _0x45592f<0x10?'0'+_0x45592f['toString'](0x10):_0x45592f['toString'](0x10);}function pkcs1pad2(_0x5bc3f8,_0x15c82b){if(_0x15c82b<_0x5bc3f8['length']+0xb)return alert('Message\x20too\x20long\x20for\x20RSA'),null;var _0x431581=new Array(),_0x45b860=_0x5bc3f8['length']-0x1;while(_0x45b860>=0x0&&_0x15c82b>0x0){var _0x16e808=_0x5bc3f8['charCodeAt'](_0x45b860--);_0x16e808<0x80?_0x431581[--_0x15c82b]=_0x16e808:_0x16e808>0x7f&&_0x16e808<0x800?(_0x431581[--_0x15c82b]=_0x16e808&0x3f|0x80,_0x431581[--_0x15c82b]=_0x16e808>>0x6|0xc0):(_0x431581[--_0x15c82b]=_0x16e808&0x3f|0x80,_0x431581[--_0x15c82b]=_0x16e808>>0x6&0x3f|0x80,_0x431581[--_0x15c82b]=_0x16e808>>0xc|0xe0);}_0x431581[--_0x15c82b]=0x0;var _0xac06=new SecureRandom(),_0x2ed306=new Array();while(_0x15c82b>0x2){_0x2ed306[0x0]=0x0;while(_0x2ed306[0x0]==0x0){_0xac06['nextBytes'](_0x2ed306);}_0x431581[--_0x15c82b]=_0x2ed306[0x0];}_0x431581[--_0x15c82b]=0x2;_0x431581[--_0x15c82b]=0x0;return new BigInteger(_0x431581);}function RSAKey(){this['n']=null;this['e']=0x0;this['d']=null;this['p']=null;this['q']=null;this['dmp1']=null;this['dmq1']=null;this['coeff']=null;}function RSASetPublic(_0x10abf9,_0x370c56){_0x10abf9!=null&&_0x370c56!=null&&_0x10abf9['length']>0x0&&_0x370c56['length']>0x0?(this['n']=parseBigInt(_0x10abf9,0x10),this['e']=parseInt(_0x370c56,0x10)):alert('Invalid\x20RSA\x20public\x20key');}function RSADoPublic(_0x4acfdf){return _0x4acfdf['modPowInt'](this['e'],this['n']);}function RSAEncrypt(_0x22ba2a){var _0x4b794b=pkcs1pad2(_0x22ba2a,this['n']['bitLength']()+0x7>>0x3);if(_0x4b794b==null)return null;var _0x1f4744=this['doPublic'](_0x4b794b);if(_0x1f4744==null)return null;var _0x4c8602=_0x1f4744['toString'](0x10);return(_0x4c8602['length']&0x1)==0x0?_0x4c8602:'0'+_0x4c8602;}RSAKey['prototype']['doPublic']=RSADoPublic;RSAKey['prototype']['setPublic']=RSASetPublic;RSAKey['prototype']['encrypt']=RSAEncrypt;