var HD=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"]; function AND(a,b){ var hb=(a>=0x80000000)&&(b>=0x80000000); var r=0; if(a>=0x80000000){a-=0x80000000;} if(b>=0x80000000){b-=0x80000000;} r=a&b; if(hb){r+=0x80000000;} return r; } function OR(a,b){ var hb=(a>=0x80000000)||(b>=0x80000000); var r=0; if(a>=0x80000000){a-=0x80000000;} if(b>=0x80000000){b-=0x80000000;} r=a|b; if(hb){r+=0x80000000;} return r; } function XOR(a,b){ var hb=((a>=0x80000000)&&(b<0x80000000))||((a<0x80000000)&&(b>=0x80000000)); var r=0; if(a>=0x80000000){a-=0x80000000;} if(b>=0x80000000){b-=0x80000000;} r=a^b; if(hb){r+=0x80000000;} return r; } function NOT(a){ var b=0x80000000; var n=0; while(b>=1){ if(a>=b){ a-=b; }else{ n+=b; } b=b/2; } return n; } function ADD(a,b){ var n=0; if(a>=0x80000000){ ++n; a-=0x80000000; } if(b>=0x80000000){ ++n; b-=0x80000000; } a+=b; if(n==1){ if(a>=0x80000000){ a-=0x80000000; }else{ a+=0x80000000; } } return a; } function LS(a,s){ for(var i=0;i=0x80000000){ a-=0x80000000; } a=a*2; } return a; } function RS(a,s){ for(var i=0;i>4)&0x0F];} function HEX2(c){return HD[c&0x0F];} /* The following JavaScript MD5 implementation is Copyright © 2002 Centrinity Inc. All Rights Reserved as a derivative work of the RSA Data Security, Inc. MD5 Message-Digest Algorigthm Copyright © 1991-2, RSA Data Security, Inc. All Rights Reserved. */ var S11=7,S12=12,S13=17,S14=22,S21=5,S22=9,S23=14,S24=20,S31=4,S32=11,S33=16,S34=23,S41=6,S42=10,S43=15,S44=21;var PAD=[0x80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var S=[],CN=[],B=[],D=[];var HD=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];function FF(a,b,c,d,x,s,ac){var da=false;a=ADD(a,OR(AND(b,c),AND(NOT(b),d)));a=ADD(a,ac);a=ADD(a,x);a = OR(LS(a,s),RS(a,32-s));a=ADD(a,b);return a;}function GG(a,b,c,d,x,s,ac){a=ADD(a,OR(AND(b,d),AND(c,NOT(d))));a=ADD(a,ac);a=ADD(a,x);a = OR(LS(a,s),RS(a,32-s));a=ADD(a,b);return a;}function HH(a,b,c,d,x,s,ac){a=ADD(a,XOR(d,XOR(b,c)));a=ADD(a,ac);a=ADD(a,x);a = OR(LS(a,s),RS(a,32-s));a=ADD(a,b);return a;}function II(a,b,c,d,x,s,ac){a=ADD(a,XOR(c,OR(b,NOT(d))));a=ADD(a,ac);a=ADD(a,x);a = OR(LS(a,s),RS(a,32-s));a=ADD(a,b);return a;}function EC(I,L,O){var i,j;for(i=0,j=0;j=pl){CA(B,n,I,0,pl);TF(B);for(i=pl;i+63>3)&0x3F);p=(i<56)?(56-i):(120-i);UD(PAD,p);UD(b,8);EC(S,16,D);for(i=0;i<16;i++){R+=String(HEX1(D[i]));R+=String(HEX2(D[i]));}R=R.toLowerCase();return R;}function MD5(C,P){var c=[],p=[];var i;for(i=0;i255){cs=1;}}for(i=p.length;i<64;i++){pa[i+1]=Math.floor(Math.random()*(cs==1?65535:255));}for(i=0;i<64;i++){if(i%2){pa[i]=pa[i]+sa[i];if(cs){pa[i]=pa[i]%65536;}else{pa[i]=pa[i]%256;}}else{pa[i]=pa[i]-sa[i];if(pa[i]<0&&cs){pa[i]+=65536;}else if(pa[i]<0){pa[i]+=256;}}}if(cs){for(i=0;i<64;i++){oa+=HD[AND(RS(AND(pa[(i+2)%64],0x00F0),4),0x000F)];}for(i=0;i<64;i++){oa+=HD[AND(RS(AND(pa[(i+11)%64],0xF000),12),0x000F)];}for(i=0;i<64;i++){oa+=HD[AND(RS(AND(pa[(i+5)%64],0x0F00),8),0x000F)];}for(i=0;i<64;i++){oa+=HD[AND(pa[(i+1)%64],0x000F)];}}else{for(i=0;i<64;i++){oa+=HD[AND(pa[(i+7)%64],0x0F)];}for(i=0;i<64;i++){oa+=HD[AND(RS(AND(pa[(i+4)%64],0xF0),4),0x0F)];}}return oa;}function du(e){var pa=[],sa=[];var cs=(e.length==52?1:0);var s="kki Online";var i=0;var p="";for(i=0;i<64;i++){sa[i]=s.charCodeAt(i%s.length);if(cs==0){sa[i]=sa[i]%256;}}for(i=0;i<64;i++){pa[i]=0;}if(cs){for(i=0;i<64;i++){pa[(i+2)%64]+=(0x0010*parseInt(e.charAt(i),16));}for(i=64;i<128;i++){pa[(i+11)%64]+=(0x1000*parseInt(e.charAt(i),16));}for(i=128;i<192;i++){pa[(i+5)%64]+=(0x0100*parseInt(e.charAt(i),16));}for(i=192;i<256;i++){pa[(i+1)%64]+=(parseInt(e.charAt(i),16));}}else{for(i=0;i<64;i++){pa[(i+7)%64]+=(parseInt(e.charAt(i),16));}for(i=64;i<128;i++){pa[(i+4)%64]+=(0x10*parseInt(e.charAt(i),16));}}for(i=0;i<64;i++){pa[i]+=(cs==1?65536:256);}for(i=0;i<64;i++){if(i%2){pa[i]=pa[i]-sa[i];}else{pa[i]=pa[i]+sa[i];}}for(i=0;i<64;i++){pa[i]=pa[i]%(cs?65536:256);}for(i=1;i<(pa[0]+1);i++){p+=String.fromCharCode(pa[i]);}return p;}