1 2 3 /* decrypt helper function */ 4 function decryptCharcode(n,start,end,offset) { 5 n = n + offset; 6 if (offset > 0 && n > end) { 7 n = start + (n - end - 1); 8 } else if (offset < 0 && n < start) { 9 n = end - (start - n - 1); 10 } 11 return String.fromCharCode(n); 12 } 13 /* decrypt string */ 14 function decryptString(enc,offset) { 15 var dec = ""; 16 var len = enc.length; 17 for(var i=0; i < len; i++) { 18 var n = enc.charCodeAt(i); 19 if (n >= 0x2B && n <= 0x3A) { 20 dec += decryptCharcode(n,0x2B,0x3A,offset); /* 0-9 . , - + / : */ 21 } else if (n >= 0x40 && n <= 0x5A) { 22 dec += decryptCharcode(n,0x40,0x5A,offset); /* A-Z @ */ 23 } else if (n >= 0x61 && n <= 0x7A) { 24 dec += decryptCharcode(n,0x61,0x7A,offset); /* a-z */ 25 } else { 26 dec += enc.charAt(i); 27 } 28 } 29 return dec; 30 } 31 /* decrypt spam-protected emails */ 32 function linkTo_UnCryptMailto(s) { 33 location.href = decryptString(s,-3); 34 } 35
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.