//Crypto.js
function base64Decode(text) { return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)) }
function testDecode(url) {
try{
var result = base64Decode(url.slice(0,-5));
console.log(result);
}catch(e){
}
}
//madou
var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);
function base64decode(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i<len){do{c1=base64DecodeChars[str.charCodeAt(i++)&0xff]}while(i<len&&c1==-1);if(c1==-1)break;do{c2=base64DecodeChars[str.charCodeAt(i++)&0xff]}while(i<len&&c2==-1);if(c2==-1)break;out+=String.fromCharCode((c1<<2)|((c2&0x30)>>4));do{c3=str.charCodeAt(i++)&0xff;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i<len&&c3==-1);if(c3==-1)break;out+=String.fromCharCode(((c2&0XF)<<4)|((c3&0x3C)>>2));do{c4=str.charCodeAt(i++)&0xff;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i<len&&c4==-1);if(c4==-1)break;out+=String.fromCharCode(((c3&0x03)<<6)|c4)}
return out}
testDecode('aHR0cHM6Ly90Ny5jZG4yMDIwLmNvbS92aWRlby9tM3U4LzIwMjEvMDYvMjEvYjNiMGIyMzAvaW5kZXgubTN1OA1234512345');
testDecode('aHR0cHM6Ly92aXAzLmxiYmY5LmNvbS8yMDIzMDQyNS9lSmdXc1FvYS9pbmRleC5tM3U4');
testDecode('aHR0cHM6Ly92aXAzLmJmYmZoYW8uY29tLzIwMjMwNDA4L0diOVVXTDB4L2luZGV4Lm0zdTgO0O0O');
console.log(base64decode('aHR0cHM6Ly90Ny5jZG4yMDIwLmNvbS92aWRlby9tM3U4LzIwMjEvMDYvMjEvYjNiMGIyMzAvaW5kZXgubTN1OA1234512345'));
console.log(base64decode('aHR0cHM6Ly92aXAzLmxiYmY5LmNvbS8yMDIzMDQyNS9lSmdXc1FvYS9pbmRleC5tM3U4'));
console.log(base64decode('aHR0cHM6Ly92aXAzLmJmYmZoYW8uY29tLzIwMjMwNDA4L0diOVVXTDB4L2luZGV4Lm0zdTgO0O0O'));
console