rem: while (aBytes.length >= 3) { bits = 0; for (i = 0; i < 3; i++) { bits <<= 8; bits |= aBytes[i]; } for (j = 18; j >= 0; j -= 6) out += B64_CHARS[(bits>>j) & 0x3F]; 
add: var index = 0; function get3Bytes() { if (aBytes.length - index < 3) return null; 
context: function b64(aBytes) {  const B64_CHARS =            "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";  var out = "", bits, i, j;  while (aBytes.length >= 3) {    bits = 0;    for (i = 0; i < 3; i++) {      bits <<= 8;      bits |= aBytes[i];    }    for (j = 18; j >= 0; j -= 6)      out += B64_CHARS[(bits>>j) & 0x3F];    aBytes.splice(0, 3);  }  switch (aBytes.length) {    case 2:      out += B64_CHARS[(aBytes[0]>>2) & 0x3F];      out += B64_CHARS[((aBytes[0] & 0x03) << 4) | ((aBytes[1] >> 4) & 0x0F)];      out += B64_CHARS[((aBytes[1] & 0x0F) << 2)];      out += "=";      break;    case 1:      out += B64_CHARS[(aBytes[0]>>2) & 0x3F];      out += B64_CHARS[(aBytes[0] & 0x03) << 4];      out += "==";      break;  }  return out;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/e3104d8f54ff194467db0664175019913433aaa4/nsSearchService.js/buggy/browser/components/search/nsSearchService.js