getParams_() {
    // Read URL parameters.
    let fields = location.search.substr(1);
    fields = fields ? fields.split(';') : [];
    let fragments = location.hash.substr(1);
    fragments = fragments ? fragments.split(';') : [];

    // Because they are being concatenated in this order, if both an
    // URL fragment and an URL parameter of the same type are present
    // the URL fragment takes precedence.
    /** @type {!Array<string>} */
    const combined = fields.concat(fragments);
    const params = new Map();
    for (const line of combined) {
      const kv = line.split('=');
      params.set(kv[0], kv.slice(1).join('='));
    }
    return params;
  }
@return {!Map<string, string>} params
@private