rem: var name = decodeURIComponent(pair[0]); var value = pair[1] ? decodeURIComponent(pair[1]) : undefined; 
add: var key = decodeURIComponent(pair.shift()); var value = pair.length > 1 ? pair.join('=') : pair[0]; if (value != undefined) value = decodeURIComponent(value); 
context:   toQueryParams: function(separator) {    var match = this.strip().match(/([^?#]*)(#.*)?$/);    if (!match) return {};    return match[1].split(separator || '&').inject({}, function(hash, pair) {      if ((pair = pair.split('='))[0]) {        var name = decodeURIComponent(pair[0]);        var value = pair[1] ? decodeURIComponent(pair[1]) : undefined;        if (hash[name] !== undefined) {          if (hash[name].constructor != Array)            hash[name] = [hash[name]];          if (value) hash[name].push(value);        }        else hash[name] = value;      }      return hash;    });  },
meta: 9859	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/9859/c1f8a57fb495053291d684e68f518dd14dfa0a6f/prototype.js/clean/js_test/prototype.js