1 2 /* decrypt helper function */ 3 function decryptCharcode(n,start,end,offset) { 4 n = n + offset; 5 if (offset > 0 && n > end) { 6 n = start + (n - end - 1); 7 } else if (offset < 0 && n < start) { 8 n = end - (start - n - 1); 9 } 10 return String.fromCharCode(n); 11 } 12 /* decrypt string */ 13 function decryptString(enc,offset) { 14 var dec = ""; 15 var len = enc.length; 16 for(var i=0; i < len; i++) { 17 var n = enc.charCodeAt(i); 18 if (n >= 0x2B && n <= 0x3A) { 19 dec += decryptCharcode(n,0x2B,0x3A,offset); /* 0-9 . , - + / : */ 20 } else if (n >= 0x40 && n <= 0x5A) { 21 dec += decryptCharcode(n,0x40,0x5A,offset); /* A-Z @ */ 22 } else if (n >= 0x61 && n <= 0x7A) { 23 dec += decryptCharcode(n,0x61,0x7A,offset); /* a-z */ 24 } else { 25 dec += enc.charAt(i); 26 } 27 } 28 return dec; 29 } 30 /* decrypt spam-protected emails */ 31 function linkTo_UnCryptMailto(s) { 32 location.href = decryptString(s,-1); 33 } 34
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.